cool-workflow 0.2.4 → 0.2.6

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 (155) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/.gemini-plugin/mcp.json +10 -0
  4. package/.gemini-plugin/plugin.json +40 -0
  5. package/.opencode-plugin/mcp.json +10 -0
  6. package/.opencode-plugin/plugin.json +40 -0
  7. package/README.md +204 -48
  8. package/apps/architecture-review/app.json +1 -1
  9. package/apps/architecture-review-fast/app.json +1 -1
  10. package/apps/end-to-end-golden-path/app.json +1 -1
  11. package/apps/pr-review-fix-ci/app.json +1 -1
  12. package/apps/release-cut/app.json +1 -1
  13. package/apps/research-synthesis/app.json +1 -1
  14. package/dist/cli/dispatch.js +32 -4
  15. package/dist/cli/entry.js +11 -19
  16. package/dist/cli/global-flags.js +113 -0
  17. package/dist/cli/parseargv.js +7 -1
  18. package/dist/core/capability-data.js +337 -8
  19. package/dist/core/format/help.js +73 -3
  20. package/dist/core/format/recovery-hint.js +32 -0
  21. package/dist/core/multi-agent/collaboration.js +35 -6
  22. package/dist/core/multi-agent/runtime.js +7 -0
  23. package/dist/core/multi-agent/trust-policy.js +7 -1
  24. package/dist/core/pipeline/contract.js +7 -0
  25. package/dist/core/pipeline/error-feedback.js +2 -2
  26. package/dist/core/state/run-paths.js +3 -30
  27. package/dist/core/trust/evidence-grounding.js +13 -1
  28. package/dist/core/util/cli-args.js +22 -0
  29. package/dist/core/version.js +1 -1
  30. package/dist/mcp/dispatch.js +22 -2
  31. package/dist/mcp/server.js +215 -36
  32. package/dist/mcp/tool-process.js +181 -0
  33. package/dist/mcp-server.js +28 -1
  34. package/dist/shell/agent-config.js +11 -2
  35. package/dist/shell/audit-cli.js +1 -1
  36. package/dist/shell/commit.js +8 -2
  37. package/dist/shell/coordinator-io.js +73 -1
  38. package/dist/shell/drive.js +195 -128
  39. package/dist/shell/error-feedback-io.js +6 -0
  40. package/dist/shell/execution-backend/agent.js +201 -26
  41. package/dist/shell/execution-backend/container.js +44 -10
  42. package/dist/shell/execution-backend/local.js +33 -0
  43. package/dist/shell/fs-atomic.js +96 -12
  44. package/dist/shell/ledger-cli.js +9 -2
  45. package/dist/shell/metrics-cli.js +1 -1
  46. package/dist/shell/multi-agent-cli.js +9 -2
  47. package/dist/shell/multi-agent-operator-ux.js +1 -1
  48. package/dist/shell/observability.js +7 -4
  49. package/dist/shell/onramp.js +48 -5
  50. package/dist/shell/operator-ux.js +1 -1
  51. package/dist/shell/perf-trace.js +136 -0
  52. package/dist/shell/pipeline.js +3 -2
  53. package/dist/shell/reclamation-io.js +10 -9
  54. package/dist/shell/report-view-cli.js +2 -0
  55. package/dist/shell/run-export-cli.js +5 -2
  56. package/dist/shell/run-export.js +293 -31
  57. package/dist/shell/run-registry-io.js +8 -0
  58. package/dist/shell/run-store.js +183 -3
  59. package/dist/shell/scheduler-io.js +101 -10
  60. package/dist/shell/state-explosion-cli.js +4 -1
  61. package/dist/shell/telemetry-demo.js +1 -1
  62. package/dist/shell/telemetry-ledger-io.js +36 -24
  63. package/dist/shell/trust-audit.js +178 -36
  64. package/dist/shell/workbench-host.js +121 -10
  65. package/dist/shell/workbench.js +83 -6
  66. package/dist/shell/worker-isolation.js +1 -1
  67. package/dist/wiring/capability-table/basics.js +5 -0
  68. package/dist/wiring/capability-table/exec-backend.js +40 -22
  69. package/dist/wiring/capability-table/parity.js +10 -5
  70. package/dist/wiring/capability-table/pipeline.js +32 -0
  71. package/dist/wiring/capability-table/registry-core.js +26 -3
  72. package/dist/wiring/capability-table/reporting.js +7 -1
  73. package/dist/wiring/capability-table/scheduling-registry.js +8 -2
  74. package/dist/wiring/capability-table/trust-ledger.js +54 -12
  75. package/docs/agent-delegation-drive.7.md +17 -0
  76. package/docs/cli-mcp-parity.7.md +46 -5
  77. package/docs/contract-migration-tooling.7.md +4 -0
  78. package/docs/control-plane-scheduling.7.md +38 -0
  79. package/docs/cross-agent-ledger.7.md +20 -8
  80. package/docs/durable-state-and-locking.7.md +4 -0
  81. package/docs/evidence-adoption-reasoning-chain.7.md +4 -0
  82. package/docs/execution-backends.7.md +4 -0
  83. package/docs/fix.7.md +4 -4
  84. package/docs/getting-started.md +40 -32
  85. package/docs/index.md +17 -0
  86. package/docs/launch/demo.tape +4 -3
  87. package/docs/mcp-app-surface.7.md +27 -0
  88. package/docs/multi-agent-cli-mcp-surface.7.md +4 -0
  89. package/docs/multi-agent-eval-replay-harness.7.md +4 -0
  90. package/docs/multi-agent-operator-ux.7.md +4 -0
  91. package/docs/node-snapshot-diff-replay.7.md +4 -0
  92. package/docs/observability-cost-accounting.7.md +4 -0
  93. package/docs/project-index.md +53 -9
  94. package/docs/real-execution-backends.7.md +4 -0
  95. package/docs/release-and-migration.7.md +4 -0
  96. package/docs/release-tooling.7.md +12 -0
  97. package/docs/routine.7.md +22 -0
  98. package/docs/run-registry-control-plane.7.md +37 -9
  99. package/docs/run-retention-reclamation.7.md +12 -4
  100. package/docs/state-explosion-management.7.md +4 -0
  101. package/docs/team-collaboration.7.md +4 -0
  102. package/docs/trust-audit-anchor.7.md +4 -0
  103. package/docs/web-desktop-workbench.7.md +72 -2
  104. package/docs/workflow-app-framework.7.md +31 -0
  105. package/manifest/plugin.manifest.json +1 -1
  106. package/manifest/source-context-profiles.json +4 -3
  107. package/package.json +6 -3
  108. package/scripts/agents/agent-adapter-core.js +26 -0
  109. package/scripts/agents/claude-p-agent.js +4 -1
  110. package/scripts/agents/codex-agent.js +4 -0
  111. package/scripts/agents/cw-attest-wrap.js +1 -1
  112. package/scripts/agents/gemini-agent.js +4 -0
  113. package/scripts/agents/opencode-agent.js +5 -0
  114. package/scripts/block-unapproved-tag.js +160 -0
  115. package/scripts/canonical-apps.js +4 -4
  116. package/scripts/children/batch-delegate-child.js +72 -4
  117. package/scripts/children/http-batch-delegate-child.js +132 -0
  118. package/scripts/children/http-delegate-child.js +8 -0
  119. package/scripts/dogfood-release.js +2 -2
  120. package/scripts/fake-date-for-reproduction.js +1 -1
  121. package/scripts/gen-manifests.js +32 -61
  122. package/scripts/golden-path.js +4 -4
  123. package/scripts/lang-policy-check.js +82 -0
  124. package/scripts/parity-check.js +42 -23
  125. package/scripts/purity-baseline.json +0 -3
  126. package/scripts/purity-gate.js +16 -3
  127. package/scripts/release-check.js +2 -1
  128. package/scripts/release-flow.js +169 -41
  129. package/scripts/release-gate.js +208 -0
  130. package/scripts/release-oneclick.js +38 -7
  131. package/scripts/release-tags.js +47 -0
  132. package/scripts/schema-version-inventory.json +31 -0
  133. package/scripts/validate-run-state-schema.js +95 -4
  134. package/scripts/verdict-keygen.js +2 -2
  135. package/scripts/verify-bump-reproduction.js +193 -0
  136. package/scripts/verify-release-verdict.js +139 -0
  137. package/scripts/verify-verdict-signature.js +1 -1
  138. package/ui/workbench/app.css +50 -10
  139. package/ui/workbench/app.js +269 -34
  140. package/ui/workbench/index.html +4 -2
  141. package/ui/workbench/inspection.js +51 -0
  142. package/ui/workbench/navigation.js +44 -0
  143. package/docs/agent-framework.md +0 -177
  144. package/docs/designs/handoff-ledger.md +0 -145
  145. package/docs/dogfood/resume-drive-real-agent-2026-06-14.md +0 -40
  146. package/docs/launch/launch-kit.md +0 -195
  147. package/docs/launch/pre-launch-checklist.md +0 -53
  148. package/docs/readme-v0.1.87-full.md +0 -301
  149. package/docs/routines.md +0 -101
  150. package/docs/scheduled-tasks.md +0 -80
  151. package/scripts/agents/claude-p-agent.sh +0 -9
  152. package/scripts/block-unapproved-tag.sh +0 -75
  153. package/scripts/release-gate.sh +0 -94
  154. package/scripts/verify-bump-reproduction.sh +0 -148
  155. package/scripts/verify-container-selfref.js +0 -64
