brainclaw 1.7.0 → 1.7.2

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.
@@ -43,10 +43,10 @@ All 59 published MCP tools are discoverable via `tools/list`. Each tool carries
43
43
  Every tool has one of three tiers in its `annotations.tier` field:
44
44
 
45
45
  - **facade** — High-level entry points for agents that don't need granular access. Start here.
46
- - **standard** — Day-to-day coordination tools: plans, claims, messaging, dispatch, review, memory. Returned by default alongside facades.
47
- - **advanced** — Specialized governance, audit, registry, sequences, and power tools.
48
-
49
- By default, `tools/list` returns **facade + standard** tools (34 tools). To get all tools including advanced, pass `{ "catalog": "all" }`, `{ "include": "all" }`, or `{ "advanced": true }`. To filter by a single tier, pass `{ "tier": "facade" }`, `{ "tier": "standard" }`, or `{ "tier": "advanced" }`.
46
+ - **standard** — Day-to-day coordination tools: plans, claims, messaging, sequences, dispatch, review, memory. Returned by default alongside facades.
47
+ - **advanced** — Specialized governance, audit, registry, and power tools.
48
+
49
+ By default, `tools/list` returns **facade + standard** tools (38 tools). To get all tools including advanced, pass `{ "catalog": "all" }`, `{ "include": "all" }`, or `{ "advanced": true }`. To filter by a single tier, pass `{ "tier": "facade" }`, `{ "tier": "standard" }`, or `{ "tier": "advanced" }`.
50
50
 
51
51
  Published tools remain callable regardless of catalog filtering — the tier only affects discovery via `tools/list`.
52
52
 
@@ -90,9 +90,13 @@ Each tool also has an `annotations.category` field: `session`, `context`, `memor
90
90
  | `bclaw_session_end` | session | End session, optionally auto-reflect notes or handoffs |
91
91
  | `bclaw_add_step` | coordination | Add a sub-step to a plan item |
92
92
  | `bclaw_complete_step` | coordination | Mark a plan sub-step as done |
93
- | `bclaw_update_step` | coordination | Update a plan sub-step's status, text, or assignee |
94
- | `bclaw_delete_step` | coordination | Remove a sub-step from a plan |
95
- | `bclaw_correct_handoff` | coordination | Write an immutable correction handoff that supersedes an earlier one |
93
+ | `bclaw_update_step` | coordination | Update a plan sub-step's status, text, or assignee |
94
+ | `bclaw_delete_step` | coordination | Remove a sub-step from a plan |
95
+ | `bclaw_list_sequences` | coordination | Coordination sequence listing |
96
+ | `bclaw_create_sequence` | coordination | Create a coordination sequence |
97
+ | `bclaw_update_sequence` | coordination | Update a sequence's status, metadata, or items |
98
+ | `bclaw_delete_sequence` | coordination | Delete a sequence by ID |
99
+ | `bclaw_correct_handoff` | coordination | Write an immutable correction handoff that supersedes an earlier one |
96
100
  | `bclaw_assignment_update` | coordination | Report assignment lifecycle status |
97
101
  | `bclaw_assignment_action` | coordination | Resolve or reject a pending ActionRequired item |
98
102
  | `bclaw_harvest_candidates` | coordination | Harvest sandboxed worktree candidate files into the main project store |
@@ -123,13 +127,9 @@ Each tool also has an `annotations.category` field: `session`, `context`, `memor
123
127
  | `bclaw_who` | discovery | List active agent sessions on workspace |
124
128
  | `bclaw_add_capability` | discovery | Register a project capability |
125
129
  | `bclaw_add_tool` | discovery | Register a project tool |
126
- | `bclaw_list_sequences` | coordination | Coordination sequence listing |
127
- | `bclaw_create_sequence` | coordination | Create a coordination sequence |
128
- | `bclaw_update_sequence` | coordination | Update a sequence's status, metadata, or items |
129
- | `bclaw_get_thread` | coordination | Get all messages in a thread across inboxes |
130
- | `bclaw_delete_plan` | coordination | Delete a plan item by ID |
131
- | `bclaw_delete_sequence` | coordination | Delete a sequence by ID |
132
- | `bclaw_delete_memory` | memory | Delete a memory item by ID |
130
+ | `bclaw_get_thread` | coordination | Get all messages in a thread across inboxes |
131
+ | `bclaw_delete_plan` | coordination | Delete a plan item by ID |
132
+ | `bclaw_delete_memory` | memory | Delete a memory item by ID |
133
133
  | `bclaw_update_memory` | memory | Update a memory item's text or metadata |
134
134
  | `bclaw_compact` | memory | LLM-driven semantic memory compaction (two-phase) |
135
135
 
@@ -157,11 +157,44 @@ for the full 1.0.0 changelog.
157
157
  | `bclaw_transition(entity, id, to, reason?)` | State machine transition with side-effect tags | `bclaw_accept`, `bclaw_reject`, status-update flows |
158
158
 
159
159
  Supported entities: plan, decision, constraint, trap, handoff,
160
- runtime_note, candidate, claim, action, assignment, agent_run
160
+ runtime_note, candidate, sequence, claim, action, assignment, agent_run
161
161
  (with assignment lifecycle now writable through `bclaw_transition` and
162
162
  `bclaw_remove`; `agent_run` remains read-only). Declarative transition matrix +
163
163
  updatable field list live in [src/core/entity-registry.ts](../../src/core/entity-registry.ts).
164
164
 
