Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/docs/substrate/bugs.md
Fimeg e480809c70 docs: rescue the agent-substrate tree out of a gitignored directory
219 files, 2.0 MB, untracked in souveraine/docs and existing nowhere else.
The volume is at 100% with no snapshots.
2026-07-26 12:11:50 -04:00

6.1 KiB

Bugs

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.