Skip to content

Releases: kinqsradiollc/BrainRouter

0.4.17

Choose a tag to compare

@kinqsradio kinqsradio released this 30 Jul 00:48
9c5d6fa

0.4.17 — 2026-07-30

0.4.17 completes project-aware onboarding and source-grounded Project
knowledge across the shared runtime, CLI, Desktop, Dashboard, and brain.

Added

  • Conversational workspace setup. Users can describe a project or start
    from a preset, review the proposed agent, capabilities, skills, tools, memory
    posture, and optional instruction change, then explicitly confirm every
    write. Bounded repository scanning provides an offline fallback.
  • Two ordered onboarding flows. Provider, model, MCP, and preference setup
    remains global; project setup runs once per workspace, can be skipped without
    writing, and can be reopened from the CLI or Desktop settings.
  • Typed workspace profiles. A committable, secret-free
    .brainrouter/workspace.json carries reviewed project intent while preserving
    safe forward-compatible fields and exact no-manifest behavior.
  • Project knowledge. Organization- and Project-scoped knowledge bases now
    support bounded text, Markdown, HTML, PDF, and DOCX ingestion; asynchronous
    parsing and optional embeddings; status and scoped retry; hybrid retrieval;
    and source citations.
  • Knowledge clients. The Dashboard Knowledge Library and Desktop Project
    knowledge panel support base creation, local upload, document status/retry,
    and citation-backed search with stale-request cancellation.
  • Profile capability packs. Research, data science, study, and writing
    profiles can activate their own reviewed specialist definitions. Frontend
    remains an engineering capability and contributes design-system,
    accessibility, responsive-layout, and visual-verification skills.
  • Mid-turn Queue and Steer. Desktop and CLI can visibly queue a follow-up
    behind the active turn or steer it at the next safe model boundary. Both
    delivery modes share one protocol and preserve model tool-call pairing.
  • Background pull-request observation. Engineering workspaces can start a
    bounded, non-blocking watcher for checks, reviews, and comments. Material
    changes steer the originating CLI or Desktop session, allowing the active
    agent to diagnose failed CI without pausing the conversation or goal.
  • Stable agent work identity. Durable plans now carry schema revisions and
    host-owned task IDs that survive rewording and reordering.
  • Profile planning schemas. Engineering, research, data science, study,
    writing, and custom workspaces resolve separate validated planning artifacts,
    gates, and workflow-skill requirements. Known catalog selections are
    overridable; unknown selections fail back to the profile default.
  • Reference-only Work Contracts. A revisioned session contract links plan
    tasks to requirements and future evidence/review records without copying
    their authoritative content. Existing plans migrate conservatively on read.
  • Durable steering intake. When a Steer reaches the model-safe boundary,
    core records one pending Work Contract receipt with its source, prior
    revision, timestamp, and bounded summary. Delivery no longer disappears into
    prompt history before semantic reconciliation can be audited. A typed
    reconciliation step now distinguishes clarification, plan change, evidence,
    and goal conflict; extension observations remain evidence-only, and other
    tools fail closed until classification or the matching plan revision is
    stored. CLI notices and Desktop message badges expose the receipt status,
    classification, user-input requirement, and resulting plan revision through
    one shared host protocol.