165
+ #### Sequence workflow
166
+
167
+ Sequences are in the default catalog because they are the normal path
168
+ for parallel agent work. Use the specialized sequence tools when
169
+ building lanes; the canonical grammar can still read or patch the same
170
+ entity when that is more convenient.
171
+
172
+ Sequence items use this shape:
173
+
174
+ ```json
175
+ {
176
+ "planId": "pln_xxx",
177
+ "stepId": "stp_xxx",
178
+ "rank": 1,
179
+ "hard_after": [],
180
+ "soft_after": [],
181
+ "lane": "api",
182
+ "scope_hint": "src/api/**",
183
+ "rationale": "Independent API lane"
184
+ }
185
+ ```
186
+
187
+ `planId` and `rank` are required. `stepId` is optional and narrows the
188
+ sequence item to a specific plan step. `hard_after` blocks readiness
189
+ until predecessor items complete; `soft_after` is advisory.
190
+
191
+ Typical MCP flow:
192
+
193
+ 1. `bclaw_create_sequence({ name, status: "draft", items })`
194
+ 2. `bclaw_update_sequence({ id, status: "active" })`
195
+ 3. `bclaw_dispatch({ intent: "analysis" })`
196
+ 4. `bclaw_dispatch({ intent: "execute", agents: [...] })`
197
+
165
198
  For assignments specifically:
166
199
  - `bclaw_transition(entity="assignment", id=..., to="cancelled", reason=...)` is the canonical supervisor/admin cancel path.
167
200
  - `bclaw_remove(entity="assignment", id=...)` archives by cancelling the assignment.
@@ -19,7 +19,7 @@ guarantees this changelog follows.
19
19
  to `sha256:860fbaa30a486093` (zod 4). No tool was added, removed,
20
20
  renamed, or had its required arguments change.
21
21
 
22
- **Changed — `bclaw_loop(intent: 'open')` anti-pattern gate (pln#461)**
22
+ **Changed — `bclaw_loop(intent: 'open')` anti-pattern gate (pln#461)**
23
23
  - New optional field `allow_orphan: boolean` on `BclawLoopOpenSchema`.
24
24
  - Default (absent / `false`) — handler rejects with `validation_error`
25
25
  and points to `bclaw_coordinate(intent: 'review', open_loop: true)`
@@ -28,9 +28,20 @@ guarantees this changelog follows.
28
28
  out in `CLAUDE.md`.
29
29
  - `allow_orphan: true` — explicit acknowledgement that the caller
30
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.
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`.
34
45
 
35
46
  ---
36
47
 
@@ -82,7 +93,7 @@ will still succeed. A follow-up PR will strip the dead handler code.
82
93
  changelog records the published MCP surface fingerprint. When a tool
83
94
  name, tier, category, or input schema changes, the test fails until
84
95
  this section is updated.
85
- - MCP public surface fingerprint: `sha256:4a6f612ad952fb52`
96
+ - MCP public surface fingerprint: `sha256:a1881ff57ddce377`
86
97
  (updated 2026-05-27: added the `ref` property to the bclaw_coordinate
87
98
  inputSchema — pln#520 Tier 2 / trp#371, the scope-aware dirty guard;
88
99
  `ref` lets a dispatch build its worktree from an explicit git ref.
@@ -48,11 +48,13 @@ These rules apply to any feature that touches this audience:
48
48
  - `bclaw_check_policy` — scope compliance with glob matching, returns blocks + warnings
49
49
  - `bclaw_who` — list all active agent sessions on the workspace
50
50
 
51
- ### Planning & Sequencing
52
- - `bclaw_create(entity="plan", data)` / `bclaw_update(entity="plan", id, patch)` / `bclaw_transition(entity="plan", id, to)` — shared work planning with priority/effort/assignee/status
53
- - `bclaw_find(entity="plan", filter?)` — list plans
54
- - `bclaw_add_step` / `bclaw_complete_step` / `bclaw_update_step` / `bclaw_delete_step` — plan sub-steps for granular tracking
55
- - `bclaw_create_sequence` / `bclaw_list_sequences` / `bclaw_update_sequence` — multi-step coordination sequences with lane analysis
51
+ ### Planning & Sequencing
52
+ - `bclaw_create(entity="plan", data)` / `bclaw_update(entity="plan", id, patch)` / `bclaw_transition(entity="plan", id, to)` — shared work planning with priority/effort/assignee/status
53
+ - `bclaw_find(entity="plan", filter?)` — list plans
54
+ - `bclaw_add_step` / `bclaw_complete_step` / `bclaw_update_step` / `bclaw_delete_step` — plan sub-steps for granular tracking
55
+ - `bclaw_create_sequence` / `bclaw_list_sequences` / `bclaw_update_sequence` — multi-step coordination sequences with lane analysis
56
+
57
+ Sequence items are explicit lane records: `{ planId, stepId?, rank, hard_after?, soft_after?, lane?, scope_hint?, rationale? }`. `planId` and `rank` are required; `stepId` lets a sequence dispatch a specific plan step instead of the whole plan. A normal parallel flow is: create sequence as `draft`, update it to `active`, run `bclaw_dispatch(intent="analysis")`, then run `bclaw_dispatch(intent="execute", agents=[...])`.
56
58
 
57
59
  ### Multi-Agent Dispatch
58
60
  - `bclaw_dispatch(intent)` — `analysis` analyses an active sequence (ready/active/blocked/done per lane), `execute` fans out parallel work across lanes, `review` dispatches code reviews for completed handoffs
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brainclaw",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "Shared project memory for humans and coding agents.",
5
5
  "type": "module",
6
6
  "bin": {