brainclaw 1.8.0 → 1.9.1

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 (178) hide show
  1. package/README.md +592 -505
  2. package/dist/brainclaw-vscode.vsix +0 -0
  3. package/dist/cli.js +138 -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 +286 -23
  15. package/dist/commands/hooks.js +73 -73
  16. package/dist/commands/init.js +124 -22
  17. package/dist/commands/install-hooks.js +78 -78
  18. package/dist/commands/loops-handlers.js +4 -0
  19. package/dist/commands/mcp-read-handlers.js +253 -41
  20. package/dist/commands/mcp.js +664 -102
  21. package/dist/commands/memory.js +21 -17
  22. package/dist/commands/migrate.js +81 -17
  23. package/dist/commands/prune.js +78 -4
  24. package/dist/commands/reflect.js +26 -20
  25. package/dist/commands/register-agent.js +57 -1
  26. package/dist/commands/repair.js +20 -0
  27. package/dist/commands/session-end.js +15 -6
  28. package/dist/commands/session-start.js +18 -1
  29. package/dist/commands/setup-security.js +39 -18
  30. package/dist/commands/setup.js +26 -27
  31. package/dist/commands/stale.js +16 -2
  32. package/dist/commands/switch.js +26 -5
  33. package/dist/commands/uninstall.js +126 -34
  34. package/dist/commands/update-step.js +6 -0
  35. package/dist/commands/version.js +1 -1
  36. package/dist/commands/worktree.js +60 -0
  37. package/dist/core/actions.js +12 -3
  38. package/dist/core/agent-capability.js +30 -17
  39. package/dist/core/agent-files.js +963 -666
  40. package/dist/core/agent-integrations.js +0 -3
  41. package/dist/core/agent-inventory.js +67 -0
  42. package/dist/core/agent-registry.js +163 -29
  43. package/dist/core/agentrun-reconciler.js +33 -2
  44. package/dist/core/agentruns.js +7 -1
  45. package/dist/core/ai-agent-detection.js +31 -44
  46. package/dist/core/archival.js +15 -9
  47. package/dist/core/assignment-reconciler.js +56 -0
  48. package/dist/core/assignment-sweeper.js +127 -4
  49. package/dist/core/assignments.js +69 -11
  50. package/dist/core/bootstrap.js +233 -67
  51. package/dist/core/brainclaw-version.js +22 -0
  52. package/dist/core/candidates.js +21 -1
  53. package/dist/core/claims.js +313 -150
  54. package/dist/core/codev-prompts.js +38 -38
  55. package/dist/core/config.js +6 -1
  56. package/dist/core/context-diff.js +148 -20
  57. package/dist/core/context.js +129 -8
  58. package/dist/core/coordination.js +22 -3
  59. package/dist/core/default-profiles/doctor.yaml +11 -11
  60. package/dist/core/default-profiles/janitor.yaml +11 -11
  61. package/dist/core/default-profiles/onboarder.yaml +11 -11
  62. package/dist/core/default-profiles/reviewer.yaml +13 -13
  63. package/dist/core/dispatch-status.js +79 -5
  64. package/dist/core/dispatcher.js +65 -12
  65. package/dist/core/entity-operations.js +74 -27
  66. package/dist/core/entity-registry.js +31 -5
  67. package/dist/core/event-log.js +138 -21
  68. package/dist/core/events/checkpoint.js +258 -0
  69. package/dist/core/events/genesis.js +220 -0
  70. package/dist/core/events/journal.js +507 -0
  71. package/dist/core/events/materialize.js +126 -0
  72. package/dist/core/events/registry-post-image.js +110 -0
  73. package/dist/core/events/verify.js +109 -0
  74. package/dist/core/execution-adapters.js +23 -0
  75. package/dist/core/execution.js +1 -1
  76. package/dist/core/facade-schema.js +38 -0
  77. package/dist/core/gc-semantic.js +130 -5
  78. package/dist/core/handoff-snapshot.js +68 -0
  79. package/dist/core/ids.js +19 -8
  80. package/dist/core/instruction-templates.js +34 -115
  81. package/dist/core/io.js +39 -3
  82. package/dist/core/json-store.js +10 -1
  83. package/dist/core/lock.js +153 -28
  84. package/dist/core/loops/bootstrap-acquire.js +25 -1
  85. package/dist/core/loops/facade-schema.js +2 -0
  86. package/dist/core/loops/hooks/survey-signals-baseline.js +36 -0
  87. package/dist/core/loops/index.js +1 -0
  88. package/dist/core/loops/presets/bootstrap.js +7 -0
  89. package/dist/core/loops/store.js +17 -0
  90. package/dist/core/loops/verbs.js +24 -2
  91. package/dist/core/markdown.js +8 -76
  92. package/dist/core/mcp-command-resolution.js +245 -0
  93. package/dist/core/memory-compactor.js +5 -3
  94. package/dist/core/memory-lifecycle.js +282 -0
  95. package/dist/core/merge-risk.js +150 -0
  96. package/dist/core/messaging.js +10 -3
  97. package/dist/core/migration.js +11 -1
  98. package/dist/core/observer-mode.js +26 -0
  99. package/dist/core/operations/memory-mutation.js +90 -65
  100. package/dist/core/operations/plan.js +27 -1
  101. package/dist/core/protocol-skills.js +210 -0
  102. package/dist/core/reflection-safety.js +6 -7
  103. package/dist/core/reputation.js +84 -2
  104. package/dist/core/runtime-signals.js +72 -10
  105. package/dist/core/runtime.js +84 -1
  106. package/dist/core/schema.js +114 -0
  107. package/dist/core/search.js +19 -2
  108. package/dist/core/security-detectors.js +125 -0
  109. package/dist/core/security-extract.js +189 -0
  110. package/dist/core/security-guard.js +217 -139
  111. package/dist/core/security-packages.js +121 -0
  112. package/dist/core/security-scoring.js +76 -9
  113. package/dist/core/security.js +34 -2
  114. package/dist/core/sequence.js +11 -2
  115. package/dist/core/setup-flow.js +141 -13
  116. package/dist/core/spawn-check.js +16 -2
  117. package/dist/core/staleness.js +73 -2
  118. package/dist/core/state.js +250 -54
  119. package/dist/core/store-resolution.js +45 -12
  120. package/dist/core/worktree.js +90 -26
  121. package/dist/facts.js +8 -8
  122. package/dist/facts.json +7 -7
  123. package/docs/PROTOCOL.md +223 -0
  124. package/docs/adapters/openclaw.md +43 -43
  125. package/docs/architecture/project-refs.md +328 -328
  126. package/docs/cli.md +2097 -2096
  127. package/docs/concepts/coordination.md +52 -52
  128. package/docs/concepts/coordinator-runbook.md +129 -0
  129. package/docs/concepts/dispatch-lifecycle.md +245 -245
  130. package/docs/concepts/event-log-store.md +928 -0
  131. package/docs/concepts/ideation-loop.md +317 -317
  132. package/docs/concepts/loop-engine.md +520 -511
  133. package/docs/concepts/mcp-governance.md +268 -268
  134. package/docs/concepts/memory.md +89 -88
  135. package/docs/concepts/multi-agent-workflows.md +167 -167
  136. package/docs/concepts/observer-protocol.md +361 -0
  137. package/docs/concepts/parallel-merge-protocol.md +71 -0
  138. package/docs/concepts/plans-and-claims.md +217 -174
  139. package/docs/concepts/project-md-convention.md +35 -35
  140. package/docs/concepts/runtime-notes.md +38 -38
  141. package/docs/concepts/skills.md +78 -0
  142. package/docs/concepts/troubleshooting.md +254 -254
  143. package/docs/concepts/workspace-bootstrapping.md +142 -81
  144. package/docs/context-format-changelog.md +35 -35
  145. package/docs/context-format.md +48 -48
  146. package/docs/index.md +65 -65
  147. package/docs/integrations/agents.md +162 -162
  148. package/docs/integrations/claude-code.md +23 -23
  149. package/docs/integrations/cline.md +87 -88
  150. package/docs/integrations/codex.md +2 -2
  151. package/docs/integrations/continue.md +60 -60
  152. package/docs/integrations/copilot.md +82 -80
  153. package/docs/integrations/cursor.md +23 -23
  154. package/docs/integrations/kilocode.md +72 -72
  155. package/docs/integrations/mcp.md +377 -377
  156. package/docs/integrations/mistral-vibe.md +122 -122
  157. package/docs/integrations/openclaw.md +99 -98
  158. package/docs/integrations/opencode.md +84 -84
  159. package/docs/integrations/overview.md +122 -122
  160. package/docs/integrations/roo.md +74 -74
  161. package/docs/integrations/windsurf.md +83 -83
  162. package/docs/mcp-schema-changelog.md +360 -329
  163. package/docs/playbooks/integration/index.md +121 -121
  164. package/docs/playbooks/orchestration.md +37 -0
  165. package/docs/playbooks/productivity/index.md +99 -99
  166. package/docs/playbooks/team/index.md +117 -117
  167. package/docs/product/agent-first-model.md +184 -184
  168. package/docs/product/entity-model-audit.md +462 -462
  169. package/docs/product/positioning.md +86 -86
  170. package/docs/quickstart-existing-project.md +107 -107
  171. package/docs/quickstart.md +148 -147
  172. package/docs/release-maintenance.md +79 -79
  173. package/docs/reputation.md +52 -52
  174. package/docs/review.md +45 -45
  175. package/docs/security.md +212 -53
  176. package/docs/server-operations.md +118 -118
  177. package/docs/storage.md +110 -108
  178. package/package.json +86 -69
