@revisium/orchestrator 0.1.0-alpha.9 → 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/README.md +210 -146
  2. package/control-plane/bootstrap.config.json +43 -1
  3. package/control-plane/default-playbook/catalog/pipelines.json +1157 -10
  4. package/control-plane/default-playbook/catalog/roles.json +54 -0
  5. package/control-plane/default-playbook/package.json +1 -1
  6. package/control-plane/default-playbook/prompts/developer.md +1 -0
  7. package/control-plane/default-playbook/prompts/triager.md +3 -0
  8. package/dist/api/graphql-api/graphql-ws/pubsub.module.js +0 -1
  9. package/dist/api/graphql-api/graphql-ws/pubsub.module.js.map +1 -1
  10. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js +0 -1
  11. package/dist/api/graphql-api/graphql-ws/run-progress-subscription-poller.service.js.map +1 -1
  12. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js +0 -1
  13. package/dist/api/graphql-api/graphql-ws/subscription-bridge.service.js.map +1 -1
  14. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js +3 -0
  15. package/dist/api/graphql-api/graphql-ws/subscription-mappers.js.map +1 -1
  16. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js +6 -0
  17. package/dist/api/graphql-api/pr/inputs/pr-readiness.input.js.map +1 -1
  18. package/dist/api/graphql-api/pr/model/pr-readiness.model.js +26 -0
  19. package/dist/api/graphql-api/pr/model/pr-readiness.model.js.map +1 -1
  20. package/dist/api/graphql-api/runs/inputs/create-run.input.js +6 -0
  21. package/dist/api/graphql-api/runs/inputs/create-run.input.js.map +1 -1
  22. package/dist/api/graphql-api/runs/model/run.model.js +6 -0
  23. package/dist/api/graphql-api/runs/model/run.model.js.map +1 -1
  24. package/dist/api/graphql-api/share/model/issue-ref.model.js +53 -0
  25. package/dist/api/graphql-api/share/model/issue-ref.model.js.map +1 -0
  26. package/dist/cli/commands/doctor-report.js +0 -18
  27. package/dist/cli/commands/doctor-report.js.map +1 -1
  28. package/dist/cli/commands/lifecycle.js +3 -71
  29. package/dist/cli/commands/lifecycle.js.map +1 -1
  30. package/dist/cli/commands/mcp.js +0 -14
  31. package/dist/cli/commands/mcp.js.map +1 -1
  32. package/dist/cli/commands/process-tree.js +4 -26
  33. package/dist/cli/commands/process-tree.js.map +1 -1
  34. package/dist/cli/commands/revisium-helpers.js +0 -6
  35. package/dist/cli/commands/revisium-helpers.js.map +1 -1
  36. package/dist/cli/commands/rogue-reaper.js +0 -34
  37. package/dist/cli/commands/rogue-reaper.js.map +1 -1
  38. package/dist/cli/index.js +0 -4
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/program.js +0 -5
  41. package/dist/cli/program.js.map +1 -1
  42. package/dist/config.js +0 -25
  43. package/dist/config.js.map +1 -1
  44. package/dist/control-plane/bootstrap.js +12 -27
  45. package/dist/control-plane/bootstrap.js.map +1 -1
  46. package/dist/control-plane/change-notifications.js +0 -1
  47. package/dist/control-plane/change-notifications.js.map +1 -1
  48. package/dist/control-plane/client-transport.js +1 -12
  49. package/dist/control-plane/client-transport.js.map +1 -1
  50. package/dist/control-plane/default-playbook-policy.js +593 -0
  51. package/dist/control-plane/default-playbook-policy.js.map +1 -0
  52. package/dist/control-plane/definitions.js +8 -17
  53. package/dist/control-plane/definitions.js.map +1 -1
  54. package/dist/control-plane/inbox.js +2 -120
  55. package/dist/control-plane/inbox.js.map +1 -1
  56. package/dist/control-plane/resolve-cwd.js +0 -61
  57. package/dist/control-plane/resolve-cwd.js.map +1 -1
  58. package/dist/control-plane/schema-migration.js +0 -9
  59. package/dist/control-plane/schema-migration.js.map +1 -1
  60. package/dist/control-plane/seed-default-playbook.js +50 -46
  61. package/dist/control-plane/seed-default-playbook.js.map +1 -1
  62. package/dist/control-plane/steps.js +0 -15
  63. package/dist/control-plane/steps.js.map +1 -1
  64. package/dist/e2e/kit/agents.js +15 -21
  65. package/dist/e2e/kit/agents.js.map +1 -1
  66. package/dist/e2e/kit/assertions.js +12 -8
  67. package/dist/e2e/kit/assertions.js.map +1 -1
  68. package/dist/e2e/kit/fake-integrator.js +11 -2
  69. package/dist/e2e/kit/fake-integrator.js.map +1 -1
  70. package/dist/e2e/kit/git-target-repo.js +1 -1
  71. package/dist/engine/dbos.service.js +12 -179
  72. package/dist/engine/dbos.service.js.map +1 -1
  73. package/dist/engine/ensure-postgres.js +0 -48
  74. package/dist/engine/ensure-postgres.js.map +1 -1
  75. package/dist/features/pr/queries/impl/get-pr-readiness.query.js.map +1 -1
  76. package/dist/features/runs/commands/impl/create-run.command.js.map +1 -1
  77. package/dist/features/runs/queries/handlers/runs-query.handlers.js +1 -0
  78. package/dist/features/runs/queries/handlers/runs-query.handlers.js.map +1 -1
  79. package/dist/host/daemon.js +2 -21
  80. package/dist/host/daemon.js.map +1 -1
  81. package/dist/host/dbos-identity.js +0 -31
  82. package/dist/host/dbos-identity.js.map +1 -1
  83. package/dist/host/ensure-host.js +1 -37
  84. package/dist/host/ensure-host.js.map +1 -1
  85. package/dist/host/ensure-revisium.js +1 -135
  86. package/dist/host/ensure-revisium.js.map +1 -1
  87. package/dist/host/host-runtime.js +0 -28
  88. package/dist/host/host-runtime.js.map +1 -1
  89. package/dist/host/host.lifecycle.js +0 -27
  90. package/dist/host/host.lifecycle.js.map +1 -1
  91. package/dist/host/queue-ownership.js +0 -42
  92. package/dist/host/queue-ownership.js.map +1 -1
  93. package/dist/host/queue-poller-census.js +1 -28
  94. package/dist/host/queue-poller-census.js.map +1 -1
  95. package/dist/http/graphql-host.module.js +0 -3
  96. package/dist/http/graphql-host.module.js.map +1 -1
  97. package/dist/mcp/mcp-capabilities.js +23 -5
  98. package/dist/mcp/mcp-capabilities.js.map +1 -1
  99. package/dist/mcp/mcp-facade.service.js +335 -22
  100. package/dist/mcp/mcp-facade.service.js.map +1 -1
  101. package/dist/mcp/mcp-http.service.js +0 -18
  102. package/dist/mcp/mcp-http.service.js.map +1 -1
  103. package/dist/mcp/mcp-tools.js +41 -36
  104. package/dist/mcp/mcp-tools.js.map +1 -1
  105. package/dist/observability/activity-signal.js +103 -0
  106. package/dist/observability/activity-signal.js.map +1 -0
  107. package/dist/observability/agent-activity-reporter.js +0 -4
  108. package/dist/observability/agent-activity-reporter.js.map +1 -1
  109. package/dist/observability/index.js +1 -0
  110. package/dist/observability/index.js.map +1 -1
  111. package/dist/pipeline/await-human.js +0 -40
  112. package/dist/pipeline/await-human.js.map +1 -1
  113. package/dist/pipeline/data-driven-task.workflow.js +563 -251
  114. package/dist/pipeline/data-driven-task.workflow.js.map +1 -1
  115. package/dist/pipeline/data-driven-template.js +0 -25
  116. package/dist/pipeline/data-driven-template.js.map +1 -1
  117. package/dist/pipeline/pipeline.module.js +0 -12
  118. package/dist/pipeline/pipeline.module.js.map +1 -1
  119. package/dist/pipeline/pipeline.service.js +194 -189
  120. package/dist/pipeline/pipeline.service.js.map +1 -1
  121. package/dist/pipeline/route-contract.js +4 -3
  122. package/dist/pipeline/route-contract.js.map +1 -1
  123. package/dist/pipeline-core/index.js +1 -13
  124. package/dist/pipeline-core/index.js.map +1 -1
  125. package/dist/pipeline-core/interpret.js +21 -94
  126. package/dist/pipeline-core/interpret.js.map +1 -1
  127. package/dist/pipeline-core/kit/assertions.js +0 -19
  128. package/dist/pipeline-core/kit/assertions.js.map +1 -1
  129. package/dist/pipeline-core/kit/builders.js +1 -21
  130. package/dist/pipeline-core/kit/builders.js.map +1 -1
  131. package/dist/pipeline-core/kit/drive.js +1 -31
  132. package/dist/pipeline-core/kit/drive.js.map +1 -1
  133. package/dist/pipeline-core/kit/fixtures.js +78 -101
  134. package/dist/pipeline-core/kit/fixtures.js.map +1 -1
  135. package/dist/pipeline-core/kit/index.js +0 -8
  136. package/dist/pipeline-core/kit/index.js.map +1 -1
  137. package/dist/pipeline-core/types.js +13 -52
  138. package/dist/pipeline-core/types.js.map +1 -1
  139. package/dist/pipeline-core/validate-capability.js +0 -3
  140. package/dist/pipeline-core/validate-capability.js.map +1 -1
  141. package/dist/pipeline-core/validate-conflicts.js +0 -9
  142. package/dist/pipeline-core/validate-conflicts.js.map +1 -1
  143. package/dist/pipeline-core/validate-dataflow.js +0 -17
  144. package/dist/pipeline-core/validate-dataflow.js.map +1 -1
  145. package/dist/pipeline-core/validate-diff.js +3 -36
  146. package/dist/pipeline-core/validate-diff.js.map +1 -1
  147. package/dist/pipeline-core/validate-edges.js +0 -6
  148. package/dist/pipeline-core/validate-edges.js.map +1 -1
  149. package/dist/pipeline-core/validate-graph.js +0 -11
  150. package/dist/pipeline-core/validate-graph.js.map +1 -1
  151. package/dist/pipeline-core/validate-loops.js +37 -44
  152. package/dist/pipeline-core/validate-loops.js.map +1 -1
  153. package/dist/pipeline-core/validate-parallel.js +9 -15
  154. package/dist/pipeline-core/validate-parallel.js.map +1 -1
  155. package/dist/pipeline-core/validate-sink.js +0 -7
  156. package/dist/pipeline-core/validate-sink.js.map +1 -1
  157. package/dist/pipeline-core/validate-topology.js +1 -20
  158. package/dist/pipeline-core/validate-topology.js.map +1 -1
  159. package/dist/pipeline-core/validate-verdict.js +52 -7
  160. package/dist/pipeline-core/validate-verdict.js.map +1 -1
  161. package/dist/pipeline-core/validate.js +5 -29
  162. package/dist/pipeline-core/validate.js.map +1 -1
  163. package/dist/playbook/catalog-loader.js +8 -3
  164. package/dist/playbook/catalog-loader.js.map +1 -1
  165. package/dist/playbook/import-mapper.js +4 -5
  166. package/dist/playbook/import-mapper.js.map +1 -1
  167. package/dist/poller/pr-readiness-core.js +226 -29
  168. package/dist/poller/pr-readiness-core.js.map +1 -1
  169. package/dist/revisium/inbox.service.js +0 -24
  170. package/dist/revisium/inbox.service.js.map +1 -1
  171. package/dist/revisium/playbooks.service.js +15 -2
  172. package/dist/revisium/playbooks.service.js.map +1 -1
  173. package/dist/revisium/revisium.module.js +0 -12
  174. package/dist/revisium/revisium.module.js.map +1 -1
  175. package/dist/revisium/roles.service.js +0 -6
  176. package/dist/revisium/roles.service.js.map +1 -1
  177. package/dist/revisium/run.service.js +2 -75
  178. package/dist/revisium/run.service.js.map +1 -1
  179. package/dist/revisium/tokens.js +0 -4
  180. package/dist/revisium/tokens.js.map +1 -1
  181. package/dist/run/append-event.js +6 -37
  182. package/dist/run/append-event.js.map +1 -1
  183. package/dist/run/block-run.js.map +1 -1
  184. package/dist/run/cancel-run.js +0 -33
  185. package/dist/run/cancel-run.js.map +1 -1
  186. package/dist/run/complete-run.js.map +1 -1
  187. package/dist/run/create-run.js +5 -8
  188. package/dist/run/create-run.js.map +1 -1
  189. package/dist/run/fail-run.js +0 -3
  190. package/dist/run/fail-run.js.map +1 -1
  191. package/dist/run/inspect-run.js +10 -29
  192. package/dist/run/inspect-run.js.map +1 -1
  193. package/dist/run/issue-ref.js +88 -0
  194. package/dist/run/issue-ref.js.map +1 -0
  195. package/dist/run/run-outputs.js +0 -19
  196. package/dist/run/run-outputs.js.map +1 -1
  197. package/dist/run/terminal-run-status.js +0 -12
  198. package/dist/run/terminal-run-status.js.map +1 -1
  199. package/dist/runners/claude-code.service.js +2 -13
  200. package/dist/runners/claude-code.service.js.map +1 -1
  201. package/dist/runners/codex.service.js +2 -11
  202. package/dist/runners/codex.service.js.map +1 -1
  203. package/dist/runners/gh-identity.js +0 -52
  204. package/dist/runners/gh-identity.js.map +1 -1
  205. package/dist/runners/integrator-branch-naming.js +16 -19
  206. package/dist/runners/integrator-branch-naming.js.map +1 -1
  207. package/dist/runners/integrator-git.js +0 -25
  208. package/dist/runners/integrator-git.js.map +1 -1
  209. package/dist/runners/integrator-remote.js +0 -2
  210. package/dist/runners/integrator-remote.js.map +1 -1
  211. package/dist/runners/integrator-types.js +0 -7
  212. package/dist/runners/integrator-types.js.map +1 -1
  213. package/dist/runners/integrator.js +231 -230
  214. package/dist/runners/integrator.js.map +1 -1
  215. package/dist/runners/runner.module.js +0 -6
  216. package/dist/runners/runner.module.js.map +1 -1
  217. package/dist/runners/tokens.js +0 -4
  218. package/dist/runners/tokens.js.map +1 -1
  219. package/dist/runners/worktree.service.js +3 -19
  220. package/dist/runners/worktree.service.js.map +1 -1
  221. package/dist/task-control-plane/pr-readiness.service.js +15 -13
  222. package/dist/task-control-plane/pr-readiness.service.js.map +1 -1
  223. package/dist/task-control-plane/run-watch.service.js +170 -63
  224. package/dist/task-control-plane/run-watch.service.js.map +1 -1
  225. package/dist/task-control-plane/task-control-plane-api.service.js +285 -40
  226. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  227. package/dist/worker/artifact-store.js +21 -3
  228. package/dist/worker/artifact-store.js.map +1 -1
  229. package/dist/worker/build-context.js +10 -10
  230. package/dist/worker/build-context.js.map +1 -1
  231. package/dist/worker/claude-code-runner.js +76 -48
  232. package/dist/worker/claude-code-runner.js.map +1 -1
  233. package/dist/worker/codex-runner.js +128 -35
  234. package/dist/worker/codex-runner.js.map +1 -1
  235. package/dist/worker/git-worktree-manager.js +20 -67
  236. package/dist/worker/git-worktree-manager.js.map +1 -1
  237. package/dist/worker/process-executor.js +144 -27
  238. package/dist/worker/process-executor.js.map +1 -1
  239. package/dist/worker/result-envelope.js +33 -49
  240. package/dist/worker/result-envelope.js.map +1 -1
  241. package/dist/worker/runner-common.js +29 -0
  242. package/dist/worker/runner-common.js.map +1 -1
  243. package/dist/worker/runner-dispatch.js +0 -3
  244. package/dist/worker/runner-dispatch.js.map +1 -1
  245. package/dist/worker/runner.js +16 -1
  246. package/dist/worker/runner.js.map +1 -1
  247. package/dist/worker/stub-runner.js +0 -7
  248. package/dist/worker/stub-runner.js.map +1 -1
  249. package/package.json +2 -2
