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.
Files changed (193) hide show
  1. package/.claude-plugin/plugin.json +20 -0
  2. package/.codex-plugin/mcp.json +10 -0
  3. package/.codex-plugin/plugin.json +38 -0
  4. package/.mcp.json +10 -0
  5. package/LICENSE +24 -0
  6. package/README.md +638 -0
  7. package/apps/architecture-review/app.json +51 -0
  8. package/apps/architecture-review/workflow.js +116 -0
  9. package/apps/end-to-end-golden-path/app.json +30 -0
  10. package/apps/end-to-end-golden-path/workflow.js +33 -0
  11. package/apps/pr-review-fix-ci/app.json +59 -0
  12. package/apps/pr-review-fix-ci/workflow.js +90 -0
  13. package/apps/release-cut/app.json +54 -0
  14. package/apps/release-cut/workflow.js +82 -0
  15. package/apps/research-synthesis/app.json +50 -0
  16. package/apps/research-synthesis/workflow.js +76 -0
  17. package/apps/workflow-app-framework-demo/app.json +29 -0
  18. package/apps/workflow-app-framework-demo/workflow.js +44 -0
  19. package/dist/agent-config.js +223 -0
  20. package/dist/candidate-scoring.js +715 -0
  21. package/dist/capability-core.js +630 -0
  22. package/dist/capability-dispatcher.js +86 -0
  23. package/dist/capability-registry.js +523 -0
  24. package/dist/cli.js +1276 -0
  25. package/dist/collaboration.js +727 -0
  26. package/dist/commit.js +570 -0
  27. package/dist/contract-migration.js +234 -0
  28. package/dist/coordinator.js +1163 -0
  29. package/dist/daemon.js +44 -0
  30. package/dist/dispatch.js +201 -0
  31. package/dist/drive.js +503 -0
  32. package/dist/error-feedback.js +415 -0
  33. package/dist/evidence-grounding.js +179 -0
  34. package/dist/evidence-reasoning.js +733 -0
  35. package/dist/execution-backend.js +1279 -0
  36. package/dist/harness.js +61 -0
  37. package/dist/mcp-server.js +1615 -0
  38. package/dist/multi-agent-eval.js +857 -0
  39. package/dist/multi-agent-host.js +764 -0
  40. package/dist/multi-agent-operator-ux.js +537 -0
  41. package/dist/multi-agent-trust.js +366 -0
  42. package/dist/multi-agent.js +1173 -0
  43. package/dist/node-snapshot.js +270 -0
  44. package/dist/observability.js +922 -0
  45. package/dist/operator-ux.js +971 -0
  46. package/dist/orchestrator/audit-operations.js +182 -0
  47. package/dist/orchestrator/candidate-operations.js +117 -0
  48. package/dist/orchestrator/cli-options.js +288 -0
  49. package/dist/orchestrator/collaboration-operations.js +86 -0
  50. package/dist/orchestrator/feedback-operations.js +81 -0
  51. package/dist/orchestrator/host-operations.js +78 -0
  52. package/dist/orchestrator/lifecycle-operations.js +462 -0
  53. package/dist/orchestrator/migration-operations.js +44 -0
  54. package/dist/orchestrator/multi-agent-operations.js +362 -0
  55. package/dist/orchestrator/report.js +369 -0
  56. package/dist/orchestrator/topology-operations.js +84 -0
  57. package/dist/orchestrator.js +874 -0
  58. package/dist/pipeline-contract.js +92 -0
  59. package/dist/pipeline-runner.js +285 -0
  60. package/dist/reclamation.js +882 -0
  61. package/dist/result-normalize.js +194 -0
  62. package/dist/run-export.js +64 -0
  63. package/dist/run-registry.js +1347 -0
  64. package/dist/run-state-schema.js +67 -0
  65. package/dist/sandbox-profile.js +471 -0
  66. package/dist/scheduler.js +266 -0
  67. package/dist/scheduling.js +184 -0
  68. package/dist/schema-validate.js +98 -0
  69. package/dist/state-explosion.js +1213 -0
  70. package/dist/state-migrations.js +463 -0
  71. package/dist/state-node.js +301 -0
  72. package/dist/state.js +308 -0
  73. package/dist/telemetry-attestation.js +156 -0
  74. package/dist/telemetry-ledger.js +145 -0
  75. package/dist/topology.js +527 -0
  76. package/dist/triggers.js +159 -0
  77. package/dist/trust-audit.js +475 -0
  78. package/dist/types/blackboard.js +2 -0
  79. package/dist/types/boundary.js +29 -0
  80. package/dist/types/candidate.js +2 -0
  81. package/dist/types/collaboration.js +2 -0
  82. package/dist/types/core.js +2 -0
  83. package/dist/types/drive.js +10 -0
  84. package/dist/types/error-feedback.js +2 -0
  85. package/dist/types/evidence-reasoning.js +2 -0
  86. package/dist/types/execution-backend.js +2 -0
  87. package/dist/types/multi-agent.js +2 -0
  88. package/dist/types/observability.js +2 -0
  89. package/dist/types/pipeline.js +2 -0
  90. package/dist/types/reclamation.js +8 -0
  91. package/dist/types/result.js +2 -0
  92. package/dist/types/run-registry.js +2 -0
  93. package/dist/types/run.js +2 -0
  94. package/dist/types/sandbox.js +2 -0
  95. package/dist/types/schedule.js +2 -0
  96. package/dist/types/state-node.js +2 -0
  97. package/dist/types/topology.js +2 -0
  98. package/dist/types/trust.js +2 -0
  99. package/dist/types/workbench.js +2 -0
  100. package/dist/types/worker.js +2 -0
  101. package/dist/types/workflow-app.js +2 -0
  102. package/dist/types.js +43 -0
  103. package/dist/verifier-registry.js +46 -0
  104. package/dist/verifier.js +78 -0
  105. package/dist/version.js +8 -0
  106. package/dist/workbench-host.js +172 -0
  107. package/dist/workbench.js +190 -0
  108. package/dist/worker-isolation.js +1028 -0
  109. package/dist/workflow-api.js +98 -0
  110. package/dist/workflow-app-framework.js +626 -0
  111. package/docs/agent-delegation-drive.7.md +190 -0
  112. package/docs/agent-framework.md +176 -0
  113. package/docs/candidate-scoring.7.md +106 -0
  114. package/docs/canonical-workflow-apps.7.md +137 -0
  115. package/docs/capability-topology-registry.7.md +168 -0
  116. package/docs/cli-mcp-parity.7.md +373 -0
  117. package/docs/contract-migration-tooling.7.md +123 -0
  118. package/docs/control-plane-scheduling.7.md +110 -0
  119. package/docs/coordinator-blackboard.7.md +183 -0
  120. package/docs/dogfood/architecture-review-cool-workflow.md +16 -0
  121. package/docs/dogfood-one-real-repo.7.md +168 -0
  122. package/docs/durable-state-and-locking.7.md +107 -0
  123. package/docs/end-to-end-golden-path.7.md +117 -0
  124. package/docs/error-feedback.7.md +153 -0
  125. package/docs/evidence-adoption-reasoning-chain.7.md +270 -0
  126. package/docs/execution-backends.7.md +300 -0
  127. package/docs/getting-started.md +99 -0
  128. package/docs/index.md +41 -0
  129. package/docs/mcp-app-surface.7.md +235 -0
  130. package/docs/multi-agent-cli-mcp-surface.7.md +265 -0
  131. package/docs/multi-agent-eval-replay-harness.7.md +302 -0
  132. package/docs/multi-agent-operator-ux.7.md +314 -0
  133. package/docs/multi-agent-runtime-core.7.md +231 -0
  134. package/docs/multi-agent-topologies.7.md +103 -0
  135. package/docs/multi-agent-trust-policy-audit.7.md +154 -0
  136. package/docs/node-snapshot-diff-replay.7.md +135 -0
  137. package/docs/observability-cost-accounting.7.md +194 -0
  138. package/docs/operator-ux.7.md +180 -0
  139. package/docs/pipeline-runner.7.md +136 -0
  140. package/docs/project-index.md +261 -0
  141. package/docs/real-execution-backends.7.md +142 -0
  142. package/docs/release-and-migration.7.md +280 -0
  143. package/docs/release-tooling.7.md +159 -0
  144. package/docs/routines.md +48 -0
  145. package/docs/run-registry-control-plane.7.md +312 -0
  146. package/docs/run-retention-reclamation.7.md +191 -0
  147. package/docs/sandbox-profiles.7.md +137 -0
  148. package/docs/scheduled-tasks.md +80 -0
  149. package/docs/security-trust-hardening.7.md +117 -0
  150. package/docs/state-explosion-management.7.md +264 -0
  151. package/docs/state-node.7.md +96 -0
  152. package/docs/team-collaboration.7.md +207 -0
  153. package/docs/unix-principles.md +192 -0
  154. package/docs/verifier-gated-commit.7.md +140 -0
  155. package/docs/web-desktop-workbench.7.md +215 -0
  156. package/docs/worker-isolation.7.md +167 -0
  157. package/docs/workflow-app-framework.7.md +274 -0
  158. package/manifest/README.md +43 -0
  159. package/manifest/plugin.manifest.json +316 -0
  160. package/manifest/pricing.policy.json +14 -0
  161. package/package.json +79 -0
  162. package/scripts/agents/claude-p-agent.js +104 -0
  163. package/scripts/agents/claude-p-agent.sh +9 -0
  164. package/scripts/agents/cw-attest-keygen.js +55 -0
  165. package/scripts/agents/cw-attest-wrap.js +143 -0
  166. package/scripts/block-unapproved-tag.sh +39 -0
  167. package/scripts/bump-version.js +249 -0
  168. package/scripts/canonical-apps.js +171 -0
  169. package/scripts/cw.js +4 -0
  170. package/scripts/dist-drift-check.js +79 -0
  171. package/scripts/dogfood-architecture-review.js +237 -0
  172. package/scripts/dogfood-release.js +624 -0
  173. package/scripts/forward-ref-docs.js +73 -0
  174. package/scripts/gen-manifests.js +232 -0
  175. package/scripts/golden-path.js +300 -0
  176. package/scripts/mcp-server.js +4 -0
  177. package/scripts/new-feature.js +121 -0
  178. package/scripts/parity-check.js +213 -0
  179. package/scripts/release-check.js +118 -0
  180. package/scripts/release-flow.js +272 -0
  181. package/scripts/release-gate.sh +85 -0
  182. package/scripts/sync-project-index.js +387 -0
  183. package/scripts/validate-run-state-schema.js +126 -0
  184. package/scripts/verify-container-selfref.js +64 -0
  185. package/scripts/version-sync-check.js +237 -0
  186. package/skills/cool-workflow/SKILL.md +162 -0
  187. package/skills/cool-workflow/references/commands.md +282 -0
  188. package/tsconfig.json +16 -0
  189. package/ui/workbench/app.css +76 -0
  190. package/ui/workbench/app.js +159 -0
  191. package/ui/workbench/index.html +32 -0
  192. package/workflows/architecture-review.workflow.js +84 -0
  193. package/workflows/research-synthesis.workflow.js +47 -0