Changed

  • One engineering identity. engineer is the only engineering persona.
    Frontend support activates from the current task and file signals, including
    independently delegated work, without creating a second agent identity.
  • Capability-aware runtime. Root and delegated agents resolve domain
    identity, capabilities, skills, tool profiles, briefing hints, and memory
    tags per task. Required profile stages now activate their declared skills in
    order, narrow the live tool surface, launch the plan-owned delegated role,
    validate its selected output sections, and unlock dependencies only after
    accepted results. Existing access mode, role, allowlist, and deny rules
    remain authoritative. CLI and Desktop now show the selected profile,
    strategy, selection source, stage owner/state, and active stage skill from
    one typed runtime event.
  • Complete profile tool contracts. Research workspaces can inspect project
    folders, use Project Knowledge and Memory Context, write source-backed notes
    and artifacts, and navigate dynamic sources through a bounded interactive
    browser. Reviewed optional capabilities now activate their task-specific tool
    groups in explicit-catalog workspaces without accepting arbitrary,
    incompatible, or disabled additions.
  • Profile-aware project initialization. Asking to set up a project or
    workspace now activates the selected profile's planning contract before the
    first write. Research setup language remains with the primary researcher
    instead of being misclassified as evidence collection.
  • Consistent setup recommendations. Desktop source development and the
    packaged host now derive capability and tool-group choices from the same Core
    catalog. Desktop can apply all selectable recommended additions in one
    action, while CLI pickers distinguish recommended additions from selections
    already present in the workspace draft. When editing an existing workspace,
    Desktop now labels repository detection as a folder suggestion and states the
    selected profile explicitly, so an empty configured folder cannot appear to
    have silently changed profiles.
  • Inspectable personality inheritance. Desktop and CLI now label the
    workspace choice as Automatic and show whether its effective communication
    style came from a global default, profile recommendation, or fallback.
  • Safer contributor loop. Small PRs use focused local tests, lint, and
    typecheck; the complete hosted CI suite remains the required merge gate.
    Local full verification is reserved for cross-cutting/high-risk,
    release/publish, and CI-parity work.
  • Profile-selected quality workflows. Contributor guidance now keeps
    authority invariants global while Planning, ADR, code review, and boundary
    cleanup procedures stay in focused skills. Model-neutral activation fixtures
    cover profile, task, goal, security-decision, custom-schema, and no-op paths.
  • Curated browser-safe Core imports. Desktop renderer consumers now use
    focused package exports for pure catalogs, policies, graphs, diffs,
    frameworks, and prototype helpers. The compiled-path wildcard and renderer
    lint exception are removed, and extension documentation now uses the curated
    extension export.
  • Smaller package boundaries. Runtime-plane configuration contracts and
    pure normalizers now live in a focused core module behind the unchanged
    configuration exports.
  • Smaller worktree boundary. Worktree isolation contracts and merge-back
    presentation now live in focused Core modules behind the unchanged public
    entrypoint. Policy and recovery services now call one privileged Node host
    adapter for Git, filesystem, configuration, and state paths without changing
    isolation or merge-back behavior.
  • Typed native-terminal boundary. Desktop terminal shell catalogs, session
    snapshots, and incremental reads now cross one bounded host-neutral protocol;
    Core owns deterministic geometry and reattachment policy while Electron
    retains executable discovery, environment access, native PTY allocation, and
    process lifecycle.
  • Isolated background-shell host. Background command registry, polling, and
    cancellation policy now call one private host port; detached process
    creation, workspace logs, random identity, clocks, process-tree signals, and
    host-exit cleanup remain in the privileged Node adapter.
  • Isolated durable-task host. Background-task transitions, filtering,
    retention, and orphan reconciliation keep their existing workspace-scoped
    API while persistence, random identity, clocks, owner PID, and process
    liveness move behind one private Node host.
  • Explicit connector runtime host. Shared checkpoint policy now receives
    environment-token and current-directory context through a host-neutral
    contract while source network/filesystem clients and workspace persistence
    remain explicit adapters.
  • Port-driven storage service. Workspace-scoped checkpoint and
    file-mutation persistence now sit behind an injectable port, while shared
    records and deterministic restore planning remain host-independent behind
    the existing storage entrypoints.
  • Injectable execution host. Local, WSL, and SSH command validation and
    argv planning remain deterministic, while process creation and environment
    access now live behind an injected Node host adapter.
  • Isolated worktree-awareness host. Passive sibling-worktree parsing and
    bounded prompt context now call an injected host; Git process creation and
    timeout remain in the private Node adapter.
  • Smaller agent completion boundary. Model-answer normalization now lives
    behind a focused runtime phase while the Agent facade retains turn capture,
    hook, telemetry, usage, and transcript ordering.
  • Focused agent context preparation. Pre-turn compaction, recall, prompt
    hooks, planning hints, goal and skill anchors, and child completion feedback
    now run behind one typed phase boundary before model invocation.
  • Paired tool-call repair. Duplicate, truncated, scavenged, and
    storm-suppressed model tool calls now pass through a focused repair phase
    that records assistant calls and synthetic results in protocol-safe order.
  • Central tool authorization. Sk...
Read more

0.4.16

Choose a tag to compare

@kinqsradio kinqsradio released this 01 Jul 07:10
3a7e62a

0.4.16 — The autonomous fleet, the unified desktop, and a Postgres brain

Shipped — 2026-07-01. Tagged v0.4.16 and published to npm.