@@ -1,15 +1,4 @@
1
- /**
2
- * pipeline-core/kit/fixtures.ts — typed Template fixtures (the e2e-style "real pipelines" + targeted).
3
- *
4
- * `featureDevelopment` is the §13 canonical example, transcribed faithfully to a typed `Template`.
5
- * `localChange` is its no-gate sibling (§13 footnote). The rest are small, single-purpose fixtures:
6
- * nested-scope loops, a parallel/join, and one INVALID template per §12 rule (each named for the rule
7
- * + diagnostic it is designed to trip), so validation tests read as a rule catalogue.
8
- */
9
- import { allOf, counterGte, counterLt, joinAll, joinAny, joinQuorum, node, on, otherwise, template, verdictEq, } from './builders.js';
10
- // ─────────────────────────────────────────────────────────────────────────────
11
- // §13 — feature-development (the canonical example).
12
- // ─────────────────────────────────────────────────────────────────────────────
1
+ import { allOf, counterGte, counterLt, joinAll, joinAny, joinQuorum, node, on, otherwise, template, verdictEq, verdictIn, } from './builders.js';
13
2
  export function featureDevelopment() {
14
3
  return template('feature-development')
15
4
  .title('Feature development with plan + merge gates and bounded rework')
@@ -27,7 +16,7 @@ export function featureDevelopment() {
27
16
  onFailure: 'abort',
28
17
  }), node.choice('codeReviewRouter', [
29
18
  on(verdictEq('approved'), 'integrator'),
30
- on(allOf(verdictEq('blocker'), counterLt('codeReviewLoop', 3)), 'reworkDeveloper'),
19
+ on(allOf(verdictIn('blocker', 'changes_requested'), counterLt('codeReviewLoop', 3)), 'reworkDeveloper'),
31
20
  otherwise('blockedEnd'),
32
21
  ]), node.agent('reworkDeveloper', 'role:developer', 'codeReview', {
33
22
  resultSchema: 'schema:change',
@@ -46,36 +35,55 @@ export function featureDevelopment() {
46
35
  ]), node.terminal('mergedEnd', 'succeeded'), node.terminal('failedEnd', 'failed'), node.terminal('blockedEnd', 'blocked'))
