brainclaw 1.7.5 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +28 -11
  2. package/dist/brainclaw-vscode.vsix +0 -0
  3. package/dist/cli.js +139 -13
  4. package/dist/commands/add-step.js +1 -1
  5. package/dist/commands/bootstrap.js +2 -26
  6. package/dist/commands/check-security-mcp.js +50 -33
  7. package/dist/commands/check-security.js +86 -43
  8. package/dist/commands/claim.js +22 -21
  9. package/dist/commands/confirm.js +26 -0
  10. package/dist/commands/context-diff.js +1 -1
  11. package/dist/commands/dispatch-watch.js +142 -0
  12. package/dist/commands/doctor.js +113 -2
  13. package/dist/commands/estimation-report.js +115 -16
  14. package/dist/commands/harvest.js +502 -16
  15. package/dist/commands/init.js +123 -21
  16. package/dist/commands/loops-handlers.js +4 -0
  17. package/dist/commands/mcp-read-handlers.js +198 -29
  18. package/dist/commands/mcp.js +615 -92
  19. package/dist/commands/memory.js +21 -17
  20. package/dist/commands/migrate.js +81 -17
  21. package/dist/commands/prune.js +78 -4
  22. package/dist/commands/reflect.js +26 -20
  23. package/dist/commands/register-agent.js +57 -1
  24. package/dist/commands/repair.js +20 -0
  25. package/dist/commands/session-end.js +15 -6
  26. package/dist/commands/session-start.js +18 -1
  27. package/dist/commands/setup-security.js +39 -18
  28. package/dist/commands/setup.js +26 -27
  29. package/dist/commands/stale.js +16 -2
  30. package/dist/commands/uninstall.js +126 -34
  31. package/dist/commands/update-step.js +6 -0
  32. package/dist/commands/worktree.js +60 -0
  33. package/dist/core/actions.js +12 -3
  34. package/dist/core/agent-capability.js +11 -13
  35. package/dist/core/agent-files.js +844 -547
  36. package/dist/core/agent-integrations.js +0 -3
  37. package/dist/core/agent-inventory.js +67 -0
  38. package/dist/core/agent-registry.js +163 -29
  39. package/dist/core/agentrun-reconciler.js +33 -2
  40. package/dist/core/agentruns.js +7 -1
  41. package/dist/core/ai-agent-detection.js +31 -44
  42. package/dist/core/archival.js +15 -9
  43. package/dist/core/assignment-reconciler.js +56 -0
  44. package/dist/core/assignment-sweeper.js +127 -4
  45. package/dist/core/assignments.js +69 -11
  46. package/dist/core/bootstrap.js +233 -67
  47. package/dist/core/brainclaw-version.js +22 -0
  48. package/dist/core/candidates.js +21 -1
  49. package/dist/core/claims.js +313 -150
  50. package/dist/core/config.js +6 -1
  51. package/dist/core/context-diff.js +148 -20
  52. package/dist/core/context.js +129 -8
  53. package/dist/core/coordination.js +22 -3
  54. package/dist/core/dispatch-status.js +109 -5
  55. package/dist/core/dispatcher.js +65 -11
  56. package/dist/core/entity-operations.js +45 -24
  57. package/dist/core/entity-registry.js +31 -5
  58. package/dist/core/event-log.js +138 -21
  59. package/dist/core/events/checkpoint.js +258 -0
  60. package/dist/core/events/genesis.js +220 -0
  61. package/dist/core/events/journal.js +507 -0
  62. package/dist/core/events/materialize.js +126 -0
  63. package/dist/core/events/registry-post-image.js +110 -0
  64. package/dist/core/events/verify.js +109 -0
  65. package/dist/core/execution-adapters.js +23 -0
  66. package/dist/core/execution.js +25 -0
  67. package/dist/core/facade-schema.js +48 -0
  68. package/dist/core/gc-semantic.js +130 -5
  69. package/dist/core/handoff-snapshot.js +68 -0
  70. package/dist/core/ids.js +19 -8
  71. package/dist/core/instruction-templates.js +34 -115
  72. package/dist/core/io.js +39 -3
  73. package/dist/core/json-store.js +10 -1
  74. package/dist/core/lock.js +153 -28
  75. package/dist/core/loops/bootstrap-acquire.js +25 -1
  76. package/dist/core/loops/facade-schema.js +2 -0
  77. package/dist/core/loops/hooks/survey-signals-baseline.js +36 -0
  78. package/dist/core/loops/index.js +1 -0
  79. package/dist/core/loops/presets/bootstrap.js +7 -0
  80. package/dist/core/loops/store.js +17 -0
  81. package/dist/core/loops/verbs.js +24 -1
  82. package/dist/core/markdown.js +8 -76
  83. package/dist/core/mcp-command-resolution.js +245 -0
  84. package/dist/core/memory-compactor.js +5 -3
  85. package/dist/core/memory-lifecycle.js +282 -0
  86. package/dist/core/merge-risk.js +150 -0
  87. package/dist/core/messaging.js +8 -1
  88. package/dist/core/migration.js +11 -1
  89. package/dist/core/observer-mode.js +26 -0
  90. package/dist/core/operations/memory-mutation.js +90 -65
  91. package/dist/core/operations/plan.js +27 -1
  92. package/dist/core/protocol-skills.js +210 -0
  93. package/dist/core/reflection-safety.js +6 -7
  94. package/dist/core/reputation.js +84 -2
  95. package/dist/core/runtime-signals.js +71 -9
  96. package/dist/core/runtime.js +84 -1
  97. package/dist/core/schema.js +125 -0
  98. package/dist/core/security-detectors.js +125 -0
  99. package/dist/core/security-extract.js +189 -0
  100. package/dist/core/security-guard.js +107 -29
  101. package/dist/core/security-packages.js +121 -0
  102. package/dist/core/security-scoring.js +76 -9
  103. package/dist/core/security.js +34 -2
  104. package/dist/core/sequence.js +11 -2
  105. package/dist/core/setup-flow.js +141 -13
  106. package/dist/core/spawn-check.js +110 -4
  107. package/dist/core/staleness.js +109 -1
  108. package/dist/core/state.js +250 -54
  109. package/dist/core/store-resolution.js +19 -5
  110. package/dist/core/worktree.js +169 -7
  111. package/dist/facts.js +8 -8
  112. package/dist/facts.json +7 -7
  113. package/docs/PROTOCOL.md +223 -0
  114. package/docs/cli.md +11 -10
  115. package/docs/concepts/coordinator-runbook.md +129 -0
  116. package/docs/concepts/dispatch-lifecycle.md +17 -0
  117. package/docs/concepts/event-log-store-critique-A.md +333 -0
  118. package/docs/concepts/event-log-store-critique-B.md +353 -0
  119. package/docs/concepts/event-log-store-phase0-measurements.md +58 -0
  120. package/docs/concepts/event-log-store-proposal-A.md +365 -0
  121. package/docs/concepts/event-log-store-proposal-B.md +404 -0
  122. package/docs/concepts/event-log-store.md +928 -0
  123. package/docs/concepts/identity-model-proposal.md +371 -0
  124. package/docs/concepts/memory.md +5 -4
  125. package/docs/concepts/observer-protocol.md +361 -0
  126. package/docs/concepts/parallel-merge-protocol.md +71 -0
  127. package/docs/concepts/plans-and-claims.md +43 -0
  128. package/docs/concepts/skills.md +78 -0
  129. package/docs/concepts/workspace-bootstrapping.md +61 -0
  130. package/docs/integrations/agents.md +4 -4
  131. package/docs/integrations/cline.md +10 -11
  132. package/docs/integrations/codex.md +2 -2
  133. package/docs/integrations/continue.md +5 -5
  134. package/docs/integrations/copilot.md +14 -12
  135. package/docs/integrations/openclaw.md +7 -6
  136. package/docs/integrations/overview.md +7 -7
  137. package/docs/integrations/roo.md +3 -3
  138. package/docs/integrations/windsurf.md +6 -6
  139. package/docs/mcp-schema-changelog.md +51 -20
  140. package/docs/quickstart.md +48 -47
  141. package/docs/security.md +174 -15
  142. package/docs/storage.md +4 -2
  143. package/package.json +8 -6
