Skip to content

v0.4.7

Choose a tag to compare

@kinqsradio kinqsradio released this 02 Jun 01:43

v0.4.7

The Codex coding-agent parity track — built on the 0.4.6 structural-refactor seams — plus the agentic-autonomy and memory-accuracy work that came out of live-CLI testing. Three themes: close the execution-safety gaps that separated BrainRouter from a hardened coding agent, make the agent actually fan out and follow through instead of stalling, and teach recall to flag a memory whose source code has since changed.

Full notes: brainrouter-changelog/0.4.7.md.

Highlights

  • Coding-agent parity — execution safety. Sandbox fails closed when requested-but-unavailable (no silent unsandboxed run); run_command approval is evaluated per shell segment (pipes / && / ;) with an opt-in cli.commandAllowlist; over-broad allowlist prefixes (git, npm) are rejected at config load; apply_patch is now atomic (prevalidate every op, then flush); MCP network/egress tools are gated before a server's readOnlyHint can wave them through; per-child git worktree isolation + cleanup with a safe off default.
  • Agent lifecycle & orchestration. One tool registry — the model-visible tool list, exec policy, and parallel-safe set are all generated from it and drift-guarded; spawn slots cap a parent's concurrent children (cli.maxConcurrentChildren, default 8).
  • Agentic autonomy — the agent acts instead of stalling. The headline: a next-action planner that reasons about strategy (answer-direct / investigate / fan-out / workflow) at turn start instead of keyword-guessing; fan-out now fires on analytical comparisons and follows through (a guard catches "hinted but didn't spawn"); parallel tool calls show they're running; and turn-end guards kill the "promise then stall / promise then ask" pattern.
  • Memory accuracy — staleness-aware recall. A recalled memory derived from code whose source file has since changed is flagged and down-ranked, with a ⚠ source changed since capture — verify against current code annotation, so the agent re-verifies instead of trusting a memory the codebase has outgrown.

Release mechanics

  • All workspace packages bumped 0.4.6 → 0.4.7 + cross-package pins (^0.4.7); package-lock.json regenerated.
  • server.json + .claude-plugin/plugin.json synced to 0.4.7 (DIST-1 manifest guard).
  • Shipped as 16 PRs (#236#251), each its own branch → green CI → merge into release/0.4.7.
  • Published: @kinqs/brainrouter-types, @kinqs/brainrouter-sdk, @kinqs/brainrouter-mcp-server, @kinqs/brainrouter-cli — all 0.4.7.

Status

  • Full suite green: 512 brain unit + 150 integration + 1120 CLI.
  • Deferred to a later release: durable child thread/fork (CODEX-THREAD-FORK), child event-channel transport (CODEX-CHILD-TRANSPORT), typed host/app protocol (HOST-PROTOCOL → 0.5.0).

What's Changed

  • fix(cli): read-mode parent can fan out a read-access child (REVIEW-FIX policy) by @kinqsradio in #236
  • fix(cli): fail closed when sandbox requested but unavailable (CODEX-SANDBOX-FAILCLOSED) by @kinqsradio in #237
  • fix(cli): /review can't collapse or stall — diff-injected, single-path, access-aware (REVIEW-FIX part 2) by @kinqsradio in #238
  • feat(cli): command-segment approval precision + opt-in allowlist (CODEX-EXEC-POLICY) by @kinqsradio in #239
  • fix(cli): atomic apply_patch — prevalidate all ops, then flush (CODEX-APPLY-PATCH-HARDEN) by @kinqsradio in #240
  • feat(cli): reject over-broad command-allowlist prefixes (CODEX-APPROVAL-GUARD) by @kinqsradio in #241
  • feat(cli): one tool registry — exposure generated, policy + parallel guarded (CODEX-TOOL-REGISTRY) by @kinqsradio in #242
  • feat(cli): spawn slots — cap a parent's concurrent children (CODEX-AGENT-LIFECYCLE) by @kinqsradio in #243
  • fix(cli): show parallel tool calls running + stop "promise then ask" stalls by @kinqsradio in #244
  • fix(cli): stop "promise then stall" turn-end + 0.4.7 parity WIP checkpoint by @kinqsradio in #245
  • fix(cli): worktree cleanup + safe default (CODEX-WORKTREE-CLEANUP) by @kinqsradio in #246
  • fix(cli): gate MCP network/egress + close the readOnly-hint bypass (CODEX-MCP-APPROVAL P0) by @kinqsradio in #247
  • fix(cli): make broad/comparison tasks actually fan out (trigger + follow-through) by @kinqsradio in #248
  • feat(cli): make fan-out fire on analytical comparisons + push harder (reliability) by @kinqsradio in #249
  • feat(cli): next-action planner — the system reasons about what to do, not keyword hints by @kinqsradio in #250
  • feat(brain): code-staleness-aware recall — flag + down-rank memories whose source changed (MEM-ACCURACY) by @kinqsradio in #251
  • Release 0.4.7 — Codex coding-agent parity, agentic autonomy, staleness-aware memory by @kinqsradio in #252

Full Changelog: v0.4.6...v0.4.7