47
36
  .build();
48
37
  }
49
- /**
50
- * confirmMergeFlow — minimal fixture exercising the `script:confirmMerge` node (plan 0017 follow-up):
51
- * entry → confirmMerge → mergedEnd, with catch routing a block to `blockedEnd` and a throw to `failedEnd`.
52
- * Used to assert the adapter routes a merged result to a SUCCEEDED terminal (worktree released) and a
53
- * not-merged block to a BLOCKED terminal (worktree kept).
54
- */
55
38
  export function confirmMergeFlow() {
56
39
  return template('confirm-merge-flow')
57
40
  .title('confirmMerge → merged (succeeded) / not-merged (blocked) — plan 0017 test fixture')
58
41
  .specVersion('1.0')
59
42
  .entry('confirmMerge')
60
43
  .domain('approved', 'clean', 'blocker', 'changes_requested')
61
- .add(node.script('confirmMerge', 'script:confirmMerge', 'mergedEnd', {
44
+ .add(node.script('confirmMerge', 'script:confirmMerge', 'cleanupWorktree', {
62
45
  resultSchema: 'schema:integration',
63
46
  onFailure: 'route',
64
47
  catch: [
65
48
  { onError: 'revo.ScriptBlocked', goto: 'blockedEnd' },
66
49
  { onError: 'revo.ScriptFailed', goto: 'failedEnd' },
67
50
  ],
51
+ }), node.script('cleanupWorktree', 'script:cleanupWorktree', 'mergedEnd', {
52
+ resultSchema: 'schema:integration',
68
53
  }), node.terminal('mergedEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'), node.terminal('failedEnd', 'failed'))
69
54
  .build();
70
55
  }
71
- /**
72
- * featureDevelopmentPrReview — the plan 0018 PR review-feedback loop, transcribed to a typed Template.
73
- * Mirrors the seeded `feature-development` tail: after the integrator opens the PR, `pollPr` observes +
74
- * classifies (review_changes > ci_changes > clean); review comments go through analyst `triage`
75
- * (fix/wontfix/question) with a separate question gate; CI failures loop the developer; fixes are
76
- * re-pushed BEFORE `respondThreads` replies + resolves (so the reply carries the fix sha). Used by the
77
- * data-driven adapter unit tests; the live JSON template (default + e2e fixture) carries the same tail.
78
- */
56
+ function blockedOrFailedCatch() {
57
+ return [
58
+ { onError: 'revo.ScriptBlocked', goto: 'blockedEnd' },
59
+ { onError: 'revo.ScriptFailed', goto: 'failedEnd' },
60
+ ];
61
+ }
62
+ function prReadinessScript(id, next) {
63
+ return node.script(id, 'script:pollPr', next, {
64
+ resultSchema: 'schema:prFeedback',
65
+ onFailure: 'route',
66
+ produces: { name: 'prFeedback' },
67
+ catch: blockedOrFailedCatch(),
68
+ });
69
+ }
70
+ function prReadinessBranches(cleanGoto) {
71
+ return [
72
+ on(verdictEq('clean'), cleanGoto),
73
+ on(verdictEq('review_changes'), 'triage'),
74
+ on(allOf(verdictEq('ci_changes'), counterLt('ciLoop', 3)), 'ciRework'),
75
+ otherwise('blockedEnd'),
76
+ ];
77
+ }
78
+ function freshMergeFeedbackConsume() {
79
+ return { node: 'mergeReadiness', as: 'mergeFeedback', optional: true, staleOk: true };
80
+ }
81
+ function prFeedbackConsumes() {
82
+ return [
83
+ { node: 'pollPr', as: 'feedback' },
84
+ freshMergeFeedbackConsume(),
85
+ ];
86
+ }
79
87
  export function featureDevelopmentPrReview() {
80
88
  return template('feature-development-pr-review')
81
89
  .title('Feature development with a PR review-feedback loop (plan 0018)')
@@ -91,29 +99,44 @@ export function featureDevelopmentPrReview() {
91
99
  on(verdictEq('approved'), 'developer'),
92
100
  on(verdictEq('changes_requested'), 'analyst'),
93
101
  otherwise('blockedEnd'),
94
- ]), node.agent('developer', 'role:developer', 'codeReview', { resultSchema: 'schema:change', onFailure: 'abort' }), node.agent('codeReview', 'role:reviewer', 'codeReviewRouter', { resultSchema: 'schema:reviewVerdict', onFailure: 'abort' }), node.choice('codeReviewRouter', [
102
+ ]), node.agent('developer', 'role:developer', 'codeReview', {
103
+ resultSchema: 'schema:change',
104
+ onFailure: 'abort',
105
+ produces: { name: 'change' },
106
+ }), node.agent('codeReview', 'role:reviewer', 'codeReviewRouter', {
107
+ resultSchema: 'schema:reviewVerdict',
108
+ onFailure: 'abort',
109
+ consumes: [
110
+ { node: 'developer', as: 'developerChange', staleOk: true },
111
+ { node: 'reworkDeveloper', as: 'reworkChange', optional: true },
112
+ ],
113
+ }), node.choice('codeReviewRouter', [
95
114
  on(verdictEq('approved'), 'integrator'),
96
- on(allOf(verdictEq('blocker'), counterLt('codeReviewLoop', 3)), 'reworkDeveloper'),
115
+ on(allOf(verdictIn('blocker', 'changes_requested'), counterLt('codeReviewLoop', 3)), 'reworkDeveloper'),
97
116
  otherwise('blockedEnd'),
98
- ]), node.agent('reworkDeveloper', 'role:developer', 'codeReview', { resultSchema: 'schema:change', incrementCounters: ['codeReviewLoop'], onFailure: 'abort' }), node.script('integrator', 'script:integrator', 'pollPr', {
117
+ ]), node.agent('reworkDeveloper', 'role:developer', 'codeReview', {
118
+ resultSchema: 'schema:change',
119
+ incrementCounters: ['codeReviewLoop'],
120
+ onFailure: 'abort',
121
+ produces: { name: 'change' },
122
+ }), node.script('integrator', 'script:integrator', 'pollPr', {
99
123
  resultSchema: 'schema:integration', onFailure: 'route',
124
+ consumes: [
125
+ { node: 'developer', as: 'developerChange', staleOk: true },
126
+ { node: 'reworkDeveloper', as: 'reworkChange', optional: true },
127
+ { node: 'ciRework', as: 'ciChange', optional: true, staleOk: true },
128
+ ],
100
129
  catch: [{ onError: 'revo.ScriptFailed', goto: 'failedEnd' }],
101
- }),
102
- // ── plan 0018 — observe the PR, classify, route by feedback type ──
103
- node.script('pollPr', 'script:pollPr', 'prRouter', {
104
- resultSchema: 'schema:prFeedback', onFailure: 'route', produces: { name: 'prFeedback' },
105
- catch: [{ onError: 'revo.ScriptBlocked', goto: 'blockedEnd' }, { onError: 'revo.ScriptFailed', goto: 'failedEnd' }],
106
- }), node.choice('prRouter', [
107
- on(verdictEq('clean'), 'mergeGate'),
108
- on(verdictEq('review_changes'), 'triage'),
109
- on(allOf(verdictEq('ci_changes'), counterLt('ciLoop', 3)), 'ciRework'),
110
- otherwise('blockedEnd'),
111
- ]), node.agent('ciRework', 'role:developer', 'integrator', {
130
+ }), prReadinessScript('pollPr', 'prRouter'), node.choice('prRouter', prReadinessBranches('mergeReadiness')), prReadinessScript('mergeReadiness', 'mergeReadinessRouter'), node.choice('mergeReadinessRouter', prReadinessBranches('mergeGate')), node.agent('ciRework', 'role:developer', 'integrator', {
112
131
  resultSchema: 'schema:change', incrementCounters: ['ciLoop'], onFailure: 'abort',
113
- consumes: [{ node: 'pollPr', as: 'feedback' }],
132
+ produces: { name: 'change' },
133
+ consumes: prFeedbackConsumes(),
114
134
  }), node.agent('triage', 'role:triager', 'triageRouter', {
115
135
  resultSchema: 'schema:triage', onFailure: 'abort', produces: { name: 'triage' },
116
- consumes: [{ node: 'analyst', as: 'plan', staleOk: true }, { node: 'pollPr', as: 'feedback' }],
136
+ consumes: [
137
+ { node: 'analyst', as: 'plan', staleOk: true },
138
+ ...prFeedbackConsumes(),
139
+ ],
117
140
  }), node.choice('triageRouter', [
118
141
  on(allOf(verdictEq('question'), counterLt('questionLoop', 3)), 'questionGate'),
119
142
  on(allOf(verdictEq('fix'), counterLt('reviewLoop', 3)), 'reviewRework'),
@@ -124,25 +147,25 @@ export function featureDevelopmentPrReview() {
124
147
  otherwise('blockedEnd'),
125
148
  ], { incrementCounters: ['questionLoop'] }), node.agent('reviewRework', 'role:developer', 'reviewIntegrator', {
126
149
  resultSchema: 'schema:change', incrementCounters: ['reviewLoop'], onFailure: 'abort',
150
+ produces: { name: 'change' },
127
151
  consumes: [{ node: 'triage', as: 'triage' }],
128
152
  }), node.script('reviewIntegrator', 'script:integrator', 'respondThreads', {
129
153
  resultSchema: 'schema:integration', onFailure: 'route',
130
- catch: [{ onError: 'revo.ScriptBlocked', goto: 'blockedEnd' }, { onError: 'revo.ScriptFailed', goto: 'failedEnd' }],
154
+ consumes: [{ node: 'reviewRework', as: 'reviewChange' }],
155
+ catch: blockedOrFailedCatch(),
131
156
  }), node.script('respondThreads', 'script:respondThreads', 'pollPr', {
132
157
  resultSchema: 'schema:respond', onFailure: 'route', consumes: [{ node: 'triage', as: 'triage' }],
133
- catch: [{ onError: 'revo.ScriptBlocked', goto: 'blockedEnd' }, { onError: 'revo.ScriptFailed', goto: 'failedEnd' }],
158
+ catch: blockedOrFailedCatch(),
134
159
  }), node.humanGate('mergeGate', 'merge-review', ['approved', 'changes_requested'], [
135
160
  on(verdictEq('approved'), 'confirmMerge'),
136
161
  otherwise('blockedEnd'),
137
- ]), node.script('confirmMerge', 'script:confirmMerge', 'mergedEnd', {
162
+ ], { gatedArtifact: { node: 'mergeReadiness', as: 'prFeedback' } }), node.script('confirmMerge', 'script:confirmMerge', 'mergedEnd', {
138
163
  resultSchema: 'schema:integration', onFailure: 'route',
139
- catch: [{ onError: 'revo.ScriptBlocked', goto: 'blockedEnd' }, { onError: 'revo.ScriptFailed', goto: 'failedEnd' }],
164
+ consumes: [{ node: 'mergeReadiness', as: 'mergeReadiness' }],
165
+ catch: blockedOrFailedCatch(),
140
166
  }), node.terminal('mergedEnd', 'succeeded'), node.terminal('failedEnd', 'failed'), node.terminal('blockedEnd', 'blocked'))
141
167
  .build();
142
168
  }
143
- // ─────────────────────────────────────────────────────────────────────────────
144
- // §13 footnote — local-change (orchestrator + developer, NO humanGate).
145
- // ─────────────────────────────────────────────────────────────────────────────
146
169
  export function localChange() {
147
170
  return template('local-change')
148
171
  .title('Local change — orchestrator + developer, no gate')
@@ -151,13 +174,6 @@ export function localChange() {
151
174
  .add(node.agent('orchestrator', 'role:orchestrator', 'developer', { resultSchema: 'schema:plan' }), node.agent('developer', 'role:developer', 'doneEnd', { resultSchema: 'schema:change' }), node.terminal('doneEnd', 'succeeded'))
152
175
  .build();
153
176
  }
154
- // ─────────────────────────────────────────────────────────────────────────────
155
- // Targeted — a nested-scope rework loop (inner loop resets on outer re-entry, §7).
156
- // ─────────────────────────────────────────────────────────────────────────────
157
- /**
158
- * outer (cap 2) ⊃ inner (cap 2). `outerWork` increments `outer` (and resets `inner`); `innerWork`
159
- * increments `inner`. The inner cap routes back to the outer loop; the outer cap routes to blocked.
160
- */
161
177
  export function nestedScopeLoop() {
162
178
  return template('nested-scope-loop')
163
179
  .entry('start')
@@ -175,10 +191,6 @@ export function nestedScopeLoop() {
175
191
  ]), node.agent('outerWork', 'role:worker', 'innerWork', { incrementCounters: ['outer'] }), node.terminal('doneEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'))
176
192
  .build();
177
193
  }
178
- // ─────────────────────────────────────────────────────────────────────────────
179
- // Targeted — a parallel/join (two review branches → join → terminal).
180
- // ─────────────────────────────────────────────────────────────────────────────
181
- /** Map a join-mode kind to its `JoinMode` (quorum fixed at 2 for this fan-out shape). */
182
194
  function joinModeFromKind(kind) {
183
195
  if (kind === 'all')
184
196
  return joinAll();
@@ -186,7 +198,6 @@ function joinModeFromKind(kind) {
186
198
  return joinAny();
187
199
  return joinQuorum(2);
188
200
  }
189
- /** `joinModeKind` selects `all` (default), `any`, or `quorum{2}` on the same fan-out shape. */
190
201
  export function parallelReview(joinModeKind = 'all') {
191
202
  const mode = joinModeFromKind(joinModeKind);
192
203
  return template('parallel-review')
@@ -195,14 +206,9 @@ export function parallelReview(joinModeKind = 'all') {
195
206
  .add(node.parallel('fanout', [
196
207
  { id: 'sec', entry: 'secReview' },
197
208
  { id: 'perf', entry: 'perfReview' },
198
- ], 'reviewJoin'), node.agent('secReview', 'role:reviewer', 'reviewJoin'), node.agent('perfReview', 'role:reviewer', 'reviewJoin'),
199
- // `merge` declared so the 2-writer fan-out is well-formed under all modes (§12.8).
200
- node.join('reviewJoin', mode, 'joinRouter', { merge: { findings: 'appendByBranchOrder' } }), node.choice('joinRouter', [on(verdictEq('clean'), 'doneEnd'), otherwise('blockedEnd')]), node.terminal('doneEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'))
209
+ ], 'reviewJoin'), node.agent('secReview', 'role:reviewer', 'reviewJoin'), node.agent('perfReview', 'role:reviewer', 'reviewJoin'), node.join('reviewJoin', mode, 'joinRouter', { merge: { findings: 'appendByBranchOrder' } }), node.choice('joinRouter', [on(verdictEq('clean'), 'doneEnd'), otherwise('blockedEnd')]), node.terminal('doneEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'))
201
210
  .build();
202
211
  }
