@cat-factory/orchestration 0.272.0 → 0.273.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.
@@ -1,6 +1,6 @@
1
1
  import type { Block, Clock, ConnectionTestResult, EnvironmentHandle, EnvironmentTestRun, ExecutionEventPublisher, IdGenerator, Logger, ResolveRunRepoContext, RunnerJobRef, RunnerJobView } from '@cat-factory/kernel';
2
2
  import type { BlockRepository, EnvironmentTestRunner, EnvironmentTestRunRepository, WorkspaceRepository } from '@cat-factory/kernel';
3
- import type { ProvisionArgs, ProvisionDispatch } from '@cat-factory/integrations';
3
+ import type { ProvisionArgs, ProvisionDispatch, SettledProvision } from '@cat-factory/integrations';
4
4
  /** The poll's terminal-ness, returned to the durable driver so it knows when to stop. */
5
5
  export interface EnvironmentTestPollResult {
6
6
  state: 'running' | 'done' | 'failed';
@@ -22,7 +22,7 @@ export interface EnvironmentTestProvisioning {
22
22
  testProvisioning(workspaceId: string, service: NonNullable<Block['provisioning']>, initiatedBy?: string | null): Promise<ConnectionTestResult | null>;
23
23
  startProvision(args: ProvisionArgs, ref: RunnerJobRef): Promise<ProvisionDispatch>;
24
24
  pollProvisionJob(workspaceId: string, ref: RunnerJobRef): Promise<RunnerJobView>;
25
- finalizeProvision(args: ProvisionArgs, view: RunnerJobView): Promise<EnvironmentHandle>;
25
+ finalizeProvision(args: ProvisionArgs, view: RunnerJobView): Promise<SettledProvision>;
26
26
  releaseProvisionJob(workspaceId: string, ref: RunnerJobRef): Promise<void>;
27
27
  /**
28
28
  * Re-poll a recorded environment's status via its provider (`provider.status`) and persist any
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentTestService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentTestService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"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"}
@@ -242,7 +242,7 @@ export class EnvironmentTestService {
242
242
  // the finalized record (externalId et al.) is what cleanup tears it down through.
243
243
  await this.deps.provisioning.releaseProvisionJob(record.workspaceId, this.ref(record.id));
244
244
  try {
245
- const handle = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
245
+ const { handle } = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
246
246
  record.environmentId = handle.id;
247
247
  await this.guardedUpdate(record, { environmentId: handle.id });
248
248
  }
@@ -253,7 +253,7 @@ export class EnvironmentTestService {
253
253
  }
254
254
  // Done: reclaim the deploy runner, finalize the env record, move to teardown.
255
255
  await this.deps.provisioning.releaseProvisionJob(record.workspaceId, this.ref(record.id));
256
- const handle = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
256
+ const { handle } = await this.deps.provisioning.finalizeProvision(this.provisionArgs(record, record.branch), view);
257
257
  if (handle.status === 'failed') {
258
258
  // Persist the finalized env id first so fail()'s cleanup tears it down.
259
259
  record.environmentId = handle.id;
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentTestService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentTestService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentTestService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import type { AgentExecutor, AgentJobUpdate, Block, Clock, ExecutionInstance, Logger, PipelineStep, ServiceProvisioning } from '@cat-factory/kernel';
2
+ import type { AdvanceResult } from './advance.js';
3
+ import type { AgentContextBuilder } from './AgentContextBuilder.js';
4
+ import type { NotificationService } from '../notifications/NotificationService.js';
5
+ import type { RunStateMachine } from './RunStateMachine.js';
6
+ /** The provisioning failure a round is dispatched against. */
7
+ export interface DeployFixFailure {
8
+ /** The service frame whose provision failed. */
9
+ frameId: string;
10
+ /** That frame's title, for the brief the fixer reads. */
11
+ frameTitle: string;
12
+ /** The provisioning config the failed attempt ran against, when the deployer pinned one. */
13
+ provisioning: ServiceProvisioning | undefined;
14
+ /** The verbatim provider error. */
15
+ error: string;
16
+ /**
17
+ * The machine-readable cause, off the thrown `DomainError`'s `details.reason`. Absent when the
18
+ * provider did not classify, which is NOT the same as a benign cause and is treated as
19
+ * not-fixable: "we could not tell what went wrong" is not evidence that an edit would help.
20
+ */
21
+ reason: string | undefined;
22
+ }
23
+ /** Collaborators the loop needs; the dispatcher binds them as it does for the deployer. */
24
+ export interface DeployFixControllerDeps {
25
+ agentExecutor: AgentExecutor;
26
+ contextBuilder: AgentContextBuilder;
27
+ runStateMachine: RunStateMachine;
28
+ clock: Clock;
29
+ /**
30
+ * Where the give-up card is raised. Optional for the reason every other controller's is: a
31
+ * deployment running without notifications must still fail its runs.
32
+ */
33
+ notificationService?: NotificationService;
34
+ logger?: Logger;
35
+ }
36
+ export declare class DeployFixController {
37
+ private readonly deps;
38
+ private readonly log;
39
+ constructor(deps: DeployFixControllerDeps);
40
+ /**
41
+ * Escalate a failed PRIMARY-frame provision to the `deploy-fixer`, parking the run on its job.
42
+ *
43
+ * Returns `null` when this failure must NOT be remediated, and the caller then takes its
44
+ * ordinary terminal-failure path unchanged. That is what keeps the whole feature a pass-through
45
+ * wherever it cannot apply:
46
+ *
47
+ * - the cause is not repo-fixable, or was never classified (the common case, and the point);
48
+ * - the step's author disabled the loop or set its budget to zero;
49
+ * - the budget is spent (the replay guard);
50
+ * - there is no async executor to dispatch a container with;
51
+ * - the dispatch failed, most often because the run has no pull request yet, which the
52
+ * `deploy-fixer`'s `requirePr` clone refuses. A deployer running before any PR exists has no
53
+ * branch for a fix to land on, and inventing one would push deployment edits onto base.
54
+ *
55
+ * A dispatch failure is deliberately not reported in place of the deploy error: it is a fact
56
+ * about the REMEDIATION, where the run's actual problem is still the provision that broke.
57
+ */
58
+ escalate(args: {
59
+ workspaceId: string;
60
+ instance: ExecutionInstance;
61
+ step: PipelineStep;
62
+ block: Block;
63
+ isFinalStep: boolean;
64
+ failure: DeployFixFailure;
65
+ }): Promise<AdvanceResult | null>;
66
+ /**
67
+ * The give-up card, raised when the loop has spent its budget and the environment is still not
68
+ * up. The run then takes its ordinary terminal-failure path, so this is the `ci_failed` shape
69
+ * exactly: the machine says it stopped trying, and acting on the card retries the run.
70
+ *
71
+ * It does NOT park the run for a human to confirm anything. An earlier cut did, on the theory
72
+ * that exhaustion meant external blockers somebody had to clear first, but classification
73
+ * upstream is what handles those now: a cause outside the repository never enters this loop at
74
+ * all. What is left when the budget runs out is two failed attempts at a genuinely invalid
75
+ * manifest, which is a plain failure to report and not a decision to ask for.
76
+ *
77
+ * Best-effort, because the run's actual problem is the provision that broke. A notification
78
+ * backend that is down must not turn a reportable deployment failure into an unhandled throw
79
+ * out of the deployer's own failure path.
80
+ */
81
+ private raiseDeployBlocked;
82
+ /**
83
+ * Settle a finished `deploy-fixer` job. Called from the job-poll path INSTEAD of recording a
84
+ * step result: the fixer's job is not the deployer step's own work, exactly as a gate helper's
85
+ * is not the gate's. Returns `null` when no fixer is in flight, so the caller falls through.
86
+ *
87
+ * Every settled round takes the same path, whether the container finished or died: clear the
88
+ * frame's recorded failure and let the driver re-enter the deployer, which finds the frame
89
+ * un-settled and provisions it again. The round is recorded either way, and the provision is
90
+ * what decides. A job that died without pushing simply leaves the same failure to be re-classified
91
+ * on the next pass, which spends the next round rather than inventing a verdict about it.
92
+ */
93
+ resolveFixerCompletion(args: {
94
+ workspaceId: string;
95
+ instance: ExecutionInstance;
96
+ step: PipelineStep;
97
+ update: Extract<AgentJobUpdate, {
98
+ state: 'done';
99
+ } | {
100
+ state: 'failed';
101
+ }>;
102
+ }): Promise<AdvanceResult | null>;
103
+ }
104
+ /**
105
+ * The attempt budget for this step: the author's per-step override, else the shipped default.
106
+ * `enabled: false` is expressed as a zero budget so the disabled case and the deliberately
107
+ * zero-rounds case take one path, there being no difference between them.
108
+ */
109
+ export declare function resolveDeployFixBudget(step: Pick<PipelineStep, 'stepOptions'>): number;
110
+ /**
111
+ * The failure brief the fixer reads. It names the frame and the declared provisioning shape
112
+ * alongside the error, because the error alone says what the platform rejected and not where the
113
+ * files that produced it live: a `kubernetes` frame rendering `deploy/k8s` and a `docker-compose`
114
+ * frame send the agent to different parts of the repository.
115
+ */
116
+ export declare function describeDeployFailure(failure: DeployFixFailure): string;
117
+ //# sourceMappingURL=DeployFixController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployFixController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DeployFixController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEd,KAAK,EACL,KAAK,EAEL,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAoC3D,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAC7C,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,mBAAmB,CAAA;IACnC,eAAe,EAAE,eAAe,CAAA;IAChC,KAAK,EAAE,KAAK,CAAA;IACZ;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAUD,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,uBAAuB,EAEzD;IAED;;;;;;;;;;;;;;;;;OAiBG;IACG,QAAQ,CAAC,IAAI,EAAE;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,iBAAiB,CAAA;QAC3B,IAAI,EAAE,YAAY,CAAA;QAClB,KAAK,EAAE,KAAK,CAAA;QACZ,WAAW,EAAE,OAAO,CAAA;QACpB,OAAO,EAAE,gBAAgB,CAAA;KAC1B,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAuEhC;IAED;;;;;;;;;;;;;;OAcG;YACW,kBAAkB;IAmChC;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,IAAI,EAAE;QACjC,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,iBAAiB,CAAA;QAC3B,IAAI,EAAE,YAAY,CAAA;QAClB,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,QAAQ,CAAA;SAAE,CAAC,CAAA;KACzE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA0ChC;CACF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,CAItF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAUvE"}
@@ -0,0 +1,254 @@
1
+ import { isAsyncAgentExecutor, noopLogger, runBestEffort } from '@cat-factory/kernel';
2
+ import { DEFAULT_DEPLOY_FIX_MAX_ATTEMPTS, DEPLOY_FIXER_AGENT_KIND, isRepoFixableEnvironmentFailure, } from '@cat-factory/contracts';
3
+ import { DEPLOY_FAILURE_PRIOR_KIND } from '@cat-factory/agents';
4
+ import { recordDispatchAttribution } from './step-fold.logic.js';
5
+ /**
6
+ * How much of a provider error is quoted into the fixer's brief. A Kubernetes rejection carries a
7
+ * full `Status` object and a compose failure its whole log tail, either of which can run to tens of
8
+ * kilobytes of the same repeated cause. The head names the object and field at fault, which is what
9
+ * the fixer works from.
10
+ */
11
+ const ERROR_BRIEF_CAP = 4000;
12
+ export class DeployFixController {
13
+ deps;
14
+ log;
15
+ constructor(deps) {
16
+ this.deps = deps;
17
+ this.log = (deps.logger ?? noopLogger).child({ scope: 'deployFix' });
18
+ }
19
+ /**
20
+ * Escalate a failed PRIMARY-frame provision to the `deploy-fixer`, parking the run on its job.
21
+ *
22
+ * Returns `null` when this failure must NOT be remediated, and the caller then takes its
23
+ * ordinary terminal-failure path unchanged. That is what keeps the whole feature a pass-through
24
+ * wherever it cannot apply:
25
+ *
26
+ * - the cause is not repo-fixable, or was never classified (the common case, and the point);
27
+ * - the step's author disabled the loop or set its budget to zero;
28
+ * - the budget is spent (the replay guard);
29
+ * - there is no async executor to dispatch a container with;
30
+ * - the dispatch failed, most often because the run has no pull request yet, which the
31
+ * `deploy-fixer`'s `requirePr` clone refuses. A deployer running before any PR exists has no
32
+ * branch for a fix to land on, and inventing one would push deployment edits onto base.
33
+ *
34
+ * A dispatch failure is deliberately not reported in place of the deploy error: it is a fact
35
+ * about the REMEDIATION, where the run's actual problem is still the provision that broke.
36
+ */
37
+ async escalate(args) {
38
+ const { workspaceId, instance, step, block, isFinalStep, failure } = args;
39
+ // The precondition, checked FIRST and before anything is spent. See the module header.
40
+ if (!isRepoFixableEnvironmentFailure(failure.reason))
41
+ return null;
42
+ const budget = resolveDeployFixBudget(step);
43
+ if (budget <= 0)
44
+ return null;
45
+ const attempts = step.deployFix?.attempts ?? 0;
46
+ // The bar is the one FROZEN at the first escalation wherever there is one, never the freshly
47
+ // resolved budget: editing the pipeline mid-run must not move the bar the rounds already
48
+ // spent were counted against, the same rule an approval's quorum follows.
49
+ const bar = step.deployFix?.maxAttempts ?? budget;
50
+ if (attempts >= bar) {
51
+ // The ONE `null` that means the loop ran and gave up, rather than never applying — which is
52
+ // why the card is raised here and at none of the other five. Reachable only with a round
53
+ // already spent: a step with no `deployFix` has `attempts` 0 against a bar of at least 1.
54
+ await this.raiseDeployBlocked({ workspaceId, instance, block, attempts, failure });
55
+ return null;
56
+ }
57
+ const executor = this.deps.agentExecutor;
58
+ if (!isAsyncAgentExecutor(executor))
59
+ return null;
60
+ let handle;
61
+ try {
62
+ const base = await this.deps.contextBuilder.buildContext(workspaceId, instance, step, isFinalStep, block, { agentKind: DEPLOY_FIXER_AGENT_KIND });
63
+ const context = {
64
+ ...base,
65
+ agentKind: DEPLOY_FIXER_AGENT_KIND,
66
+ // The brief rides `priorOutputs` tagged as the deployer's, which is whose output it is;
67
+ // the fixer's own prompt lifts it back out and leads with it.
68
+ priorOutputs: [
69
+ ...base.priorOutputs,
70
+ { agentKind: DEPLOY_FAILURE_PRIOR_KIND, output: describeDeployFailure(failure) },
71
+ ],
72
+ };
73
+ handle = await executor.startJob(context);
74
+ }
75
+ catch (error) {
76
+ await runBestEffort(this.log, 'deployFix.dispatch', () => Promise.reject(error), {
77
+ workspaceId,
78
+ executionId: instance.id,
79
+ blockId: block.id,
80
+ frameId: failure.frameId,
81
+ });
82
+ return null;
83
+ }
84
+ step.jobId = handle.jobId;
85
+ // Provisioning settles on the durable poll path, which rebuilds the handle from the STEP
86
+ // alone, so the resolved model, the leased subscription token and the initiating user have to
87
+ // be persisted here or attribution lands as "unknown" in production.
88
+ recordDispatchAttribution(step, handle, DEPLOY_FIXER_AGENT_KIND);
89
+ step.container = { status: 'up' };
90
+ step.deployFix = {
91
+ ...step.deployFix,
92
+ phase: 'fixing',
93
+ attempts: attempts + 1,
94
+ // Frozen at the FIRST escalation, so editing the pipeline mid-run cannot move the bar the
95
+ // rounds already spent were counted against (as an approval's quorum is frozen at raise).
96
+ maxAttempts: step.deployFix?.maxAttempts ?? budget,
97
+ frameId: failure.frameId,
98
+ reason: failure.reason,
99
+ lastError: failure.error,
100
+ };
101
+ await this.deps.runStateMachine.persistAndEmit(workspaceId, instance);
102
+ return { kind: 'awaiting_job', jobId: step.jobId, stepIndex: instance.currentStep };
103
+ }
104
+ /**
105
+ * The give-up card, raised when the loop has spent its budget and the environment is still not
106
+ * up. The run then takes its ordinary terminal-failure path, so this is the `ci_failed` shape
107
+ * exactly: the machine says it stopped trying, and acting on the card retries the run.
108
+ *
109
+ * It does NOT park the run for a human to confirm anything. An earlier cut did, on the theory
110
+ * that exhaustion meant external blockers somebody had to clear first, but classification
111
+ * upstream is what handles those now: a cause outside the repository never enters this loop at
112
+ * all. What is left when the budget runs out is two failed attempts at a genuinely invalid
113
+ * manifest, which is a plain failure to report and not a decision to ask for.
114
+ *
115
+ * Best-effort, because the run's actual problem is the provision that broke. A notification
116
+ * backend that is down must not turn a reportable deployment failure into an unhandled throw
117
+ * out of the deployer's own failure path.
118
+ */
119
+ async raiseDeployBlocked(args) {
120
+ const { workspaceId, instance, block, attempts, failure } = args;
121
+ const service = this.deps.notificationService;
122
+ if (!service)
123
+ return;
124
+ await runBestEffort(this.log, 'deployFix.notify', () => service.raise(workspaceId, {
125
+ type: 'deploy_blocked',
126
+ blockId: block.id,
127
+ executionId: instance.id,
128
+ title: `Deployment of "${failure.frameTitle}" is still failing for "${block.title}"`,
129
+ body: [
130
+ `The deploy-fixer agent tried ${attempts} time(s) and the environment still could not ` +
131
+ 'be stood up. The deployment files it edited are on the pull-request branch. Take a ' +
132
+ 'look and retry the run once fixed.',
133
+ '',
134
+ capError(failure.error),
135
+ ].join('\n'),
136
+ payload: {
137
+ ...(block.pullRequest?.url ? { prUrl: block.pullRequest.url } : {}),
138
+ pipelineName: instance.pipelineName,
139
+ },
140
+ }), { workspaceId, executionId: instance.id, blockId: block.id, frameId: failure.frameId });
141
+ }
142
+ /**
143
+ * Settle a finished `deploy-fixer` job. Called from the job-poll path INSTEAD of recording a
144
+ * step result: the fixer's job is not the deployer step's own work, exactly as a gate helper's
145
+ * is not the gate's. Returns `null` when no fixer is in flight, so the caller falls through.
146
+ *
147
+ * Every settled round takes the same path, whether the container finished or died: clear the
148
+ * frame's recorded failure and let the driver re-enter the deployer, which finds the frame
149
+ * un-settled and provisions it again. The round is recorded either way, and the provision is
150
+ * what decides. A job that died without pushing simply leaves the same failure to be re-classified
151
+ * on the next pass, which spends the next round rather than inventing a verdict about it.
152
+ */
153
+ async resolveFixerCompletion(args) {
154
+ const { workspaceId, instance, step, update } = args;
155
+ const fix = step.deployFix;
156
+ if (fix?.phase !== 'fixing')
157
+ return null;
158
+ const attempt = {
159
+ attempt: fix.attempts,
160
+ at: this.deps.clock.now(),
161
+ outcome: update.state === 'done' ? 'completed' : 'failed',
162
+ reason: fix.reason,
163
+ error: fix.lastError,
164
+ summary: update.state === 'done'
165
+ ? (update.result.output ?? null)
166
+ : (update.error ?? 'The deploy-fixer job failed without finishing.'),
167
+ };
168
+ step.deployFix = {
169
+ ...fix,
170
+ phase: 'retrying',
171
+ attemptLog: [...(fix.attemptLog ?? []), attempt],
172
+ };
173
+ // Drop the handle so a replay re-attaches to nothing and the deployer's own re-entry is not
174
+ // mistaken for a re-attach. The container RECORD is left as the deploy path maintains it: the
175
+ // deployer stamps it afresh at the next dispatch.
176
+ step.jobId = undefined;
177
+ step.subtasks = undefined;
178
+ // Clearing this frame's TERMINAL outcome is what makes the re-provision happen: the fan-out
179
+ // resumes at the first frame with none recorded, so the deployer needs no knowledge of this
180
+ // loop to do the right thing on re-entry.
181
+ if (step.deployEnvs) {
182
+ const { [fix.frameId]: _cleared, ...rest } = step.deployEnvs;
183
+ step.deployEnvs = rest;
184
+ }
185
+ // The deployer pins the config its container was built from at dispatch; a retry must resolve
186
+ // the frame fresh, since the fixer may well have changed what it declares.
187
+ step.deployProvisioning = undefined;
188
+ step.deployFrameId = undefined;
189
+ await this.deps.runStateMachine.persistAndEmit(workspaceId, instance, {
190
+ blockStatus: 'in_progress',
191
+ });
192
+ return { kind: 'continue' };
193
+ }
194
+ }
195
+ /**
196
+ * The attempt budget for this step: the author's per-step override, else the shipped default.
197
+ * `enabled: false` is expressed as a zero budget so the disabled case and the deliberately
198
+ * zero-rounds case take one path, there being no difference between them.
199
+ */
200
+ export function resolveDeployFixBudget(step) {
201
+ const config = step.stepOptions?.deployFix;
202
+ if (config?.enabled === false)
203
+ return 0;
204
+ return config?.maxAttempts ?? DEFAULT_DEPLOY_FIX_MAX_ATTEMPTS;
205
+ }
206
+ /**
207
+ * The failure brief the fixer reads. It names the frame and the declared provisioning shape
208
+ * alongside the error, because the error alone says what the platform rejected and not where the
209
+ * files that produced it live: a `kubernetes` frame rendering `deploy/k8s` and a `docker-compose`
210
+ * frame send the agent to different parts of the repository.
211
+ */
212
+ export function describeDeployFailure(failure) {
213
+ return [
214
+ `Deployment of service '${failure.frameTitle}' failed.`,
215
+ failure.provisioning
216
+ ? `Declared provisioning: ${describeProvisioning(failure.provisioning)}`
217
+ : 'Declared provisioning: none recorded for this frame.',
218
+ '',
219
+ 'The provisioning platform reported:',
220
+ capError(failure.error),
221
+ ].join('\n');
222
+ }
223
+ /**
224
+ * The provisioning config in one line: its type plus where the files it renders live.
225
+ *
226
+ * A `separate` manifest source is named as a different repository EXPLICITLY, because that is the
227
+ * one case where the fixer's checkout does not contain the thing at fault. Left implicit, an agent
228
+ * handed a manifest error looks for the manifests in the repo it is standing in, fails to find
229
+ * them, and either concludes the wrong thing or starts writing new ones.
230
+ */
231
+ function describeProvisioning(provisioning) {
232
+ const source = provisioning.manifestSource;
233
+ const compose = provisioning.composePath;
234
+ if (!source) {
235
+ return compose ? `${provisioning.type}, compose file '${compose}'` : provisioning.type;
236
+ }
237
+ const where = source.type === 'colocated'
238
+ ? `in-repo path '${source.path}'`
239
+ : `the SEPARATE repository '${source.repo}' at path '${source.path}'${source.ref ? ` (ref ${source.ref})` : ''}, which is NOT the repository you have checked out`;
240
+ const renderer = source.renderer ? `, rendered with ${source.renderer}` : '';
241
+ return `${provisioning.type}, manifests from ${where}${renderer}`;
242
+ }
243
+ /**
244
+ * The error, capped. It states the drop explicitly rather than trailing off, so a reader cannot
245
+ * mistake a truncated error for one that genuinely ended there and conclude the tail was never
246
+ * produced.
247
+ */
248
+ function capError(error) {
249
+ if (error.length <= ERROR_BRIEF_CAP)
250
+ return error;
251
+ const dropped = error.length - ERROR_BRIEF_CAP;
252
+ return `${error.slice(0, ERROR_BRIEF_CAP)}\n[…${dropped} more characters of this error were not included]`;
253
+ }
254
+ //# sourceMappingURL=DeployFixController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployFixController.js","sourceRoot":"","sources":["../../../src/modules/execution/DeployFixController.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentRunResult, Block, BlockRepository, ExecutionInstance, Logger, PipelineStep, ProvisionContext } from '@cat-factory/kernel';
2
2
  import type { EnvironmentProvisioningService } from '@cat-factory/integrations';
3
3
  import { type ContainerFailureView } from './job.logic.js';
4
+ import type { DeployFixController } from './DeployFixController.js';
4
5
  import type { AgentContextBuilder } from './AgentContextBuilder.js';
5
6
  import type { RunStateMachine } from './RunStateMachine.js';
6
7
  import type { AdvanceResult } from './advance.js';
@@ -25,6 +26,11 @@ export interface DeployerStepControllerDeps {
25
26
  }) => boolean;
26
27
  applySubtaskProgress: (step: PipelineStep, counts: PipelineStep['subtasks']) => boolean;
27
28
  recoverContainerEviction: (workspaceId: string, instance: ExecutionInstance, step: PipelineStep, failure: ContainerFailureView, onBeforeRedispatch?: () => Promise<void>) => Promise<AdvanceResult | null>;
29
+ /**
30
+ * The remediation loop a failed PRIMARY-frame provision is offered to before it is reported as
31
+ * terminal. Absent means every provisioning failure is terminal exactly as before.
32
+ */
33
+ deployFix?: DeployFixController;
28
34
  /**
29
35
  * Where the two provisioning-lease releases below report a failure. Both are best-effort by
30
36
  * design, so without this a leaked lease (billed-but-useless compute, or a permanently held
@@ -50,6 +56,7 @@ export declare class DeployerStepController {
50
56
  private readonly applyContainerRunning;
51
57
  private readonly applySubtaskProgress;
52
58
  private readonly recoverContainerEviction;
59
+ private readonly deployFix?;
53
60
  private readonly log;
54
61
  constructor(deps: DeployerStepControllerDeps);
55
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DeployerStepController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DeployerStepController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeployerStepController.d.ts","sourceRoot":"","sources":["../../../src/modules/execution/DeployerStepController.ts"],"names":[],"mappings":"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"}