0.4.16 is the largest release since the memory engine landed. It grows
BrainRouter along four big arcs at once: an autonomous fleet that can drain a
queue of migrations across many repos as isolated, verified PRs; a unified
desktop workspace
where Chat · Track · Code become full first-class modes with
a Write workspace, prototype generation, a visual workflow canvas, and a
Memory panel; Track matures into a Jira/Plane-class board with a headline
bidirectional 3-way GitHub Issues sync; and the brain moves onto PostgreSQL +
pgvector
behind a fully async engine — with a remote-brain runtime and an
Atlas codebase knowledge graph riding on top. Underneath it all, packages/core
gets a machine-enforced public-API boundary so the CLI, Desktop, brain, and
fleet all consume one curated surface instead of deep-importing build artifacts.

Fleet automation — the Honk program (H0–H4, L1–L7)

BrainRouter can now run one change across a whole fleet of repos unattended, as N
isolated and independently-verified pull requests — and drive weak/local models
reliably enough to do the coding.

  • Durable global fleet job queue + runner (H3.1a). A file-backed, retryable
    queue of fleet jobs with a single runner loop that drains it — jobs survive
    host restarts, so a long multi-repo migration picks up exactly where it left
    off instead of starting over.
  • Single-runner host lock (H3). A host-level lock guards the drain loop so
    only one runner processes the queue at a time — two desktops or a desktop + a
    cron job pointed at the same brain can't double-run a job or race on a worktree.
  • Fleet fan-out + PR-emitting build executor + status read-model (H3.2/H4).
    The executor fans a job out across its target repos, runs the build loop in
    each, and emits the result as a PR; a separate status read-model aggregates
    per-repo state (queued · running · passed · failed · PR-opened) so a run is
    observable without tailing logs.
  • Recipe fleet executor — isolated-worktree codemod → PR (H3.2). A "recipe"
    applies a codemod inside an isolated worktree per repo, verifies it, and opens a
    PR — the mechanism behind applying the same change to many repositories as
    clean, reviewable diffs.
  • brainrouter fleet run / status / drain (H4). The CLI drives live
    multi-repo migrations: run enqueues a job across its targets, status reads
    the aggregated read-model, and drain processes the queue to completion.
  • MCP fleet surface. The agent can start and inspect fleet runs over MCP
    (start-a-run + read-status tools), so a supervising agent orchestrates the fleet
    the same way it manages the board or the plan.
  • PR from a successful build loop (H1). Opt-in cli.buildLoopEmitPr: a
    passing /build is delivered as a draft GitHub PR from an isolated worktree,
    with a unique branch name, redaction, a safe base-ref, and no-hang guards baked
    in — so a green build becomes a reviewable PR without a manual push.
  • Requirements-intake agent + self-contained delegation packet (H2.1). A
    role that turns a raw request into a structured requirement, then hands each
    delegated worker a self-contained packet (everything the child needs, no
    back-channel to the parent) so unattended workers don't stall waiting for
    context.
  • Un-opt-out-able sandbox + secret-env scoping for fleet roles (H0). For
    unattended roles the sandbox cannot be disabled, and secret environment
    variables are scoped to the role that needs them — an autonomous worker can't
    turn off its own guardrails or read a secret outside its lane.
  • Local-model bounded harness (L1–L7). A profile that makes a weak/local
    model usable as a coding worker: a bounded-harness profile (L1/L7) caps the
    run; a hard tool allowlist (L2) removes tools it would misuse; a
    schema-flatten pass (L3) rewrites nested tool schemas into the shallow shapes
    local models handle; a drop-and-retry fallback in callOpenAI (L4) sheds
    the tools payload and retries when a server rejects it; and a verify-loop
    nudge + router tier bias
    (L5/L6) pushes the model back to green and biases the
    router toward the right tier.
  • Fleet console on the dashboard (H3.3). The CLI pushes fleet snapshots to the
    brain (store-and-serve API), and the dashboard reads them — a live console for
    what the fleet is doing across every repo, from anywhere the brain is reachable.
  • Dependency-free pre-commit lint hook + installer (R0.3). A zero-dependency
    pre-commit hook (plus its installer) keeps fleet-authored and human commits from
    landing lint failures.

Desktop unified workspace — Chat · Track · Code become full modes

The three-mode workspace introduced in 0.4.15 grows into a genuine
Chat · Track · Code product: a Markdown/Monaco Write mode, in-app
prototype generation, a visual workflow canvas, a Memory panel, and
system-level polish.