@@ -1,6 +1,6 @@
1
1
  # Cline Integration
2
2
 
3
- brainclaw integrates with Cline through MCP tools, instruction rules, and lifecycle hooks. Cline is a Tier A agent full MCP access, hooks, auto-approve support, skills, and CLI spawn capability for parallel lanes.
3
+ brainclaw integrates with Cline through MCP tools, instruction rules, auto-approval, and CLI spawn capability for parallel lanes. Cline does not currently expose a Brainclaw-managed lifecycle hook surface.
4
4
 
5
5
  ## Auto-setup
6
6
 
@@ -51,9 +51,9 @@ Cline supports per-server `alwaysAllow` for auto-approving specific tools:
51
51
  - `.clinerules/live.md` — optional local live companion with current plans, claims, traps, candidates, and handoffs. Write it with `brainclaw export --format cline --write --include-live`; it remains gitignored.
52
52
  - Static content stays behavioural and lightweight. By default, live state flows through MCP; the live companion is an optional parity/backstop file.
53
53
 
54
- ## SKILL.md discovery
55
-
56
- Cline auto-discovers skills from `.clinerules/`, `.claude/skills/`, and `.agents/skills/`. brainclaw writes a single `.agents/skills/brainclaw/SKILL.md` that Cline picks up automatically.
54
+ ## SKILL.md discovery
55
+
56
+ Cline may discover skills from agent-specific directories depending on the installed extension/version. Brainclaw's current Cline writer configures MCP and `.clinerules/brainclaw.md`; it does not write a Cline-specific SKILL.md.
57
57
 