@@ -3,8 +3,15 @@
3
3
  CW adds `cw ledger` — a way for two agents scoped to two separate repos to hand
4
4
  each other a CHANGE PROPOSAL or a REVIEW VERDICT as verifiable data, not chat.
5
5
  One side proposes or reviews; the other side verifies the entry fail-closed and
6
- turns a proposal into a real pull request. Design notes:
7
- [handoff-ledger](designs/handoff-ledger.md).
6
+ turns a proposal into a real pull request.
7
+
8
+ Design note (why not a shared folder): the obvious first design — a shared
9
+ local directory both agents read and append to — only works when both agents
10
+ run on ONE machine with ONE filesystem. Two agents scoped to two repos (or two
11
+ machines) need a transport both can already reach, with saved, inspectable,
12
+ fail-closed state — never a fabricated hand-off. That is why an entry is a
13
+ self-verifying file in a git repo both sides can push and pull, and why the
14
+ kernel holds no git logic at all.
8
15
 
9
16
  Each entry is a self-contained JSON object that carries its own sha256 content
10
17
  digest. The producing side prints one; it reaches the other session by human
@@ -51,13 +58,18 @@ cw ledger review --from <a> --to <b> --target <proposal-id|pr-ref> \
51
58
  --verdict <approved|rejected> [--findings "a,b"]
52
59
  cw ledger verify [--file <path>] # else reads the entry from stdin
53
60
  cw ledger apply [--file <path>] # verify a proposal, then print its diff
54
- cw ledger list --dir <ledger-dir> [--dir <mirror-2> ...] # verify a dir (or union of mirrors)
61
+ cw ledger list --ledger-dir <ledger-dir> [--ledger-dir <mirror-2> ...] # verify a dir (or union of mirrors)
55
62
  ```
56
63
 
57
64
  All write JSON to stdout (stdout is data). `propose` and `review` print a sealed
58
65
  entry; `verify` prints a check report; `apply` prints a verify-plus-diff report;
59
66
  `list` prints a per-entry report over a directory.
60
67
 
68
+ `--ledger-dir` is the preferred spelling for `list`: the CLI front door
69
+ treats `--dir` as a global alias of `--repo` on every command, so the old
70
+ `--dir` made one flag mean two things here. `--dir` keeps working
71
+ unchanged as the legacy alias; when both are given, `--ledger-dir` wins.
72
+
61
73
  ## Applying a proposal — fail-closed
62
74
 
63
75
  A proposal carries a `suggestedDiff`, but a proposal never mutates the target
@@ -131,12 +143,12 @@ on the mirror-union output and on the `cw_ledger_list` MCP tool.
131
143
 
132
144
  ### Mirrors — union-verifying several directories
133
145
 
134
- `--dir` is repeatable. With two or more, `cw ledger list` **union-verifies** the
146
+ `--ledger-dir` (and the legacy `--dir`) is repeatable. With two or more, `cw ledger list` **union-verifies** the
135
147
  directories as mirrors of one ledger (e.g. the same handoff repo cloned from a
136
148
  GitHub remote and one or more self-hosted Gitea remotes in different places):
137
149
 
138
150
  ```