Write mode (W1–W6)

  • Markdown writing workspace on Monaco (W1). A real editor surface for prose
    and docs — not the chat composer — with a per-workspace writing thread.
  • Diff-review primitive + selection inline AI (W2/W3). Review a proposed edit
    as a diff before accepting; select any span and ask the AI to act on just that
    selection.
  • Ghost-text (W4). Inline, accept-on-tab continuations while you write.
  • Workspace-grounded assistant + per-workspace thread (W5). The Write
    assistant is grounded in the workspace's files and keeps its own thread, so it
    answers about this document set, not a blank chat.
  • DOC/HTML export + copy-as-rich-text (W6). Export the document to HTML or
    DOC, or copy it as rich text to paste elsewhere with formatting intact.

Interactive prototype generation (D2–D4)

  • Prototype detection + auth-gate (D2/D3). BrainRouter detects when a turn
    produced an interactive HTML prototype and gates it behind an explicit enable
    step instead of running arbitrary generated markup silently.
  • Sandboxed-webview render (D3). Prototypes render in a locked-down webview,
    isolated from the app.
  • Design-context editor + prompt composer (D4). Steer generation with a
    design-context block and a dedicated prompt composer so the prototype matches
    the intended look and behaviour.
  • Placeholder resolve-and-swap in Artifacts (D2). Generated placeholders
    resolve and swap into the Artifacts preview, so a scaffold fills in with real
    content in place.

Visual workflow canvas (L1–L4)

  • Workflow graph DSL + execution engine (L2). A visual-workflow graph
    language with an execution engine — nodes and edges that actually run.
  • Canvas UI + advanced nodes (L1/L3). A drag-and-connect canvas with advanced
    node types wired to the engine.
  • Durable canvas persistence + run_workflow_graph (L4). A workflow graph
    store persists a canvas, and a new run_workflow_graph agent tool makes a
    saved graph callable as a tool — so a hand-built visual workflow becomes
    something the agent can invoke by name.

Desktop platform & UX

  • Memory panel (§5.3). Search the brain's memory engine directly from the
    desktop — inspect what the brain knows without dropping to the CLI.
  • System tray with dynamic session menu (§5.8). A tray icon whose menu lists
    live sessions, so you can jump to a running chat from the OS chrome.
  • Customizable keyboard shortcuts (§5.9). A shortcut registry with template
    expansion (core) plus a rebind-and-persist UI (desktop) — remap keys and keep
    them across restarts.
  • @-mention workspace-file picker (§5.7). Type @ in the composer to pick a
    workspace file into the prompt; a global code prompt-prefix knob rounds it out.
  • Settings → Tools — enable/disable built-in & MCP tools (§5.10). A per-tool
    enable/disable policy (cli.toolOverrides, core) with a desktop UI, where core
    tools stay protected so you can't disable the agent's ability to function.
  • Per-session model fix. Picking a model in one chat no longer syncs that
    pick to every other chat — model choice is per-session.
  • VS Code-grade Editor fold-in. Docs folded into a full Editor with unified
    canvas controls and capped auto-compaction; Monaco is themed from a
    hex-normalized palette and Write/Workflows reflow when the window is narrow.
  • Automated signed-build pipeline (CP-B). A signed macOS build pipeline with
    packaged-build verification, backed by the notarization scaffold — so releases
    ship as a trusted, verifiable app.
  • UX hardening. A top-level error boundary, friendly 5-card permission modes
    in Settings, hooks-phase parity (glob matchers + post-tool/prompt rewrite),
    per-turn git checkpoint + rollback, PM-framework buttons in the Requirements
    panel, and a batch of picker/menu/z-index/layout fixes.

Track — a Jira/Plane-class board with bidirectional GitHub sync

Track grows from the 0.4.15 board into a full project-management surface, aligned
to the lifecycle model and finished with a true two-way GitHub Issues sync.

  • Work-item model aligned to lifecycle (T-align). Items carry lifecycle
    status groups
    , priority, dates, and an archive state, so the board maps
    onto the same lifecycle the rest of BrainRouter uses.
  • Multiple assignees + a first-class label registry. Items support multiple
    assignees, and labels are a managed registry (not free-typed strings) with
    stable identity and colour.
  • Modules + extended issue relations. A Modules model groups work, plus
    richer issue relations (blocks/relates/etc.) — surfaced end-to-end through a
    Modules tab.
  • **Calendar / Gantt / spreadsheet la...
Read more

v0.4.15

Choose a tag to compare

@kinqsradio kinqsradio released this 22 Jun 10:02
0b4d6af

