You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Interactive /ledger TUI overlay — replaced the static notification popup with a full interactive overlay. Use arrow keys to navigate entries, press Enter to preview a selected entry body (truncated at 500 chars with ...), and Escape to close. Empty state shows a discoverability hint.
Visual handoff indicator — when /handoff is invoked, a live 🤝 Handoff in progress badge appears in the TUI status bar. Clears automatically when compaction completes, or when the agent finishes a turn without calling the handoff tool.
Ledger tool TUI renderers — ledger_add calls now render inline with a styled preview (✓ Saved "entry-name": first line...) in the conversation. Shows the full entry body when expanded.
Write-lock reentrancy detection — nested calls to saveLedgerEntry now throw an explicit error instead of silently corrupting the serialization chain.
Changed
Frame-based spawn scheduler — replaced the microtask-per-event render model with a scheduler that batches expensive component work at ~30 FPS. High-frequency streaming events (50–100+/sec) accumulate state cheaply per-event; layout, cache invalidation, and TUI invalidates are deferred to the next frame tick. Eliminates UI jank during bursty LLM streaming in child sessions.
ESM module type — added "type": "module" to package.json for compatibility with strict ESM projects.
Fixed
Stray ANSI reset codes in spawn shell — truncateToWidth no longer injects escape sequences that break background color styling in collapsed spawn renderer borders and padding.