203
- // ─────────────────────────────────────────────────────────────────────────────
204
- // Targeted — a gate with a timeout edge (§6) + a node with onFailure=route+catch (§6).
205
- // ─────────────────────────────────────────────────────────────────────────────
206
212
  export function gateWithTimeout() {
207
213
  return template('gate-with-timeout')
208
214
  .entry('gate')
@@ -212,108 +218,82 @@ export function gateWithTimeout() {
212
218
  }), node.terminal('doneEnd', 'succeeded'), node.terminal('blockedEnd', 'blocked'), node.terminal('failedEnd', 'failed'))
213
219
  .build();
214
220
  }
215
- // ─────────────────────────────────────────────────────────────────────────────
216
- // INVALID fixtures — one per §12 rule. Each is the minimal shape that trips its rule.
217
- // ─────────────────────────────────────────────────────────────────────────────
218
- /** rule 1 — entry points at a node that does not exist (ENTRY_UNRESOLVED). */
219
221
  export const invalidEntryUnresolved = () => template('inv').entry('ghost').domain('approved').add(node.terminal('end', 'succeeded')).build();
220
- /** rule 2 — an edge points at a non-existent node (REF_UNRESOLVED). */
221
222
  export const invalidRefUnresolved = () => template('inv').entry('a').domain('approved').add(node.agent('a', 'role:x', 'nowhere')).build();
