v0.4.1
v0.4.1 — 2026-05-29
Durable brain-agent runtime, multi-agent ownership and budgeting, federation work handoff, multi-folder project scope, and the A1–A4 memory/observability augmentations. This release turns the 0.4.0 brain-agent design pass into a running job queue and hardens multi-agent delegation for shared, multi-client environments.
Brain-Agent Runtime (BRAIN-P1)
-
memory_jobstable +BrainAgentregistry wrapping the existing pipeline stages -
Async job runner that drains out-of-band brain work
- exponential backoff + jitter (capped at 5 min)
- idempotency-deduped enqueue
- automatic retry re-arming
-
Jobs now accrue from live capture (extractor, deduper, contradiction, graph, focus, identity)
-
New MCP tools:
memory_agent_statusmemory_agent_runmemory_job_retry
-
New CLI commands:
/brain agents # registry + health /brain run <id> # run an agent now /brain retry <id> # re-arm a failed job
-
New dashboard Brain Agents health card (
GET /api/brain/agents)
Multi-Agent — Ownership, Budgeting & Gates (Phase 3 & 4)
-
Ownership boundaries (MAS-P3).
spawn_agentswrite/shell children require anownershipglob; batch fan-out without one is refusedwriteFile/editFile/applyPatchenforce the globwait_agentsresults include each child's ownership
-
Supervisor gates. Control when children may spawn or write:
/delegation-policy auto|ask-before-spawn|ask-before-write-child|no-children
-
Per-agent accounting.
/tokensbreaks down by child;/agents --jsonreports per-agent usage;wait_agentsreturns roll-up totals -
Tool-surface budgeting. Caps + ranks the MCP catalog each child sees:
cli.agentMcpToolBudget -
Auto-chain follow-ups. Automatically queue review/verify passes after a worker finishes:
/auto-chain review|verify|both|off
-
Strict output contracts.
wait_agent/wait_agents --jsonreturn a parsedcontractfor roles that declare one;/agent <id>renders a field-labelled "Contract output" block; finished fan-outs roll up by role for a clean parent answer -
Dynamic subagents + per-child effort.
spawn_agentaccepts anoverlay(inline definition) and a per-childeffort
Federation Stage 4 — Work Handoff
-
Hand the active goal to another session:
/handoff <target> # or <clientKind>:next-idle /handoff list /handoff accept
-
Reuses the multi-agent
ParentExecutionContextSnapshot;memory_recallfallback for non-BrainRouter receivers
Memory & Recall
-
Project (multi-folder) scope — A1. A
.brainrouter/project.jsonmarker ({ "name": "…" }) groups several workspaces into one logical Project- records carry an optional project tag (stable hash of the name)
memory_recallacceptsscope: 'project'to widen recall across the whole project- NULL-tolerant (untagged records always surface);
/whereshows the active project
-
Apply-time dedup — A2. A deterministic guard drops exact / near-duplicate cognitive records as they land, complementing the LLM dedup pass
BRAINROUTER_DEDUP_MODE=off|strict|fuzzy # off by default → zero behaviour change
strictmatches a normalized content hash;fuzzyalso drops cosine ≥ 0.97
-
Modular ranking refactor — A3. Recall score-composition math moved out of
recall.tsinto a purememory/reranker/package (weighting/boosting/penalties). No behaviour change — pinned by a characterization test against the pre-refactor formulas
Observability
-
Pluggable tracing backend — A4. Route trace spans to your collector:
cli.tracingBackend // stdout-jsonl (default) | otel | langsmith | langfuse cli.tracingEndpoint cli.tracingApiKey
- jsonl appends to the trace log; remote backends best-effort POST each event in that vendor's wire shape (time-bounded, fire-and-forget — tracing never breaks the CLI)
Dashboard
- New Brain Agents health card
/memoriestype filter now covers all 30 cognitive types (compile-time exhaustiveness guard)- Themed dropdown filters on
/memoriesand/timeline(replaces the sprawled filter row)
Removed / Cancelled
route_agentremoved — the deprecation window is over; useroute_task(the richer 4-tier routing decision from 0.4.0)- AUG-A5 cancelled — the LangGraph-compatible HTTP gateway hardening is dropped (no LangGraph-compatibility need). Scoped tokens / CORS allowlist / rate limits may resurface with a future plugin marketplace
Housekeeping
- All workspaces bumped to 0.4.1
- Repo-wide reference scrub: removed internal planning-doc links and vendored research-project references from tracked code, docs, skills, and benchmarks
Testing
- 797 CLI node tests
- 355 brain vitest + integration node-tests
- Full monorepo build green
Notes — deferred to 0.4.2–0.4.3
- Federation Stage 5 (cross-vendor delegate execution)
- CLI multi-agent Phases 5–6 (review fan-out, worker threads, packs)
- Brain-side Phase 2+ (token-aware capture, source chunks, memory tree, blackboard commit pipeline)
Breaking changes
route_agentremoved — useroute_taskspawn_agentswrite/shell batch fan-out now requires anownershipglob (orallowOverlap)
Both were signposted in 0.4.0.
Full Changelog: v0.4.0...v0.4.1
What's Changed
- docs: retire shipped 0.4.0 from roadmaps, surface 0.4.1 as next by @kinqsradio in #69
- feat(0.4.1): brain-side job queue + agent registry (BRAIN-P1) by @kinqsradio in #70
- feat(0.4.1): brain jobs from live capture + /brain CLI (BRAIN-P1 T3/T5) by @kinqsradio in #71
- feat(0.4.1): async job runner — drains out-of-band brain jobs (BRAIN-P1) by @kinqsradio in #72
- feat(0.4.1): multi-agent ownership boundaries (MAS-P3) by @kinqsradio in #73
- docs(0.4.1): document MAS-P3 ownership boundaries by @kinqsradio in #74
- feat(0.4.1): auto-chain review/verify follow-ups (MAS-P4-T4) by @kinqsradio in #75
- feat(0.4.1): supervisor gates on delegation (MAS-P4-T2) by @kinqsradio in #76
- feat(0.4.1): per-agent accounting (MAS-P4-T3) by @kinqsradio in #77
- feat(0.4.1): tool-surface budgeting (MAS-P4-T1) by @kinqsradio in #78
- feat(0.4.1): dynamic subagent overlay + per-child effort (0.4.x-1/5) by @kinqsradio in #79
- chore(0.4.1): remove deprecated route_agent (use route_task) by @kinqsradio in #80
- feat(0.4.1): federation work handoff (FED-S4) by @kinqsradio in #81
- feat(0.4.1): project (multi-folder) scope (AUG-A1) by @kinqsradio in #82
- release(0.4.1): bump versions to 0.4.1 + release-candidate changelog by @kinqsradio in #83
- feat(0.4.1): dashboard Brain Agents health card (BRAIN-P1-T5) by @kinqsradio in #85
- fix(0.4.1): /memories type filter covers all 30 cognitive types by @kinqsradio in #86
- fix(0.4.1): dashboard filter UX — dropdowns + timeline op-type drift by @kinqsradio in #87
- feat(0.4.1): strict output-contract enforcement (MAS-P3-P3.2) by @kinqsradio in #88
- feat(0.4.1): pluggable tracing backend (AUG-A4) by @kinqsradio in #89
- feat(0.4.1): apply-time memory dedup (AUG-A2) by @kinqsradio in #90
- feat(0.4.1): modular ranking refactor (AUG-A3) by @kinqsradio in #91
- chore(0.4.1): scrub internal-planning + vendored-project references; drop AUG-A5 by @kinqsradio in #92
- docs(0.4.1): changelog reflects A1-A4 shipped + AUG-A5 cancelled by @kinqsradio in #93
- Release 0.4.1 — brain job queue + multi-agent ownership/budgeting/gates/contracts + federation handoff + A1–A4 augmentations by @kinqsradio in #84
- docs: mark 0.4.1 merged to main (publish pending) by @kinqsradio in #94
Full Changelog: v0.4.0...v0.4.1