cool-workflow 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- 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/cli/dispatch.js +18 -86
- package/dist/cli/parseargv.js +5 -2
- package/dist/core/capability-data.js +270 -0
- package/dist/core/capability-table.js +16 -3504
- package/dist/core/format/help.js +28 -5
- package/dist/core/multi-agent/collaboration.js +3 -2
- package/dist/core/multi-agent/coordinator.js +4 -3
- package/dist/core/pipeline/commit-gate.js +2 -1
- package/dist/core/state/state-explosion/digest.js +3 -2
- package/dist/core/state/state-explosion/graph.js +9 -8
- package/dist/core/state/state-explosion/helpers.js +2 -1
- package/dist/core/trust/ledger.js +2 -1
- package/dist/core/types/execution-backend.js +18 -0
- package/dist/core/types/observability.js +7 -0
- package/dist/core/util/collate.js +23 -0
- package/dist/core/version.js +1 -1
- package/dist/shell/audit-cli.js +46 -2
- package/dist/shell/commit-summary.js +2 -1
- package/dist/shell/drive.js +26 -10
- package/dist/shell/evidence-reasoning.js +4 -3
- package/dist/shell/execution-backend/registry.js +2 -1
- package/dist/shell/execution-backend/types.js +0 -9
- package/dist/shell/fs-atomic.js +14 -1
- package/dist/shell/multi-agent-operator-ux.js +4 -3
- package/dist/shell/observability.js +12 -11
- package/dist/shell/onramp.js +17 -1
- package/dist/shell/operator-ux-text.js +2 -1
- package/dist/shell/operator-ux.js +7 -6
- package/dist/shell/pipeline-cli.js +82 -72
- package/dist/shell/reclamation-io.js +2 -1
- package/dist/shell/report.js +2 -1
- package/dist/shell/run-store.js +17 -0
- package/dist/shell/state-explosion-cli.js +2 -1
- package/dist/shell/topology-io.js +2 -1
- package/dist/shell/trust-audit.js +41 -2
- package/dist/shell/worker-cli.js +9 -1
- package/dist/shell/worker-isolation.js +34 -9
- package/dist/shell/workflow-app-loader.js +3 -2
- package/dist/wiring/capability-table/basics.js +66 -0
- package/dist/wiring/capability-table/exec-backend.js +162 -0
- package/dist/wiring/capability-table/index.js +42 -0
- package/dist/wiring/capability-table/multi-agent.js +623 -0
- package/dist/wiring/capability-table/parity.js +466 -0
- package/dist/wiring/capability-table/pipeline.js +280 -0
- package/dist/wiring/capability-table/registry-core.js +189 -0
- package/dist/wiring/capability-table/reporting.js +394 -0
- package/dist/wiring/capability-table/scheduling-registry.js +558 -0
- package/dist/wiring/capability-table/state.js +173 -0
- package/dist/wiring/capability-table/trust-ledger.js +134 -0
- package/dist/wiring/capability-table/workflow-apps.js +366 -0
- package/docs/agent-delegation-drive.7.md +2 -0
- package/docs/cli-mcp-parity.7.md +7 -2
- package/docs/contract-migration-tooling.7.md +2 -0
- package/docs/control-plane-scheduling.7.md +2 -0
- package/docs/durable-state-and-locking.7.md +22 -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/multi-agent-cli-mcp-surface.7.md +2 -0
- package/docs/multi-agent-eval-replay-harness.7.md +2 -0
- package/docs/multi-agent-operator-ux.7.md +2 -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 +25 -5
- package/docs/real-execution-backends.7.md +2 -0
- package/docs/release-and-migration.7.md +2 -0
- package/docs/release-tooling.7.md +2 -0
- package/docs/run-registry-control-plane.7.md +2 -0
- package/docs/run-retention-reclamation.7.md +2 -0
- package/docs/security-trust-hardening.7.md +30 -0
- package/docs/state-explosion-management.7.md +2 -0
- package/docs/team-collaboration.7.md +2 -0
- package/docs/trust-audit-anchor.7.md +69 -0
- package/docs/web-desktop-workbench.7.md +2 -0
- package/manifest/plugin.manifest.json +1 -1
- package/package.json +3 -1
- package/scripts/bump-version.js +24 -2
- package/scripts/canonical-apps.js +4 -4
- package/scripts/dogfood-release.js +1 -1
- package/scripts/golden-path.js +4 -4
- package/scripts/purity-baseline.json +68 -0
- package/scripts/purity-gate.js +239 -0
- package/scripts/release-check.js +8 -1
- package/scripts/version-sync-check.js +33 -12
- package/workflows/README.md +19 -0
|
@@ -20,7 +20,7 @@ const repoRoot = path.resolve(pluginRoot, "..", "..");
|
|
|
20
20
|
// CI checks out HEAD, so HEAD === the tree it is releasing.
|
|
21
21
|
//
|
|
22
22
|
// Fallback to the filesystem only when we cannot read from HEAD: not a git work
|
|
23
|
-
// tree, or the path is not tracked at HEAD
|
|
23
|
+
// tree, or the path is not tracked at HEAD.
|
|
24
24
|
// node + git only — no ripgrep (CI portability rule).
|
|
25
25
|
const insideGitWorkTree = (() => {
|
|
26
26
|
const r = spawnSync("git", ["rev-parse", "--is-inside-work-tree"], { cwd: repoRoot, encoding: "utf8" });
|
|
@@ -36,7 +36,7 @@ function readReleaseSource(relativePath) {
|
|
|
36
36
|
maxBuffer: 1024 * 1024 * 32
|
|
37
37
|
});
|
|
38
38
|
if (r.status === 0) return { text: r.stdout, exists: true, fromHead: true };
|
|
39
|
-
// Not tracked at HEAD — fall through to the working tree
|
|
39
|
+
// Not tracked at HEAD — fall through to the working tree.
|
|
40
40
|
}
|
|
41
41
|
const abs = path.join(repoRoot, relativePath);
|
|
42
42
|
if (!fs.existsSync(abs)) return { text: null, exists: false, fromHead: false };
|
|
@@ -56,9 +56,14 @@ const canonicalApps = CANONICAL_APP_IDS;
|
|
|
56
56
|
function main() {
|
|
57
57
|
const checks = [];
|
|
58
58
|
checkJson("plugins/cool-workflow/package.json", "version", VERSION, checks);
|
|
59
|
-
// package-lock.json is
|
|
60
|
-
//
|
|
59
|
+
// package-lock.json is tracked now, but the documented install still works
|
|
60
|
+
// without it (`npm install --no-package-lock`), so only validate it when
|
|
61
|
+
// present. Check BOTH version fields: the top-level one and the root-package
|
|
62
|
+
// entry packages[""].version — the second one is the field npm keeps in step
|
|
63
|
+
// with package.json on `npm install`, and it is the one that went stale
|
|
64
|
+
// (0.1.97) through the v0.2.0/v0.2.1 cuts while only the first was checked.
|
|
61
65
|
checkJsonIfPresent("plugins/cool-workflow/package-lock.json", "version", VERSION, checks);
|
|
66
|
+
checkNestedJsonIfPresent("plugins/cool-workflow/package-lock.json", ["packages", "", "version"], VERSION, checks);
|
|
62
67
|
checkJson("plugins/cool-workflow/.codex-plugin/plugin.json", "version", VERSION, checks);
|
|
63
68
|
checkJson("plugins/cool-workflow/server.json", "version", VERSION, checks);
|
|
64
69
|
checkNestedJson("plugins/cool-workflow/server.json", ["packages", 0, "version"], VERSION, checks);
|
|
@@ -160,7 +165,7 @@ function main() {
|
|
|
160
165
|
checkIncludes("plugins/cool-workflow/docs/run-retention-reclamation.7.md", VERSION, checks);
|
|
161
166
|
checkIncludes("plugins/cool-workflow/docs/index.md", "run-retention-reclamation.7.md", checks);
|
|
162
167
|
checkIncludes("plugins/cool-workflow/test/run-retention-reclamation-smoke.js", "run-retention-reclamation-smoke", checks);
|
|
163
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
168
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/scheduling-registry.ts", "gc.plan", checks);
|
|
164
169
|
checkIncludes("plugins/cool-workflow/docs/durable-state-and-locking.7.md", "Durable State & Locking", checks);
|
|
165
170
|
checkIncludes("plugins/cool-workflow/docs/durable-state-and-locking.7.md", VERSION, checks);
|
|
166
171
|
checkIncludes("plugins/cool-workflow/docs/index.md", "durable-state-and-locking.7.md", checks);
|
|
@@ -168,33 +173,37 @@ function main() {
|
|
|
168
173
|
checkIncludes("plugins/cool-workflow/src/shell/fs-atomic.ts", "withFileLock", checks);
|
|
169
174
|
checkIncludes("plugins/cool-workflow/src/shell/drive.ts", "driveStep", checks);
|
|
170
175
|
checkIncludes("plugins/cool-workflow/dist/shell/drive.js", "driveStep", checks);
|
|
171
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
176
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/pipeline.ts", "run.drive", checks);
|
|
172
177
|
checkIncludes("plugins/cool-workflow/src/shell/collaboration-io.ts", "deriveReviewState", checks);
|
|
173
178
|
checkIncludes("plugins/cool-workflow/dist/shell/collaboration-io.js", "deriveReviewState", checks);
|
|
174
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
179
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/multi-agent.ts", "review.status", checks);
|
|
175
180
|
checkIncludes("plugins/cool-workflow/src/shell/observability.ts", "deriveMetricsReport", checks);
|
|
176
181
|
checkIncludes("plugins/cool-workflow/dist/shell/observability.js", "deriveMetricsReport", checks);
|
|
177
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
182
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/reporting.ts", "metrics.show", checks);
|
|
178
183
|
checkIncludes("plugins/cool-workflow/manifest/pricing.policy.json", "schemaVersion", checks);
|
|
179
184
|
checkIncludes("plugins/cool-workflow/src/shell/workbench.ts", "buildWorkbenchRunView", checks);
|
|
180
185
|
checkIncludes("plugins/cool-workflow/dist/shell/workbench.js", "buildWorkbenchRunView", checks);
|
|
181
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
186
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/reporting.ts", "workbench.view", checks);
|
|
182
187
|
checkIncludes("plugins/cool-workflow/src/shell/execution-backend/registry.ts", "ExecutionBackend", checks);
|
|
183
188
|
checkIncludes("plugins/cool-workflow/dist/shell/execution-backend/registry.js", "ExecutionBackend", checks);
|
|
184
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
189
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/exec-backend.ts", "backend.list", checks);
|
|
185
190
|
checkIncludes("plugins/cool-workflow/src/shell/run-registry-io.ts", "RunRegistry", checks);
|
|
186
191
|
checkIncludes("plugins/cool-workflow/dist/shell/run-registry-io.js", "RunRegistry", checks);
|
|
187
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
192
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/scheduling-registry.ts", "registry.refresh", checks);
|
|
188
193
|
checkIncludes("plugins/cool-workflow/package.json", "parity:check", checks);
|
|
189
194
|
checkIncludes("plugins/cool-workflow/scripts/parity-check.js", "buildParityReport", checks);
|
|
190
195
|
checkIncludes("plugins/cool-workflow/test/cli-mcp-parity-smoke.js", "cli-mcp-parity-smoke", checks);
|
|
191
|
-
checkIncludes("plugins/cool-workflow/src/
|
|
196
|
+
checkIncludes("plugins/cool-workflow/src/wiring/capability-table/registry-core.ts", "export const REGISTRY", checks);
|
|
192
197
|
checkIncludes("plugins/cool-workflow/src/shell/pipeline-cli.ts", "planSummary", checks);
|
|
193
198
|
checkIncludes("plugins/cool-workflow/dist/core/capability-table.js", "REGISTRY", checks);
|
|
194
199
|
checkIncludes("plugins/cool-workflow/docs/multi-agent-runtime-core.7.md", "Multi-Agent Runtime Core", checks);
|
|
195
200
|
checkIncludes("plugins/cool-workflow/docs/dogfood-one-real-repo.7.md", "Dogfood One Real Repo", checks);
|
|
196
201
|
checkIncludes("plugins/cool-workflow/docs/getting-started.md", "npm run release:check", checks);
|
|
197
202
|
checkIncludes("plugins/cool-workflow/package.json", "eval:replay", checks);
|
|
203
|
+
checkIncludes("plugins/cool-workflow/docs/trust-audit-anchor.7.md", "Trust Audit Anchor", checks);
|
|
204
|
+
checkIncludes("plugins/cool-workflow/docs/trust-audit-anchor.7.md", VERSION, checks);
|
|
205
|
+
checkIncludes("plugins/cool-workflow/docs/index.md", "trust-audit-anchor.7.md", checks);
|
|
206
|
+
checkIncludes("plugins/cool-workflow/test/trust-audit-anchor-smoke.js", "trust-audit-anchor-smoke", checks);
|
|
198
207
|
checkIncludes("plugins/cool-workflow/docs/release-and-migration.7.md", VERSION, checks);
|
|
199
208
|
checkIncludes("CHANGELOG.md", `## ${VERSION}`, checks);
|
|
200
209
|
checkIncludes("RELEASE.md", VERSION, checks);
|
|
@@ -227,6 +236,18 @@ function checkNestedJson(relativePath, keyPath, expected, checks) {
|
|
|
227
236
|
checks.push({ path: relativePath, key: keyPath.join("."), value });
|
|
228
237
|
}
|
|
229
238
|
|
|
239
|
+
function checkNestedJsonIfPresent(relativePath, keyPath, expected, checks) {
|
|
240
|
+
const src = readReleaseSource(relativePath);
|
|
241
|
+
if (!src.exists) {
|
|
242
|
+
checks.push({ path: relativePath, key: keyPath.join("."), skipped: "absent" });
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
let value = JSON.parse(src.text);
|
|
246
|
+
for (const key of keyPath) value = value?.[key];
|
|
247
|
+
assert.equal(value, expected, `${relativePath}.${keyPath.join(".")} must be ${expected}`);
|
|
248
|
+
checks.push({ path: relativePath, key: keyPath.join("."), value });
|
|
249
|
+
}
|
|
250
|
+
|
|
230
251
|
function checkJsonIfPresent(relativePath, key, expected, checks) {
|
|
231
252
|
const src = readReleaseSource(relativePath);
|
|
232
253
|
if (!src.exists) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# workflows/ — legacy compatibility surface (pinned, do not remove)
|
|
2
|
+
|
|
3
|
+
`architecture-review.workflow.js` and `research-synthesis.workflow.js` are
|
|
4
|
+
the old, pre-`apps/` workflow-file format. The real, current homes for
|
|
5
|
+
these two workflows are `apps/architecture-review/` and
|
|
6
|
+
`apps/research-synthesis/` — these files exist ONLY so an id from before
|
|
7
|
+
the `apps/` format still resolves.
|
|
8
|
+
|
|
9
|
+
This is deliberate duplication, not drift to clean up: each file here
|
|
10
|
+
registers its OWN distinct id (`legacy-architecture-review`,
|
|
11
|
+
`legacy-research-synthesis`), pinned by
|
|
12
|
+
`v2/conformance/cases/multiagent-app-list.case.js` and
|
|
13
|
+
`plugins/cool-workflow/test/workflow-app-framework-smoke.js`. `cw list` /
|
|
14
|
+
`cw app list` show both the real app and its legacy id side by side
|
|
15
|
+
(`src/shell/workflow-app-loader.ts` discovers both roots).
|
|
16
|
+
|
|
17
|
+
Per this project's own POLA rule, removing or thinning either file would
|
|
18
|
+
change `cw list`'s output bytes — that is a breaking change, only doable
|
|
19
|
+
behind a major-version break, not a routine cleanup.
|