Skip to content

Releases: schlessera/brain-kit

brain-kit 0.41.0 — Contained agents, guided hygiene and a reshaped shell

Choose a tag to compare

@schlessera schlessera released this 11 Oct 16:02
378974d

Release milestone · npm package

Highlights

  • Run autonomous Claude and pi turns inside a restricted worker envelope, with no host home, no network beyond a server-owned inference relay, and the brain's .git masked. Hosted interactive Claude and pi sessions also run in isolated workers.
  • Add the production Queue dispatcher with bounded T0/T1 triage, durable decisions and exact once-only approved follow-ups, behind the autonomous enablement gate.
  • Add human-started hygiene reviews in Actions: brain hygiene next --json, typed repair previews, confirmed fixes with Undo, recheck, refresh, and pause/resume under the Actions limit.
  • Reshape navigation around D52: Chat, Sessions, Actions, Files and Settings on the rail and phone bar, rail acts, a working-session strip and pending follow-up pills above the composer.
  • Keep composer drafts per session, on the host and on the device across reloads, and deliver interactive answers with receipts that survive reconnects.
  • Continue a conversation on another backend through an editable handoff summary.
  • Deliver messages sent during a running Claude turn into that turn.
  • Add local voice recordings with recovery, consent-gated transcription and editable transcript review, plus external dictation providers and the live-conversation host contract.
  • Add an opt-in Gemini video module, brain travel sync, and the tracker, graph and supporting-files answer blocks.
  • Ship the brain-kit logo, favicon and install-icon set and the social card in @schlessera/brain-ui-kit/brand. The app now shows the logo.
  • Add the shared Overlay primitive and kit IconButton/TextButton controls, and use them across the app with consistent focus, dismissal and 44px touch targets.
  • Add @schlessera/brain/module as the supported entry for module authors, and support Claude Haiku 5.5 and Sonnet 5.5.

Fixes

  • Write documents atomically, so a failed write or a crash no longer truncates a document.
  • Stop losing follow-ups sent while a turn is starting or has already streamed its result.
  • Keep dictated words when the speech provider ends a dictation, and keep a service-worker update from reloading the page during dictation.
  • Contain crashing pages, stale lazy chunks and throwing tool renderers instead of blanking the app.
  • Give each app its own exec wrapper, so two apps in one process no longer share one privilege boundary.
  • Make brain audit --fix deterministic with no completion-provider call, and make brain doctor and the MCP read tools report the same index staleness.
  • Resolve hygiene index-table wiki links the way the indexer does, and refresh offline Claude price estimates.

Upgrade notes

  • Package entry points export only the supported API. Names only brain-kit used moved to /internal entries, and other incidental exports were removed. Every moved or removed name, with its migration path, is listed in docs/decisions/public-export-boundary.md.
  • WsHost internals and the store state types left the public surface. A custom session catalog is no longer supported; build the host with createApp.
  • Add @schlessera/brain (same lockstep version) to a host that serves the graph view or keyterm-capable dictation. It is now an optional peer of the UI server. Without it, the graph endpoints answer 503 and keyterms degrade to an empty vocabulary.
  • Update the client and the host together. Ask answers need a submissionId, and the host refuses an older client's answer with ASK_ANSWER_UPDATE_REQUIRED. The wire protocol is revision 5.
  • Module hygiene checks receive { queries, root, config } instead of a raw ctx.db. Move SQL reads to the matching @schlessera/brain/queries operation.
  • Handle null in SearchResult.tags and RerankCandidate.tags. For local text, use tags ?? "".
  • brain list --limit and brain_list's limit accept a whole number from 1 to 100, defaulting to 20. Out-of-range values are refused, not clamped.
  • New show_block suggestions calls reject unknown fields at the block and item level. Stored and replayed suggestions still render.
  • health().version is gone. Use the authenticated status() for software identity.
  • Review native pi routing and auth configuration. Declared built-in pi profiles now honor configured model endpoints, and native authentication's endpoint still takes precedence.
  • The Daily briefing shows keyless brain briefing output. POST /api/brain/whatsup and its repo-local script lookup are gone.
  • Restricted autonomous turns refuse to start without CLAUDE_CODE_OAUTH_TOKEN for a Claude subscription profile, or without an API key for a pi profile. A stored login is never copied into the worker.
  • createApp still enables no autonomous dispatcher. Production autonomous dispatch remains gated in this release.

Release record

Package changelogs

brain-kit 0.40.0 — Modules, maps and durable work foundations

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
1d1fcc7

Originally published on npm: 2026-10-02 at 08:52:37 UTC.

Release milestone · npm package

