@cat-factory/orchestration 0.248.5 → 0.250.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 (79) hide show
  1. package/dist/container/engine-dependent-modules.d.ts.map +1 -1
  2. package/dist/container/engine-dependent-modules.js +6 -4
  3. package/dist/container/engine-dependent-modules.js.map +1 -1
  4. package/dist/modules/execution/BinaryCandidateController.d.ts +61 -0
  5. package/dist/modules/execution/BinaryCandidateController.d.ts.map +1 -0
  6. package/dist/modules/execution/BinaryCandidateController.js +215 -0
  7. package/dist/modules/execution/BinaryCandidateController.js.map +1 -0
  8. package/dist/modules/execution/ExecutionService.d.ts +38 -56
  9. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  10. package/dist/modules/execution/ExecutionService.js +78 -127
  11. package/dist/modules/execution/ExecutionService.js.map +1 -1
  12. package/dist/modules/execution/OneShotStepController.d.ts.map +1 -1
  13. package/dist/modules/execution/OneShotStepController.js +3 -0
  14. package/dist/modules/execution/OneShotStepController.js.map +1 -1
  15. package/dist/modules/execution/RunAdmission.d.ts +15 -0
  16. package/dist/modules/execution/RunAdmission.d.ts.map +1 -1
  17. package/dist/modules/execution/RunAdmission.js +46 -9
  18. package/dist/modules/execution/RunAdmission.js.map +1 -1
  19. package/dist/modules/execution/RunDispatcher.d.ts +23 -7
  20. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  21. package/dist/modules/execution/RunDispatcher.js +28 -6
  22. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  23. package/dist/modules/execution/RunDispatcherDependencies.d.ts +2 -0
  24. package/dist/modules/execution/RunDispatcherDependencies.d.ts.map +1 -1
  25. package/dist/modules/execution/RunDispatcherDependencies.js.map +1 -1
  26. package/dist/modules/execution/RunLifecycleController.d.ts +17 -0
  27. package/dist/modules/execution/RunLifecycleController.d.ts.map +1 -1
  28. package/dist/modules/execution/RunLifecycleController.js +27 -1
  29. package/dist/modules/execution/RunLifecycleController.js.map +1 -1
  30. package/dist/modules/execution/StepDecisionController.d.ts.map +1 -1
  31. package/dist/modules/execution/StepDecisionController.js +1 -0
  32. package/dist/modules/execution/StepDecisionController.js.map +1 -1
  33. package/dist/modules/execution/dispatcher-registries.d.ts +2 -0
  34. package/dist/modules/execution/dispatcher-registries.d.ts.map +1 -1
  35. package/dist/modules/execution/dispatcher-registries.js +15 -0
  36. package/dist/modules/execution/dispatcher-registries.js.map +1 -1
  37. package/dist/modules/execution/gate-window-controllers.d.ts +2 -0
  38. package/dist/modules/execution/gate-window-controllers.d.ts.map +1 -1
  39. package/dist/modules/execution/gate-window-controllers.js +12 -0
  40. package/dist/modules/execution/gate-window-controllers.js.map +1 -1
  41. package/dist/modules/execution/run-binary-output.d.ts.map +1 -1
  42. package/dist/modules/execution/run-binary-output.js +6 -1
  43. package/dist/modules/execution/run-binary-output.js.map +1 -1
  44. package/dist/modules/execution/run-decision-surfaces.d.ts +23 -0
  45. package/dist/modules/execution/run-decision-surfaces.d.ts.map +1 -0
  46. package/dist/modules/execution/run-decision-surfaces.js +66 -0
  47. package/dist/modules/execution/run-decision-surfaces.js.map +1 -0
  48. package/dist/modules/execution/run-foundational-services.d.ts +5 -2
  49. package/dist/modules/execution/run-foundational-services.d.ts.map +1 -1
  50. package/dist/modules/execution/run-foundational-services.js.map +1 -1
  51. package/dist/modules/execution/runServiceScope.d.ts +39 -0
  52. package/dist/modules/execution/runServiceScope.d.ts.map +1 -0
  53. package/dist/modules/execution/runServiceScope.js +46 -0
  54. package/dist/modules/execution/runServiceScope.js.map +1 -0
  55. package/dist/modules/execution/runVendorGate.d.ts +31 -0
  56. package/dist/modules/execution/runVendorGate.d.ts.map +1 -0
  57. package/dist/modules/execution/runVendorGate.js +40 -0
  58. package/dist/modules/execution/runVendorGate.js.map +1 -0
  59. package/dist/modules/execution/step-park.logic.d.ts +1 -1
  60. package/dist/modules/execution/step-park.logic.d.ts.map +1 -1
  61. package/dist/modules/execution/step-park.logic.js +5 -0
  62. package/dist/modules/execution/step-park.logic.js.map +1 -1
  63. package/dist/modules/execution/stepPreamble.d.ts +9 -2
  64. package/dist/modules/execution/stepPreamble.d.ts.map +1 -1
  65. package/dist/modules/execution/stepPreamble.js +28 -1
  66. package/dist/modules/execution/stepPreamble.js.map +1 -1
  67. package/dist/modules/pipelines/PipelineService.d.ts +6 -0
  68. package/dist/modules/pipelines/PipelineService.d.ts.map +1 -1
  69. package/dist/modules/pipelines/PipelineService.js +8 -2
  70. package/dist/modules/pipelines/PipelineService.js.map +1 -1
  71. package/dist/modules/pipelines/adHocPipeline.d.ts +18 -0
  72. package/dist/modules/pipelines/adHocPipeline.d.ts.map +1 -0
  73. package/dist/modules/pipelines/adHocPipeline.js +37 -0
  74. package/dist/modules/pipelines/adHocPipeline.js.map +1 -0
  75. package/dist/modules/pipelines/pipelineShape.d.ts +31 -0
  76. package/dist/modules/pipelines/pipelineShape.d.ts.map +1 -1
  77. package/dist/modules/pipelines/pipelineShape.js +104 -2
  78. package/dist/modules/pipelines/pipelineShape.js.map +1 -1
  79. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"engine-dependent-modules.d.ts","sourceRoot":"","sources":["../../src/container/engine-dependent-modules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAA;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAWnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAExD,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,gBAAgB,CAAA;IAC9B,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7B,uBAAuB,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAC/D,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,GAAG,SAAS,CAAA;IACrE,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG,SAAS,CAAA;IACvD,aAAa,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAC9C;;;;OAIG;IACH,iBAAiB,EAAE,sBAAsB,GAAG,SAAS,CAAA;IACrD,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAChD,iBAAiB,EAAE,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,KAAK,IAAI,CAAA;CACrE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CA0GvF"}