139
- cw ledger list --dir gh/ledger --dir gitea-eu/ledger --dir gitea-asia/ledger
151
+ cw ledger list --ledger-dir gh/ledger --ledger-dir gitea-eu/ledger --ledger-dir gitea-asia/ledger
140
152
  ```
141
153
 
142
154
  The union is **conflict-free by construction**: entries are immutable and
@@ -146,10 +158,10 @@ across mirrors** — a tampered entry in ANY mirror sets `allOk:false` and exits
146
158
  `1`. This is for redundancy and reachability, not load: the ledger's traffic is
147
159
  tiny; multiple hosts guard against one being down or unreachable.
148
160
 
149
- A single `--dir` keeps the original single-directory output (a `dir` field, no
161
+ A single directory flag keeps the original single-directory output (a `dir` field, no
150
162
  `dirs`); two or more switch to the union shape (`dirs` plus a per-entry `dirs`).
151
163
  The transport stays git-host-agnostic — adding a mirror is one more clone + one
152
- more `--dir`, no code change.
164
+ more `--ledger-dir`, no code change.
153
165
 
154
166
  ## Entry shape
155
167
 
@@ -214,4 +226,4 @@ cw ledger verify --file verdict.json
214
226
  Stage 1 shipped the CLI verbs (human relay). Stage 2 adds the MCP surface and
215
227
  the git-as-ledger transport (`cw ledger list` over a shared repo). Still open:
216
228
  the operator creates the shared handoff repo and scopes both agent environments
217
- into it. See [handoff-ledger](designs/handoff-ledger.md).
229
+ into it. Setup runbook: [handoff-setup](handoff-setup.md).
@@ -186,3 +186,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
186
186
  0.2.3
187
187
 
188
188
  0.2.4
189
+
190
+ 0.2.5
191
+
192
+ 0.2.6
@@ -327,3 +327,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
327
327
  0.2.3
328
328
 
329
329
  0.2.4
330
+
331
+ 0.2.5
332
+
333
+ 0.2.6
@@ -357,3 +357,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
357
357
  0.2.3
358
358
 
359
359
  0.2.4
360
+
361
+ 0.2.5
362
+
363
+ 0.2.6
package/docs/fix.7.md CHANGED
@@ -8,7 +8,6 @@
8
8
 
9
9
  ```text
10
10
  node dist/cli.js fix
11
- node dist/cli.js fix --json
12
11
  ```
13
12
 
14
13
  ## DESCRIPTION
@@ -28,9 +27,10 @@ If any check has status `fail`, the command exits with code 1.
28
27
 
29
28
  ## OPTIONS
30
29
 
31
- `--json`
32
- : Give back the full doctor report as a stable JSON object, with the same shape
33
- as `cw doctor --json`. The `checks` array carries every fix string.
30
+ `cw fix` takes no options of its own; its output is always the plain fix-command
31
+ text (a `--json` flag is silently ignored this byte behavior is pinned by
32
+ `v2/conformance/cases/report-fix.case.js`). For a machine-readable report of the
33
+ same checks, use `cw doctor --json`: its `checks` array carries every fix string.
34
34
 
35
35
  ## EXIT CODES
36
36
 
@@ -1,14 +1,21 @@
1
1
  # Getting Started
2
2
 
3
+ *This page is for people changing CW itself. To USE `cw`, see the wiki
4
+ [Getting Started](https://github.com/coo1white/cool-workflow/wiki/Getting-Started).*
5
+
3
6
  Start from a new clone:
4
7
 
5
8
  ```bash
6
9
  cd plugins/cool-workflow
7
10
  npm install
8
11
  npm run build
12
+ npm link # puts the `cw` command on your PATH
9
13
  cw app list
10
14
  ```
11
15
 
16
+ No `npm link`? Every `cw <args>` line on this page also works as
17
+ `node scripts/cw.js <args>` from this directory.
18
+
12
19
  ## Check your setup first (`cw doctor`)
13
20
 
14
21
  Like `brew doctor`, this names any setup problem and the fix for it before you
@@ -44,53 +51,54 @@ small:
44
51
  Add `--changed-from origin/main` in a source checkout to get the nearest smoke
45
52
  tests and guard checks for your current change.
46
53
 
47
- Make a run with a canonical workflow app:
54
+ ## One run, end to end
55
+
56
+ Plan a run with a canonical workflow app. `--dryRun true` keeps it safe;
57
+ put real version numbers in place of `X.Y.Z` / `X.Y.W`:
48
58
 
49
59
  ```bash
50
60
  cw plan release-cut \
51
61
  --repo "$PWD" \
52
- --version 0.1.25 \
53
- --previousVersion 0.1.24 \
62
+ --version X.Y.Z \
63
+ --previousVersion X.Y.W \
54
64
  --releaseBranch main \
55
65
  --dryRun true
56
66
  ```
57
67
 
58
- Use the run id you get back:
68
+ The plan prints a run id. See where that run is:
59
69
 
60
70
  ```bash
61
71
  cw status <run-id>
62
- cw graph <run-id>
72
+ ```
73
+
74
+ Give the next ready task to your agent, one step at a time, in a
75
+ read-only sandbox:
76
+
77
+ ```bash
63
78
  cw dispatch <run-id> --limit 1 --sandbox readonly
64
- cw worker summary <run-id>
65
- cw topology list
66
- cw topology apply <run-id> map-reduce --task <task-id>
67
- cw topology summary <run-id>
68
- cw multi-agent run <run-id> --topology judge-panel --task <task-id>
69
- cw multi-agent status <run-id>
70
- cw multi-agent graph <run-id>
71
- cw multi-agent dependencies <run-id>
72
- cw multi-agent failures <run-id>
73
- cw multi-agent evidence <run-id>
74
- cw multi-agent step <run-id> --sandbox readonly
75
- cw multi-agent blackboard <run-id> summary
76
- cw multi-agent score <run-id> <candidate-id> --criterion correctness=1 --evidence <ref>
77
- cw multi-agent select <run-id> <candidate-id> --reason "verified winner"
78
- cw multi-agent summary <run-id>
79
- cw blackboard summary <run-id>
80
- cw audit summary <run-id>
81
- cw audit multi-agent <run-id>
82
- cw audit policy <run-id>
83
- cw audit blackboard <run-id>
84
- cw audit judge <run-id>
85
- cw eval snapshot <run-id> --id <suite-id>
86
- cw eval replay .cw/evals/<suite-id>/snapshot.json
87
- cw eval compare .cw/evals/<suite-id>/snapshot.json .cw/evals/<suite-id>/replay-run.json
88
- cw eval score .cw/evals/<suite-id>/replay-run.json
89
- cw eval gate .cw/evals/<suite-id>
90
- cw eval report .cw/evals/<suite-id>/replay-run.json
79
+ ```
80
+
81
+ When the run is complete, read the report, then prove its record chain
82
+ offline:
83
+
84
+ ```bash
91
85
  cw report <run-id> --show
