@revisium/orchestrator 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (154) hide show
  1. package/control-plane/bootstrap.config.json +103 -2
  2. package/control-plane/default-playbook/catalog/pipelines.json +360 -0
  3. package/control-plane/default-playbook/catalog/roles.json +56 -0
  4. package/control-plane/default-playbook/package.json +5 -0
  5. package/control-plane/default-playbook/playbook.json +13 -0
  6. package/control-plane/default-playbook/prompts/analyst.md +27 -0
  7. package/control-plane/default-playbook/prompts/developer.md +26 -0
  8. package/control-plane/default-playbook/prompts/integrator.md +20 -0
  9. package/control-plane/default-playbook/prompts/orchestrator.md +23 -0
  10. package/control-plane/default-playbook/prompts/reviewer.md +28 -0
  11. package/control-plane/default-playbook/prompts/watcher.md +24 -0
  12. package/dist/cli/commands/bootstrap.js +68 -7
  13. package/dist/cli/commands/bootstrap.js.map +1 -1
  14. package/dist/cli/commands/inbox.js +0 -21
  15. package/dist/cli/commands/inbox.js.map +1 -1
  16. package/dist/cli/commands/run.js +76 -49
  17. package/dist/cli/commands/run.js.map +1 -1
  18. package/dist/cli/needs-host.js +7 -8
  19. package/dist/cli/needs-host.js.map +1 -1
  20. package/dist/cli/program.js +0 -2
  21. package/dist/cli/program.js.map +1 -1
  22. package/dist/config.js +18 -1
  23. package/dist/config.js.map +1 -1
  24. package/dist/control-plane/client-transport.js +73 -40
  25. package/dist/control-plane/client-transport.js.map +1 -1
  26. package/dist/control-plane/data-access.js +3 -2
  27. package/dist/control-plane/data-access.js.map +1 -1
  28. package/dist/control-plane/definitions.js +1 -1
  29. package/dist/control-plane/definitions.js.map +1 -1
  30. package/dist/control-plane/json-fields.js +2 -0
  31. package/dist/control-plane/json-fields.js.map +1 -1
  32. package/dist/control-plane/schema-migration.js +86 -0
  33. package/dist/control-plane/schema-migration.js.map +1 -0
  34. package/dist/control-plane/seed-default-playbook.js +71 -0
  35. package/dist/control-plane/seed-default-playbook.js.map +1 -0
  36. package/dist/control-plane/tables.js +1 -0
  37. package/dist/control-plane/tables.js.map +1 -1
  38. package/dist/e2e/kit/agents.js +113 -0
  39. package/dist/e2e/kit/agents.js.map +1 -0
  40. package/dist/e2e/kit/assertions.js +119 -0
  41. package/dist/e2e/kit/assertions.js.map +1 -0
  42. package/dist/e2e/kit/crash.js +44 -0
  43. package/dist/e2e/kit/crash.js.map +1 -0
  44. package/dist/e2e/kit/drive.js +49 -0
  45. package/dist/e2e/kit/drive.js.map +1 -0
  46. package/dist/e2e/kit/env.js +16 -0
  47. package/dist/e2e/kit/env.js.map +1 -0
  48. package/dist/e2e/kit/fake-integrator.js +42 -0
  49. package/dist/e2e/kit/fake-integrator.js.map +1 -0
  50. package/dist/e2e/kit/gh-emulator.js +49 -0
  51. package/dist/e2e/kit/gh-emulator.js.map +1 -0
  52. package/dist/e2e/kit/git-target-repo.js +83 -0
  53. package/dist/e2e/kit/git-target-repo.js.map +1 -0
  54. package/dist/e2e/kit/harness.js +59 -0
  55. package/dist/e2e/kit/harness.js.map +1 -0
  56. package/dist/e2e/kit/index.js +14 -0
  57. package/dist/e2e/kit/index.js.map +1 -0
  58. package/dist/e2e/kit/mcp.js +32 -0
  59. package/dist/e2e/kit/mcp.js.map +1 -0
  60. package/dist/e2e/kit/scenarios.js +196 -0
  61. package/dist/e2e/kit/scenarios.js.map +1 -0
  62. package/dist/e2e/recovery-crash-child.js +29 -0
  63. package/dist/e2e/recovery-crash-child.js.map +1 -0
  64. package/dist/e2e/recovery-dd-crash-child.js +42 -0
  65. package/dist/e2e/recovery-dd-crash-child.js.map +1 -0
  66. package/dist/engine/ensure-postgres.js +13 -1
  67. package/dist/engine/ensure-postgres.js.map +1 -1
  68. package/dist/mcp/mcp-capabilities.js +1 -0
  69. package/dist/mcp/mcp-capabilities.js.map +1 -1
  70. package/dist/mcp/mcp-facade.service.js +24 -3
  71. package/dist/mcp/mcp-facade.service.js.map +1 -1
  72. package/dist/mcp/mcp-tools.js +16 -7
  73. package/dist/mcp/mcp-tools.js.map +1 -1
  74. package/dist/pipeline/data-driven-task.workflow.js +493 -0
  75. package/dist/pipeline/data-driven-task.workflow.js.map +1 -0
  76. package/dist/pipeline/data-driven-template.js +57 -0
  77. package/dist/pipeline/data-driven-template.js.map +1 -0
  78. package/dist/pipeline/develop-task.workflow.js +151 -316
  79. package/dist/pipeline/develop-task.workflow.js.map +1 -1
  80. package/dist/pipeline/pipeline.module.js +1 -1
  81. package/dist/pipeline/route-contract.js +82 -0
  82. package/dist/pipeline/route-contract.js.map +1 -0
  83. package/dist/pipeline-core/index.js +16 -0
  84. package/dist/pipeline-core/index.js.map +1 -0
  85. package/dist/pipeline-core/interpret.js +351 -0
  86. package/dist/pipeline-core/interpret.js.map +1 -0
  87. package/dist/pipeline-core/kit/assertions.js +61 -0
  88. package/dist/pipeline-core/kit/assertions.js.map +1 -0
  89. package/dist/pipeline-core/kit/builders.js +136 -0
  90. package/dist/pipeline-core/kit/builders.js.map +1 -0
  91. package/dist/pipeline-core/kit/drive.js +96 -0
  92. package/dist/pipeline-core/kit/drive.js.map +1 -0
  93. package/dist/pipeline-core/kit/fixtures.js +248 -0
  94. package/dist/pipeline-core/kit/fixtures.js.map +1 -0
  95. package/dist/pipeline-core/kit/index.js +13 -0
  96. package/dist/pipeline-core/kit/index.js.map +1 -0
  97. package/dist/pipeline-core/types.js +132 -0
  98. package/dist/pipeline-core/types.js.map +1 -0
  99. package/dist/pipeline-core/validate.js +1192 -0
  100. package/dist/pipeline-core/validate.js.map +1 -0
  101. package/dist/playbook/catalog-loader.js +14 -1
  102. package/dist/playbook/catalog-loader.js.map +1 -1
  103. package/dist/playbook/import-mapper.js +14 -38
  104. package/dist/playbook/import-mapper.js.map +1 -1
  105. package/dist/playbook/manifest.js +1 -1
  106. package/dist/revisium/playbooks.service.js +95 -17
  107. package/dist/revisium/playbooks.service.js.map +1 -1
  108. package/dist/revisium/roles.service.js +1 -1
  109. package/dist/revisium/roles.service.js.map +1 -1
  110. package/dist/revisium/run.service.js +16 -0
  111. package/dist/revisium/run.service.js.map +1 -1
  112. package/dist/run/append-event.js +24 -1
  113. package/dist/run/append-event.js.map +1 -1
  114. package/dist/run/block-run.js +17 -0
  115. package/dist/run/block-run.js.map +1 -0
  116. package/dist/run/create-run.js +28 -5
  117. package/dist/run/create-run.js.map +1 -1
  118. package/dist/run/inspect-run.js +9 -0
  119. package/dist/run/inspect-run.js.map +1 -1
  120. package/dist/run/run-outputs.js +88 -0
  121. package/dist/run/run-outputs.js.map +1 -0
  122. package/dist/run/terminal-run-status.js +89 -7
  123. package/dist/run/terminal-run-status.js.map +1 -1
  124. package/dist/runners/claude-code.service.js +4 -0
  125. package/dist/runners/claude-code.service.js.map +1 -1
  126. package/dist/runners/integrator.js +25 -9
  127. package/dist/runners/integrator.js.map +1 -1
  128. package/dist/task-control-plane/task-control-plane-api.service.js +247 -28
  129. package/dist/task-control-plane/task-control-plane-api.service.js.map +1 -1
  130. package/dist/worker/artifact-store.js +111 -0
  131. package/dist/worker/artifact-store.js.map +1 -0
  132. package/dist/worker/build-context.js +17 -0
  133. package/dist/worker/build-context.js.map +1 -1
  134. package/dist/worker/claude-code-runner.js +44 -5
  135. package/dist/worker/claude-code-runner.js.map +1 -1
  136. package/dist/worker/process-executor.js +23 -2
  137. package/dist/worker/process-executor.js.map +1 -1
  138. package/dist/worker/runner-dispatch.js +1 -0
  139. package/dist/worker/runner-dispatch.js.map +1 -1
  140. package/dist/worker/runner.js +11 -1
  141. package/dist/worker/runner.js.map +1 -1
  142. package/dist/worker/stub-runner.js +7 -45
  143. package/dist/worker/stub-runner.js.map +1 -1
  144. package/package.json +3 -1
  145. package/dist/cli/commands/work.js +0 -149
  146. package/dist/cli/commands/work.js.map +0 -1
  147. package/dist/worker/git-worktree-manager.js +0 -84
  148. package/dist/worker/git-worktree-manager.js.map +0 -1
  149. package/dist/worker/loop.js +0 -122
  150. package/dist/worker/loop.js.map +0 -1
  151. package/dist/worker/script-runner.js +0 -28
  152. package/dist/worker/script-runner.js.map +0 -1
  153. package/dist/worker/worker-id.js +0 -18
  154. package/dist/worker/worker-id.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"append-event.js","sourceRoot":"","sources":["../../src/run/append-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"append-event.js","sourceRoot":"","sources":["../../src/run/append-event.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA6BzD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAA0B,EAC1B,KAAuB;IAEvB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClF,MAAM,OAAO,GAAG,SAAS,UAAU,CAAC,GAAG,KAAK,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IACrE,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;YACpC,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,MAAM;YACf,IAAI;YACJ,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACpC,KAAK,EAAE,KAAK,IAAI,cAAc;YAC9B,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO;QACxE,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AA4BD,+FAA+F;AAC/F,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAA0B,EAC1B,KAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1G,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE;YAC9C,EAAE,EAAE,KAAK,CAAC,SAAS;YACnB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,SAAS;YAChC,aAAa,EAAE,KAAK,CAAC,YAAY;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;YACjC,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;YACjC,WAAW,EAAE,KAAK,CAAC,UAAU;YAC7B,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;YACnF,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;YAChF,UAAU,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;YACzD,WAAW,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO;QACxE,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAA0B,EAC1B,KAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,MAAM,GAAG,QAAQ,UAAU,CAAC,GAAG,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;IACpE,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE;YACxC,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,SAAS;YACrB,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO;QACxE,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { recordTerminalRunStatus } from './terminal-run-status.js';
2
+ export async function blockRun(da, runId, opts) {
3
+ const result = await recordTerminalRunStatus(da, runId, {
4
+ status: 'paused',
5
+ eventType: 'run_blocked',
6
+ actor: opts?.actor ?? 'pipeline',
7
+ payload: {
8
+ source: opts?.source ?? 'pipeline-blocked',
9
+ reason: opts?.reason ?? '',
10
+ },
11
+ now: opts?.now ?? new Date(),
12
+ });
13
+ if (!result)
14
+ return null;
15
+ return { runId, previousStatus: result.previousStatus, status: 'paused' };
16
+ }
17
+ //# sourceMappingURL=block-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-run.js","sourceRoot":"","sources":["../../src/run/block-run.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAQnE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAA0B,EAC1B,KAAa,EACb,IAAuE;IAEvE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAE;QACtD,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,UAAU;QAChC,OAAO,EAAE;YACP,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,kBAAkB;YAC1C,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;SAC3B;QACD,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC5E,CAAC"}
@@ -26,8 +26,8 @@ function compactUtcStamp(date) {
26
26
  'Z',
27
27
  ].join('');
28
28
  }
