cool-workflow 0.1.82 → 0.1.83
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.
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +4 -4
- package/README.md +124 -120
- package/apps/architecture-review/app.json +1 -1
- package/apps/architecture-review-fast/app.json +1 -1
- package/apps/end-to-end-golden-path/app.json +1 -1
- package/apps/pr-review-fix-ci/app.json +1 -1
- package/apps/release-cut/app.json +1 -1
- package/apps/research-synthesis/app.json +1 -1
- package/dist/capability-core.js +16 -8
- package/dist/capability-registry.js +8 -0
- package/dist/cli.js +12 -1
- package/dist/commit.js +5 -1
- package/dist/doctor.js +153 -0
- package/dist/mcp-server.js +11 -0
- package/dist/orchestrator.js +13 -0
- package/dist/reclamation/hash.js +72 -0
- package/dist/reclamation.js +25 -78
- package/dist/run-registry/queue.js +6 -7
- package/dist/run-registry.js +35 -24
- package/dist/scheduler.js +78 -53
- package/dist/version.js +1 -1
- package/dist/worker-isolation.js +22 -2
- package/docs/agent-delegation-drive.7.md +90 -86
- package/docs/agent-framework.md +33 -32
- package/docs/candidate-scoring.7.md +26 -24
- package/docs/canonical-workflow-apps.7.md +40 -40
- package/docs/capability-topology-registry.7.md +24 -24
- package/docs/cli-mcp-parity.7.md +226 -154
- package/docs/contract-migration-tooling.7.md +48 -41
- package/docs/control-plane-scheduling.7.md +45 -41
- package/docs/coordinator-blackboard.7.md +30 -30
- package/docs/dogfood-one-real-repo.7.md +44 -44
- package/docs/durable-state-and-locking.7.md +34 -30
- package/docs/end-to-end-golden-path.7.md +29 -29
- package/docs/error-feedback.7.md +27 -27
- package/docs/evidence-adoption-reasoning-chain.7.md +62 -58
- package/docs/execution-backends.7.md +84 -80
- package/docs/getting-started.md +35 -18
- package/docs/index.md +3 -3
- package/docs/mcp-app-surface.7.md +64 -64
- package/docs/multi-agent-cli-mcp-surface.7.md +82 -77
- package/docs/multi-agent-eval-replay-harness.7.md +59 -55
- package/docs/multi-agent-operator-ux.7.md +69 -65
- package/docs/multi-agent-runtime-core.7.md +39 -39
- package/docs/multi-agent-topologies.7.md +24 -24
- package/docs/multi-agent-trust-policy-audit.7.md +38 -38
- package/docs/node-snapshot-diff-replay.7.md +26 -22
- package/docs/observability-cost-accounting.7.md +49 -45
- package/docs/operator-ux.7.md +30 -30
- package/docs/pipeline-runner.7.md +31 -31
- package/docs/project-index.md +10 -5
- package/docs/real-execution-backends.7.md +47 -43
- package/docs/release-and-migration.7.md +42 -38
- package/docs/release-tooling.7.md +53 -49
- package/docs/routines.md +16 -16
- package/docs/run-registry-control-plane.7.md +120 -116
- package/docs/run-retention-reclamation.7.md +45 -41
- package/docs/sandbox-profiles.7.md +32 -32
- package/docs/scheduled-tasks.md +14 -14
- package/docs/security-trust-hardening.7.md +29 -29
- package/docs/source-context-profiles.7.md +28 -28
- package/docs/state-explosion-management.7.md +63 -59
- package/docs/state-node.7.md +8 -8
- package/docs/team-collaboration.7.md +62 -58
- package/docs/trust-model.md +126 -126
- package/docs/unix-principles.md +80 -80
- package/docs/vendor-manifest-loadability.7.md +20 -20
- package/docs/verifier-gated-commit.7.md +16 -16
- package/docs/web-desktop-workbench.7.md +69 -65
- package/docs/worker-isolation.7.md +34 -37
- package/docs/workflow-app-framework.7.md +38 -38
- package/manifest/plugin.manifest.json +4 -4
- package/package.json +3 -2
- package/scripts/canonical-apps.js +4 -4
- package/scripts/dogfood-release.js +1 -1
- package/scripts/gen-parity-doc.js +106 -0
- package/scripts/golden-path.js +4 -4
- package/dist/verifier-registry.js +0 -46
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
# Multi-Agent Operator UX
|
|
2
2
|
|
|
3
|
-
CW v0.1.21 makes multi-agent operator inspection first-class. The feature is a
|
|
4
|
-
read-only userland view
|
|
5
|
-
dashboard database and does not
|
|
6
|
-
lifecycle state is
|
|
7
|
-
CW v0.1.22 adds trust panels to the same operator path so role policy,
|
|
3
|
+
CW v0.1.21 makes multi-agent operator inspection a first-class part. The feature is a
|
|
4
|
+
read-only userland view of the run state you already have. It does not make a hidden
|
|
5
|
+
dashboard database, and it does not guess success when evidence, dependency, or
|
|
6
|
+
lifecycle state is not clear.
|
|
7
|
+
CW v0.1.22 adds trust panels to the same operator path, so role policy,
|
|
8
8
|
permission decisions, blackboard write audit, message provenance, judge
|
|
9
|
-
rationale, panel decisions, and policy violations are
|
|
9
|
+
rationale, panel decisions, and policy violations are seen next to topology
|
|
10
10
|
and evidence state.
|
|
11
11
|
CW v0.1.24 uses the same operator-derived graph, dependency, failure, evidence,
|
|
12
12
|
trust, and report views as replay comparison inputs for the Multi-Agent Eval &
|
|
13
13
|
Replay Harness.
|
|
14
|
-
CW v0.1.25
|
|
15
|
-
a run
|
|
16
|
-
`multi-agent graph --view compact`
|
|
17
|
-
summary nodes while
|
|
14
|
+
CW v0.1.25 puts State Explosion Management on top of these operator views: when
|
|
15
|
+
a run gets large, `summary show`, `multi-agent summarize`, and
|
|
16
|
+
`multi-agent graph --view compact` fold high-volume records into made-up
|
|
17
|
+
summary nodes, while keeping the critical path, failures, missing evidence,
|
|
18
18
|
policy violations, and judge rationale. See
|
|
19
19
|
[state-explosion-management.7.md](state-explosion-management.7.md).
|
|
20
20
|
|
|
21
21
|
CW v0.1.26 adds the `Adoption Rationale` panel and the `multi-agent reasoning`
|
|
22
|
-
view, which
|
|
23
|
-
the critical path and are never
|
|
22
|
+
view, which makes clear *why* each evidence item was adopted. Reasoning steps are on
|
|
23
|
+
the critical path and are never folded away by compaction. See
|
|
24
24
|
[evidence-adoption-reasoning-chain.7.md](evidence-adoption-reasoning-chain.7.md).
|
|
25
25
|
|
|
26
26
|
CW v0.1.27 adds an additive evidence `disposition` (`adopted` | `inspectable` |
|
|
27
27
|
`blocking`) and an `inspectableEvidence` list. The raw `status` (the adoption
|
|
28
|
-
state) is
|
|
29
|
-
verifier-gated commit, a missing/pending row
|
|
30
|
-
verifier-gated commit the selected path is
|
|
28
|
+
state) is not changed; `disposition` is how the operator reads it. Before a
|
|
29
|
+
verifier-gated commit, a missing/pending row truly blocks. After a
|
|
30
|
+
verifier-gated commit the selected path is fixed, so missing/pending evidence
|
|
31
31
|
for sibling roles that were never driven as separate workers — for example
|
|
32
32
|
undriven judge-panel judges — is inspectable operator state, not a hidden
|
|
33
33
|
failure. The `multi-agent status` "Missing Evidence" header and the `status`
|
|
34
|
-
panel
|
|
34
|
+
panel show the blocking-vs-inspectable split so the operator is not given the wrong idea.
|
|
35
35
|
|
|
36
36
|
The model is derived from:
|
|
37
37
|
|
|
@@ -47,7 +47,7 @@ The model is derived from:
|
|
|
47
47
|
|
|
48
48
|
## Operator Commands
|
|
49
49
|
|
|
50
|
-
Use the normal status and report commands for the
|
|
50
|
+
Use the normal status and report commands for the wide view:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
node scripts/cw.js status <run-id>
|
|
@@ -55,7 +55,7 @@ node scripts/cw.js graph <run-id>
|
|
|
55
55
|
node scripts/cw.js report <run-id> --show
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
Use the focused multi-agent views when the operator needs the process table
|
|
58
|
+
Use the focused multi-agent views when the operator needs the process table.
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
node scripts/cw.js multi-agent status <run-id>
|
|
@@ -65,7 +65,7 @@ node scripts/cw.js multi-agent failures <run-id>
|
|
|
65
65
|
node scripts/cw.js multi-agent evidence <run-id>
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
Every focused command
|
|
68
|
+
Every focused command can give deterministic JSON:
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
71
|
node scripts/cw.js multi-agent status <run-id> --json
|
|
@@ -87,7 +87,7 @@ Next Action
|
|
|
87
87
|
|
|
88
88
|
## Graph
|
|
89
89
|
|
|
90
|
-
`multi-agent graph` shows the topology-backed agent graph
|
|
90
|
+
`multi-agent graph` shows the topology-backed agent graph and the downstream
|
|
91
91
|
acceptance records:
|
|
92
92
|
|
|
93
93
|
- MultiAgentRun, topology run, roles, groups, memberships, fanout, and fanin
|
|
@@ -96,7 +96,7 @@ acceptance records:
|
|
|
96
96
|
decisions
|
|
97
97
|
- candidates, score records, selections, verifier-gated commits, and feedback
|
|
98
98
|
|
|
99
|
-
Edges are labeled when the label
|
|
99
|
+
Edges are labeled when the label gives operational meaning:
|
|
100
100
|
|
|
101
101
|
```text
|
|
102
102
|
owns
|
|
@@ -115,12 +115,12 @@ commits
|
|
|
115
115
|
|
|
116
116
|
Direction follows the dependency or evidence flow. For example, a membership
|
|
117
117
|
depends on a task and worker, worker output reports into the membership,
|
|
118
|
-
blackboard artifacts are cited by fanin, scores
|
|
119
|
-
|
|
118
|
+
blackboard artifacts are cited by fanin, scores judge candidates, selections
|
|
119
|
+
pick scored candidates, and commits record the selected verifier-gated result.
|
|
120
120
|
|
|
121
121
|
## Failures
|
|
122
122
|
|
|
123
|
-
`multi-agent failures`
|
|
123
|
+
`multi-agent failures` joins the records an operator normally has to look at
|
|
124
124
|
one at a time:
|
|
125
125
|
|
|
126
126
|
- failed memberships and missing role coverage
|
|
@@ -131,14 +131,14 @@ one at a time:
|
|
|
131
131
|
- score, selection, verifier, and commit-gate gaps
|
|
132
132
|
- ambiguous blocked dependencies
|
|
133
133
|
|
|
134
|
-
Each row
|
|
134
|
+
Each row has the record id, kind, status, owner or role when known, linked
|
|
135
135
|
task/worker/membership/fanin/candidate when known, the exact reason, and the
|
|
136
136
|
next safe command.
|
|
137
137
|
|
|
138
138
|
## Evidence Adoption
|
|
139
139
|
|
|
140
|
-
`multi-agent evidence`
|
|
141
|
-
row
|
|
140
|
+
`multi-agent evidence` makes clear why a result was accepted or not accepted. Each
|
|
141
|
+
row has:
|
|
142
142
|
|
|
143
143
|
- evidence id/ref/path/locator
|
|
144
144
|
- source kind and source id
|
|
@@ -149,19 +149,19 @@ row includes:
|
|
|
149
149
|
- status: `adopted`, `rejected`, `pending`, `superseded`, `conflicting`, or
|
|
150
150
|
`missing`
|
|
151
151
|
|
|
152
|
-
An accepted path should be
|
|
152
|
+
An accepted path should be possible to trace like this:
|
|
153
153
|
|
|
154
154
|
```text
|
|
155
155
|
worker result -> blackboard artifact/message -> fanin -> candidate score
|
|
156
156
|
-> selection -> verifier-gated commit
|
|
157
157
|
```
|
|
158
158
|
|
|
159
|
-
When any link is missing, CW reports it as pending or missing and
|
|
160
|
-
next command
|
|
159
|
+
When any link is missing, CW reports it as pending or missing and points to the
|
|
160
|
+
next command, instead of taking it for granted that the run is healthy.
|
|
161
161
|
|
|
162
162
|
## MCP Parity
|
|
163
163
|
|
|
164
|
-
MCP hosts can
|
|
164
|
+
MCP hosts can look at the same derived data:
|
|
165
165
|
|
|
166
166
|
- `cw_multi_agent_status`
|
|
167
167
|
- `cw_multi_agent_graph`
|
|
@@ -169,7 +169,7 @@ MCP hosts can inspect the same derived data:
|
|
|
169
169
|
- `cw_multi_agent_failures`
|
|
170
170
|
- `cw_multi_agent_evidence`
|
|
171
171
|
|
|
172
|
-
`cw_multi_agent_status`
|
|
172
|
+
`cw_multi_agent_status` keeps the v0.1.20 host envelope and adds the
|
|
173
173
|
derived operator model under `summaries.multiAgentOperator`.
|
|
174
174
|
|
|
175
175
|
## Example Trace
|
|
@@ -186,59 +186,59 @@ node scripts/cw.js report "$RUN" --show
|
|
|
186
186
|
|
|
187
187
|
The operator can start at an agent membership, follow `depends-on` to its task
|
|
188
188
|
and worker, follow `reports` to the blackboard artifact and fanin, follow
|
|
189
|
-
`scores` to the candidate score, follow `selects` to the
|
|
189
|
+
`scores` to the candidate score, follow `selects` to the picked result, and
|
|
190
190
|
follow `commits` to the verifier-gated state commit.
|
|
191
191
|
|
|
192
192
|
## Smoke Coverage
|
|
193
193
|
|
|
194
|
-
`test/multi-agent-operator-ux-smoke.js`
|
|
195
|
-
run with a
|
|
194
|
+
`test/multi-agent-operator-ux-smoke.js` makes a deterministic topology-backed
|
|
195
|
+
run with a good worker evidence path, a failed worker path, blocked fanin
|
|
196
196
|
evidence, score and selection records, a verifier-gated commit, human CLI
|
|
197
197
|
assertions, JSON CLI assertions, MCP parity assertions, and report assertions.
|
|
198
|
-
It is
|
|
198
|
+
It is part of `npm test` and `npm run release:check`.
|
|
199
199
|
## CLI ↔ MCP Parity (v0.1.27)
|
|
200
200
|
|
|
201
|
-
Every command and tool
|
|
202
|
-
registry (`src/capability-registry.ts`) and
|
|
203
|
-
so `cw <cmd> --json` and the matching `cw_<tool>` result
|
|
201
|
+
Every command and tool named above is declared in the v0.1.27 capability
|
|
202
|
+
registry (`src/capability-registry.ts`) and checked by `npm run parity:check`,
|
|
203
|
+
so `cw <cmd> --json` and the matching `cw_<tool>` result show one data source.
|
|
204
204
|
See [cli-mcp-parity.7.md](cli-mcp-parity.7.md).
|
|
205
205
|
|
|
206
206
|
## Run Registry / Control Plane (v0.1.28)
|
|
207
207
|
|
|
208
|
-
The runs
|
|
209
|
-
rerunnable across repos by the v0.1.28 Run Registry / Control Plane, which
|
|
208
|
+
The runs talked about here are indexed, searchable, resumable, archivable, and
|
|
209
|
+
rerunnable across repos by the v0.1.28 Run Registry / Control Plane, which makes
|
|
210
210
|
a fingerprinted, fail-closed index over the same per-run `.cw/runs/<id>/state.json`
|
|
211
211
|
source of truth. See [run-registry-control-plane.7.md](run-registry-control-plane.7.md).
|
|
212
212
|
|
|
213
213
|
## Execution Backends (v0.1.29)
|
|
214
214
|
|
|
215
|
-
v0.1.29
|
|
216
|
-
contract with
|
|
217
|
-
drivers,
|
|
215
|
+
v0.1.29 moves execution into a pluggable driver layer: one narrow `ExecutionBackend`
|
|
216
|
+
contract with swappable `node`/`bun`/`shell`/`container`/`remote`/`ci`
|
|
217
|
+
drivers, chosen by `--backend` (parallel to `--sandbox`) and looked at through
|
|
218
218
|
`backend list|show|probe`. The result/evidence envelope is schema-identical across
|
|
219
219
|
backends; the backend id + sandbox attestation are recorded as provenance, so this
|
|
220
|
-
surface
|
|
220
|
+
surface stays the same no matter which backend ran a run. See
|
|
221
221
|
[execution-backends.7.md](execution-backends.7.md).
|
|
222
222
|
## Web / Desktop Workbench (v0.1.30)
|
|
223
223
|
|
|
224
224
|
v0.1.30 adds the Web / Desktop Workbench: a read-only, localhost-only human
|
|
225
|
-
console that
|
|
225
|
+
console that shows this surface (and the other four operator panels — run
|
|
226
226
|
graph, blackboard, worker logs, candidate compare, audit timeline) for any run,
|
|
227
|
-
reading the SAME capability `--json` payloads. It is a THIRD FRONT DOOR
|
|
227
|
+
reading the SAME capability `--json` payloads. It is a THIRD FRONT DOOR next to
|
|
228
228
|
the CLI and MCP that holds no authoritative state and forks no schema: each panel
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
is the same as its `cw <cmd> --json` payload byte-for-byte (parity-gated), and refresh
|
|
230
|
+
makes everything again from disk. See
|
|
231
231
|
[web-desktop-workbench.7.md](web-desktop-workbench.7.md).
|
|
232
232
|
|
|
233
233
|
## Observability + Cost Accounting (v0.1.31)
|
|
234
234
|
|
|
235
235
|
v0.1.31 adds Observability + Cost Accounting: `metrics show`/`metrics summary`
|
|
236
|
-
|
|
237
|
-
fail-closed `n/a`), and host-attested token/cost from
|
|
238
|
-
— no metrics database, no collector daemon, no hidden counter. Usage is additive
|
|
236
|
+
work out durations, failure/verifier/acceptance rates (with sample counts and
|
|
237
|
+
fail-closed `n/a`), and host-attested token/cost from the durable run state you
|
|
238
|
+
already have — no metrics database, no collector daemon, no hidden counter. Usage is additive
|
|
239
239
|
and optional (absent ⇒ `unreported`, never 0); cost is `attested` (attested usage
|
|
240
240
|
× a recorded pricing policy) or clearly `estimated`, with pricing as policy. Both
|
|
241
|
-
verbs are parity-gated and
|
|
241
|
+
verbs are parity-gated and show read-only in the v0.1.30 Workbench. See
|
|
242
242
|
[observability-cost-accounting.7.md](observability-cost-accounting.7.md).
|
|
243
243
|
|
|
244
244
|
|
|
@@ -247,11 +247,11 @@ verbs are parity-gated and render read-only in the v0.1.30 Workbench. See
|
|
|
247
247
|
v0.1.32 adds Team Collaboration: a host-attested actor and append-only
|
|
248
248
|
approvals/rejections/comments/handoffs provenance-linked to a durable target,
|
|
249
249
|
plus a review gate that STACKS ON the verifier gate — required approvals from
|
|
250
|
-
authorized roles,
|
|
251
|
-
and never
|
|
250
|
+
authorized roles, made to happen inside `resolveCommitGate` AFTER the verifier checks
|
|
251
|
+
and never in place of them, failing closed on quorum/authority/self-approval and
|
|
252
252
|
recording who approved the very artifact that shipped. Policy (required approvals,
|
|
253
253
|
authorized roles, self-approval) is data, default off (pre-v0.1.32 behavior
|
|
254
|
-
|
|
254
|
+
not changed). The verbs are parity-gated and show read-only in the v0.1.30
|
|
255
255
|
Workbench. See [Team Collaboration](team-collaboration.7.md).
|
|
256
256
|
|
|
257
257
|
## Release Tooling (v0.1.33)
|
|
@@ -260,11 +260,11 @@ the per-tag mechanical surfaces (version bump across 17 surfaces, feature scaffo
|
|
|
260
260
|
|
|
261
261
|
## Real Execution Backend Integrations (v0.1.34)
|
|
262
262
|
|
|
263
|
-
container/remote/ci backends
|
|
263
|
+
container/remote/ci backends truly execute (docker/podman run, remote/CI POST-and-poll) under the sandbox contract, with byte-stable evidence vs node and fail-closed refusal when a runtime/endpoint is not there to use. See real-execution-backends(7).
|
|
264
264
|
|
|
265
265
|
## Node Snapshot / Diff / Replay (v0.1.35)
|
|
266
266
|
|
|
267
|
-
per-node snapshot, structural diff, and isolated deterministic replay over StateNode,
|
|
267
|
+
per-node snapshot, structural diff, and isolated deterministic replay over StateNode, using again the v0.1.23 eval harness; fail-closed on source drift (valid|stale|absent). See node-snapshot-diff-replay(7).
|
|
268
268
|
|
|
269
269
|
## Contract Migration Tooling (v0.1.36)
|
|
270
270
|
|
|
@@ -276,11 +276,11 @@ priority + concurrency limits + lease lifecycle + retry/backoff + fail-closed pa
|
|
|
276
276
|
|
|
277
277
|
## Agent Delegation Drive (v0.1.38)
|
|
278
278
|
|
|
279
|
-
spawn an
|
|
279
|
+
spawn an outside agent process per worker, take result.md + attestation, auto-drive plan->dispatch->fulfill->accept->commit
|
|
280
280
|
|
|
281
281
|
## Run Retention & Provable Reclamation (v0.1.39)
|
|
282
282
|
|
|
283
|
-
tiered, append-only, cryptographically-verifiable run reclamation: seal the audit skeleton, free the reconstructable bulk, prove it
|
|
283
|
+
tiered, append-only, cryptographically-verifiable run reclamation: seal the audit skeleton, free the reconstructable bulk, and prove it
|
|
284
284
|
|
|
285
285
|
## Durable State & Locking (v0.1.40)
|
|
286
286
|
|
|
@@ -292,15 +292,15 @@ evidence grounding + durable audit append + symlink-hardened containment + deter
|
|
|
292
292
|
|
|
293
293
|
## Robust Result Ingest (v0.1.42)
|
|
294
294
|
|
|
295
|
-
|
|
295
|
+
take findings/evidence from any reasonable agent shape (alt keys + prose), CW works out grounded evidence itself, warn on empty capture — closes the v0.1.41 live-drive 'accepted with 0 captured' failure
|
|
296
296
|
|
|
297
297
|
## No-False-Green Gate & Launch Prep (v0.1.43)
|
|
298
298
|
|
|
299
|
-
Hard gate
|
|
299
|
+
Hard gate that blocks empty-capture verifier-gated commits, plus quickstart and launch-prep docs.
|
|
300
300
|
|
|
301
301
|
## Release-Gate Determinism & Agents Vendor (v0.1.44)
|
|
302
302
|
|
|
303
|
-
Release-readiness checks now
|
|
303
|
+
Release-readiness checks now check the committed blob (`git show HEAD:<path>`) instead of the changeable working tree — taking away false-red/false-green from concurrent working-tree writes (iCloud/Spotlight/editor). Adds the `agents` vendor manifest target: a generated `.agents/plugins/cool-workflow/` adapter that gives any non-Claude AI agent one common interface to CW.
|
|
304
304
|
|
|
305
305
|
## P1-P2 Fixes & CI Content Surfaces (v0.1.49)
|
|
306
306
|
|
|
@@ -317,7 +317,11 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
317
317
|
|
|
318
318
|
## Fast Architecture Review (v0.1.80)
|
|
319
319
|
|
|
320
|
-
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics,
|
|
320
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, useful background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
321
321
|
|
|
322
|
-
_No changes to the multi-agent operator UX surface in v0.1.81 (the operator-ux module was
|
|
322
|
+
_No changes to the multi-agent operator UX surface in v0.1.81 (the operator-ux module was cut into behavior-preserving siblings; output is byte-identical)._
|
|
323
323
|
_No changes in v0.1.82._
|
|
324
|
+
|
|
325
|
+
## Hardening and Onboarding (v0.1.83)
|
|
326
|
+
|
|
327
|
+
Loaders fail closed on corrupt state; store writes are made safe under more than one writer; a new cw doctor checks your setup; help lists every command; and the docs are put into Basic English.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
# Multi-Agent Runtime Core
|
|
2
2
|
|
|
3
|
-
CW v0.1.17 made multi-agent runtime state first-class. Dispatches and worker
|
|
4
|
-
records still
|
|
3
|
+
CW v0.1.17 made multi-agent runtime state a first-class thing. Dispatches and worker
|
|
4
|
+
records are still here, but now they have clear process-table-style state around
|
|
5
5
|
them: `MultiAgentRun`, `AgentRole`, `AgentGroup`, `AgentMembership`,
|
|
6
6
|
`AgentFanout`, and `AgentFanin`.
|
|
7
7
|
|
|
8
|
-
CW v0.1.18
|
|
9
|
-
worker manifests, accepted worker output, and fanin evidence can
|
|
8
|
+
CW v0.1.18 adds blackboard and topic links to these records so that fanout,
|
|
9
|
+
worker manifests, accepted worker output, and fanin evidence can point to the
|
|
10
10
|
Coordinator / Blackboard substrate.
|
|
11
11
|
|
|
12
|
-
This release is the runtime core, not
|
|
13
|
-
|
|
12
|
+
This release is the runtime core, not a self-acting scheduler. CW keeps and
|
|
13
|
+
checks the state model. The agent host still runs agents and keeps watch over
|
|
14
14
|
OS/process/network/environment controls.
|
|
15
15
|
|
|
16
16
|
## State Model
|
|
17
17
|
|
|
18
|
-
Multi-agent state
|
|
18
|
+
Multi-agent state is kept in lasting run state:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
21
|
.cw/runs/<run-id>/state.json
|
|
@@ -29,7 +29,7 @@ Multi-agent state lives in durable run state:
|
|
|
29
29
|
fanins: []
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
CW also
|
|
32
|
+
CW also copies records to local JSON files:
|
|
33
33
|
|
|
34
34
|
```text
|
|
35
35
|
.cw/runs/<run-id>/multi-agent/
|
|
@@ -42,51 +42,51 @@ CW also mirrors records to local JSON files:
|
|
|
42
42
|
fanins/<fanin-id>.json
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
All records
|
|
46
|
-
parent/child links where
|
|
47
|
-
|
|
45
|
+
All records have fixed ids, timestamps, schema versions, lifecycle history,
|
|
46
|
+
parent/child links where they are needed, and metadata. Records link back to the
|
|
47
|
+
present workflow run, phase, task, dispatch, worker, result, verifier,
|
|
48
48
|
candidate, commit, and audit surfaces.
|
|
49
49
|
|
|
50
50
|
## Runtime Objects
|
|
51
51
|
|
|
52
|
-
`MultiAgentRun` is the top-level runtime table entry for
|
|
52
|
+
`MultiAgentRun` is the top-level runtime table entry for joined-up agent work.
|
|
53
53
|
Its lifecycle is:
|
|
54
54
|
|
|
55
55
|
```text
|
|
56
56
|
planned -> forming -> running -> collecting -> verifying -> completed
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
It may also move to `failed` or `cancelled`.
|
|
59
|
+
It may also move to `failed` or `cancelled`. Bad lifecycle transitions fail
|
|
60
60
|
closed.
|
|
61
61
|
|
|
62
|
-
`AgentRole`
|
|
63
|
-
|
|
62
|
+
`AgentRole` says what the work is, the evidence needed, sandbox profile hints,
|
|
63
|
+
the artifacts looked for, and fanin duties.
|
|
64
64
|
|
|
65
|
-
`AgentGroup` is a
|
|
65
|
+
`AgentGroup` is a joined-up set of members for a phase or part-problem. Groups
|
|
66
66
|
hold role, task, membership, worker, fanout, and fanin ids.
|
|
67
67
|
|
|
68
|
-
`AgentMembership`
|
|
69
|
-
A worker can
|
|
70
|
-
records.
|
|
68
|
+
`AgentMembership` ties one role to one task and, once dispatched, one worker.
|
|
69
|
+
A worker can be part of one or more groups only through clear membership
|
|
70
|
+
records. A copy of the same group, role, task, and worker membership fails
|
|
71
71
|
closed.
|
|
72
72
|
|
|
73
73
|
`AgentFanout` records why work was split, which roles/tasks/workers were
|
|
74
|
-
|
|
75
|
-
and the
|
|
74
|
+
made or joined, concurrency limits, sandbox profile choices, dispatch ids,
|
|
75
|
+
and the return shape looked for.
|
|
76
76
|
|
|
77
|
-
`AgentFanin` records
|
|
78
|
-
missing
|
|
79
|
-
Fanin does not
|
|
77
|
+
`AgentFanin` records the way work is brought together, required roles, members that reported,
|
|
78
|
+
members that are missing, evidence coverage, blocked reasons, and verifier readiness.
|
|
79
|
+
Fanin does not quietly take missing evidence for required roles.
|
|
80
80
|
|
|
81
81
|
## Dispatch Integration
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
Present dispatch and worker flows are still valid:
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
86
|
node scripts/cw.js dispatch <run-id> --limit 1 --sandbox readonly
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
To
|
|
89
|
+
To tie dispatch to clear multi-agent state:
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
92
|
node scripts/cw.js multi-agent run <run-id> --id ma-release --objective "release verification"
|
|
@@ -128,12 +128,12 @@ Worker manifests then include:
|
|
|
128
128
|
}
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
-
When CW
|
|
131
|
+
When CW takes worker output, it updates linked membership evidence and records
|
|
132
132
|
multi-agent trust audit events.
|
|
133
133
|
|
|
134
134
|
## Fanin
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
Gather fanin after worker output:
|
|
137
137
|
|
|
138
138
|
```bash
|
|
139
139
|
node scripts/cw.js multi-agent fanin <run-id> release-fanin \
|
|
@@ -143,12 +143,12 @@ node scripts/cw.js multi-agent fanin <run-id> release-fanin \
|
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
If a required role has no membership, or a membership has not reported evidence,
|
|
146
|
-
the fanin record is `blocked` and `verifierReady=false`. This is
|
|
147
|
-
missing evidence is a state error, not
|
|
146
|
+
the fanin record is `blocked` and `verifierReady=false`. This is done on purpose:
|
|
147
|
+
missing evidence is a state error, not a quiet success.
|
|
148
148
|
|
|
149
149
|
## Inspect
|
|
150
150
|
|
|
151
|
-
Use
|
|
151
|
+
Use the everyday operator commands:
|
|
152
152
|
|
|
153
153
|
```bash
|
|
154
154
|
node scripts/cw.js status <run-id>
|
|
@@ -158,7 +158,7 @@ node scripts/cw.js audit summary <run-id>
|
|
|
158
158
|
node scripts/cw.js audit provenance <run-id>
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
Use
|
|
161
|
+
Use the more pointed multi-agent commands:
|
|
162
162
|
|
|
163
163
|
```bash
|
|
164
164
|
node scripts/cw.js multi-agent summary <run-id>
|
|
@@ -175,7 +175,7 @@ node scripts/cw.js multi-agent fanin <run-id> <fanin-id>
|
|
|
175
175
|
|
|
176
176
|
The status and report Multi-Agent panel shows group status, role coverage,
|
|
177
177
|
membership health, fanout/fanin progress, blocked reasons, and the next
|
|
178
|
-
|
|
178
|
+
suggested action.
|
|
179
179
|
|
|
180
180
|
## MCP Parity
|
|
181
181
|
|
|
@@ -192,7 +192,7 @@ cw_multi_agent_fanout_show
|
|
|
192
192
|
cw_multi_agent_fanin_show
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
-
Safe write tools:
|
|
195
|
+
Safe write tools are:
|
|
196
196
|
|
|
197
197
|
```text
|
|
198
198
|
cw_multi_agent_run_create
|
|
@@ -204,13 +204,13 @@ cw_multi_agent_fanout_create
|
|
|
204
204
|
cw_multi_agent_fanin_collect
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
There is no MCP-only or CLI-only core model. The dogfood release script
|
|
208
|
-
CLI-only because it is a local release-engineering
|
|
207
|
+
There is no MCP-only or CLI-only core model. The dogfood release script is still
|
|
208
|
+
CLI-only because it is a local release-engineering build made from present CW
|
|
209
209
|
tools, not a new runtime primitive.
|
|
210
210
|
|
|
211
211
|
## Compatibility
|
|
212
212
|
|
|
213
|
-
Older v0.1.16 and earlier run state
|
|
213
|
+
Older v0.1.16 and earlier run state is made regular with:
|
|
214
214
|
|
|
215
215
|
```json
|
|
216
216
|
{
|
|
@@ -226,6 +226,6 @@ Older v0.1.16 and earlier run state normalizes with:
|
|
|
226
226
|
}
|
|
227
227
|
```
|
|
228
228
|
|
|
229
|
-
|
|
230
|
-
and fixture files are not
|
|
229
|
+
User data that is not known is kept safe. Fixtures are copied before compatibility tests,
|
|
230
|
+
and fixture files are not changed.
|
|
231
231
|
0.1.51
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
CW v0.1.19 adds the first official topology layer on top of the Multi-Agent
|
|
4
4
|
Runtime Core and Coordinator / Blackboard.
|
|
5
5
|
|
|
6
|
-
Topologies are userland recipes, not hidden automation.
|
|
7
|
-
|
|
6
|
+
Topologies are userland recipes, not hidden automation. When you apply a
|
|
7
|
+
topology, it makes ordinary CW records: `MultiAgentRun`, roles, groups, fanouts,
|
|
8
8
|
fanins, blackboard topics, messages, coordinator decisions, audit events,
|
|
9
9
|
candidate links, selections, commits, and graph nodes.
|
|
10
10
|
|
|
11
11
|
## Official Topologies
|
|
12
12
|
|
|
13
|
-
- `map-reduce`:
|
|
13
|
+
- `map-reduce`: makes mapper roles, a reducer role, mapper fanout, mapper
|
|
14
14
|
output topics, reducer synthesis topics, and fail-closed fanin readiness.
|
|
15
|
-
- `debate`:
|
|
15
|
+
- `debate`: makes opposing roles, debate round topics, conflict context,
|
|
16
16
|
coordinator claim decisions, and a final synthesis role.
|
|
17
|
-
- `judge-panel`:
|
|
17
|
+
- `judge-panel`: makes free judge roles, a panel chair, judge verdict
|
|
18
18
|
topics, score aggregation expectations, and panel decision provenance.
|
|
19
19
|
|
|
20
20
|
## Contract
|
|
21
21
|
|
|
22
|
-
Each topology definition
|
|
22
|
+
Each topology definition gives:
|
|
23
23
|
|
|
24
24
|
- roles and groups
|
|
25
25
|
- blackboard topics
|
|
@@ -30,14 +30,14 @@ Each topology definition declares:
|
|
|
30
30
|
- candidate and scoring expectations
|
|
31
31
|
- verifier gates
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Lasting topology run records are kept in:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
36
|
.cw/runs/<run-id>/topologies/index.json
|
|
37
37
|
.cw/runs/<run-id>/topologies/runs/<topology-run-id>.json
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
The topology record links to the
|
|
40
|
+
The topology record links to the made multi-agent run, roles, groups,
|
|
41
41
|
fanouts, fanins, blackboard topics, messages, coordinator decisions,
|
|
42
42
|
candidates, selections, commits, and trust audit events.
|
|
43
43
|
|
|
@@ -52,7 +52,7 @@ node scripts/cw.js topology summary <run-id>
|
|
|
52
52
|
node scripts/cw.js topology graph <run-id>
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
Apply commands are JSON-first. `summary` and `graph` also
|
|
55
|
+
Apply commands are JSON-first. `summary` and `graph` also give human output
|
|
56
56
|
and `--json`.
|
|
57
57
|
|
|
58
58
|
## MCP
|
|
@@ -66,38 +66,38 @@ MCP parity tools:
|
|
|
66
66
|
- `cw_topology_summary`
|
|
67
67
|
- `cw_topology_graph`
|
|
68
68
|
|
|
69
|
-
There is no topology behavior that is
|
|
69
|
+
There is no topology behavior that is made CLI-only on purpose.
|
|
70
70
|
|
|
71
71
|
## Fail Closed
|
|
72
72
|
|
|
73
|
-
Topology fanin uses the
|
|
73
|
+
Topology fanin uses the present `AgentFanin` checks. Required roles without
|
|
74
74
|
memberships, memberships without result evidence, and memberships without
|
|
75
|
-
indexed blackboard evidence
|
|
76
|
-
next command, but it does not
|
|
75
|
+
indexed blackboard evidence stay blocked. A topology run can put forward the
|
|
76
|
+
next command, but it does not quietly mark missing evidence as complete.
|
|
77
77
|
|
|
78
|
-
For map-reduce, reducer readiness
|
|
78
|
+
For map-reduce, reducer readiness needs mapper evidence and blackboard
|
|
79
79
|
artifact refs. For debate, synthesis must cite messages, conflict context, and
|
|
80
|
-
coordinator decisions. For judge-panel, no judge output
|
|
81
|
-
fanin and score evidence
|
|
80
|
+
coordinator decisions. For judge-panel, no judge output has authority until
|
|
81
|
+
fanin and score evidence back a panel decision.
|
|
82
82
|
|
|
83
83
|
## Operator UX
|
|
84
84
|
|
|
85
|
-
`status`, `report --show`, and `graph`
|
|
85
|
+
`status`, `report --show`, and `graph` take in topology progress:
|
|
86
86
|
|
|
87
87
|
- topology id and topology run id
|
|
88
|
-
-
|
|
88
|
+
- made multi-agent run and blackboard id
|
|
89
89
|
- roles, topics, fanouts, and fanins
|
|
90
90
|
- readiness and missing evidence
|
|
91
91
|
- conflicts
|
|
92
92
|
- deterministic next action
|
|
93
93
|
|
|
94
|
-
Trust audit summaries
|
|
94
|
+
Trust audit summaries take in topology event counts, and audit provenance can
|
|
95
95
|
follow worker evidence into blackboard artifacts, fanin, candidate selection,
|
|
96
96
|
commits, and reports.
|
|
97
97
|
|
|
98
|
-
CW v0.1.22 adds policy-aware topology inspection.
|
|
99
|
-
role policies, message provenance, blackboard write audit, judge
|
|
100
|
-
panel decisions, and policy violations through the same trust-audit
|
|
101
|
-
worker sandbox and evidence provenance records. Judge-panel
|
|
102
|
-
|
|
98
|
+
CW v0.1.22 adds policy-aware topology inspection. When you apply a topology, it
|
|
99
|
+
records role policies, message provenance, blackboard write audit, judge
|
|
100
|
+
rationale, panel decisions, and policy violations through the same trust-audit
|
|
101
|
+
log used by worker sandbox and evidence provenance records. Judge-panel
|
|
102
|
+
selection now needs evidence-backed judge rationale and panel-chair rationale.
|
|
103
103
|
0.1.51
|