86
+ cw telemetry verify <run-id>
87
+ ```
88
+
89
+ If a run comes to a stop before the end — an agent error, a Ctrl-C, a
90
+ lost session — take it up again from where it stopped:
91
+
92
+ ```bash
93
+ cw run resume <run-id> --drive
92
94
  ```
93
95
 
96
+ That is the whole loop: plan → status → dispatch → report → verify →
97
+ resume. The common command shapes are on the wiki page
98
+ [Commands or API](https://github.com/coo1white/cool-workflow/wiki/Commands-or-API);
99
+ the complete, generated list of every command — topology, multi-agent,
100
+ audit, eval, and the rest — is in [`cli-mcp-parity.7.md`](cli-mcp-parity.7.md).
101
+
94
102
  Run the smallest check that fits the change:
95
103
 
96
104
  ```bash
package/docs/index.md CHANGED
@@ -52,6 +52,23 @@ advanced pages only when you need those parts.
52
52
  - [Trust Audit Anchor](trust-audit-anchor.7.md) - head anchor that makes a cut-off audit-log tail visible.
53
53
  - [State Explosion Management](state-explosion-management.7.md) - summaries, compact graph views, blackboard digests, and stale-aware compaction.
54
54
  - [Evidence Adoption Reasoning Chain](evidence-adoption-reasoning-chain.7.md) - why evidence was adopted or rejected.
55
+ - [Pipeline Runner](pipeline-runner.7.md) - the plan/dispatch/result/commit state machine at the kernel's center.
56
+ - [Pipeline Verbs](pipeline-verbs.7.md) - `cw plan|dispatch|result` and the worker result contract.
57
+ - [Verifier-Gated Commit](verifier-gated-commit.7.md) - evidence checks that let a commit through or refuse it.
58
+ - [Worker Isolation](worker-isolation.7.md) - worker-local state, write acceptance, and the isolation boundary.
59
+ - [Candidate Scoring](candidate-scoring.7.md) - scoring and selection across worker candidates.
60
+ - [Error Feedback](error-feedback.7.md) - structured error records fed back into the next attempt.
61
+ - [State Node](state-node.7.md) - the durable node record every run is made of.
62
+ - [Capability / Topology Registry](capability-topology-registry.7.md) - the one data source behind CLI, MCP, and help.
63
+ - [Cross-Agent Ledger](cross-agent-ledger.7.md) - digest-sealed proposals and reviews between two agents (`cw ledger`).
64
+ - [Routine Triggers](routine.7.md) - `cw routine` local trigger bridge for API/GitHub events.
65
+ - [Remote Source Review](remote-source-review.7.md) - reviewing a repository the agent cannot clone.
66
+ - [Vendor Manifest Loadability](vendor-manifest-loadability.7.md) - proving generated vendor manifests actually load.
67
+ - [Canonical Workflow Apps](canonical-workflow-apps.7.md) - the official app matrix and its checks.
68
+ - [Doctor](doctor.7.md) - environment and onramp diagnosis (`cw doctor`).
69
+ - [Demo](demo.7.md) - the tamper-evidence demo (`cw demo`).
70
+ - [Fix](fix.7.md) - `cw fix` guided recovery for a blocked run.
71
+ - [Init](init.7.md) - `cw init` repository bootstrap.
55
72
 
56
73
  CW is the base system. Workflow apps are userland. Release and migration rules
57
74
  must keep that line clear: stable contracts, clear compatibility checks, and
@@ -5,9 +5,10 @@
5
5
  #
6
6
  # vhs plugins/cool-workflow/docs/launch/demo.tape
7
7
  #
8
- # Output: docs/launch/demo-tamper.gif. Then in the root README, replace the
9
- # fenced demo output block under "See it in 30 seconds" with:
10
- # ![cw demo tamper](plugins/cool-workflow/docs/launch/demo-tamper.gif)
8
+ # Output: plugins/cool-workflow/docs/launch/demo-tamper.gif. The SHIPPED hero
9
+ # GIF is docs/assets/demo.gif (README.md:18) after a fresh capture, copy it
10
+ # there so the README picks it up:
11
+ # cp plugins/cool-workflow/docs/launch/demo-tamper.gif docs/assets/demo.gif
11
12
 
12
13
  Output plugins/cool-workflow/docs/launch/demo-tamper.gif
13
14
 
@@ -14,6 +14,33 @@ The bridge keeps to CW's base-system rules:
14
14
  `criteria`
15
15
  - errors fail closed through JSON-RPC errors and lasting ErrorFeedback where the
16
16
  runtime already keeps feedback