@@ -1,329 +1,360 @@
1
- # brainclaw MCP Schema Changelog
2
-
3
- This document tracks all breaking and notable changes to the brainclaw MCP server protocol.
4
-
5
- See [docs/concepts/mcp-governance.md](concepts/mcp-governance.md) for the
6
- versioning rules, breaking-change policy, deprecation window, and tier
7
- guarantees this changelog follows.
8
-
9
- ---
10
-
11
- ## Unreleased
12
-
13
- **Changed — JSON Schema generation shift (pln#486, zod 4 migration)**
14
- - Migration from zod 3.24 → 4.3.6 changes the introspection output that
15
- feeds `tools/list`. Schemas are semantically equivalent but the emitted
16
- JSON differs in incidental shape (key order, optional-property
17
- encoding). MCP clients that snapshot or hash schemas should re-pin.
18
- - Public surface fingerprint moves from `sha256:a479f710ff043ef6` (zod 3)
19
- to `sha256:860fbaa30a486093` (zod 4). No tool was added, removed,
20
- renamed, or had its required arguments change.
21
-
22
- **Changed `bclaw_loop(intent: 'open')` anti-pattern gate (pln#461)**
23
- - New optional field `allow_orphan: boolean` on `BclawLoopOpenSchema`.
24
- - Default (absent / `false`) handler rejects with `validation_error`
25
- and points to `bclaw_coordinate(intent: 'review', open_loop: true)`
26
- as the recommended path. Prevents the "loop opened without
27
- dispatch no claim, no inbox, no agent picks it up" trap called
28
- out in `CLAUDE.md`.
29
- - `allow_orphan: true` explicit acknowledgement that the caller
30
- 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`.
45
-
46
- ---
47
-
48
- ## 1.0.0 (current)
49
-
50
- **Public launch candidate.** Phase 3 slice 3i of `pln_c6472192`.
51
- Completes the canonical grammar refactor: canonical verbs promoted to
52
- the default `standard` tier, legacy per-entity tools removed from the
53
- discoverable surface.
54
-
55
- **Changed — tier promotion**
56
- All canonical verbs land in the default `standard` catalog:
57
- - `bclaw_find`, `bclaw_get`, `bclaw_create`, `bclaw_update`,
58
- `bclaw_remove`, `bclaw_transition`
59
- - `bclaw_context(kind)` — memory / execution / board / board_summary / delta
60
- - `bclaw_dispatch(intent)` — analysis / execute / review
61
- - `bclaw_correct_handoff` P6.1 tombstone for handoff corrections
62
-
63
- **Breaking legacy per-entity tools removed from the catalog**
64
- The following tools are no longer returned by `tools/list` default or
65
- `catalog: "standard"`. They were marked deprecated throughout the
66
- 0.8.x window. Replacement is named in parentheses:
67
-
68
- - `bclaw_list_plans` (→ `bclaw_find(entity: "plan")`)
69
- - `bclaw_list_candidates` (→ `bclaw_find(entity: "candidate")`)
70
- - `bclaw_list_claims` (→ `bclaw_find(entity: "claim")`)
71
- - `bclaw_list_actions` (→ `bclaw_find(entity: "action")`)
72
- - `bclaw_list_assignments` (→ `bclaw_find(entity: "assignment")`)
73
- - `bclaw_list_runs` (→ `bclaw_find(entity: "agent_run")`)
74
- - `bclaw_read_handoff` (→ `bclaw_get(entity: "handoff", id)`)
75
- - `bclaw_create_plan` / `bclaw_create_candidate` (→ `bclaw_create`)
76
- - `bclaw_update_plan` (→ `bclaw_update` + `bclaw_transition`)
77
- - `bclaw_accept` / `bclaw_reject` (→ `bclaw_transition(entity: "candidate")`)
78
- - `bclaw_get_execution_context` / `bclaw_get_agent_board` /
79
- `bclaw_get_agent_board_summary` (→ `bclaw_context(kind)`)
80
- - `bclaw_dispatch_analysis` / `bclaw_dispatch_review` (→ `bclaw_dispatch(intent)`)
81
- - `bclaw_update_handoff` (→ `bclaw_correct_handoff` — P6.1 tombstone)
82
-
83
- The tool *handlers* remain in place for now as defensive code — a
84
- direct call by a non-MCP-compliant caller that bypasses `tools/list`
85
- will still succeed. A follow-up PR will strip the dead handler code.
86
-
87
- **Changed versions**
88
- - `SCHEMA_VERSION` bump: `0.8.01.0.0`
89
- - `package.json` bump: `0.63.0 → 1.0.0`
90
-
91
- **Changed governance guard**
92
- - `tests/unit/mcp-governance.test.ts` now checks that the current
93
- changelog records the published MCP surface fingerprint. When a tool
94
- name, tier, category, or input schema changes, the test fails until
95
- this section is updated.
96
- - MCP public surface fingerprint: `sha256:333be7c3cda7e166`
97
- (updated 2026-06-09: added the `preflight` boolean to the bclaw_coordinate
98
- inputSchemapln#533, the pre-flight spawn validation for open_loop reviews
99
- (run one trivial validation spawn per reviewer before opening the loop so an
100
- environment death surfaces with a clear reason instead of a generic timeout).
101
- Prior value `sha256:a1881ff57ddce377` added the `ref` property to the
102
- bclaw_coordinate inputSchema (2026-05-27, pln#520 Tier 2 / trp#371, the
103
- scope-aware dirty guard; `ref` lets a dispatch build its worktree from an
104
- explicit git ref). `sha256:0a4ba280aeff142b` exposed `allow_dirty` in the
105
- bclaw_coordinate inputSchema. `sha256:e88c1a97fc29cfd1` came from the
106
- pln#520 LoopPhase/LoopSlotInput schema resync, which itself reconciled
107
- earlier unrecorded drift from `sha256:724085642dc3e2d7`.)
108
-
109
- See `docs/integrations/mcp.md` for the full canonical surface + an
110
- example gallery per verb. See `docs/concepts/mcp-governance.md` for
111
- the stability contract now that v1.0 has shipped.
112
-
113
- ---
114
-
115
- ## 0.8.0
116
-
117
- Phase 3 canonical grammar slices shipped under `pln_c6472192` (slices
118
- 3a–3g). Every addition is behind `catalog: "all"` until the v1.0 cut
119
- (slice 3i) promotes the new verbs to the default catalog and removes
120
- the deprecated surface.
121
-
122
- **Added (canonical CRUD verbs)**
123
- - `bclaw_find(entity, filter?)` — list query with default provenance
124
- filter (excludes `legacy` + `auto_reflect < 0.6`; override via
125
- `filter.includeLegacy` / `filter.minAutoReflectConfidence`).
126
- - `bclaw_get(entity, id)` fetch by id or short_label.
127
- - `bclaw_create(entity, data)` — auto-stamps provenance (kind: user
128
- by default).
129
- - `bclaw_update(entity, id, patch)` rejects non-updatable fields
130
- per EntityRegistry.
131
- - `bclaw_remove(entity, id, purge?)` archive (default) or purge.
132
- - `bclaw_transition(entity, id, to, reason?)` validated against
133
- declarative transition matrix; returns side-effect tags.
134
-
135
- **Added (unified intent dispatchers)**
136
- - `bclaw_context(kind)` unifies `bclaw_get_context` /
137
- `_execution_context` / `_agent_board` / `_agent_board_summary`.
138
- Adds `kind: "delta", since: <session_id>` for memory diffs (P6.4).
139
- - `bclaw_dispatch(intent)` — intent discriminator over the existing
140
- bclaw_dispatch tool. `analysis` / `execute` (default, legacy) /
141
- `review` (with openLoop + reviewMode).
142
- - `bclaw_correct_handoff(originalId, ...)` P6.1 tombstone pattern.
143
- Writes a correction handoff with `supersedes` / `superseded_by`
144
- pointers; refuses to supersede already-superseded or closed
145
- handoffs.
146
-
147
- **Added (schema)**
148
- - `Provenance` discriminated union: agent / auto_reflect / user /
149
- loop_artifact / federation / correction / legacy. Exported from
150
- `src/core/schema.ts`. Stamped on creates; federation-safe.
151
- - `Handoff.superseded_by` and `Handoff.supersedes` — P6.1 tombstone
152
- pointers, optional passthrough.
153
-
154
- **Deprecated (19 tools)**
155
- All redirects are non-breaking (old tools still work until slice 3i
156
- removal). Warnings surface on every call through the
157
- `executeMcpToolCall` exit wrapper:
158
- - `bclaw_list_plans/candidates/claims/actions/assignments/runs`
159
- `bclaw_find(entity, filter)`
160
- - `bclaw_read_handoff` → `bclaw_get(entity: "handoff", id)`
161
- - `bclaw_create_plan/candidate` → `bclaw_create`
162
- - `bclaw_update_plan` `bclaw_update` / `bclaw_transition`
163
- - `bclaw_accept/reject` → `bclaw_transition(entity: "candidate")`
164
- - `bclaw_get_execution_context/_agent_board/_agent_board_summary` →
165
- `bclaw_context(kind)`
166
- - `bclaw_dispatch_analysis/_review` `bclaw_dispatch(intent)`
167
- - `bclaw_update_handoff` `bclaw_correct_handoff` (P6.1)
168
-
169
- ---
170
-
171
- ## 0.7.0
172
-
173
- Shipped in brainclaw app `0.63.0`. Consolidates the surface listed
174
- below previously accumulating under an inaccurate `SCHEMA_VERSION = '0.6.0'`
175
- constant and brings the runtime value in line with the documented
176
- state. Governance cross-check now passes (see governance doc).
177
-
178
- **Added (this landing)**
179
- - `bclaw_doctor --after-migration` post-v1-upgrade health check
180
- reporting one finding per invariant (provenance coverage, handoff
181
- review-strip, candidate archive, schema-version marker). Exits
182
- non-zero on any failure.
183
- - `brainclaw upgrade --to=1.0` — one-shot v1 schema migration
184
- covering candidate archive (P6.6), handoff review-strip (P6.1
185
- groundwork), provenance rollout (P6.3), schema-version bump
186
- (0.6.0 0.8.0 in the store marker). Plus `--backup` /
187
- `--no-backup` / `--rollback` flags.
188
- - `provenance` optional passthrough field on Decision, Constraint,
189
- Trap, Handoff, RuntimeNote — discriminated-union typing lands in
190
- Phase 3 (`pln_c6472192 / 3f`). The declaration lets migration
191
- patches stamp `{ kind: 'legacy' }` without Zod stripping it on
192
- persist.
193
-
194
- **Added (previously unreleased 0.7.0 surface)**
195
- - `bclaw_check_policy` — pre-execution governance check for a scope
196
- - Input: `scope` (required), `agent`, `agentId`, `action`
197
- - Returns `allowed` boolean, `blocks[]` (hard stops), `warnings[]` (context)
198
- - Checks: claim active, claim conflict, constraint matching, trap matching
199
- - Returns `governance_context` with active instructions count, matching items
200
- - `bclaw_audit` now supports `governance: true` parameter
201
- - Returns aggregated posture report instead of chronological log
202
- - Includes: constitution (global instructions), red lines (constraints by category), claims by agent, open traps by severity, mutations without claim, recommendations
203
- - Supports `scope` filter for governance mode
204
- - `bclaw_claim` response now includes automatic policy warnings
205
- - Constraints and traps matching the claimed scope are surfaced as warnings
206
- - No extra call needed governance context is provided at claim time
207
- - Enriched `AuditEntry` fields: `scope`, `session_id`, `host_id`
208
- - Claim/release entries include the scope being claimed
209
- - Session start/end entries include session and host IDs
210
- - `promote_direct` and `trust_change` actions now propagated to events.jsonl
211
-
212
- **Changed**
213
- - MCP schema version bumped to 0.7.0
214
- - Governance report filters machine/private traps only shared-visibility traps affect project posture
215
- - Audit chronological mode now shows `scope` field for claim actions
216
-
217
- ---
218
-
219
- ## 0.6.0
220
-
221
- **Added**
222
- - `bclaw_get_capabilities` list all registered project capabilities with optional filtering by category
223
- - Returns array of capabilities with id, name, category, and tags
224
- - Supports category filtering parameter
225
- - `bclaw_list_tools` list all registered project tools with optional filtering by type
226
- - Returns array of tools with id, name, type, and tags
227
- - Supports type and tag filtering parameters
228
- - `bclaw_search_tools` full-text search across project tools
229
- - Filters by query string, type, and tags
230
- - Returns matching tools with detailed metadata
231
- - Enhanced `bclaw_get_context` to include metadata discovery:
232
- - New `available_capabilities` field in structured content (array of capability objects)
233
- - New `available_tools` field in structured content (array of tool objects)
234
- - Suggestions section in text output showing relevant capabilities and tools (up to 5 each)
235
- - Support for `category` and `outcome` fields in `bclaw_create_candidate`:
236
- - Constraints can now have a category: architecture, performance, security, reliability, compatibility, process, other
237
- - Decisions can now have an outcome: approved, rejected, deferred, pending
238
- - Doctor check `metadata_consistency` validates capability and tool completeness
239
- - `bclaw_bootstrap` now returns adaptive interview prompts alongside the import proposal when bootstrap confidence is incomplete
240
- - `structuredContent.import_plan.interview` exposes `summary`, `question_count`, and audience-tagged questions
241
- - Questions can be targeted to `cli`, `ide_chat`, or `any`
242
- - Interview questions now expose stable IDs and `target_hints`
243
- - `structuredContent.onboarding_mode` distinguishes `empty_workspace`, `existing_documented`, and `existing_sparse`
244
- - `structuredContent.import_plan.confirmed_suggestion_count` reports how many suggestions were confirmed by interview answers
245
- - `bclaw_bootstrap` now accepts `interviewAnswers`, `apply`, `uninstall`, `audience`, and `interview`
246
- - capable agents can preview confirmed selective imports through MCP before applying them
247
- - bootstrap apply/uninstall now covers selective canonical memory imports beyond instructions
248
-
249
- **Changed**
250
- - MCP schema version bumped to 0.6.0 to reflect new metadata discovery capabilities
251
-
252
- ---
253
-
254
- ## 0.5.0
255
-
256
- **Added**
257
- - `bclaw_delete_memory` delete a constraint, decision, or trap by ID (trusted trust required)
258
- - Searches across store chain to locate item
259
- - Supports deletion from any store level (local, repo, workspace, user)
260
- - Returns `deleted_id`, `item_type`, `store_level` in response
261
- - `bclaw_update_memory` update text/tags or move an item to a different store level (trusted trust required)
262
- - Supports updating constraint, decision, or trap in-place
263
- - `moveToStore` parameter enables moving items between levels (local repo → workspace → user)
264
- - Returns `updated_id`, `item_type`, `previous_store`, `new_store` in response
265
- - Doctor checks `scope_hygiene` and `cross_level_duplicates` warn about machine-level items at project scope and potential duplicates across store levels
266
-
267
- **Changed**
268
- - `bclaw_get_context` and related tools now properly merge instructions from parent stores in the chain
269
-
270
- ---
271
-
272
- ## 0.4.0
273
-
274
- **Added**
275
- - `bclaw_create_plan` create a plan item from an agent (contributor trust required)
276
- - `bclaw_update_plan` update status, actual effort, priority, or assignee of a plan item
277
- - `bclaw_add_step` add a sub-step to a plan item
278
- - `bclaw_complete_step` mark a plan sub-step as done
279
- - All plan management tools return structured `plan_id`, `step_id`, `status`, `progress` fields
280
-
281
- **Fixed**
282
- - `bclaw_release_claim`: `planStatus` parameter was declared in the schema but not applied — now correctly updates the linked plan's status when provided
283
-
284
- ---
285
-
286
- ## 0.3.0
287
-
288
- **Added**
289
- - `initialize` handshake support (MCP protocol conformance)
290
- - `schema_version: "0.3.0"` field in all `structuredContent` responses
291
- - Write tools: `bclaw_write_note`, `bclaw_create_candidate`, `bclaw_accept`, `bclaw_reject`, `bclaw_claim`, `bclaw_release_claim`, `bclaw_session_start`, `bclaw_session_end`
292
- - `bclaw_search` tool full-text BM25 search across all memory items
293
- - Trust-level access control on write tools (contributor / trusted / curator)
294
- - `context_schema` field in `bclaw_get_context` structured responses
295
- - Explicit identity arguments on mutation tools:
296
- - `agentId` on `bclaw_write_note`, `bclaw_create_candidate`, `bclaw_claim`, `bclaw_session_start`, `bclaw_session_end`
297
- - `byId` on `bclaw_accept`, `bclaw_reject`
298
- - Stable MCP tool errors:
299
- - `identity_error`
300
- - `trust_error`
301
- - `validation_error`
302
-
303
- **Changed**
304
- - All read tool responses now include `schema_version` in `structuredContent`
305
- - `bclaw_get_context` `structuredContent` flattens the full `ContextResult` object
306
- - `bclaw_get_context` now exposes `context_schema: "1.2"` and additive fields from the current public context contract
307
- - Mutation tools now require a registered identity on write paths; `agent`/`agentId` and `by`/`byId` must resolve to the same registered identity when both are provided
308
- - `bclaw_reject` is now restricted to `trusted` / `curator` agents, aligned with `bclaw_accept`
309
-
310
- ---
311
-
312
- ## 0.2.0
313
-
314
- **Added**
315
- - `bclaw_get_agent_board` read tool
316
- - `bclaw_read_handoff` read tool
317
- - Tool prefix renamed: `tmem_` → `bclaw_`
318
-
319
- **Changed**
320
- - Environment variables renamed: `TEAM_MEMORY_*` `BRAINCLAW_*`
321
- - Storage directory renamed: `.memory/` `.brainclaw/`
322
-
323
- ---
324
-
325
- ## 0.1.0
326
-
327
- **Initial**
328
- - `bclaw_get_context` read tool (was `tmem_get_context`)
329
- - Basic stdio NDJSON transport
1
+ # brainclaw MCP Schema Changelog
2
+
3
+ This document tracks all breaking and notable changes to the brainclaw MCP server protocol.
4
+
5
+ See [docs/concepts/mcp-governance.md](concepts/mcp-governance.md) for the
6
+ versioning rules, breaking-change policy, deprecation window, and tier
7
+ guarantees this changelog follows.
8
+
9
+ ---
10
+
11
+ ## Unreleased
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
+
24
+ **Changed JSON Schema generation shift (pln#486, zod 4 migration)**
25
+ - Migration from zod 3.24 4.3.6 changes the introspection output that
26
+ feeds `tools/list`. Schemas are semantically equivalent but the emitted
27
+ JSON differs in incidental shape (key order, optional-property
28
+ encoding). MCP clients that snapshot or hash schemas should re-pin.
29
+ - Public surface fingerprint moves from `sha256:a479f710ff043ef6` (zod 3)
30
+ to `sha256:860fbaa30a486093` (zod 4). No tool was added, removed,
31
+ renamed, or had its required arguments change.
32
+
33
+ **Changed — `bclaw_loop(intent: 'open')` anti-pattern gate (pln#461)**
34
+ - New optional field `allow_orphan: boolean` on `BclawLoopOpenSchema`.
35
+ - Default (absent / `false`) handler rejects with `validation_error`
36
+ and points to `bclaw_coordinate(intent: 'review', open_loop: true)`
37
+ as the recommended path. Prevents the "loop opened without
38
+ dispatch no claim, no inbox, no agent picks it up" trap called
39
+ out in `CLAUDE.md`.
40
+ - `allow_orphan: true` explicit acknowledgement that the caller
41
+ will drive `turn()` + dispatch manually (advanced / test use only).
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`.
56
+
57
+ ---
58
+
59
+ ## 1.0.0 (current)
60
+
61
+ **Public launch candidate.** Phase 3 slice 3i of `pln_c6472192`.
62
+ Completes the canonical grammar refactor: canonical verbs promoted to
63
+ the default `standard` tier, legacy per-entity tools removed from the
64
+ discoverable surface.
65
+
66
+ **Changed tier promotion**
67
+ All canonical verbs land in the default `standard` catalog:
68
+ - `bclaw_find`, `bclaw_get`, `bclaw_create`, `bclaw_update`,
69
+ `bclaw_remove`, `bclaw_transition`
70
+ - `bclaw_context(kind)` memory / execution / board / board_summary / delta
71
+ - `bclaw_dispatch(intent)` analysis / execute / review
72
+ - `bclaw_correct_handoff` P6.1 tombstone for handoff corrections
73
+
74
+ **Breaking legacy per-entity tools removed from the catalog**
75
+ The following tools are no longer returned by `tools/list` default or
76
+ `catalog: "standard"`. They were marked deprecated throughout the
77
+ 0.8.x window. Replacement is named in parentheses:
78
+
79
+ - `bclaw_list_plans` (→ `bclaw_find(entity: "plan")`)
80
+ - `bclaw_list_candidates` (→ `bclaw_find(entity: "candidate")`)
81
+ - `bclaw_list_claims` (→ `bclaw_find(entity: "claim")`)
82
+ - `bclaw_list_actions` (→ `bclaw_find(entity: "action")`)
83
+ - `bclaw_list_assignments` (→ `bclaw_find(entity: "assignment")`)
84
+ - `bclaw_list_runs` (→ `bclaw_find(entity: "agent_run")`)
85
+ - `bclaw_read_handoff` (→ `bclaw_get(entity: "handoff", id)`)
86
+ - `bclaw_create_plan` / `bclaw_create_candidate` (→ `bclaw_create`)
87
+ - `bclaw_update_plan` (→ `bclaw_update` + `bclaw_transition`)
88
+ - `bclaw_accept` / `bclaw_reject` (→ `bclaw_transition(entity: "candidate")`)
89
+ - `bclaw_get_execution_context` / `bclaw_get_agent_board` /
90
+ `bclaw_get_agent_board_summary` (→ `bclaw_context(kind)`)
91
+ - `bclaw_dispatch_analysis` / `bclaw_dispatch_review` (→ `bclaw_dispatch(intent)`)
92
+ - `bclaw_update_handoff` (→ `bclaw_correct_handoff` P6.1 tombstone)
93
+
94
+ The tool *handlers* remain in place for now as defensive code — a
95
+ direct call by a non-MCP-compliant caller that bypasses `tools/list`
96
+ will still succeed. A follow-up PR will strip the dead handler code.
97
+
98
+ **Changedversions**
99
+ - `SCHEMA_VERSION` bump: `0.8.0 1.0.0`
100
+ - `package.json` bump: `0.63.0 1.0.0`
101
+
102
+ **Changed governance guard**
103
+ - `tests/unit/mcp-governance.test.ts` now checks that the current
104
+ changelog records the published MCP surface fingerprint. When a tool
105
+ name, tier, category, or input schema changes, the test fails until
106
+ this section is updated.
107
+ - MCP public surface fingerprint: `sha256:70cf80b9615f631f`
108
+ (updated 2026-06-18 for 1.9.1: monorepo project-scoping fix — session-aware
109
+ effective-cwd resolution and read-path project scoping shift the published
110
+ input-schema surface. Additive: no tool added, removed, or renamed.)
111
+ Previous: `sha256:b1d3c6a00a224509`,
112
+ updated 2026-06-14: journal ON by default + `migrate --enable-journal`,
113
+ registry post-image families + verify gate, and capped auto-handoff diff
114
+ preview on `bclaw_get`; pln#567/#568/#569.
115
+ Previous: `sha256:21fa9544977a3754`,
116
+ updated 2026-06-11b: observability surfaces — composite
117
+ `attention_required` in board_summary, observer-mode read flags,
118
+ `bootstrap_verdict` in FacadeResponse; pln#557/#558/#559.
119
+ Previous: `sha256:8f86d3998f8a24e3`,
120
+ updated 2026-06-11: uninitialized setup mode — the server now boots with
121
+ a minimal catalog on a missing project store instead of exit(1), and the
122
+ empty-memory decision rule is surfaced in setup/work hints; pln#556.
123
+ Previous: `sha256:eaa8865070b10401`,
124
+ updated 2026-06-10: agent-UX read-path surface `budget_tokens` on the
125
+ read tools, `context_diff`/`next_actions` in facade payloads,
126
+ caller-asserted `type` on quick_capture; see the Unreleased entry, pln#542.
127
+ Previous: `sha256:333be7c3cda7e166`,
128
+ updated 2026-06-09: added the `preflight` boolean to the bclaw_coordinate
129
+ inputSchema pln#533, the pre-flight spawn validation for open_loop reviews
130
+ (run one trivial validation spawn per reviewer before opening the loop so an
131
+ environment death surfaces with a clear reason instead of a generic timeout).
132
+ Prior value `sha256:a1881ff57ddce377` added the `ref` property to the
133
+ bclaw_coordinate inputSchema (2026-05-27, pln#520 Tier 2 / trp#371, the
134
+ scope-aware dirty guard; `ref` lets a dispatch build its worktree from an
135
+ explicit git ref). `sha256:0a4ba280aeff142b` exposed `allow_dirty` in the
136
+ bclaw_coordinate inputSchema. `sha256:e88c1a97fc29cfd1` came from the
137
+ pln#520 LoopPhase/LoopSlotInput schema resync, which itself reconciled
138
+ earlier unrecorded drift from `sha256:724085642dc3e2d7`.)
139
+
140
+ See `docs/integrations/mcp.md` for the full canonical surface + an
141
+ example gallery per verb. See `docs/concepts/mcp-governance.md` for
142
+ the stability contract now that v1.0 has shipped.
143
+
144
+ ---
145
+
146
+ ## 0.8.0
147
+
148
+ Phase 3 canonical grammar slices shipped under `pln_c6472192` (slices
149
+ 3a–3g). Every addition is behind `catalog: "all"` until the v1.0 cut
150
+ (slice 3i) promotes the new verbs to the default catalog and removes
151
+ the deprecated surface.
152
+
153
+ **Added (canonical CRUD verbs)**
154
+ - `bclaw_find(entity, filter?)` — list query with default provenance
155
+ filter (excludes `legacy` + `auto_reflect < 0.6`; override via
156
+ `filter.includeLegacy` / `filter.minAutoReflectConfidence`).
157
+ - `bclaw_get(entity, id)` fetch by id or short_label.
158
+ - `bclaw_create(entity, data)` — auto-stamps provenance (kind: user
159
+ by default).
160
+ - `bclaw_update(entity, id, patch)` — rejects non-updatable fields
161
+ per EntityRegistry.
162
+ - `bclaw_remove(entity, id, purge?)` archive (default) or purge.
163
+ - `bclaw_transition(entity, id, to, reason?)` — validated against
164
+ declarative transition matrix; returns side-effect tags.
165
+
166
+ **Added (unified intent dispatchers)**
167
+ - `bclaw_context(kind)` unifies `bclaw_get_context` /
168
+ `_execution_context` / `_agent_board` / `_agent_board_summary`.
169
+ Adds `kind: "delta", since: <session_id>` for memory diffs (P6.4).
170
+ - `bclaw_dispatch(intent)` — intent discriminator over the existing
171
+ bclaw_dispatch tool. `analysis` / `execute` (default, legacy) /
172
+ `review` (with openLoop + reviewMode).
173
+ - `bclaw_correct_handoff(originalId, ...)` P6.1 tombstone pattern.
174
+ Writes a correction handoff with `supersedes` / `superseded_by`
175
+ pointers; refuses to supersede already-superseded or closed
176
+ handoffs.
177
+
178
+ **Added (schema)**
179
+ - `Provenance` discriminated union: agent / auto_reflect / user /
180
+ loop_artifact / federation / correction / legacy. Exported from
181
+ `src/core/schema.ts`. Stamped on creates; federation-safe.
182
+ - `Handoff.superseded_by` and `Handoff.supersedes` — P6.1 tombstone
183
+ pointers, optional passthrough.
184
+
185
+ **Deprecated (19 tools)**
186
+ All redirects are non-breaking (old tools still work until slice 3i
187
+ removal). Warnings surface on every call through the
188
+ `executeMcpToolCall` exit wrapper:
189
+ - `bclaw_list_plans/candidates/claims/actions/assignments/runs`
190
+ `bclaw_find(entity, filter)`
191
+ - `bclaw_read_handoff` `bclaw_get(entity: "handoff", id)`
192
+ - `bclaw_create_plan/candidate` → `bclaw_create`
193
+ - `bclaw_update_plan` → `bclaw_update` / `bclaw_transition`
194
+ - `bclaw_accept/reject` `bclaw_transition(entity: "candidate")`
195
+ - `bclaw_get_execution_context/_agent_board/_agent_board_summary`
196
+ `bclaw_context(kind)`
197
+ - `bclaw_dispatch_analysis/_review` `bclaw_dispatch(intent)`
198
+ - `bclaw_update_handoff` `bclaw_correct_handoff` (P6.1)
199
+
200
+ ---
201
+
202
+ ## 0.7.0
203
+
204
+ Shipped in brainclaw app `0.63.0`. Consolidates the surface listed
205
+ below previously accumulating under an inaccurate `SCHEMA_VERSION = '0.6.0'`
206
+ constant and brings the runtime value in line with the documented
207
+ state. Governance cross-check now passes (see governance doc).
208
+
209
+ **Added (this landing)**
210
+ - `bclaw_doctor --after-migration` post-v1-upgrade health check
211
+ reporting one finding per invariant (provenance coverage, handoff
212
+ review-strip, candidate archive, schema-version marker). Exits
213
+ non-zero on any failure.
214
+ - `brainclaw upgrade --to=1.0`one-shot v1 schema migration
215
+ covering candidate archive (P6.6), handoff review-strip (P6.1
216
+ groundwork), provenance rollout (P6.3), schema-version bump
217
+ (0.6.0 → 0.8.0 in the store marker). Plus `--backup` /
218
+ `--no-backup` / `--rollback` flags.
219
+ - `provenance` optional passthrough field on Decision, Constraint,
220
+ Trap, Handoff, RuntimeNote — discriminated-union typing lands in
221
+ Phase 3 (`pln_c6472192 / 3f`). The declaration lets migration
222
+ patches stamp `{ kind: 'legacy' }` without Zod stripping it on
223
+ persist.
224
+
225
+ **Added (previously unreleased 0.7.0 surface)**
226
+ - `bclaw_check_policy` pre-execution governance check for a scope
227
+ - Input: `scope` (required), `agent`, `agentId`, `action`
228
+ - Returns `allowed` boolean, `blocks[]` (hard stops), `warnings[]` (context)
229
+ - Checks: claim active, claim conflict, constraint matching, trap matching
230
+ - Returns `governance_context` with active instructions count, matching items
231
+ - `bclaw_audit` now supports `governance: true` parameter
232
+ - Returns aggregated posture report instead of chronological log
233
+ - Includes: constitution (global instructions), red lines (constraints by category), claims by agent, open traps by severity, mutations without claim, recommendations
234
+ - Supports `scope` filter for governance mode
235
+ - `bclaw_claim` response now includes automatic policy warnings
236
+ - Constraints and traps matching the claimed scope are surfaced as warnings
237
+ - No extra call needed governance context is provided at claim time
238
+ - Enriched `AuditEntry` fields: `scope`, `session_id`, `host_id`
239
+ - Claim/release entries include the scope being claimed
240
+ - Session start/end entries include session and host IDs
241
+ - `promote_direct` and `trust_change` actions now propagated to events.jsonl
242
+
243
+ **Changed**
244
+ - MCP schema version bumped to 0.7.0
245
+ - Governance report filters machine/private traps only shared-visibility traps affect project posture
246
+ - Audit chronological mode now shows `scope` field for claim actions
247
+
248
+ ---
249
+
250
+ ## 0.6.0
251
+
252
+ **Added**
253
+ - `bclaw_get_capabilities` — list all registered project capabilities with optional filtering by category
254
+ - Returns array of capabilities with id, name, category, and tags
255
+ - Supports category filtering parameter
256
+ - `bclaw_list_tools` — list all registered project tools with optional filtering by type
257
+ - Returns array of tools with id, name, type, and tags
258
+ - Supports type and tag filtering parameters
259
+ - `bclaw_search_tools` full-text search across project tools
260
+ - Filters by query string, type, and tags
261
+ - Returns matching tools with detailed metadata
262
+ - Enhanced `bclaw_get_context` to include metadata discovery:
263
+ - New `available_capabilities` field in structured content (array of capability objects)
264
+ - New `available_tools` field in structured content (array of tool objects)
265
+ - Suggestions section in text output showing relevant capabilities and tools (up to 5 each)
266
+ - Support for `category` and `outcome` fields in `bclaw_create_candidate`:
267
+ - Constraints can now have a category: architecture, performance, security, reliability, compatibility, process, other
268
+ - Decisions can now have an outcome: approved, rejected, deferred, pending
269
+ - Doctor check `metadata_consistency` — validates capability and tool completeness
270
+ - `bclaw_bootstrap` now returns adaptive interview prompts alongside the import proposal when bootstrap confidence is incomplete
271
+ - `structuredContent.import_plan.interview` exposes `summary`, `question_count`, and audience-tagged questions
272
+ - Questions can be targeted to `cli`, `ide_chat`, or `any`
273
+ - Interview questions now expose stable IDs and `target_hints`
274
+ - `structuredContent.onboarding_mode` distinguishes `empty_workspace`, `existing_documented`, and `existing_sparse`
275
+ - `structuredContent.import_plan.confirmed_suggestion_count` reports how many suggestions were confirmed by interview answers
276
+ - `bclaw_bootstrap` now accepts `interviewAnswers`, `apply`, `uninstall`, `audience`, and `interview`
277
+ - capable agents can preview confirmed selective imports through MCP before applying them
278
+ - bootstrap apply/uninstall now covers selective canonical memory imports beyond instructions
279
+
280
+ **Changed**
281
+ - MCP schema version bumped to 0.6.0 to reflect new metadata discovery capabilities
282
+
283
+ ---
284
+
285
+ ## 0.5.0
286
+
287
+ **Added**
288
+ - `bclaw_delete_memory` — delete a constraint, decision, or trap by ID (trusted trust required)
289
+ - Searches across store chain to locate item
290
+ - Supports deletion from any store level (local, repo, workspace, user)
291
+ - Returns `deleted_id`, `item_type`, `store_level` in response
292
+ - `bclaw_update_memory` — update text/tags or move an item to a different store level (trusted trust required)
293
+ - Supports updating constraint, decision, or trap in-place
294
+ - `moveToStore` parameter enables moving items between levels (local → repo → workspace → user)
295
+ - Returns `updated_id`, `item_type`, `previous_store`, `new_store` in response
296
+ - Doctor checks `scope_hygiene` and `cross_level_duplicates` warn about machine-level items at project scope and potential duplicates across store levels
297
+
298
+ **Changed**
299
+ - `bclaw_get_context` and related tools now properly merge instructions from parent stores in the chain
300
+
301
+ ---
302
+
303
+ ## 0.4.0
304
+
305
+ **Added**
306
+ - `bclaw_create_plan` create a plan item from an agent (contributor trust required)
307
+ - `bclaw_update_plan` update status, actual effort, priority, or assignee of a plan item
308
+ - `bclaw_add_step` add a sub-step to a plan item
309
+ - `bclaw_complete_step` — mark a plan sub-step as done
310
+ - All plan management tools return structured `plan_id`, `step_id`, `status`, `progress` fields
311
+
312
+ **Fixed**
313
+ - `bclaw_release_claim`: `planStatus` parameter was declared in the schema but not applied — now correctly updates the linked plan's status when provided
314
+
315
+ ---
316
+
317
+ ## 0.3.0
318
+
319
+ **Added**
320
+ - `initialize` handshake support (MCP protocol conformance)
321
+ - `schema_version: "0.3.0"` field in all `structuredContent` responses
322
+ - Write tools: `bclaw_write_note`, `bclaw_create_candidate`, `bclaw_accept`, `bclaw_reject`, `bclaw_claim`, `bclaw_release_claim`, `bclaw_session_start`, `bclaw_session_end`
323
+ - `bclaw_search` tool — full-text BM25 search across all memory items
324
+ - Trust-level access control on write tools (contributor / trusted / curator)
325
+ - `context_schema` field in `bclaw_get_context` structured responses
326
+ - Explicit identity arguments on mutation tools:
327
+ - `agentId` on `bclaw_write_note`, `bclaw_create_candidate`, `bclaw_claim`, `bclaw_session_start`, `bclaw_session_end`
328
+ - `byId` on `bclaw_accept`, `bclaw_reject`
329
+ - Stable MCP tool errors:
330
+ - `identity_error`
331
+ - `trust_error`
332
+ - `validation_error`
333
+
334
+ **Changed**
335
+ - All read tool responses now include `schema_version` in `structuredContent`
336
+ - `bclaw_get_context` `structuredContent` flattens the full `ContextResult` object
337
+ - `bclaw_get_context` now exposes `context_schema: "1.2"` and additive fields from the current public context contract
338
+ - Mutation tools now require a registered identity on write paths; `agent`/`agentId` and `by`/`byId` must resolve to the same registered identity when both are provided
339
+ - `bclaw_reject` is now restricted to `trusted` / `curator` agents, aligned with `bclaw_accept`
340
+
341
+ ---
342
+
343
+ ## 0.2.0
344
+
345
+ **Added**
346
+ - `bclaw_get_agent_board` read tool
347
+ - `bclaw_read_handoff` read tool
348
+ - Tool prefix renamed: `tmem_` → `bclaw_`
349
+
350
+ **Changed**
351
+ - Environment variables renamed: `TEAM_MEMORY_*` → `BRAINCLAW_*`
352
+ - Storage directory renamed: `.memory/` → `.brainclaw/`
353
+
354
+ ---
355
+
356
+ ## 0.1.0
357
+
358
+ **Initial**
359
+ - `bclaw_get_context` read tool (was `tmem_get_context`)
360
+ - Basic stdio NDJSON transport