codex-orchestrator 2.0.7 → 2.0.8
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.
- package/CHANGELOG.md +12 -0
- package/README.md +4 -3
- package/dist/src/v2/issue-check-policy.d.ts +17 -0
- package/dist/src/v2/issue-check-policy.d.ts.map +1 -0
- package/dist/src/v2/issue-check-policy.js +133 -0
- package/dist/src/v2/issue-check-policy.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +1 -0
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +35 -13
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +5 -0
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +70 -11
- package/dist/src/v2/runtime.js.map +1 -1
- package/docs/deep-dive.md +6 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,18 @@ The format is based on Keep a Changelog, and this project follows SemVer.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.0.8] - 2026-07-29
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Direct runs now resolve bounded verification commands from the frozen issue's
|
|
13
|
+
command-only `Verification` section instead of forcing repository-wide checks.
|
|
14
|
+
Scoped npm checks execute without a shell, while repositories without scoped
|
|
15
|
+
verification retain their configured fallback policy.
|
|
16
|
+
- Check launch failures and proven-quiescent timeouts resume the same durable run
|
|
17
|
+
without consuming an implementation cycle. Timeout and cancellation retain
|
|
18
|
+
ownership until the complete process group is absent; uncertain quiescence
|
|
19
|
+
fails closed as a non-resumable safety block.
|
|
20
|
+
|
|
9
21
|
## [2.0.7] - 2026-07-28
|
|
10
22
|
|
|
11
23
|
### Changed
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ The package is designed for unattended local execution without giving the Codex
|
|
|
8
8
|
|
|
9
9
|
Add the configured `agent:auto` label to an open issue, then run the orchestrator. It will choose one of three routes:
|
|
10
10
|
|
|
11
|
-
- **Direct delivery:** the issue is clear enough to implement. Codex changes the code, an independent review checks it,
|
|
11
|
+
- **Direct delivery:** the issue is clear enough to implement. Codex changes the code, an independent review checks it, issue-scoped verification checks run, Acceptance Proof verifies the acceptance criteria, and the Runner creates a draft PR.
|
|
12
12
|
- **Specification first:** the issue is too complex for safe direct implementation. Separate Codex workers author and independently review a deterministic implementation specification; the Runner freezes the approved revision and returns `spec-frozen`. Implementation is intentionally a separate follow-up run or workflow.
|
|
13
13
|
- **Human decision required:** the repository does not contain enough authority to choose between materially different product outcomes. The package posts one precise question, applies `agent:waiting-human`, and resumes the same run after an authorized repository writer answers with the requested prefix.
|
|
14
14
|
|
|
@@ -135,7 +135,7 @@ non-empty `CHANGES_REQUESTED` review from a current repository writer or admin,
|
|
|
135
135
|
the Runner freezes that exact feedback batch and resumes the existing run.
|
|
136
136
|
|
|
137
137
|
The repair uses the existing implementation and affected Closure flow, then
|
|
138
|
-
reruns
|
|
138
|
+
reruns the run's resolved check policy and Acceptance Proof against the repaired content. It
|
|
139
139
|
has a separate maximum of three feedback rounds and does not consume the
|
|
140
140
|
original five implementation cycles. Publication appends one fast-forward
|
|
141
141
|
commit to the existing branch and PR; divergence blocks without reset, rebase,
|
|
@@ -180,7 +180,8 @@ All outcomes include structured evidence or a path to local evidence. Quiet term
|
|
|
180
180
|
|
|
181
181
|
- `github.baseBranch` and `github.labels`: where completed branches target and which labels control the workflow.
|
|
182
182
|
- `runner.pollIntervalSeconds`: daemon polling interval.
|
|
183
|
-
- `checks`: finite
|
|
183
|
+
- `checks`: finite fallback commands for issues without a command-only
|
|
184
|
+
`Verification:` section. The Runner snapshots the resolved policy on the clean
|
|
184
185
|
base and reruns them after implementation; only a new or changed failure is
|
|
185
186
|
task-owned rework, while a byte-identical base failure is retained as an
|
|
186
187
|
explicit `unchanged-failure` warning.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class InvalidIssueCheckPolicyError extends Error {
|
|
2
|
+
}
|
|
3
|
+
export declare class CheckProcessQuiescenceError extends Error {
|
|
4
|
+
readonly processGroupId: number;
|
|
5
|
+
constructor(processGroupId: number);
|
|
6
|
+
}
|
|
7
|
+
export interface IssueCheckInvocation {
|
|
8
|
+
file: 'npm';
|
|
9
|
+
args: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface ResolvedIssueCheckPolicy {
|
|
12
|
+
source: 'issue' | 'configured';
|
|
13
|
+
checks: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export declare function resolveIssueCheckPolicy(issueBody: string, configuredFallback: Record<string, string>): ResolvedIssueCheckPolicy;
|
|
16
|
+
export declare function parseIssueCheckInvocation(command: string): IssueCheckInvocation;
|
|
17
|
+
//# sourceMappingURL=issue-check-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-check-policy.d.ts","sourceRoot":"","sources":["../../../src/v2/issue-check-policy.ts"],"names":[],"mappings":"AAKA,qBAAa,4BAA6B,SAAQ,KAAK;CAAG;AAE1D,qBAAa,2BAA4B,SAAQ,KAAK;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAG5C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,wBAAwB,CAW1B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAsB/E"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { posix } from 'node:path';
|
|
2
|
+
const MAX_ISSUE_CHECKS = 32;
|
|
3
|
+
const ISSUE_CHECK_ID_PREFIX = 'issue-verification-';
|
|
4
|
+
export class InvalidIssueCheckPolicyError extends Error {
|
|
5
|
+
}
|
|
6
|
+
export class CheckProcessQuiescenceError extends Error {
|
|
7
|
+
processGroupId;
|
|
8
|
+
constructor(processGroupId) {
|
|
9
|
+
super(`Check process group ${processGroupId} remained alive after termination.`);
|
|
10
|
+
this.processGroupId = processGroupId;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export function resolveIssueCheckPolicy(issueBody, configuredFallback) {
|
|
14
|
+
const section = findVerificationSection(issueBody);
|
|
15
|
+
if (!section)
|
|
16
|
+
return { source: 'configured', checks: configuredFallback };
|
|
17
|
+
const commands = parseVerificationCommands(section);
|
|
18
|
+
return {
|
|
19
|
+
source: 'issue',
|
|
20
|
+
checks: Object.fromEntries(commands.map((command, index) => [
|
|
21
|
+
`${ISSUE_CHECK_ID_PREFIX}${String(index + 1).padStart(3, '0')}`,
|
|
22
|
+
command,
|
|
23
|
+
])),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function parseIssueCheckInvocation(command) {
|
|
27
|
+
if (command.length === 0 || /[;&|<>`'"\\$\r\n]/u.test(command))
|
|
28
|
+
invalid('contains unsupported shell syntax');
|
|
29
|
+
const tokens = command.split(/\s+/u);
|
|
30
|
+
if (tokens.some((token) => !/^[A-Za-z0-9_./:@%+=[\],-]+$/u.test(token)))
|
|
31
|
+
invalid('contains an unsupported token');
|
|
32
|
+
if (tokens.shift() !== 'npm')
|
|
33
|
+
invalid('must invoke npm');
|
|
34
|
+
const args = [];
|
|
35
|
+
if (tokens[0] === '--prefix') {
|
|
36
|
+
args.push(tokens.shift());
|
|
37
|
+
const prefix = tokens.shift();
|
|
38
|
+
if (!prefix || !isRepositoryRelativePath(prefix))
|
|
39
|
+
invalid('has an invalid npm prefix');
|
|
40
|
+
args.push(prefix);
|
|
41
|
+
}
|
|
42
|
+
const operation = tokens.shift();
|
|
43
|
+
if (operation === 'test')
|
|
44
|
+
args.push(operation);
|
|
45
|
+
else if (operation === 'run') {
|
|
46
|
+
const script = tokens.shift();
|
|
47
|
+
if (!script || script.startsWith('-'))
|
|
48
|
+
invalid('must name an npm script');
|
|
49
|
+
args.push(operation, script);
|
|
50
|
+
}
|
|
51
|
+
else
|
|
52
|
+
invalid('must use npm test or npm run');
|
|
53
|
+
args.push(...tokens);
|
|
54
|
+
return { file: 'npm', args };
|
|
55
|
+
}
|
|
56
|
+
function findVerificationSection(issueBody) {
|
|
57
|
+
const lines = issueBody.split(/\r?\n/u);
|
|
58
|
+
const headings = [];
|
|
59
|
+
let fence;
|
|
60
|
+
let inComment = false;
|
|
61
|
+
for (const [index, line] of lines.entries()) {
|
|
62
|
+
const trimmed = line.trim();
|
|
63
|
+
if (inComment) {
|
|
64
|
+
if (trimmed.includes('-->'))
|
|
65
|
+
inComment = false;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (trimmed.startsWith('<!--')) {
|
|
69
|
+
if (!trimmed.includes('-->'))
|
|
70
|
+
inComment = true;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const fenceMatch = trimmed.match(/^(`{3,}|~{3,})/u);
|
|
74
|
+
if (fenceMatch) {
|
|
75
|
+
const marker = fenceMatch[1];
|
|
76
|
+
if (!fence)
|
|
77
|
+
fence = { delimiter: marker[0], length: marker.length };
|
|
78
|
+
else if (marker[0] === fence.delimiter && marker.length >= fence.length)
|
|
79
|
+
fence = undefined;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
if (fence || /^>/u.test(trimmed))
|
|
83
|
+
continue;
|
|
84
|
+
if (/^(?:#{1,6}\s+)?verification:?\s*$/iu.test(trimmed))
|
|
85
|
+
headings.push(index);
|
|
86
|
+
}
|
|
87
|
+
if (headings.length === 0)
|
|
88
|
+
return undefined;
|
|
89
|
+
if (headings.length !== 1)
|
|
90
|
+
invalid('contains multiple Verification sections');
|
|
91
|
+
const section = [];
|
|
92
|
+
for (const line of lines.slice(headings[0] + 1)) {
|
|
93
|
+
const trimmed = line.trim();
|
|
94
|
+
if (/^#{1,6}\s+/u.test(trimmed) || /^[A-Za-z][A-Za-z0-9 _-]*:\s*$/u.test(trimmed))
|
|
95
|
+
break;
|
|
96
|
+
if (trimmed.length > 0)
|
|
97
|
+
section.push(trimmed);
|
|
98
|
+
}
|
|
99
|
+
return section;
|
|
100
|
+
}
|
|
101
|
+
function parseVerificationCommands(lines) {
|
|
102
|
+
if (lines.length === 0)
|
|
103
|
+
invalid('has no commands');
|
|
104
|
+
const commands = [];
|
|
105
|
+
for (const line of lines) {
|
|
106
|
+
const match = line.match(/^[-*]\s+(.+?)\s*$/u);
|
|
107
|
+
if (!match)
|
|
108
|
+
invalid('must contain only command bullets');
|
|
109
|
+
const command = unwrapInlineCode(match[1].trim());
|
|
110
|
+
parseIssueCheckInvocation(command);
|
|
111
|
+
if (commands.includes(command))
|
|
112
|
+
invalid('contains duplicate commands');
|
|
113
|
+
commands.push(command);
|
|
114
|
+
if (commands.length > MAX_ISSUE_CHECKS)
|
|
115
|
+
invalid('exceeds 32 commands');
|
|
116
|
+
}
|
|
117
|
+
return commands;
|
|
118
|
+
}
|
|
119
|
+
function unwrapInlineCode(value) {
|
|
120
|
+
if (!value.startsWith('`') && !value.endsWith('`'))
|
|
121
|
+
return value;
|
|
122
|
+
if (!(value.startsWith('`') && value.endsWith('`')) || value.length <= 2 || value.slice(1, -1).includes('`')) {
|
|
123
|
+
invalid('has malformed inline code');
|
|
124
|
+
}
|
|
125
|
+
return value.slice(1, -1).trim();
|
|
126
|
+
}
|
|
127
|
+
function isRepositoryRelativePath(value) {
|
|
128
|
+
return value === posix.normalize(value) && value !== '.' && !value.startsWith('/') && !value.startsWith('../');
|
|
129
|
+
}
|
|
130
|
+
function invalid(reason) {
|
|
131
|
+
throw new InvalidIssueCheckPolicyError(`Issue Verification ${reason}.`);
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=issue-check-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-check-policy.js","sourceRoot":"","sources":["../../../src/v2/issue-check-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../../src/v2/run-issue.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAEjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAkBzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAuD,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../../src/v2/run-issue.ts"],"names":[],"mappings":"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"}
|
package/dist/src/v2/run-issue.js
CHANGED
|
@@ -5,6 +5,7 @@ import { canonicalJson, sha256 } from './containment.js';
|
|
|
5
5
|
import { validateImplementationReport } from './implementation-report.js';
|
|
6
6
|
import { acceptApprovedDirectReview, acceptNeedsWorkDirectReview, beginDirectReviewRepair, canRecoverTerminalDirectReviewReport, createInitialDirectReview, directReviewClosureRequestSha256, directReviewTargetFingerprint, launchDirectReviewInvocation, MAX_DIRECT_REVIEW_REPORT_REPAIRS, prepareDirectReviewClosure, prepareDirectReviewInvocation, projectTerminalDirectReview, recoverTerminalDirectReviewReport, } from './direct-delivery.js';
|
|
7
7
|
import { ProofLaunchAuthorizationError, ProofQuiescenceError } from './acceptance-proof.js';
|
|
8
|
+
import { CheckProcessQuiescenceError, resolveIssueCheckPolicy } from './issue-check-policy.js';
|
|
8
9
|
import { RouteInitializationUnrecoverableError, WorkflowGenerationUnrecoverableError, } from './run-store.js';
|
|
9
10
|
import { initialRouteExecution, } from './route-coordinator.js';
|
|
10
11
|
import { downstreamLifecycleForRoute, validateRouteTransition, validateTrustedAnswerResumeTransition, } from './route-decision.js';
|
|
@@ -1252,7 +1253,14 @@ export class RunIssue {
|
|
|
1252
1253
|
});
|
|
1253
1254
|
}
|
|
1254
1255
|
}
|
|
1255
|
-
|
|
1256
|
+
let checkPolicy;
|
|
1257
|
+
try {
|
|
1258
|
+
checkPolicy = resolveIssueCheckPolicy(active.record.issueSnapshot.body, config.checks);
|
|
1259
|
+
}
|
|
1260
|
+
catch (error) {
|
|
1261
|
+
return await this.invokedFailure(active, 'issue-verification-invalid', error instanceof Error ? error.message : undefined);
|
|
1262
|
+
}
|
|
1263
|
+
const configuredChecks = Object.entries(checkPolicy.checks);
|
|
1256
1264
|
const reusableChecks = active.record.checks.filter((check) => configuredChecks.some(([id, command]) => check.id === id && check.command === command));
|
|
1257
1265
|
if (reusableChecks.length !== active.record.checks.length) {
|
|
1258
1266
|
active = await this.persist(active, {
|
|
@@ -1262,7 +1270,7 @@ export class RunIssue {
|
|
|
1262
1270
|
proofReceipt: undefined,
|
|
1263
1271
|
});
|
|
1264
1272
|
}
|
|
1265
|
-
for (const [id, command] of
|
|
1273
|
+
for (const [id, command] of configuredChecks) {
|
|
1266
1274
|
if (active.record.checks.some((check) => check.id === id
|
|
1267
1275
|
&& check.command === command
|
|
1268
1276
|
&& (check.status === 'passed' || check.status === 'unchanged-failure')))
|
|
@@ -1271,10 +1279,13 @@ export class RunIssue {
|
|
|
1271
1279
|
return await this.terminal(active, { status: 'cancelled' });
|
|
1272
1280
|
let check;
|
|
1273
1281
|
try {
|
|
1274
|
-
check = await this.dependencies.checks.run({ id, command, cwd: worktreePath, phase: 'changed', signal: this.signal });
|
|
1282
|
+
check = await this.dependencies.checks.run({ id, command, source: checkPolicy.source, cwd: worktreePath, phase: 'changed', signal: this.signal });
|
|
1275
1283
|
}
|
|
1276
|
-
catch {
|
|
1277
|
-
|
|
1284
|
+
catch (error) {
|
|
1285
|
+
if (error instanceof CheckProcessQuiescenceError) {
|
|
1286
|
+
return await this.terminal(active, { status: 'blocked', kind: 'safety', resumable: false }, 'check-process-quiescence-unconfirmed');
|
|
1287
|
+
}
|
|
1288
|
+
return await this.invokedFailure(active, 'configured-check-execution-failed', error instanceof Error ? error.message : 'The check process did not start or settle. Retry the same run.');
|
|
1278
1289
|
}
|
|
1279
1290
|
if (this.signal.aborted)
|
|
1280
1291
|
return await this.terminal(active, { status: 'cancelled' });
|
|
@@ -1337,7 +1348,7 @@ export class RunIssue {
|
|
|
1337
1348
|
|| reviewedStageBinding.contentSha256 !== proofContentSha256) {
|
|
1338
1349
|
return await this.terminal(active, { status: 'blocked', kind: 'safety', resumable: true }, 'checked-change-review-binding-drift');
|
|
1339
1350
|
}
|
|
1340
|
-
if (!sameCheckPolicy(active.record.checks,
|
|
1351
|
+
if (!sameCheckPolicy(active.record.checks, checkPolicy.checks)) {
|
|
1341
1352
|
return await this.terminal(active, { status: 'blocked', kind: 'safety', resumable: true }, 'configured-check-policy-drift');
|
|
1342
1353
|
}
|
|
1343
1354
|
const payload = {
|
|
@@ -1357,7 +1368,7 @@ export class RunIssue {
|
|
|
1357
1368
|
...check,
|
|
1358
1369
|
status: check.status === 'unchanged-failure' ? 'unchanged-failure' : 'passed',
|
|
1359
1370
|
})),
|
|
1360
|
-
checkPolicySha256: sha256(canonicalJson(
|
|
1371
|
+
checkPolicySha256: sha256(canonicalJson(checkPolicy.checks)),
|
|
1361
1372
|
packageVersion: active.record.packageVersion,
|
|
1362
1373
|
proofSchemaVersion: 1,
|
|
1363
1374
|
};
|
|
@@ -2190,12 +2201,20 @@ export class RunIssue {
|
|
|
2190
2201
|
let active = starting;
|
|
2191
2202
|
if ((await this.dependencies.git.listChangedFiles(active.record.worktreePath)).length !== 0)
|
|
2192
2203
|
return { active };
|
|
2193
|
-
|
|
2204
|
+
let checkPolicy;
|
|
2205
|
+
try {
|
|
2206
|
+
checkPolicy = resolveIssueCheckPolicy(active.record.issueSnapshot.body, config.checks);
|
|
2207
|
+
}
|
|
2208
|
+
catch (error) {
|
|
2209
|
+
active = await this.persist(active, { lifecycle: 'routed' });
|
|
2210
|
+
return this.invokedFailure(active, 'issue-verification-invalid', error instanceof Error ? error.message : undefined);
|
|
2211
|
+
}
|
|
2212
|
+
const configuredChecks = Object.entries(checkPolicy.checks);
|
|
2194
2213
|
const reusableBaselineChecks = (active.record.baselineChecks ?? []).filter((check) => configuredChecks.some(([id, command]) => check.id === id && check.command === command));
|
|
2195
2214
|
if (reusableBaselineChecks.length !== (active.record.baselineChecks ?? []).length) {
|
|
2196
2215
|
active = await this.persist(active, { baselineChecks: reusableBaselineChecks });
|
|
2197
2216
|
}
|
|
2198
|
-
for (const [id, command] of
|
|
2217
|
+
for (const [id, command] of configuredChecks) {
|
|
2199
2218
|
if (active.record.baselineChecks?.some((check) => check.id === id && check.command === command))
|
|
2200
2219
|
continue;
|
|
2201
2220
|
if (this.signal.aborted)
|
|
@@ -2203,15 +2222,18 @@ export class RunIssue {
|
|
|
2203
2222
|
let check;
|
|
2204
2223
|
try {
|
|
2205
2224
|
check = await this.dependencies.checks.run({
|
|
2206
|
-
id,
|
|
2207
|
-
command,
|
|
2225
|
+
id, command, source: checkPolicy.source,
|
|
2208
2226
|
cwd: active.record.worktreePath,
|
|
2209
2227
|
phase: 'baseline',
|
|
2210
2228
|
signal: this.signal,
|
|
2211
2229
|
});
|
|
2212
2230
|
}
|
|
2213
|
-
catch {
|
|
2214
|
-
|
|
2231
|
+
catch (error) {
|
|
2232
|
+
if (error instanceof CheckProcessQuiescenceError) {
|
|
2233
|
+
return this.terminal(active, { status: 'blocked', kind: 'safety', resumable: false }, 'check-process-quiescence-unconfirmed');
|
|
2234
|
+
}
|
|
2235
|
+
active = await this.persist(active, { lifecycle: 'routed' });
|
|
2236
|
+
return this.invokedFailure(active, 'configured-check-execution-failed', error instanceof Error ? error.message : 'The baseline check process did not start or settle. Retry the same run.');
|
|
2215
2237
|
}
|
|
2216
2238
|
if ((await this.dependencies.git.listChangedFiles(active.record.worktreePath)).length !== 0) {
|
|
2217
2239
|
return this.terminal(active, { status: 'blocked', kind: 'safety', resumable: true }, 'baseline-check-mutated-worktree');
|