222
- /** rule 3 — a non-terminal with no exit (NONTERMINAL_NO_EXIT) — forced via a choice with no branches. */
223
223
  export const invalidNonterminalNoExit = () => template('inv').entry('a').domain('approved').add(node.choice('a', [])).build();
224
- /** rule 3 — a terminal with a bad status (TERMINAL_BAD_STATUS). */
225
224
  export const invalidTerminalBadStatus = () => {
226
225
  const t = template('inv').entry('a').domain('approved').add(node.terminal('a', 'succeeded')).build();
227
- t.nodes['a'].status = 'done'; // not in {succeeded,failed,blocked}
226
+ t.nodes['a'].status = 'done';
228
227
  return t;
229
228
  };
230
- /** rule 4 — a choice with no default (ROUTING_NO_DEFAULT). */
231
229
  export const invalidNoDefault = () => template('inv')
232
230
  .entry('a')
233
231
  .domain('approved')
234
232
  .add(node.choice('a', [on(verdictEq('approved'), 'end')]), node.terminal('end', 'succeeded'))
235
233
  .build();
236
- /** rule 4 — a guard placed AFTER the default (ROUTING_GUARD_AFTER_DEFAULT). */
237
234
  export const invalidGuardAfterDefault = () => template('inv')
238
235
  .entry('a')