BrainRouter 0.4.15 (2026-06-22).

Highlights

  • Requirement-first workflow — requirement → plan → durable task → review/annotation → verification → memory, all provenance-tracked through the existing memory pipeline.
  • Unified workspace — Chat · Track · Code modes from a left-sidebar switcher; Track is a code-aware, Jira-class board per workspace (Board/List/Backlog/Sprint/Roadmap/Reports/Automation/Members/Sync · JQL · automation rules · per-project roles · GitHub Issues sync).
  • Desktop UI pass — Graphite Mono theme, colour-toned tool rows with clickable paths, end-of-turn changeset card, live Context panel (token + cache/compaction/memory savings).
  • Closing UX & reliability program — idle child auto-resume, destructive-command guard, MCP auto-reconnect + brain/tools split, provider gallery with live /models, cross-session usage heatmap, stop-workflow, rewind, cross-workspace session menu.
  • Steadier core — bounded reranker/embedding timeouts + circuit breaker, non-blocking capture, strict tool-call pairing fix (the 2013 error), injection-surface + tenancy hardening.

Full notes: brainrouter-changelog/0.4.15.md

What's Changed

  • docs: 0.4.15 plan — The Agent Behind the Glass by @kinqsradio in #348
  • docs: 0.4.15 plan v2 — full twelve-subsystem blueprint by @kinqsradio in #349
  • feat(benchmark): CC-P8.1 agent-behavior metrics + cli:behavior suite by @kinqsradio in #350
  • feat(tui): CC-P1.1 line-level virtual scrolling by @kinqsradio in #351
  • feat(agent): CC-P6.2 deliverable guardrail — turns end on the result, not a deferral by @kinqsradio in #352
  • feat(agent): CC-P6.4 read-before-edit + unique-match edit contract by @kinqsradio in #354
  • feat(agent): CC-P6.8 denied-tool semantics — adjust, don't retry by @kinqsradio in #353
  • feat(agent): CC-P9.2 task-tracking harness nudge by @kinqsradio in #355
  • feat(cli): CC-P1.6 /export-chat — export session transcript (md/json) by @kinqsradio in #356
  • feat(agent): CC-P7.3 read_file truncation contract by @kinqsradio in #357
  • feat(agent): CC-P6.5 verification-before-done gate by @kinqsradio in #358
  • feat(cli): CC-P1.4 /find — transcript search by @kinqsradio in #359
  • feat(cli): CC-P4.1 markdown slash commands (.brainrouter/commands) by @kinqsradio in #360
  • feat(agent): CC-P3.2 declarative cli.permissions allow/deny rules by @kinqsradio in #361
  • feat(cli): CC-P2.4 /recap — instant session summary by @kinqsradio in #362
  • feat(cli): CC-P2.1 --continue / --resume launch flags by @kinqsradio in #363
  • feat(agent): CC-P11.2 wait_until — block on a workspace file condition by @kinqsradio in #364
  • feat(tui): CC-P1.7 Ctrl+R reverse history search by @kinqsradio in #365
  • feat(tui): CC-P1.3 Ctrl+O verbose-transcript toggle by @kinqsradio in #366
  • feat(cli): CC-P4.4 '#' quick memory-capture prefix by @kinqsradio in #367
  • feat(agent): CC-P11.1 background run_command + task_output by @kinqsradio in #368
  • feat(cli): CC-P5.2 /usage — per-actor token breakdown by @kinqsradio in #369
  • feat(agent): CC-P12.3 session chapters — mark_chapter + /chapters by @kinqsradio in #370
  • feat(benchmark): CC-P8.2 decision-trace diff by @kinqsradio in #371
  • feat(cli): CC-P13.2 headless flags — --max-tool-loops, --disallowed-tools by @kinqsradio in #372
  • feat(agent): CC-P4.2 hook decision contracts + new events by @kinqsradio in #373
  • docs: 0.4.15 thread M — BrainRouter Desktop plan by @kinqsradio in #374
  • feat(protocol): DESK-0 — typed agent event/command protocol package by @kinqsradio in #375
  • feat(desktop): DESK-1 — Electron shell over the unchanged CLI runtime by @kinqsradio in #376
  • feat(agent): DESK-2a — cooperative turn interrupt (Stop / CC-P1.5) by @kinqsradio in #377
  • feat(desktop): DESK-2b — rich chat surface (markdown, tool cards, plan) by @kinqsradio in #378
  • feat(desktop): DESK-3a — InteractionPort + session/model runtime core by @kinqsradio in #379
  • feat(desktop): DESK-3b/4a — approvals UI, new chat, resume, settings, workspaces by @kinqsradio in #380
  • feat(desktop): DESK-4b — diff review, terminal pane, live tokens by @kinqsradio in #381
  • feat(desktop): DESK-4c — workbench redesign: resizable panel columns, full command surface, CC-style settings by @kinqsradio in #382
  • feat(desktop): DESK-4d — Claude-desktop visual parity: two themes, home view, sidebar pills + account row by @kinqsradio in #383
  • feat(desktop): DESK-4e — live-app behaviors from the deep walkthrough by @kinqsradio in #384
  • feat(desktop): DESK-5 — command bridge + provider editor by @kinqsradio in #385
  • feat(desktop): DESK-4f — UX wave: streaming scroll, real code view, motion, alignment by @kinqsradio in #386
  • fix(desktop): commit root lockfile for react-syntax-highlighter by @kinqsradio in #387
  • feat(desktop): DESK-5b — /briefing bridge + terminal history by @kinqsradio in #388
  • feat(desktop): DESK-4g — resume renders full history + responsive at every window size by @kinqsradio in #389
  • feat(desktop): DESK-4h — inspect-diff with per-hunk cards + responsive repair by @kinqsradio in #390
  • feat(desktop): DESK-4i — side-by-side pass: sidebar card + slim composer by @kinqsradio in #391
  • feat(desktop): DESK-4j — patterns from the Codex + Antigravity study by @kinqsradio in #392
  • feat(desktop): DESK-5c — file tree, real terminal, /models endpoint, accent theming by @kinqsradio in #393
  • feat(desktop): DESK-4k — modern skin: SVG icon set, neutral palette, account-row polish by @kinqsradio in #394
  • feat(cli): 0.4.15 engine — cooperative interrupt, questions/planning, session meta + reconcile by @kinqsradio in #396
  • feat(desktop): 0.4.15 host — interrupt cascade, lazy history + cache, workflow/session queries by @kinqsradio in #397
  • feat(desktop): 0.4.15 renderer — Codex-parity shell, message actions, fork lineage, responsiveness by @kinqsradio in #398
  • feat(desktop): 0.4.15 chat cleanup — message actions, fork-from-message, sub-agent view by @kinqsradio in #399
  • feat(cli+desktop): T4 — shared workspace/git-root resolution helper by @kinqsradio in #400
  • fix(desktop): T9 — directory-aware file reads (no raw EISDIR) + diff guard by @kinqsradio in #401
  • feat(cli+desktop): T1 — workspace trust in shared store + instant project add by @kinqsradio in #402
  • feat(desktop): T8 — route all slash commands through the registry (never to the LLM) by @kinqsradio in #403
  • feat(desktop): T3 — atomic workspace identity + stale-workspace event drop by @kinqsradio in #404
  • feat(cli): T5 — per-session provider/model/MCP runtime store + layered resolution by @kinqsradio in #405
  • feat(desktop): build-on-start + safe clean-reset (npm start always builds; reset:desktop) by @kinqsradio in #406
  • fix(desktop): OOM — bounded transcript TAIL reads for UI (no full-file allocation) by @kinqsradio in #407
  • fix(desktop): branch/git state no longer disappears on workspace switch by @kinqsradio in #408
  • fix(desktop): drop stale que...