58
58
  ## Headless invocation
59
59
 
@@ -69,11 +69,11 @@ The `-y` flag (YOLO mode) disables interactive approval prompts so the spawned w
69
69
 
70
70
  | Field | Value |
71
71
  |-------|-------|
72
- | Tier | A |
73
- | MCP | yes |
74
- | Hooks | yes |
75
- | Auto-approve | yes (`alwaysAllow` per server, `-y` per session) |
76
- | Skills | yes |
72
+ | Tier | A |
73
+ | MCP | yes |
74
+ | Hooks | no |
75
+ | Auto-approve | yes (`alwaysAllow` per server, `-y` per session) |
76
+ | Skills | no Brainclaw-specific writer |
77
77
  | CLI spawnable | yes |
78
78
  | Max concurrent tasks | 3 |
79
79
  | Workflow model | interactive |
@@ -82,7 +82,6 @@ The `-y` flag (YOLO mode) disables interactive approval prompts so the spawned w
82
82
 
83
83
  ## Caveats
84
84
 
85
- - **Hook support varies by platform**: Cline hooks are reliable on macOS/Linux but the Windows path is less exercised. brainclaw generates hooks that gracefully degrade when the runtime doesn't honour them — the templateTier stays A regardless.
86
- - **Cline / Roo / Kilocode family**: Cline shares its config-pattern lineage with Roo Code and Kilocode. The directory names differ (`.clinerules/` vs `.roo/rules/` vs `.kilo/rules/`) but the auto-discovery model is the same.
85
+ - **Cline / Roo / Kilocode family**: Cline shares its config-pattern lineage with Roo Code and Kilocode. The directory names differ (`.clinerules/` vs `.roo/rules/` vs `.kilo/rules/`) but the auto-discovery model is the same.
87
86
  - **Project-scoped MCP**: unlike machine-scoped agents (Cursor, Windsurf), Cline's MCP config lives in the repo. Each repo gets its own brainclaw registration.
88
87
  - **Long prompts**: inline arg supports up to 8000 chars before falling back to inbox-structured delivery. Briefs longer than that should arrive via inbox.
@@ -1,6 +1,6 @@
1
1
  # Codex Integration
2
2
 
3
- brainclaw integrates with OpenAI's Codex CLI through MCP tools and shared instruction files. Codex is a Tier A agent — full MCP access, lifecycle hooks, skills support, and headless CLI spawn capability.
3
+ brainclaw integrates with OpenAI's Codex CLI through MCP tools and shared instruction files. Codex has MCP access, universal skills support, and headless CLI spawn capability, but no native lifecycle hook surface.
4
4
 
5
5
  ## Auto-setup
6
6
 
@@ -61,7 +61,7 @@ Since pln#476 (1.0.13+), spawned Codex workers are marked `delivered_and_started
61
61
  |-------|-------|
62
62
  | Tier | A |
63
63
  | MCP | yes |
64
- | Hooks | yes |
64
+ | Hooks | no |
65
65
  | Auto-approve | manual (per-tool approval) |
66
66
  | Skills | yes |
67
67
  | CLI spawnable | yes |
@@ -6,9 +6,9 @@ brainclaw integrates with Continue through MCP tools and project-scoped rules, g
6
6
 
7
7
  `brainclaw init` detects Continue and writes `.continue/rules/brainclaw.md` automatically. Or manually:
8
8
 
9
- ```bash
10
- brainclaw export --format continue-rules --write
11
- ```
9
+ ```bash
10
+ brainclaw export --format continue --write
11
+ ```
12
12
 
13
13
  ## MCP configuration
14
14
 
