@cat-factory/orchestration 0.136.1 → 0.138.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 (40) hide show
  1. package/dist/container.d.ts +21 -3
  2. package/dist/container.d.ts.map +1 -1
  3. package/dist/container.js.map +1 -1
  4. package/dist/modules/environments/EnvironmentTestService.d.ts.map +1 -1
  5. package/dist/modules/environments/EnvironmentTestService.js +7 -1
  6. package/dist/modules/environments/EnvironmentTestService.js.map +1 -1
  7. package/dist/modules/execution/ExecutionService.d.ts +7 -371
  8. package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
  9. package/dist/modules/execution/ExecutionService.js +32 -35
  10. package/dist/modules/execution/ExecutionService.js.map +1 -1
  11. package/dist/modules/execution/ExecutionServiceDependencies.d.ts +381 -0
  12. package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -0
  13. package/dist/modules/execution/ExecutionServiceDependencies.js +2 -0
  14. package/dist/modules/execution/ExecutionServiceDependencies.js.map +1 -0
  15. package/dist/modules/execution/PrVerificationReportController.d.ts +106 -0
  16. package/dist/modules/execution/PrVerificationReportController.d.ts.map +1 -0
  17. package/dist/modules/execution/PrVerificationReportController.js +134 -0
  18. package/dist/modules/execution/PrVerificationReportController.js.map +1 -0
  19. package/dist/modules/execution/RunDispatcher.d.ts +4 -0
  20. package/dist/modules/execution/RunDispatcher.d.ts.map +1 -1
  21. package/dist/modules/execution/RunDispatcher.js +13 -0
  22. package/dist/modules/execution/RunDispatcher.js.map +1 -1
  23. package/dist/modules/execution/prReport.logic.d.ts +25 -0
  24. package/dist/modules/execution/prReport.logic.d.ts.map +1 -0
  25. package/dist/modules/execution/prReport.logic.js +436 -0
  26. package/dist/modules/execution/prReport.logic.js.map +1 -0
  27. package/dist/modules/execution/prReportText.logic.d.ts +46 -0
  28. package/dist/modules/execution/prReportText.logic.d.ts.map +1 -0
  29. package/dist/modules/execution/prReportText.logic.js +188 -0
  30. package/dist/modules/execution/prReportText.logic.js.map +1 -0
  31. package/dist/modules/execution/retry.logic.d.ts +28 -1
  32. package/dist/modules/execution/retry.logic.d.ts.map +1 -1
  33. package/dist/modules/execution/retry.logic.js +36 -0
  34. package/dist/modules/execution/retry.logic.js.map +1 -1
  35. package/dist/modules/execution/runStartOptions.d.ts +12 -0
  36. package/dist/modules/execution/runStartOptions.d.ts.map +1 -1
  37. package/dist/modules/settings/WorkspaceSettingsService.d.ts.map +1 -1
  38. package/dist/modules/settings/WorkspaceSettingsService.js +1 -0
  39. package/dist/modules/settings/WorkspaceSettingsService.js.map +1 -1
  40. package/package.json +11 -11
@@ -1,379 +1,15 @@
1
- import type { AgentFailureKind, ResolveBinaryArtifactStore, Block, BlueprintService, ExecutionInstance, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, ChallengePrReviewFindingInput, RiskPolicyRepository, PullRequestMerger, StepReviewComment, SubscriptionActivationRepository, TicketTrackerProvider, IssueWritebackProvider } from '@cat-factory/kernel';
2
- import type { AgentKindRegistry } from '@cat-factory/agents';
3
- import type { GateRegistry, InitiativePresetRegistry, ProviderRegistry, RunInitiatorScope, StepResolverRegistry } from '@cat-factory/kernel';
1
+ import type { AgentFailureKind, Block, ExecutionInstance, FollowUpsStepState, ForkDecisionStepState, ChooseForkInput, ForkChatRequestInput, PrReviewStepState, ResolvePrReviewInput, ChallengePrReviewFindingInput, StepReviewComment } from '@cat-factory/kernel';
4
2
  import type { RunStartOptions } from './runStartOptions.js';
5
3
  import { type HasPersonalSubscription } from './individualVendors.logic.js';
6
- import { type ModelRef, type ProviderCapabilities, type SubscriptionVendor } from '@cat-factory/kernel';
7
- import { type DocumentUrlResolver, type FragmentBodyResolver, type SkillResolver } from './AgentContextBuilder.js';
8
- import { type KaizenScheduler } from './RunStateMachine.js';
4
+ import { type SubscriptionVendor } from '@cat-factory/kernel';
9
5
  import { BrainstormActions, ClarityReviewActions, type HumanTestActions, RequirementReviewActions, type VisualConfirmActions } from './gate-window-facades.js';