Highlights

  • Add module dormancy, schema-driven Settings and namespaced module MCP tools.
  • Introduce the shared geo package with track metrics, configured geocoding/routing/POI services and deterministic static maps.
  • Introduce standalone travel formats, configuration migration, route normalization and metadata-free photo copies.
  • Record corpus-health history and report trends with explicit stale, insufficient and incomparable states.
  • Add supported read-only core queries and optional per-type embedding policies.
  • Add authenticated queue intake, durable Queue/Action storage and delivery, escalation decisions, spend/operation budgets and export/restore support.
  • Add list, ranking and conditional-form questions, plus per-message reasoning effort and recoverable failed-turn cards.
  • Expand SDK/runtime compatibility checks and reserve interactive capacity alongside bounded autonomous operations.

Fixes

  • Isolate frontmatter parses, resolve same-document links, preserve arriving output destinations and finish large piped CLI writes.
  • Report provider failures as failures and retain retry/cooldown evidence on replay.
  • Enforce scraping policy on browser navigation and reject invalid job selections before execution.

Upgrade notes

  • Enable model reranking explicitly with reranker.enabled: true; direct hybridSearch injection also needs rerankerEnabled: true.
  • Read machine-mode bare brain sync output as { run, agent }, or pass --human for text.
  • Audit TODO/VERIFY findings now aggregate per document and kind. Sum count for marker totals; VERIFY findings are informational. The index advances to schema 15.
  • Move trailing-slash directory exclusions from exclude.files to exclude.dirs.
  • Install/enable the travel module and run brain travel migrate before resynchronizing skills; speaking no longer owns travel taxonomy.
  • Handle null from Enrichment.describeAsset; embedding coverage now measures eligible chunks, not all chunks.
  • Await createApp and runtime probes. Migrate custom adapters to SiteAdapter/AdapterResult and custom backend harnesses to the required permission probe.
  • Use documented public permission operations; retired policy constants and subprocess helpers are no longer public exports.
  • Repair nonempty confirmation lists containing no valid regex, or explicitly choose an empty list.
  • Renderer queue wait and browser acquisition have separate timeout options. Unrecorded billing remains unknown rather than being inferred from server credentials.
  • Queue storage and recovery are foundations: production autonomous dispatch remains gated in this release.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.39.0 — Deterministic sync and richer answers

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
daacdf8

Originally published on npm: 2026-09-28 at 17:53:03 UTC.

Release milestone · npm package

Highlights

  • Add brain sync run and standalone assess, commit, stash, resolve and conclude operations.
  • Resolve supported note conflicts deterministically and reserve agent handoff for unresolved judgment.
  • Add the Jev reranker, explicit rerank modes, request previews and evaluation evidence.
  • Add suggestions, external-link and map answer blocks.
  • Show link destinations, preserve dictated-message provenance and render corpus/runtime stats as answer blocks.

Fixes

  • Keep resized-image annotations out of replayed user messages and wrap long bar-list labels.

Upgrade notes

  • Bare brain sync no longer invokes an agent unconditionally. It prints the deterministic report and can finish without an agent runner; inspect its documented exit codes.
  • In this historical version a configured TypeSafe key can select Jev reranking by default. Version 0.40.0 changes model reranking to explicit opt-in.
  • Optional model judgments fall back conservatively when unavailable or below their confidence threshold.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.38.0 — Retrieval quality and deterministic upkeep

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
e1ce960

Originally published on npm: 2026-09-28 at 03:42:40 UTC.

Release milestone · npm package

Highlights

  • Index aliases as names and search matching sections through chunk-level full-text retrieval.
  • Expand context with source sections and neighbors while preserving token budgets; add bounded section reads and date filters.
  • Add retrieval/context evaluation, baselines, query linting and time-sensitive expectations.
  • Add deterministic hygiene logs, tag reports/migrations, canonical-fact audits and generated registry tables.
  • Preserve frontmatter formatting when changing selected fields and track superseded documents.
  • Add scratch output, media-before-commit decisions and incremental embedding/cache improvements.
  • Give Codex the synchronized agent contract and share core context assembly with pi.
  • Preview PDF, audio and video files inline and preserve structured answer blocks in shared exports.

Fixes

  • Improve multilingual search, lifecycle reranking, cache merges, vector compaction and database write-ahead-log bounds.
  • Pace scraper retries and validate redirects; repair jobs company parsing and category filtering.
  • Preserve Markdown content through classification and carry non-color cues into answer blocks.

Upgrade notes

  • Archiving marks missing/primary relevance as historical. Superseded documents remain searchable with a lower rank and explicit supersededBy provenance.
  • Search evaluation fixtures and ignored assets are excluded from ordinary indexing.
  • Extension interfaces remain experimental; use the published contract suites to validate implementations.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.37.0 — Corpus health and stronger permission posture

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
23cd5b4

Originally published on npm: 2026-09-23 at 17:33:44 UTC.