@@ -32,7 +32,7 @@ Per-server YAML configs are also supported in `.continue/mcpServers/*.yaml`.
32
32
 
33
33
  Continue uses a separate permissions file at `~/.continue/permissions.yaml`. Tool-level control uses `--allow`, `--ask`, and `--exclude` flags on the CLI.
34
34
 
35
- brainclaw does not yet emit `permissions.yaml` automatically configure manually if running headless.
35
+ `brainclaw setup-machine` writes `~/.continue/permissions.yaml` when Continue is selected. Configure it manually only if you need stricter local policy than Brainclaw's generated defaults.
36
36
 
37
37
  ## SKILL.md discovery
38
38
 
@@ -55,6 +55,6 @@ cn /path/to/project
55
55
  ## Caveats
56
56
 
57
57
  - **No hooks**: Continue delegates hook-like behavior to VS Code extensions. No native pre-prompt injection.
58
- - **No auto-approve writer**: brainclaw does not emit `permissions.yaml` yet tool approval must be configured manually.
58
+ - **Permissions are machine-local**: Brainclaw can write `~/.continue/permissions.yaml`, but it is not committed with the project.
59
59
  - **No native subagents**: Continue does not expose subagent orchestration.
60
60
  - **Windows**: Works via VS Code extension; CLI (`cn`) requires Node.js on PATH.
@@ -4,10 +4,12 @@ brainclaw integrates with GitHub Copilot through MCP tools, instruction files, a
4
4
 
5
5
  ## Auto-setup
6
6
 
7
- `brainclaw init` detects Copilot (`gh copilot` or `copilot` CLI installed) and writes:
8
-
9
- - `.github/copilot-instructions.md` — instruction file Copilot reads automatically on each prompt
10
- - MCP registration at `~/.copilot/mcp-config.json` (machine-level fallback) and/or project-level `.github/copilot/mcp-config.json`
7
+ `brainclaw init` detects Copilot (`gh copilot` or `copilot` CLI installed) and writes:
8
+
9
+ - `.github/copilot-instructions.md` — instruction file Copilot reads automatically on each prompt
10
+ - `.vscode/settings.json` and `.vscode/mcp.json` — project-level MCP registration used by VS Code/Copilot surfaces
11
+ - `.github/copilot/hooks.json` — session lifecycle hooks where supported
12
+ - `.github/skills/brainclaw-context/SKILL.md` and `.agents/skills/brainclaw/SKILL.md` — Copilot and cross-agent skill discovery
11
13
 
12
14
  Manual regeneration:
13
15
 
@@ -18,14 +20,14 @@ brainclaw export --format copilot-instructions --write --include-live
18
20
 
19
21
  ## MCP configuration
20
22
 
21
- Copilot reads MCP servers from `~/.copilot/mcp-config.json`:
22
-
23
- ```json
24
- {
25
- "mcpServers": {
26
- "brainclaw": {
27
- "command": "npx",
28
- "args": ["-y", "brainclaw@latest", "mcp"]
23
+ VS Code/Copilot reads project MCP configuration from `.vscode/settings.json` and `.vscode/mcp.json`:
24
+
25
+ ```json
26
+ {
27
+ "servers": {
28
+ "brainclaw": {
29
+ "command": "npx",
30
+ "args": ["-y", "brainclaw@latest", "mcp"]
29
31
  }
30
32
  }
31
33
  }
@@ -38,12 +38,13 @@ brainclaw enable-agent openclaw
38
38
 
39
39
  This copies the brainclaw skill to `~/.openclaw/workspace/skills/brainclaw/`.
40
40
 
41
- Or manually:
42
-
43
- ```bash
44
- mkdir -p ~/.openclaw/workspace/skills/brainclaw
45
- cp "$(npm root -g)/brainclaw/skills/openclaw/SKILL.md" ~/.openclaw/workspace/skills/brainclaw/
46
- ```
41
+ Or manually:
42
+
43
+ ```bash
44
+ brainclaw export --format openclaw --output /tmp/brainclaw-openclaw-skill.md
45
+ mkdir -p ~/.openclaw/workspace/skills/brainclaw
46
+ cp /tmp/brainclaw-openclaw-skill.md ~/.openclaw/workspace/skills/brainclaw/SKILL.md
47
+ ```
47
48
 
48
49
  ### Initialize a project
49
50
 
@@ -71,16 +71,16 @@ The agent cannot call brainclaw tools at all. The instruction file or SKILL.md b
71
71
  | Agent | MCP | Instruction file | Hooks | Auto-approve | Skills |
