219 files, 2.0 MB, untracked in souveraine/docs and existing nowhere else. The volume is at 100% with no snapshots.
94 lines
6.1 KiB
Markdown
94 lines
6.1 KiB
Markdown
# Bugs
|
|
|
|
<!--
|
|
Status: 🔴 Open | 🟡 In Progress | 🟢 Fixed | 🔵 Won't Fix
|
|
-->
|
|
|
|
## B-004 — Zone scrolling regression
|
|
- **Severity:** 🟢 Fixed
|
|
- **Area:** TUI — cockpit, subconscious, thinking boxes
|
|
- **Observed:** Since the refactor, per-zone scrolling (cockpit, subconscious, thinking boxes) no longer works. Main scroll is fine.
|
|
- **Fix:** `src/ui/chat/cockpit.rs:23` — thinking pane used `panes[0].height` directly for scroll clamp, but the bordered block consumes 2 rows. Added `saturating_sub(2)` to match the subconscious pane pattern.
|
|
|
|
## B-005 — Subconscious messages not expandable
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** TUI — subconscious section
|
|
- **Observed:** Subconscious output cannot be expanded/collapsed for full view.
|
|
- **Desired:** Click to expand full subconscious reasoning from the pass, not retained permanently.
|
|
- **Notes:** Part of three-tier subconscious visibility design (streaming one-liner → expandable transcript → cockpit surfaced messages).
|
|
|
|
## B-006 — Arrow keys can't navigate within chat input
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** TUI — chat input box
|
|
- **Observed:** Arrow keys trigger global scroll instead of cursor movement within the composing message.
|
|
- **Desired:** Arrow keys navigate within the chat input text for editing/revision.
|
|
|
|
## B-007 — Timezone hardcoded to UTC
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** Config / settings
|
|
- **Observed:** All timestamps display in UTC with no user-configurable timezone option.
|
|
- **Desired:** Add timezone selection to Settings (default EST).
|
|
- **Notes:** Not critical — system works with UTC — but incorrect display for user's locale.
|
|
|
|
## B-008 — Context pressure shows 0% on resume
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** TUI — footer / context pressure display
|
|
- **Observed:** When resuming a conversation, the footer displays 0% context usage even though there is conversation history loaded.
|
|
- **Desired:** Pressure calculation should account for the full conversation on load, not just new messages.
|
|
- **Notes:** Self-corrects after first message is sent. Also: denominator should be shown (e.g., "19% of 128k").
|
|
|
|
## B-010 — Ambient sense formatting inline instead of as separate timestamp marker
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** TUI — chat thread display
|
|
- **Observed:** The `[ambient sense - timestamp - casey is here]` line is appended inline to the user's message rather than rendered as its own special formatted line in the chat thread.
|
|
- **Desired:** Ambient sense should appear as a separate timestamp marker line (styled differently, like a system divider) with the user's message following as a distinct block.
|
|
- **Notes:** Related to T-032 (resume timestamp indicator) — both deal with time markers in the chat thread.
|
|
|
|
## B-011 — Resume indicator missing duration of absence
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** TUI — resume timestamp display
|
|
- **Observed:** The resume indicator only shows the timestamp of re-entry but doesn't calculate or display how long the user was away.
|
|
- **Desired:** Show duration alongside the resume message: "Casey has returned — 4 hours, 12 minutes later"
|
|
- **Notes:** Part of T-032 scope. The "time since last user contact" system-wide value would power this.
|
|
|
|
## B-012 — TUI doesn't auto-refresh after tool calls complete
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** TUI — chat rendering / event pipeline
|
|
- **Observed:** Tool calls render correctly but the TUI doesn't trigger a refresh after they complete. User has to manually toggle `/chat` to see the tool cards appear.
|
|
- **Desired:** Tool completion should trigger an immediate re-render so tool cards appear without manual intervention.
|
|
- **Notes:** Likely missing event emission in the turn pipeline after `BackendEvent::ToolResult` is processed. Not a rendering bug — the cards render fine, the refresh signal just isn't firing.
|
|
|
|
## B-013 — Tool calls stop working mid-conversation
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** Backend / bridge / tool loop
|
|
- **Observed:** Same session, same build — tool calls work for a while then silently stop. LLM returns `tool_calls=0` for the rest of the conversation. No error, no crash, no warning.
|
|
- **Desired:** Tools should remain available throughout the session. If a tool-calling pattern stops, there should be a log entry or diagnostic indicating why.
|
|
- **Notes:** Could be a channel buffer filling up, a mutex getting stuck, or a state mismatch between UI and backend threads. The recent `defs.rs` env-var refactor (which changed `retain` behavior on env vars) is a suspect — if tool env configuration causes a tool to silently fail during schema generation, the LLM might stop receiving tool definitions. Needs diagnosis: compare tool definitions at conversation start vs when tools stop.
|
|
|
|
## B-014 — Subagent `run_in_background: true` blocks primary conversation
|
|
- **Severity:** 🔴 Open
|
|
- **Area:** Subagent system / runtime
|
|
- **Observed:** Running `subagent` with `run_in_background: true` blocks the primary conversation instead of running asynchronously. The fork does not truly run in the background.
|
|
- **Desired:** Non-blocking background forks that can run independently. Primary should be able to continue the conversation while the fork works.
|
|
- **Notes:** `run_in_background` flag is parsed but never read — `Subagent::execute` unconditionally awaits the entire subagent loop. `SubagentPool` is a stub. The bash tool has the correct pattern for reference. This is a larger infrastructure build (pool lifecycle).
|
|
|
|
---
|
|
|
|
## Fixed
|
|
|
|
### B-001 — Space rendering in chat input
|
|
- **Fixed:** ✅
|
|
- **Observed:** Chat input wouldn't show a space until the next keypress.
|
|
- **Resolution:** UI re-render fix.
|
|
|
|
### B-002 — Subconscious indicator says "Streaming"
|
|
- **Fixed:** ✅
|
|
- **Observed:** Status indicator said "Streaming" during subconscious pass.
|
|
- **Resolution:** Corrected indicators.
|
|
|
|
### B-003 — Subconscious pass takes 500+ seconds
|
|
- **Fixed:** ✅ (mostly — see notes)
|
|
- **Severity:** High
|
|
- **Observed:** Subconscious pass ballooned from ~21s to 500+ seconds. Possible rate-limiting, backoff accumulation, or primary's tool loop interference.
|
|
- **Resolution:** Pass is now more reliable.
|
|
- **Notes:** Open investigation into what changed between fast and slow passes.
|