Skip to content

v0.4.14

Choose a tag to compare

@kinqsradio kinqsradio released this 10 Jun 01:43
78b0a8b

0.4.14

Shipped 2026-06-10 — merged to main, tagged v0.4.14, all 5 npm packages published.

0.4.14 is two releases in one. The memory engine got a benchmark-driven recall
overhaul (two rounds, gated by the new brainrouter-benchmark suite), and the CLI
got its new grid TUI shell: a context sidebar with a live view of every running
sub-agent, worker, and workflow — plus background workers the agent can spawn
itself and a feedback loop that reports their results back into the conversation.

Memory accuracy (rounds 1 + 2)

  • Round 1 — granularity. One-record-per-session wrecked long-session
    reranking/judging. Fixed by chunking on import, a length-aware reranker cap, a
    judge result-floor, embed-on-import, and a transient-embed retry
    (MEM-CHUNK · MEM-RERANK · MEM-JUDGE · MEM-VEC · MEM-EMBED-RETRY · ASYNC-1).
  • Round 2 — recall quality. The reranker/judge had been replacing the
    retriever order, collapsing recall below a plain recency baseline. Every stage
    now follows one rule: score → sort → take top-N, never hard-drop
    (MEM-JUDGE2 · MEM-BLEND · MEM-RERANK2 · MEM-ROUTE · MEM-EVAL2).
  • Results (full pipeline): LongMemEval R-any@5 0.63 → 0.87, os-rm
    0.73 → 0.87, ps-rm 0.00 → 0.17, LoCoMo 0.83 → 0.90, factual recall
    held; reflective-query latency ~9–18s → ~0.06–6.6s. Published under
    brainrouter-benchmark/reports/.

The grid TUI (#344)

  • Workspace layout. View router (home / session / workflow / mcp,
    Ctrl+Tab to cycle) with a 70/30 split: chat on the left, a context sidebar on
    the right (model · session · effort · mode · branch · brain/MCP status · last
    memory briefs). Collapses cleanly under 100 columns.
  • Live fleet, split by kind. The sidebar shows running Sub-agents,
    Workers, and Workflows as separate sections — each item with its role
    (explorer / reviewer / …), an isolated-worktree marker (⎇), and a live elapsed
    timer. Refreshes every second while anything runs.
  • Scrollback that fits. Markdown-aware height estimation + fill-and-clip
    packing fix two long-standing rendering bugs: transcript lines overlapping the
    composer/footer, and a tall response vanishing into blank space.
  • Scroll mode. Esc toggles scroll mode — w/s, j/k, or arrows to
    scroll line-groups, g/G for top/bottom, Esc/i back to typing. New
    messages stick to the bottom only when you're already there.
  • Live timers. The thinking spinner counts elapsed seconds (amber past 10s),
    and every fleet item ticks while it runs.

Background workers that report back (#344)

  • The agent can spawn workers. spawn_worker_thread (+ wait_worker,
    read_worker_summary, close_worker) are now model-visible tools — gated so
    only a top-level orchestrator sees them (workers can't spawn workers). The
    task router's long-running tier recommends them, and the system prompt explains
    when a detached worker beats an in-turn sub-agent.
  • Results come back. A new completion inbox: when a detached worker or
    fire-and-forget child finishes after the turn ended, its result is injected
    into the agent's next turn — the same way an in-turn wait would have delivered
    it. Explicit waits acknowledge the inbox so nothing is reported twice.

Also in 0.4.14

  • CLAUDE.md recognized as a workspace instruction file alongside
    AGENT.md/AGENTS.md (#342).
  • MCP: no more [MCP Error] noise when a reply can't reach an
    already-closed client (#343).
  • Roadmap/spec cleanup after the recall rounds (#341); benchmark reports
    published (#340).