1
+ {"version":3,"file":"engine-dependent-modules.d.ts","sourceRoot":"","sources":["../../src/container/engine-dependent-modules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAA;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAWnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAExD,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,gBAAgB,CAAA;IAC9B,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7B,uBAAuB,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAA;IAC/D,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,GAAG,SAAS,CAAA;IACrE,KAAK,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG,SAAS,CAAA;IACvD,aAAa,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAC9C;;;;OAIG;IACH,iBAAiB,EAAE,sBAAsB,GAAG,SAAS,CAAA;IACrD,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAChD,iBAAiB,EAAE,CAAC,IAAI,EAAE,qBAAqB,GAAG,SAAS,KAAK,IAAI,CAAA;CACrE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CA4GvF"}
@@ -6,7 +6,7 @@
6
6
  * initiative loop through `setInitiativeLoop` so the engine's terminal poke resolves it.
7
7
  */
8
8
  import { InitiativeLoopService } from '../modules/initiative/InitiativeLoopService.js';
9
- import { BLUEPRINT_PIPELINE_ID } from '@cat-factory/kernel';
9
+ import { BLUEPRINT_AGENT_KIND } from '@cat-factory/kernel';
10
10
  import { createBootstrapModule, createGitHubModule, createRecurringModule, createRunnersModule, createServicesModule, createTrackerModule, createTrackerWebhookModule, } from './modules.js';
11
11
  import { makeExternalMergeObserver } from '../modules/merge/externalMergeObserver.js';
12
12
  export function registerEngineDependentModules(input) {
@@ -19,9 +19,11 @@ export function registerEngineDependentModules(input) {
19
19
  : undefined;
20
20
  modules.build('github', () => createGitHubModule(dependencies, caches, externalMergeObserver));
21
21
  modules.build('runners', () => createRunnersModule(dependencies));
22
- // After a bootstrap succeeds, map the new repo into a blueprint + the board by
23
- // starting the blueprint-only pipeline against the service frame.
24
- modules.build('bootstrap', () => createBootstrapModule(dependencies, executionEventPublisher, (ws, blockId) => executionService.start(ws, blockId, BLUEPRINT_PIPELINE_ID).then(() => undefined)));
22
+ // After a bootstrap succeeds, map the new repo into a blueprint + the board by running the
23
+ // mapping agent against the service frame — a SINGLE-KIND run, not a pipeline: there is one
24
+ // step, and the preset that used to wrap it sat in the task picker beside the build presets
25
+ // offering something nobody picks (see the `pl_blueprint` tombstone).
26
+ modules.build('bootstrap', () => createBootstrapModule(dependencies, executionEventPublisher, (ws, blockId) => executionService.startAgentKind(ws, blockId, BLUEPRINT_AGENT_KIND).then(() => undefined)));
25
27
  modules.build('tracker', () => createTrackerModule(dependencies));
26
28
  modules.build('recurring', () => createRecurringModule(dependencies, executionService, executionEventPublisher, tasks?.connectionService, tasks));
27
29
  // Inbound tracker webhooks. Built LAST of the intake modules because it composes the two
@@ -1 +1 @@
1
- {"version":3,"file":"engine-dependent-modules.js","sourceRoot":"","sources":["../../src/container/engine-dependent-modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-dependent-modules.js","sourceRoot":"","sources":["../../src/container/engine-dependent-modules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAA;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,cAAc,CAAA;AAIrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AA0BrF,MAAM,UAAU,8BAA8B,CAAC,KAAkC;IAC/E,MAAM,EACJ,YAAY,EACZ,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IACT,MAAM,qBAAqB,GAAG,iBAAiB;QAC7C,CAAC,CAAC,yBAAyB,CAAC;YACxB,WAAW,EAAE,iBAAiB,CAAC,OAAO;YACtC,aAAa,EAAE,aAAa,EAAE,OAAO;SACtC,CAAC;QACJ,CAAC,CAAC,SAAS,CAAA;IACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAC9F,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAA;IACjE,2FAA2F;IAC3F,4FAA4F;IAC5F,4FAA4F;IAC5F,sEAAsE;IACtE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAC9B,qBAAqB,CAAC,YAAY,EAAE,uBAAuB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAC3E,gBAAgB,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACzF,CACF,CAAA;IACD,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAA;IACjE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAC9B,qBAAqB,CACnB,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,EAAE,iBAAiB,EACxB,KAAK,CACN,CACF,CAAA;IACD,yFAAyF;IACzF,8FAA8F;IAC9F,wFAAwF;IACxF,8FAA8F;IAC9F,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CACnC,0BAA0B,CAAC,YAAY,EAAE;QACvC,KAAK;QACL,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACnC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACzC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/B,gBAAgB;KACjB,CAAC,CACH,CAAA;IACD,iGAAiG;IACjG,kGAAkG;IAClG,iEAAiE;IACjE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IACrE,8FAA8F;IAC9F,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,gFAAgF;IAChF,4FAA4F;IAC5F,8EAA8E;IAC9E,YAAY,EAAE,eAAe,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACrE,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAM;QAC/B,MAAM,gBAAgB,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IACF,gGAAgG;IAChG,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAA;IACxF,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAA;IACtF,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;IAC9E,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAC1D,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACpC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CACrF,CAAA;IACD,6EAA6E;IAC7E,8FAA8F;IAC9F,+FAA+F;IAC/F,4DAA4D;IAC5D,MAAM,cAAc,GAClB,iBAAiB,IAAI,YAAY,CAAC,oBAAoB;QACpD,CAAC,CAAC,IAAI,qBAAqB,CAAC;YACxB,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;YACvD,iBAAiB;YACjB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;YACnD,gBAAgB;YAChB,MAAM,EAAE,uBAAuB;YAC/B,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,mBAAmB,EAAE,aAAa,EAAE,OAAO;YAC3C,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;YACzD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,8EAA8E;YAC9E,oDAAoD;YACpD,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;QACJ,CAAC,CAAC,SAAS,CAAA;IACf,iBAAiB,CAAC,cAAc,CAAC,CAAA;IACjC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,CAChC,iBAAiB,IAAI,cAAc;QACjC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE;QACtD,CAAC,CAAC,SAAS,CACd,CAAA;IACD,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;AACrE,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { BinaryCandidateStepState, BlockRepository, Clock, ExecutionInstance, ExecutionRepository, IdGenerator, KeepBinaryCandidatesInput, PipelineStep, WorkRunner } from '@cat-factory/kernel';
2
+ import type { NotificationService } from '../notifications/NotificationService.js';
3
+ import type { AdvanceResult } from './advance.js';
4
+ import type { RunStateMachine } from './RunStateMachine.js';
5
+ import type { StepGraph } from './StepGraph.js';
6
+ /** What the candidate controller needs beyond the shared run state-machine spine. */
7
+ export interface BinaryCandidateControllerDeps {
8
+ blockRepository: BlockRepository;
9
+ executionRepository: ExecutionRepository;
10
+ workRunner: WorkRunner;
11
+ /** The async instance/block spine (park/advance/persist/emit/progress). */
12
+ stateMachine: RunStateMachine;
13
+ /** The pure step mutators (start/finish/reset a step). */
14
+ stepGraph: StepGraph;
15
+ idGenerator: IdGenerator;
16
+ clock: Clock;
17
+ /** Optional inbox channel; when unwired the specific card is skipped and the generic
18
+ * waiting-notification the park itself raises still names the run. */
19
+ notificationService?: NotificationService;
20
+ }
21
+ export declare class BinaryCandidateController {
22
+ private readonly deps;
23
+ constructor(deps: BinaryCandidateControllerDeps);
24
+ /**
25
+ * Record the first pass's staged candidates onto the step and decide the flow. Runs as the
26
+ * completion interceptor's body, so it must return one of three things and each is a different
27
+ * fact about the run:
28
+ *
29
+ * - **≥2 candidates** ⇒ park. This is what the comparison is for.
30
+ * - **exactly 1** ⇒ keep it automatically and re-arm the step for the delivering pass. Nobody
31
+ * is asked to choose between one thing, and discarding a real generation because it had no
32
+ * rival would be the worse outcome. The choice records `automatic: true` so no surface can
33
+ * present it as reviewed (the fork decision's `single_path`, one subject over).
34
+ * - **none** ⇒ record `no_choice` with the reason and FALL THROUGH (`null`) to the ordinary
35
+ * completion, so the run advances. A comparison that wedged a run because a model forgot a
36
+ * fenced block would be a worse failure than the one it exists to prevent, and the reason
37
+ * (`undeclared` / `parse_failed` / `no_candidates`) is on the step for a human to read.
38
+ *
39
+ * The state is recorded on EVERY path including the last, which is the point: a step that
40
+ * settles with nothing rendered would otherwise be indistinguishable from a step that never
41
+ * compared.
42
+ */
43
+ recordCandidates(workspaceId: string, instance: ExecutionInstance, step: PipelineStep, output: string | undefined): Promise<AdvanceResult | null>;
44
+ /**
45
+ * Resolve the human's choice: validate the kept ids against a FRESH snapshot, record what
46
+ * survives and under which alternate ids, re-arm the step for the delivering pass and wake the
47
+ * driver.
48
+ *
49
+ * The validation is against the snapshot rather than against whatever the client sent, for the
50
+ * ordinary reason (two people, one park) and one specific to this surface: `storeAs` is the id
51
+ * an artifact lands under, so a duplicate would deliver two files to one address and report both
52
+ * as stored. That is refused here rather than left to the agent, which has no way to tell a
53
+ * deliberate overwrite from a collision.
54
+ */
55
+ keep(workspaceId: string, executionId: string, input: KeepBinaryCandidatesInput): Promise<BinaryCandidateStepState>;
56
+ /** The active candidate state for a run's GET, or null when no step carries one. */
57
+ getActive(workspaceId: string, executionId: string): Promise<BinaryCandidateStepState | null>;
58
+ /** Raise the "compare the generated candidates" inbox card when the run parks. */
59
+ private raiseCandidatesPending;
60
+ }
61
+ //# sourceMappingURL=BinaryCandidateController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryCandidateController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/BinaryCandidateController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,eAAe,EACf,KAAK,EACL,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,UAAU,EACX,MAAM,qBAAqB,CAAA;AAO5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiB/C,qFAAqF;AACrF,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,eAAe,CAAA;IAChC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,2EAA2E;IAC3E,YAAY,EAAE,eAAe,CAAA;IAC7B,0DAA0D;IAC1D,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;2EACuE;IACvE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,6BAA6B,EAAI;IAEpE;;;;;;;;;;;;;;;;;;OAkBG;IACG,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAoD/B;IAED;;;;;;;;;;OAUG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CAqDnC;IAED,oFAAoF;IAC9E,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAU1C;IAED,kFAAkF;YACpE,sBAAsB;CA0BrC"}
@@ -0,0 +1,215 @@
1
+ import { ConflictError, MAX_BINARY_CANDIDATES, parseBinaryCandidateDeclaration, ValidationError, } from '@cat-factory/kernel';
2
+ export class BinaryCandidateController {
3
+ deps;
4
+ constructor(deps) {
5
+ this.deps = deps;
6
+ }
7
+ /**
8
+ * Record the first pass's staged candidates onto the step and decide the flow. Runs as the
9
+ * completion interceptor's body, so it must return one of three things and each is a different
10
+ * fact about the run:
11
+ *
12
+ * - **≥2 candidates** ⇒ park. This is what the comparison is for.
13
+ * - **exactly 1** ⇒ keep it automatically and re-arm the step for the delivering pass. Nobody
14
+ * is asked to choose between one thing, and discarding a real generation because it had no
15
+ * rival would be the worse outcome. The choice records `automatic: true` so no surface can
16
+ * present it as reviewed (the fork decision's `single_path`, one subject over).
17
+ * - **none** ⇒ record `no_choice` with the reason and FALL THROUGH (`null`) to the ordinary
18
+ * completion, so the run advances. A comparison that wedged a run because a model forgot a
19
+ * fenced block would be a worse failure than the one it exists to prevent, and the reason
20
+ * (`undeclared` / `parse_failed` / `no_candidates`) is on the step for a human to read.
21
+ *
22
+ * The state is recorded on EVERY path including the last, which is the point: a step that
23
+ * settles with nothing rendered would otherwise be indistinguishable from a step that never
24
+ * compared.
25
+ */
26
+ async recordCandidates(workspaceId, instance, step, output) {
27
+ const declaration = parseBinaryCandidateDeclaration(output);
28
+ const candidates = declaration.candidates.map((candidate) => ({
29
+ id: this.deps.idGenerator.next('cand'),
30
+ ...candidate,
31
+ }));
32
+ const multiSelect = step.stepOptions?.binaryOutput?.comparison?.multiSelect === true;
33
+ const bookkeeping = {
34
+ candidates,
35
+ multiSelect,
36
+ invalidEntries: declaration.invalidEntries,
37
+ omitted: declaration.omitted,
38
+ unusablePreviews: declaration.unusablePreviews,
39
+ };
40
+ if (candidates.length === 0) {
41
+ step.binaryCandidates = {
42
+ ...bookkeeping,
43
+ status: 'no_choice',
44
+ noChoiceReason: declaration.parseFailed
45
+ ? 'parse_failed'
46
+ : declaration.undeclared
47
+ ? 'undeclared'
48
+ : 'no_candidates',
49
+ };
50
+ // Deliberately NOT persisted here: returning null hands the step to the ordinary completion
51
+ // path, which persists and emits the whole instance. Writing it twice would emit a run
52
+ // whose step is finished by one field and still running by another.
53
+ return null;
54
+ }
55
+ if (candidates.length === 1) {
56
+ step.binaryCandidates = {
57
+ ...bookkeeping,
58
+ status: 'chosen',
59
+ choice: {
60
+ kept: [{ candidateId: candidates[0].id }],
61
+ discarded: [],
62
+ automatic: true,
63
+ at: this.deps.clock.now(),
64
+ },
65
+ };
66
+ // Re-arm the SAME step so the driver re-enters and dispatches the delivering pass.
67
+ this.deps.stepGraph.resetStepForRerun(step);
68
+ this.deps.stepGraph.startStep(step);
69
+ await this.deps.stateMachine.persistAndEmit(workspaceId, instance);
70
+ return { kind: 'continue' };
71
+ }
72
+ step.binaryCandidates = { ...bookkeeping, status: 'awaiting_choice' };
73
+ await this.raiseCandidatesPending(workspaceId, instance, candidates.length);
74
+ return this.deps.stateMachine.parkStepOnDecision(workspaceId, instance, step);
75
+ }
76
+ /**
77
+ * Resolve the human's choice: validate the kept ids against a FRESH snapshot, record what
78
+ * survives and under which alternate ids, re-arm the step for the delivering pass and wake the
79
+ * driver.
80
+ *
81
+ * The validation is against the snapshot rather than against whatever the client sent, for the
82
+ * ordinary reason (two people, one park) and one specific to this surface: `storeAs` is the id
83
+ * an artifact lands under, so a duplicate would deliver two files to one address and report both
84
+ * as stored. That is refused here rather than left to the agent, which has no way to tell a
85
+ * deliberate overwrite from a collision.
86
+ */
87
+ async keep(workspaceId, executionId, input) {
88
+ let approvalId = '';
89
+ let state;
90
+ const instance = await this.deps.stateMachine.mutateInstance(workspaceId, executionId, (inst) => {
91
+ const step = inst.steps.find((s) => s.state === 'waiting_decision' &&
92
+ s.approval?.status === 'pending' &&
93
+ s.binaryCandidates?.status === 'awaiting_choice');
94
+ if (!step?.approval || !step.binaryCandidates) {
95
+ throw new ConflictError('The run is no longer awaiting a generated-candidate choice');
96
+ }
97
+ const candidates = step.binaryCandidates;
98
+ assertKeepable(input, candidates);
99
+ // Captured BEFORE `resetStepForRerun` clears `step.approval`.
100
+ approvalId = step.approval.id;
101
+ const kept = new Set(input.keep.map((entry) => entry.candidateId));
102
+ step.binaryCandidates = {
103
+ ...candidates,
104
+ status: 'chosen',
105
+ choice: {
106
+ kept: input.keep.map((entry) => ({
107
+ candidateId: entry.candidateId,
108
+ ...(entry.storeAs ? { storeAs: entry.storeAs } : {}),
109
+ })),
110
+ // Recorded explicitly rather than derived at read time: the delivering pass is what
111
+ // clears the staged files, and it needs the list even after a later reader would
112
+ // have to reconstruct it by subtraction from a candidate list nothing guarantees
113
+ // survives a future reset.
114
+ discarded: candidates.candidates
115
+ .map((candidate) => candidate.id)
116
+ .filter((id) => !kept.has(id)),
117
+ ...(input.note ? { note: input.note } : {}),
118
+ at: this.deps.clock.now(),
119
+ },
120
+ };
121
+ // Re-arm the SAME step so the driver re-enters and dispatches the delivering pass
122
+ // (`binaryCandidates` survives `resetStepForRerun`, like `forkDecision`).
123
+ this.deps.stepGraph.resetStepForRerun(step);
124
+ this.deps.stepGraph.startStep(step);
125
+ if (inst.status === 'blocked')
126
+ inst.status = 'running';
127
+ state = step.binaryCandidates;
128
+ });
129
+ await this.deps.stateMachine.clearWaitingNotification(workspaceId, instance);
130
+ await this.deps.stateMachine.updateBlockProgress(workspaceId, instance, 'in_progress');
131
+ await this.deps.stateMachine.emitInstance(workspaceId, instance);
132
+ await this.deps.workRunner.signalDecision(workspaceId, instance.id, approvalId, 'approved');
133
+ return state;
134
+ }
135
+ /** The active candidate state for a run's GET, or null when no step carries one. */
136
+ async getActive(workspaceId, executionId) {
137
+ const instance = await this.deps.executionRepository.get(workspaceId, executionId);
138
+ if (!instance)
139
+ return null;
140
+ const current = instance.steps[instance.currentStep];
141
+ if (current?.binaryCandidates)
142
+ return current.binaryCandidates;
143
+ for (let i = instance.steps.length - 1; i >= 0; i--) {
144
+ const candidates = instance.steps[i].binaryCandidates;
145
+ if (candidates)
146
+ return candidates;
147
+ }
148
+ return null;
149
+ }
150
+ /** Raise the "compare the generated candidates" inbox card when the run parks. */
151
+ async raiseCandidatesPending(workspaceId, instance, count) {
152
+ if (!this.deps.notificationService)
153
+ return;
154
+ const block = await this.deps.blockRepository.get(workspaceId, instance.blockId);
155
+ if (!block)
156
+ return;
157
+ // `decision_required` rather than a type of its own, and the reasoning is the iteration-cap
158
+ // card's: the park already raises a generic waiting notification whose reveal opens the
159
+ // parked step, which routes to this window by itself, so a dedicated type would buy an icon
160
+ // and cost a member of a closed vocabulary that four wire surfaces and every locale mirror.
161
+ // What is worth having is the SPECIFIC wording, and the park's own card is non-clobbering, so
162
+ // raising this first is what makes the inbox say which decision is waiting.
163
+ await this.deps.notificationService.raise(workspaceId, {
164
+ type: 'decision_required',
165
+ blockId: block.id,
166
+ executionId: instance.id,
167
+ title: `"${block.title}" has ${count} generated candidates to compare`,
168
+ body: 'A generating step produced several candidates rather than committing to one. Open the ' +
169
+ 'task to compare them and keep the one (or ones) you want: the step delivers what you ' +
170
+ 'keep.',
171
+ payload: { pipelineName: instance.pipelineName },
172
+ });
173
+ }
174
+ }
175
+ /**
176
+ * Whether this request may resolve the park, refusing every way it could not.
177
+ *
178
+ * Each refusal is a distinct fault a caller can fix, and each would otherwise land somewhere far
179
+ * from its cause: an unknown id would silently keep nothing, a second kept candidate on a
180
+ * single-select step would deliver an artifact count nobody configured, and duplicate `storeAs`
181
+ * ids would put two files at one address and report both as delivered.
182
+ */
183
+ function assertKeepable(input, state) {
184
+ const known = new Set(state.candidates.map((candidate) => candidate.id));
185
+ const seen = new Set();
186
+ for (const entry of input.keep) {
187
+ if (!known.has(entry.candidateId)) {
188
+ throw new ValidationError(`Unknown candidate '${entry.candidateId}'`);
189
+ }
190
+ if (seen.has(entry.candidateId)) {
191
+ throw new ValidationError(`Candidate '${entry.candidateId}' was kept twice`);
192
+ }
193
+ seen.add(entry.candidateId);
194
+ }
195
+ if (input.keep.length > 1 && !state.multiSelect) {
196
+ throw new ValidationError('This step keeps one candidate. Enable multi-select on the step to keep more than one.');
197
+ }
198
+ // Above the parse cap nothing could have been kept anyway, but the bound is restated on the
199
+ // WRITE path because it is the one a client controls: a request naming more entries than the
200
+ // step could ever hold is a client bug, and the id check above would already have refused it
201
+ // one id at a time with a message about the wrong thing.
202
+ if (input.keep.length > MAX_BINARY_CANDIDATES) {
203
+ throw new ValidationError(`At most ${MAX_BINARY_CANDIDATES} candidates may be kept`);
204
+ }
205
+ const aliases = input.keep.flatMap((entry) => (entry.storeAs ? [entry.storeAs] : []));
206
+ if (new Set(aliases).size !== aliases.length) {
207
+ throw new ValidationError('Each kept candidate needs a DISTINCT id to be stored under: two artifacts at one location is one artifact.');
208
+ }
209
+ // More than one survivor with no alternate id is the same collision spelled differently: the
210
+ // step's ordinary naming is one name, so two candidates claiming it would overwrite each other.
211
+ if (input.keep.length > 1 && aliases.length < input.keep.length) {
212
+ throw new ValidationError('Keeping more than one candidate requires an id for each of them, or they would all be stored under the same name.');
213
+ }
214
+ }
215
+ //# sourceMappingURL=BinaryCandidateController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryCandidateController.js","sourceRoot":"","sources":["../../../src/modules/execution/BinaryCandidateController.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { JudgeDefinition, JudgeStepState, ResolveJudgeInput, AgentFailureKind, Block, ExecutionInstance, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, ChallengePrReviewFindingInput, GateActor, StepReviewComment, InputGateInput, ResolveInputGateChoice, RunInputGate } from '@cat-factory/kernel';
1
+ import type { JudgeDefinition, JudgeStepState, ResolveJudgeInput, AgentFailureKind, Block, ExecutionInstance, GateActor, StepReviewComment, InputGateInput, ResolveInputGateChoice, RunInputGate } from '@cat-factory/kernel';
2
2
  import type { PrVerificationReport, RunOutcome, ServiceSpecView } from '@cat-factory/contracts';
3
3
  import type { RunStartOptions } from './runStartOptions.js';
4
- import { type HasPersonalSubscription } from './individualVendors.logic.js';
4
+ import type { HasPersonalSubscription } from './runVendorGate.js';
5
5
  import { type SubscriptionVendor } from '@cat-factory/kernel';
6
+ import { type RunDecisionSurfaces } from './run-decision-surfaces.js';
6
7
  import { BrainstormActions, ClarityReviewActions, type HumanTestActions, RequirementReviewActions, type VisualConfirmActions } from './gate-window-facades.js';
7
8
  import { InitiativeInterviewController } from './InitiativeInterviewController.js';
8
9
  import { DocInterviewController } from './DocInterviewController.js';
@@ -45,22 +46,21 @@ export declare class ExecutionService {
45
46
  private readonly mergeResolver;
46
47
  /** Drives a companion (reviewer/spec/architect) step: grade → pass / loop producer / park. */
47
48
  private readonly companionController;
48
- /** Drives the Tester gate's fix loop: report → greenlight / dispatch fixer / fail. */
49
- private readonly testerController;
50
- private readonly ralphController;
51
- /** Drives the human-testing gate: provision env park confirm / fix / pull-main / recreate. */
52
- private readonly humanTestController;
53
- /** Drives the visual-confirmation gate: gather screenshots park approve / fix / recapture. */
54
- private readonly visualConfirmationController;
55
- /** Drives both iterative review gates (requirements + clarity); kind-parameterised. */
56
- private readonly reviewGate;
49
+ /**
50
+ * The controllers behind the run's gates and dedicated park windows, as ONE bundle rather than
51
+ * one field each: the Tester fix loop, the Ralph loop, the human-testing and
52
+ * visual-confirmation gates, both iterative review gates, the implementation-fork decision, the
53
+ * PR deep-review and the generated-candidate comparison. The family grows with every park
54
+ * surface, and a field plus an assignment per member spends two lines of this class's budget on
55
+ * a value that is only ever forwarded. See {@link buildGateWindowControllers}.
56
+ */
57
+ private readonly gateWindows;
57
58
  /** The pre-dispatch input gate; see {@link InputGateController}. */
58
59
  private readonly inputGate;
59
60
  /** Bound collaborators for the shared pre-dispatch preamble ({@link runStepPreamble}). */
60
61
  private stepPreambleDepsCache?;
61
- /** Drives the human-facing half of the implementation-fork decision phase on the Coder step. */
62
- private readonly forkDecisionController;
63
- private readonly prReviewController;
62
+ /** The three doors onto "what personal subscriptions would a run started here lease". */
63
+ private vendorGateCache?;
64
64
  /** The requirements subject for {@link reviewGate}. */
65
65
  private readonly requirementsKind;
66
66
  /** The clarity (bug-report triage) subject for {@link reviewGate}. */
@@ -195,29 +195,27 @@ export declare class ExecutionService {
195
195
  * the public surface reports, not a state this lookup can paper over.
196
196
  */
197
197
  interviewGateFor(agentKind: string): InterviewGate | undefined;
198
+ /**
199
+ * The three doors onto "what personal subscriptions would a run started here lease". Built
200
+ * lazily and memoised for the reason {@link stepPreambleDeps} is: it closes over collaborators
201
+ * this class assigns during construction, so binding it in the constructor would depend on the
202
+ * field order rather than on the object being finished.
203
+ */
204
+ private get vendorGate();
198
205
  private requireWorkspace;
199
206
  private requireBlock;
200
207
  /**
201
- * The individual-usage subscription vendors a run STARTED against `blockId` with
202
- * `pipelineId` will lease a personal credential for — so the controller can gate the
203
- * run on the initiator's personal subscription(s) up-front. Mirrors the dispatch-time
204
- * model precedence (block pin workspace per-kind default) across every step, AND the
205
- * per-user dispatch decision: `hasPersonalSubscription(vendor)` reports whether the
206
- * initiator has their own subscription for a vendor, so a dual-mode model (GLM) only
207
- * gates a subscriber (a non-subscriber runs it on the Cloudflare base, ungated).
208
- * Defaults to "no personal subscription" for system/unauthenticated callers.
208
+ * The individual-usage subscription vendors a run STARTED against `blockId` with `pipelineId`
209
+ * will lease a personal credential for — so the controller can gate the run on the initiator's
210
+ * personal subscription(s) up-front. The three doors (a pipeline, one agent kind, a failed run's
211
+ * stored steps) live on {@link RunVendorGate}; these delegate so no start path can answer the
212
+ * question its own way.
209
213
  */
210
214
  individualVendorsForBlock(workspaceId: string, blockId: string, pipelineId: string, hasPersonalSubscription?: HasPersonalSubscription): Promise<SubscriptionVendor[]>;
215
+ /** The individual-usage vendors a SINGLE-KIND run would use (for its start gate). */
216
+ individualVendorsForAgentKind(workspaceId: string, blockId: string, agentKind: string, hasPersonalSubscription?: HasPersonalSubscription): Promise<SubscriptionVendor[]>;
211
217
  /** The individual-usage vendors a failed run's resumed steps use (for the retry gate). */
212
218
  individualVendorsForRun(workspaceId: string, executionId: string, hasPersonalSubscription?: HasPersonalSubscription): Promise<SubscriptionVendor[]>;
213
- /**
214
- * The set of individual-usage vendors the given steps resolve to, used to gate a run
215
- * on the initiator's personal subscription(s) up-front. Delegates to the pure
216
- * {@link resolveIndividualVendors}, which mirrors the dispatch-time precedence: a
217
- * resolvable block pin decides the set alone (NONE for a non-subscription model), and
218
- * only an unpinned run falls to the workspace per-kind defaults.
219
- */
220
- private resolveIndividualVendors;
221
219
  /**
222
220
  * Advance a single run by exactly one step and report what happened. This is
223
221
  * the durable driver's entry point: it reloads the run from storage (so it is
@@ -266,32 +264,14 @@ export declare class ExecutionService {
266
264
  registeredJudges(): JudgeDefinition[];
267
265
  /** @see RunDispatcher.resolveGatePollExhaustion */
268
266
  resolveGatePollExhaustion(workspaceId: string, executionId: string): Promise<AdvanceResult>;
269
- /** @see RunDispatcher.getFollowUps */
270
- getFollowUps(workspaceId: string, executionId: string): Promise<FollowUpsStepState | null>;
271
- /** @see RunDispatcher.getForkDecision */
272
- getForkDecision(workspaceId: string, executionId: string): Promise<ForkDecisionStepState | null>;
273
- /** @see RunDispatcher.chooseFork */
274
- chooseFork(workspaceId: string, executionId: string, input: ChooseForkInput): Promise<ForkDecisionStepState>;
275
- /** @see RunDispatcher.forkChat */
276
- forkChat(workspaceId: string, executionId: string, input: ForkChatRequestInput): Promise<ForkDecisionStepState>;
277
- /** @see RunDispatcher.getPrReview */
278
- getPrReview(workspaceId: string, executionId: string): Promise<PrReviewStepState | null>;
279
- /** @see RunDispatcher.resolvePrReview */
280
- resolvePrReview(workspaceId: string, executionId: string, input: ResolvePrReviewInput): Promise<PrReviewStepState>;
281
- /** @see RunDispatcher.resumePrReview */
282
- resumePrReview(workspaceId: string, executionId: string): Promise<PrReviewStepState>;
283
- /** @see RunDispatcher.dismissPrReviewFinding */
284
- dismissPrReviewFinding(workspaceId: string, executionId: string, findingId: string): Promise<PrReviewStepState>;
285
- /** @see RunDispatcher.challengePrReviewFinding */
286
- challengePrReviewFinding(workspaceId: string, executionId: string, findingId: string, input: ChallengePrReviewFindingInput): Promise<PrReviewStepState>;
287
- /** @see RunDispatcher.fileFollowUp */
288
- fileFollowUp(workspaceId: string, executionId: string, itemId: string): Promise<FollowUpsStepState>;
289
- /** @see RunDispatcher.queueFollowUp */
290
- queueFollowUp(workspaceId: string, executionId: string, itemId: string): Promise<FollowUpsStepState>;
291
- /** @see RunDispatcher.answerFollowUp */
292
- answerFollowUp(workspaceId: string, executionId: string, itemId: string, answer: string): Promise<FollowUpsStepState>;
293
- /** @see RunDispatcher.dismissFollowUp */
294
- dismissFollowUp(workspaceId: string, executionId: string, itemId: string): Promise<FollowUpsStepState>;
267
+ /**
268
+ * The verbs a run's DEDICATED PARK WINDOWS are answered with: the Follow-up companion, the
269
+ * implementation-fork decision, the PR deep-review and the generated-candidate comparison.
270
+ *
271
+ * One property rather than sixteen delegates, because they are one concern and the family grows
272
+ * by two every time a park surface is added. See `run-decision-surfaces.ts`.
273
+ */
274
+ readonly decisions: RunDecisionSurfaces;
295
275
  /**
296
276
  * Infer + persist the block's `technical` label from the settled spec phase (item 5):
297
277
  * combine the spec-writer's `noBusinessSpecs` determination (recorded on the producer
@@ -380,6 +360,8 @@ export declare class ExecutionService {
380
360
  failRun(workspaceId: string, executionId: string, message: string, kind?: AgentFailureKind, detail?: string | null, reason?: string | null): Promise<void>;
381
361
  /** @see RunLifecycleController.start */
382
362
  start(workspaceId: string, blockId: string, pipelineId: string, options?: RunStartOptions): Promise<ExecutionInstance>;
363
+ /** @see RunLifecycleController.startAgentKind */
364
+ startAgentKind(workspaceId: string, blockId: string, agentKind: string, options?: RunStartOptions): Promise<ExecutionInstance>;
383
365
  /** @see RunLifecycleController.retry */
384
366
  retry(workspaceId: string, executionId: string, initiatedBy?: string | null, activate?: (executionId: string) => Promise<void>): Promise<ExecutionInstance>;
385
367
  /** @see RunLifecycleController.restartFromStep */
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionService.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/ExecutionService.ts"],"names":[],"mappings":"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"}