Skip to content

v0.4.1

Choose a tag to compare

@kinqsradio kinqsradio released this 29 May 06:37

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_jobs table + BrainAgent registry 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_status
    • memory_agent_run
    • memory_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_agents write/shell children require an ownership glob; batch fan-out without one is refused

    • writeFile / editFile / applyPatch enforce the glob
    • wait_agents results 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. /tokens breaks down by child; /agents --json reports per-agent usage; wait_agents returns 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 --json return a parsed contract for 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_agent accepts an overlay (inline definition) and a per-child effort

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_recall fallback for non-BrainRouter receivers

Memory & Recall

  • Project (multi-folder) scope — A1. A .brainrouter/project.json marker ({ "name": "…" }) groups several workspaces into one logical Project

    • records carry an optional project tag (stable hash of the name)
    • memory_recall accepts scope: 'project' to widen recall across the whole project
    • NULL-tolerant (untagged records always surface); /where shows 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
    • strict matches a normalized content hash; fuzzy also drops cosine ≥ 0.97
  • Modular ranking refactor — A3. Recall score-composition math moved out of recall.ts into a pure memory/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
  • /memories type filter now covers all 30 cognitive types (compile-time exhaustiveness guard)
  • Themed dropdown filters on /memories and /timeline (replaces the sprawled filter row)

Removed / Cancelled

  • route_agent removed — the deprecation window is over; use route_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_agent removed — use route_task
  • spawn_agents write/shell batch fan-out now requires an ownership glob (or allowOverlap)

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