cool-workflow 0.1.80 → 0.1.81
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 +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +42 -2
- 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/agent-config.js +21 -7
- package/dist/candidate-scoring.js +42 -22
- package/dist/capability-core.js +94 -17
- package/dist/capability-registry.js +138 -171
- package/dist/cli.js +90 -100
- package/dist/collaboration.js +5 -6
- package/dist/commit.js +20 -6
- package/dist/compare.js +18 -0
- package/dist/coordinator/classify.js +45 -0
- package/dist/coordinator/paths.js +42 -0
- package/dist/coordinator/util.js +129 -0
- package/dist/coordinator.js +127 -300
- package/dist/dispatch.js +35 -0
- package/dist/drive.js +7 -7
- package/dist/error-feedback.js +8 -4
- package/dist/evidence-reasoning.js +1 -1
- package/dist/execution-backend/agent.js +331 -0
- package/dist/execution-backend/probes.js +96 -0
- package/dist/execution-backend/util.js +47 -0
- package/dist/execution-backend.js +67 -420
- package/dist/mcp-server.js +34 -173
- package/dist/multi-agent/graph.js +84 -0
- package/dist/multi-agent/helpers.js +145 -0
- package/dist/multi-agent/paths.js +22 -0
- package/dist/multi-agent-eval/format.js +194 -0
- package/dist/multi-agent-eval/normalize.js +51 -0
- package/dist/multi-agent-eval.js +39 -244
- package/dist/multi-agent-host.js +0 -19
- package/dist/multi-agent.js +125 -314
- package/dist/node-snapshot.js +3 -3
- package/dist/observability/format.js +61 -0
- package/dist/observability/intake.js +98 -0
- package/dist/observability.js +14 -160
- package/dist/operator-ux/format.js +364 -0
- package/dist/operator-ux.js +22 -363
- package/dist/orchestrator/report.js +8 -0
- package/dist/orchestrator.js +25 -8
- package/dist/reclamation.js +26 -21
- package/dist/run-export.js +138 -14
- package/dist/run-registry/derive.js +172 -0
- package/dist/run-registry/format.js +124 -0
- package/dist/run-registry/gc.js +251 -0
- package/dist/run-registry/policy.js +16 -0
- package/dist/run-registry/queue.js +116 -0
- package/dist/run-registry.js +78 -593
- package/dist/run-state-schema.js +1 -0
- package/dist/sandbox-profile.js +43 -2
- package/dist/state-explosion/format.js +159 -0
- package/dist/state-explosion/helpers.js +82 -0
- package/dist/state-explosion.js +65 -283
- package/dist/state-node.js +19 -4
- package/dist/telemetry-attestation.js +55 -0
- package/dist/telemetry-demo.js +15 -3
- package/dist/telemetry-ledger.js +60 -15
- package/dist/topology.js +25 -8
- package/dist/triggers.js +33 -14
- package/dist/trust-audit.js +145 -33
- package/dist/version.js +1 -1
- package/dist/worker-isolation/helpers.js +51 -0
- package/dist/worker-isolation/paths.js +46 -0
- package/dist/worker-isolation.js +39 -115
- package/docs/agent-delegation-drive.7.md +13 -0
- package/docs/cli-mcp-parity.7.md +4 -0
- package/docs/contract-migration-tooling.7.md +2 -0
- package/docs/control-plane-scheduling.7.md +2 -0
- package/docs/dogfood/resume-drive-real-agent-2026-06-14.md +40 -0
- package/docs/durable-state-and-locking.7.md +4 -0
- package/docs/evidence-adoption-reasoning-chain.7.md +2 -0
- package/docs/execution-backends.7.md +2 -0
- package/docs/index.md +1 -0
- package/docs/launch/launch-kit.md +46 -23
- package/docs/launch/pre-launch-checklist.md +14 -14
- package/docs/multi-agent-cli-mcp-surface.7.md +4 -0
- package/docs/multi-agent-eval-replay-harness.7.md +2 -0
- package/docs/multi-agent-operator-ux.7.md +2 -0
- package/docs/multi-agent-trust-policy-audit.7.md +27 -0
- package/docs/node-snapshot-diff-replay.7.md +2 -0
- package/docs/observability-cost-accounting.7.md +2 -0
- package/docs/project-index.md +18 -5
- package/docs/real-execution-backends.7.md +2 -0
- package/docs/release-and-migration.7.md +4 -0
- package/docs/release-tooling.7.md +2 -0
- package/docs/run-registry-control-plane.7.md +54 -8
- package/docs/run-retention-reclamation.7.md +4 -0
- package/docs/state-explosion-management.7.md +2 -0
- package/docs/team-collaboration.7.md +2 -0
- package/docs/trust-model.md +267 -0
- package/docs/vendor-manifest-loadability.7.md +43 -0
- package/docs/web-desktop-workbench.7.md +2 -0
- package/manifest/plugin.manifest.json +1 -1
- package/package.json +4 -2
- package/scripts/agents/builtin-templates.json +7 -0
- package/scripts/bump-version.js +5 -11
- package/scripts/canonical-apps-list.js +64 -0
- package/scripts/canonical-apps.js +19 -4
- package/scripts/dogfood-release.js +1 -1
- package/scripts/golden-path.js +4 -4
- package/scripts/parity-check.js +5 -0
- package/scripts/release-check.js +5 -1
- package/scripts/version-sync-check.js +5 -8
- package/dist/capability-dispatcher.js +0 -86
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
# Pre-Launch Checklist — Cool Workflow Show HN
|
|
2
2
|
|
|
3
|
-
Tick top to bottom; when it's done, post. The one non-negotiable gate is
|
|
3
|
+
Tick top to bottom; when it's done, post. The one non-negotiable gate is ②.
|
|
4
4
|
Copy for the post itself lives in [launch-kit.md](launch-kit.md) (the **✅ FINAL**
|
|
5
5
|
block).
|
|
6
6
|
|
|
7
|
-
## ①
|
|
8
|
-
|
|
9
|
-
- [ ] **Reboot the Mac** — clears the leaked ptys (`kern.tty.ptmx_max` was 511 with
|
|
10
|
-
527 allocated), so Terminal / VS Code can spawn shells again. Required before
|
|
11
|
-
the verification below.
|
|
12
|
-
|
|
13
|
-
## ② Prepare assets (optional, recommended)
|
|
7
|
+
## ① Prepare assets (optional, recommended)
|
|
14
8
|
|
|
15
9
|
- [ ] Install [vhs](https://github.com/charmbracelet/vhs) (`brew install vhs`).
|
|
16
10
|
- [ ] Record the GIF: `vhs plugins/cool-workflow/docs/launch/demo.tape` →
|
|
17
11
|
`docs/launch/demo-tamper.gif`.
|
|
18
|
-
- [ ]
|
|
19
|
-
``), commit + push.
|
|
12
|
+
- [ ] Add it to the README hero (insert
|
|
13
|
+
`` near the badges/intro), commit + push.
|
|
20
14
|
> Shippable without the GIF — the README's text `✗ DETECTED` hook already stands;
|
|
21
15
|
> the GIF is upside, not a blocker.
|
|
22
16
|
|
|
23
|
-
##
|
|
17
|
+
## ② Verify — the make-or-break gate (do not skip)
|
|
24
18
|
|
|
25
19
|
- [ ] On a **clean machine / fresh terminal**: `npx cool-workflow demo tamper`
|
|
26
20
|
prints `VERDICT: tamper-evidence holds ✓`.
|
|
@@ -28,20 +22,26 @@ block).
|
|
|
28
22
|
> non-negotiable check.
|
|
29
23
|
- [ ] Sanity: `npx cool-workflow quickstart architecture-review --repo . --question "risks?"`
|
|
30
24
|
→ `status: blocked` with no agent configured (fails closed, no crash).
|
|
25
|
+
- [ ] Resumable sanity: `cw quickstart architecture-review --resume` advances one step
|
|
26
|
+
then stops; `cw run resume <run-id> --drive` continues a stopped run — proving
|
|
27
|
+
runs break at dispatch and replay from disk.
|
|
31
28
|
|
|
32
|
-
##
|
|
29
|
+
## ③ Post (US morning, ~9–11am ET is peak)
|
|
33
30
|
|
|
34
31
|
- [ ] Open the **✅ FINAL** block in [launch-kit.md](launch-kit.md).
|
|
35
32
|
- [ ] HN title: `Show HN: Cool Workflow – tamper-evident telemetry for agent pipelines (npx demo)`
|
|
36
33
|
- [ ] URL field: `https://github.com/coo1white/cool-workflow`
|
|
37
34
|
- [ ] Immediately after posting, paste the FINAL "first comment" as the first reply.
|
|
38
35
|
|
|
39
|
-
##
|
|
36
|
+
## ④ First hour (decides the outcome)
|
|
40
37
|
|
|
41
38
|
- [ ] Watch and reply fast — early engagement weighs most on HN.
|
|
42
39
|
- [ ] On the "single key holder / no second party" critique (the audit flagged it
|
|
43
40
|
too): concede it honestly and frame it as exactly why you're looking for early
|
|
44
41
|
integration partners. **Turn the critique into an invitation; don't argue.**
|
|
42
|
+
> The canned, linkable answer is already written: [docs/trust-model.md](../trust-model.md)
|
|
43
|
+
> states the ceiling plainly (integrity ≠ source honesty; one party holding both
|
|
44
|
+
> roles; full local re-chain) and frames the partner ask. Link it; don't re-argue it.
|
|
45
45
|
- [ ] No vote-rigging, no asking friends to upvote, no deleting critical comments —
|
|
46
46
|
HN's anti-abuse will sink the post.
|
|
47
47
|
|
|
@@ -49,5 +49,5 @@ block).
|
|
|
49
49
|
|
|
50
50
|
### Go / no-go
|
|
51
51
|
|
|
52
|
-
> If
|
|
52
|
+
> If **② — `npx cool-workflow demo tamper` prints `✓` on a clean machine** — passes,
|
|
53
53
|
> you can post. Everything else is upside.
|
|
@@ -269,3 +269,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
269
269
|
## Fast Architecture Review (v0.1.80)
|
|
270
270
|
|
|
271
271
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
272
|
+
|
|
273
|
+
## New Both-Surface Verbs (v0.1.81)
|
|
274
|
+
|
|
275
|
+
v0.1.81 adds `audit verify` (`cw_audit_verify`) and `run inspect-archive` (`cw_run_inspect_archive`) — both declared once in the capability registry and exposed identically on the CLI and MCP, fail-closed (non-zero exit / `ok:false` on an unverified chain or a tampered archive).
|
|
@@ -306,3 +306,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
306
306
|
## Fast Architecture Review (v0.1.80)
|
|
307
307
|
|
|
308
308
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
309
|
+
|
|
310
|
+
_No changes to the multi-agent eval/replay harness in v0.1.81 (the multi-agent-eval module was carved into behavior-preserving siblings; replay output is byte-identical)._
|
|
@@ -318,3 +318,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
318
318
|
## Fast Architecture Review (v0.1.80)
|
|
319
319
|
|
|
320
320
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
321
|
+
|
|
322
|
+
_No changes to the multi-agent operator UX surface in v0.1.81 (the operator-ux module was carved into behavior-preserving siblings; output is byte-identical)._
|
|
@@ -115,6 +115,32 @@ Human output includes stable panels:
|
|
|
115
115
|
- Policy Violations
|
|
116
116
|
- Next Action
|
|
117
117
|
|
|
118
|
+
## Verify (fail-closed)
|
|
119
|
+
|
|
120
|
+
`audit summary` embeds an `integrity` field but is a *reader* — it always exits 0,
|
|
121
|
+
so it cannot gate a script. `audit verify` is the gate:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
node scripts/cw.js audit verify <run-id> # exit 1 if the chain is forged
|
|
125
|
+
node scripts/cw.js audit verify <run-id> --json
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
It re-proves the run's trust-audit hash chain offline: it recomputes every event
|
|
129
|
+
hash from genesis, checks `prevEventHash` linkage, and catches the unchained-event
|
|
130
|
+
forgery (an `eventHash`-less line slipped into a chained log to be waved through as
|
|
131
|
+
"legacy"). The JSON reports `present`, `verified`, `eventCount`, `chained`,
|
|
132
|
+
`unchained`, `corruptLines`, and `failedChecks[]`.
|
|
133
|
+
|
|
134
|
+
Exit-code contract (the peer of `telemetry verify`):
|
|
135
|
+
|
|
136
|
+
- ANY **unverified** chain exits **1** — forged / edited / truncated / unchained-injected,
|
|
137
|
+
*and* a fully-corrupt log (every line unparseable, which reports `present:false` but
|
|
138
|
+
`verified:false`). The gate keys on `verified`, not `present`, so the most severe
|
|
139
|
+
tamper — garbling the whole log — cannot escape by looking "absent". So
|
|
140
|
+
`cw audit verify <run> && deploy` stops on tampering.
|
|
141
|
+
- Only a truly **absent / empty** chain is `verified:true` / exit **0** — a run with
|
|
142
|
+
no audit log (or a blank one) has nothing to prove (no false-red).
|
|
143
|
+
|
|
118
144
|
## MCP
|
|
119
145
|
|
|
120
146
|
MCP parity tools:
|
|
@@ -128,6 +154,7 @@ MCP parity tools:
|
|
|
128
154
|
The older audit tools remain available:
|
|
129
155
|
|
|
130
156
|
- `cw_audit_summary`
|
|
157
|
+
- `cw_audit_verify` — fail-closed re-prove of the trust-audit hash chain (peer of `cw_telemetry_verify`)
|
|
131
158
|
- `cw_audit_worker`
|
|
132
159
|
- `cw_audit_provenance`
|
|
133
160
|
- `cw_audit_attest`
|
|
@@ -139,3 +139,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
139
139
|
## Fast Architecture Review (v0.1.80)
|
|
140
140
|
|
|
141
141
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
142
|
+
|
|
143
|
+
_No changes to node-snapshot diff/replay in v0.1.81._
|
|
@@ -198,3 +198,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
198
198
|
## Fast Architecture Review (v0.1.80)
|
|
199
199
|
|
|
200
200
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
201
|
+
|
|
202
|
+
_No changes to the observability + cost-accounting surface in v0.1.81 (the observability module was carved into behavior-preserving siblings; output is byte-identical)._
|
package/docs/project-index.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Cool Workflow Project Index
|
|
2
2
|
|
|
3
|
-
Generated from the current repository code on 2026-06-
|
|
3
|
+
Generated from the current repository code on 2026-06-14 by `npm run sync:project-index`.
|
|
4
4
|
|
|
5
5
|
## Snapshot
|
|
6
6
|
|
|
7
7
|
- Package: `cool-workflow`
|
|
8
|
-
- Version: `0.1.
|
|
8
|
+
- Version: `0.1.81`
|
|
9
9
|
- Source modules: `58`
|
|
10
10
|
- Workflow apps: `7`
|
|
11
|
-
- Docs: `
|
|
12
|
-
- Smoke tests: `
|
|
11
|
+
- Docs: `49`
|
|
12
|
+
- Smoke tests: `86`
|
|
13
13
|
- Repository: https://github.com/coo1white/cool-workflow
|
|
14
14
|
|
|
15
15
|
## Architecture
|
|
@@ -82,9 +82,9 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
82
82
|
|
|
83
83
|
- [agent-config.ts](../src/agent-config.ts)
|
|
84
84
|
- [capability-core.ts](../src/capability-core.ts)
|
|
85
|
-
- [capability-dispatcher.ts](../src/capability-dispatcher.ts)
|
|
86
85
|
- [capability-registry.ts](../src/capability-registry.ts)
|
|
87
86
|
- [collaboration.ts](../src/collaboration.ts)
|
|
87
|
+
- [compare.ts](../src/compare.ts)
|
|
88
88
|
- [contract-migration.ts](../src/contract-migration.ts)
|
|
89
89
|
- [drive.ts](../src/drive.ts)
|
|
90
90
|
- [evidence-grounding.ts](../src/evidence-grounding.ts)
|
|
@@ -167,7 +167,9 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
167
167
|
- [State Explosion Management](state-explosion-management.7.md)
|
|
168
168
|
- [STATE-NODE(7)](state-node.7.md)
|
|
169
169
|
- [Team Collaboration](team-collaboration.7.md)
|
|
170
|
+
- [Trust Model & Limitations](trust-model.md)
|
|
170
171
|
- [Unix-Inspired Workflow Principles](unix-principles.md)
|
|
172
|
+
- [Vendor Manifest Loadability](vendor-manifest-loadability.7.md)
|
|
171
173
|
- [VERIFIER-GATED-COMMIT(7)](verifier-gated-commit.7.md)
|
|
172
174
|
- [Web / Desktop Workbench](web-desktop-workbench.7.md)
|
|
173
175
|
- [WORKER-ISOLATION(7)](worker-isolation.7.md)
|
|
@@ -181,17 +183,20 @@ Smoke tests mirror the public contracts. The high-signal suites are:
|
|
|
181
183
|
- [architecture-review-fast-automation-smoke.js](../test/architecture-review-fast-automation-smoke.js)
|
|
182
184
|
- [architecture-review-fast-smoke.js](../test/architecture-review-fast-smoke.js)
|
|
183
185
|
- [artifact-integrity-smoke.js](../test/artifact-integrity-smoke.js)
|
|
186
|
+
- [audit-verify-smoke.js](../test/audit-verify-smoke.js)
|
|
184
187
|
- [backend-registry-smoke.js](../test/backend-registry-smoke.js)
|
|
185
188
|
- [block-unapproved-tag-smoke.js](../test/block-unapproved-tag-smoke.js)
|
|
186
189
|
- [candidate-scoring-smoke.js](../test/candidate-scoring-smoke.js)
|
|
187
190
|
- [canonical-workflow-apps-smoke.js](../test/canonical-workflow-apps-smoke.js)
|
|
188
191
|
- [claude-p-agent-wrapper-smoke.js](../test/claude-p-agent-wrapper-smoke.js)
|
|
192
|
+
- [cli-jsonmode-parity-smoke.js](../test/cli-jsonmode-parity-smoke.js)
|
|
189
193
|
- [cli-mcp-parity-smoke.js](../test/cli-mcp-parity-smoke.js)
|
|
190
194
|
- [concurrent-failure-semantics-smoke.js](../test/concurrent-failure-semantics-smoke.js)
|
|
191
195
|
- [concurrent-workflow-dsl-smoke.js](../test/concurrent-workflow-dsl-smoke.js)
|
|
192
196
|
- [contract-migration-tooling-smoke.js](../test/contract-migration-tooling-smoke.js)
|
|
193
197
|
- [control-plane-scheduling-smoke.js](../test/control-plane-scheduling-smoke.js)
|
|
194
198
|
- [coordinator-blackboard-smoke.js](../test/coordinator-blackboard-smoke.js)
|
|
199
|
+
- [det-ids-b-smoke.js](../test/det-ids-b-smoke.js)
|
|
195
200
|
- [dogfood-release-smoke.js](../test/dogfood-release-smoke.js)
|
|
196
201
|
- [durable-atomic-write-smoke.js](../test/durable-atomic-write-smoke.js)
|
|
197
202
|
- [end-to-end-demo-smoke.js](../test/end-to-end-demo-smoke.js)
|
|
@@ -201,6 +206,8 @@ Smoke tests mirror the public contracts. The high-signal suites are:
|
|
|
201
206
|
- [evidence-adoption-reasoning-smoke.js](../test/evidence-adoption-reasoning-smoke.js)
|
|
202
207
|
- [evidence-content-extraction-smoke.js](../test/evidence-content-extraction-smoke.js)
|
|
203
208
|
- [execution-backends-smoke.js](../test/execution-backends-smoke.js)
|
|
209
|
+
- [freebsd-audit-fixes-smoke.js](../test/freebsd-audit-fixes-smoke.js)
|
|
210
|
+
- [h7-custom-profile-persist-smoke.js](../test/h7-custom-profile-persist-smoke.js)
|
|
204
211
|
- [mcp-app-surface-smoke.js](../test/mcp-app-surface-smoke.js)
|
|
205
212
|
- [multi-agent-cli-mcp-surface-smoke.js](../test/multi-agent-cli-mcp-surface-smoke.js)
|
|
206
213
|
- [multi-agent-eval-replay-harness-smoke.js](../test/multi-agent-eval-replay-harness-smoke.js)
|
|
@@ -229,7 +236,10 @@ Smoke tests mirror the public contracts. The high-signal suites are:
|
|
|
229
236
|
- [run-export-restore-rerun-smoke.js](../test/run-export-restore-rerun-smoke.js)
|
|
230
237
|
- [run-export-restore-resume-smoke.js](../test/run-export-restore-resume-smoke.js)
|
|
231
238
|
- [run-fixture-compat-smoke.js](../test/run-fixture-compat-smoke.js)
|
|
239
|
+
- [run-import-tamper-failclosed-smoke.js](../test/run-import-tamper-failclosed-smoke.js)
|
|
240
|
+
- [run-inspect-archive-smoke.js](../test/run-inspect-archive-smoke.js)
|
|
232
241
|
- [run-registry-control-plane-smoke.js](../test/run-registry-control-plane-smoke.js)
|
|
242
|
+
- [run-resume-drive-smoke.js](../test/run-resume-drive-smoke.js)
|
|
233
243
|
- [run-retention-reclamation-smoke.js](../test/run-retention-reclamation-smoke.js)
|
|
234
244
|
- [sandbox-profile-smoke.js](../test/sandbox-profile-smoke.js)
|
|
235
245
|
- [schedule-routine-daemon-smoke.js](../test/schedule-routine-daemon-smoke.js)
|
|
@@ -246,8 +256,11 @@ Smoke tests mirror the public contracts. The high-signal suites are:
|
|
|
246
256
|
- [telemetry-fail-closed-smoke.js](../test/telemetry-fail-closed-smoke.js)
|
|
247
257
|
- [telemetry-ledger-smoke.js](../test/telemetry-ledger-smoke.js)
|
|
248
258
|
- [telemetry-metrics-coverage-smoke.js](../test/telemetry-metrics-coverage-smoke.js)
|
|
259
|
+
- [telemetry-verify-signatures-smoke.js](../test/telemetry-verify-signatures-smoke.js)
|
|
249
260
|
- [token-budget-enforcement-smoke.js](../test/token-budget-enforcement-smoke.js)
|
|
261
|
+
- [vendor-manifest-load-smoke.js](../test/vendor-manifest-load-smoke.js)
|
|
250
262
|
- [verifier-gated-commit-smoke.js](../test/verifier-gated-commit-smoke.js)
|
|
263
|
+
- [verify-import-audit-chain-smoke.js](../test/verify-import-audit-chain-smoke.js)
|
|
251
264
|
- [web-desktop-workbench-smoke.js](../test/web-desktop-workbench-smoke.js)
|
|
252
265
|
- [worker-isolation-smoke.js](../test/worker-isolation-smoke.js)
|
|
253
266
|
- [worker-retry-count-smoke.js](../test/worker-retry-count-smoke.js)
|
|
@@ -146,3 +146,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
146
146
|
## Fast Architecture Review (v0.1.80)
|
|
147
147
|
|
|
148
148
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
149
|
+
|
|
150
|
+
_No changes to the real execution backends in v0.1.81._
|
|
@@ -284,3 +284,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
284
284
|
## Fast Architecture Review (v0.1.80)
|
|
285
285
|
|
|
286
286
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
287
|
+
|
|
288
|
+
## Migration Compatibility (v0.1.81)
|
|
289
|
+
|
|
290
|
+
v0.1.81 is additive: every change is a new flag/verb/env (`audit verify`, `run inspect-archive`, `verify-import --strict`, `CW_REQUIRE_ARCHIVE_INTEGRITY`, `quickstart --resume`, `run resume --drive`) or an internal behavior-preserving carve. Run-state schema, existing outputs, files, and exit codes are byte-identical, so runs and archives from prior versions load and verify unchanged. No migration action is required.
|
|
@@ -163,3 +163,5 @@ also get generated MCP manifests (`.gemini-plugin/`, `.opencode-plugin/`) so the
|
|
|
163
163
|
## Fast Architecture Review (v0.1.80)
|
|
164
164
|
|
|
165
165
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
166
|
+
|
|
167
|
+
_No changes to the release-flow tooling in v0.1.81; this release was cut through the existing gate->review->tag flow._
|
|
@@ -115,6 +115,14 @@ cwd — loads its durable state, and returns the next runnable tasks and next
|
|
|
115
115
|
actions for the host to execute. Resume is read-only over source: it never
|
|
116
116
|
mutates `state.json` and never un-archives a run.
|
|
117
117
|
|
|
118
|
+
`run resume <run-id> --drive` (or `--once` for a single step) hands the resolved
|
|
119
|
+
run straight to the existing agent-delegation drive loop — it re-plans nothing and
|
|
120
|
+
picks up the pending/running tasks deterministically from durable state — and
|
|
121
|
+
augments the result with the drive outcome under a `drive` field. The default (no
|
|
122
|
+
`--drive`) payload and `nextActions` stay byte-identical. An unconfigured agent
|
|
123
|
+
yields `drive.status="blocked"` (fail-closed, never a fabricated completion); CW
|
|
124
|
+
delegates worker execution to your agent and never runs a model itself.
|
|
125
|
+
|
|
118
126
|
## Queue
|
|
119
127
|
|
|
120
128
|
`queue add` appends a durable entry to `$CW_HOME/registry/queue.json` with an
|
|
@@ -160,14 +168,47 @@ resumed from the target repo; restored failed runs remain discoverable from the
|
|
|
160
168
|
home registry and can be rerun as new linked runs. The import does not alter the
|
|
161
169
|
source repository or the source run.
|
|
162
170
|
|
|
163
|
-
|
|
164
|
-
every
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
171
|
+
**Import-time refusal (fail-closed before any write).** Import verifies every
|
|
172
|
+
file digest, every file size, the file count, and the manifest digest *before*
|
|
173
|
+
creating the target run directory — so a tampered archive is refused with a
|
|
174
|
+
non-zero exit and a single `cw:` stderr line, leaving nothing on disk (no partial
|
|
175
|
+
restore). Set `CW_REQUIRE_ARCHIVE_INTEGRITY=1` to additionally refuse an archive
|
|
176
|
+
whose top-level integrity block is *absent* — closing the legacy fail-open seam
|
|
177
|
+
where a stripped-integrity archive imported unverified. Unset (the default) keeps
|
|
178
|
+
legacy integrity-less archives byte-identical; the flag is mechanism, not policy.
|
|
168
179
|
|
|
169
|
-
|
|
170
|
-
|
|
180
|
+
`run verify-import <run-id> [--cwd DIR]` re-reads the restore manifest, recomputes
|
|
181
|
+
every restored file digest, checks the manifest digest, verifies the telemetry
|
|
182
|
+
ledger when one was restored, and re-proves the **trust-audit hash chain** (the
|
|
183
|
+
decisions / sandbox / commit-gate log, also restored under `audit/`). Missing
|
|
184
|
+
manifests, digest mismatches, path escapes, unsupported archive schemas, unreadable
|
|
185
|
+
files, telemetry-chain failures, or a forged audit chain (`trust-audit-invalid`)
|
|
186
|
+
return explicit failed checks instead of a fabricated success. An archive with no
|
|
187
|
+
audit log yields a passing `trust-audit` check (nothing to prove — no false-red).
|
|
188
|
+
|
|
189
|
+
By default `verify-import` prints the result and exits 0 even when a check fails
|
|
190
|
+
(it is a report). Pass `--strict` to make any failed restore check exit non-zero,
|
|
191
|
+
so `cw run verify-import <run> --strict && restore` stops on a tampered archive.
|
|
192
|
+
|
|
193
|
+
**Inspect an archive before restoring.** `run inspect-archive PATH [--json]`
|
|
194
|
+
re-proves a portable archive's integrity *without writing anything* — contrast
|
|
195
|
+
with `run import`, which validates as a side-effect of restoring a full
|
|
196
|
+
`.cw/runs/<id>/` tree. It re-computes every embedded file's sha256 and size, the
|
|
197
|
+
`integrity.fileCount` and manifest digest, and the whole-archive sha256, returning
|
|
198
|
+
a structured `checks[]` — each failure names the offending `relativePath` with a
|
|
199
|
+
`digest-mismatch` / `size-mismatch` / `manifest-digest-mismatch` /
|
|
200
|
+
`file-count-mismatch` code. It never throws: an unreadable path, invalid JSON, or an
|
|
201
|
+
unknown `schemaVersion` (`schemaSupported:false`) is reported as a check, not a
|
|
202
|
+
stacktrace — stdout is always valid JSON, diagnostics go to stderr. It exits `1`
|
|
203
|
+
when `ok:false`, so `cw run inspect-archive <path> && cw run import <path>` stops
|
|
204
|
+
before importing a bad archive. It is a faithful preview of import: under
|
|
205
|
+
`CW_REQUIRE_ARCHIVE_INTEGRITY=1` a stripped-integrity archive (which import would
|
|
206
|
+
refuse) also inspects as `ok:false`; with the env unset (default) an absent integrity
|
|
207
|
+
block is merely reported, not failed.
|
|
208
|
+
|
|
209
|
+
MCP exposes the same mechanisms as `cw_run_export`, `cw_run_import`,
|
|
210
|
+
`cw_run_verify_import`, and `cw_run_inspect_archive`; the CLI and MCP paths share
|
|
211
|
+
the same runtime functions.
|
|
171
212
|
|
|
172
213
|
## Cross-repo history
|
|
173
214
|
|
|
@@ -184,13 +225,14 @@ node scripts/cw.js registry show [--scope repo|home] [--json]
|
|
|
184
225
|
node scripts/cw.js run search [--app ID] [--status STATE] [--text Q] [--repo PATH] [--since ISO] [--until ISO] [--limit N] [--offset N] [--scope repo|home] [--json]
|
|
185
226
|
node scripts/cw.js run list [--scope repo|home] [--json]
|
|
186
227
|
node scripts/cw.js run show <run-id> [--scope repo|home] [--json]
|
|
187
|
-
node scripts/cw.js run resume <run-id> [--limit N] [--json]
|
|
228
|
+
node scripts/cw.js run resume <run-id> [--limit N] [--drive [--once]] [--json]
|
|
188
229
|
node scripts/cw.js run archive <run-id> [--reason TEXT] [--unarchive]
|
|
189
230
|
node scripts/cw.js run archive --older-than-days N [--state completed --state failed]
|
|
190
231
|
node scripts/cw.js run rerun <run-id> [--reason TEXT]
|
|
191
232
|
node scripts/cw.js run export <run-id> --output PATH
|
|
192
233
|
node scripts/cw.js run import PATH --target DIR
|
|
193
234
|
node scripts/cw.js run verify-import <run-id> [--cwd DIR]
|
|
235
|
+
node scripts/cw.js run inspect-archive PATH [--json]
|
|
194
236
|
node scripts/cw.js queue add [--app ID|--workflow ID|--runId ID] [--repo PATH] [--priority N] [--note TEXT]
|
|
195
237
|
node scripts/cw.js queue list [--status STATE] [--repo PATH] [--json]
|
|
196
238
|
node scripts/cw.js queue show <queue-id>
|
|
@@ -353,3 +395,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
353
395
|
## Fast Architecture Review (v0.1.80)
|
|
354
396
|
|
|
355
397
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
398
|
+
|
|
399
|
+
## Resume Drive, Inspect-Archive & Restore Re-Prove (v0.1.81)
|
|
400
|
+
|
|
401
|
+
v0.1.81 adds `run resume <id> --drive/--once` (continue an interrupted run via the agent-drive loop; default resume stays read-only and byte-identical), `run inspect-archive PATH` (read-only archive integrity check that names any offending file without importing), and restore-time hardening: `verify-import` now re-proves the trust-audit chain on restore and gains `--strict`, and `CW_REQUIRE_ARCHIVE_INTEGRITY=1` refuses a stripped-integrity archive before any write.
|
|
@@ -195,3 +195,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
195
195
|
## Fast Architecture Review (v0.1.80)
|
|
196
196
|
|
|
197
197
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
198
|
+
|
|
199
|
+
## Deterministic Freed Manifest (v0.1.81)
|
|
200
|
+
|
|
201
|
+
The freed manifest is path-sorted before it feeds `tombstoneHash`, so reclamation's write-ahead tombstone hash-chain is reproducible across hosts regardless of filesystem enumeration order. Reclaimed tiers, the re-point seam, and the default (reclaim-nothing) policy are unchanged.
|
|
@@ -275,3 +275,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
275
275
|
## Fast Architecture Review (v0.1.80)
|
|
276
276
|
|
|
277
277
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
278
|
+
|
|
279
|
+
_No changes to the state-explosion management surface in v0.1.81 (the module was carved into behavior-preserving siblings; output is byte-identical)._
|
|
@@ -211,3 +211,5 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
211
211
|
## Fast Architecture Review (v0.1.80)
|
|
212
212
|
|
|
213
213
|
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
214
|
+
|
|
215
|
+
_No changes to the team-collaboration surface in v0.1.81._
|