v0.4.14
0.4.14
Shipped 2026-06-10 — merged to
main, taggedv0.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+Tabto 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.
Esctoggles scroll mode —w/s,j/k, or arrows to
scroll line-groups,g/Gfor top/bottom,Esc/iback 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.