cool-workflow 0.1.98 → 0.2.0
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 +11 -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/cli/dispatch.js +236 -0
- package/dist/cli/entry.js +120 -0
- package/dist/cli/io.js +21 -4
- package/dist/cli/parseargv.js +157 -0
- package/dist/cli.js +6 -33
- package/dist/core/capability-table.js +3534 -0
- package/dist/core/format/help.js +314 -0
- package/dist/{state-explosion/format.js → core/format/state-explosion-text.js} +10 -1
- package/dist/core/hash.js +137 -0
- package/dist/core/multi-agent/candidate-scoring.js +219 -0
- package/dist/core/multi-agent/collaboration.js +481 -0
- package/dist/core/multi-agent/coordinator.js +515 -0
- package/dist/core/multi-agent/eval-replay.js +306 -0
- package/dist/core/multi-agent/runtime.js +929 -0
- package/dist/core/multi-agent/topology.js +298 -0
- package/dist/core/multi-agent/trust-policy.js +197 -0
- package/dist/core/pipeline/commit-gate.js +320 -0
- package/dist/{pipeline-contract.js → core/pipeline/contract.js} +24 -37
- package/dist/core/pipeline/dispatch.js +103 -0
- package/dist/core/pipeline/drive-decide.js +227 -0
- package/dist/core/pipeline/error-feedback.js +161 -0
- package/dist/core/pipeline/loop-expansion.js +124 -0
- package/dist/{result-normalize.js → core/pipeline/result-normalize.js} +14 -37
- package/dist/core/pipeline/runner.js +230 -0
- package/dist/{contract-migration.js → core/state/contract-migration.js} +68 -92
- package/dist/{state-migrations.js → core/state/migrations.js} +103 -96
- package/dist/core/state/node-projection.js +95 -0
- package/dist/core/state/node-snapshot.js +230 -0
- package/dist/core/state/run-paths.js +93 -0
- package/dist/{schema-validate.js → core/state/schema-validate.js} +35 -28
- package/dist/core/state/schema.js +50 -0
- package/dist/core/state/state-explosion/digest.js +243 -0
- package/dist/core/state/state-explosion/graph.js +527 -0
- package/dist/{state-explosion → core/state/state-explosion}/helpers.js +34 -3
- package/dist/core/state/state-explosion/report.js +187 -0
- package/dist/{state-explosion → core/state/state-explosion}/size.js +25 -7
- package/dist/{state-node.js → core/state/state-node.js} +90 -113
- package/dist/core/state/types.js +19 -0
- package/dist/{validation.js → core/state/validation.js} +64 -131
- package/dist/core/trust/evidence-grounding.js +134 -0
- package/dist/core/trust/ledger.js +199 -0
- package/dist/{telemetry-attestation.js → core/trust/telemetry-attestation.js} +94 -68
- package/dist/core/trust/telemetry-ledger.js +127 -0
- package/dist/core/types.js +20 -0
- package/dist/core/version.js +16 -0
- package/dist/{workflow-app-framework.js → core/workflow-apps/app-schema.js} +337 -426
- package/dist/mcp/dispatch.js +104 -0
- package/dist/mcp/server.js +144 -0
- package/dist/mcp-server.js +6 -84
- package/dist/{agent-config.js → shell/agent-config.js} +118 -71
- package/dist/shell/app-run-cli.js +88 -0
- package/dist/shell/audit-cli.js +259 -0
- package/dist/shell/audit-provenance.js +83 -0
- package/dist/shell/candidate-scoring-io.js +459 -0
- package/dist/shell/collaboration-io.js +264 -0
- package/dist/shell/commit-summary.js +104 -0
- package/dist/shell/commit.js +290 -0
- package/dist/shell/coordinator-io.js +476 -0
- package/dist/shell/demo-cli.js +19 -0
- package/dist/shell/dispatch.js +162 -0
- package/dist/{doctor.js → shell/doctor.js} +123 -56
- package/dist/shell/drive.js +873 -0
- package/dist/shell/error-feedback-io.js +305 -0
- package/dist/shell/eval-io.js +473 -0
- package/dist/{multi-agent-eval/format.js → shell/eval-text.js} +78 -49
- package/dist/{evidence-reasoning.js → shell/evidence-reasoning.js} +124 -255
- package/dist/shell/exec-backend-cli.js +88 -0
- package/dist/shell/execution-backend/agent.js +475 -0
- package/dist/shell/execution-backend/ci.js +15 -0
- package/dist/shell/execution-backend/container.js +69 -0
- package/dist/shell/execution-backend/envelopes.js +55 -0
- package/dist/shell/execution-backend/local.js +113 -0
- package/dist/shell/execution-backend/probes.js +175 -0
- package/dist/shell/execution-backend/registry.js +402 -0
- package/dist/shell/execution-backend/remote.js +128 -0
- package/dist/shell/execution-backend/types.js +11 -0
- package/dist/shell/feedback-cli.js +81 -0
- package/dist/shell/feedback-operations.js +48 -0
- package/dist/shell/fs-atomic.js +276 -0
- package/dist/shell/harness.js +98 -0
- package/dist/shell/ledger-cli.js +212 -0
- package/dist/shell/ledger-io.js +169 -0
- package/dist/shell/man-cli.js +89 -0
- package/dist/shell/metrics-cli.js +98 -0
- package/dist/shell/multi-agent-cli.js +1002 -0
- package/dist/shell/multi-agent-host.js +563 -0
- package/dist/shell/multi-agent-io.js +387 -0
- package/dist/{multi-agent-operator-ux.js → shell/multi-agent-operator-ux.js} +234 -191
- package/dist/shell/node-store.js +124 -0
- package/dist/{observability/format.js → shell/observability-format.js} +7 -1
- package/dist/{observability/intake.js → shell/observability-intake.js} +79 -56
- package/dist/{observability.js → shell/observability.js} +159 -332
- package/dist/{onramp.js → shell/onramp.js} +11 -0
- package/dist/{operator-ux/format.js → shell/operator-ux-text.js} +250 -239
- package/dist/shell/operator-ux.js +431 -0
- package/dist/shell/orchestrator.js +231 -0
- package/dist/shell/pipeline-cli.js +667 -0
- package/dist/shell/pipeline.js +217 -0
- package/dist/shell/reclamation-io.js +1366 -0
- package/dist/shell/registry-cli.js +329 -0
- package/dist/{remote-source.js → shell/remote-source.js} +2 -2
- package/dist/shell/report-cli.js +101 -0
- package/dist/shell/report-view-cli.js +117 -0
- package/dist/{orchestrator → shell}/report.js +289 -282
- package/dist/shell/reporter.js +62 -0
- package/dist/shell/run-export-cli.js +106 -0
- package/dist/shell/run-export.js +680 -0
- package/dist/shell/run-registry-io.js +1014 -0
- package/dist/shell/run-store.js +164 -0
- package/dist/{sandbox-profile.js → shell/sandbox-profile.js} +134 -95
- package/dist/{scheduler.js → shell/scheduler-io.js} +248 -48
- package/dist/shell/scheduling-io.js +311 -0
- package/dist/shell/state-cli.js +181 -0
- package/dist/shell/state-explosion-cli.js +197 -0
- package/dist/shell/telemetry-cli.js +85 -0
- package/dist/{telemetry-demo.js → shell/telemetry-demo.js} +149 -119
- package/dist/shell/telemetry-ledger-io.js +132 -0
- package/dist/{term.js → shell/term.js} +36 -46
- package/dist/shell/topology-io.js +361 -0
- package/dist/shell/trust-audit.js +471 -0
- package/dist/{multi-agent-trust.js → shell/trust-policy-io.js} +67 -205
- package/dist/shell/verifier.js +48 -0
- package/dist/shell/workbench-host.js +250 -0
- package/dist/shell/workbench-text.js +18 -0
- package/dist/shell/workbench.js +175 -0
- package/dist/shell/worker-cli.js +124 -0
- package/dist/shell/worker-isolation.js +852 -0
- package/dist/shell/workflow-app-loader.js +650 -0
- package/docs/agent-delegation-drive.7.md +2 -0
- package/docs/cli-mcp-parity.7.md +280 -219
- 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 +2 -0
- package/docs/evidence-adoption-reasoning-chain.7.md +2 -0
- package/docs/execution-backends.7.md +2 -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 +132 -71
- 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 +23 -0
- package/docs/state-explosion-management.7.md +2 -0
- package/docs/team-collaboration.7.md +2 -0
- package/docs/web-desktop-workbench.7.md +2 -0
- package/manifest/plugin.manifest.json +1 -1
- package/manifest/source-context-profiles.json +9 -13
- package/package.json +1 -1
- package/scripts/agents/cw-attest-wrap.js +2 -2
- package/scripts/bump-version.js +4 -3
- package/scripts/canonical-apps.js +4 -4
- package/scripts/dogfood-architecture-review.js +2 -3
- package/scripts/dogfood-release.js +3 -3
- package/scripts/gen-parity-doc.js +15 -2
- package/scripts/golden-path.js +4 -4
- package/scripts/onramp-check.js +1 -1
- package/scripts/parity-check.js +38 -21
- package/scripts/release-flow.js +2 -2
- package/scripts/sync-project-index.js +51 -27
- package/scripts/validate-run-state-schema.js +2 -2
- package/scripts/version-sync-check.js +30 -30
- package/dist/candidate-scoring.js +0 -729
- package/dist/capability-core.js +0 -1189
- package/dist/capability-registry.js +0 -885
- package/dist/cli/command-surface.js +0 -494
- package/dist/cli/format.js +0 -56
- package/dist/cli/handlers/audit.js +0 -82
- package/dist/cli/handlers/blackboard.js +0 -81
- package/dist/cli/handlers/candidate.js +0 -40
- package/dist/cli/handlers/clones.js +0 -34
- package/dist/cli/handlers/collaboration.js +0 -61
- package/dist/cli/handlers/eval.js +0 -40
- package/dist/cli/handlers/ledger.js +0 -169
- package/dist/cli/handlers/maintenance.js +0 -107
- package/dist/cli/handlers/multi-agent.js +0 -165
- package/dist/cli/handlers/node.js +0 -41
- package/dist/cli/handlers/operational.js +0 -155
- package/dist/cli/handlers/operator.js +0 -146
- package/dist/cli/handlers/registry.js +0 -68
- package/dist/cli/handlers/run.js +0 -153
- package/dist/cli/handlers/scheduling.js +0 -132
- package/dist/cli/handlers/workbench.js +0 -41
- package/dist/cli/handlers/worker.js +0 -45
- package/dist/cli/run-summary.js +0 -45
- package/dist/clones.js +0 -162
- package/dist/collaboration.js +0 -726
- package/dist/commit.js +0 -592
- package/dist/compare.js +0 -18
- package/dist/coordinator/classify.js +0 -45
- package/dist/coordinator/paths.js +0 -42
- package/dist/coordinator/util.js +0 -126
- package/dist/coordinator.js +0 -990
- package/dist/daemon.js +0 -44
- package/dist/dispatch.js +0 -250
- package/dist/drive.js +0 -864
- package/dist/error-feedback.js +0 -419
- package/dist/evidence-grounding.js +0 -184
- package/dist/execution-backend/agent.js +0 -354
- package/dist/execution-backend/probes.js +0 -112
- package/dist/execution-backend/util.js +0 -47
- package/dist/execution-backend.js +0 -961
- package/dist/gates.js +0 -48
- package/dist/harness.js +0 -61
- package/dist/ledger.js +0 -313
- package/dist/loop-expansion.js +0 -60
- package/dist/mcp/tool-call.js +0 -470
- package/dist/mcp/tool-definitions.js +0 -1066
- package/dist/mcp-surface.js +0 -30
- package/dist/multi-agent/graph.js +0 -84
- package/dist/multi-agent/helpers.js +0 -141
- package/dist/multi-agent/ids.js +0 -20
- package/dist/multi-agent/paths.js +0 -22
- package/dist/multi-agent-eval/normalize.js +0 -51
- package/dist/multi-agent-eval.js +0 -678
- package/dist/multi-agent-host.js +0 -777
- package/dist/multi-agent.js +0 -984
- package/dist/node-projection.js +0 -59
- package/dist/node-snapshot.js +0 -260
- package/dist/operator-ux.js +0 -631
- package/dist/orchestrator/app-operations.js +0 -211
- package/dist/orchestrator/audit-operations.js +0 -182
- package/dist/orchestrator/candidate-operations.js +0 -117
- package/dist/orchestrator/cli-options.js +0 -294
- package/dist/orchestrator/collaboration-operations.js +0 -86
- package/dist/orchestrator/feedback-operations.js +0 -81
- package/dist/orchestrator/host-operations.js +0 -78
- package/dist/orchestrator/lifecycle-operations.js +0 -650
- package/dist/orchestrator/migration-operations.js +0 -44
- package/dist/orchestrator/multi-agent-operations.js +0 -362
- package/dist/orchestrator/topology-operations.js +0 -84
- package/dist/orchestrator.js +0 -925
- package/dist/pipeline-runner.js +0 -285
- package/dist/reclamation/hash.js +0 -72
- package/dist/reclamation.js +0 -812
- package/dist/reporter.js +0 -67
- package/dist/run-export.js +0 -815
- package/dist/run-registry/derive.js +0 -175
- package/dist/run-registry/format.js +0 -124
- package/dist/run-registry/gc.js +0 -251
- package/dist/run-registry/policy.js +0 -16
- package/dist/run-registry/queue.js +0 -115
- package/dist/run-registry.js +0 -850
- package/dist/run-state-schema.js +0 -68
- package/dist/scheduling.js +0 -184
- package/dist/state-explosion.js +0 -1014
- package/dist/state.js +0 -367
- package/dist/telemetry-ledger.js +0 -196
- package/dist/topology.js +0 -565
- package/dist/triggers.js +0 -184
- package/dist/trust-audit.js +0 -644
- package/dist/types/blackboard.js +0 -2
- package/dist/types/candidate.js +0 -2
- package/dist/types/collaboration.js +0 -2
- package/dist/types/core.js +0 -2
- package/dist/types/drive.js +0 -10
- package/dist/types/error-feedback.js +0 -2
- package/dist/types/evidence-reasoning.js +0 -2
- package/dist/types/execution-backend.js +0 -2
- package/dist/types/multi-agent.js +0 -2
- package/dist/types/observability.js +0 -2
- package/dist/types/pipeline.js +0 -2
- package/dist/types/reclamation.js +0 -8
- package/dist/types/report-bundle.js +0 -6
- package/dist/types/result.js +0 -2
- package/dist/types/run-registry.js +0 -2
- package/dist/types/run.js +0 -2
- package/dist/types/sandbox.js +0 -2
- package/dist/types/schedule.js +0 -2
- package/dist/types/state-node.js +0 -2
- package/dist/types/topology.js +0 -2
- package/dist/types/trust.js +0 -2
- package/dist/types/workbench.js +0 -2
- package/dist/types/worker.js +0 -2
- package/dist/types/workflow-app.js +0 -2
- package/dist/types.js +0 -44
- package/dist/util/fingerprint.js +0 -19
- package/dist/util/fingerprint.test.js +0 -27
- package/dist/verifier.js +0 -78
- package/dist/version.js +0 -8
- package/dist/workbench-host.js +0 -192
- package/dist/workbench.js +0 -192
- package/dist/worker-accept/acceptance.js +0 -114
- package/dist/worker-accept/blackboard-fanout.js +0 -80
- package/dist/worker-accept/blackboard-linkage.js +0 -19
- package/dist/worker-accept/context.js +0 -2
- package/dist/worker-accept/telemetry-ledger.js +0 -126
- package/dist/worker-accept/validation.js +0 -77
- package/dist/worker-accept/verifier-completion.js +0 -73
- package/dist/worker-isolation/helpers.js +0 -51
- package/dist/worker-isolation/paths.js +0 -46
- package/dist/worker-isolation.js +0 -656
- package/dist/workflow-api.js +0 -131
- /package/dist/{types → core/types}/boundary.js +0 -0
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-07-
|
|
3
|
+
Generated from the current repository code on 2026-07-05 by `npm run sync:project-index`.
|
|
4
4
|
|
|
5
5
|
## Snapshot
|
|
6
6
|
|
|
7
7
|
- Package: `cool-workflow`
|
|
8
|
-
- Version: `0.
|
|
9
|
-
- Source modules: `
|
|
8
|
+
- Version: `0.2.0`
|
|
9
|
+
- Source modules: `129`
|
|
10
10
|
- Workflow apps: `8`
|
|
11
11
|
- Docs: `61`
|
|
12
|
-
- Smoke tests: `
|
|
12
|
+
- Smoke tests: `173`
|
|
13
13
|
- Repository: https://github.com/coo1white/cool-workflow
|
|
14
14
|
|
|
15
15
|
## Architecture
|
|
@@ -29,40 +29,40 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
29
29
|
|
|
30
30
|
| Module | Responsibility |
|
|
31
31
|
| --- | --- |
|
|
32
|
-
| [orchestrator.ts](../src/orchestrator.ts) | Plans runs, loads workflows, records results, writes reports, and exposes runner commands. |
|
|
33
|
-
| [
|
|
34
|
-
| [state-node.ts](../src/state-node.ts) | Defines explicit state nodes, pipeline transitions, evidence checks, and node persistence. |
|
|
35
|
-
| [pipeline
|
|
36
|
-
| [pipeline
|
|
37
|
-
| [types.ts](../src/types.ts) | Owns the shared
|
|
32
|
+
| [shell/orchestrator.ts](../src/shell/orchestrator.ts) | Plans runs, loads workflows, records results, writes reports, and exposes runner commands (a thin facade over the shell functions below). |
|
|
33
|
+
| [shell/run-store.ts](../src/shell/run-store.ts) | Persists run checkpoints, JSON state, run paths, and state migration entrypoints. |
|
|
34
|
+
| [core/state/state-node.ts](../src/core/state/state-node.ts) | Defines explicit state nodes, pipeline transitions, evidence checks, and node persistence. |
|
|
35
|
+
| [core/pipeline/contract.ts](../src/core/pipeline/contract.ts) | Builds the default pipeline contract used by run state. |
|
|
36
|
+
| [core/pipeline/runner.ts](../src/core/pipeline/runner.ts) | Finds runnable stages and advances/fails pipeline nodes with retry-aware errors. |
|
|
37
|
+
| [core/state/types.ts](../src/core/state/types.ts) | Owns the shared run/state types: WorkflowRun and everything it carries, StateNode, and the pipeline contract shape. |
|
|
38
38
|
|
|
39
39
|
### Verification and state gates
|
|
40
40
|
|
|
41
41
|
| Module | Responsibility |
|
|
42
42
|
| --- | --- |
|
|
43
|
-
| [verifier.ts](../src/verifier.ts) | Validates result envelopes, findings, evidence, and run gate completion. |
|
|
44
|
-
| [commit.ts](../src/commit.ts) | Creates verifier-gated commits and explicit manual checkpoints. |
|
|
45
|
-
| [candidate-scoring.ts](../src/candidate-scoring.ts) | Registers, scores, ranks, selects, rejects, and summarizes candidate outputs. |
|
|
46
|
-
| [error-feedback.ts](../src/error-feedback.ts) | Turns failures into persisted feedback records and correction tasks. |
|
|
47
|
-
| [trust-audit.ts](../src/trust-audit.ts) | Records provenance, sandbox decisions, host attestations, and acceptance rationale. |
|
|
43
|
+
| [shell/verifier.ts](../src/shell/verifier.ts) | Validates result envelopes, findings, evidence, and run gate completion. |
|
|
44
|
+
| [shell/commit.ts](../src/shell/commit.ts) | Creates verifier-gated commits and explicit manual checkpoints. |
|
|
45
|
+
| [core/multi-agent/candidate-scoring.ts](../src/core/multi-agent/candidate-scoring.ts) | Registers, scores, ranks, selects, rejects, and summarizes candidate outputs. |
|
|
46
|
+
| [core/pipeline/error-feedback.ts](../src/core/pipeline/error-feedback.ts) | Turns failures into persisted feedback records and correction tasks. |
|
|
47
|
+
| [shell/trust-audit.ts](../src/shell/trust-audit.ts) | Records provenance, sandbox decisions, host attestations, and acceptance rationale. |
|
|
48
48
|
|
|
49
49
|
### Workers and policy
|
|
50
50
|
|
|
51
51
|
| Module | Responsibility |
|
|
52
52
|
| --- | --- |
|
|
53
|
-
| [dispatch.ts](../src/dispatch.ts) | Selects runnable tasks and writes dispatch manifests. |
|
|
54
|
-
| [worker-isolation.ts](../src/worker-isolation.ts) | Allocates worker scopes, writes manifests, records worker outputs, and validates boundaries. |
|
|
55
|
-
| [sandbox-profile.ts](../src/sandbox-profile.ts) | Resolves named sandbox policy contracts and validates read/write/command/network boundaries. |
|
|
56
|
-
| [harness.ts](../src/harness.ts) | Renders task files for dispatched work. |
|
|
53
|
+
| [shell/dispatch.ts](../src/shell/dispatch.ts) | Selects runnable tasks and writes dispatch manifests. |
|
|
54
|
+
| [shell/worker-isolation.ts](../src/shell/worker-isolation.ts) | Allocates worker scopes, writes manifests, records worker outputs, and validates boundaries. |
|
|
55
|
+
| [shell/sandbox-profile.ts](../src/shell/sandbox-profile.ts) | Resolves named sandbox policy contracts and validates read/write/command/network boundaries. |
|
|
56
|
+
| [shell/harness.ts](../src/shell/harness.ts) | Renders task files for dispatched work. |
|
|
57
57
|
|
|
58
58
|
### Multi-agent layer
|
|
59
59
|
|
|
60
60
|
| Module | Responsibility |
|
|
61
61
|
| --- | --- |
|
|
62
|
-
| [multi-agent.ts](../src/multi-agent.ts) | Persists multi-agent runs, roles, groups, memberships, fanouts, and fanins. |
|
|
63
|
-
| [coordinator.ts](../src/coordinator.ts) | Owns blackboard topics, messages, context, artifacts, snapshots, and coordinator decisions. |
|
|
64
|
-
| [topology.ts](../src/topology.ts) | Defines and applies official map-reduce, debate, and judge-panel topologies. |
|
|
65
|
-
| [multi-agent-host.ts](../src/multi-agent-host.ts) | Provides the preferred host loop for run, status, step, blackboard, score, and select. |
|
|
62
|
+
| [core/multi-agent/runtime.ts](../src/core/multi-agent/runtime.ts) | Persists multi-agent runs, roles, groups, memberships, fanouts, and fanins. |
|
|
63
|
+
| [core/multi-agent/coordinator.ts](../src/core/multi-agent/coordinator.ts) | Owns blackboard topics, messages, context, artifacts, snapshots, and coordinator decisions. |
|
|
64
|
+
| [core/multi-agent/topology.ts](../src/core/multi-agent/topology.ts) | Defines and applies official map-reduce, debate, and judge-panel topologies. |
|
|
65
|
+
| [shell/multi-agent-host.ts](../src/shell/multi-agent-host.ts) | Provides the preferred host loop for run, status, step, blackboard, score, and select. |
|
|
66
66
|
|
|
67
67
|
### User and host surfaces
|
|
68
68
|
|
|
@@ -70,57 +70,117 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
70
70
|
| --- | --- |
|
|
71
71
|
| [cli.ts](../src/cli.ts) | Routes human CLI commands to runtime, app, topology, multi-agent, and operator flows. |
|
|
72
72
|
| [mcp-server.ts](../src/mcp-server.ts) | Exposes JSON-RPC/MCP tool parity for agent hosts. |
|
|
73
|
-
| [operator-ux.ts](../src/operator-ux.ts) | Formats status, reports, graph, worker, candidate, feedback, commit, and trust summaries. |
|
|
74
|
-
| [workflow-app-
|
|
75
|
-
| [workflow-
|
|
76
|
-
| [
|
|
77
|
-
| [
|
|
78
|
-
| [triggers.ts](../src/triggers.ts) | Bridges routine triggers to explicit workflow events. |
|
|
79
|
-
| [version.ts](../src/version.ts) | Defines current package and state schema versions. |
|
|
73
|
+
| [shell/operator-ux.ts](../src/shell/operator-ux.ts) | Formats status, reports, graph, worker, candidate, feedback, commit, and trust summaries. |
|
|
74
|
+
| [shell/workflow-app-loader.ts](../src/shell/workflow-app-loader.ts) | Validates app manifests and loads app entrypoints. |
|
|
75
|
+
| [core/workflow-apps/app-schema.ts](../src/core/workflow-apps/app-schema.ts) | Provides the fluent workflow, phase, task, artifact, and input API. |
|
|
76
|
+
| [shell/scheduler-io.ts](../src/shell/scheduler-io.ts) | Runs wall-clock schedules, the desktop scheduler daemon tick, and routine triggers. |
|
|
77
|
+
| [core/version.ts](../src/core/version.ts) | Defines current package and state schema versions. |
|
|
80
78
|
|
|
81
79
|
### Other Source Modules
|
|
82
80
|
|
|
83
|
-
- [
|
|
84
|
-
- [
|
|
85
|
-
- [
|
|
86
|
-
- [
|
|
87
|
-
- [
|
|
88
|
-
- [
|
|
89
|
-
- [
|
|
90
|
-
- [
|
|
91
|
-
- [
|
|
92
|
-
- [
|
|
93
|
-
- [
|
|
94
|
-
- [
|
|
95
|
-
- [
|
|
96
|
-
- [
|
|
97
|
-
- [loop-expansion.ts](../src/loop-expansion.ts)
|
|
98
|
-
- [
|
|
99
|
-
- [
|
|
100
|
-
- [
|
|
101
|
-
- [
|
|
102
|
-
- [node-
|
|
103
|
-
- [
|
|
104
|
-
- [
|
|
105
|
-
- [
|
|
106
|
-
- [
|
|
107
|
-
- [
|
|
108
|
-
- [
|
|
109
|
-
- [
|
|
110
|
-
- [
|
|
111
|
-
- [
|
|
112
|
-
- [
|
|
113
|
-
- [
|
|
114
|
-
- [
|
|
115
|
-
- [
|
|
116
|
-
- [
|
|
117
|
-
- [
|
|
118
|
-
- [
|
|
119
|
-
- [
|
|
120
|
-
- [
|
|
121
|
-
- [
|
|
122
|
-
- [
|
|
123
|
-
- [
|
|
81
|
+
- [cli/dispatch.ts](../src/cli/dispatch.ts)
|
|
82
|
+
- [cli/entry.ts](../src/cli/entry.ts)
|
|
83
|
+
- [cli/io.ts](../src/cli/io.ts)
|
|
84
|
+
- [cli/parseargv.ts](../src/cli/parseargv.ts)
|
|
85
|
+
- [core/capability-table.ts](../src/core/capability-table.ts)
|
|
86
|
+
- [core/format/help.ts](../src/core/format/help.ts)
|
|
87
|
+
- [core/format/state-explosion-text.ts](../src/core/format/state-explosion-text.ts)
|
|
88
|
+
- [core/hash.ts](../src/core/hash.ts)
|
|
89
|
+
- [core/multi-agent/collaboration.ts](../src/core/multi-agent/collaboration.ts)
|
|
90
|
+
- [core/multi-agent/eval-replay.ts](../src/core/multi-agent/eval-replay.ts)
|
|
91
|
+
- [core/multi-agent/trust-policy.ts](../src/core/multi-agent/trust-policy.ts)
|
|
92
|
+
- [core/pipeline/commit-gate.ts](../src/core/pipeline/commit-gate.ts)
|
|
93
|
+
- [core/pipeline/dispatch.ts](../src/core/pipeline/dispatch.ts)
|
|
94
|
+
- [core/pipeline/drive-decide.ts](../src/core/pipeline/drive-decide.ts)
|
|
95
|
+
- [core/pipeline/loop-expansion.ts](../src/core/pipeline/loop-expansion.ts)
|
|
96
|
+
- [core/pipeline/result-normalize.ts](../src/core/pipeline/result-normalize.ts)
|
|
97
|
+
- [core/state/contract-migration.ts](../src/core/state/contract-migration.ts)
|
|
98
|
+
- [core/state/migrations.ts](../src/core/state/migrations.ts)
|
|
99
|
+
- [core/state/node-projection.ts](../src/core/state/node-projection.ts)
|
|
100
|
+
- [core/state/node-snapshot.ts](../src/core/state/node-snapshot.ts)
|
|
101
|
+
- [core/state/run-paths.ts](../src/core/state/run-paths.ts)
|
|
102
|
+
- [core/state/schema-validate.ts](../src/core/state/schema-validate.ts)
|
|
103
|
+
- [core/state/schema.ts](../src/core/state/schema.ts)
|
|
104
|
+
- [core/state/state-explosion/digest.ts](../src/core/state/state-explosion/digest.ts)
|
|
105
|
+
- [core/state/state-explosion/graph.ts](../src/core/state/state-explosion/graph.ts)
|
|
106
|
+
- [core/state/state-explosion/helpers.ts](../src/core/state/state-explosion/helpers.ts)
|
|
107
|
+
- [core/state/state-explosion/report.ts](../src/core/state/state-explosion/report.ts)
|
|
108
|
+
- [core/state/state-explosion/size.ts](../src/core/state/state-explosion/size.ts)
|
|
109
|
+
- [core/state/validation.ts](../src/core/state/validation.ts)
|
|
110
|
+
- [core/trust/evidence-grounding.ts](../src/core/trust/evidence-grounding.ts)
|
|
111
|
+
- [core/trust/ledger.ts](../src/core/trust/ledger.ts)
|
|
112
|
+
- [core/trust/telemetry-attestation.ts](../src/core/trust/telemetry-attestation.ts)
|
|
113
|
+
- [core/trust/telemetry-ledger.ts](../src/core/trust/telemetry-ledger.ts)
|
|
114
|
+
- [core/types.ts](../src/core/types.ts)
|
|
115
|
+
- [core/types/boundary.ts](../src/core/types/boundary.ts)
|
|
116
|
+
- [mcp/dispatch.ts](../src/mcp/dispatch.ts)
|
|
117
|
+
- [mcp/server.ts](../src/mcp/server.ts)
|
|
118
|
+
- [shell/agent-config.ts](../src/shell/agent-config.ts)
|
|
119
|
+
- [shell/app-run-cli.ts](../src/shell/app-run-cli.ts)
|
|
120
|
+
- [shell/audit-cli.ts](../src/shell/audit-cli.ts)
|
|
121
|
+
- [shell/audit-provenance.ts](../src/shell/audit-provenance.ts)
|
|
122
|
+
- [shell/candidate-scoring-io.ts](../src/shell/candidate-scoring-io.ts)
|
|
123
|
+
- [shell/collaboration-io.ts](../src/shell/collaboration-io.ts)
|
|
124
|
+
- [shell/commit-summary.ts](../src/shell/commit-summary.ts)
|
|
125
|
+
- [shell/coordinator-io.ts](../src/shell/coordinator-io.ts)
|
|
126
|
+
- [shell/demo-cli.ts](../src/shell/demo-cli.ts)
|
|
127
|
+
- [shell/doctor.ts](../src/shell/doctor.ts)
|
|
128
|
+
- [shell/drive.ts](../src/shell/drive.ts)
|
|
129
|
+
- [shell/error-feedback-io.ts](../src/shell/error-feedback-io.ts)
|
|
130
|
+
- [shell/eval-io.ts](../src/shell/eval-io.ts)
|
|
131
|
+
- [shell/eval-text.ts](../src/shell/eval-text.ts)
|
|
132
|
+
- [shell/evidence-reasoning.ts](../src/shell/evidence-reasoning.ts)
|
|
133
|
+
- [shell/exec-backend-cli.ts](../src/shell/exec-backend-cli.ts)
|
|
134
|
+
- [shell/execution-backend/agent.ts](../src/shell/execution-backend/agent.ts)
|
|
135
|
+
- [shell/execution-backend/ci.ts](../src/shell/execution-backend/ci.ts)
|
|
136
|
+
- [shell/execution-backend/container.ts](../src/shell/execution-backend/container.ts)
|
|
137
|
+
- [shell/execution-backend/envelopes.ts](../src/shell/execution-backend/envelopes.ts)
|
|
138
|
+
- [shell/execution-backend/local.ts](../src/shell/execution-backend/local.ts)
|
|
139
|
+
- [shell/execution-backend/probes.ts](../src/shell/execution-backend/probes.ts)
|
|
140
|
+
- [shell/execution-backend/registry.ts](../src/shell/execution-backend/registry.ts)
|
|
141
|
+
- [shell/execution-backend/remote.ts](../src/shell/execution-backend/remote.ts)
|
|
142
|
+
- [shell/execution-backend/types.ts](../src/shell/execution-backend/types.ts)
|
|
143
|
+
- [shell/feedback-cli.ts](../src/shell/feedback-cli.ts)
|
|
144
|
+
- [shell/feedback-operations.ts](../src/shell/feedback-operations.ts)
|
|
145
|
+
- [shell/fs-atomic.ts](../src/shell/fs-atomic.ts)
|
|
146
|
+
- [shell/ledger-cli.ts](../src/shell/ledger-cli.ts)
|
|
147
|
+
- [shell/ledger-io.ts](../src/shell/ledger-io.ts)
|
|
148
|
+
- [shell/man-cli.ts](../src/shell/man-cli.ts)
|
|
149
|
+
- [shell/metrics-cli.ts](../src/shell/metrics-cli.ts)
|
|
150
|
+
- [shell/multi-agent-cli.ts](../src/shell/multi-agent-cli.ts)
|
|
151
|
+
- [shell/multi-agent-io.ts](../src/shell/multi-agent-io.ts)
|
|
152
|
+
- [shell/multi-agent-operator-ux.ts](../src/shell/multi-agent-operator-ux.ts)
|
|
153
|
+
- [shell/node-store.ts](../src/shell/node-store.ts)
|
|
154
|
+
- [shell/observability-format.ts](../src/shell/observability-format.ts)
|
|
155
|
+
- [shell/observability-intake.ts](../src/shell/observability-intake.ts)
|
|
156
|
+
- [shell/observability.ts](../src/shell/observability.ts)
|
|
157
|
+
- [shell/onramp.ts](../src/shell/onramp.ts)
|
|
158
|
+
- [shell/operator-ux-text.ts](../src/shell/operator-ux-text.ts)
|
|
159
|
+
- [shell/pipeline-cli.ts](../src/shell/pipeline-cli.ts)
|
|
160
|
+
- [shell/pipeline.ts](../src/shell/pipeline.ts)
|
|
161
|
+
- [shell/reclamation-io.ts](../src/shell/reclamation-io.ts)
|
|
162
|
+
- [shell/registry-cli.ts](../src/shell/registry-cli.ts)
|
|
163
|
+
- [shell/remote-source.ts](../src/shell/remote-source.ts)
|
|
164
|
+
- [shell/report-cli.ts](../src/shell/report-cli.ts)
|
|
165
|
+
- [shell/report-view-cli.ts](../src/shell/report-view-cli.ts)
|
|
166
|
+
- [shell/report.ts](../src/shell/report.ts)
|
|
167
|
+
- [shell/reporter.ts](../src/shell/reporter.ts)
|
|
168
|
+
- [shell/run-export-cli.ts](../src/shell/run-export-cli.ts)
|
|
169
|
+
- [shell/run-export.ts](../src/shell/run-export.ts)
|
|
170
|
+
- [shell/run-registry-io.ts](../src/shell/run-registry-io.ts)
|
|
171
|
+
- [shell/scheduling-io.ts](../src/shell/scheduling-io.ts)
|
|
172
|
+
- [shell/state-cli.ts](../src/shell/state-cli.ts)
|
|
173
|
+
- [shell/state-explosion-cli.ts](../src/shell/state-explosion-cli.ts)
|
|
174
|
+
- [shell/telemetry-cli.ts](../src/shell/telemetry-cli.ts)
|
|
175
|
+
- [shell/telemetry-demo.ts](../src/shell/telemetry-demo.ts)
|
|
176
|
+
- [shell/telemetry-ledger-io.ts](../src/shell/telemetry-ledger-io.ts)
|
|
177
|
+
- [shell/term.ts](../src/shell/term.ts)
|
|
178
|
+
- [shell/topology-io.ts](../src/shell/topology-io.ts)
|
|
179
|
+
- [shell/trust-policy-io.ts](../src/shell/trust-policy-io.ts)
|
|
180
|
+
- [shell/workbench-host.ts](../src/shell/workbench-host.ts)
|
|
181
|
+
- [shell/workbench-text.ts](../src/shell/workbench-text.ts)
|
|
182
|
+
- [shell/workbench.ts](../src/shell/workbench.ts)
|
|
183
|
+
- [shell/worker-cli.ts](../src/shell/worker-cli.ts)
|
|
124
184
|
|
|
125
185
|
## Workflow Apps
|
|
126
186
|
|
|
@@ -298,6 +358,7 @@ Smoke tests mirror the public contracts. The high-signal suites are:
|
|
|
298
358
|
- [onramp-check-smoke.js](../test/onramp-check-smoke.js)
|
|
299
359
|
- [opencode-agent-wrapper-smoke.js](../test/opencode-agent-wrapper-smoke.js)
|
|
300
360
|
- [operator-ux-smoke.js](../test/operator-ux-smoke.js)
|
|
361
|
+
- [orphan-runs-gc-smoke.js](../test/orphan-runs-gc-smoke.js)
|
|
301
362
|
- [parallel-onramp-smoke.js](../test/parallel-onramp-smoke.js)
|
|
302
363
|
- [parity-doc-sync-smoke.js](../test/parity-doc-sync-smoke.js)
|
|
303
364
|
- [parse-guard-smoke.js](../test/parse-guard-smoke.js)
|
|
@@ -107,6 +107,27 @@ scratch dir) is **re-pointed** to the retained `results/<task-id>.md` copy, and
|
|
|
107
107
|
result-node snapshot is shown to stay `valid` (not `absent`) — so no surviving
|
|
108
108
|
node points to a freed path. Opt out with `--keep-scratch`.
|
|
109
109
|
|
|
110
|
+
## Orphan runs — a second pure-scratch case, OUTSIDE this transaction
|
|
111
|
+
|
|
112
|
+
A run directory can also be pure scratch a different way: a process killed or
|
|
113
|
+
interrupted before it ever wrote a first `state.json` (the window between
|
|
114
|
+
`ensureRunDirs` and the first `saveCheckpoint`). Such a directory never becomes a
|
|
115
|
+
`RunRecord` at all, so `gc plan`/`gc run` can never see it, let alone reclaim it —
|
|
116
|
+
`reclaimEligibility` requires a record to classify in the first place. `cw orphans
|
|
117
|
+
list`/`cw orphans gc` (`src/run-registry/orphans.ts`) reclaim exactly this case,
|
|
118
|
+
age-gated by default. Unlike everything else on this page, an orphan sweep
|
|
119
|
+
produces **no skeleton and no tombstone** — there is no durable state to seal, so
|
|
120
|
+
there is nothing to prove. It is a plain, un-audited delete of a directory the
|
|
121
|
+
registry never knew existed, not a new tier of the `live -> archived -> reclaimed`
|
|
122
|
+
lifecycle above.
|
|
123
|
+
|
|
124
|
+
**Known gap, not covered by either mechanism:** a run stuck `running`/`queued`/
|
|
125
|
+
`blocked` with a perfectly valid but stale `state.json` (its owning process died
|
|
126
|
+
without ever reaching a terminal state) is reclaimed by NEITHER `gc.ts` (fail-closes
|
|
127
|
+
on `non-terminal`, no age override) NOR `orphans.ts` (it has a `state.json`, so it
|
|
128
|
+
is not an orphan candidate). As of this writing nothing in `cw` reclaims that
|
|
129
|
+
class of run; it is left `retained` indefinitely rather than guessed at.
|
|
130
|
+
|
|
110
131
|
## CLI
|
|
111
132
|
|
|
112
133
|
```
|
|
@@ -240,3 +261,5 @@ _No behavioral change in v0.1.89 (CLI-surface golden-path + help-output fixes on
|
|
|
240
261
|
0.1.97
|
|
241
262
|
|
|
242
263
|
0.1.98
|
|
264
|
+
|
|
265
|
+
0.2.0
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"_comment": "SINGLE SOURCE OF TRUTH for every vendor manifest. Edit THIS file, then run `npm run gen:manifests`. Do NOT hand-edit the generated vendor manifests (.claude-plugin/, .codex-plugin/, .agents/, .mcp.json) — `npm run gen:manifests -- --check` (run by release:check) will fail if they drift from this source.",
|
|
3
3
|
"identity": {
|
|
4
4
|
"name": "cool-workflow",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.2.0",
|
|
6
6
|
"license": "BSD-2-Clause",
|
|
7
7
|
"homepage": "https://github.com/coo1white/cool-workflow",
|
|
8
8
|
"author": {
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
"description": "MCP and CLI surface context for capability registry, MCP server, CLI routing, and MCP launcher wrappers.",
|
|
48
48
|
"maxLines": 18000,
|
|
49
49
|
"include": [
|
|
50
|
-
"plugins/cool-workflow/src/capability-
|
|
51
|
-
"plugins/cool-workflow/src/capability-registry.ts",
|
|
50
|
+
"plugins/cool-workflow/src/core/capability-table.ts",
|
|
52
51
|
"plugins/cool-workflow/src/cli.ts",
|
|
52
|
+
"plugins/cool-workflow/src/cli/**",
|
|
53
53
|
"plugins/cool-workflow/src/mcp-server.ts",
|
|
54
|
-
"plugins/cool-workflow/src/
|
|
54
|
+
"plugins/cool-workflow/src/mcp/**",
|
|
55
55
|
"plugins/cool-workflow/scripts/cw.js",
|
|
56
56
|
"plugins/cool-workflow/scripts/mcp-server.js",
|
|
57
57
|
"plugins/cool-workflow/package.json",
|
|
@@ -72,11 +72,9 @@
|
|
|
72
72
|
"maxLines": 18000,
|
|
73
73
|
"include": [
|
|
74
74
|
"plugins/cool-workflow/apps/**",
|
|
75
|
-
"plugins/cool-workflow/src/workflow-app-
|
|
76
|
-
"plugins/cool-workflow/src/
|
|
77
|
-
"plugins/cool-workflow/src/
|
|
78
|
-
"plugins/cool-workflow/src/types/workflow-app.ts",
|
|
79
|
-
"plugins/cool-workflow/src/types/run.ts",
|
|
75
|
+
"plugins/cool-workflow/src/shell/workflow-app-loader.ts",
|
|
76
|
+
"plugins/cool-workflow/src/shell/app-run-cli.ts",
|
|
77
|
+
"plugins/cool-workflow/src/core/workflow-apps/**",
|
|
80
78
|
"plugins/cool-workflow/scripts/canonical-apps.js",
|
|
81
79
|
"plugins/cool-workflow/package.json",
|
|
82
80
|
"plugins/cool-workflow/tsconfig.json"
|
|
@@ -121,11 +119,9 @@
|
|
|
121
119
|
"include": [
|
|
122
120
|
"plugins/cool-workflow/scripts/agents/**",
|
|
123
121
|
"plugins/cool-workflow/scripts/architecture-review-fast.js",
|
|
124
|
-
"plugins/cool-workflow/src/agent-config.ts",
|
|
125
|
-
"plugins/cool-workflow/src/execution-backend
|
|
126
|
-
"plugins/cool-workflow/src/drive.ts",
|
|
127
|
-
"plugins/cool-workflow/src/types/execution-backend.ts",
|
|
128
|
-
"plugins/cool-workflow/src/types/drive.ts",
|
|
122
|
+
"plugins/cool-workflow/src/shell/agent-config.ts",
|
|
123
|
+
"plugins/cool-workflow/src/shell/execution-backend/**",
|
|
124
|
+
"plugins/cool-workflow/src/shell/drive.ts",
|
|
129
125
|
"plugins/cool-workflow/package.json",
|
|
130
126
|
"plugins/cool-workflow/docs/agent-delegation-drive.7.md"
|
|
131
127
|
],
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
//
|
|
13
13
|
// It signs the EXACT same canonical payload CW verifies — {usage, runId, taskId,
|
|
14
14
|
// promptDigest} — sharing the canonicalization with the verifier via
|
|
15
|
-
// dist/telemetry-attestation.js, so signer and verifier can never drift.
|
|
15
|
+
// dist/core/trust/telemetry-attestation.js, so signer and verifier can never drift.
|
|
16
16
|
//
|
|
17
17
|
// Usage (wrap any agent that prints a {model, usage} JSON report on stdout):
|
|
18
18
|
// node cw-attest-wrap.js --manifest {{manifest}} -- <agent-cmd> [agent-args...]
|
|
@@ -32,7 +32,7 @@ const crypto = require("node:crypto");
|
|
|
32
32
|
const path = require("node:path");
|
|
33
33
|
const { spawnSync } = require("node:child_process");
|
|
34
34
|
|
|
35
|
-
const ta = require(path.resolve(__dirname, "..", "..", "dist", "telemetry-attestation.js"));
|
|
35
|
+
const ta = require(path.resolve(__dirname, "..", "..", "dist", "core", "trust", "telemetry-attestation.js"));
|
|
36
36
|
|
|
37
37
|
function fail(message) {
|
|
38
38
|
process.stderr.write(`cw-attest-wrap: ${message}\n`);
|
package/scripts/bump-version.js
CHANGED
|
@@ -89,8 +89,9 @@ function main() {
|
|
|
89
89
|
note("server.json");
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
// 3. src/version.ts runtime constant
|
|
93
|
-
|
|
92
|
+
// 3. src/core/version.ts runtime constant (v2 moved it from the old flat
|
|
93
|
+
// src/version.ts into the core state layer)
|
|
94
|
+
const versionTs = path.join(pluginRoot, "src", "core", "version.ts");
|
|
94
95
|
const vtsText = fs.readFileSync(versionTs, "utf8");
|
|
95
96
|
const vtsNext = vtsText.replace(
|
|
96
97
|
/(CURRENT_COOL_WORKFLOW_VERSION\s*=\s*)"[^"]*"/,
|
|
@@ -98,7 +99,7 @@ function main() {
|
|
|
98
99
|
);
|
|
99
100
|
if (vtsNext !== vtsText) {
|
|
100
101
|
fs.writeFileSync(versionTs, vtsNext);
|
|
101
|
-
note("src/version.ts");
|
|
102
|
+
note("src/core/version.ts");
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
// 4. manifest/plugin.manifest.json (identity.version) — gen:manifests then
|
|
@@ -83,7 +83,7 @@ const canonicalApps = [
|
|
|
83
83
|
"--source",
|
|
84
84
|
"plugins/cool-workflow/docs/workflow-app-framework.7.md",
|
|
85
85
|
"--scope",
|
|
86
|
-
"Cool Workflow v0.
|
|
86
|
+
"Cool Workflow v0.2.0",
|
|
87
87
|
"--freshness",
|
|
88
88
|
"as of release preparation"
|
|
89
89
|
]
|
|
@@ -117,14 +117,14 @@ function main() {
|
|
|
117
117
|
assert.ok(summary, `${app.id} must appear in app list`);
|
|
118
118
|
assert.equal(summary.sourceKind, "app-directory");
|
|
119
119
|
assert.equal(summary.legacy, false);
|
|
120
|
-
assert.equal(summary.version, "0.
|
|
120
|
+
assert.equal(summary.version, "0.2.0");
|
|
121
121
|
|
|
122
122
|
const validation = runJson(["app", "validate", manifestPath]);
|
|
123
123
|
assert.equal(validation.valid, true, `${app.id} manifest must validate`);
|
|
124
124
|
|
|
125
125
|
const shown = runJson(["app", "show", app.id]);
|
|
126
126
|
assert.equal(shown.app.id, app.id);
|
|
127
|
-
assert.equal(shown.app.version, "0.
|
|
127
|
+
assert.equal(shown.app.version, "0.2.0");
|
|
128
128
|
assert.ok(shown.app.metadata.canonical, `${app.id} must be marked canonical`);
|
|
129
129
|
assert.ok(shown.app.sandboxProfiles.length > 0, `${app.id} must declare sandbox profiles`);
|
|
130
130
|
assertTaskIdsUnique(shown);
|
|
@@ -135,7 +135,7 @@ function main() {
|
|
|
135
135
|
const plan = runJson(["plan", app.id, ...app.args(workspace)]);
|
|
136
136
|
const state = JSON.parse(fs.readFileSync(plan.statePath, "utf8"));
|
|
137
137
|
assert.equal(state.workflow.app.id, app.id);
|
|
138
|
-
assert.equal(state.workflow.app.version, "0.
|
|
138
|
+
assert.equal(state.workflow.app.version, "0.2.0");
|
|
139
139
|
assert.equal(state.workflow.app.metadata.canonical, true);
|
|
140
140
|
assert.ok(state.tasks.some((task) => task.requiresEvidence), `${app.id} plan must include evidence gates`);
|
|
141
141
|
assert.ok(state.tasks.every((task) => task.sandboxProfileId), `${app.id} plan must include sandbox hints`);
|
|
@@ -23,9 +23,8 @@ const os = require("node:os");
|
|
|
23
23
|
const path = require("node:path");
|
|
24
24
|
|
|
25
25
|
const pluginRoot = path.resolve(__dirname, "..");
|
|
26
|
-
const { CoolWorkflowRunner } = require(path.join(pluginRoot, "dist/orchestrator.js"));
|
|
27
|
-
const {
|
|
28
|
-
const { resolveAgentConfig } = require(path.join(pluginRoot, "dist/agent-config.js"));
|
|
26
|
+
const { CoolWorkflowRunner, drive } = require(path.join(pluginRoot, "dist/shell/orchestrator.js"));
|
|
27
|
+
const { resolveAgentConfig } = require(path.join(pluginRoot, "dist/shell/agent-config.js"));
|
|
29
28
|
|
|
30
29
|
const argv = process.argv.slice(2);
|
|
31
30
|
const flags = new Set(argv.filter((a) => a.startsWith("--")));
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
const { spawnSync } = require("node:child_process");
|
|
5
5
|
const fs = require("node:fs");
|
|
6
6
|
const path = require("node:path");
|
|
7
|
-
const { CoolWorkflowRunner } = require("../dist/orchestrator.js");
|
|
7
|
+
const { CoolWorkflowRunner } = require("../dist/shell/orchestrator.js");
|
|
8
8
|
|
|
9
|
-
const TARGET_VERSION = "0.
|
|
9
|
+
const TARGET_VERSION = "0.2.0";
|
|
10
10
|
const PREVIOUS_VERSION = "0.1.31";
|
|
11
11
|
const pluginRoot = path.resolve(__dirname, "..");
|
|
12
12
|
const repoRoot = path.resolve(pluginRoot, "..", "..");
|
|
@@ -269,7 +269,7 @@ function commandsForTask(taskId, context) {
|
|
|
269
269
|
"-e",
|
|
270
270
|
[
|
|
271
271
|
releaseSourceReaderSnippet(),
|
|
272
|
-
"for (const f of ['plugins/cool-workflow/package.json','plugins/cool-workflow/src/version.ts','CHANGELOG.md','RELEASE.md']) {",
|
|
272
|
+
"for (const f of ['plugins/cool-workflow/package.json','plugins/cool-workflow/src/core/version.ts','CHANGELOG.md','RELEASE.md']) {",
|
|
273
273
|
" const t=readSurface(f);",
|
|
274
274
|
` if (t===null) throw new Error(f+' missing from release commit');`,
|
|
275
275
|
` if (!t.includes('${TARGET_VERSION}')) throw new Error(f+' missing ${TARGET_VERSION}');`,
|