cool-workflow 0.1.79 → 0.1.80
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 +9 -1
- package/apps/architecture-review/app.json +1 -1
- package/apps/architecture-review-fast/app.json +64 -0
- package/apps/architecture-review-fast/workflow.js +153 -0
- 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/capability-core.js +38 -0
- package/dist/capability-registry.js +11 -8
- package/dist/cli.js +10 -1
- package/dist/drive.js +74 -1
- package/dist/evidence-reasoning.js +2 -2
- package/dist/execution-backend.js +6 -1
- package/dist/mcp-server.js +48 -13
- package/dist/orchestrator/lifecycle-operations.js +2 -1
- package/dist/orchestrator.js +1 -1
- package/dist/run-export.js +370 -25
- package/dist/run-registry.js +11 -4
- package/dist/state-explosion.js +100 -21
- package/dist/version.js +1 -1
- package/docs/agent-delegation-drive.7.md +58 -0
- package/docs/canonical-workflow-apps.7.md +37 -0
- package/docs/cli-mcp-parity.7.md +12 -0
- package/docs/contract-migration-tooling.7.md +4 -0
- package/docs/control-plane-scheduling.7.md +4 -0
- package/docs/durable-state-and-locking.7.md +4 -0
- package/docs/evidence-adoption-reasoning-chain.7.md +4 -0
- package/docs/execution-backends.7.md +4 -0
- package/docs/index.md +1 -0
- package/docs/launch/demo.tape +28 -0
- package/docs/launch/launch-kit.md +59 -3
- package/docs/launch/pre-launch-checklist.md +53 -0
- package/docs/multi-agent-cli-mcp-surface.7.md +4 -0
- package/docs/multi-agent-eval-replay-harness.7.md +4 -0
- package/docs/multi-agent-operator-ux.7.md +4 -0
- package/docs/node-snapshot-diff-replay.7.md +4 -0
- package/docs/observability-cost-accounting.7.md +4 -0
- package/docs/project-index.md +13 -5
- package/docs/real-execution-backends.7.md +4 -0
- package/docs/release-and-migration.7.md +4 -0
- package/docs/release-tooling.7.md +4 -0
- package/docs/routines.md +23 -0
- package/docs/run-registry-control-plane.7.md +42 -1
- package/docs/run-retention-reclamation.7.md +4 -0
- package/docs/source-context-profiles.7.md +119 -0
- package/docs/state-explosion-management.7.md +11 -0
- package/docs/team-collaboration.7.md +4 -0
- package/docs/unix-principles.md +49 -1
- package/docs/web-desktop-workbench.7.md +4 -0
- package/manifest/plugin.manifest.json +1 -1
- package/manifest/source-context-profiles.json +142 -0
- package/package.json +2 -1
- package/scripts/agents/claude-p-agent.js +129 -43
- package/scripts/architecture-review-fast.js +362 -0
- package/scripts/bump-version.js +1 -0
- package/scripts/canonical-apps.js +21 -4
- package/scripts/coverage-gate.js +211 -0
- package/scripts/dogfood-release.js +1 -1
- package/scripts/golden-path.js +4 -4
- package/scripts/source-context.js +291 -0
- package/scripts/version-sync-check.js +1 -0
- package/skills/ci-triage/SKILL.md +50 -0
- package/skills/ci-triage/agents/openai.yaml +4 -0
- package/skills/cool-workflow/SKILL.md +4 -1
- package/skills/deploy-check/SKILL.md +55 -0
- package/skills/deploy-check/agents/openai.yaml +4 -0
- package/skills/design-qa/SKILL.md +49 -0
- package/skills/design-qa/agents/openai.yaml +4 -0
- package/skills/pr-review/SKILL.md +45 -0
- package/skills/pr-review/agents/openai.yaml +4 -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-06-
|
|
3
|
+
Generated from the current repository code on 2026-06-13 by `npm run sync:project-index`.
|
|
4
4
|
|
|
5
5
|
## Snapshot
|
|
6
6
|
|
|
7
7
|
- Package: `cool-workflow`
|
|
8
|
-
- Version: `0.1.
|
|
8
|
+
- Version: `0.1.80`
|
|
9
9
|
- Source modules: `58`
|
|
10
|
-
- Workflow apps: `
|
|
11
|
-
- Docs: `
|
|
12
|
-
- Smoke tests: `
|
|
10
|
+
- Workflow apps: `7`
|
|
11
|
+
- Docs: `47`
|
|
12
|
+
- Smoke tests: `75`
|
|
13
13
|
- Repository: https://github.com/coo1white/cool-workflow
|
|
14
14
|
|
|
15
15
|
## Architecture
|
|
@@ -116,6 +116,7 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
116
116
|
| App | Type | Inputs | Sandbox | Source |
|
|
117
117
|
| --- | --- | --- | --- | --- |
|
|
118
118
|
| `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) |
|
|
119
|
+
| `architecture-review-fast` - Run a shorter architecture review with parallel map and assess phases for faster first results. | canonical | `repo`, `question`, `invariant`, `focus`, `sourceContext`, `sourceContextDigest` | `readonly` | [manifest](../apps/architecture-review-fast/app.json) / [workflow](../apps/architecture-review-fast/workflow.js) |
|
|
119
120
|
| `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) |
|
|
120
121
|
| `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) |
|
|
121
122
|
| `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) |
|
|
@@ -162,6 +163,7 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
162
163
|
- [SANDBOX-PROFILES(7)](sandbox-profiles.7.md)
|
|
163
164
|
- [Scheduled Tasks](scheduled-tasks.md)
|
|
164
165
|
- [Security / Trust Hardening](security-trust-hardening.7.md)
|
|
166
|
+
- [Source Context Profiles](source-context-profiles.7.md)
|
|
165
167
|
- [State Explosion Management](state-explosion-management.7.md)
|
|
166
168
|
- [STATE-NODE(7)](state-node.7.md)
|
|
167
169
|
- [Team Collaboration](team-collaboration.7.md)
|
|
@@ -176,6 +178,8 @@ multi-agent host -> topology -> blackboard/coordinator
|
|
|
176
178
|
Smoke tests mirror the public contracts. The high-signal suites are:
|
|
177
179
|
|
|
178
180
|
- [agent-delegation-drive-smoke.js](../test/agent-delegation-drive-smoke.js)
|
|
181
|
+
- [architecture-review-fast-automation-smoke.js](../test/architecture-review-fast-automation-smoke.js)
|
|
182
|
+
- [architecture-review-fast-smoke.js](../test/architecture-review-fast-smoke.js)
|
|
179
183
|
- [artifact-integrity-smoke.js](../test/artifact-integrity-smoke.js)
|
|
180
184
|
- [backend-registry-smoke.js](../test/backend-registry-smoke.js)
|
|
181
185
|
- [block-unapproved-tag-smoke.js](../test/block-unapproved-tag-smoke.js)
|
|
@@ -222,13 +226,17 @@ Smoke tests mirror the public contracts. The high-signal suites are:
|
|
|
222
226
|
- [result-normalize-smoke.js](../test/result-normalize-smoke.js)
|
|
223
227
|
- [robustness-hardening-smoke.js](../test/robustness-hardening-smoke.js)
|
|
224
228
|
- [run-export-import-smoke.js](../test/run-export-import-smoke.js)
|
|
229
|
+
- [run-export-restore-rerun-smoke.js](../test/run-export-restore-rerun-smoke.js)
|
|
230
|
+
- [run-export-restore-resume-smoke.js](../test/run-export-restore-resume-smoke.js)
|
|
225
231
|
- [run-fixture-compat-smoke.js](../test/run-fixture-compat-smoke.js)
|
|
226
232
|
- [run-registry-control-plane-smoke.js](../test/run-registry-control-plane-smoke.js)
|
|
227
233
|
- [run-retention-reclamation-smoke.js](../test/run-retention-reclamation-smoke.js)
|
|
228
234
|
- [sandbox-profile-smoke.js](../test/sandbox-profile-smoke.js)
|
|
235
|
+
- [schedule-routine-daemon-smoke.js](../test/schedule-routine-daemon-smoke.js)
|
|
229
236
|
- [schema-validation-smoke.js](../test/schema-validation-smoke.js)
|
|
230
237
|
- [security-trust-hardening-smoke.js](../test/security-trust-hardening-smoke.js)
|
|
231
238
|
- [self-audit-hardening-smoke.js](../test/self-audit-hardening-smoke.js)
|
|
239
|
+
- [source-context-profile-smoke.js](../test/source-context-profile-smoke.js)
|
|
232
240
|
- [state-explosion-management-smoke.js](../test/state-explosion-management-smoke.js)
|
|
233
241
|
- [state-node-smoke.js](../test/state-node-smoke.js)
|
|
234
242
|
- [tamper-evidence-demo-smoke.js](../test/tamper-evidence-demo-smoke.js)
|
|
@@ -142,3 +142,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
142
142
|
0.1.78
|
|
143
143
|
|
|
144
144
|
0.1.79
|
|
145
|
+
|
|
146
|
+
## Fast Architecture Review (v0.1.80)
|
|
147
|
+
|
|
148
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
@@ -280,3 +280,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
280
280
|
0.1.78
|
|
281
281
|
|
|
282
282
|
0.1.79
|
|
283
|
+
|
|
284
|
+
## Fast Architecture Review (v0.1.80)
|
|
285
|
+
|
|
286
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
@@ -159,3 +159,7 @@ also get generated MCP manifests (`.gemini-plugin/`, `.opencode-plugin/`) so the
|
|
|
159
159
|
0.1.78
|
|
160
160
|
|
|
161
161
|
0.1.79
|
|
162
|
+
|
|
163
|
+
## Fast Architecture Review (v0.1.80)
|
|
164
|
+
|
|
165
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
package/docs/routines.md
CHANGED
|
@@ -41,6 +41,29 @@ Inspect events:
|
|
|
41
41
|
node scripts/cw.js routine events
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
## Long Architecture Reviews
|
|
45
|
+
|
|
46
|
+
Use `architecture-review-fast` for the foreground user path, then schedule the
|
|
47
|
+
full `architecture-review` app as background work when a deep audit should not
|
|
48
|
+
block an interactive session:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
node scripts/architecture-review-fast.js \
|
|
52
|
+
--repo /path/to/repo \
|
|
53
|
+
--question "Is this architecture sound?" \
|
|
54
|
+
--metrics \
|
|
55
|
+
--schedule-full
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The wrapper creates a one-shot reminder schedule whose `workflowId` is
|
|
59
|
+
`architecture-review`. The schedule prompt is policy. CW stores the schedule and
|
|
60
|
+
records due events; the external agent host decides how to run the long review.
|
|
61
|
+
The prompt includes the foreground fast run id, fast report path, source-context
|
|
62
|
+
digest/profile, and asks the background agent to return the full review report
|
|
63
|
+
path and digest.
|
|
64
|
+
The `--metrics` flag is optional and reports foreground elapsed time plus
|
|
65
|
+
agent-spawn and result-cache-hit counts for the fast run.
|
|
66
|
+
|
|
44
67
|
## Boundary
|
|
45
68
|
|
|
46
69
|
CW v0.1.1 does not provide managed cloud infrastructure. It provides a local
|
|
@@ -49,6 +49,13 @@ own `sourceFingerprint`, the covered `repos`, the `queue`, and lifecycle
|
|
|
49
49
|
a `nextAction`. Every read re-derives records from source; the persisted index is
|
|
50
50
|
only compared against, never trusted as the live status.
|
|
51
51
|
|
|
52
|
+
During one index build, repo-level overlays (`archive.json` and
|
|
53
|
+
`provenance.json`) are read once per repo and passed as an in-memory scan
|
|
54
|
+
snapshot to each run record. This is a short-lived mechanism, not a persistent
|
|
55
|
+
cache: the next registry command re-reads source state and overlays from disk, so
|
|
56
|
+
freshness, fail-closed behavior, and output shape stay unchanged while large
|
|
57
|
+
repos avoid repeated identical overlay reads.
|
|
58
|
+
|
|
52
59
|
## Lifecycle state machine
|
|
53
60
|
|
|
54
61
|
Lifecycle is CLASSIFIED from existing state, never invented. `deriveLifecycle`
|
|
@@ -136,6 +143,32 @@ in the repo's `registry/provenance.json`. The original failed run is PRESERVED
|
|
|
136
143
|
for audit — the past is never overwritten. Rerunning a rerun increments
|
|
137
144
|
`generation` and keeps `originRunId` pinned to the chain root.
|
|
138
145
|
|
|
146
|
+
## Portable export, import, and restore verification
|
|
147
|
+
|
|
148
|
+
`run export <run-id> --output PATH` writes a portable JSON archive for a run. The
|
|
149
|
+
archive includes the run state plus run-local files, committed artifacts, audit
|
|
150
|
+
overlays, telemetry ledger files, per-file sha256 digests, file sizes, and a
|
|
151
|
+
manifest digest. External repo-local artifact paths referenced by the run are
|
|
152
|
+
copied into the archive under `external-artifacts/` and recorded with their
|
|
153
|
+
original `sourcePath`; the source run is never mutated.
|
|
154
|
+
|
|
155
|
+
`run import PATH --target DIR` restores the archive under
|
|
156
|
+
`DIR/.cw/runs/<run-id>/`, rebases paths to the target repo, writes an
|
|
157
|
+
`import-manifest.json`, refreshes the target repo registry, and immediately runs
|
|
158
|
+
the same verification used by `run verify-import`. Restored partial runs can be
|
|
159
|
+
resumed from the target repo; restored failed runs remain discoverable from the
|
|
160
|
+
home registry and can be rerun as new linked runs. The import does not alter the
|
|
161
|
+
source repository or the source run.
|
|
162
|
+
|
|
163
|
+
`run verify-import <run-id> [--cwd DIR]` re-reads the restore manifest, recomputes
|
|
164
|
+
every restored file digest, checks the manifest digest, and verifies the
|
|
165
|
+
telemetry ledger when one was restored. Missing manifests, digest mismatches,
|
|
166
|
+
path escapes, unsupported archive schemas, unreadable files, or telemetry-chain
|
|
167
|
+
failures return explicit failed checks instead of a fabricated success.
|
|
168
|
+
|
|
169
|
+
MCP exposes the same mechanisms as `cw_run_export`, `cw_run_import`, and
|
|
170
|
+
`cw_run_verify_import`; the CLI and MCP paths share the same runtime functions.
|
|
171
|
+
|
|
139
172
|
## Cross-repo history
|
|
140
173
|
|
|
141
174
|
`history` reads a unified timeline of runs across all registered repos
|
|
@@ -155,6 +188,9 @@ node scripts/cw.js run resume <run-id> [--limit N] [--json]
|
|
|
155
188
|
node scripts/cw.js run archive <run-id> [--reason TEXT] [--unarchive]
|
|
156
189
|
node scripts/cw.js run archive --older-than-days N [--state completed --state failed]
|
|
157
190
|
node scripts/cw.js run rerun <run-id> [--reason TEXT]
|
|
191
|
+
node scripts/cw.js run export <run-id> --output PATH
|
|
192
|
+
node scripts/cw.js run import PATH --target DIR
|
|
193
|
+
node scripts/cw.js run verify-import <run-id> [--cwd DIR]
|
|
158
194
|
node scripts/cw.js queue add [--app ID|--workflow ID|--runId ID] [--repo PATH] [--priority N] [--note TEXT]
|
|
159
195
|
node scripts/cw.js queue list [--status STATE] [--repo PATH] [--json]
|
|
160
196
|
node scripts/cw.js queue show <queue-id>
|
|
@@ -174,7 +210,8 @@ passes `npm run parity:check`:
|
|
|
174
210
|
|
|
175
211
|
- `cw_registry_refresh`, `cw_registry_show`
|
|
176
212
|
- `cw_run_search`, `cw_run_list`, `cw_run_show`, `cw_run_resume`,
|
|
177
|
-
`cw_run_archive`, `cw_run_rerun`
|
|
213
|
+
`cw_run_archive`, `cw_run_rerun`, `cw_run_export`, `cw_run_import`,
|
|
214
|
+
`cw_run_verify_import`
|
|
178
215
|
- `cw_queue_add`, `cw_queue_list`, `cw_queue_drain`, `cw_queue_show`
|
|
179
216
|
- `cw_history`
|
|
180
217
|
|
|
@@ -312,3 +349,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
312
349
|
0.1.78
|
|
313
350
|
|
|
314
351
|
0.1.79
|
|
352
|
+
|
|
353
|
+
## Fast Architecture Review (v0.1.80)
|
|
354
|
+
|
|
355
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
@@ -191,3 +191,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
191
191
|
0.1.78
|
|
192
192
|
|
|
193
193
|
0.1.79
|
|
194
|
+
|
|
195
|
+
## Fast Architecture Review (v0.1.80)
|
|
196
|
+
|
|
197
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Source Context Profiles
|
|
2
|
+
|
|
3
|
+
CW keeps source-context slimming out of the runtime kernel. The profile is policy
|
|
4
|
+
data in `manifest/source-context-profiles.json`; `scripts/source-context.js` is a
|
|
5
|
+
small mechanism that reads a git ref and writes JSONL to stdout.
|
|
6
|
+
|
|
7
|
+
## Core Profile
|
|
8
|
+
|
|
9
|
+
The default `core` profile is the project memory for AI source imports. It keeps
|
|
10
|
+
runtime source and app/userland entrypoints, and leaves generated artifacts,
|
|
11
|
+
tests, docs, release records, and long logs as manifest-only records.
|
|
12
|
+
|
|
13
|
+
Included:
|
|
14
|
+
|
|
15
|
+
- `plugins/cool-workflow/src/**`
|
|
16
|
+
- `plugins/cool-workflow/apps/**`
|
|
17
|
+
- `plugins/cool-workflow/package.json`
|
|
18
|
+
- `plugins/cool-workflow/tsconfig.json`
|
|
19
|
+
- `plugins/cool-workflow/scripts/cw.js`
|
|
20
|
+
- `plugins/cool-workflow/scripts/mcp-server.js`
|
|
21
|
+
- `plugins/cool-workflow/scripts/agents/**`
|
|
22
|
+
|
|
23
|
+
Excluded from exported content:
|
|
24
|
+
|
|
25
|
+
- `plugins/cool-workflow/dist/**`
|
|
26
|
+
- `plugins/cool-workflow/test/**`
|
|
27
|
+
- `plugins/cool-workflow/docs/**`
|
|
28
|
+
- `docs/assets/**`
|
|
29
|
+
- `.cw-release/**`
|
|
30
|
+
- `CHANGELOG.md`
|
|
31
|
+
- `ITERATION_LOG.md`
|
|
32
|
+
|
|
33
|
+
Exclusion does not delete files and does not change release behavior. `dist/`
|
|
34
|
+
remains a committed release artifact until the release contract is explicitly
|
|
35
|
+
changed.
|
|
36
|
+
|
|
37
|
+
## Narrow Profiles
|
|
38
|
+
|
|
39
|
+
Use a narrower opt-in profile when the question is already scoped:
|
|
40
|
+
|
|
41
|
+
- `runtime`: the full `src/**` runtime kernel plus package and TypeScript
|
|
42
|
+
metadata.
|
|
43
|
+
- `mcp`: capability core/registry, CLI routing, MCP server, MCP launcher scripts,
|
|
44
|
+
and shared types.
|
|
45
|
+
- `workflow-apps`: canonical apps plus the Workflow App framework and app
|
|
46
|
+
planning/orchestration surface.
|
|
47
|
+
- `release`: release flow, gates, manifest/version tooling, package metadata, and
|
|
48
|
+
release-tooling docs.
|
|
49
|
+
- `agent-wrappers`: external agent wrappers, agent config, execution backend,
|
|
50
|
+
drive loop, and agent-delegation docs.
|
|
51
|
+
|
|
52
|
+
The narrow profiles are policy data only. Selecting one changes only the JSONL
|
|
53
|
+
context pack; it does not change runtime behavior, release contents, or the
|
|
54
|
+
default `core` profile.
|
|
55
|
+
|
|
56
|
+
## Commands
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
node scripts/source-context.js profiles
|
|
60
|
+
node scripts/source-context.js manifest --profile core --ref HEAD --repo-root /path/to/repo > manifest.jsonl
|
|
61
|
+
node scripts/source-context.js export --profile core --ref HEAD --repo-root /path/to/repo > core-source.jsonl
|
|
62
|
+
node scripts/source-context.js export --profile mcp --ref HEAD --repo-root /path/to/repo > mcp-source.jsonl
|
|
63
|
+
node scripts/source-context.js export --profile mcp --changed-from origin/main --ref HEAD --repo-root /path/to/repo > mcp-changed.jsonl
|
|
64
|
+
node scripts/source-context.js export --profile core --ref HEAD --repo-root /path/to/repo --cache-dir .cw/cache/source-context > core-source.jsonl
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`manifest` emits one JSON object per tracked file at the selected ref:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{"path":"plugins/cool-workflow/src/state.ts","included":true,"reason":"included:plugins/cool-workflow/src/**","sha256":"..."}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
`export` emits only included text files and adds `content`. Both commands use
|
|
74
|
+
stdout for JSONL data only. Diagnostics and refusal messages go to stderr.
|
|
75
|
+
|
|
76
|
+
`--changed-from REF` is opt-in diff-aware mode. It filters `manifest` and
|
|
77
|
+
`export` to paths changed between the resolved base commit and `--ref`, then
|
|
78
|
+
applies the selected profile include/exclude rules. Deleted files are omitted
|
|
79
|
+
because there is no blob at the target ref. Records include `changedFrom` with
|
|
80
|
+
the resolved base commit. Empty diffs are valid and emit empty JSONL.
|
|
81
|
+
|
|
82
|
+
`export --cache-dir DIR` is opt-in. The cache key is the resolved git commit SHA
|
|
83
|
+
plus a digest of the selected source profile, so changing either the ref or the
|
|
84
|
+
include/exclude policy produces a different JSONL cache file. Cache hits write the
|
|
85
|
+
same JSONL bytes to stdout and stay silent on stderr. Corrupt or mismatched cache
|
|
86
|
+
records fail closed instead of falling back silently. Diff-aware exports include
|
|
87
|
+
the resolved `--changed-from` commit in the cache key, so full and changed exports
|
|
88
|
+
do not share cache files.
|
|
89
|
+
|
|
90
|
+
`--repo-root DIR` is also opt-in; when omitted, the script keeps its historical
|
|
91
|
+
default and reads the Cool Workflow repository root.
|
|
92
|
+
|
|
93
|
+
## Verification
|
|
94
|
+
|
|
95
|
+
The smoke test checks that:
|
|
96
|
+
|
|
97
|
+
- the profile includes and excludes exactly the remembered paths;
|
|
98
|
+
- `dist/`, tests, docs, release records, and long logs are manifest-only;
|
|
99
|
+
- exported records are parseable JSONL with content and sha256;
|
|
100
|
+
- narrow profiles are slimmer than `core` and include/exclude their intended
|
|
101
|
+
surfaces;
|
|
102
|
+
- `--changed-from` emits only changed current-ref files, still honors excludes,
|
|
103
|
+
and caches separately from full exports;
|
|
104
|
+
- cached exports are byte-identical to uncached exports and corrupt cache hits
|
|
105
|
+
fail closed;
|
|
106
|
+
- the `core` profile stays under its `maxLines` guard.
|
|
107
|
+
|
|
108
|
+
Run:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
node test/source-context-profile-smoke.js
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## FreeBSD Discipline
|
|
115
|
+
|
|
116
|
+
This feature is opt-in and does not alter existing CLI output. It is mechanism,
|
|
117
|
+
not policy: profile selection lives in data, and vendor prompt/stream behavior
|
|
118
|
+
stays in wrappers. It fails closed on invalid profiles, unknown refs, binary
|
|
119
|
+
included files, and line-count drift past the configured guard.
|
|
@@ -45,6 +45,13 @@ Summaries are written under `.cw/runs/<run-id>/summaries/` as plain JSON. Raw
|
|
|
45
45
|
blackboard messages, graph nodes, graph edges, audit events, evidence refs, and
|
|
46
46
|
eval artifacts are never deleted or overwritten.
|
|
47
47
|
|
|
48
|
+
Within a single summary build, CW shares the derived full operator graph,
|
|
49
|
+
operator status, blackboard digest, state-size record, and graph view records
|
|
50
|
+
through a short-lived in-memory context. This avoids rebuilding the same graph
|
|
51
|
+
for `summary refresh`, `summary show`, and the top-level state-explosion report.
|
|
52
|
+
It is not a daemon or persistent cache: the next command re-reads run state from
|
|
53
|
+
disk, recomputes source fingerprints, and still fails closed on stale summaries.
|
|
54
|
+
|
|
48
55
|
## Blackboard summarization
|
|
49
56
|
|
|
50
57
|
`blackboard summarize <run-id>` (MCP: `cw_blackboard_summarize`) returns a
|
|
@@ -264,3 +271,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
264
271
|
0.1.78
|
|
265
272
|
|
|
266
273
|
0.1.79
|
|
274
|
+
|
|
275
|
+
## Fast Architecture Review (v0.1.80)
|
|
276
|
+
|
|
277
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
@@ -207,3 +207,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
207
207
|
0.1.78
|
|
208
208
|
|
|
209
209
|
0.1.79
|
|
210
|
+
|
|
211
|
+
## Fast Architecture Review (v0.1.80)
|
|
212
|
+
|
|
213
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
package/docs/unix-principles.md
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# Unix-Inspired Workflow Principles
|
|
2
2
|
|
|
3
3
|
CW borrows a small set of durable systems ideas and applies them to agent
|
|
4
|
-
workflow engineering. These are design principles, not platform claims
|
|
4
|
+
workflow engineering. These are design principles, not platform claims — but
|
|
5
|
+
they are not optional: this project strictly follows the FreeBSD programming
|
|
6
|
+
philosophy, and §7 below states the binding rules every change is reviewed
|
|
7
|
+
against (mirrored as hard constraints in the repository's `AGENTS.md`).
|
|
5
8
|
|
|
6
9
|
## 1. Everything Is State
|
|
7
10
|
|
|
@@ -190,3 +193,48 @@ Hosts enforce runtime sandbox policy.
|
|
|
190
193
|
```
|
|
191
194
|
|
|
192
195
|
This keeps CW small, inspectable, and extensible.
|
|
196
|
+
|
|
197
|
+
## 7. FreeBSD Discipline (Binding Rules)
|
|
198
|
+
|
|
199
|
+
The principles above descend from one tradition — the FreeBSD school of
|
|
200
|
+
systems engineering — and CW adheres to it strictly. Concretely:
|
|
201
|
+
|
|
202
|
+
**POLA — Principle of Least Astonishment.** An existing output, file layout,
|
|
203
|
+
exit code, or flag never changes meaning or bytes underneath an operator. New
|
|
204
|
+
behavior ships behind a new verb/flag or an env toggle, with the prior
|
|
205
|
+
behavior byte-identical by default. (Example: live drive output is additive —
|
|
206
|
+
stderr only, TTY-gated, `CW_NO_STREAM=1` opt-out; the stdout payload and
|
|
207
|
+
evidence digest are unchanged.)
|
|
208
|
+
|
|
209
|
+
**Mechanism, not policy.** The kernel provides mechanisms; policy is data in
|
|
210
|
+
userland. WHICH agent runs is config (`CW_AGENT_COMMAND` / agent-config), not
|
|
211
|
+
code; vendor-specific rendering lives in wrappers under `scripts/agents/`,
|
|
212
|
+
never in core. Core may forward a vendor's stream; it never parses one.
|
|
213
|
+
|
|
214
|
+
**Rule of Silence.** stdout is data, stderr is diagnostics, and a
|
|
215
|
+
non-interactive run is silent on success. Anything human-friendly is TTY-gated
|
|
216
|
+
and can be disabled; `--json` output is stable and undecorated so it composes
|
|
217
|
+
in pipes.
|
|
218
|
+
|
|
219
|
+
**Fail closed, conservative defaults.** Unconfigured backends probe as
|
|
220
|
+
`unverified`, unverifiable telemetry is surfaced loudly (or refused in strict
|
|
221
|
+
mode), invalid results park the hop. CW never fabricates a success and never
|
|
222
|
+
falls back silently. Boring correctness beats clever features.
|
|
223
|
+
|
|
224
|
+
**Tools, not frameworks.** Zero runtime dependencies is a red line. Verbs do
|
|
225
|
+
one thing; composition happens through durable files (`.cw/`) and pipes, not
|
|
226
|
+
hidden in-process coupling.
|
|
227
|
+
|
|
228
|
+
**Man pages are the contract.** Every shipped capability has a `docs/*.7.md`
|
|
229
|
+
page updated in the same change, and doc-drift guards in the test suite keep
|
|
230
|
+
the documented commands honest. Undocumented behavior is unfinished behavior.
|
|
231
|
+
|
|
232
|
+
**style(9) spirit.** One consistent style per layer; a diff matches the file
|
|
233
|
+
it touches and never reformats code it does not change.
|
|
234
|
+
|
|
235
|
+
**Release engineering.** Main is -CURRENT; a tag is -RELEASE: it exists only
|
|
236
|
+
after the deterministic gate and an independent review pass, and cadence never
|
|
237
|
+
overrides the gate.
|
|
238
|
+
|
|
239
|
+
A change that violates any rule in this section is rejected in review even if
|
|
240
|
+
the capability it ships is otherwise desirable.
|
|
@@ -215,3 +215,7 @@ Migration DAG with reversible edges (v0.1.45), capability auto-discovery (v0.1.4
|
|
|
215
215
|
0.1.78
|
|
216
216
|
|
|
217
217
|
0.1.79
|
|
218
|
+
|
|
219
|
+
## Fast Architecture Review (v0.1.80)
|
|
220
|
+
|
|
221
|
+
Adds the opt-in fast architecture-review lane: scoped JSONL source contexts, diff-aware exports, reusable Map and Assess results, measurable wrapper metrics, actionable background full-review handoff, and userland model policy flags for routing fast/strong workers without changing the full review contract.
|
|
@@ -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.1.
|
|
5
|
+
"version": "0.1.80",
|
|
6
6
|
"license": "BSD-2-Clause",
|
|
7
7
|
"homepage": "https://github.com/coo1white/cool-workflow",
|
|
8
8
|
"author": {
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"profiles": {
|
|
4
|
+
"core": {
|
|
5
|
+
"description": "Default AI source context: runtime source, apps, package metadata, and agent wrappers; generated artifacts, tests, docs, release records, and long logs are manifest-only.",
|
|
6
|
+
"maxLines": 50000,
|
|
7
|
+
"include": [
|
|
8
|
+
"plugins/cool-workflow/src/**",
|
|
9
|
+
"plugins/cool-workflow/apps/**",
|
|
10
|
+
"plugins/cool-workflow/package.json",
|
|
11
|
+
"plugins/cool-workflow/tsconfig.json",
|
|
12
|
+
"plugins/cool-workflow/scripts/cw.js",
|
|
13
|
+
"plugins/cool-workflow/scripts/mcp-server.js",
|
|
14
|
+
"plugins/cool-workflow/scripts/agents/**"
|
|
15
|
+
],
|
|
16
|
+
"exclude": [
|
|
17
|
+
"plugins/cool-workflow/dist/**",
|
|
18
|
+
"plugins/cool-workflow/test/**",
|
|
19
|
+
"plugins/cool-workflow/docs/**",
|
|
20
|
+
"docs/assets/**",
|
|
21
|
+
".cw-release/**",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"ITERATION_LOG.md"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"runtime": {
|
|
27
|
+
"description": "Runtime-kernel source context for state, orchestration, scheduling, execution, and shared types.",
|
|
28
|
+
"maxLines": 40000,
|
|
29
|
+
"include": [
|
|
30
|
+
"plugins/cool-workflow/src/**",
|
|
31
|
+
"plugins/cool-workflow/package.json",
|
|
32
|
+
"plugins/cool-workflow/tsconfig.json"
|
|
33
|
+
],
|
|
34
|
+
"exclude": [
|
|
35
|
+
"plugins/cool-workflow/dist/**",
|
|
36
|
+
"plugins/cool-workflow/test/**",
|
|
37
|
+
"plugins/cool-workflow/docs/**",
|
|
38
|
+
"plugins/cool-workflow/apps/**",
|
|
39
|
+
"plugins/cool-workflow/scripts/**",
|
|
40
|
+
"docs/assets/**",
|
|
41
|
+
".cw-release/**",
|
|
42
|
+
"CHANGELOG.md",
|
|
43
|
+
"ITERATION_LOG.md"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"mcp": {
|
|
47
|
+
"description": "MCP and CLI surface context for capability registry, MCP server, CLI routing, and MCP launcher wrappers.",
|
|
48
|
+
"maxLines": 18000,
|
|
49
|
+
"include": [
|
|
50
|
+
"plugins/cool-workflow/src/capability-core.ts",
|
|
51
|
+
"plugins/cool-workflow/src/capability-registry.ts",
|
|
52
|
+
"plugins/cool-workflow/src/cli.ts",
|
|
53
|
+
"plugins/cool-workflow/src/mcp-server.ts",
|
|
54
|
+
"plugins/cool-workflow/src/types/**",
|
|
55
|
+
"plugins/cool-workflow/scripts/cw.js",
|
|
56
|
+
"plugins/cool-workflow/scripts/mcp-server.js",
|
|
57
|
+
"plugins/cool-workflow/package.json",
|
|
58
|
+
"plugins/cool-workflow/tsconfig.json"
|
|
59
|
+
],
|
|
60
|
+
"exclude": [
|
|
61
|
+
"plugins/cool-workflow/dist/**",
|
|
62
|
+
"plugins/cool-workflow/test/**",
|
|
63
|
+
"plugins/cool-workflow/docs/**",
|
|
64
|
+
"docs/assets/**",
|
|
65
|
+
".cw-release/**",
|
|
66
|
+
"CHANGELOG.md",
|
|
67
|
+
"ITERATION_LOG.md"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"workflow-apps": {
|
|
71
|
+
"description": "Workflow App framework and canonical app context without the full runtime kernel.",
|
|
72
|
+
"maxLines": 18000,
|
|
73
|
+
"include": [
|
|
74
|
+
"plugins/cool-workflow/apps/**",
|
|
75
|
+
"plugins/cool-workflow/src/workflow-app-framework.ts",
|
|
76
|
+
"plugins/cool-workflow/src/orchestrator.ts",
|
|
77
|
+
"plugins/cool-workflow/src/orchestrator/**",
|
|
78
|
+
"plugins/cool-workflow/src/types/workflow-app.ts",
|
|
79
|
+
"plugins/cool-workflow/src/types/run.ts",
|
|
80
|
+
"plugins/cool-workflow/scripts/canonical-apps.js",
|
|
81
|
+
"plugins/cool-workflow/package.json",
|
|
82
|
+
"plugins/cool-workflow/tsconfig.json"
|
|
83
|
+
],
|
|
84
|
+
"exclude": [
|
|
85
|
+
"plugins/cool-workflow/dist/**",
|
|
86
|
+
"plugins/cool-workflow/test/**",
|
|
87
|
+
"plugins/cool-workflow/docs/**",
|
|
88
|
+
"docs/assets/**",
|
|
89
|
+
".cw-release/**",
|
|
90
|
+
"CHANGELOG.md",
|
|
91
|
+
"ITERATION_LOG.md"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"release": {
|
|
95
|
+
"description": "Release-engineering context for gates, release flow, version sync, manifests, and package metadata.",
|
|
96
|
+
"maxLines": 12000,
|
|
97
|
+
"include": [
|
|
98
|
+
"AGENTS.md",
|
|
99
|
+
"plugins/cool-workflow/scripts/release-flow.js",
|
|
100
|
+
"plugins/cool-workflow/scripts/release-gate.sh",
|
|
101
|
+
"plugins/cool-workflow/scripts/dogfood-release.js",
|
|
102
|
+
"plugins/cool-workflow/scripts/gen-manifests.js",
|
|
103
|
+
"plugins/cool-workflow/scripts/version-sync-check.js",
|
|
104
|
+
"plugins/cool-workflow/scripts/bump-version.js",
|
|
105
|
+
"plugins/cool-workflow/package.json",
|
|
106
|
+
"plugins/cool-workflow/manifest/**",
|
|
107
|
+
"plugins/cool-workflow/docs/release-tooling.7.md"
|
|
108
|
+
],
|
|
109
|
+
"exclude": [
|
|
110
|
+
"plugins/cool-workflow/dist/**",
|
|
111
|
+
"plugins/cool-workflow/test/**",
|
|
112
|
+
"docs/assets/**",
|
|
113
|
+
".cw-release/**",
|
|
114
|
+
"CHANGELOG.md",
|
|
115
|
+
"ITERATION_LOG.md"
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
"agent-wrappers": {
|
|
119
|
+
"description": "External agent delegation wrappers and neutral backend configuration context.",
|
|
120
|
+
"maxLines": 14000,
|
|
121
|
+
"include": [
|
|
122
|
+
"plugins/cool-workflow/scripts/agents/**",
|
|
123
|
+
"plugins/cool-workflow/scripts/architecture-review-fast.js",
|
|
124
|
+
"plugins/cool-workflow/src/agent-config.ts",
|
|
125
|
+
"plugins/cool-workflow/src/execution-backend.ts",
|
|
126
|
+
"plugins/cool-workflow/src/drive.ts",
|
|
127
|
+
"plugins/cool-workflow/src/types/execution-backend.ts",
|
|
128
|
+
"plugins/cool-workflow/src/types/drive.ts",
|
|
129
|
+
"plugins/cool-workflow/package.json",
|
|
130
|
+
"plugins/cool-workflow/docs/agent-delegation-drive.7.md"
|
|
131
|
+
],
|
|
132
|
+
"exclude": [
|
|
133
|
+
"plugins/cool-workflow/dist/**",
|
|
134
|
+
"plugins/cool-workflow/test/**",
|
|
135
|
+
"docs/assets/**",
|
|
136
|
+
".cw-release/**",
|
|
137
|
+
"CHANGELOG.md",
|
|
138
|
+
"ITERATION_LOG.md"
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cool-workflow",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.80",
|
|
4
4
|
"bin": {
|
|
5
5
|
"cool-workflow": "scripts/cw.js",
|
|
6
6
|
"cw": "scripts/cw.js"
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"release:check": "node scripts/release-check.js",
|
|
57
57
|
"test": "node dist/cli.js list && node test/run-all.js",
|
|
58
58
|
"test:fast": "npm run build --if-present && node dist/cli.js list && node test/run-all.js --concurrency auto",
|
|
59
|
+
"test:coverage": "node dist/cli.js list && node scripts/coverage-gate.js",
|
|
59
60
|
"eval:replay": "tsc -p tsconfig.json && node test/multi-agent-eval-replay-harness-smoke.js",
|
|
60
61
|
"ci": "npm run build && npm run check && npm run test && npm run release:check",
|
|
61
62
|
"validate:schema": "node scripts/validate-run-state-schema.js"
|