@@ -0,0 +1,51 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "architecture-review",
4
+ "title": "Architecture Review",
5
+ "summary": "Map a repository architecture, assess risks, verify important findings, and synthesize an evidence-backed verdict.",
6
+ "version": "0.1.78",
7
+ "author": "COOLWHITE LLC",
8
+ "inputs": [
9
+ {
10
+ "name": "repo",
11
+ "type": "path",
12
+ "required": true,
13
+ "description": "Repository path to inspect."
14
+ },
15
+ {
16
+ "name": "question",
17
+ "type": "string",
18
+ "required": true,
19
+ "description": "Architecture question or decision to review."
20
+ },
21
+ {
22
+ "name": "invariant",
23
+ "type": "string",
24
+ "repeated": true,
25
+ "description": "Invariant that must remain true."
26
+ },
27
+ {
28
+ "name": "focus",
29
+ "type": "string",
30
+ "description": "Optional subsystem, risk area, or file path to emphasize.",
31
+ "default": "the overall architecture"
32
+ }
33
+ ],
34
+ "sandboxProfiles": [
35
+ "readonly"
36
+ ],
37
+ "compatibility": {
38
+ "minVersion": "0.1.30",
39
+ "workflowSchemaVersion": 1,
40
+ "notes": "Canonical v0.1.30 app migrated from the legacy architecture-review workflow."
41
+ },
42
+ "metadata": {
43
+ "canonical": true,
44
+ "domain": "software-architecture",
45
+ "legacyCompatibilityId": "legacy-architecture-review",
46
+ "maintainedAs": "official-userland"
47
+ },
48
+ "workflow": {
49
+ "entrypoint": "workflow.js"
50
+ }
51
+ }
@@ -0,0 +1,116 @@
1
+ module.exports = ({ workflow, phase, agent, artifact, input }) => {
2
+ const inputs = [
3
+ input("repo", {
4
+ type: "path",
5
+ required: true,
6
+ description: "Repository path to inspect."
7
+ }),
8
+ input("question", {
9
+ type: "string",
10
+ required: true,
11
+ description: "Architecture question or decision to review."
12
+ }),
13
+ input("invariant", {
14
+ type: "string",
15
+ repeated: true,
16
+ description: "Invariant that must remain true."
17
+ }),
18
+ input("focus", {
19
+ type: "string",
20
+ description: "Optional subsystem, risk area, or file path to emphasize.",
21
+ default: "the overall architecture"
22
+ })
23
+ ];
24
+
25
+ return workflow({
26
+ id: "architecture-review",
27
+ title: "Architecture Review",
28
+ summary: "Map a repository architecture, assess risks, verify important findings, and synthesize an evidence-backed verdict.",
29
+ limits: {
30
+ maxAgents: 40,
31
+ maxConcurrentAgents: 6
32
+ },
33
+ inputs,
34
+ sandboxProfiles: ["readonly"],
35
+ phases: [
36
+ phase("Map", [
37
+ agent(
38
+ "map:server-api",
39
+ "Map server/API entrypoints, request flows, service boundaries, auth surfaces, and owned state in {{repo}} for {{question}}. Focus: {{focus}}. Invariants: {{invariant}}. Return inspected files, dependencies, invariants, and candidate risks.",
40
+ { sandboxProfileId: "readonly" }
41
+ ),
42
+ agent(
43
+ "map:web-client",
44
+ "Map web/client/UI boundaries, local state, backend dependencies, build/runtime assumptions, and candidate risks in {{repo}}. Focus: {{focus}}. Return exact files and commands that informed the map.",
45
+ { sandboxProfileId: "readonly" }
46
+ ),
47
+ agent(
48
+ "map:db-security",
49
+ "Map database, persistence, migrations, secrets, auth, permissions, and security-sensitive paths in {{repo}}. Return candidate risks with file paths, config names, and uncertainty boundaries.",
50
+ { sandboxProfileId: "readonly" }
51
+ ),
52
+ agent(
53
+ "map:deploy-config",
54
+ "Map deployment, CI, package scripts, Docker or compose files, reverse proxies, environment config, supervision, and operational assumptions. Return concrete files and release or runtime risks.",
55
+ { sandboxProfileId: "readonly" }
56
+ ),
57
+ agent(
58
+ "map:jobs-operators",
59
+ "Map background jobs, admin/operator surfaces, queues, scheduled work, generated files, state transitions, and failure recovery paths. Identify missing or non-applicable areas explicitly.",
60
+ { sandboxProfileId: "readonly" }
61
+ ),
62
+ agent(
63
+ "map:transport-core",
64
+ "Map protocol, daemon, transport, rendering, networking, worker isolation, or core engine boundaries when present. If absent, explain why with inspected evidence.",
65
+ { sandboxProfileId: "readonly" }
66
+ )
67
+ ]),
68
+ phase("Assess", [
69
+ agent(
70
+ "assess:security",
71
+ "Assess mapper findings through a security lens. Separate real, conditional, non-issue, and unknown risks with evidence, falsifiers, and exact files or config keys.",
72
+ { sandboxProfileId: "readonly" }
73
+ ),
74
+ agent(
75
+ "assess:data-correctness",
76
+ "Assess data correctness, schema drift, persistence invariants, concurrency, transactions, cache behavior, and state corruption risks. Tie every important claim to inspected evidence.",
77
+ { sandboxProfileId: "readonly" }
78
+ ),
79
+ agent(
80
+ "assess:failure-modes",
81
+ "Assess startup, shutdown, retries, partial failure, dependency outage, backup/restore, release rollback, and recovery behavior. Identify deterministic commands that could verify the claims.",
82
+ { sandboxProfileId: "readonly" }
83
+ ),
84
+ agent(
85
+ "assess:scale-ops",
86
+ "Assess scale, operational complexity, observability, configuration, packaging, deployment, and maintenance risks. Include exact files, scripts, or missing controls.",
87
+ { sandboxProfileId: "readonly" }
88
+ ),
89
+ agent(
90
+ "assess:maintainability",
91
+ "Assess module boundaries, ownership clarity, coupling, extensibility, testability, and future change risk. Distinguish architectural risks from style preferences.",
92
+ { sandboxProfileId: "readonly" }
93
+ ),
94
+ agent(
95
+ "assess:domain",
96
+ "Assess domain-specific risks implied by {{question}}, {{focus}}, and the invariants {{invariant}}. Include abuse, misuse, or compatibility concerns only when supported by repository evidence.",
97
+ { sandboxProfileId: "readonly" }
98
+ )
99
+ ]),
100
+ phase("Verify", [
101
+ agent(
102
+ "verify:p0-p2-risks",
103
+ "Re-open evidence for every candidate P0/P1/P2 risk. Confirm real risks, downgrade unsupported concerns, and list exact file paths, commands, logs, or unknowns. The cw:result evidence array must cite durable locators.",
104
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
105
+ )
106
+ ]),
107
+ phase("Verdict", [
108
+ artifact(
109
+ "verdict:synthesis",
110
+ "Synthesize the architecture verdict for {{question}}: short answer, architecture map, ranked risks, non-issues, recommended changes, and evidence links. The cw:result evidence array must support the final verdict.",
111
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
112
+ )
113
+ ])
114
+ ]
115
+ });
116
+ };
@@ -0,0 +1,30 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "end-to-end-golden-path",
4
+ "title": "End-to-End Golden Path",
5
+ "summary": "Deterministic one-worker workflow app for proving the CW integration chain.",
6
+ "version": "0.1.78",
7
+ "author": "COOLWHITE LLC",
8
+ "inputs": [
9
+ {
10
+ "name": "question",
11
+ "type": "string",
12
+ "required": true,
13
+ "description": "Golden path assertion or release question to prove."
14
+ }
15
+ ],
16
+ "sandboxProfiles": [
17
+ "readonly"
18
+ ],
19
+ "compatibility": {
20
+ "minVersion": "0.1.9",
21
+ "notes": "Uses the v0.1.9 Workflow App framework contract."
22
+ },
23
+ "metadata": {
24
+ "releaseDiscipline": true,
25
+ "goldenPath": true
26
+ },
27
+ "workflow": {
28
+ "entrypoint": "workflow.js"
29
+ }
30
+ }
@@ -0,0 +1,33 @@
1
+ module.exports = ({ workflow, phase, agent, input }) => {
2
+ const inputs = [
3
+ input("question", {
4
+ type: "string",
5
+ required: true,
6
+ description: "Golden path assertion or release question to prove."
7
+ })
8
+ ];
9
+
10
+ return workflow({
11
+ id: "end-to-end-golden-path",
12
+ title: "End-to-End Golden Path",
13
+ summary: "Deterministic one-worker workflow app for proving the CW integration chain.",
14
+ limits: {
15
+ maxAgents: 1,
16
+ maxConcurrentAgents: 1
17
+ },
18
+ inputs,
19
+ sandboxProfiles: ["readonly"],
20
+ phases: [
21
+ phase("Golden Path", [
22
+ agent(
23
+ "golden:path",
24
+ [
25
+ "Prove the CW end-to-end golden path for {{question}}.",
26
+ "Return a concise result with a cw:result block and durable file:line evidence."
27
+ ].join(" "),
28
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
29
+ )
30
+ ])
31
+ ]
32
+ });
33
+ };
@@ -0,0 +1,59 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "pr-review-fix-ci",
4
+ "title": "PR Review Fix CI",
5
+ "summary": "Review a pull request or branch, inspect CI failures, diagnose actionable issues, optionally patch, verify, and summarize with evidence.",
6
+ "version": "0.1.78",
7
+ "author": "COOLWHITE LLC",
8
+ "inputs": [
9
+ {
10
+ "name": "repo",
11
+ "type": "path",
12
+ "required": true,
13
+ "description": "Repository path to inspect."
14
+ },
15
+ {
16
+ "name": "pr",
17
+ "type": "string",
18
+ "description": "Pull request number or URL."
19
+ },
20
+ {
21
+ "name": "branch",
22
+ "type": "string",
23
+ "description": "Branch to review when no pull request is supplied."
24
+ },
25
+ {
26
+ "name": "base",
27
+ "type": "string",
28
+ "description": "Base branch or ref for comparison."
29
+ },
30
+ {
31
+ "name": "ci",
32
+ "type": "string",
33
+ "description": "CI system, check name, or log path to inspect."
34
+ },
35
+ {
36
+ "name": "mode",
37
+ "type": "string",
38
+ "description": "review for findings only, or fix when file edits are allowed."
39
+ }
40
+ ],
41
+ "sandboxProfiles": [
42
+ "readonly",
43
+ "workspace-write"
44
+ ],
45
+ "compatibility": {
46
+ "minVersion": "0.1.30",
47
+ "workflowSchemaVersion": 1,
48
+ "notes": "Canonical v0.1.30 app for PR review, CI diagnosis, and optional patch work."
49
+ },
50
+ "metadata": {
51
+ "canonical": true,
52
+ "domain": "code-review-ci",
53
+ "mutatesWorkspaceInMode": "fix",
54
+ "maintainedAs": "official-userland"
55
+ },
56
+ "workflow": {
57
+ "entrypoint": "workflow.js"
58
+ }
59
+ }
@@ -0,0 +1,90 @@
1
+ module.exports = ({ workflow, phase, agent, artifact, input }) => {
2
+ const inputs = [
3
+ input("repo", {
4
+ type: "path",
5
+ required: true,
6
+ description: "Repository path to inspect."
7
+ }),
8
+ input("pr", {
9
+ type: "string",
10
+ description: "Pull request number or URL."
11
+ }),
12
+ input("branch", {
13
+ type: "string",
14
+ description: "Branch to review when no pull request is supplied."
15
+ }),
16
+ input("base", {
17
+ type: "string",
18
+ description: "Base branch or ref for comparison."
19
+ }),
20
+ input("ci", {
21
+ type: "string",
22
+ description: "CI system, check name, or log path to inspect."
23
+ }),
24
+ input("mode", {
25
+ type: "string",
26
+ description: "review for findings only, or fix when file edits are allowed."
27
+ })
28
+ ];
29
+
30
+ return workflow({
31
+ id: "pr-review-fix-ci",
32
+ title: "PR Review Fix CI",
33
+ summary: "Review a pull request or branch, inspect CI failures, diagnose actionable issues, optionally patch, verify, and summarize with evidence.",
34
+ limits: {
35
+ maxAgents: 12,
36
+ maxConcurrentAgents: 4
37
+ },
38
+ inputs,
39
+ sandboxProfiles: ["readonly", "workspace-write"],
40
+ phases: [
41
+ phase("Inspect PR", [
42
+ agent(
43
+ "inspect:change-scope",
44
+ "Inspect {{repo}} for PR {{pr}} or branch {{branch}} against base {{base}}. Identify changed files, touched contracts, generated files, and reviewer-relevant context. Evidence should be exact file paths, refs, diffs, or commands.",
45
+ { sandboxProfileId: "readonly" }
46
+ ),
47
+ agent(
48
+ "inspect:review-surface",
49
+ "Review changed behavior for correctness, regressions, missing tests, compatibility, security, and maintenance risk. Return only actionable findings with precise file paths and line-oriented evidence when available.",
50
+ { sandboxProfileId: "readonly" }
51
+ )
52
+ ]),
53
+ phase("Inspect CI", [
54
+ agent(
55
+ "inspect:ci-failures",
56
+ "Inspect CI context {{ci}} for failing checks, logs, commands, flakes, skipped jobs, and local reproduction hints. Cite exact check names, command lines, log excerpts, or artifact paths as evidence.",
57
+ { sandboxProfileId: "readonly" }
58
+ )
59
+ ]),
60
+ phase("Diagnose", [
61
+ agent(
62
+ "diagnose:root-causes",
63
+ "Diagnose the highest-value PR and CI issues. Classify each as real, conditional, non-issue, or unknown; include reproduction commands, file paths, logs, check names, and falsifiers. The cw:result evidence array must support P0/P1/P2 findings.",
64
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
65
+ )
66
+ ]),
67
+ phase("Fix Plan or Patch", [
68
+ agent(
69
+ "patch:review-or-fix",
70
+ "Mode is {{mode}}. In review mode, produce a minimal fix plan without editing files. In fix mode, implement the smallest coherent patch, avoid unrelated refactors, and report changed files, commands run, and risks. Workspace writes are allowed only for this task.",
71
+ { sandboxProfileId: "workspace-write" }
72
+ )
73
+ ]),
74
+ phase("Verify", [
75
+ agent(
76
+ "verify:outcomes",
77
+ "Verify review conclusions or patches with deterministic commands. Include exact commands, exit status, failing check names, logs, changed files, and unresolved risks. The cw:result evidence array must cite durable local evidence.",
78
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
79
+ )
80
+ ]),
81
+ phase("Summary", [
82
+ artifact(
83
+ "summary:review",
84
+ "Write the final PR review and CI summary: blocking findings first, fixes made or proposed, verification evidence, residual risk, and next commands. The cw:result evidence array must support the summary.",
85
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
86
+ )
87
+ ])
88
+ ]
89
+ });
90
+ };
@@ -0,0 +1,54 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "release-cut",
4
+ "title": "Release Cut",
5
+ "summary": "Prepare a release with checklist discipline: version checks, changelog, tests, packaging, release notes, and final verification.",
6
+ "version": "0.1.78",
7
+ "author": "COOLWHITE LLC",
8
+ "inputs": [
9
+ {
10
+ "name": "repo",
11
+ "type": "path",
12
+ "required": true,
13
+ "description": "Repository path to prepare."
14
+ },
15
+ {
16
+ "name": "version",
17
+ "type": "string",
18
+ "required": true,
19
+ "description": "Release version to prepare."
20
+ },
21
+ {
22
+ "name": "previousVersion",
23
+ "type": "string",
24
+ "description": "Previous released version for changelog comparison."
25
+ },
26
+ {
27
+ "name": "releaseBranch",
28
+ "type": "string",
29
+ "description": "Release branch or target ref."
30
+ },
31
+ {
32
+ "name": "dryRun",
33
+ "type": "boolean",
34
+ "description": "When true, report intended release actions without publishing."
35
+ }
36
+ ],
37
+ "sandboxProfiles": [
38
+ "readonly",
39
+ "workspace-write"
40
+ ],
41
+ "compatibility": {
42
+ "minVersion": "0.1.30",
43
+ "workflowSchemaVersion": 1,
44
+ "notes": "Canonical v0.1.30 release preparation app."
45
+ },
46
+ "metadata": {
47
+ "canonical": true,
48
+ "domain": "release-engineering",
49
+ "maintainedAs": "official-userland"
50
+ },
51
+ "workflow": {
52
+ "entrypoint": "workflow.js"
53
+ }
54
+ }
@@ -0,0 +1,82 @@
1
+ module.exports = ({ workflow, phase, agent, artifact, input }) => {
2
+ const inputs = [
3
+ input("repo", {
4
+ type: "path",
5
+ required: true,
6
+ description: "Repository path to prepare."
7
+ }),
8
+ input("version", {
9
+ type: "string",
10
+ required: true,
11
+ description: "Release version to prepare."
12
+ }),
13
+ input("previousVersion", {
14
+ type: "string",
15
+ description: "Previous released version for changelog comparison."
16
+ }),
17
+ input("releaseBranch", {
18
+ type: "string",
19
+ description: "Release branch or target ref."
20
+ }),
21
+ input("dryRun", {
22
+ type: "boolean",
23
+ description: "When true, report intended release actions without publishing."
24
+ })
25
+ ];
26
+
27
+ return workflow({
28
+ id: "release-cut",
29
+ title: "Release Cut",
30
+ summary: "Prepare a release with checklist discipline: version checks, changelog, tests, packaging, release notes, and final verification.",
31
+ limits: {
32
+ maxAgents: 12,
33
+ maxConcurrentAgents: 4
34
+ },
35
+ inputs,
36
+ sandboxProfiles: ["readonly", "workspace-write"],
37
+ phases: [
38
+ phase("Preflight", [
39
+ agent(
40
+ "preflight:repo-state",
41
+ "Inspect {{repo}} for release {{version}} on branch {{releaseBranch}}. Report git state, dependency state, required tools, dirty files, generated artifacts, and dryRun={{dryRun}} constraints with exact commands and paths.",
42
+ { sandboxProfileId: "readonly" }
43
+ )
44
+ ]),
45
+ phase("Version Audit", [
46
+ agent(
47
+ "audit:versions",
48
+ "Audit all release metadata for target version {{version}} and previous version {{previousVersion}}. Check package manifests, plugin manifests, generated files, docs, changelog, and manually reported versions. Return exact file paths and mismatches.",
49
+ { sandboxProfileId: "readonly" }
50
+ )
51
+ ]),
52
+ phase("Changelog and Notes", [
53
+ agent(
54
+ "notes:update",
55
+ "Prepare changelog and release notes for {{version}}. In dryRun={{dryRun}}, report the exact edits that would be made; otherwise update only release documentation and metadata files needed for the release.",
56
+ { sandboxProfileId: "workspace-write" }
57
+ )
58
+ ]),
59
+ phase("Package", [
60
+ agent(
61
+ "package:artifacts",
62
+ "Prepare release package artifacts for {{version}} using deterministic commands only. In dryRun={{dryRun}}, do not publish; report artifact paths, generated files, checksums when available, and packaging commands.",
63
+ { sandboxProfileId: "workspace-write" }
64
+ )
65
+ ]),
66
+ phase("Verify", [
67
+ agent(
68
+ "verify:package",
69
+ "Verify release package readiness with deterministic commands, test results, generated dist files, artifact paths, and release metadata. The cw:result evidence array must cite package artifacts, commands, or file locators.",
70
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
71
+ )
72
+ ]),
73
+ phase("Release Verdict", [
74
+ artifact(
75
+ "verdict:release",
76
+ "Write the release verdict for {{version}}: ship or hold, checklist status, artifacts, tests, release notes, dry-run limitations, and residual risks. The cw:result evidence array must support the final verdict.",
77
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
78
+ )
79
+ ])
80
+ ]
81
+ });
82
+ };
@@ -0,0 +1,50 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "research-synthesis",
4
+ "title": "Research Synthesis",
5
+ "summary": "Split a research question into claims, investigate sources, cross-check evidence, verify claims, and synthesize a concise answer.",
6
+ "version": "0.1.78",
7
+ "author": "COOLWHITE LLC",
8
+ "inputs": [
9
+ {
10
+ "name": "question",
11
+ "type": "string",
12
+ "required": true,
13
+ "description": "Research question to answer."
14
+ },
15
+ {
16
+ "name": "source",
17
+ "type": "string",
18
+ "repeated": true,
19
+ "description": "Preferred primary or official source, URL, citation, or local file."
20
+ },
21
+ {
22
+ "name": "scope",
23
+ "type": "string",
24
+ "description": "Optional boundary for the synthesis."
25
+ },
26
+ {
27
+ "name": "freshness",
28
+ "type": "string",
29
+ "description": "Optional freshness requirement or as-of date."
30
+ }
31
+ ],
32
+ "sandboxProfiles": [
33
+ "readonly",
34
+ "locked-down"
35
+ ],
36
+ "compatibility": {
37
+ "minVersion": "0.1.30",
38
+ "workflowSchemaVersion": 1,
39
+ "notes": "Canonical v0.1.30 app migrated from the legacy research-synthesis workflow."
40
+ },
41
+ "metadata": {
42
+ "canonical": true,
43
+ "domain": "research",
44
+ "legacyCompatibilityId": "legacy-research-synthesis",
45
+ "maintainedAs": "official-userland"
46
+ },
47
+ "workflow": {
48
+ "entrypoint": "workflow.js"
49
+ }
50
+ }
@@ -0,0 +1,76 @@
1
+ module.exports = ({ workflow, phase, agent, artifact, input }) => {
2
+ const inputs = [
3
+ input("question", {
4
+ type: "string",
5
+ required: true,
6
+ description: "Research question to answer."
7
+ }),
8
+ input("source", {
9
+ type: "string",
10
+ repeated: true,
11
+ description: "Preferred primary or official source, URL, citation, or local file."
12
+ }),
13
+ input("scope", {
14
+ type: "string",
15
+ description: "Optional boundary for the synthesis."
16
+ }),
17
+ input("freshness", {
18
+ type: "string",
19
+ description: "Optional freshness requirement or as-of date."
20
+ })
21
+ ];
22
+
23
+ return workflow({
24
+ id: "research-synthesis",
25
+ title: "Research Synthesis",
26
+ summary: "Split a research question into claims, investigate sources, cross-check evidence, verify claims, and synthesize a concise answer.",
27
+ limits: {
28
+ maxAgents: 12,
29
+ maxConcurrentAgents: 4
30
+ },
31
+ inputs,
32
+ sandboxProfiles: ["readonly", "locked-down"],
33
+ phases: [
34
+ phase("Scope", [
35
+ agent(
36
+ "scope:claims",
37
+ "Break {{question}} into independently verifiable claims, source needs, scope boundaries {{scope}}, freshness requirement {{freshness}}, and likely stale assumptions. Use only the task input at this stage.",
38
+ { sandboxProfileId: "locked-down" }
39
+ )
40
+ ]),
41
+ phase("Investigate", [
42
+ agent(
43
+ "investigate:primary-sources",
44
+ "Investigate primary or official sources first from {{source}} for {{question}}. Return source titles, dates, authors or publishers, durable locators, key claims, and uncertainty. Mark missing retrieval needs explicitly.",
45
+ { sandboxProfileId: "readonly" }
46
+ ),
47
+ agent(
48
+ "investigate:counterpoints",
49
+ "Look for counterevidence, conflicting interpretations, stale claims, missing context, and scope violations for {{question}}. Prefer official or primary sources; label secondary-source-only claims.",
50
+ { sandboxProfileId: "readonly" }
51
+ )
52
+ ]),
53
+ phase("Cross-check", [
54
+ agent(
55
+ "cross-check:evidence",
56
+ "Cross-check important claims across sources, dates, definitions, and uncertainty boundaries. Identify stale, unsupported, conditional, and conflicting claims with source locators.",
57
+ { sandboxProfileId: "readonly" }
58
+ )
59
+ ]),
60
+ phase("Verify", [
61
+ agent(
62
+ "verify:claims",
63
+ "Verify each important claim against gathered evidence. Mark real, conditional, stale, unknown, or unsupported. The cw:result evidence array must cite durable source locators or local file paths.",
64
+ { requiresEvidence: true, sandboxProfileId: "readonly" }
65
+ )
66
+ ]),
67
+ phase("Synthesize", [
68
+ artifact(
69
+ "synthesis:report",
70
+ "Write a concise synthesis for {{question}} with answer, evidence, caveats, stale or uncertain claims, and open questions. Use only verified evidence in the task input; the cw:result evidence array must support the synthesis.",
71
+ { requiresEvidence: true, sandboxProfileId: "locked-down" }
72
+ )
73
+ ])
74
+ ]
75
+ });
76
+ };
@@ -0,0 +1,29 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "workflow-app-framework-demo",
4
+ "title": "Workflow App framework Demo",
5
+ "summary": "Small framework app showing inputs, phases, evidence gates, and sandbox profile hints.",
6
+ "version": "0.1.0",
7
+ "author": "COOLWHITE LLC",
8
+ "inputs": [
9
+ {
10
+ "name": "question",
11
+ "type": "string",
12
+ "required": true,
13
+ "description": "Question or implementation task this app should plan."
14
+ }
15
+ ],
16
+ "sandboxProfiles": [
17
+ "readonly",
18
+ "workspace-write"
19
+ ],
20
+ "compatibility": {
21
+ "minVersion": "0.1.9"
22
+ },
23
+ "metadata": {
24
+ "example": true
25
+ },
26
+ "workflow": {
27
+ "entrypoint": "workflow.js"
28
+ }
29
+ }