cool-workflow 0.1.79 → 0.1.81

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 (131) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +51 -3
  4. package/apps/architecture-review/app.json +1 -1
  5. package/apps/architecture-review-fast/app.json +64 -0
  6. package/apps/architecture-review-fast/workflow.js +153 -0
  7. package/apps/end-to-end-golden-path/app.json +1 -1
  8. package/apps/pr-review-fix-ci/app.json +1 -1
  9. package/apps/release-cut/app.json +1 -1
  10. package/apps/research-synthesis/app.json +1 -1
  11. package/dist/agent-config.js +21 -7
  12. package/dist/candidate-scoring.js +42 -22
  13. package/dist/capability-core.js +132 -17
  14. package/dist/capability-registry.js +138 -168
  15. package/dist/cli.js +97 -98
  16. package/dist/collaboration.js +5 -6
  17. package/dist/commit.js +20 -6
  18. package/dist/compare.js +18 -0
  19. package/dist/coordinator/classify.js +45 -0
  20. package/dist/coordinator/paths.js +42 -0
  21. package/dist/coordinator/util.js +129 -0
  22. package/dist/coordinator.js +127 -300
  23. package/dist/dispatch.js +35 -0
  24. package/dist/drive.js +79 -6
  25. package/dist/error-feedback.js +8 -4
  26. package/dist/evidence-reasoning.js +3 -3
  27. package/dist/execution-backend/agent.js +331 -0
  28. package/dist/execution-backend/probes.js +96 -0
  29. package/dist/execution-backend/util.js +47 -0
  30. package/dist/execution-backend.js +73 -421
  31. package/dist/mcp-server.js +79 -183
  32. package/dist/multi-agent/graph.js +84 -0
  33. package/dist/multi-agent/helpers.js +145 -0
  34. package/dist/multi-agent/paths.js +22 -0
  35. package/dist/multi-agent-eval/format.js +194 -0
  36. package/dist/multi-agent-eval/normalize.js +51 -0
  37. package/dist/multi-agent-eval.js +39 -244
  38. package/dist/multi-agent-host.js +0 -19
  39. package/dist/multi-agent.js +125 -314
  40. package/dist/node-snapshot.js +3 -3
  41. package/dist/observability/format.js +61 -0
  42. package/dist/observability/intake.js +98 -0
  43. package/dist/observability.js +14 -160
  44. package/dist/operator-ux/format.js +364 -0
  45. package/dist/operator-ux.js +22 -363
  46. package/dist/orchestrator/lifecycle-operations.js +2 -1
  47. package/dist/orchestrator/report.js +8 -0
  48. package/dist/orchestrator.js +26 -9
  49. package/dist/reclamation.js +26 -21
  50. package/dist/run-export.js +494 -25
  51. package/dist/run-registry/derive.js +172 -0
  52. package/dist/run-registry/format.js +124 -0
  53. package/dist/run-registry/gc.js +251 -0
  54. package/dist/run-registry/policy.js +16 -0
  55. package/dist/run-registry/queue.js +116 -0
  56. package/dist/run-registry.js +89 -597
  57. package/dist/run-state-schema.js +1 -0
  58. package/dist/sandbox-profile.js +43 -2
  59. package/dist/state-explosion/format.js +159 -0
  60. package/dist/state-explosion/helpers.js +82 -0
  61. package/dist/state-explosion.js +165 -304
  62. package/dist/state-node.js +19 -4
  63. package/dist/telemetry-attestation.js +55 -0
  64. package/dist/telemetry-demo.js +15 -3
  65. package/dist/telemetry-ledger.js +60 -15
  66. package/dist/topology.js +25 -8
  67. package/dist/triggers.js +33 -14
  68. package/dist/trust-audit.js +145 -33
  69. package/dist/version.js +1 -1
  70. package/dist/worker-isolation/helpers.js +51 -0
  71. package/dist/worker-isolation/paths.js +46 -0
  72. package/dist/worker-isolation.js +39 -115
  73. package/docs/agent-delegation-drive.7.md +71 -0
  74. package/docs/canonical-workflow-apps.7.md +37 -0
  75. package/docs/cli-mcp-parity.7.md +16 -0
  76. package/docs/contract-migration-tooling.7.md +6 -0
  77. package/docs/control-plane-scheduling.7.md +6 -0
  78. package/docs/dogfood/resume-drive-real-agent-2026-06-14.md +40 -0
  79. package/docs/durable-state-and-locking.7.md +8 -0
  80. package/docs/evidence-adoption-reasoning-chain.7.md +6 -0
  81. package/docs/execution-backends.7.md +6 -0
  82. package/docs/index.md +2 -0
  83. package/docs/launch/demo.tape +28 -0
  84. package/docs/launch/launch-kit.md +96 -17
  85. package/docs/launch/pre-launch-checklist.md +53 -0
  86. package/docs/multi-agent-cli-mcp-surface.7.md +8 -0
  87. package/docs/multi-agent-eval-replay-harness.7.md +6 -0
  88. package/docs/multi-agent-operator-ux.7.md +6 -0
  89. package/docs/multi-agent-trust-policy-audit.7.md +27 -0
  90. package/docs/node-snapshot-diff-replay.7.md +6 -0
  91. package/docs/observability-cost-accounting.7.md +6 -0
  92. package/docs/project-index.md +27 -6
  93. package/docs/real-execution-backends.7.md +6 -0
  94. package/docs/release-and-migration.7.md +8 -0
  95. package/docs/release-tooling.7.md +6 -0
  96. package/docs/routines.md +23 -0
  97. package/docs/run-registry-control-plane.7.md +89 -2
  98. package/docs/run-retention-reclamation.7.md +8 -0
  99. package/docs/source-context-profiles.7.md +119 -0
  100. package/docs/state-explosion-management.7.md +13 -0
  101. package/docs/team-collaboration.7.md +6 -0
  102. package/docs/trust-model.md +267 -0
  103. package/docs/unix-principles.md +49 -1
  104. package/docs/vendor-manifest-loadability.7.md +43 -0
  105. package/docs/web-desktop-workbench.7.md +6 -0
  106. package/manifest/plugin.manifest.json +1 -1
  107. package/manifest/source-context-profiles.json +142 -0
  108. package/package.json +4 -1
  109. package/scripts/agents/builtin-templates.json +7 -0
  110. package/scripts/agents/claude-p-agent.js +129 -43
  111. package/scripts/architecture-review-fast.js +362 -0
  112. package/scripts/bump-version.js +5 -10
  113. package/scripts/canonical-apps-list.js +64 -0
  114. package/scripts/canonical-apps.js +36 -4
  115. package/scripts/coverage-gate.js +211 -0
  116. package/scripts/dogfood-release.js +1 -1
  117. package/scripts/golden-path.js +4 -4
  118. package/scripts/parity-check.js +5 -0
  119. package/scripts/release-check.js +5 -1
  120. package/scripts/source-context.js +291 -0
  121. package/scripts/version-sync-check.js +5 -7
  122. package/skills/ci-triage/SKILL.md +50 -0
  123. package/skills/ci-triage/agents/openai.yaml +4 -0
  124. package/skills/cool-workflow/SKILL.md +4 -1
  125. package/skills/deploy-check/SKILL.md +55 -0
  126. package/skills/deploy-check/agents/openai.yaml +4 -0
  127. package/skills/design-qa/SKILL.md +49 -0
  128. package/skills/design-qa/agents/openai.yaml +4 -0
  129. package/skills/pr-review/SKILL.md +45 -0
  130. package/skills/pr-review/agents/openai.yaml +4 -0
  131. package/dist/capability-dispatcher.js +0 -86
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.probeNodeBackend = probeNodeBackend;
7
+ exports.probeShellBackend = probeShellBackend;
8
+ exports.probeBunBackend = probeBunBackend;
9
+ exports.probeContainerBackend = probeContainerBackend;
10
+ exports.probeRemoteBackend = probeRemoteBackend;
11
+ exports.probeCiBackend = probeCiBackend;
12
+ exports.probeAgentBackend = probeAgentBackend;
13
+ // Per-backend readiness probe bodies for the execution-backend driver layer.
14
+ // Carved out of execution-backend.ts (FreeBSD-audit god-module carve) so the
15
+ // driver layer no longer bundles every driver's readiness check; the parent's
16
+ // `probeBackend` still wraps these with the descriptor-derived envelope, and each
17
+ // built-in driver references its probe through BUILTIN_DRIVER_BEHAVIORS.
18
+ //
19
+ // BEHAVIOR-PRESERVING — pure code movement, zero logic change. Each probe is a
20
+ // pure free function of the host (PATH + configured env), matching the existing
21
+ // router pattern (run-registry/derive.ts, orchestrator/*-operations.ts).
22
+ //
23
+ // Readiness probe. Deterministic given the host (PATH + configured env).
24
+ const node_fs_1 = __importDefault(require("node:fs"));
25
+ const util_1 = require("./util");
26
+ function probeNodeBackend() {
27
+ const ok = (0, util_1.hasExecutable)("node");
28
+ return {
29
+ checks: [{ name: "node-runtime", ok, detail: ok ? "node on PATH" : "node not found on PATH" }],
30
+ readiness: ok ? "ready" : "unavailable",
31
+ reason: ok ? undefined : "node runtime not found on PATH"
32
+ };
33
+ }
34
+ function probeShellBackend() {
35
+ const ok = (0, util_1.hasExecutable)("sh") || node_fs_1.default.existsSync("/bin/sh");
36
+ return {
37
+ checks: [{ name: "posix-shell", ok, detail: ok ? "sh available" : "no POSIX shell found" }],
38
+ readiness: ok ? "ready" : "unavailable",
39
+ reason: ok ? undefined : "POSIX shell not found"
40
+ };
41
+ }
42
+ function probeBunBackend() {
43
+ const bun = (0, util_1.hasExecutable)("bun");
44
+ const node = (0, util_1.hasExecutable)("node");
45
+ return {
46
+ checks: [
47
+ { name: "bun-runtime", ok: bun, detail: bun ? "bun on PATH" : "bun not found; node-compatible fallback" },
48
+ { name: "node-compatible-fallback", ok: node, detail: node ? "node on PATH" : "node not found on PATH" }
49
+ ],
50
+ readiness: bun || node ? "ready" : "unavailable",
51
+ reason: !bun && node ? "bun not installed; executing via node-compatible runtime" : !bun && !node ? "neither bun nor node found on PATH" : undefined
52
+ };
53
+ }
54
+ function probeContainerBackend() {
55
+ const docker = (0, util_1.hasExecutable)("docker");
56
+ const podman = (0, util_1.hasExecutable)("podman");
57
+ return {
58
+ checks: [
59
+ { name: "docker", ok: docker, detail: docker ? "docker on PATH" : "docker not found" },
60
+ { name: "podman", ok: podman, detail: podman ? "podman on PATH" : "podman not found" }
61
+ ],
62
+ readiness: docker || podman ? "ready" : "unavailable",
63
+ reason: docker || podman ? undefined : "no container runtime (docker/podman) found; supply --image to delegate explicitly"
64
+ };
65
+ }
66
+ function probeRemoteBackend() {
67
+ const endpoint = (process.env.CW_REMOTE_ENDPOINT || "").trim();
68
+ return {
69
+ checks: [{ name: "endpoint", ok: Boolean(endpoint), detail: endpoint ? "CW_REMOTE_ENDPOINT configured" : "CW_REMOTE_ENDPOINT not set" }],
70
+ readiness: endpoint ? "ready" : "unverified",
71
+ reason: endpoint ? undefined : "no remote endpoint configured (set CW_REMOTE_ENDPOINT or pass --endpoint)"
72
+ };
73
+ }
74
+ function probeCiBackend() {
75
+ const endpoint = (process.env.CW_CI_ENDPOINT || "").trim();
76
+ return {
77
+ checks: [{ name: "ci-endpoint", ok: Boolean(endpoint), detail: endpoint ? "CW_CI_ENDPOINT configured" : "CW_CI_ENDPOINT not set" }],
78
+ readiness: endpoint ? "ready" : "unverified",
79
+ reason: endpoint ? undefined : "no CI job target configured (set CW_CI_ENDPOINT or pass --job)"
80
+ };
81
+ }
82
+ function probeAgentBackend() {
83
+ // Mirrors remote/ci EXACTLY: unconfigured ⇒ `unverified` (NOT a hard refusal),
84
+ // configured ⇒ `ready`. "Configured" = a command-template or endpoint is set.
85
+ const command = (process.env.CW_AGENT_COMMAND || "").trim();
86
+ const endpoint = (process.env.CW_AGENT_ENDPOINT || "").trim();
87
+ const configured = Boolean(command || endpoint);
88
+ return {
89
+ checks: [
90
+ { name: "agent-command", ok: Boolean(command), detail: command ? "CW_AGENT_COMMAND configured" : "CW_AGENT_COMMAND not set" },
91
+ { name: "agent-endpoint", ok: Boolean(endpoint), detail: endpoint ? "CW_AGENT_ENDPOINT configured" : "CW_AGENT_ENDPOINT not set" }
92
+ ],
93
+ readiness: configured ? "ready" : "unverified",
94
+ reason: configured ? undefined : "no agent configured (set CW_AGENT_COMMAND or CW_AGENT_ENDPOINT, or pass --agent-command/--agent-endpoint)"
95
+ };
96
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sha256 = sha256;
7
+ exports.hasExecutable = hasExecutable;
8
+ exports.firstString = firstString;
9
+ exports.messageOf = messageOf;
10
+ // Leaf helpers for the execution-backend driver layer. Carved out of
11
+ // execution-backend.ts (FreeBSD-audit god-module carve) so the driver layer no
12
+ // longer bundles its pure utilities; the parent re-exports `sha256` to keep the
13
+ // public surface byte-identical, and imports the rest internally.
14
+ //
15
+ // BEHAVIOR-PRESERVING — pure code movement, zero logic change. Each function is a
16
+ // pure leaf (no dependency on the rest of the module), matching the existing
17
+ // router pattern (run-registry/derive.ts + format.ts, orchestrator/*-operations.ts).
18
+ const node_crypto_1 = __importDefault(require("node:crypto"));
19
+ const node_fs_1 = __importDefault(require("node:fs"));
20
+ const node_path_1 = __importDefault(require("node:path"));
21
+ function sha256(value) {
22
+ return `sha256:${node_crypto_1.default.createHash("sha256").update(value, "utf8").digest("hex")}`;
23
+ }
24
+ function hasExecutable(name) {
25
+ const dirs = (process.env.PATH || "").split(node_path_1.default.delimiter).filter(Boolean);
26
+ for (const dir of dirs) {
27
+ const candidate = node_path_1.default.join(dir, name);
28
+ try {
29
+ if (node_fs_1.default.existsSync(candidate) && node_fs_1.default.statSync(candidate).isFile())
30
+ return true;
31
+ }
32
+ catch {
33
+ // ignore unreadable PATH entries
34
+ }
35
+ }
36
+ return false;
37
+ }
38
+ function firstString(...values) {
39
+ for (const value of values) {
40
+ if (typeof value === "string" && value.trim())
41
+ return value.trim();
42
+ }
43
+ return undefined;
44
+ }
45
+ function messageOf(error) {
46
+ return error instanceof Error ? error.message : String(error);
47
+ }