Read more

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).

v0.4.13

Choose a tag to compare

@kinqsradio kinqsradio released this 07 Jun 04:40
5f4fd8f

v0.4.13

Sub-agent results that come back — completed agents now deliver their findings to the main agent automatically.

Highlights

  • Background agents finish the job. When you spawn a sub-agent (or a workflow) and it completes, the main agent now picks the result back up and answers automatically — no more "✓ completed" followed by silence, and no manual /continue. Delivery happens both by polling and the moment the agent finishes.
  • No more "I'll summarize later". If a sub-agent returns its findings but the model tries to defer instead of using them, a guardrail makes it synthesize the answer now.
  • "Is it done?" just works. Asking about a running agent resolves the exact agent you spawned instead of guessing from a long list.

Improvements

  • Parallel tool calls with the same name (e.g. two file reads at once) now show each result under its own header.
  • file:line citations garbled by some smaller models are repaired automatically in the answer.
  • The pre-turn next-action planner runs at low effort, cutting the wait before a turn starts on slower models — still fully skippable via cli.nextActionPlanner.

Also Included

  • All five @kinqs/* packages published at 0.4.13.

v0.4.12

Choose a tag to compare

@kinqsradio kinqsradio released this 05 Jun 11:45
d872553

v0.4.12

The Build Loop, and multi-agent runs that keep going instead of timing out.

Highlights

  • The Build Loop. A new opt-in workflow runs a task through plan → implement → verify → review → merge, with the verifier checking the worker's actual edits in an isolated worktree and a merge gate that only lands changes when verification is green and review is clean:

    /build add rate limiting to the API
  • It can escalate on its own. A multi-step request can enter the loop automatically; tune it with cli.buildLoop (off / escalate / always, default escalate).

  • Runs reconnect instead of timing out. Model calls and the memory connection now reconnect with backoff (honoring Retry-After) rather than failing at a hard deadline, so slow models, large reviews, and brief network blips no longer kill a run.

  • The session keeps going after spawning agents. When a turn ends with background agents still working, BrainRouter waits for them and continues automatically — no more manual /continue.

  • Type while it's busy. Messages entered mid-turn are queued and run one at a time after the current turn finishes:

    /queue
    /queue remove 2
    /queue clear

Improvements

  • Child and worker timeouts wait instead of killing. A timeout now only bounds how long the parent waits; the child runs to completion. Use timeoutMs: 0 to wait until done.
  • Fan-out builds. A build split into multiple slices runs each in its own held worktree and merges them with overlap detection; review-gate ad-hoc workers with cli.worktreeMergeReview.
  • Optional loop-until-green self-repair. When cli.buildLoopMaxRepairs is greater than 0, a failed build retries implement → verify → review until it passes (default off).
  • Active phase, surfaced. /ps, /agents, and an optional statusline segment now show the running phase (e.g. Implement (2/4)).
  • Search actually searches. grep_search now does real regular-expression matching and accepts a single file or a directory.
  • Accurate costs. /tokens now includes tokens spent by child and sub-agents.

Also Included

  • Worktree garbage collection no longer removes a running child's worktree.
  • Worker-thread state moved under your BrainRouter home directory.
  • Workflow agents with custom role names map to the closest built-in role instead of failing.

v0.4.11

Choose a tag to compare

@kinqsradio kinqsradio released this 04 Jun 05:25

v0.4.11

Safer multi-agent workflows, self-documenting configuration, and improved memory accuracy.

Highlights

  • Worktree isolation now merges back automatically. Child agents work in isolated Git worktrees and, on successful completion, merge changes back into your working tree by default.

  • Recovery patches. Conflicting or failed child changes are preserved and can be reviewed, applied, or discarded with:

    /agents diff <id>
  • Worktrees moved out of $TMPDIR. Child workspaces now live under ~/.brainrouter/worktrees/ and can be relocated with cli.worktreeRoot.

  • Self-documenting config. Safe cli.* defaults automatically appear in config.json, making available settings visible and editable.

  • Memory verification. New /memory verify command and memory_verify MCP tool detect stale, re-anchorable, and removable code-linked memories.

  • Churn-aware memory decay. Memories tied to frequently changing files now naturally decay faster than those linked to stable code.

Improvements

  • Child completion messages now clearly report merge results.

  • Added automatic cleanup for stale recovery patches.

  • Added cli.worktreeRoot configuration.

  • Auto-chain review remains opt-in via:

    /auto-chain review
    /auto-chain both

Also Included

  • Design specifications for:

    • Per-session workspace isolation
    • Build-loop workflows (plan → implement → verify → review)

v0.4.10

Choose a tag to compare

@kinqsradio kinqsradio released this 03 Jun 10:56

v0.4.10

Memory-home hardening, a fully mobile dashboard, and Cloudflare Worker deployment support.

Highlights

  • BRAINROUTER_HOME support — relocate all BrainRouter state with a single environment variable.
  • Memory consolidation moved out of repos — generated memory files now live under ~/.brainrouter/workspaces/... instead of polluting project directories.
  • Neural Spark opt-out — disable spreading activation with BRAINROUTER_NEURAL_SPARK_ENABLED=false.
  • Fully mobile-responsive dashboard — improved tables, code blocks, session views, and brain-agent panels on small screens.
  • Cloudflare Worker deployment via OpenNext — full Next.js runtime support with SSR, bindings, secrets, and observability.
  • Favicon + PWA assets — favicon, Apple touch icons, web manifest, and branded app icons now included.
  • Published @kinqs/brainrouter-hooks — all dashboard dependencies now resolve directly from npm.

Improvements

  • Added validation to prevent memory consolidation against temporary work directories.
  • Stable workspace hashing for consolidated memory storage.
  • Better Cloudflare deployment workflow with OpenNext and Wrangler integration.

Deployment

  • Full Next.js Worker runtime on Cloudflare
  • SSR support retained
  • Static assets served through Cloudflare Assets
  • Updated deployment documentation

Packaging

  • @kinqs/brainrouter-hooks now publicly available on npm
  • React peer dependency expanded to support React 18 and 19

v0.4.9

Choose a tag to compare

@kinqsradio kinqsradio released this 03 Jun 03:38

v0.4.9

A brand-new dashboard, a full Brand Studio, observable brain agents, and Cloudflare deployment support.

Highlights

  • Completely redesigned dashboard built around BrainRouter's new "Memory Instrument" design system.
  • New app shell with grouped navigation, sticky top bar, search, and ⌘K command palette.
  • Animated Home experience explaining BrainRouter's memory architecture and recall pipeline.
  • Brand Studio (/brand) for creating release cards, banners, avatars, logos, and social content with vector-based editing and SVG export.
  • Brain-agent observability — previously hidden maintenance agents now run, report activity, and appear correctly in the dashboard.
  • Refresh-token authentication with silent renewal, cross-tab sessions, and improved security.
  • Cloudflare Workers deployment via static export with no SSR runtime required.
  • Static presentation mode for marketing/demo deployments without a backend.

Improvements

  • Modernized design system across all dashboard routes
  • New About page and branding assets
  • Platform safe-zone guides for banners and profile images
  • Improved API validation, rate limiting, CORS, and JWT handling
  • Graceful server shutdown and development restart fixes

Brain Updates

  • Activated:

    • tree_sealer
    • tree_digest
    • source_chunker
    • blackboard_reconciler
    • relevance_judge
    • benchmark_eval
  • Added scheduling, observability, and dashboard reporting for maintenance agents.

Deployment

  • Static export support for Cloudflare Workers
  • wrangler configuration and deployment tooling included

Status

  • 554 brain unit tests passing
  • Dashboard build: 26/26 routes

Full Changelog:
[v0.4.8...v0.4.9](https://github.com/kinqsradiollc/BrainRouter/compare/v0.4.8...v0.4.9

v0.4.8

Choose a tag to compare

@kinqsradio kinqsradio released this 02 Jun 04:28

v0.4.8

Deterministic multi-phase workflow orchestration — the headline feature. 0.4.7 made the agent reason about whether to fan out; 0.4.8 gives that reasoning a runtime to execute. Hand over a declarative plan once and the runtime drives every step — fan out N specialist children per phase, barrier-wait the whole phase, synthesize their outputs, and feed that forward into the next phase — durably persisted and crash-resumable.

Highlights

  • PhasePlan + deterministic executor — a declarative plan (ordered phases; each an explicit agents list or a fanOut over targets; inputFrom / dependsOn / synthesize) executed by a runtime engine: spawn each phase's children, barrier-wait, synthesize, inject as {{input}} downstream. The runtime drives the spawns, not the model.
  • Durable + crash-resumable runs — a phase-aware ledger survives restarts; a crash flips the in-flight phase to interrupted, and a run resumes from its failed phase (completed phases skipped, their output fed forward).
  • run_workflow tool + templates — one call runs a plan or a built-in compare / review-wide / research template; the runtime fans out in cli.maxConcurrentChildren waves.
  • The system runs it for you — when the next-action planner picks the workflow strategy it emits a validated PhasePlan and the agent fires a single run_workflow call: it fans out by itself instead of single-threading.
  • Real review-merge — a review-merge phase dedupes + confidence-thresholds findings across reviewers.
  • /workflow run launcher + live phase timeline, and background runs (run_workflow({ background: true })) with phase N/M progress in the background panel.

Brain server

  • PayloadTooLargeError fixed — the HTTP server's JSON body limit is now configurable (default 16 MB, BRAINROUTER_MAX_BODY_SIZE) and an oversized body returns a clean 413 instead of an unhandled 500/crash.

Release mechanics

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

Status

  • Full suite green: 522 brain unit + 150 integration + 1194 CLI.
  • Deferred to 0.4.9 (memory-accuracy): churn-weighted decay, /memory verify sweep, source-side capture compaction.