29
- export const KNOWN_ROLES = ['architect', 'developer', 'reviewer', 'integrator', 'pr-watcher'];
30
29
  const DEFAULT_ROLE = 'architect';
30
+ const maxRoleRowIdLength = 64;
31
31
  const maxSlugLength = 21;
32
32
  function slugTitle(title) {
33
33
  let slug = '';
@@ -79,9 +79,9 @@ function normalizeInput(input) {
79
79
  if (!Number.isFinite(priority) || !Number.isInteger(priority)) {
80
80
  throw new TypeError('priority must be a finite integer');
81
81
  }
82
- const role = (input.role?.trim() || DEFAULT_ROLE);
83
- if (!KNOWN_ROLES.includes(role)) {
84
- throw new Error(`role must be one of: ${KNOWN_ROLES.join(', ')}`);
82
+ const role = input.role?.trim() || DEFAULT_ROLE;
83
+ if (!isValidRoleRowId(role)) {
84
+ throw new Error(`role must be a well-formed role row id (${maxRoleRowIdLength} chars max, A-Z a-z 0-9 _ -)`);
85
85
  }
86
86
  const expandedRepo = expandHome(originalRepo);
87
87
  const existingDirectory = isDirectory(expandedRepo);
@@ -100,11 +100,25 @@ function normalizeInput(input) {
100
100
  description: input.description?.trim() ?? '',
101
101
  scope: input.scope?.trim() ?? '',
102
102
  priority,
103
- role: role,
103
+ role,
104
+ playbookId: input.playbookId?.trim() ?? '',
105
+ pipelineId: input.pipelineId?.trim() ?? '',
106
+ params: input.params ?? {},
107
+ routeDecision: input.routeDecision ?? {},
108
+ executionProfile: input.executionProfile ?? {},
104
109
  now: input.now ?? new Date(),
105
110
  idSuffix: input.idSuffix ?? randomUUID().replaceAll('-', '').slice(0, 8),
106
111
  };
107
112
  }
113
+ // A role row id is generic data: any well-formed id (charset + length) is accepted. Roles are data,
114
+ // not a code allow-list — the route binds an installed role row id and the data-driven engine resolves
115
+ // it as an opaque capability handle (it holds ZERO role-ids). A hyphen is NOT required (a bare id like
116
+ // `developer` is valid).
117
+ function isValidRoleRowId(role) {
118
+ if (role.length === 0 || role.length > maxRoleRowIdLength)
119
+ return false;
120
+ return /^[A-Za-z0-9_-]+$/.test(role);
121
+ }
108
122
  function buildIds(input) {
109
123
  const stamp = compactUtcStamp(input.now);
110
124
  const slug = slugTitle(input.title);
@@ -133,6 +147,11 @@ export async function createRunWorkflow(dataAccess, input) {
133
147
  repos: [normalized.repoRef],
134
148
  scope: normalized.scope,
135
149
  priority: normalized.priority,
150
+ playbook_id: normalized.playbookId,
151
+ pipeline_id: normalized.pipelineId,
152
+ params: normalized.params,
153
+ route_decision: normalized.routeDecision,
154
+ execution_profile: normalized.executionProfile,
136
155
  created_by: 'cli',
137
156
  created_at: nowIso,
138
157
  updated_at: nowIso,
@@ -193,6 +212,10 @@ export async function createRunWorkflow(dataAccess, input) {
193
212
  scope: normalized.scope,
194
213
  repo: normalized.repoInfo,
195
214
  priority: normalized.priority,
215
+ playbook_id: normalized.playbookId,
216
+ pipeline_id: normalized.pipelineId,
217
+ route_decision: normalized.routeDecision,
218
+ execution_profile: normalized.executionProfile,
196
219
  ids: { run_id: ids.runId, task_id: ids.taskId, step_id: ids.stepId },
197
220
  },
198
221
  actor: 'cli',
@@ -1 +1 @@
1
- {"version":3,"file":"create-run.js","sourceRoot":"","sources":["../../src/run/create-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-run.js","sourceRoot":"","sources":["../../src/run/create-run.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,9 @@ function toAttemptSummary(row) {
69
69
  costAmount: num(row.data.cost_amount),
70
70
  durationMs: num(row.data.duration_ms),
71
71
  outputSummary: str(row.data.output_summary),
72
+ artifactRef: str(row.data.artifact_ref),
73
+ stdoutTail: str(row.data.stdout_tail),
74
+ stderrTail: str(row.data.stderr_tail),
72
75
  lesson: str(row.data.lesson),
73
76
  error: str(row.data.error),
74
77
  startedAt: str(row.data.started_at ?? row.createdAt),
@@ -273,8 +276,14 @@ export function formatAttemptList(attempts) {
273
276
  ` iter=${a.iteration} status=${a.status} verdict=${a.verdict || '-'} model=${a.modelProfile || '-'}`,
274
277
  ` tokens=${a.inputTokens}in/${a.outputTokens}out cost=${fmtUsd(a.costAmount)} duration=${a.durationMs}ms`,
275
278
  ];
279
+ if (a.artifactRef)
280
+ lines.push(` artifact ${a.artifactRef}`);
276
281
  if (a.outputSummary)
277
282
  lines.push(` output ${a.outputSummary}`);
283
+ if (a.stdoutTail)
284
+ lines.push(` stdout ${a.stdoutTail}`);
285
+ if (a.stderrTail)
286
+ lines.push(` stderr ${a.stderrTail}`);
278
287
  if (a.lesson)
279
288
  lines.push(` lesson ${a.lesson}`);
280
289
  if (a.error)
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-run.js","sourceRoot":"","sources":["../../src/run/inspect-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect-run.js","sourceRoot":"","sources":["../../src/run/inspect-run.ts"],"names":[],"mappings":"AAgEA,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,MAAM,CAAC,CAAU;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,GAAoB;IACxC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAoB;IACvC,OAAO;QACL,GAAG,YAAY,CAAC,GAAG,CAAC;QACpB,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACtC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAoB;IACzC,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAoB;IACzC,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAoB;IAC1C,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,KAAK;QAClB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAoB;IAC5C,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,KAAK;QACpB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAA2C,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAA0B,EAC1B,MAA4C;IAE5C,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE;QAC1C,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KACrD,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,UAAU,KAAK,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,MAAM;QAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAA0B,EAAE,KAAa;IACrE,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;QACvC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnD,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE;QACvC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnD,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAChC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAA0B,EAC1B,KAAa,EACb,MAA0C;IAE1C,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;KACzB,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,IAAI,MAAM,EAAE,IAAI;QAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAA0B,EAC1B,KAAa,EACb,MAA2B;IAE3B,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE;QACzC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;KACzB,CAAC,CAAC;IACH,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC1C,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;QAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAA0B,EAC1B,KAAa;IAEb,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACpD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;KACzB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;IACrC,MAAM,MAAM,GACV,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAE,OAAmC,CAAC,MAAM;QAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACrG,CAAC;AAED,6DAA6D;AAE7D,SAAS,GAAG,CAAC,CAAS,EAAE,KAAa;IACnC,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GACV,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;QACzB,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;QACnB,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC;IACV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,CACL,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;YACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;YAChC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;YACf,CAAC,CAAC,KAAK,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACtE,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAa;QACtB,WAAW,CAAC,CAAC,KAAK,EAAE;QACpB,WAAW,CAAC,CAAC,MAAM,EAAE;QACrB,WAAW,CAAC,CAAC,KAAK,EAAE;QACpB,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,IAAI,CAAC,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CACR,cAAc,IAAI,CAAC,MAAM,EAAE,EAC3B,cAAc,IAAI,CAAC,KAAK,EAAE,EAC1B,cAAc,IAAI,CAAC,MAAM,EAAE,EAC3B,cAAc,IAAI,CAAC,QAAQ,EAAE,CAC9B,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,gBAAgB,IAAI,CAAC,MAAM,EAAE,EAC7B,gBAAgB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,CACzH,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAsB;IACpD,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACpD,MAAM,MAAM,GACV,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC;QACrB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC;QACvB,SAAS,CAAC;IACZ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,CACL,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;YACrB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;YACvB,EAAE,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5E,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3D,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,GAAG,IAAI,KAAK,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5E,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,mFAAmF;AACnF,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG;YACZ,YAAY,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,MAAM,EAAE;YAC3C,UAAU,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,OAAO,IAAI,GAAG,WAAW,CAAC,CAAC,YAAY,IAAI,GAAG,EAAE;YACxG,YAAY,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC,YAAY,aAAa,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,IAAI;SAC7G,CAAC;QACF,IAAI,CAAC,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,aAAa;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,MAAM,WAAW,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAClF,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { ControlPlaneError } from '../control-plane/errors.js';
2
+ import { fnv1a64Hex } from '../control-plane/steps.js';
3
+ import { redactSecrets } from '../control-plane/inbox.js';
4
+ import { redactTokens } from '../runners/gh-identity.js';
5
+ import { redactEventPayload } from './append-event.js';
6
+ /** Cap the serialized payload so a giant agent output can't bloat the row (0016 §8; cf. attempts 4k). */
7
+ const PAYLOAD_MAX = 16_000;
8
+ /**
9
+ * `where` clause filtering on the scalar `run_id` column. The Revisium JSON filter `equals` is typed as
10
+ * an object map but accepts a scalar; we cast the whole clause (via the data-access alias, NOT
11
+ * `@revisium/client` — that import is restricted to the control-plane layer + the build-context legacy
12
+ * exception, see the Invariant #4 guard).
13
+ */
14
+ function whereRun(runId) {
15
+ return { data: { path: 'run_id', equals: runId } };
16
+ }
17
+ function rowToOutput(data) {
18
+ return {
19
+ runId: String(data.run_id ?? ''),
20
+ nodeId: String(data.node_id ?? ''),
21
+ ordinal: Number(data.ordinal ?? 0),
22
+ name: String(data.name ?? ''),
23
+ schemaRef: String(data.schema_ref ?? ''),
24
+ payload: data.payload,
25
+ attemptId: data.attempt_id ? String(data.attempt_id) : undefined,
26
+ producedAt: data.produced_at ? String(data.produced_at) : undefined,
27
+ };
28
+ }
29
+ /**
30
+ * Append one immutable step-output row.
31
+ *
32
+ * id = `out_${fnv1a64Hex(`${runId}|${nodeId}|${ordinal}`)}` → 20 chars ≤ 64.
33
+ *
34
+ * Idempotent: a DBOS replay re-derives the same id (the ordinal is adapter-owned + replay-deterministic,
35
+ * 0016 §4.1); ROW_CONFLICT is a no-op. The payload is a JSON field — secrets are redacted on every
36
+ * string leaf before persist; an over-cap payload is replaced by a marker + a `payload_ref`.
37
+ */
38
+ export async function appendRunOutput(da, input) {
39
+ const id = `out_${fnv1a64Hex(`${input.runId}|${input.nodeId}|${input.ordinal}`)}`;
40
+ const redacted = redactEventPayload(redactSecrets(input.payload) ?? null);
41
+ const overCap = redactTokens(JSON.stringify(redacted ?? null)).length > PAYLOAD_MAX;
42
+ try {
43
+ await da.createRow('run_outputs', id, {
44
+ id,
45
+ run_id: input.runId,
46
+ node_id: input.nodeId,
47
+ ordinal: input.ordinal,
48
+ name: input.name,
49
+ schema_ref: input.schemaRef,
50
+ payload: overCap ? { _truncated: true } : redacted,
51
+ payload_ref: overCap ? `attempt:${input.attemptId ?? ''}` : '',
52
+ attempt_id: input.attemptId ?? '',
53
+ produced_at: (input.producedAt ? new Date(input.producedAt) : new Date()).toISOString(),
54
+ });
55
+ }
56
+ catch (e) {
57
+ if (e instanceof ControlPlaneError && e.code === 'ROW_CONFLICT')
58
+ return;
59
+ throw e;
60
+ }
61
+ }
62
+ /** Every output row for a (runId, nodeId), ordinal-ascending (loop history; 0016 §4). */
63
+ export async function allRunOutputs(da, runId, nodeId) {
64
+ const rows = await da.listRows('run_outputs', {
65
+ first: 1000,
66
+ where: whereRun(runId),
67
+ });
68
+ return rows
69
+ .map((r) => rowToOutput(r.data))
70
+ .filter((o) => o.nodeId === nodeId)
71
+ .sort((a, b) => a.ordinal - b.ordinal);
72
+ }
73
+ /** The most recent output for a (runId, nodeId) = max(ordinal); null when none exists. */
74
+ export async function latestRunOutput(da, runId, nodeId) {
75
+ const rows = await allRunOutputs(da, runId, nodeId);
76
+ return rows.length ? rows[rows.length - 1] : null;
77
+ }
78
+ /** Every output row for a run, produced_at-ascending — the retro/audit view (0016 §4). */
79
+ export async function outputsForRun(da, runId) {
80
+ const rows = await da.listRows('run_outputs', {
81
+ first: 1000,
82
+ where: whereRun(runId),
83
+ });
84
+ return rows
85
+ .map((r) => rowToOutput(r.data))
86
+ .sort((a, b) => (a.producedAt ?? '').localeCompare(b.producedAt ?? ''));
87
+ }
88
+ //# sourceMappingURL=run-outputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-outputs.js","sourceRoot":"","sources":["../../src/run/run-outputs.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,43 @@
1
1
  import { ControlPlaneError } from '../control-plane/errors.js';
2
2
  import { fnv1a64Hex } from '../control-plane/steps.js';
3
+ const RELATED_ROW_PAGE_SIZE = 500;
4
+ const RELATED_ROW_PATCH_CONCURRENCY = 20;
5
+ const TERMINAL_STEP_STATUSES = new Set(['succeeded', 'failed', 'skipped', 'dead']);
6
+ function terminalStepStatusForRunStatus(status) {
7
+ if (status === 'completed')
8
+ return 'succeeded';
9
+ if (status === 'failed')
10
+ return 'failed';
11
+ // A cancelled/paused run stops remaining work without claiming execution failure.
12
+ return 'skipped';
13
+ }
14
+ function isTerminalStepStatus(status) {
15
+ return typeof status === 'string' && TERMINAL_STEP_STATUSES.has(status);
16
+ }
17
+ // Prisma path+equals accepts scalar values; the SDK types equals as an object due to generated types.
18
+ function runIdWhere(runId) {
19
+ return { data: { path: 'run_id', equals: runId } };
20
+ }
21
+ async function runBounded(items, limit, worker) {
22
+ let next = 0;
23
+ const workers = Array.from({ length: Math.min(limit, items.length) }, async () => {
24
+ for (;;) {
25
+ const index = next++;
26
+ const item = items[index];
27
+ if (item === undefined)
28
+ return;
29
+ await worker(item);
30
+ }
31
+ });
32
+ await Promise.all(workers);
33
+ }
3
34
  /**
4
35
  * recordTerminalRunStatus — write `<eventType>` event (event-first) + patch task_runs to `status`.
5
36
  * Returns `{ previousStatus }`, or null when the run does not exist. Idempotent + replay-safe.
6
- * When the run is ALREADY in the terminal status, this is a no-op (the first event preserved its
7
- * true previous_status; no fresh updated_at on replay).
37
+ * When the run is ALREADY in the terminal status, the run row and event are left alone (the first
38
+ * event preserved its true previous_status; no fresh updated_at on the run row), but related
39
+ * task/step rows are still reconciled. That keeps retries safe if an earlier attempt patched the
40
+ * run row and crashed before propagation finished.
8
41
  */
9
42
  export async function recordTerminalRunStatus(da, runId, params) {
10
43
  await da.assertReady();
@@ -12,15 +45,64 @@ export async function recordTerminalRunStatus(da, runId, params) {
12
45
  if (!row)
13
46
  return null;
14
47
  const prev = typeof row.data.status === 'string' ? row.data.status : '';
15
- if (prev === params.status) {
16
- return { previousStatus: prev };
17
- }
18
48
  const nowIso = params.now.toISOString();
19
49
  const statusPatch = [
20
50
  { op: 'replace', path: 'status', value: params.status },
21
51
  { op: 'replace', path: 'updated_at', value: nowIso },
22
52
  ];
53
+ const taskPatch = [
54
+ { op: 'replace', path: 'status', value: params.status },
55
+ { op: 'replace', path: 'updated_at', value: nowIso },
56
+ ];
57
+ const stepStatus = terminalStepStatusForRunStatus(params.status);
58
+ const stepPatch = [
59
+ { op: 'replace', path: 'status', value: stepStatus },
60
+ { op: 'replace', path: 'updated_at', value: nowIso },
61
+ ];
23
62
  const eventId = `event_${fnv1a64Hex(`${runId}|${params.eventType}`)}`;
63
+ async function listRowsForRun(table) {
64
+ const rows = [];
65
+ let after;
66
+ for (;;) {
67
+ const page = await da.listRows(table, {
68
+ first: RELATED_ROW_PAGE_SIZE,
69
+ after,
70
+ where: runIdWhere(runId),
71
+ });
72
+ rows.push(...page);
73
+ if (page.length < RELATED_ROW_PAGE_SIZE)
74
+ break;
75
+ after = page.at(-1)?.cursor;
76
+ if (!after)
77
+ break;
78
+ }
79
+ return rows;
80
+ }
81
+ async function patchRelatedTerminalRows() {
82
+ const [tasks, steps] = await Promise.all([
83
+ listRowsForRun('tasks'),
84
+ listRowsForRun('steps'),
85
+ ]);
86
+ const patches = [
87
+ ...tasks
88
+ .filter((task) => task.data.run_id === runId && task.data.status !== params.status)
89
+ .map((task) => ({ table: 'tasks', rowId: task.rowId, patch: taskPatch })),
90
+ ...steps
91
+ .filter((step) => step.data.run_id === runId && !isTerminalStepStatus(step.data.status) && step.data.status !== stepStatus)
92
+ .map((step) => ({ table: 'steps', rowId: step.rowId, patch: stepPatch })),
93
+ ];
94
+ await runBounded(patches, RELATED_ROW_PATCH_CONCURRENCY, async (patch) => {
95
+ await da.patchRow(patch.table, patch.rowId, patch.patch);
96
+ });
97
+ }
98
+ async function patchTerminalRows() {
99
+ await da.patchRow('task_runs', runId, statusPatch);
100
+ await patchRelatedTerminalRows();
101
+ }
102
+ if (prev === params.status) {
103
+ await patchRelatedTerminalRows();
104
+ return { previousStatus: prev };
105
+ }
24
106
  try {
25
107
  await da.createRow('events', eventId, {
26
108
  id: eventId,
@@ -34,12 +116,12 @@ export async function recordTerminalRunStatus(da, runId, params) {
34
116
  catch (e) {
35
117
  // Replay: event already written (true prior status preserved) → still apply the status patch.
36
118
  if (e instanceof ControlPlaneError && e.code === 'ROW_CONFLICT') {
37
- await da.patchRow('task_runs', runId, statusPatch);
119
+ await patchTerminalRows();
38
120
  return { previousStatus: prev };
39
121
  }
40
122
  throw e;
41
123
  }
42
- await da.patchRow('task_runs', runId, statusPatch);
124
+ await patchTerminalRows();
43
125
  return { previousStatus: prev };
44
126
  }
45
127
  //# sourceMappingURL=terminal-run-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-run-status.js","sourceRoot":"","sources":["../../src/run/terminal-run-status.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAiBvD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAA0B,EAC1B,KAAa,EACb,MAA4B;IAE5B,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,EAAE,SAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAChE,EAAE,EAAE,EAAE,SAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;KAC9D,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,UAAU,CAAC,GAAG,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;YACpC,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE;YACrD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,8FAA8F;QAC9F,IAAI,CAAC,YAAY,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAChE,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACnD,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IAED,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnD,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"terminal-run-status.js","sourceRoot":"","sources":["../../src/run/terminal-run-status.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
21
21
  * DBOS-SEALED: zero @dbos-inc imports.
22
22
  */
23
23
  import { Injectable, Inject } from '@nestjs/common';
24
+ import { join } from 'node:path';
24
25
  import { createClaudeCodeRunner } from '../worker/claude-code-runner.js';
26
+ import { createArtifactStore } from '../worker/artifact-store.js';
25
27
  import { RunService } from '../revisium/run.service.js';
26
28
  import { PROCESS_EXECUTOR } from './tokens.js';
29
+ import { getConfig } from '../config.js';
27
30
  const DEFAULT_TIMEOUT_MS = 600_000;
28
31
  let ClaudeCodeService = class ClaudeCodeService {
29
32
  runService;
@@ -34,6 +37,7 @@ let ClaudeCodeService = class ClaudeCodeService {
34
37
  executor,
35
38
  resolveCwd: this.runService.makeResolveCwd(),
36
39
  timeoutMs: DEFAULT_TIMEOUT_MS,
40
+ artifactStore: createArtifactStore(join(getConfig().dataDir, 'run-artifacts')),
37
41
  });
38
42
  }
39
43
  /** Arrow property — safe to pass unbound as a RunAgent. */
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.service.js","sourceRoot":"","sources":["../../src/runners/claude-code.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAG5B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAKT;IAJF,MAAM,CAAW;IAElC,YAC4B,QAAyB,EAClC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAEvC,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC;YACnC,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;YAC5C,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,GAAG,GAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC7C,CAAA;AAhBY,iBAAiB;IAD7B,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;+CACI,UAAU;GAL9B,iBAAiB,CAgB7B"}
1
+ {"version":3,"file":"claude-code.service.js","sourceRoot":"","sources":["../../src/runners/claude-code.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAG5B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAKT;IAJF,MAAM,CAAW;IAElC,YAC4B,QAAyB,EAClC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAEvC,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC;YACnC,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;YAC5C,SAAS,EAAE,kBAAkB;YAC7B,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,GAAG,GAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC7C,CAAA;AAjBY,iBAAiB;IAD7B,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;+CACI,UAAU;GAL9B,iBAAiB,CAiB7B"}
@@ -15,7 +15,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
15
15
  * Exposes:
16
16
  * - integrate(input, deps) — REAL integrator (live only); git/gh side effects; resumable.
17
17
  * - stubIntegrate(input) — STUB (script only); ZERO external effects; pure + deterministic.
18
- * - preflightLive(taskId, base, deps) — LIVE PREFLIGHT; clean check + base invariant; one-shot.
18
+ * - preflightLive(taskId, base, deps) — LIVE PREFLIGHT; clean check + base freshness; one-shot.
19
19
  * - IntegratorService — @Injectable wrapper with bound arrow properties.
20
20
  * - resolveExecutable(name) — resolve a bare executable name to an absolute PATH entry.
21
21
  */
@@ -199,14 +199,15 @@ function findOrCreatePr(ownerRepo, branch, base, title, execGh) {
199
199
  }
200
200
  // ─── Preflight (B5+B7) ────────────────────────────────────────────────────────
201
201
  /**
202
- * preflightLive — clean check + base invariant, evaluated ONCE as a memoized DBOS step.
202
+ * preflightLive — clean check + base freshness, evaluated ONCE as a memoized DBOS step.
203
203
  * Only called on live runs; script/stub runs skip this entirely.
204
204
  *
205
205
  * 1. git fetch origin <base> (idempotent — the only mutation)
206
206
  * 2. git status --porcelain → non-empty → block (repo not clean)
207
- * 3. Verify HEAD === <base> AND HEAD sha === origin/<base> sha mismatch → block
207
+ * 3. Verify base branch runs are exactly on origin/<base>, while feature branch runs
208
+ * are based on origin/<base> → mismatch → block
208
209
  *
209
- * Returns { ok: true } when the repo is clean and on fresh origin/<base>.
210
+ * Returns { ok: true } when the repo is clean and based on fresh origin/<base>.
210
211
  * Returns IntegratorBlocked on ANY failure — no throw, so DBOS does NOT retry.
211
212
  */
212
213
  export async function preflightLive(taskId, base, deps) {
@@ -231,7 +232,9 @@ export async function preflightLive(taskId, base, deps) {
231
232
  lesson: `target repo ${cwd} is not clean (${lineCount} uncommitted change${lineCount === 1 ? '' : 's'}); commit/stash and retry --live`,
232
233
  };
233
234
  }
234
- // 3. Base invariant: HEAD branch name === base AND HEAD sha === origin/<base> sha
235
+ // 3. Base freshness:
236
+ // - base branch itself must exactly match origin/<base>
237
+ // - feature branches are valid when origin/<base> is an ancestor of HEAD
235
238
  let headBranch;
236
239
  let headSha;
237
240
  let originSha;
@@ -243,17 +246,30 @@ export async function preflightLive(taskId, base, deps) {
243
246
  catch (err) {
244
247
  return {
245
248
  needsHuman: true,
246
- lesson: `live preflight: cannot verify base invariant — ${String(err)}`,
249
+ lesson: `live preflight: cannot verify base freshness — ${String(err)}`,
247
250
  };
248
251
  }
249
- if (headBranch !== base || headSha !== originSha) {
252
+ if (headBranch === base && headSha !== originSha) {
250
253
  return {
251
254
  needsHuman: true,
252
- lesson: `target repo is not on a fresh origin/${base} ` +
255
+ lesson: `target repo base branch is not on fresh origin/${base} ` +
253
256
  `(HEAD=${headBranch}@${headSha.slice(0, 8)}, expected ${base}@${originSha.slice(0, 8)}); ` +
254
- `checkout ${base} and pull, then retry --live`,
257
+ `pull ${base}, then retry --live`,
255
258
  };
256
259
  }
260
+ if (headBranch !== base) {
261
+ try {
262
+ execGit(['merge-base', '--is-ancestor', `origin/${base}`, 'HEAD'], cwd);
263
+ }
264
+ catch {
265
+ return {
266
+ needsHuman: true,
267
+ lesson: `target repo branch is not based on fresh origin/${base} ` +
268
+ `(HEAD=${headBranch}@${headSha.slice(0, 8)}, expected origin/${base}@${originSha.slice(0, 8)} as ancestor); ` +
269
+ `rebase or merge origin/${base}, then retry --live`,
270
+ };
271
+ }
272
+ }
257
273
  return { ok: true };
258
274
  }
259
275
  // ─── STUB integrator (script only) ───────────────────────────────────────────