10
- import type { TesterQualityReviewer } from './TesterQualityReviewService.js';
11
- import type { NotificationService } from '../notifications/NotificationService.js';
12
- import type { InitiativeService } from '../initiative/InitiativeService.js';
13
- import type { InitiativeInterviewService } from '../initiative/InitiativeInterviewService.js';
14
6
  import { InitiativeInterviewController } from './InitiativeInterviewController.js';
15
- import type { DocInterviewService } from '../docInterview/DocInterviewService.js';
16
7
  import { DocInterviewController } from './DocInterviewController.js';
17
- import type { ForkChatService } from './ForkChatService.js';
18
- import type { InitiativeRunHarvest } from '../initiative/initiative.logic.js';
19
- import type { WorkspaceSettingsService } from '../settings/WorkspaceSettingsService.js';
20
- import type { RequirementReviewService } from '../requirements/RequirementReviewService.js';
21
- import type { ClarityReviewService } from '../clarity/ClarityReviewService.js';
22
- import type { BrainstormService } from '../brainstorm/BrainstormService.js';
23
- import type { IterationCapChoice, RequirementConcernLevel, StepGating, BrainstormStage } from '@cat-factory/kernel';
24
- import type { LlmObservabilityService } from '../observability/LlmObservabilityService.js';
25
- import type { AccountRepository, BlockRepository, ExecutionRepository, PipelineRepository, WorkspaceRepository } from '@cat-factory/kernel';
26
- import type { Clock, IdGenerator, PreloadedBlocks } from '@cat-factory/kernel';
27
- import type { GroupCacheHandle, RiskPolicyCacheValue } from '@cat-factory/kernel';
28
- import type { AgentExecutor, ResolveRunRepoContext, TestSecretRef } from '@cat-factory/kernel';
29
- import type { WorkRunner } from '@cat-factory/kernel';
30
- import type { ExecutionEventPublisher } from '@cat-factory/kernel';
31
- import type { DocumentRepository } from '@cat-factory/kernel';
32
- import type { TaskRepository } from '@cat-factory/kernel';
33
- import type { DocInterviewRepository, InitiativeRepository, RequirementReviewRepository } from '@cat-factory/kernel';
34
- import type { ClarityReviewRepository } from '@cat-factory/kernel';
35
- import type { BrainstormSessionRepository } from '@cat-factory/kernel';
36
- import type { BugIntakeService, EnvironmentProvisioningService, EnvironmentTeardownService } from '@cat-factory/integrations';
37
- import type { BranchUpdater } from '@cat-factory/kernel';
38
- import type { BoardService } from '../board/BoardService.js';
39
- import type { SpendService } from '@cat-factory/spend';
8
+ import type { IterationCapChoice, RequirementConcernLevel, StepGating } from '@cat-factory/kernel';
9
+ import type { PreloadedBlocks } from '@cat-factory/kernel';
40
10
  import type { AdvanceOptions, AdvanceResult } from './advance.js';