72
72
  |---|---|---|---|---|---|
73
73
  | **Claude Code** | ✔ project + global | CLAUDE.md | ✔ pre-prompt + stop | ✔ permissions | ✔ /brainclaw |
74
- | **Cursor** | ✔ global | .cursor/rules/ + MDC | alwaysApply MDC | — | |
75
- | **Windsurf** | ✔ global | .windsurfrules | session trigger | | — |
74
+ | **Cursor** | ✔ global | .cursor/rules/ + MDC | workspace hooks | — | universal skills |
75
+ | **Windsurf** | ✔ global | .windsurfrules + .windsurf/rules/ | | alwaysAllow | — |
76
76
  | **Cline** | ✔ project | .clinerules/ | — | ✔ autoApprove | — |
77
77
  | **Roo** | ✔ project | .roo/rules/ | — | ✔ alwaysAllow | — |
78
- | **Continue** | ✔ both | .continue/rules/ | — | | — |
79
- | **Kilocode** | ✔ both | .kilo/rules/ + AGENTS.md | — | ✔ alwaysAllow | |
80
- | **OpenCode** | ✔ project | AGENTS.md | — | — | |
81
- | **Codex** | ✔ global | AGENTS.md | — | — | |
78
+ | **Continue** | ✔ both | .continue/rules/ | — | permissions.yaml | — |
79
+ | **Kilocode** | ✔ both | .kilo/rules/ + AGENTS.md | — | ✔ alwaysAllow | universal skills |
80
+ | **OpenCode** | ✔ project | AGENTS.md | — | — | universal skills |
81
+ | **Codex** | ✔ global | AGENTS.md | — | — | universal skills |
82
82
  | **Gemini CLI** | ✔ global | GEMINI.md | — | — | — |
83
- | **GitHub Copilot** | ✔ global + project | .github/copilot-instructions.md | | manual (per-call) | ✔ brainclaw-context |
83
+ | **GitHub Copilot** | ✔ project | .github/copilot-instructions.md | workspace hooks | manual (per-call) | ✔ brainclaw-context + universal skills |
84
84
  | **Mistral Vibe** | ✔ project + user (TOML) | AGENTS.md | — | `--auto-approve` flag | ✔ universal skill |
85
85
  | **Hermes** | ✔ global (YAML) | AGENTS.md | — | — | ✔ universal skill |
86
86
  | **OpenClaw** | — | — | — | — | ✔ brainclaw skill |
@@ -6,9 +6,9 @@ brainclaw integrates with Roo through MCP tools and project-scoped rules, provid
6
6
 
7
7
  `brainclaw init` detects Roo and writes `.roo/rules/brainclaw.md` automatically. Or manually:
8
8
 
9
- ```bash
10
- brainclaw export --format roo-rules --write
11
- ```
9
+ ```bash
10
+ brainclaw export --format roo --write
11
+ ```
12
12
 
13
13
  ## MCP configuration
14
14
 
@@ -6,9 +6,9 @@ brainclaw integrates with Windsurf through MCP tools and instruction rules, prov
6
6
 
7
7
  `brainclaw init` detects Windsurf and writes `.windsurfrules` automatically. Or manually:
8
8
 
9
- ```bash
10
- brainclaw export --format windsurfrules --write
11
- ```
9
+ ```bash
10
+ brainclaw export --format windsurf --write
11
+ ```
12
12
 
13
13
  ## MCP configuration
14
14
 
@@ -49,14 +49,14 @@ Windsurf supports `alwaysAllow` as an array on each MCP server entry:
49
49
  }
