cool-workflow 0.1.78
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 +20 -0
- package/.codex-plugin/mcp.json +10 -0
- package/.codex-plugin/plugin.json +38 -0
- package/.mcp.json +10 -0
- package/LICENSE +24 -0
- package/README.md +638 -0
- package/apps/architecture-review/app.json +51 -0
- package/apps/architecture-review/workflow.js +116 -0
- package/apps/end-to-end-golden-path/app.json +30 -0
- package/apps/end-to-end-golden-path/workflow.js +33 -0
- package/apps/pr-review-fix-ci/app.json +59 -0
- package/apps/pr-review-fix-ci/workflow.js +90 -0
- package/apps/release-cut/app.json +54 -0
- package/apps/release-cut/workflow.js +82 -0
- package/apps/research-synthesis/app.json +50 -0
- package/apps/research-synthesis/workflow.js +76 -0
- package/apps/workflow-app-framework-demo/app.json +29 -0
- package/apps/workflow-app-framework-demo/workflow.js +44 -0
- package/dist/agent-config.js +223 -0
- package/dist/candidate-scoring.js +715 -0
- package/dist/capability-core.js +630 -0
- package/dist/capability-dispatcher.js +86 -0
- package/dist/capability-registry.js +523 -0
- package/dist/cli.js +1276 -0
- package/dist/collaboration.js +727 -0
- package/dist/commit.js +570 -0
- package/dist/contract-migration.js +234 -0
- package/dist/coordinator.js +1163 -0
- package/dist/daemon.js +44 -0
- package/dist/dispatch.js +201 -0
- package/dist/drive.js +503 -0
- package/dist/error-feedback.js +415 -0
- package/dist/evidence-grounding.js +179 -0
- package/dist/evidence-reasoning.js +733 -0
- package/dist/execution-backend.js +1279 -0
- package/dist/harness.js +61 -0
- package/dist/mcp-server.js +1615 -0
- package/dist/multi-agent-eval.js +857 -0
- package/dist/multi-agent-host.js +764 -0
- package/dist/multi-agent-operator-ux.js +537 -0
- package/dist/multi-agent-trust.js +366 -0
- package/dist/multi-agent.js +1173 -0
- package/dist/node-snapshot.js +270 -0
- package/dist/observability.js +922 -0
- package/dist/operator-ux.js +971 -0
- package/dist/orchestrator/audit-operations.js +182 -0
- package/dist/orchestrator/candidate-operations.js +117 -0
- package/dist/orchestrator/cli-options.js +288 -0
- package/dist/orchestrator/collaboration-operations.js +86 -0
- package/dist/orchestrator/feedback-operations.js +81 -0
- package/dist/orchestrator/host-operations.js +78 -0
- package/dist/orchestrator/lifecycle-operations.js +462 -0
- package/dist/orchestrator/migration-operations.js +44 -0
- package/dist/orchestrator/multi-agent-operations.js +362 -0
- package/dist/orchestrator/report.js +369 -0
- package/dist/orchestrator/topology-operations.js +84 -0
- package/dist/orchestrator.js +874 -0
- package/dist/pipeline-contract.js +92 -0
- package/dist/pipeline-runner.js +285 -0
- package/dist/reclamation.js +882 -0
- package/dist/result-normalize.js +194 -0
- package/dist/run-export.js +64 -0
- package/dist/run-registry.js +1347 -0
- package/dist/run-state-schema.js +67 -0
- package/dist/sandbox-profile.js +471 -0
- package/dist/scheduler.js +266 -0
- package/dist/scheduling.js +184 -0
- package/dist/schema-validate.js +98 -0
- package/dist/state-explosion.js +1213 -0
- package/dist/state-migrations.js +463 -0
- package/dist/state-node.js +301 -0
- package/dist/state.js +308 -0
- package/dist/telemetry-attestation.js +156 -0
- package/dist/telemetry-ledger.js +145 -0
- package/dist/topology.js +527 -0
- package/dist/triggers.js +159 -0
- package/dist/trust-audit.js +475 -0
- package/dist/types/blackboard.js +2 -0
- package/dist/types/boundary.js +29 -0
- package/dist/types/candidate.js +2 -0
- package/dist/types/collaboration.js +2 -0
- package/dist/types/core.js +2 -0
- package/dist/types/drive.js +10 -0
- package/dist/types/error-feedback.js +2 -0
- package/dist/types/evidence-reasoning.js +2 -0
- package/dist/types/execution-backend.js +2 -0
- package/dist/types/multi-agent.js +2 -0
- package/dist/types/observability.js +2 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/reclamation.js +8 -0
- package/dist/types/result.js +2 -0
- package/dist/types/run-registry.js +2 -0
- package/dist/types/run.js +2 -0
- package/dist/types/sandbox.js +2 -0
- package/dist/types/schedule.js +2 -0
- package/dist/types/state-node.js +2 -0
- package/dist/types/topology.js +2 -0
- package/dist/types/trust.js +2 -0
- package/dist/types/workbench.js +2 -0
- package/dist/types/worker.js +2 -0
- package/dist/types/workflow-app.js +2 -0
- package/dist/types.js +43 -0
- package/dist/verifier-registry.js +46 -0
- package/dist/verifier.js +78 -0
- package/dist/version.js +8 -0
- package/dist/workbench-host.js +172 -0
- package/dist/workbench.js +190 -0
- package/dist/worker-isolation.js +1028 -0
- package/dist/workflow-api.js +98 -0
- package/dist/workflow-app-framework.js +626 -0
- package/docs/agent-delegation-drive.7.md +190 -0
- package/docs/agent-framework.md +176 -0
- package/docs/candidate-scoring.7.md +106 -0
- package/docs/canonical-workflow-apps.7.md +137 -0
- package/docs/capability-topology-registry.7.md +168 -0
- package/docs/cli-mcp-parity.7.md +373 -0
- package/docs/contract-migration-tooling.7.md +123 -0
- package/docs/control-plane-scheduling.7.md +110 -0
- package/docs/coordinator-blackboard.7.md +183 -0
- package/docs/dogfood/architecture-review-cool-workflow.md +16 -0
- package/docs/dogfood-one-real-repo.7.md +168 -0
- package/docs/durable-state-and-locking.7.md +107 -0
- package/docs/end-to-end-golden-path.7.md +117 -0
- package/docs/error-feedback.7.md +153 -0
- package/docs/evidence-adoption-reasoning-chain.7.md +270 -0
- package/docs/execution-backends.7.md +300 -0
- package/docs/getting-started.md +99 -0
- package/docs/index.md +41 -0
- package/docs/mcp-app-surface.7.md +235 -0
- package/docs/multi-agent-cli-mcp-surface.7.md +265 -0
- package/docs/multi-agent-eval-replay-harness.7.md +302 -0
- package/docs/multi-agent-operator-ux.7.md +314 -0
- package/docs/multi-agent-runtime-core.7.md +231 -0
- package/docs/multi-agent-topologies.7.md +103 -0
- package/docs/multi-agent-trust-policy-audit.7.md +154 -0
- package/docs/node-snapshot-diff-replay.7.md +135 -0
- package/docs/observability-cost-accounting.7.md +194 -0
- package/docs/operator-ux.7.md +180 -0
- package/docs/pipeline-runner.7.md +136 -0
- package/docs/project-index.md +261 -0
- package/docs/real-execution-backends.7.md +142 -0
- package/docs/release-and-migration.7.md +280 -0
- package/docs/release-tooling.7.md +159 -0
- package/docs/routines.md +48 -0
- package/docs/run-registry-control-plane.7.md +312 -0
- package/docs/run-retention-reclamation.7.md +191 -0
- package/docs/sandbox-profiles.7.md +137 -0
- package/docs/scheduled-tasks.md +80 -0
- package/docs/security-trust-hardening.7.md +117 -0
- package/docs/state-explosion-management.7.md +264 -0
- package/docs/state-node.7.md +96 -0
- package/docs/team-collaboration.7.md +207 -0
- package/docs/unix-principles.md +192 -0
- package/docs/verifier-gated-commit.7.md +140 -0
- package/docs/web-desktop-workbench.7.md +215 -0
- package/docs/worker-isolation.7.md +167 -0
- package/docs/workflow-app-framework.7.md +274 -0
- package/manifest/README.md +43 -0
- package/manifest/plugin.manifest.json +316 -0
- package/manifest/pricing.policy.json +14 -0
- package/package.json +79 -0
- package/scripts/agents/claude-p-agent.js +104 -0
- package/scripts/agents/claude-p-agent.sh +9 -0
- package/scripts/agents/cw-attest-keygen.js +55 -0
- package/scripts/agents/cw-attest-wrap.js +143 -0
- package/scripts/block-unapproved-tag.sh +39 -0
- package/scripts/bump-version.js +249 -0
- package/scripts/canonical-apps.js +171 -0
- package/scripts/cw.js +4 -0
- package/scripts/dist-drift-check.js +79 -0
- package/scripts/dogfood-architecture-review.js +237 -0
- package/scripts/dogfood-release.js +624 -0
- package/scripts/forward-ref-docs.js +73 -0
- package/scripts/gen-manifests.js +232 -0
- package/scripts/golden-path.js +300 -0
- package/scripts/mcp-server.js +4 -0
- package/scripts/new-feature.js +121 -0
- package/scripts/parity-check.js +213 -0
- package/scripts/release-check.js +118 -0
- package/scripts/release-flow.js +272 -0
- package/scripts/release-gate.sh +85 -0
- package/scripts/sync-project-index.js +387 -0
- package/scripts/validate-run-state-schema.js +126 -0
- package/scripts/verify-container-selfref.js +64 -0
- package/scripts/version-sync-check.js +237 -0
- package/skills/cool-workflow/SKILL.md +162 -0
- package/skills/cool-workflow/references/commands.md +282 -0
- package/tsconfig.json +16 -0
- package/ui/workbench/app.css +76 -0
- package/ui/workbench/app.js +159 -0
- package/ui/workbench/index.html +32 -0
- package/workflows/architecture-review.workflow.js +84 -0
- package/workflows/research-synthesis.workflow.js +47 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# PIPELINE-RUNNER(7)
|
|
2
|
+
|
|
3
|
+
## NAME
|
|
4
|
+
|
|
5
|
+
Pipeline Runner - contract-driven StateNode execution kernel for Cool Workflow
|
|
6
|
+
|
|
7
|
+
## SYNOPSIS
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { createPipelineRunner } from "./pipeline-runner";
|
|
11
|
+
|
|
12
|
+
const runner = createPipelineRunner();
|
|
13
|
+
const contract = runner.getRunContract(run);
|
|
14
|
+
const runnable = runner.findRunnablePipelineStages(run, contract);
|
|
15
|
+
|
|
16
|
+
const result = runner.runPipelineStage(run, "verify", resultNode.id, {
|
|
17
|
+
outputNodeId: `${run.id}:verifier:${task.id}`,
|
|
18
|
+
outputStatus: "verified",
|
|
19
|
+
evidence: resultNode.evidence
|
|
20
|
+
});
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## DESCRIPTION
|
|
24
|
+
|
|
25
|
+
`Pipeline Runner` is the small execution kernel between workflow definitions,
|
|
26
|
+
pipeline contracts, state nodes, and CW operations such as dispatch, result,
|
|
27
|
+
verifier, commit, and report.
|
|
28
|
+
|
|
29
|
+
The runner does not implement business workflow behavior. It owns only stage
|
|
30
|
+
selection, contract validation, state-node transition, parent/child linking,
|
|
31
|
+
artifact and evidence attachment, and structured failure preservation.
|
|
32
|
+
|
|
33
|
+
The runner uses existing CW helpers:
|
|
34
|
+
|
|
35
|
+
- `validatePipelineContract`
|
|
36
|
+
- `assertNodeSatisfiesContract`
|
|
37
|
+
- `transitionStateNode`
|
|
38
|
+
- `recordNodeError`
|
|
39
|
+
- `linkStateNodes`
|
|
40
|
+
- `appendRunNode`
|
|
41
|
+
- `upsertRunContract`
|
|
42
|
+
|
|
43
|
+
## EXECUTION MODEL
|
|
44
|
+
|
|
45
|
+
The default CW pipeline is:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
input -> plan -> dispatch -> result -> verify -> commit -> report
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
A stage run receives a `WorkflowRun`, a `stageId`, and an input `StateNode` id.
|
|
52
|
+
It resolves the active `PipelineContract`, validates the stage, creates the
|
|
53
|
+
output node declared by the contract, links input and output nodes, writes node
|
|
54
|
+
JSON under `nodes/`, and returns a structured result.
|
|
55
|
+
|
|
56
|
+
The runner records progress in files. There is no hidden in-memory-only
|
|
57
|
+
pipeline cursor.
|
|
58
|
+
|
|
59
|
+
## CONTRACTS
|
|
60
|
+
|
|
61
|
+
Stages come from `PipelineContract.stages`. A stage declares accepted input node
|
|
62
|
+
kinds and statuses, required artifacts, required evidence, verifier gate
|
|
63
|
+
requirements, and the produced output node kind.
|
|
64
|
+
|
|
65
|
+
The runner does not duplicate contract validation. It uses the StateNode and
|
|
66
|
+
PipelineContract helpers as the ABI boundary.
|
|
67
|
+
|
|
68
|
+
## FAILURE MODES
|
|
69
|
+
|
|
70
|
+
Contract failures become `StateNodeError` records. When the stage or contract
|
|
71
|
+
failure policy preserves failure nodes, the runner creates an `error` node,
|
|
72
|
+
records the structured error, links it to the input node, and persists it under
|
|
73
|
+
`nodes/`.
|
|
74
|
+
|
|
75
|
+
Unknown run ids, unknown contract ids, unknown node ids, unknown stage ids, and
|
|
76
|
+
corrupt state remain hard errors because the caller cannot proceed safely.
|
|
77
|
+
|
|
78
|
+
Commit stages are verifier-gated. The default contract requires a verified
|
|
79
|
+
verifier node with evidence before a `committed` commit node can be created.
|
|
80
|
+
Non-gated snapshots are written as `completed` checkpoint nodes outside the
|
|
81
|
+
commit stage.
|
|
82
|
+
|
|
83
|
+
## FILES
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
.cw/runs/<run-id>/state.json
|
|
87
|
+
.cw/runs/<run-id>/nodes/<node-id>.json
|
|
88
|
+
.cw/runs/<run-id>/dispatches/*.json
|
|
89
|
+
.cw/runs/<run-id>/results/*.md
|
|
90
|
+
.cw/runs/<run-id>/commits/*.json
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Inspection commands print stable JSON:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
cw.js contract show <run-id> [contract-id]
|
|
97
|
+
cw.js node list <run-id>
|
|
98
|
+
cw.js node show <run-id> <node-id>
|
|
99
|
+
cw.js node graph <run-id>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## EXAMPLES
|
|
103
|
+
|
|
104
|
+
Find runnable stages:
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
const stages = findRunnablePipelineStages(run);
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Run a legal plan stage:
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
runPipelineStage(run, "plan", `${run.id}:input`, {
|
|
114
|
+
outputNodeId: `${run.id}:task:${task.id}`,
|
|
115
|
+
outputStatus: "pending",
|
|
116
|
+
artifacts: [{ id: "task", kind: "markdown", path: task.taskPath }]
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Preserve a failed stage:
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
const failed = runPipelineStage(run, "commit", taskNode.id, {
|
|
124
|
+
outputNodeId: `${run.id}:failed-commit`
|
|
125
|
+
});
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## COMPATIBILITY
|
|
129
|
+
|
|
130
|
+
Pipeline Runner is introduced in CW v0.1.3. It preserves v0.1.2 run state and
|
|
131
|
+
CLI behavior. New public types are plain TypeScript interfaces with optional
|
|
132
|
+
fields where practical.
|
|
133
|
+
|
|
134
|
+
Older runs without `nodes` or `contracts` remain readable through the existing
|
|
135
|
+
state loader, which initializes those arrays.
|
|
136
|
+
0.1.51
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# Cool Workflow Project Index
|
|
2
|
+
|
|
3
|
+
Generated from the current repository code on 2026-06-11 by `npm run sync:project-index`.
|
|
4
|
+
|
|
5
|
+
## Snapshot
|
|
6
|
+
|
|
7
|
+
- Package: `cool-workflow`
|
|
8
|
+
- Version: `0.1.78`
|
|
9
|
+
- Source modules: `57`
|
|
10
|
+
- Workflow apps: `6`
|
|
11
|
+
- Docs: `46`
|
|
12
|
+
- Smoke tests: `68`
|
|
13
|
+
- Repository: https://github.com/coo1white/cool-workflow
|
|
14
|
+
|
|
15
|
+
## Architecture
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
workflow app -> runner -> dispatch -> isolated workers
|
|
19
|
+
-> results -> feedback/candidates -> verifier gate
|
|
20
|
+
-> commit/checkpoint -> report/trust audit
|
|
21
|
+
|
|
22
|
+
multi-agent host -> topology -> blackboard/coordinator
|
|
23
|
+
-> fanout/fanin -> candidate score/select
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Source Map
|
|
27
|
+
|
|
28
|
+
### Core runtime
|
|
29
|
+
|
|
30
|
+
| Module | Responsibility |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| [orchestrator.ts](../src/orchestrator.ts) | Plans runs, loads workflows, records results, writes reports, and exposes runner commands. |
|
|
33
|
+
| [state.ts](../src/state.ts) | Persists run checkpoints, JSON state, run paths, and state migration entrypoints. |
|
|
34
|
+
| [state-node.ts](../src/state-node.ts) | Defines explicit state nodes, pipeline transitions, evidence checks, and node persistence. |
|
|
35
|
+
| [pipeline-contract.ts](../src/pipeline-contract.ts) | Builds the default pipeline contract used by run state. |
|
|
36
|
+
| [pipeline-runner.ts](../src/pipeline-runner.ts) | Finds runnable stages and advances/fails pipeline nodes with retry-aware errors. |
|
|
37
|
+
| [types.ts](../src/types.ts) | Owns the shared workflow, run, app, evidence, worker, candidate, audit, and topology types. |
|
|
38
|
+
|
|
39
|
+
### Verification and state gates
|
|
40
|
+
|
|
41
|
+
| Module | Responsibility |
|
|
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. |
|
|
48
|
+
|
|
49
|
+
### Workers and policy
|
|
50
|
+
|
|
51
|
+
| Module | Responsibility |
|
|
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. |
|
|
57
|
+
|
|
58
|
+
### Multi-agent layer
|
|
59
|
+
|
|
60
|
+
| Module | Responsibility |
|
|
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. |
|
|
66
|
+
|
|
67
|
+
### User and host surfaces
|
|
68
|
+
|
|
69
|
+
| Module | Responsibility |
|
|
70
|
+
| --- | --- |
|
|
71
|
+
| [cli.ts](../src/cli.ts) | Routes human CLI commands to runtime, app, topology, multi-agent, and operator flows. |
|
|
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-framework.ts](../src/workflow-app-framework.ts) | Validates app manifests and loads app entrypoints. |
|
|
75
|
+
| [workflow-api.ts](../src/workflow-api.ts) | Provides the fluent workflow, phase, task, artifact, and input API. |
|
|
76
|
+
| [daemon.ts](../src/daemon.ts) | Runs scheduled tasks through the desktop scheduler daemon. |
|
|
77
|
+
| [scheduler.ts](../src/scheduler.ts) | Creates, stores, computes, and runs schedules. |
|
|
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. |
|
|
80
|
+
|
|
81
|
+
### Other Source Modules
|
|
82
|
+
|
|
83
|
+
- [agent-config.ts](../src/agent-config.ts)
|
|
84
|
+
- [capability-core.ts](../src/capability-core.ts)
|
|
85
|
+
- [capability-dispatcher.ts](../src/capability-dispatcher.ts)
|
|
86
|
+
- [capability-registry.ts](../src/capability-registry.ts)
|
|
87
|
+
- [collaboration.ts](../src/collaboration.ts)
|
|
88
|
+
- [contract-migration.ts](../src/contract-migration.ts)
|
|
89
|
+
- [drive.ts](../src/drive.ts)
|
|
90
|
+
- [evidence-grounding.ts](../src/evidence-grounding.ts)
|
|
91
|
+
- [evidence-reasoning.ts](../src/evidence-reasoning.ts)
|
|
92
|
+
- [execution-backend.ts](../src/execution-backend.ts)
|
|
93
|
+
- [multi-agent-eval.ts](../src/multi-agent-eval.ts)
|
|
94
|
+
- [multi-agent-operator-ux.ts](../src/multi-agent-operator-ux.ts)
|
|
95
|
+
- [multi-agent-trust.ts](../src/multi-agent-trust.ts)
|
|
96
|
+
- [node-snapshot.ts](../src/node-snapshot.ts)
|
|
97
|
+
- [observability.ts](../src/observability.ts)
|
|
98
|
+
- [reclamation.ts](../src/reclamation.ts)
|
|
99
|
+
- [result-normalize.ts](../src/result-normalize.ts)
|
|
100
|
+
- [run-export.ts](../src/run-export.ts)
|
|
101
|
+
- [run-registry.ts](../src/run-registry.ts)
|
|
102
|
+
- [run-state-schema.ts](../src/run-state-schema.ts)
|
|
103
|
+
- [scheduling.ts](../src/scheduling.ts)
|
|
104
|
+
- [schema-validate.ts](../src/schema-validate.ts)
|
|
105
|
+
- [state-explosion.ts](../src/state-explosion.ts)
|
|
106
|
+
- [state-migrations.ts](../src/state-migrations.ts)
|
|
107
|
+
- [telemetry-attestation.ts](../src/telemetry-attestation.ts)
|
|
108
|
+
- [telemetry-ledger.ts](../src/telemetry-ledger.ts)
|
|
109
|
+
- [verifier-registry.ts](../src/verifier-registry.ts)
|
|
110
|
+
- [workbench-host.ts](../src/workbench-host.ts)
|
|
111
|
+
- [workbench.ts](../src/workbench.ts)
|
|
112
|
+
|
|
113
|
+
## Workflow Apps
|
|
114
|
+
|
|
115
|
+
| App | Type | Inputs | Sandbox | Source |
|
|
116
|
+
| --- | --- | --- | --- | --- |
|
|
117
|
+
| `architecture-review` - Map a repository architecture, assess risks, verify important findings, and synthesize an evidence-backed verdict. | canonical | `repo`, `question`, `invariant`, `focus` | `readonly` | [manifest](../apps/architecture-review/app.json) / [workflow](../apps/architecture-review/workflow.js) |
|
|
118
|
+
| `end-to-end-golden-path` - Deterministic one-worker workflow app for proving the CW integration chain. | userland | `question` | `readonly` | [manifest](../apps/end-to-end-golden-path/app.json) / [workflow](../apps/end-to-end-golden-path/workflow.js) |
|
|
119
|
+
| `pr-review-fix-ci` - Review a pull request or branch, inspect CI failures, diagnose actionable issues, optionally patch, verify, and summarize with evidence. | canonical | `repo`, `pr`, `branch`, `base`, `ci`, `mode` | `readonly`, `workspace-write` | [manifest](../apps/pr-review-fix-ci/app.json) / [workflow](../apps/pr-review-fix-ci/workflow.js) |
|
|
120
|
+
| `release-cut` - Prepare a release with checklist discipline: version checks, changelog, tests, packaging, release notes, and final verification. | canonical | `repo`, `version`, `previousVersion`, `releaseBranch`, `dryRun` | `readonly`, `workspace-write` | [manifest](../apps/release-cut/app.json) / [workflow](../apps/release-cut/workflow.js) |
|
|
121
|
+
| `research-synthesis` - Split a research question into claims, investigate sources, cross-check evidence, verify claims, and synthesize a concise answer. | canonical | `question`, `source`, `scope`, `freshness` | `readonly`, `locked-down` | [manifest](../apps/research-synthesis/app.json) / [workflow](../apps/research-synthesis/workflow.js) |
|
|
122
|
+
| `workflow-app-framework-demo` - Small framework app showing inputs, phases, evidence gates, and sandbox profile hints. | example | `question` | `readonly`, `workspace-write` | [manifest](../apps/workflow-app-framework-demo/app.json) / [workflow](../apps/workflow-app-framework-demo/workflow.js) |
|
|
123
|
+
|
|
124
|
+
## Documentation Map
|
|
125
|
+
|
|
126
|
+
- [Agent Delegation Drive](agent-delegation-drive.7.md)
|
|
127
|
+
- [Workflow App framework](agent-framework.md)
|
|
128
|
+
- [CANDIDATE-SCORING(7)](candidate-scoring.7.md)
|
|
129
|
+
- [Canonical Workflow Apps](canonical-workflow-apps.7.md)
|
|
130
|
+
- [CAPABILITY-TOPOLOGY-REGISTRY(7) — Cool Workflow Agent-Driven Self-Evolution](capability-topology-registry.7.md)
|
|
131
|
+
- [CLI ↔ MCP Parity](cli-mcp-parity.7.md)
|
|
132
|
+
- [Contract Migration Tooling](contract-migration-tooling.7.md)
|
|
133
|
+
- [Control-Plane Scheduling](control-plane-scheduling.7.md)
|
|
134
|
+
- [Coordinator / Blackboard](coordinator-blackboard.7.md)
|
|
135
|
+
- [Dogfood One Real Repo](dogfood-one-real-repo.7.md)
|
|
136
|
+
- [Durable State & Locking](durable-state-and-locking.7.md)
|
|
137
|
+
- [End-to-End Golden Path](end-to-end-golden-path.7.md)
|
|
138
|
+
- [ERROR-FEEDBACK(7)](error-feedback.7.md)
|
|
139
|
+
- [Evidence Adoption Reasoning Chain](evidence-adoption-reasoning-chain.7.md)
|
|
140
|
+
- [EXECUTION-BACKENDS(7)](execution-backends.7.md)
|
|
141
|
+
- [Getting Started](getting-started.md)
|
|
142
|
+
- [Cool Workflow Docs](index.md)
|
|
143
|
+
- [MCP App Surface](mcp-app-surface.7.md)
|
|
144
|
+
- [Multi-Agent CLI + MCP Surface](multi-agent-cli-mcp-surface.7.md)
|
|
145
|
+
- [Multi-Agent Eval & Replay Harness](multi-agent-eval-replay-harness.7.md)
|
|
146
|
+
- [Multi-Agent Operator UX](multi-agent-operator-ux.7.md)
|
|
147
|
+
- [Multi-Agent Runtime Core](multi-agent-runtime-core.7.md)
|
|
148
|
+
- [Multi-Agent Topologies](multi-agent-topologies.7.md)
|
|
149
|
+
- [Multi-Agent Trust / Policy / Audit](multi-agent-trust-policy-audit.7.md)
|
|
150
|
+
- [Node Snapshot / Diff / Replay](node-snapshot-diff-replay.7.md)
|
|
151
|
+
- [Observability + Cost Accounting](observability-cost-accounting.7.md)
|
|
152
|
+
- [Operator UX](operator-ux.7.md)
|
|
153
|
+
- [PIPELINE-RUNNER(7)](pipeline-runner.7.md)
|
|
154
|
+
- [Cool Workflow Project Index](project-index.md)
|
|
155
|
+
- [Real Execution Backend Integrations](real-execution-backends.7.md)
|
|
156
|
+
- [Release And Migration Discipline](release-and-migration.7.md)
|
|
157
|
+
- [Release Tooling](release-tooling.7.md)
|
|
158
|
+
- [Routines](routines.md)
|
|
159
|
+
- [Run Registry / Control Plane](run-registry-control-plane.7.md)
|
|
160
|
+
- [Run Retention & Provable Reclamation](run-retention-reclamation.7.md)
|
|
161
|
+
- [SANDBOX-PROFILES(7)](sandbox-profiles.7.md)
|
|
162
|
+
- [Scheduled Tasks](scheduled-tasks.md)
|
|
163
|
+
- [Security / Trust Hardening](security-trust-hardening.7.md)
|
|
164
|
+
- [State Explosion Management](state-explosion-management.7.md)
|
|
165
|
+
- [STATE-NODE(7)](state-node.7.md)
|
|
166
|
+
- [Team Collaboration](team-collaboration.7.md)
|
|
167
|
+
- [Unix-Inspired Workflow Principles](unix-principles.md)
|
|
168
|
+
- [VERIFIER-GATED-COMMIT(7)](verifier-gated-commit.7.md)
|
|
169
|
+
- [Web / Desktop Workbench](web-desktop-workbench.7.md)
|
|
170
|
+
- [WORKER-ISOLATION(7)](worker-isolation.7.md)
|
|
171
|
+
- [Workflow App framework](workflow-app-framework.7.md)
|
|
172
|
+
|
|
173
|
+
## Test Surface
|
|
174
|
+
|
|
175
|
+
Smoke tests mirror the public contracts. The high-signal suites are:
|
|
176
|
+
|
|
177
|
+
- [agent-delegation-drive-smoke.js](../test/agent-delegation-drive-smoke.js)
|
|
178
|
+
- [artifact-integrity-smoke.js](../test/artifact-integrity-smoke.js)
|
|
179
|
+
- [backend-registry-smoke.js](../test/backend-registry-smoke.js)
|
|
180
|
+
- [block-unapproved-tag-smoke.js](../test/block-unapproved-tag-smoke.js)
|
|
181
|
+
- [candidate-scoring-smoke.js](../test/candidate-scoring-smoke.js)
|
|
182
|
+
- [canonical-workflow-apps-smoke.js](../test/canonical-workflow-apps-smoke.js)
|
|
183
|
+
- [claude-p-agent-wrapper-smoke.js](../test/claude-p-agent-wrapper-smoke.js)
|
|
184
|
+
- [cli-mcp-parity-smoke.js](../test/cli-mcp-parity-smoke.js)
|
|
185
|
+
- [concurrent-failure-semantics-smoke.js](../test/concurrent-failure-semantics-smoke.js)
|
|
186
|
+
- [concurrent-workflow-dsl-smoke.js](../test/concurrent-workflow-dsl-smoke.js)
|
|
187
|
+
- [contract-migration-tooling-smoke.js](../test/contract-migration-tooling-smoke.js)
|
|
188
|
+
- [control-plane-scheduling-smoke.js](../test/control-plane-scheduling-smoke.js)
|
|
189
|
+
- [coordinator-blackboard-smoke.js](../test/coordinator-blackboard-smoke.js)
|
|
190
|
+
- [dogfood-release-smoke.js](../test/dogfood-release-smoke.js)
|
|
191
|
+
- [durable-atomic-write-smoke.js](../test/durable-atomic-write-smoke.js)
|
|
192
|
+
- [end-to-end-demo-smoke.js](../test/end-to-end-demo-smoke.js)
|
|
193
|
+
- [end-to-end-golden-path-smoke.js](../test/end-to-end-golden-path-smoke.js)
|
|
194
|
+
- [error-feedback-resolution-smoke.js](../test/error-feedback-resolution-smoke.js)
|
|
195
|
+
- [error-feedback-smoke.js](../test/error-feedback-smoke.js)
|
|
196
|
+
- [evidence-adoption-reasoning-smoke.js](../test/evidence-adoption-reasoning-smoke.js)
|
|
197
|
+
- [evidence-content-extraction-smoke.js](../test/evidence-content-extraction-smoke.js)
|
|
198
|
+
- [execution-backends-smoke.js](../test/execution-backends-smoke.js)
|
|
199
|
+
- [mcp-app-surface-smoke.js](../test/mcp-app-surface-smoke.js)
|
|
200
|
+
- [multi-agent-cli-mcp-surface-smoke.js](../test/multi-agent-cli-mcp-surface-smoke.js)
|
|
201
|
+
- [multi-agent-eval-replay-harness-smoke.js](../test/multi-agent-eval-replay-harness-smoke.js)
|
|
202
|
+
- [multi-agent-eval-replay-smoke.js](../test/multi-agent-eval-replay-smoke.js)
|
|
203
|
+
- [multi-agent-operator-ux-smoke.js](../test/multi-agent-operator-ux-smoke.js)
|
|
204
|
+
- [multi-agent-runtime-core-smoke.js](../test/multi-agent-runtime-core-smoke.js)
|
|
205
|
+
- [multi-agent-topologies-smoke.js](../test/multi-agent-topologies-smoke.js)
|
|
206
|
+
- [multi-agent-trust-policy-audit-smoke.js](../test/multi-agent-trust-policy-audit-smoke.js)
|
|
207
|
+
- [no-false-green-smoke.js](../test/no-false-green-smoke.js)
|
|
208
|
+
- [node-snapshot-diff-replay-smoke.js](../test/node-snapshot-diff-replay-smoke.js)
|
|
209
|
+
- [observability-cost-accounting-smoke.js](../test/observability-cost-accounting-smoke.js)
|
|
210
|
+
- [one-way-boundary-smoke.js](../test/one-way-boundary-smoke.js)
|
|
211
|
+
- [operator-ux-smoke.js](../test/operator-ux-smoke.js)
|
|
212
|
+
- [parallel-onramp-smoke.js](../test/parallel-onramp-smoke.js)
|
|
213
|
+
- [pipeline-auto-advance-smoke.js](../test/pipeline-auto-advance-smoke.js)
|
|
214
|
+
- [pipeline-runner-smoke.js](../test/pipeline-runner-smoke.js)
|
|
215
|
+
- [project-index-sync-smoke.js](../test/project-index-sync-smoke.js)
|
|
216
|
+
- [quickstart-smoke.js](../test/quickstart-smoke.js)
|
|
217
|
+
- [real-execution-backends-smoke.js](../test/real-execution-backends-smoke.js)
|
|
218
|
+
- [release-flow-smoke.js](../test/release-flow-smoke.js)
|
|
219
|
+
- [release-gate-smoke.js](../test/release-gate-smoke.js)
|
|
220
|
+
- [release-tooling-smoke.js](../test/release-tooling-smoke.js)
|
|
221
|
+
- [result-normalize-smoke.js](../test/result-normalize-smoke.js)
|
|
222
|
+
- [robustness-hardening-smoke.js](../test/robustness-hardening-smoke.js)
|
|
223
|
+
- [run-export-import-smoke.js](../test/run-export-import-smoke.js)
|
|
224
|
+
- [run-fixture-compat-smoke.js](../test/run-fixture-compat-smoke.js)
|
|
225
|
+
- [run-registry-control-plane-smoke.js](../test/run-registry-control-plane-smoke.js)
|
|
226
|
+
- [run-retention-reclamation-smoke.js](../test/run-retention-reclamation-smoke.js)
|
|
227
|
+
- [sandbox-profile-smoke.js](../test/sandbox-profile-smoke.js)
|
|
228
|
+
- [schema-validation-smoke.js](../test/schema-validation-smoke.js)
|
|
229
|
+
- [security-trust-hardening-smoke.js](../test/security-trust-hardening-smoke.js)
|
|
230
|
+
- [self-audit-hardening-smoke.js](../test/self-audit-hardening-smoke.js)
|
|
231
|
+
- [state-explosion-management-smoke.js](../test/state-explosion-management-smoke.js)
|
|
232
|
+
- [state-node-smoke.js](../test/state-node-smoke.js)
|
|
233
|
+
- [team-collaboration-smoke.js](../test/team-collaboration-smoke.js)
|
|
234
|
+
- [telemetry-attest-wrap-smoke.js](../test/telemetry-attest-wrap-smoke.js)
|
|
235
|
+
- [telemetry-attestation-smoke.js](../test/telemetry-attestation-smoke.js)
|
|
236
|
+
- [telemetry-fail-closed-smoke.js](../test/telemetry-fail-closed-smoke.js)
|
|
237
|
+
- [telemetry-ledger-smoke.js](../test/telemetry-ledger-smoke.js)
|
|
238
|
+
- [telemetry-metrics-coverage-smoke.js](../test/telemetry-metrics-coverage-smoke.js)
|
|
239
|
+
- [token-budget-enforcement-smoke.js](../test/token-budget-enforcement-smoke.js)
|
|
240
|
+
- [verifier-gated-commit-smoke.js](../test/verifier-gated-commit-smoke.js)
|
|
241
|
+
- [web-desktop-workbench-smoke.js](../test/web-desktop-workbench-smoke.js)
|
|
242
|
+
- [worker-isolation-smoke.js](../test/worker-isolation-smoke.js)
|
|
243
|
+
- [worker-retry-count-smoke.js](../test/worker-retry-count-smoke.js)
|
|
244
|
+
- [workflow-app-framework-smoke.js](../test/workflow-app-framework-smoke.js)
|
|
245
|
+
|
|
246
|
+
## Sync Targets
|
|
247
|
+
|
|
248
|
+
- Repository docs: [docs/project-index.md](project-index.md)
|
|
249
|
+
- Obsidian vault (optional): set `CW_OBSIDIAN_VAULT` to your local vault path.
|
|
250
|
+
- GitHub Wiki: the `cool-workflow.wiki` working tree (override with `CW_GITHUB_WIKI_DIR`).
|
|
251
|
+
|
|
252
|
+
## Maintenance
|
|
253
|
+
|
|
254
|
+
Run this after changing source modules, workflow app manifests, public docs, or smoke test coverage:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
cd plugins/cool-workflow
|
|
258
|
+
npm run sync:project-index
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Then review the Obsidian page and GitHub Wiki working tree before publishing wiki changes.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Real Execution Backend Integrations
|
|
2
|
+
|
|
3
|
+
CW v0.1.34 makes the delegating execution backends REAL. v0.1.29 shipped the
|
|
4
|
+
driver layer (`src/execution-backend.ts`) with `node`/`bun`/`shell` really
|
|
5
|
+
executing and `container`/`remote`/`ci` as contract-conformant stubs: `delegate()`
|
|
6
|
+
built a handle and returned `status: "completed"` with `delegated:`/`handle:`
|
|
7
|
+
evidence without running anything. v0.1.34 replaces that no-op so the three
|
|
8
|
+
delegating drivers actually drive a container runtime, a remote runner, and a CI
|
|
9
|
+
job — opt-in, fail-closed, and recording the SAME canonical evidence as `node`.
|
|
10
|
+
|
|
11
|
+
The driver model and the sandbox contract are unchanged; only HOW/WHERE a
|
|
12
|
+
delegated task runs becomes real.
|
|
13
|
+
|
|
14
|
+
## Identical Evidence, Any Backend
|
|
15
|
+
|
|
16
|
+
A real delegated run records the SAME canonical evidence `executeLocal` produces:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
command:<command + args>
|
|
20
|
+
exitCode:<code>
|
|
21
|
+
stdoutSha256:sha256:<hex>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The execution handle (`image@digest`, `endpoint#jobId`) lives in
|
|
25
|
+
`provenance.handle` and the sandbox attestation in `provenance.attestation` —
|
|
26
|
+
NEVER in `evidence`. So a `container` run of the same task is byte-stable against
|
|
27
|
+
`node` after stripping provenance: only `provenance.backendId`/`handle`/
|
|
28
|
+
`attestation` and ISO timestamps differ. Eval/replay, the verifier gates, the
|
|
29
|
+
v0.1.28 registry, and the v0.1.30 Workbench stay backend-agnostic.
|
|
30
|
+
|
|
31
|
+
## container
|
|
32
|
+
|
|
33
|
+
Runs `docker` (or `podman`) really, under the sandbox contract:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
<runtime> run --rm [--network none] -v <cwd>:<cwd>:ro -w <cwd> [-e NAME=VALUE ...] <image[@digest]> <command> <args>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
- **network** — `--network none` when the profile restricts it (`network.mode !=
|
|
40
|
+
any`); a container network namespace genuinely enforces this (the dimension is
|
|
41
|
+
declared `enforce`).
|
|
42
|
+
- **read/write** — the workspace is mounted read-only at the same path; CW's
|
|
43
|
+
worker-output acceptance still bounds writes. (Write-through mounts are a later
|
|
44
|
+
refinement.)
|
|
45
|
+
- **env** — only the profile's explicitly exposed names cross into the container;
|
|
46
|
+
the image supplies its own `PATH`/`HOME`, so host-specific base env is never
|
|
47
|
+
injected.
|
|
48
|
+
|
|
49
|
+
Selection supplies the image via `--image` / `CW_CONTAINER_IMAGE` (+ optional
|
|
50
|
+
`CW_CONTAINER_DIGEST`).
|
|
51
|
+
|
|
52
|
+
## remote / ci
|
|
53
|
+
|
|
54
|
+
Real HTTP delegation. The job `{ command, args, env, sandboxProfileId, jobId? }`
|
|
55
|
+
is POSTed to the configured endpoint by a self-contained Node child (global
|
|
56
|
+
`fetch`, so the driver stays portable and synchronous from CW's view); a returned
|
|
57
|
+
`jobId` is polled until `done`. The runner's `{ exitCode, stdout }` becomes the
|
|
58
|
+
canonical evidence. Endpoints come from `--endpoint`/`--job` or
|
|
59
|
+
`CW_REMOTE_ENDPOINT`/`CW_REMOTE_JOB` / `CW_CI_ENDPOINT`/`CW_CI_JOB`.
|
|
60
|
+
|
|
61
|
+
## Fail Closed
|
|
62
|
+
|
|
63
|
+
A delegated run NEVER fabricates a completion. It returns `status: "refused"`
|
|
64
|
+
(`attestation.status: "refused"`, a `refused:<code>` evidence line, no
|
|
65
|
+
`stdoutSha256:`) when:
|
|
66
|
+
|
|
67
|
+
- `delegation-target-missing` — no image (container) or no endpoint (remote/ci).
|
|
68
|
+
- `no-command` — a delegating backend was asked to run with no command.
|
|
69
|
+
- `runtime-unavailable` — no `docker`/`podman` on PATH, or the daemon is
|
|
70
|
+
**unreachable**. A present CLI with a dead daemon is detected by a pre-flight
|
|
71
|
+
`<runtime> version --format {{.Server.Version}}` (which returns the server
|
|
72
|
+
version only when reachable) — the container run's own exit code is NOT a
|
|
73
|
+
reliable daemon-down signal across runtimes, so it is not relied upon.
|
|
74
|
+
- `delegation-failed` — the runtime errored (e.g. `docker` exit 125 for a bad
|
|
75
|
+
image), the HTTP POST/poll failed or was unreachable, or the runner returned an
|
|
76
|
+
unparseable response or no `exitCode`.
|
|
77
|
+
|
|
78
|
+
A container command that genuinely runs and exits non-zero is `failed` (a real
|
|
79
|
+
result), distinct from `refused` (never ran).
|
|
80
|
+
|
|
81
|
+
## Compatibility
|
|
82
|
+
|
|
83
|
+
The default backend stays `node`; the dispatch path stays a `delegate-host`
|
|
84
|
+
execution reproducing pre-v0.1.29 behavior exactly. With no container runtime, no
|
|
85
|
+
endpoint, and no credentials, every existing probe and test output is unchanged —
|
|
86
|
+
real execution is strictly opt-in. The `ResultEnvelope` schema is unchanged.
|
|
87
|
+
|
|
88
|
+
## See Also
|
|
89
|
+
|
|
90
|
+
execution-backends(7), sandbox-profiles(7), cli-mcp-parity(7),
|
|
91
|
+
run-registry-control-plane(7)
|
|
92
|
+
|
|
93
|
+
## Node Snapshot / Diff / Replay (v0.1.35)
|
|
94
|
+
|
|
95
|
+
per-node snapshot, structural diff, and isolated deterministic replay over StateNode, reusing the v0.1.23 eval harness; fail-closed on source drift (valid|stale|absent). See node-snapshot-diff-replay(7).
|
|
96
|
+
|
|
97
|
+
## Contract Migration Tooling (v0.1.36)
|
|
98
|
+
|
|
99
|
+
first-class declared migration registry (run-state + workflow-app) with per-edge compatibility proofs, fail-closed reachability, and a round-trip/non-destruction prover. See contract-migration-tooling(7).
|
|
100
|
+
|
|
101
|
+
## Control-Plane Scheduling (v0.1.37)
|
|
102
|
+
|
|
103
|
+
priority + concurrency limits + lease lifecycle + retry/backoff + fail-closed park over the v0.1.28 Run Registry queue; policy-as-data, deterministic. See control-plane-scheduling(7).
|
|
104
|
+
|
|
105
|
+
## Agent Delegation Drive (v0.1.38)
|
|
106
|
+
|
|
107
|
+
spawn an external agent process per worker, capture result.md + attestation, auto-drive plan->dispatch->fulfill->accept->commit
|
|
108
|
+
|
|
109
|
+
## Run Retention & Provable Reclamation (v0.1.39)
|
|
110
|
+
|
|
111
|
+
tiered, append-only, cryptographically-verifiable run reclamation: seal the audit skeleton, free the reconstructable bulk, prove it
|
|
112
|
+
|
|
113
|
+
## Durable State & Locking (v0.1.40)
|
|
114
|
+
|
|
115
|
+
atomic temp->rename writes + fsync-durability for authoritative stores; portable stale-stealing file lock serializing the cross-process read-modify-write stores
|
|
116
|
+
|
|
117
|
+
## Self-Audit Hardening & Pure-Router Decomposition (v0.1.41)
|
|
118
|
+
|
|
119
|
+
evidence grounding + durable audit append + symlink-hardened containment + deterministic worker ids + recursive redaction; BackendRegistry self-describing drivers (no per-id switches); orchestrator god-object decomposed into per-domain operation modules (pure loadRun->delegate router)
|
|
120
|
+
|
|
121
|
+
## Robust Result Ingest (v0.1.42)
|
|
122
|
+
|
|
123
|
+
capture findings/evidence from any reasonable agent shape (alt keys + prose), CW derives grounded evidence itself, warn on empty capture — closes the v0.1.41 live-drive 'accepted with 0 captured' failure
|
|
124
|
+
|
|
125
|
+
## No-False-Green Gate & Launch Prep (v0.1.43)
|
|
126
|
+
|
|
127
|
+
Hard gate blocking empty-capture verifier-gated commits, plus quickstart and launch-prep docs.
|
|
128
|
+
|
|
129
|
+
## Release-Gate Determinism & Agents Vendor (v0.1.44)
|
|
130
|
+
|
|
131
|
+
Release-readiness checks now validate the committed blob (`git show HEAD:<path>`) instead of the mutable working tree — eliminating false-red/false-green from concurrent working-tree writes (iCloud/Spotlight/editor). Adds the `agents` vendor manifest target: a generated `.agents/plugins/cool-workflow/` adapter giving any non-Claude AI agent one common interface to CW.
|
|
132
|
+
|
|
133
|
+
## P1-P2 Fixes & CI Content Surfaces (v0.1.49)
|
|
134
|
+
|
|
135
|
+
Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.46), vendor-adapter registry (v0.1.47), state auto-compaction and P2 fixes (v0.1.48), plus CI content-surface determinism hardening (v0.1.49).
|
|
136
|
+
0.1.51
|
|
137
|
+
|
|
138
|
+
0.1.76
|
|
139
|
+
|
|
140
|
+
0.1.77
|
|
141
|
+
|
|
142
|
+
0.1.78
|