Release milestone · npm package

Highlights

  • Expand brain stats with corpus health and size figures.
  • Add job-page description enrichment, shared JSON-LD extraction and explicit per-board parse outcomes.
  • Add enforced tool allowlists, no-grant turns, edited-input rechecks and descriptive command approvals.
  • Expose observed Claude runtime identity and optional execution-wrapper integration.
  • Record approval channels and inference-route-aware cost attribution.

Fixes

  • Keep read-only database access from modifying vector state and normalize directory exclusion rules.
  • Repair job-board links, company/source refresh and concurrent rate pacing.
  • Improve wrapping, composer growth, conditional shortcut hints and sync/briefing stream termination.

Upgrade notes

  • brain stats --json now reports embeddings as number or null. Treat an unreadable vector table as unknown rather than zero.
  • The disposable index advances to schema 9.
  • Claude profiles without their own credential use subscription authentication or refuse the turn; an ambient API key is not silently substituted.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.36.0 — Design kit and structured answer blocks

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
@schlessera/brain@0.36.0
447992f

Originally published on npm: 2026-09-21 at 13:52:51 UTC.

Release milestone · npm package

Highlights

  • Introduce the presentational UI kit with shared tokens, light/dark themes and reusable chat, evidence and navigation components.
  • Expose data-only show_block tools on both backends and render their validated payloads inline.
  • Add optional answer classification and additive message_blocks protocol frames.
  • Adopt responsive desktop panes, the side rail, phone navigation and focus-scoped shortcuts.
  • Render location maps with coastline, land and road geometry.
  • Introduce isolated UI roots with independent stores, requests, registries and WebSocket lifetimes.

Fixes

  • Improve keyboard navigation, contrast, map projection and graph sizing.
  • Discard stale work when UI roots change and apply the theme consistently to canvas and Mermaid rendering.

Upgrade notes

  • Answer classification uses a configured TypeSafe API key; ordinary Markdown remains available without it.
  • Consumers embedding multiple UIs should use the root/provider APIs for instance-owned state and cleanup.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.35.0 — Revocable principals and reliable indexing

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
c6f7a6e

Originally published on npm: 2026-09-14 at 22:54:36 UTC.

Release milestone · npm package

Highlights

  • Introduce persistent owner and delegated-agent principals, individual revocation and attributed activity/approval records.
  • Add Devices & agents settings and expiring delegated credentials.
  • Bind push delivery to the authenticated principal.
  • Make embedding runs mutually exclusive, incremental and safe to interrupt; reuse unchanged graph work.

Fixes

  • Prevent archive/export overwrites, stale file/search results and overlapping UI sync jobs.
  • Preserve draft correlation, long session replay and recovery notifications.
  • Resolve wiki-links deterministically and bound embedding/search latency.

Upgrade notes

  • Replace epoch-cookie integrations with signed principal identities. isWsAuthorized returns a Principal or null; use revokeAllSessions instead of bumpSessionsEpoch.
  • Legacy push subscriptions remain inactive until re-registered after login.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.34.1 — View lifecycle and connection recovery

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:37
5329020

Originally published on npm: 2026-09-10 at 13:49:19 UTC.

Release milestone · npm package

Fixes

  • Discard stale run-detail, graph and note-search results after navigation.
  • Show explicit connection refusals, including capacity limits, with a retry action.
  • Split large dispatch and view modules while preserving behavior.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.34.0 — Self-describing backend modules

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:36
bdd6b29

Originally published on npm: 2026-09-10 at 00:27:17 UTC.

Release milestone · npm package

Highlights

  • Introduce backend module descriptors for profile, settings, billing, credential and discovery behavior.
  • Publish the backend contract harness and shared permission-decision operations.
  • Define browser bridge tools once in the SDK and validate image-mask paths.
  • Add lifecycle coverage for agent backends, session coordination, Activity and Graph.

Upgrade notes

  • Pass third-party backends by value through the application registry. A session naming an unknown backend now fails explicitly.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.

brain-kit 0.33.1 — Proxy origins and subprocess environment fixes

Choose a tag to compare

@schlessera schlessera released this 10 Oct 12:36
752b1c8

Originally published on npm: 2026-09-09 at 23:32:54 UTC.

Release milestone · npm package

Fixes

  • Accept browser origins when trusted proxies report WebSocket schemes.
  • Filter repository-owned child-process environments by audience while preserving required CLI/module settings and an explicit operator allowlist.

Upgrade notes

  • Pi extension and package-manager execution still inherits the server environment in this version; do not treat this patch as complete subprocess isolation.

Release record

Package changelogs

This historical entry was reconstructed from the existing tag, package changelogs and npm publication metadata. GitHub’s publication timestamp records the backfill; the original release date is stated above.