239
236
  .domain('approved')
240
237
  .add(node.choice('a', [otherwise('end'), on(verdictEq('approved'), 'end')]), node.terminal('end', 'succeeded'))
241
238
  .build();
242
- /** rule 5 — a node unreachable from entry (UNREACHABLE_NODE). */
243
239
  export const invalidUnreachable = () => template('inv')
244
240
  .entry('a')
245
241
  .domain('approved')
246
242
  .add(node.agent('a', 'role:x', 'end'), node.terminal('end', 'succeeded'), node.agent('orphan', 'role:y', 'end'))
247
243
  .build();
248
- /** rule 6 — an unbounded back-edge (LOOP_UNBOUNDED): a choice loops back with no counter.gte cap. */
249
244
  export const invalidUnboundedLoop = () => template('inv')
250
245
  .entry('a')
251
246
  .domain('approved')
252
247
  .add(node.agent('a', 'role:x', 'router'), node.choice('router', [on(verdictEq('approved'), 'a'), otherwise('end')]), node.terminal('end', 'succeeded'))
253
248
  .build();
254
- /** rule 7 — a guard references an undeclared scope (SCOPE_UNDECLARED). */
255
249
  export const invalidScopeUndeclared = () => template('inv')
256
250
  .entry('a')
257
251
  .domain('approved')
258
252
  .add(node.agent('a', 'role:x', 'router'), node.choice('router', [on(counterGte('ghostScope', 3), 'end'), otherwise('end')]), node.terminal('end', 'succeeded'))
259
253
  .build();
260
- /** rule 7 — a scope whose parent does not resolve (SCOPE_PARENT_UNRESOLVED). The scope is otherwise
261
- * well-formed (incremented on its own loop) so the parent-unresolved finding stands alone. */
262
254
  export const invalidScopeParent = () => template('inv')
263
255
  .entry('a')
264
256
  .domain('approved')
265
257
  .scope('child', { cap: 2, parent: 'ghostParent' })
266
258
  .add(node.agent('a', 'role:x', 'router', { incrementCounters: ['child'] }), node.choice('router', [on(counterLt('child', 2), 'a'), otherwise('end')]), node.terminal('end', 'succeeded'))
267
259
  .build();
268
- /** rule 8 — quorum K > N (QUORUM_K_GT_N). */
269
260
  export const invalidQuorumKgtN = () => template('inv')
270
261
  .entry('fanout')
271
262
  .domain('clean')
272
263
  .add(node.parallel('fanout', [{ id: 'a', entry: 'aWork' }, { id: 'b', entry: 'bWork' }], 'j'), node.agent('aWork', 'role:x', 'j'), node.agent('bWork', 'role:y', 'j'), node.join('j', joinQuorum(3), 'end', { merge: { f: 'overwrite' } }), node.terminal('end', 'succeeded'))
273
264
  .build();
274
- /** rule 8 — a cross-branch goto (BRANCH_CROSS_GOTO): branch a's node jumps into branch b. */
275
265
  export const invalidCrossBranchGoto = () => template('inv')
276
266
  .entry('fanout')
277
267
  .domain('clean')
278
- .add(node.parallel('fanout', [{ id: 'a', entry: 'aWork' }, { id: 'b', entry: 'bWork' }], 'j'), node.agent('aWork', 'role:x', 'bWork'), // crosses into branch b
279
- node.agent('bWork', 'role:y', 'j'), node.join('j', joinAll(), 'end', { merge: { f: 'overwrite' } }), // merge present → only BRANCH_CROSS_GOTO trips
280
- node.terminal('end', 'succeeded'))
268
+ .add(node.parallel('fanout', [{ id: 'a', entry: 'aWork' }, { id: 'b', entry: 'bWork' }], 'j'), node.agent('aWork', 'role:x', 'bWork'), node.agent('bWork', 'role:y', 'j'), node.join('j', joinAll(), 'end', { merge: { f: 'overwrite' } }), node.terminal('end', 'succeeded'))
281
269
  .build();
