Skip to content

v0.3.0

Latest

Choose a tag to compare

@ofriw ofriw released this 24 May 05:42
· 19 commits to main since this release

[0.3.0] - 2026-05-23

Added

  • 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 renderersledger_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 shelltruncateToWidth no longer injects escape sequences that break background color styling in collapsed spawn renderer borders and padding.