41
- export interface ExecutionServiceDependencies {
42
- workspaceRepository: WorkspaceRepository;
43
- blockRepository: BlockRepository;
44
- pipelineRepository: PipelineRepository;
45
- executionRepository: ExecutionRepository;
46
- /**
47
- * Resolves the owning account of a workspace so a service that pins no cloud
48
- * provider falls back to the account's `defaultCloudProvider` at dispatch.
49
- */
50
- accountRepository: AccountRepository;
51
- idGenerator: IdGenerator;
52
- clock: Clock;
53
- agentExecutor: AgentExecutor;
54
- /**
55
- * The app-owned agent-kind registry, threaded through to the trait/inline-surface checks
56
- * and a registered kind's pre/post-op hooks. `createCore` defaults it to
57
- * `defaultAgentKindRegistry()` when a facade doesn't inject the shared instance.
58
- */
59
- agentKindRegistry: AgentKindRegistry;
60
- /**
61
- * The app-owned polling-gate registry (the built-in `@cat-factory/gates` suite installed by
62
- * the facade + any deployment-registered gates), threaded to the dispatcher's gate machine.
63
- * `createCore` defaults it to `defaultGateRegistry()` (empty) when a facade doesn't inject one.
64
- */
65
- gateRegistry: GateRegistry;
66
- /**
67
- * The app-owned step-completion-resolver registry (deployment-registered resolvers),
68
- * threaded to the dispatcher. `createCore` defaults it to `defaultStepResolverRegistry()`.
69
- */
70
- stepResolverRegistry: StepResolverRegistry;
71
- /**
72
- * The app-owned provider registry (gate data sources keyed by {@link ProviderToken}), threaded
73
- * to the dispatcher's gate machine so its {@link GateContext} reads the wired providers.
74
- * `createCore` defaults it to `defaultProviderRegistry()` (empty ⇒ every gate passes through).
75
- */
76
- providerRegistry: ProviderRegistry;
77
- /**
78
- * The app-owned initiative-preset registry, threaded into the context builder so a spawned /
79
- * planning run resolves its preset steering. `createCore` defaults it to
80
- * `defaultInitiativePresetRegistry()` when a facade doesn't inject the shared instance.
81
- */
82
- initiativePresetRegistry: InitiativePresetRegistry;
83
- workRunner: WorkRunner;
84
- executionEventPublisher: ExecutionEventPublisher;
85
- boardService: BoardService;
86
- spendService: SpendService;
87
- /**
88
- * Optional: when the document-source integration is configured, documents
89
- * linked to a block are resolved here and fed to the agent as extra context.
90
- */
91
- documentRepository?: DocumentRepository;
92
- /**
93
- * Optional: canonicalises a URL named in a block's description to the document's stable
94
- * `(source, externalId)` (via the document providers' `parseRef`) so a pasted design/doc
95
- * link auto-matches its imported page even when the URL carries title/tracking noise.
96
- * Forwarded to {@link AgentContextBuilder}; absent → url-string matching only.
97
- */
98
- documentUrlResolver?: DocumentUrlResolver;
99
- /**
100
- * Optional: when the task-source integration is configured, tracker issues
101
- * linked to a block are resolved here and fed to the agent as extra context.
102
- */
103
- taskRepository?: TaskRepository;
104
- /**
105
- * Optional: when the requirements-review feature is configured, a block's
106
- * reworked ("incorporated") requirements are read here. When present they REPLACE
107
- * the block's description + linked docs/tasks as the agent context (for every
108
- * step) and become the per-task input the spec-writer aggregates. Absent
109
- * → the engine uses the original description + docs/tasks unchanged.
110
- */
111
- requirementReviewRepository?: RequirementReviewRepository;
112
- /**
113
- * Optional: when the interactive document-interview feature is configured (WS5), a block's
114
- * synthesized authoring brief is read here and folded into the doc-writer's context. Absent
115
- * → the writer runs off the raw outline/description unchanged.
116
- */
117
- docInterviewRepository?: DocInterviewRepository;
118
- /**
119
- * Optional: the requirements-review feature's service, present when the reviewer is
120
- * wired. Drives the special `requirements-review` gate step (run reviewer inline, the
121
- * iterative answer → incorporate → re-review loop). Absent → the gate step passes
122
- * through so pipelines run unchanged without the feature.
123
- */
124
- requirementReviewService?: RequirementReviewService;
125
- /**
126
- * Optional: the interactive document-interview service (WS5). When wired, the
127
- * `doc-interviewer` step converses with the human (park/answer/resume) to refine a
128
- * document's scope/structure and synthesizes an authoring brief the writer starts from.
129
- * Absent (or no model) → the interviewer step passes through so document pipelines run
130
- * unchanged off the raw outline.
131
- */
132
- docInterviewService?: DocInterviewService;
133
- /**
134
- * Optional: the inline grounded-chat responder for the implementation-fork decision phase.
135
- * When wired, a human chat turn about the surfaced forks is answered by an inline LLM in the
136
- * durable driver; absent (no model) the chat degrades to a canned "chat unavailable" reply so
137
- * pick / custom still work. Passed to the {@link ForkDecisionController}.
138
- */
139
- forkChatService?: ForkChatService;
140
- /**
141
- * Optional: the inline reviewer for the test quality-control companion. When wired (and a
142
- * Tester step has the companion enabled), each Tester report is audited for coverage before
143
- * the greenlight/fixer decision and an inadequate report loops the Tester. Passed straight
144
- * to the {@link TesterController}. Absent → QC is a pass-through.
145
- */
146
- testerQualityReviewer?: TesterQualityReviewer;
147
- /**
148
- * Optional: the Kaizen agent's scheduler. When wired, a run reaching a terminal state
149
- * schedules a post-run grading for each completed agent step (skipping verified combos).
150
- * Structural so the engine doesn't depend on the concrete service. Absent → no grading.
151
- */
152
- kaizenScheduler?: KaizenScheduler;
153
- /**
154
- * Optional: persistence for the clarity-review (bug-report triage) feature. Read here
155
- * to substitute a converged clarified report as the downstream agent context (the
156
- * mirror of `requirementReviewRepository`). Absent → no substitution.
157
- */
158
- clarityReviewRepository?: ClarityReviewRepository;
159
- /**
160
- * Optional: the clarity-review feature's service, present when the reviewer is wired.
161
- * Drives the special `clarity-review` gate step (inline reviewer + the iterative
162
- * answer → incorporate → re-review loop). Absent → the gate step passes through.
163
- */
164
- clarityReviewService?: ClarityReviewService;
165
- /**
166
- * Optional: the brainstorm (structured-dialogue) feature's services, one per stage, present
167
- * when the brainstorm module is wired. Drive the special `requirements-brainstorm` /
168
- * `architecture-brainstorm` gate steps (inline option-generator + the iterative propose →
169
- * pick → incorporate → re-run loop). Absent → the gate steps pass through.
170
- */
171
- brainstormServices?: Record<BrainstormStage, BrainstormService>;
172
- /**
173
- * Optional: persistence for the brainstorm feature. Read by the agent-context builder to
174
- * surface a converged `architecture-brainstorm` direction to the architect (the mirror of
175
- * `requirementReviewRepository`). Absent → no substitution.
176
- */
177
- brainstormSessionRepository?: BrainstormSessionRepository;
178
- /**
179
- * Optional: resolves fragment ids against the merged tenant catalog (managed +
180
- * document-backed fragments), live-resolving linked Confluence/Notion/GitHub
181
- * documents at run time. Wired only when the prompt-fragment library is
182
- * configured; absent → the engine resolves against the static built-in pool.
183
- */
184
- fragmentResolver?: FragmentBodyResolver;
185
- /**
186
- * Optional: resolves a `skill` step's picked skill to its instructions + resource bodies for
187
- * the run (see {@link SkillResolver}). Wired only when the repo-sourced Claude Skills library is
188
- * configured; a skill step dispatched with this unwired fails loudly rather than running blank.
189
- */
190
- skillResolver?: SkillResolver;
191
- /**
192
- * Optional: when the individual-usage subscription store is configured, a finished
193
- * run's per-run credential activation is deleted here the moment it reaches a terminal
194
- * state, bounding standing exposure to the run's own lifetime (the TTL sweep is the
195
- * backstop). Absent → activations are reclaimed by the TTL sweep alone.
196
- */
197
- subscriptionActivationRepository?: SubscriptionActivationRepository;
198
- /**
199
- * Optional: resolve a workspace's per-agent-kind default model id (the same resolver
200
- * the container executor uses for dispatch). The personal-credential gate consults it
201
- * so a run whose block has NO pinned model but whose workspace default resolves to an
202
- * individual-usage vendor is still gated up-front — matching what dispatch will resolve,
203
- * instead of starting and then failing on a missing activation. Absent → the gate sees
204
- * only the block's pinned model (env-routing defaults are operator-level and not gated).
205
- */
206
- resolveWorkspaceModelDefault?: (workspaceId: string, agentKind: string, modelPresetId?: string) => Promise<string | undefined>;
207
- /**
208
- * Optional: resolve the provider capabilities (configured direct keys +
209
- * subscription vendors + whether Cloudflare AI is enabled) for a workspace and the
210
- * run initiator. The start guard uses it to block a pipeline whose steps' canonical
211
- * models have no usable provider. Absent → the guard is skipped (tests / unconfigured
212
- * facades), exactly like the existing optional engine deps.
213
- */
214
- resolveProviderCapabilities?: (workspaceId: string, initiatedBy?: string | null) => Promise<ProviderCapabilities>;
215
- /**
216
- * Optional: whether a container-only subscription harness ref (`claude-code` / `codex`)
217
- * can run as an INLINE LLM call in this deployment (local mode's ambient CLI). The preset
218
- * satisfiability guard uses it so an inline step pinned to a subscription model is
219
- * satisfiable where the harness runs inline, and refused where it doesn't (Node/Worker).
220
- * From `config.agents.inlineHarnessRef`; absent → no inline harness support.
221
- */
222
- inlineHarnessRef?: (ref: ModelRef) => boolean;
223
- /**
224
- * Optional: when the environment integration is configured, a `deployer` step
225
- * provisions an ephemeral environment deterministically through this service
226
- * (no LLM), and downstream steps discover the resulting env via it.
227
- */
228
- environmentProvisioning?: EnvironmentProvisioningService;
229
- /**
230
- * Optional: resolve the NON-secret refs (key + description) of the sensitive test credentials
231
- * for a run block's service frame, folded into the tester prompt by the context builder.
232
- * Wired from the facade's `TestSecretsService`; absent ⇒ no advertised secrets. NEVER values.
233
- */
234
- resolveTestSecretRefs?: (workspaceId: string, blockId: string) => Promise<TestSecretRef[]>;
235
- /**
236
- * Optional: resolves the binary-artifact store (UI screenshots + reference design images)
237
- * for a workspace's account; the `visual-confirmation` gate reads it. Absent (or resolving
238
- * to null — storage not configured) → the gate passes through (auto-advances), since there
239
- * is nowhere to read screenshots from.
240
- */
241
- resolveBinaryArtifactStore?: ResolveBinaryArtifactStore;
242
- /**
243
- * Optional: tears down ephemeral environments. Wired alongside
244
- * {@link environmentProvisioning}; the `human-test` gate uses it to destroy an env on
245
- * confirm / recreate / on-demand. Absent → the gate's destroy/recreate is a no-op.
246
- */
247
- environmentTeardown?: EnvironmentTeardownService;
248
- /**
249
- * Optional: merges the repo default branch into a block's PR branch server-side. Wired
250
- * when GitHub is configured; the `human-test` gate's "pull latest main" action uses it
251
- * (a clean merge rebuilds the env; a conflict escalates to the conflict-resolver). Absent
252
- * → pulling main is unavailable on the gate.
253
- */
254
- branchUpdater?: BranchUpdater;
255
- /**
256
- * Optional: when the board-scan module is configured, a `blueprints` step's
257
- * decomposition tree is reconciled onto the board through this (BoardScanService).
258
- * Absent → a blueprint step still runs and commits its in-repo files, but the
259
- * board isn't auto-updated from it.
260
- */
261
- blueprintReconciler?: BlueprintReconciler;
262
- /**
263
- * Optional: when the initiatives module is wired, the `initiative-planner` step's
264
- * plan draft is ingested into the block's initiative entity through this, and the
265
- * `initiative-committer` step flips it to `executing` + mirrors the in-repo
266
- * tracker. Absent → the initiative steps fail loudly (an initiative pipeline is
267
- * meaningless without the module) while every other pipeline runs unchanged.
268
- */
269
- initiativeService?: InitiativeService;
270
- /**
271
- * Optional: the initiative store, wired into the agent-context builder so an
272
- * `initiative`-level run carries the interview + analysis context into the analyst/planner
273
- * prompts. Same repo the {@link initiativeService} wraps; absent → those steps run off the
274
- * raw block description.
275
- */
276
- initiativeRepository?: InitiativeRepository;
277
- /**
278
- * Optional: the inline interviewer for the interactive-planning gate (slice 2). When
279
- * wired, the `initiative-interviewer` step interviews the human (park/answer/resume) and
280
- * synthesizes the goal/constraints brief onto the entity before the analyst/planner run.
281
- * Absent (or no model) → the interviewer step passes through and planning runs off the
282
- * raw block description. Requires {@link initiativeService} to persist the interview state.
283
- */
284
- initiativeInterviewService?: InitiativeInterviewService;
285
- /**
286
- * Best-effort poke of the initiative execution loop (slice 3): called after a spawned task's
287
- * PR merges (`finalizeMerge`), so its owning initiative reconciles + advances immediately
288
- * rather than on the next cron sweep. Threaded through to the {@link RunStateMachine} for the
289
- * symmetric terminal-run poke. Fire-and-forget; a no-op when initiatives are unwired. The
290
- * optional `harvest` (slice 4) carries the settling run's follow-ups + failure cause.
291
- */
292
- pokeInitiativeLoop?: (workspaceId: string, initiativeBlockId: string, harvest?: InitiativeRunHarvest) => void;
293
- /**
294
- * Optional: raises human-actionable notifications (a PR needs a merge decision,
295
- * a no-merger pipeline finished, CI fixing gave up). Absent → those events still
296
- * transition the block but no notification surfaces (tests).
297
- */
298
- notificationService?: NotificationService;
299
- /**
300
- * Optional: resolves a workspace's runtime settings so {@link ExecutionService.start}
301
- * can enforce the per-service running-task limit. Absent → the limit is never enforced
302
- * (tests / unconfigured facades start runs unbounded).
303
- */
304
- workspaceSettingsService?: WorkspaceSettingsService;
305
- /**
306
- * Optional: performs the real GitHub merge when a task should become `done`.
307
- * Absent → `done` is a board-only flip (tests); when wired, `done` provably
308
- * means the PR was merged on the remote.
309
- */
310
- pullRequestMerger?: PullRequestMerger;
311
- /**
312
- * Optional: resolves a task's merge threshold preset (auto-merge ceilings + the
313
- * CI-fixer attempt budget). Absent → the built-in {@link DEFAULT_RISK_POLICY}.
314
- */
315
- riskPolicyRepository?: RiskPolicyRepository;
316
- /**
317
- * Optional: the {@link AppCaches.riskPolicy} slice — read-through for `resolveRiskPolicy`
318
- * so the slow-moving merge-preset row isn't re-fetched on every gate evaluation. Absent →
319
- * every resolve hits the repository (tests / no cache wired). Invalidated by
320
- * `RiskPolicyService` on every preset write.
321
- */
322
- riskPolicyCache?: GroupCacheHandle<RiskPolicyCacheValue>;
323
- /**
324
- * Optional: runs the gate-probe / merge GitHub reads under the run initiator's
325
- * ambient context, so a per-user PAT (when set) is preferred over the deployment's
326
- * App/env token (see `PatPreferringAppRegistry`). Absent → a pass-through
327
- * (`(_, fn) => fn()`), so tests/conformance run unchanged.
328
- */
329
- runInitiatorScope?: RunInitiatorScope;
330
- /**
331
- * Optional: files a GitHub issue / Jira ticket for the `tracker` step (the
332
- * tech-debt recurring pipeline). Absent → the `tracker` step passes through
333
- * without filing anything, so the engine works unchanged when no tracker is wired.
334
- */
335
- ticketTrackerProvider?: TicketTrackerProvider;
336
- /**
337
- * Optional: writes back to a task's linked tracker issue(s) as its PR progresses
338
- * (comment on PR open; comment + close as resolved on merge). Gated by the
339
- * workspace's writeback settings + the per-task override. Absent → no writeback,
340
- * so the engine works unchanged when no tracker writeback is wired.
341
- */
342
- issueWriteback?: IssueWritebackProvider;
343
- /**
344
- * Optional: the recurring `bug-intake` step's read-and-claim helper. When wired, a `bug-intake`
345
- * step pulls one matching open issue from the schedule's configured tracker board, claims it, and
346
- * seeds the reused block from it; absent (no task sources wired) → the step is a no-op that
347
- * completes the run without touching the block, so the engine works unchanged.
348
- */
349
- bugIntakeService?: BugIntakeService;
350
- /**
351
- * Optional: the LLM observability sink. When wired, each emit rolls the per-run
352
- * model-call aggregates onto the matching pipeline steps (`step.metrics`) so the
353
- * board shows tokens / output-limit headroom / transport-vs-execution latency
354
- * live. Absent (tests / unconfigured) → steps carry no `metrics`.
355
- */
356
- llmObservability?: LlmObservabilityService;
357
- /**
358
- * Optional: resolve a block's run repo (installation + repo + default branch) bound to
359
- * a checkout-free {@link RepoFiles} so a registered custom kind's pre/post-op hooks
360
- * read/commit a targeted subset of the repo WITHOUT a checkout. A facade composes it
361
- * from its wired `GitHubClient` + `resolveRepoTarget` (`makeResolveRunRepoContext`).
362
- * Absent (tests / GitHub not connected) → pre/post-ops are skipped.
363
- */
364
- resolveRunRepoContext?: ResolveRunRepoContext;
365
- /**
366
- * Optional: assert the workspace has a usable container-agent backend before a run
367
- * starts (local mode delegating agents to a runner pool that isn't registered throws a
368
- * clean {@link ConflictError} here). Absent → no start-time check (Cloudflare/Node have
369
- * a fixed backend; a missing local pool still fails loudly at dispatch).
370
- */
371
- assertAgentBackendConfigured?: (workspaceId: string) => Promise<void>;
372
- }
373
- /** Reconciles a Blueprinter step's tree onto the board in place (BoardScanService). */
374
- export interface BlueprintReconciler {
375
- reconcileBlueprint(workspaceId: string, frameId: string | null, service: BlueprintService): Promise<unknown>;
376
- }
11
+ import type { ExecutionServiceDependencies } from './ExecutionServiceDependencies.js';
12
+ export type { BlueprintReconciler, ExecutionServiceDependencies, } from './ExecutionServiceDependencies.js';
377
13
  /**
378
14
  * The effective risk/merge policy for one run, as {@link ExecutionService.resolveRiskPolicy}
379
15
  * resolves it (the block's selected preset, else the workspace default, else the built-in).
@@ -480,7 +116,7 @@ export declare class ExecutionService {
480
116
  * / `resolveGatePollExhaustion` + the follow-up human-action API are thin pass-throughs.
481
117
  */