282
- /** rule 8 — a multi-writer fan-out with no merge reducer (MERGE_MISSING). */
283
270
  export const invalidMissingMerge = () => template('inv')
284
271
  .entry('fanout')
285
272
  .domain('clean')
286
- .add(node.parallel('fanout', [{ id: 'a', entry: 'aWork' }, { id: 'b', entry: 'bWork' }], 'j'), node.agent('aWork', 'role:x', 'j'), node.agent('bWork', 'role:y', 'j'), node.join('j', joinAll(), 'end'), // no merge declared, 2 effect writers
287
- node.terminal('end', 'succeeded'))
273
+ .add(node.parallel('fanout', [{ id: 'a', entry: 'aWork' }, { id: 'b', entry: 'bWork' }], 'j'), node.agent('aWork', 'role:x', 'j'), node.agent('bWork', 'role:y', 'j'), node.join('j', joinAll(), 'end'), node.terminal('end', 'succeeded'))
288
274
  .build();
289
- /** rule 9 — a guard uses an undeclared verdict (VERDICT_UNDECLARED). */
290
275
  export const invalidVerdictUndeclared = () => template('inv')
291
276
  .entry('a')
292
277
  .domain('approved')
293
278
  .add(node.agent('a', 'role:x', 'router'), node.choice('router', [on(verdictEq('mystery'), 'end'), otherwise('end')]), node.terminal('end', 'succeeded'))
294
279
  .build();
295
- /** rule 9 — a guard uses a CORE verdict, which must route structurally (VERDICT_CORE_IN_GUARD). */
296
280
  export const invalidCoreVerdictInGuard = () => template('inv')
297
281
  .entry('a')
298
282
  .domain('approved')
299
283
  .add(node.agent('a', 'role:x', 'router'), node.choice('router', [on(verdictEq('succeeded'), 'end'), otherwise('end')]), node.terminal('end', 'succeeded'))
300
284
  .build();
301
- /** rule 9 — a domain label shadows a core verdict (VERDICT_DOMAIN_SHADOWS_CORE). */
302
285
  export const invalidDomainShadowsCore = () => template('inv')
303
286
  .entry('a')
304
287
  .domain('approved', 'failed')
305
288
  .add(node.agent('a', 'role:x', 'end'), node.terminal('end', 'succeeded'))
306
289
  .build();
307
- /** rule 9 — a gate outcome not in domain (GATE_OUTCOME_NOT_SUBSET). */
308
290
  export const invalidGateOutcomeNotSubset = () => template('inv')
309
291
  .entry('g')
310
292
  .domain('approved')
311
293
  .add(node.humanGate('g', 'r', ['approved', 'rejected'], [on(verdictEq('approved'), 'end'), otherwise('end')]), node.terminal('end', 'succeeded'))
312
294
  .build();