50
50
  ```
51
51
 
52
- brainclaw does not yet emit `alwaysAllow` for Windsurf automatically.
52
+ `brainclaw setup-machine` emits the Windsurf MCP config with `alwaysAllow` for the Brainclaw tool surface.
53
53
 
54
54
  ## Instruction files
55
55
 
56
56
  - `.windsurf/rules/*.md` — modern format (recommended), multiple rule files
57
57
  - `.windsurfrules` — legacy single-file format (still supported)
58
58
 
59
- brainclaw currently emits the legacy format. Modern `.windsurf/rules/` support is planned.
59
+ `brainclaw export --format windsurf --write` writes the legacy `.windsurfrules` instruction file. Project setup also writes `.windsurf/rules/brainclaw.md` when Windsurf is selected, so modern rule discovery is covered.
60
60
 
61
61
  ## SKILL.md discovery
62
62
 
@@ -77,7 +77,7 @@ Windsurf does not offer a headless CLI. It runs as a Docker-based environment
77
77
 
78
78
  - **Machine-scoped MCP**: The config at `~/.codeium/windsurf/mcp_config.json` is global, not per-project. All projects share the same server list.
79
79
  - **No hooks**: Cascade Hooks exist but are limited to logging — no pre-prompt injection.
80
- - **Legacy format**: brainclaw currently writes `.windsurfrules` (single file). Modern `.windsurf/rules/` multi-file support is planned (P5).
80
+ - **Two rule paths**: `.windsurfrules` remains the portable export target; `.windsurf/rules/brainclaw.md` is written during project setup for modern Windsurf rule discovery.
81
81
  - **No headless**: Cannot be used as a brainclaw dispatch target.
82
82
  - **Plan Mode**: Windsurf's "megaplan" mode is separate from brainclaw plans — they don't conflict but don't interoperate.
83
83
  - **Windows/Linux**: Works on all platforms via the Windsurf IDE.
@@ -10,6 +10,17 @@ guarantees this changelog follows.
10
10
 
11
11
  ## Unreleased
12
12
 
13
+ **Changed — agent-UX read-path surface (pln#542)**
14
+ - `bclaw_work`, `bclaw_context`, `bclaw_find`, `bclaw_get`, `bclaw_search`
15
+ gain an optional `budget_tokens` argument (relevance-ranked fill).
16
+ - `bclaw_work` compact payload now includes a trimmed `context_diff`
17
+ (event-cursor sourced, all intents) and facade responses carry
18
+ `next_actions` affordances.
19
+ - `bclaw_quick_capture` gains an optional caller-asserted `type` argument;
20
+ contradiction detection is advisory metadata (no longer blocks promotion).
21
+ - No tool was removed or renamed; no required argument changed.
22
+ - MCP public surface fingerprint: `sha256:eaa8865070b10401`
23
+
13
24
  **Changed — JSON Schema generation shift (pln#486, zod 4 migration)**
14
25
  - Migration from zod 3.24 → 4.3.6 changes the introspection output that
15
26
  feeds `tools/list`. Schemas are semantically equivalent but the emitted
@@ -19,7 +30,7 @@ guarantees this changelog follows.
19
30
  to `sha256:860fbaa30a486093` (zod 4). No tool was added, removed,
20
31
  renamed, or had its required arguments change.
21
32
 
22
- **Changed — `bclaw_loop(intent: 'open')` anti-pattern gate (pln#461)**
33
+ **Changed — `bclaw_loop(intent: 'open')` anti-pattern gate (pln#461)**
23
34
  - New optional field `allow_orphan: boolean` on `BclawLoopOpenSchema`.
24
35
  - Default (absent / `false`) — handler rejects with `validation_error`
25
36
  and points to `bclaw_coordinate(intent: 'review', open_loop: true)`
@@ -28,20 +39,20 @@ guarantees this changelog follows.
28
39
  out in `CLAUDE.md`.
29
40
  - `allow_orphan: true` — explicit acknowledgement that the caller
30
41
  will drive `turn()` + dispatch manually (advanced / test use only).
31
- - Internal callers (`bclaw_coordinate`, `bclaw_dispatch`) are not
32
- affected — they bypass `handleBclawLoop` and invoke the core
33
- `openLoop()` directly.
34
-
35
- **Changed — sequence tools promoted to default discovery (pln#522)**
36
- - `bclaw_list_sequences`, `bclaw_create_sequence`,
37
- `bclaw_update_sequence`, and `bclaw_delete_sequence` move from
38
- `advanced` to `standard`, so fresh agents see them in the default
39
- `tools/list` catalog. Sequences are a core agent-first coordination
40
- primitive for parallel dispatch, not an advanced-only admin surface.
41
- - `bclaw_create_sequence.items` and `bclaw_update_sequence.items` now
42
- expose the full item shape in JSON Schema: `planId`, optional
43
- `stepId`, `rank`, `hard_after`, `soft_after`, `lane`, `scope_hint`,
44
- and `rationale`.
42
+ - Internal callers (`bclaw_coordinate`, `bclaw_dispatch`) are not
43
+ affected — they bypass `handleBclawLoop` and invoke the core
44
+ `openLoop()` directly.
45
+
46
+ **Changed — sequence tools promoted to default discovery (pln#522)**
47
+ - `bclaw_list_sequences`, `bclaw_create_sequence`,
48
+ `bclaw_update_sequence`, and `bclaw_delete_sequence` move from
49
+ `advanced` to `standard`, so fresh agents see them in the default
50
+ `tools/list` catalog. Sequences are a core agent-first coordination
51
+ primitive for parallel dispatch, not an advanced-only admin surface.
52
+ - `bclaw_create_sequence.items` and `bclaw_update_sequence.items` now
53
+ expose the full item shape in JSON Schema: `planId`, optional
54
+ `stepId`, `rank`, `hard_after`, `soft_after`, `lane`, `scope_hint`,
55
+ and `rationale`.
45
56
 
46
57
  ---
47
58
 
@@ -93,11 +104,31 @@ will still succeed. A follow-up PR will strip the dead handler code.
93
104
  changelog records the published MCP surface fingerprint. When a tool
94
105
  name, tier, category, or input schema changes, the test fails until
95
106
  this section is updated.
96
- - MCP public surface fingerprint: `sha256:a1881ff57ddce377`
97
- (updated 2026-05-27: added the `ref` property to the bclaw_coordinate
98
- inputSchema pln#520 Tier 2 / trp#371, the scope-aware dirty guard;
99
- `ref` lets a dispatch build its worktree from an explicit git ref.
100
- Prior value `sha256:0a4ba280aeff142b` exposed `allow_dirty` in the
107
+ - MCP public surface fingerprint: `sha256:b1d3c6a00a224509`
108
+ (updated 2026-06-14: journal ON by default + `migrate --enable-journal`,
109
+ registry post-image families + verify gate, and capped auto-handoff diff
110
+ preview on `bclaw_get`; pln#567/#568/#569.
111
+ Previous: `sha256:21fa9544977a3754`,
112
+ updated 2026-06-11b: observability surfaces — composite
113
+ `attention_required` in board_summary, observer-mode read flags,
114
+ `bootstrap_verdict` in FacadeResponse; pln#557/#558/#559.
115
+ Previous: `sha256:8f86d3998f8a24e3`,
116
+ updated 2026-06-11: uninitialized setup mode — the server now boots with
117
+ a minimal catalog on a missing project store instead of exit(1), and the
118
+ empty-memory decision rule is surfaced in setup/work hints; pln#556.
119
+ Previous: `sha256:eaa8865070b10401`,
120
+ updated 2026-06-10: agent-UX read-path surface — `budget_tokens` on the
121
+ read tools, `context_diff`/`next_actions` in facade payloads,
122
+ caller-asserted `type` on quick_capture; see the Unreleased entry, pln#542.
123
+ Previous: `sha256:333be7c3cda7e166`,
124
+ updated 2026-06-09: added the `preflight` boolean to the bclaw_coordinate
125
+ inputSchema — pln#533, the pre-flight spawn validation for open_loop reviews
126
+ (run one trivial validation spawn per reviewer before opening the loop so an
127
+ environment death surfaces with a clear reason instead of a generic timeout).
128
+ Prior value `sha256:a1881ff57ddce377` added the `ref` property to the
129
+ bclaw_coordinate inputSchema (2026-05-27, pln#520 Tier 2 / trp#371, the
130
+ scope-aware dirty guard; `ref` lets a dispatch build its worktree from an
131
+ explicit git ref). `sha256:0a4ba280aeff142b` exposed `allow_dirty` in the
101
132
  bclaw_coordinate inputSchema. `sha256:e88c1a97fc29cfd1` came from the
102
133
  pln#520 LoopPhase/LoopSlotInput schema resync, which itself reconciled
103
134
  earlier unrecorded drift from `sha256:724085642dc3e2d7`.)
@@ -6,46 +6,46 @@ Get brainclaw running in your project in under 5 minutes.
6
6
 
7
7
  If you're about to cut a release that changes the CLI, MCP, or context surface, run the checklist in [release-maintenance.md](release-maintenance.md) before publishing a local pack or npm build.
8
8
 
9
- ## Step 1: Install
10
-
11
- ```bash
12
- npm install -g brainclaw
13
- ```
14
-
15
- Requires Node.js 20+. Verify with `brainclaw --version`.
16
-
17
- ## Step 2: Bootstrap this machine
18
-
19
- ```bash
20
- brainclaw setup-machine --yes
21
- ```
22
-
23
- This configures the agents Brainclaw can see on the current machine and writes the machine-level MCP/user files it manages. It does **not** initialize the current repository yet.
24
-
25
- ## Step 3: Initialize or refresh your project
26
-
27
- ```bash
28
- cd your-project
29
- brainclaw init
30
- ```
31
-
32
- **What happens:**
33
- - Creates `.brainclaw/` when the project is new, or refreshes it safely when it already exists
34
- - Detects your coding agent (Claude Code, Codex, Cursor, Copilot, Cline, Mistral Vibe, etc.)
35
- - Refreshes the detected agent's project and machine integration files when applicable
36
- - Writes instruction files (`CLAUDE.md`, `AGENTS.md`, `.cursor/rules/brainclaw.md`, etc.)
37
- - Installs session hooks (if supported by your agent)
38
- - Adds `.brainclaw/` to `.gitignore`
39
-
40
- If you want the explicit path for a second or late-arriving agent on an already initialized project, use:
41
-
42
- ```bash
43
- brainclaw enable-agent <agent-name>
44
- ```
45
-
46
- If you have multiple repos, use `brainclaw setup --yes` instead — it bootstraps the machine, scans your project directories, and initializes everything at once.
47
-
48
- ## Step 4: Restart your agent
9
+ ## Step 1: Install
10
+
11
+ ```bash
12
+ npm install -g brainclaw
13
+ ```
14
+
15
+ Requires Node.js 20+ (`engines.node = ">=20.0.0"`). CI exercises Node 22 (Active LTS) and Node 24 (current LTS) — Node 22 or 24 is the recommended runtime; Node 20 still installs but is no longer CI-verified since its April 2026 EOL. Verify with `brainclaw --version`.
16
+
17
+ ## Step 2: Bootstrap this machine
18
+
19
+ ```bash
20
+ brainclaw setup-machine --yes
21
+ ```
22
+
23
+ This configures the agents Brainclaw can see on the current machine and writes the machine-level MCP/user files it manages. It does **not** initialize the current repository yet.
24
+
25
+ ## Step 3: Initialize or refresh your project
26
+
27
+ ```bash
28
+ cd your-project
29
+ brainclaw init
30
+ ```
31
+
32
+ **What happens:**
33
+ - Creates `.brainclaw/` when the project is new, or refreshes it safely when it already exists
34
+ - Detects your coding agent (Claude Code, Codex, Cursor, Copilot, Cline, Mistral Vibe, etc.)
35
+ - Refreshes the detected agent's project and machine integration files when applicable
36
+ - Writes instruction files (`CLAUDE.md`, `AGENTS.md`, `.cursor/rules/brainclaw.md`, etc.)
37
+ - Installs session hooks (if supported by your agent)
38
+ - Adds `.brainclaw/` to `.gitignore`
39
+
40
+ If you want the explicit path for a second or late-arriving agent on an already initialized project, use:
41
+
42
+ ```bash
43
+ brainclaw enable-agent <agent-name>
44
+ ```
45
+
46
+ If you have multiple repos, use `brainclaw setup --yes` instead — it bootstraps the machine, scans your project directories, and initializes everything at once.
47
+
48
+ ## Step 4: Restart your agent
49
49
 
50
50
  Your coding agent needs to reload to pick up the new MCP configuration.
51
51
 
@@ -58,7 +58,7 @@ Your coding agent needs to reload to pick up the new MCP configuration.
58
58
  | **Windsurf** | Reload the editor |
59
59
  | **Copilot** | Reload VS Code window (uses instruction file, not MCP) |
60
60
 
61
- ## Step 5: Verify it works
61
+ ## Step 5: Verify it works
62
62
 
63
63
  After reloading, tell your agent:
64
64
 
@@ -76,7 +76,7 @@ brainclaw agent-board # what each agent sees
76
76
  brainclaw context # current project memory
77
77
  ```
78
78
 
79
- ## Step 6: Start using brainclaw
79
+ ## Step 6: Start using brainclaw
80
80
 
81
81
  ### For agents with MCP (most agents)
82
82
 
@@ -109,11 +109,12 @@ The CLI is for inspection, scripting, and fallback:
109
109
 
110
110
  ```bash
111
111
  brainclaw plan create "Implement auth module" --priority high
112
- brainclaw plan list
113
- brainclaw claim list
114
- brainclaw context --for src/auth/routes.ts
115
- brainclaw export --detect --write # regenerate all instruction files
116
- ```
112
+ brainclaw plan list
113
+ brainclaw claim list
114
+ brainclaw context --for src/auth/routes.ts
115
+ brainclaw export --detect --write # regenerate the detected agent instruction file
116
+ brainclaw export --all # regenerate all known instruction files
117
+ ```
117
118
 
118
119
  ## Onboarding an existing project
119
120