482
118
  private readonly runDispatcher;
483
- constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, }: ExecutionServiceDependencies);
119
+ constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, prVerificationReportPublisher, workspaceSettingsRepository, appBaseUrl, logger, }: ExecutionServiceDependencies);
484
120
  /** Requirements-review window actions (run / incorporate / re-review / proceed / …). */
485
121
  get requirementsReview(): RequirementReviewActions;
486
122
  /** Clarity-review (bug-report triage) window actions. */
@@ -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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"}
@@ -7,7 +7,7 @@ import { assertFound, ConflictError, NotFoundError, RunContendedError, Validatio
7
7
  import { DEFAULT_RISK_POLICY } from '@cat-factory/kernel';
8
8
  import { REQUIREMENTS_REVIEW_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, REQUIREMENTS_BRAINSTORM_AGENT_KIND, ARCHITECTURE_BRAINSTORM_AGENT_KIND, isTesterKind, HUMAN_TEST_AGENT_KIND, VISUAL_CONFIRM_AGENT_KIND, HUMAN_REVIEW_AGENT_KIND, } from './ci.logic.js';
9
9
  import { DEFAULT_FOLLOW_UP_MAX_LOOPS, FOLLOW_UP_PRODUCER_KIND } from './followUp.logic.js';
10
- import { AgentContextBuilder, } from './AgentContextBuilder.js';
10
+ import { AgentContextBuilder } from './AgentContextBuilder.js';
11
11
  import { CompanionController } from './CompanionController.js';
12
12
  import { StepGraph } from './StepGraph.js';
13
13
  import { RunStateMachine } from './RunStateMachine.js';
@@ -32,7 +32,8 @@ import { isReentrantDecisionResume } from './reentrancy.logic.js';
32
32
  import { isAsyncAgentExecutor } from '@cat-factory/kernel';
33
33
  import { dependenciesMet, descendantIds, serviceOf } from '../board/board.logic.js';
34
34
  import { requireWorkspace } from '@cat-factory/kernel';
35
- import { carryForwardFailures, carryForwardOutputs, planResumedSteps, planRestartFromStep, } from './retry.logic.js';
35
+ import { buildResumedInstance, planResumedSteps, planRestartFromStep } from './retry.logic.js';
36
+ import { PrVerificationReportController } from './PrVerificationReportController.js';
36
37
  /**
37
38
  * The execution engine. It orchestrates a pipeline of agent-performed steps and
38
39
  * is fully deterministic: `advanceInstance` moves one run forward by exactly one
@@ -126,7 +127,7 @@ export class ExecutionService {
126
127
  * / `resolveGatePollExhaustion` + the follow-up human-action API are thin pass-throughs.
127
128
  */
128
129
  runDispatcher;
129
- constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, }) {
130
+ constructor({ workspaceRepository, blockRepository, pipelineRepository, executionRepository, accountRepository, idGenerator, clock, agentExecutor, workRunner, executionEventPublisher, boardService, spendService, documentRepository, documentUrlResolver, taskRepository, requirementReviewRepository, docInterviewRepository, requirementReviewService, docInterviewService, forkChatService, testerQualityReviewer, kaizenScheduler, clarityReviewRepository, clarityReviewService, brainstormServices, brainstormSessionRepository, fragmentResolver, skillResolver, environmentProvisioning, resolveTestSecretRefs, environmentTeardown, branchUpdater, blueprintReconciler, initiativeService, initiativeRepository, initiativeInterviewService, notificationService, resolveBinaryArtifactStore, workspaceSettingsService, llmObservability, pullRequestMerger, riskPolicyRepository, riskPolicyCache, ticketTrackerProvider, issueWriteback, bugIntakeService, subscriptionActivationRepository, resolveWorkspaceModelDefault, resolveProviderCapabilities, inlineHarnessRef, resolveRunRepoContext, assertAgentBackendConfigured, runInitiatorScope, pokeInitiativeLoop, agentKindRegistry, gateRegistry, stepResolverRegistry, providerRegistry, initiativePresetRegistry, prVerificationReportPublisher, workspaceSettingsRepository, appBaseUrl, logger, }) {
130
131
  // Forward-only: the run-initiator scope is consumed solely by RunDispatcher (below), so it
131
132
  // is hoisted to a local with its default applied rather than stored as a `this.` field.
132
133
  const runInitiatorScopeFn = runInitiatorScope ?? ((_initiatedBy, fn) => fn());
@@ -305,6 +306,18 @@ export class ExecutionService {
305
306
  this.initiativeInterviewController,
306
307
  this.docInterviewController,
307
308
  ].filter((c) => !!c),
309
+ // Keeps the run's verification report on its PR as each step settles (a hook, not a
310
+ // pipeline step — see docs/initiatives/pr-verification-report.md). A no-op when no
311
+ // publisher is wired, so no-VCS deployments and the engine tests are untouched.
312
+ prVerificationReport: new PrVerificationReportController({
313
+ blockRepository,
314
+ clock,
315
+ publisher: prVerificationReportPublisher,
316
+ taskRepository,
317
+ workspaceSettingsRepository,
318
+ appBaseUrl,
319
+ logger,
320
+ }),
308
321
  runInitiatorScope: runInitiatorScopeFn,
309
322
  environmentProvisioning,
310
323
  ticketTrackerProvider,
@@ -417,7 +430,7 @@ export class ExecutionService {
417
430
  }
418
431
  /** Start a pipeline against a block, replacing any prior run on it. */
419
432
  async start(workspaceId, blockId, pipelineId, options = {}) {
420
- const { initiatedBy, activate, origin = 'manual', gatesOverride } = options;
433
+ const { initiatedBy, activate, origin = 'manual', intakeOrigin, gatesOverride } = options;
421
434
  await this.requireWorkspace(workspaceId);
422
435
  const block = await this.requireBlock(workspaceId, blockId);
423
436
  const pipeline = assertFound(await this.pipelineRepository.get(workspaceId, pipelineId), 'Pipeline', pipelineId);
@@ -591,6 +604,9 @@ export class ExecutionService {
591
604
  currentStep: 0,
592
605
  status: 'running',
593
606
  initiatedBy: initiatedBy ?? null,
607
+ // Only a headless start carries an explicit intake origin; `ui` is the read-time
608
+ // default, so an ordinary board/schedule start stores nothing extra.
609
+ ...(intakeOrigin != null ? { intakeOrigin } : {}),
594
610
  createdAt: this.clock.now(),
595
611
  ...(frontendRun?.notes.length ? { notes: frontendRun.notes } : {}),
596
612
  ...(frontendRun?.bindings.length ? { frontendBindings: frontendRun.bindings } : {}),
@@ -1505,22 +1521,13 @@ export class ExecutionService {
1505
1521
  // atomic `insertLiveRunOrConflict` below replaces `previous` (via `replaceId`) and clears
1506
1522
  // any terminal rows in the SAME transaction, so a concurrent double-retry is serialised by
1507
1523
  // the live-run index (the loser gets a 409) instead of both deleting-then-inserting.
1508
- const instance = {
1524
+ const instance = buildResumedInstance({
1525
+ previous,
1509
1526
  id: newId,
1510
- blockId: previous.blockId,
1511
- pipelineId: previous.pipelineId,
1512
- pipelineName: previous.pipelineName,
1513
- steps,
1514
- currentStep,
1515
- status: 'running',
1516
- initiatedBy: initiatedBy ?? previous.initiatedBy ?? null,
1517
- // Preserve the error trail: the failure this retry is clearing is appended to the
1518
- // history so it stays viewable after the top banner disappears on restart.
1519
- failureHistory: carryForwardFailures(previous),
1520
- // A retry resumes at the first UNFINISHED step, so it discards no completed output —
1521
- // this just carries any prior restart's successful-output trail forward unchanged.
1522
- outputHistory: carryForwardOutputs(previous, currentStep, this.clock.now()),
1523
- };
1527
+ plan: { steps, currentStep },
1528
+ initiatedBy,
1529
+ now: this.clock.now(),
1530
+ });
1524
1531
  await this.insertLiveRunOrConflict(workspaceId, instance, replaceId);
1525
1532
  const done = steps.filter((s) => s.state === 'done').length;
1526
1533
  await this.blockRepository.update(workspaceId, previous.blockId, {
@@ -1595,23 +1602,13 @@ export class ExecutionService {
1595
1602
  // the torn-down source run (`replaceId`, which here may still be LIVE — running/paused/
1596
1603
  // blocked) and clears terminal rows in one transaction, so a concurrent start that already
1597
1604
  // created a NEW live run for the block loses (409) instead of being silently clobbered.
1598
- const instance = {
1605
+ const instance = buildResumedInstance({
1606
+ previous,
1599
1607
  id: newId,
1600
- blockId: previous.blockId,
1601
- pipelineId: previous.pipelineId,
1602
- pipelineName: previous.pipelineName,
1603
- steps,
1604
- currentStep,
1605
- status: 'running',
1606
- initiatedBy: initiatedBy ?? previous.initiatedBy ?? null,
1607
- // Preserve the error trail across a restart too (a failed run is a valid restart
1608
- // source), so the prior failure stays viewable once the run is running again.
1609
- failureHistory: carryForwardFailures(previous),
1610
- // A restart resets the chosen step + every later one, discarding their outputs — record
1611
- // the SUCCESSFUL ones so the step-detail execution history keeps what they produced, not
1612
- // only the errors. Attributed by step index and accumulated across successive restarts.
1613
- outputHistory: carryForwardOutputs(previous, currentStep, this.clock.now()),
1614
- };
1608
+ plan: { steps, currentStep },
1609
+ initiatedBy,
1610
+ now: this.clock.now(),
1611
+ });
1615
1612
  await this.insertLiveRunOrConflict(workspaceId, instance, replaceId);
1616
1613
  const done = steps.filter((s) => s.state === 'done').length;
1617
1614
  await this.blockRepository.update(workspaceId, previous.blockId, {