313
- /** rule 11 — a node id that breaks the id pattern (ID_BAD_PATTERN). */
314
295
  export const invalidBadId = () => {
315
296
  const t = template('inv').entry('a').domain('approved').add(node.agent('a', 'role:x', 'end'), node.terminal('end', 'succeeded')).build();
316
- // Re-key 'a' to an illegal id and re-point entry.
317
297
  const a = t.nodes['a'];
318
298
  delete t.nodes['a'];
319
299
  a.id = '1bad';
@@ -321,19 +301,16 @@ export const invalidBadId = () => {
321
301
  t.entry = '1bad';
322
302
  return t;
323
303
  };
324
- /** rule 12 — a malformed capability ref (CAPABILITY_REF_SHAPE). */
325
304
  export const invalidCapabilityRef = () => template('inv')
326
305
  .entry('a')
327
306
  .domain('approved')
328
307
  .add(node.agent('a', 'not-a-role-handle', 'end'), node.terminal('end', 'succeeded'))
329
308
  .build();
330
- /** rule 6 — onFailure=route with NO catch (FAILURE_ROUTE_NO_CATCH). */
331
309
  export const invalidRouteNoCatch = () => template('inv')
332
310
  .entry('a')
333
311
  .domain('approved')
334
312
  .add(node.script('a', 'script:x', 'end', { onFailure: 'route' }), node.terminal('end', 'succeeded'))
335
313
  .build();
336
- /** rule 6 — onFailure=escalate with NO escalateTo (FAILURE_ESCALATE_NO_TARGET). */
337
314
  export const invalidEscalateNoTarget = () => template('inv')
338
315
  .entry('a')
339
316
  .domain('approved')
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/pipeline-core/kit/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/pipeline-core/kit/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,3 @@
1
- /**
2
- * pipeline-core/kit — the readability test kit (mirrors src/e2e/kit).
3
- *
4
- * builders — fluent `template()` / `node.*` / condition + branch shorthands.
5
- * fixtures — the two real pipelines (§13) + targeted valid/invalid fixtures.
6
- * drive — run `step()` to a terminal feeding scripted verdicts, recording the path.
7
- * assertions — `assertValid` / `assertDiagnostics` / `assertReachesTerminal` / `assertPath` / …
8
- */
9
1
  export * from './builders.js';
10
2
  export * from './fixtures.js';
11
3
  export * from './drive.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline-core/kit/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline-core/kit/index.ts"],"names":[],"mappings":"AAOA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
@@ -1,22 +1,5 @@
1
- /**
2
- * pipeline-core/types.ts — the pure, framework-free data model for plan 0015.
3
- *
4
- * Spec: docs/plans/0015-pipeline-state-machine.md (§1 nodes, §3 transitions+guards, §4 fork/join,
5
- * §6 failure model, §7 scoped counters, §8 verdicts, §10 Decision + RunState).
6
- *
7
- * ZERO imports from NestJS / DBOS / Revisium / runners / any I/O. Everything here is plain data.
8
- */
9
- // ─────────────────────────────────────────────────────────────────────────────
10
- // §8 Verdicts — two tiers
11
- // ─────────────────────────────────────────────────────────────────────────────
12
- /**
13
- * CORE verdicts are carried by `specVersion` (§8). The engine acts on these STRUCTURALLY
14
- * (catch / onFailure / terminal / timeout) — they NEVER appear in a branch guard (§3/§6).
15
- */
16
1
  export const CORE_VERDICTS = ['succeeded', 'failed', 'errored', 'timed_out'];
17
- /** Terminal run statuses a `terminal` node may carry, and the `complete` Decision reports (§1/§10). */
18
2
  export const TERMINAL_STATUSES = ['succeeded', 'failed', 'blocked'];
19
- /** Every `Condition` op tag — used by validation to reject anything outside the v1 grammar. */
20
3
  export const CONDITION_OPS = [
21
4
  'verdict.eq',
22
5
  'verdict.in',
@@ -33,14 +16,6 @@ export function isGuardedBranch(b) {
33
16
  return 'when' in b;
34
17
  }
35
18
  export const FAILURE_POLICIES = ['abort', 'route', 'escalate'];
36
- // ─────────────────────────────────────────────────────────────────────────────
37
- // §1/§3/§4 Node — the closed 8-kind discriminated union.
38
- //
39
- // Node ids, scope ids, role/script capability handles and result-schema handles are all plain
40
- // strings; the field and parameter names below carry their domain meaning. (A roleRef/scriptRef is an
41
- // opaque capability handle the adapter resolves — the engine holds no role-ids, §1; a resultSchema is
42
- // validated at the ADAPTER boundary, never in the core, §10.)
43
- // ─────────────────────────────────────────────────────────────────────────────
44
19
  export const NODE_KINDS = [
45
20
  'agent',
46
21
  'script',
@@ -53,78 +28,64 @@ export const NODE_KINDS = [
53
28
  ];
54
29
  export const JOIN_MODE_KINDS = ['all', 'any', 'quorum'];
55
30
  export const MERGE_REDUCERS = ['overwrite', 'appendByBranchOrder'];
56
- /** True for a well-formed reserved engine error code. */
31
+ export const JOIN_VERDICT_REDUCER_KINDS = ['allIn'];
57
32
  export function isRevoErrorCode(value) {
58
33
  return /^revo\.[A-Za-z][A-Za-z0-9]*$/.test(value);
59
34
  }
60
- /** Stable diagnostic codes — one per §12 rule (+ sub-codes), referenced by tests and the adapter. */
61
35
  export const DIAGNOSTIC_CODES = [
62
- // 1 single entry
63
36
  'ENTRY_MISSING',
64
37
  'ENTRY_UNRESOLVED',
65
- // 2 references resolve
66
38
  'REF_UNRESOLVED',
67
- // 3 terminals / non-terminals
68
39
  'TERMINAL_BAD_STATUS',
69
40
  'TERMINAL_HAS_EXIT',
70
41
  'NONTERMINAL_NO_EXIT',
71
- // 4 total routing
72
42
  'ROUTING_NO_DEFAULT',
73
43
  'ROUTING_GUARD_AFTER_DEFAULT',
74
44
  'ROUTING_MULTIPLE_DEFAULT',
75
- // 5 reachability
76
45
  'UNREACHABLE_NODE',
77
- // 6 loop-cap presence
78
46
  'LOOP_UNBOUNDED',
79
- // 7 counter-scope well-formedness
80
47
  'SCOPE_UNDECLARED',
81
48
  'SCOPE_PARENT_UNRESOLVED',
82
49
  'SCOPE_CYCLE',
83
50
  'SCOPE_NOT_STRICT_ANCESTOR',
84
51
  'SCOPE_SPANS_PARALLEL',
85
- // 8 parallel/join well-formedness
86
52
  'PARALLEL_JOIN_UNRESOLVED',
87
53
  'PARALLEL_JOIN_KIND',
88
54
  'JOIN_MULTIPLE_PARALLELS',
89
55
  'BRANCH_MEMBERSHIP',
90
56
  'BRANCH_CROSS_GOTO',
57
+ 'BRANCH_TERMINAL_BEFORE_JOIN',
91
58
  'JOIN_UNREACHABLE_BRANCH',
92
59
  'QUORUM_K_GT_N',
93
60
  'MERGE_MISSING',
94
61
  'MERGE_LASTWRITE_REJECTED',
95
- // 9 verdict-vocabulary closure
96
62
  'VERDICT_UNDECLARED',
97
63
  'VERDICT_CORE_IN_GUARD',
98
64
  'VERDICT_DOMAIN_SHADOWS_CORE',
99
65
  'VERDICT_DECLARED_UNUSED',
66
+ 'VERDICT_REDUCER_BAD_KIND',
67
+ 'VERDICT_REDUCER_BAD_SHAPE',
100
68
  'GATE_OUTCOME_NOT_SUBSET',
101
- // 10 conflict-matrix
102
69
  'CONFLICT_SAME_ACTOR',
103
70
  'CONFLICT_REF_INVALID',
104
- // 11 id/namespace hygiene
105
71
  'ID_DUPLICATE',
106
72
  'ID_BAD_PATTERN',
107
73
  'REVO_CODE_COLLIDES_VERDICT',
108
- // 12 capability-ref shape
109
74
  'CAPABILITY_REF_SHAPE',
110
- // 6 failure policy well-formedness (validated structurally alongside refs)
111
75
  'FAILURE_ROUTE_NO_CATCH',
112
76
  'FAILURE_ESCALATE_NO_TARGET',
113
77
  'CATCH_BAD_CODE',
114
- // grammar / shape sanity (feeds rules 2/4/9 — a malformed Condition can't be evaluated)
115
78
  'CONDITION_BAD_OP',
116
79
  'CONDITION_BAD_SHAPE',
117
- // 14 dataflow (produces/consumes, 0016 §7)
118
- 'CONSUMES_NODE_UNRESOLVED', // consumes.node is not a node id
119
- 'CONSUMES_PRODUCER_MISSING', // referenced node declares no produces / cannot produce
120
- 'CONSUMES_NOT_DOMINATED', // producer does not dominate the consumer (error req / warn opt)
121
- 'CONSUMES_STALE_RISK', // loop re-enterable without the producer + latest, no staleOk (warning)
122
- 'CONSUMES_CROSS_PARALLEL_UNSAFE', // producer/consumer in unsafely-related parallel branches
123
- 'CONSUMES_AS_DUP', // two refs on one node share the same `as` key
124
- 'PRODUCES_NAME_DUP', // two nodes share a produces.name (warning — grammar keys by node)
125
- 'GATE_REF_UNRESOLVED', // humanGate gatedArtifact/verdictFrom references an unknown node (D3)
126
- 'GATE_ARTIFACT_NO_PRODUCES', // humanGate gatedArtifact node declares no produces → no artifact (D3)
127
- // 13 diff classifier
80
+ 'CONSUMES_NODE_UNRESOLVED',
81
+ 'CONSUMES_PRODUCER_MISSING',
82
+ 'CONSUMES_NOT_DOMINATED',
83
+ 'CONSUMES_STALE_RISK',
84
+ 'CONSUMES_CROSS_PARALLEL_UNSAFE',
85
+ 'CONSUMES_AS_DUP',
86
+ 'PRODUCES_NAME_DUP',
87
+ 'GATE_REF_UNRESOLVED',
88
+ 'GATE_ARTIFACT_NO_PRODUCES',
128
89
  'DIFF_UNCLASSIFIED',
129
90
  'DIFF_NODE_DELETED',
130
91
  'DIFF_NODE_KIND_CHANGED',