17
+ - a failed `tools/call` (a bad tool name, a missing needed value, or the
18
+ tool's own code failing) comes back as a normal result shaped
19
+ `{ content: [...], isError: true }`, with a `Try: <hint>` line when one
20
+ applies, not a bare JSON-RPC error — so a host that does not show
21
+ protocol errors to the model still lets it read the message and try
22
+ again
23
+
24
+ ## Control and Tool Processes
25
+
26
+ The MCP parent process reads JSON-RPC, writes JSON-RPC, and answers `ping`.
27
+ One child process runs `tools/call` work in order. A file lock wait or a long
28
+ agent call in that child does not stop the parent from answering `ping`.
29
+
30
+ The child sends back the same JSON text that the old in-process tool call gave
31
+ back. Tool names, input names, output shapes, run files, and CLI parity stay
32
+ the same.
33
+
34
+ If the child stops during a tool call, CW gives an `isError: true` result for
35
+ that call. CW does not run the call again, because it may have written part of
36
+ a run. Read the saved run state before you try the call again. The next tool
37
+ call starts a new child process.
38
+
39
+ When stdin ends, CW keeps the ordered tool queue to its end and then stops the
40
+ child. This lets a client send a last batch and close stdin without losing its
41
+ replies. On `SIGINT` or `SIGTERM`, CW stops the child at once and then ends by
42
+ the same signal. A tool waiting on a file lock cannot wake later and write
43
+ state after its parent has ended.
17
44
 
18
45
  ## App Run Flow
19
46
 
@@ -333,3 +333,7 @@ The host-facing surface tracks the CLI golden-path fixes (`cw -q` routing + repo
333
333
  0.2.3
334
334
 
335
335
  0.2.4
336
+
337
+ 0.2.5
338
+
339
+ 0.2.6
@@ -359,3 +359,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
359
359
  0.2.3
360
360
 
361
361
  0.2.4
362
+
363
+ 0.2.5
364
+
365
+ 0.2.6
@@ -371,3 +371,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
371
371
  0.2.3
372
372
 
373
373
  0.2.4
374
+
375
+ 0.2.5
376
+
377
+ 0.2.6
@@ -192,3 +192,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
192
192
  0.2.3
193
193
 
194
194
  0.2.4
195
+
196
+ 0.2.5
197
+
198
+ 0.2.6
@@ -252,3 +252,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
252
252
  0.2.3
253
253
 
254
254
  0.2.4
255
+
256
+ 0.2.5
257
+
258
+ 0.2.6
@@ -1,15 +1,15 @@
1
1
  # Cool Workflow Project Index
2
2
 
3
- Generated from the current repository code on 2026-07-11 by `npm run sync:project-index`.
3
+ Generated from the current repository code on 2026-07-14 by `npm run sync:project-index`.
4
4
 
5
5
  ## Snapshot
6
6
 
7
7
  - Package: `cool-workflow`
8
- - Version: `0.2.4`
9
- - Source modules: `149`
8
+ - Version: `0.2.6`
9
+ - Source modules: `153`
10
10
  - Workflow apps: `8`
11
- - Docs: `62`
12
- - Smoke tests: `204`
11
+ - Docs: `58`
12
+ - Smoke tests: `248`
13
13
  - Repository: https://github.com/coo1white/cool-workflow
14
14
 
15
15
  ## Architecture
@@ -80,12 +80,14 @@ multi-agent host -> topology -> blackboard/coordinator
80
80
 
81
81
  - [cli/dispatch.ts](../src/cli/dispatch.ts)
82
82
  - [cli/entry.ts](../src/cli/entry.ts)
83
+ - [cli/global-flags.ts](../src/cli/global-flags.ts)
83
84
  - [cli/io.ts](../src/cli/io.ts)
84
85
  - [cli/parseargv.ts](../src/cli/parseargv.ts)
85
86
  - [core/capability-data.ts](../src/core/capability-data.ts)
86
87
  - [core/capability-table.ts](../src/core/capability-table.ts)
87
88
  - [core/format/completion.ts](../src/core/format/completion.ts)
88
89
  - [core/format/help.ts](../src/core/format/help.ts)
90
+ - [core/format/recovery-hint.ts](../src/core/format/recovery-hint.ts)
89
91
  - [core/format/safe-json.ts](../src/core/format/safe-json.ts)
90
92
  - [core/format/state-explosion-text.ts](../src/core/format/state-explosion-text.ts)
91
93
  - [core/hash.ts](../src/core/hash.ts)
@@ -123,6 +125,7 @@ multi-agent host -> topology -> blackboard/coordinator
123
125
  - [core/util/numeric-flag.ts](../src/core/util/numeric-flag.ts)
124
126
  - [mcp/dispatch.ts](../src/mcp/dispatch.ts)
125
127
  - [mcp/server.ts](../src/mcp/server.ts)
128
+ - [mcp/tool-process.ts](../src/mcp/tool-process.ts)
126
129
  - [shell/agent-config.ts](../src/shell/agent-config.ts)
127
130
  - [shell/app-run-cli.ts](../src/shell/app-run-cli.ts)
128
131
  - [shell/audit-cli.ts](../src/shell/audit-cli.ts)
@@ -164,6 +167,7 @@ multi-agent host -> topology -> blackboard/coordinator
164
167
  - [shell/observability.ts](../src/shell/observability.ts)
165
168
  - [shell/onramp.ts](../src/shell/onramp.ts)
166
169
  - [shell/operator-ux-text.ts](../src/shell/operator-ux-text.ts)
170
+ - [shell/perf-trace.ts](../src/shell/perf-trace.ts)
167
171
  - [shell/pipeline-cli.ts](../src/shell/pipeline-cli.ts)
168
172
  - [shell/pipeline.ts](../src/shell/pipeline.ts)
169
173
  - [shell/reclamation-io.ts](../src/shell/reclamation-io.ts)
@@ -218,7 +222,6 @@ multi-agent host -> topology -> blackboard/coordinator
218
222
  ## Documentation Map
219
223
 
220
224
  - [Agent Delegation Drive](agent-delegation-drive.7.md)
221
- - [Workflow App framework](agent-framework.md)
222
225
  - [CANDIDATE-SCORING(7)](candidate-scoring.7.md)
223
226
  - [Canonical Workflow Apps](canonical-workflow-apps.7.md)
224
227
  - [CAPABILITY-TOPOLOGY-REGISTRY(7) — Cool Workflow Agent-Driven Self-Evolution](capability-topology-registry.7.md)
@@ -253,7 +256,6 @@ multi-agent host -> topology -> blackboard/coordinator
253
256
  - [PIPELINE-RUNNER(7)](pipeline-runner.7.md)
254
257
  - [PIPELINE-VERBS(7)](pipeline-verbs.7.md)
255
258
  - [Cool Workflow Project Index](project-index.md)
256
- - [Cool Workflow](readme-v0.1.87-full.md)
257
259
  - [Real Execution Backend Integrations](real-execution-backends.7.md)
258
260
  - [Release And Migration Discipline](release-and-migration.7.md)
259
261
  - [Cool Workflow Release History](release-history.md)
@@ -261,11 +263,9 @@ multi-agent host -> topology -> blackboard/coordinator
261
263
  - [Remote-Source Review (`--link`)](remote-source-review.7.md)
262
264
  - [Verifiable Report Bundle](report-verifiable-bundle.7.md)
263
265
  - [ROUTINE(7)](routine.7.md)
264
- - [Routines](routines.md)
265
266
  - [Run Registry / Control Plane](run-registry-control-plane.7.md)
266
267
  - [Run Retention & Provable Reclamation](run-retention-reclamation.7.md)
267
268
  - [SANDBOX-PROFILES(7)](sandbox-profiles.7.md)
268
- - [Scheduled Tasks](scheduled-tasks.md)
269
269
  - [Security / Trust Hardening](security-trust-hardening.7.md)
270
270
  - [Source Context Profiles](source-context-profiles.7.md)
271
271
  - [State Explosion Management](state-explosion-management.7.md)
@@ -284,6 +284,7 @@ multi-agent host -> topology -> blackboard/coordinator
284
284
 
285
285
  Smoke tests mirror the public contracts. The high-signal suites are:
286
286
 
287
+ - [agent-auto-detect-gemini-native-smoke.js](../test/agent-auto-detect-gemini-native-smoke.js)
287
288
  - [agent-backend-concurrent-user-env-smoke.js](../test/agent-backend-concurrent-user-env-smoke.js)
288
289
  - [agent-backend-sandbox-deny-smoke.js](../test/agent-backend-sandbox-deny-smoke.js)
289
290
  - [agent-backend-user-env-smoke.js](../test/agent-backend-user-env-smoke.js)
@@ -298,7 +299,9 @@ Smoke tests mirror the public contracts. The high-signal suites are:
298
299
  - [artifact-integrity-smoke.js](../test/artifact-integrity-smoke.js)
299
300
  - [audit-verify-smoke.js](../test/audit-verify-smoke.js)
300
301
  - [backend-registry-smoke.js](../test/backend-registry-smoke.js)
302
+ - [batch-delegate-error-flush-smoke.js](../test/batch-delegate-error-flush-smoke.js)
301
303
  - [batch-output-overflow-smoke.js](../test/batch-output-overflow-smoke.js)
304
+ - [bench-run-smoke.js](../test/bench-run-smoke.js)
302
305
  - [blackboard-state-explosion-management-smoke.js](../test/blackboard-state-explosion-management-smoke.js)
303
306
  - [block-unapproved-tag-smoke.js](../test/block-unapproved-tag-smoke.js)
304
307
  - [budget-scaling-loop-smoke.js](../test/budget-scaling-loop-smoke.js)
@@ -323,13 +326,19 @@ Smoke tests mirror the public contracts. The high-signal suites are:
323
326
  - [clones-gc-smoke.js](../test/clones-gc-smoke.js)
324
327
  - [codex-agent-wrapper-smoke.js](../test/codex-agent-wrapper-smoke.js)
325
328
  - [collaboration-ops-unit-smoke.js](../test/collaboration-ops-unit-smoke.js)
329
+ - [commit-snapshot-slim-smoke.js](../test/commit-snapshot-slim-smoke.js)
326
330
  - [concurrency-default-smoke.js](../test/concurrency-default-smoke.js)
327
331
  - [concurrent-failure-semantics-smoke.js](../test/concurrent-failure-semantics-smoke.js)
328
332
  - [concurrent-subworkflow-cache-nesting-smoke.js](../test/concurrent-subworkflow-cache-nesting-smoke.js)
333
+ - [concurrent-subworkflow-no-wasted-spawn-smoke.js](../test/concurrent-subworkflow-no-wasted-spawn-smoke.js)
334
+ - [concurrent-subworkflow-only-batch-sigkill-smoke.js](../test/concurrent-subworkflow-only-batch-sigkill-smoke.js)
329
335
  - [concurrent-workflow-dsl-smoke.js](../test/concurrent-workflow-dsl-smoke.js)
336
+ - [container-backend-sandbox-deny-smoke.js](../test/container-backend-sandbox-deny-smoke.js)
330
337
  - [contract-migration-tooling-smoke.js](../test/contract-migration-tooling-smoke.js)
331
338
  - [control-plane-scheduling-smoke.js](../test/control-plane-scheduling-smoke.js)
332
339
  - [coordinator-blackboard-smoke.js](../test/coordinator-blackboard-smoke.js)
340
+ - [coordinator-messages-jsonl-atomic-smoke.js](../test/coordinator-messages-jsonl-atomic-smoke.js)
341
+ - [coordinator-messages-jsonl-dirty-append-smoke.js](../test/coordinator-messages-jsonl-dirty-append-smoke.js)
333
342
  - [coordinator-topology-persist-dirty-tracking-smoke.js](../test/coordinator-topology-persist-dirty-tracking-smoke.js)
334
343
  - [cw-help-per-command-smoke.js](../test/cw-help-per-command-smoke.js)
335
344
  - [dead-export-removal-guard-smoke.js](../test/dead-export-removal-guard-smoke.js)
@@ -347,13 +356,17 @@ Smoke tests mirror the public contracts. The high-signal suites are:
347
356
  - [drive-concurrent-round-sigkill-smoke.js](../test/drive-concurrent-round-sigkill-smoke.js)
348
357
  - [drive-exhaustion-blocked-smoke.js](../test/drive-exhaustion-blocked-smoke.js)
349
358
  - [drive-round-cache-serial-smoke.js](../test/drive-round-cache-serial-smoke.js)
359
+ - [drive-run-mutex-smoke.js](../test/drive-run-mutex-smoke.js)
350
360
  - [durable-atomic-write-smoke.js](../test/durable-atomic-write-smoke.js)
351
361
  - [end-to-end-demo-smoke.js](../test/end-to-end-demo-smoke.js)
352
362
  - [end-to-end-golden-path-smoke.js](../test/end-to-end-golden-path-smoke.js)
363
+ - [endpoint-concurrent-round-smoke.js](../test/endpoint-concurrent-round-smoke.js)
353
364
  - [error-feedback-resolution-smoke.js](../test/error-feedback-resolution-smoke.js)
354
365
  - [error-feedback-smoke.js](../test/error-feedback-smoke.js)
355
366
  - [evidence-adoption-reasoning-smoke.js](../test/evidence-adoption-reasoning-smoke.js)
356
367
  - [evidence-content-extraction-smoke.js](../test/evidence-content-extraction-smoke.js)
368
+ - [exec-child-termination-smoke.js](../test/exec-child-termination-smoke.js)
369
+ - [exec-vendor-reap-smoke.js](../test/exec-vendor-reap-smoke.js)
357
370
  - [execution-backend-agent-smoke.js](../test/execution-backend-agent-smoke.js)
358
371
  - [execution-backend-ci-smoke.js](../test/execution-backend-ci-smoke.js)
359
372
  - [execution-backends-smoke.js](../test/execution-backends-smoke.js)
@@ -364,17 +377,29 @@ Smoke tests mirror the public contracts. The high-signal suites are:
364
377
  - [gemini-opencode-agent-wrapper-smoke.js](../test/gemini-opencode-agent-wrapper-smoke.js)
365
378
  - [h7-custom-profile-persist-smoke.js](../test/h7-custom-profile-persist-smoke.js)
366
379
  - [headline-commands-smoke.js](../test/headline-commands-smoke.js)
380
+ - [http-delegate-child-multibyte-stdin-smoke.js](../test/http-delegate-child-multibyte-stdin-smoke.js)
367
381
  - [incremental-resume-smoke.js](../test/incremental-resume-smoke.js)
382
+ - [lang-policy-check-smoke.js](../test/lang-policy-check-smoke.js)
368
383
  - [ledger-apply-smoke.js](../test/ledger-apply-smoke.js)
369
384
  - [ledger-resolution-smoke.js](../test/ledger-resolution-smoke.js)
370
385
  - [ledger-verify-smoke.js](../test/ledger-verify-smoke.js)
371
386
  - [loop-bounded-expansion-smoke.js](../test/loop-bounded-expansion-smoke.js)
372
387
  - [man-run-registry-traversal-smoke.js](../test/man-run-registry-traversal-smoke.js)
388
+ - [manifest-vendor-registry-failclosed-smoke.js](../test/manifest-vendor-registry-failclosed-smoke.js)
373
389
  - [mcp-app-surface-smoke.js](../test/mcp-app-surface-smoke.js)
390
+ - [mcp-control-process-responsiveness-smoke.js](../test/mcp-control-process-responsiveness-smoke.js)
391
+ - [mcp-ping-and-arg-coercion-smoke.js](../test/mcp-ping-and-arg-coercion-smoke.js)
392
+ - [mcp-protocol-version-smoke.js](../test/mcp-protocol-version-smoke.js)
393
+ - [mcp-queue-epipe-smoke.js](../test/mcp-queue-epipe-smoke.js)
374
394
  - [mcp-surface-registry-smoke.js](../test/mcp-surface-registry-smoke.js)
395
+ - [mcp-tool-authority-policy-smoke.js](../test/mcp-tool-authority-policy-smoke.js)
375
396
  - [mcp-tool-call-coverage-smoke.js](../test/mcp-tool-call-coverage-smoke.js)
397
+ - [mcp-tool-call-error-isresult-smoke.js](../test/mcp-tool-call-error-isresult-smoke.js)
398
+ - [mcp-tool-process-lifecycle-smoke.js](../test/mcp-tool-process-lifecycle-smoke.js)
399
+ - [mcp-tool-shutdown-containment-smoke.js](../test/mcp-tool-shutdown-containment-smoke.js)
376
400
  - [mcp-untrusted-content-advisory-smoke.js](../test/mcp-untrusted-content-advisory-smoke.js)
377
401
  - [metrics-summary-limit-smoke.js](../test/metrics-summary-limit-smoke.js)
402
+ - [missing-artifact-gate-live-smoke.js](../test/missing-artifact-gate-live-smoke.js)
378
403
  - [multi-agent-cli-mcp-surface-smoke.js](../test/multi-agent-cli-mcp-surface-smoke.js)
379
404
  - [multi-agent-eval-determinism-regression-smoke.js](../test/multi-agent-eval-determinism-regression-smoke.js)
380
405
  - [multi-agent-eval-replay-harness-smoke.js](../test/multi-agent-eval-replay-harness-smoke.js)
@@ -393,11 +418,13 @@ Smoke tests mirror the public contracts. The high-signal suites are:
393
418
  - [numeric-flag-parsing-smoke.js](../test/numeric-flag-parsing-smoke.js)
394
419
  - [observability-cost-accounting-smoke.js](../test/observability-cost-accounting-smoke.js)
395
420
  - [one-way-boundary-smoke.js](../test/one-way-boundary-smoke.js)
421
+ - [onramp-baseref-failclosed-smoke.js](../test/onramp-baseref-failclosed-smoke.js)
396
422
  - [onramp-check-smoke.js](../test/onramp-check-smoke.js)
397
423
  - [opencode-agent-wrapper-smoke.js](../test/opencode-agent-wrapper-smoke.js)
398
424
  - [operator-ux-smoke.js](../test/operator-ux-smoke.js)
399
425
  - [orphan-runs-gc-smoke.js](../test/orphan-runs-gc-smoke.js)
400
426
  - [parallel-onramp-smoke.js](../test/parallel-onramp-smoke.js)
427
+ - [parity-cli-reachability-smoke.js](../test/parity-cli-reachability-smoke.js)
401
428
  - [parity-doc-sync-smoke.js](../test/parity-doc-sync-smoke.js)
402
429
  - [parse-guard-smoke.js](../test/parse-guard-smoke.js)
403
430
  - [parse-hardening-round2-smoke.js](../test/parse-hardening-round2-smoke.js)
@@ -407,6 +434,7 @@ Smoke tests mirror the public contracts. The high-signal suites are:
407
434
  - [pipeline-auto-advance-smoke.js](../test/pipeline-auto-advance-smoke.js)
408
435
  - [pipeline-runner-smoke.js](../test/pipeline-runner-smoke.js)
409
436
  - [project-index-sync-smoke.js](../test/project-index-sync-smoke.js)
437
+ - [purity-gate-dynamic-import-smoke.js](../test/purity-gate-dynamic-import-smoke.js)
410
438
  - [quickstart-bundle-smoke.js](../test/quickstart-bundle-smoke.js)
411
439
  - [quickstart-check-smoke.js](../test/quickstart-check-smoke.js)
412
440
  - [quickstart-corpus-smoke.js](../test/quickstart-corpus-smoke.js)
@@ -419,28 +447,35 @@ Smoke tests mirror the public contracts. The high-signal suites are:
419
447
  - [registry-corrupt-fail-closed-smoke.js](../test/registry-corrupt-fail-closed-smoke.js)
420
448
  - [registry-corrupt-state-distinct-error-smoke.js](../test/registry-corrupt-state-distinct-error-smoke.js)
421
449
  - [release-check-skip-smoke.js](../test/release-check-skip-smoke.js)
450
+ - [release-flow-cut-hardening-smoke.js](../test/release-flow-cut-hardening-smoke.js)
422
451
  - [release-flow-smoke.js](../test/release-flow-smoke.js)
452
+ - [release-gate-detached-head-smoke.js](../test/release-gate-detached-head-smoke.js)
423
453
  - [release-gate-smoke.js](../test/release-gate-smoke.js)
454
+ - [release-oneclick-resume-repush-smoke.js](../test/release-oneclick-resume-repush-smoke.js)
424
455
  - [release-oneclick-smoke.js](../test/release-oneclick-smoke.js)
425
456
  - [release-pipeline-hygiene-smoke.js](../test/release-pipeline-hygiene-smoke.js)
426
457
  - [release-tooling-smoke.js](../test/release-tooling-smoke.js)
427
458
  - [remote-link-archive-smoke.js](../test/remote-link-archive-smoke.js)
428
459
  - [remote-link-git-smoke.js](../test/remote-link-git-smoke.js)
429
460
  - [report-bundle-smoke.js](../test/report-bundle-smoke.js)
461
+ - [report-pubkey-pin-smoke.js](../test/report-pubkey-pin-smoke.js)
430
462
  - [report-verify-bundle-smoke.js](../test/report-verify-bundle-smoke.js)
431
463
  - [result-normalize-smoke.js](../test/result-normalize-smoke.js)
432
464
  - [robustness-failclosed-smoke.js](../test/robustness-failclosed-smoke.js)
433
465
  - [robustness-hardening-smoke.js](../test/robustness-hardening-smoke.js)
434
466
  - [run-all-agent-env-hermetic-smoke.js](../test/run-all-agent-env-hermetic-smoke.js)
435
467
  - [run-all-json-summary-smoke.js](../test/run-all-json-summary-smoke.js)
468
+ - [run-archive-intake-limits-smoke.js](../test/run-archive-intake-limits-smoke.js)
436
469
  - [run-export-cross-machine-smoke.js](../test/run-export-cross-machine-smoke.js)
437
470
  - [run-export-import-smoke.js](../test/run-export-import-smoke.js)
438
471
  - [run-export-restore-rerun-smoke.js](../test/run-export-restore-rerun-smoke.js)
439
472
  - [run-export-restore-resume-smoke.js](../test/run-export-restore-resume-smoke.js)
440
473
  - [run-fixture-compat-smoke.js](../test/run-fixture-compat-smoke.js)
474
+ - [run-import-canonical-table-smoke.js](../test/run-import-canonical-table-smoke.js)
441
475
  - [run-import-path-traversal-smoke.js](../test/run-import-path-traversal-smoke.js)
442
476
  - [run-import-tamper-failclosed-smoke.js](../test/run-import-tamper-failclosed-smoke.js)
443
477
  - [run-inspect-archive-smoke.js](../test/run-inspect-archive-smoke.js)
478
+ - [run-paths-shell-boundary-smoke.js](../test/run-paths-shell-boundary-smoke.js)
444
479
  - [run-registry-control-plane-smoke.js](../test/run-registry-control-plane-smoke.js)
445
480
  - [run-restore-failclosed-smoke.js](../test/run-restore-failclosed-smoke.js)
446
481
  - [run-resume-drive-smoke.js](../test/run-resume-drive-smoke.js)
@@ -449,10 +484,12 @@ Smoke tests mirror the public contracts. The high-signal suites are:
449
484
  - [sample-determinism-smoke.js](../test/sample-determinism-smoke.js)
450
485
  - [sandbox-env-batch-hardening-smoke.js](../test/sandbox-env-batch-hardening-smoke.js)
451
486
  - [sandbox-profile-smoke.js](../test/sandbox-profile-smoke.js)
487
+ - [sched-input-bounds-smoke.js](../test/sched-input-bounds-smoke.js)
452
488
  - [sched-policy-validation-smoke.js](../test/sched-policy-validation-smoke.js)
453
489
  - [schedule-routine-daemon-smoke.js](../test/schedule-routine-daemon-smoke.js)
454
490
  - [scheduling-routine-lock-concurrency-smoke.js](../test/scheduling-routine-lock-concurrency-smoke.js)
455
491
  - [schema-validation-smoke.js](../test/schema-validation-smoke.js)
492
+ - [schema-version-definition-guard-smoke.js](../test/schema-version-definition-guard-smoke.js)
456
493
  - [security-trust-hardening-smoke.js](../test/security-trust-hardening-smoke.js)
457
494
  - [self-audit-hardening-smoke.js](../test/self-audit-hardening-smoke.js)
458
495
  - [sigint-sigterm-drive-loop-smoke.js](../test/sigint-sigterm-drive-loop-smoke.js)
@@ -469,6 +506,7 @@ Smoke tests mirror the public contracts. The high-signal suites are:
469
506
  - [telemetry-attest-wrap-smoke.js](../test/telemetry-attest-wrap-smoke.js)
470
507
  - [telemetry-attestation-smoke.js](../test/telemetry-attestation-smoke.js)
471
508
  - [telemetry-fail-closed-smoke.js](../test/telemetry-fail-closed-smoke.js)
509
+ - [telemetry-ledger-append-lock-concurrency-smoke.js](../test/telemetry-ledger-append-lock-concurrency-smoke.js)
472
510
  - [telemetry-ledger-smoke.js](../test/telemetry-ledger-smoke.js)
473
511
  - [telemetry-metrics-coverage-smoke.js](../test/telemetry-metrics-coverage-smoke.js)
474
512
  - [telemetry-verify-signatures-smoke.js](../test/telemetry-verify-signatures-smoke.js)
@@ -476,14 +514,20 @@ Smoke tests mirror the public contracts. The high-signal suites are:
476
514
  - [trust-audit-anchor-smoke.js](../test/trust-audit-anchor-smoke.js)
477
515
  - [trust-audit-append-lock-concurrency-smoke.js](../test/trust-audit-append-lock-concurrency-smoke.js)
478
516
  - [trust-audit-append-tail-cache-smoke.js](../test/trust-audit-append-tail-cache-smoke.js)
517
+ - [trust-audit-ensure-create-no-truncate-smoke.js](../test/trust-audit-ensure-create-no-truncate-smoke.js)
518
+ - [trust-audit-summary-durable-write-skip-smoke.js](../test/trust-audit-summary-durable-write-skip-smoke.js)
519
+ - [trust-audit-torn-tail-append-smoke.js](../test/trust-audit-torn-tail-append-smoke.js)
479
520
  - [vendor-manifest-load-smoke.js](../test/vendor-manifest-load-smoke.js)
480
521
  - [vendor-preflight-smoke.js](../test/vendor-preflight-smoke.js)
481
522
  - [verdict-signing-workflow-smoke.js](../test/verdict-signing-workflow-smoke.js)
482
523
  - [verifier-gated-commit-smoke.js](../test/verifier-gated-commit-smoke.js)
524
+ - [verify-audit-cites-smoke.js](../test/verify-audit-cites-smoke.js)
483
525
  - [verify-bump-reproduction-smoke.js](../test/verify-bump-reproduction-smoke.js)
484
526
  - [verify-import-audit-chain-smoke.js](../test/verify-import-audit-chain-smoke.js)
485
527
  - [web-desktop-workbench-smoke.js](../test/web-desktop-workbench-smoke.js)
486
528
  - [wiring-lazy-shell-imports-smoke.js](../test/wiring-lazy-shell-imports-smoke.js)
529
+ - [workbench-load-smoke.js](../test/workbench-load-smoke.js)
530
+ - [workbench-port-range-smoke.js](../test/workbench-port-range-smoke.js)
487
531
  - [worker-accept-path-architecture-smoke.js](../test/worker-accept-path-architecture-smoke.js)
488
532
  - [worker-isolation-smoke.js](../test/worker-isolation-smoke.js)
489
533
  - [worker-retry-count-smoke.js](../test/worker-retry-count-smoke.js)
@@ -199,3 +199,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
199
199
  0.2.3
200
200
 
201
201
  0.2.4
202
+
203
+ 0.2.5
204
+
205
+ 0.2.6
@@ -339,3 +339,7 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
339
339
  0.2.3
340
340
 
341
341
  0.2.4
342
+
343
+ 0.2.5
344
+
345
+ 0.2.6