codex-orchestrator 0.1.38 → 0.1.40
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 +24 -0
- package/README.md +17 -0
- package/dist/src/codex/command-adapter.d.ts +6 -0
- package/dist/src/codex/command-adapter.d.ts.map +1 -1
- package/dist/src/codex/command-adapter.js +79 -2
- package/dist/src/codex/command-adapter.js.map +1 -1
- package/dist/src/config/schema.d.ts +16 -1
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +67 -1
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/git/worktree.d.ts.map +1 -1
- package/dist/src/git/worktree.js +0 -1
- package/dist/src/git/worktree.js.map +1 -1
- package/dist/src/runner/acceptance-proof-runner.d.ts +2 -15
- package/dist/src/runner/acceptance-proof-runner.d.ts.map +1 -1
- package/dist/src/runner/acceptance-proof-runner.js +40 -72
- package/dist/src/runner/acceptance-proof-runner.js.map +1 -1
- package/dist/src/runner/acceptance-proof.d.ts +60 -0
- package/dist/src/runner/acceptance-proof.d.ts.map +1 -1
- package/dist/src/runner/acceptance-proof.js +113 -0
- package/dist/src/runner/acceptance-proof.js.map +1 -1
- package/dist/src/runner/android-visual-proof-command.d.ts.map +1 -1
- package/dist/src/runner/android-visual-proof-command.js +2 -8
- package/dist/src/runner/android-visual-proof-command.js.map +1 -1
- package/dist/src/runner/auto-visual-proof-command.d.ts.map +1 -1
- package/dist/src/runner/auto-visual-proof-command.js +11 -1
- package/dist/src/runner/auto-visual-proof-command.js.map +1 -1
- package/dist/src/runner/command-utils.d.ts.map +1 -1
- package/dist/src/runner/command-utils.js +17 -11
- package/dist/src/runner/command-utils.js.map +1 -1
- package/dist/src/runner/completion-report.d.ts +21 -5
- package/dist/src/runner/completion-report.d.ts.map +1 -1
- package/dist/src/runner/completion-report.js +29 -0
- package/dist/src/runner/completion-report.js.map +1 -1
- package/dist/src/runner/daemon-command.js +2 -35
- package/dist/src/runner/daemon-command.js.map +1 -1
- package/dist/src/runner/durable-run-summary.d.ts +12 -0
- package/dist/src/runner/durable-run-summary.d.ts.map +1 -1
- package/dist/src/runner/durable-run-summary.js +2 -0
- package/dist/src/runner/durable-run-summary.js.map +1 -1
- package/dist/src/runner/flutter-sdk-discovery.d.ts +5 -0
- package/dist/src/runner/flutter-sdk-discovery.d.ts.map +1 -0
- package/dist/src/runner/flutter-sdk-discovery.js +103 -0
- package/dist/src/runner/flutter-sdk-discovery.js.map +1 -0
- package/dist/src/runner/handoff-evidence.d.ts +5 -7
- package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
- package/dist/src/runner/handoff-evidence.js +22 -1
- package/dist/src/runner/handoff-evidence.js.map +1 -1
- package/dist/src/runner/ios-visual-proof-command.d.ts.map +1 -1
- package/dist/src/runner/ios-visual-proof-command.js +2 -4
- package/dist/src/runner/ios-visual-proof-command.js.map +1 -1
- package/dist/src/runner/issue-tree.d.ts.map +1 -1
- package/dist/src/runner/issue-tree.js +28 -2
- package/dist/src/runner/issue-tree.js.map +1 -1
- package/dist/src/runner/local-execution-session.d.ts +1 -5
- package/dist/src/runner/local-execution-session.d.ts.map +1 -1
- package/dist/src/runner/local-execution-session.js +83 -5
- package/dist/src/runner/local-execution-session.js.map +1 -1
- package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
- package/dist/src/runner/plan-auto-command.js +180 -96
- package/dist/src/runner/plan-auto-command.js.map +1 -1
- package/dist/src/runner/prompt.d.ts +1 -0
- package/dist/src/runner/prompt.d.ts.map +1 -1
- package/dist/src/runner/prompt.js +9 -4
- package/dist/src/runner/prompt.js.map +1 -1
- package/dist/src/runner/proof-strategy.d.ts +12 -0
- package/dist/src/runner/proof-strategy.d.ts.map +1 -0
- package/dist/src/runner/proof-strategy.js +19 -0
- package/dist/src/runner/proof-strategy.js.map +1 -0
- package/dist/src/runner/review-gate-policy.d.ts +1 -1
- package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
- package/dist/src/runner/review-gate-policy.js +88 -3
- package/dist/src/runner/review-gate-policy.js.map +1 -1
- package/dist/src/runner/rework-policy.d.ts +34 -2
- package/dist/src/runner/rework-policy.d.ts.map +1 -1
- package/dist/src/runner/rework-policy.js +89 -14
- package/dist/src/runner/rework-policy.js.map +1 -1
- package/dist/src/runner/runner-handoff-decision.d.ts +47 -0
- package/dist/src/runner/runner-handoff-decision.d.ts.map +1 -0
- package/dist/src/runner/runner-handoff-decision.js +66 -0
- package/dist/src/runner/runner-handoff-decision.js.map +1 -0
- package/dist/src/runner/scope-isolation-policy.d.ts +17 -0
- package/dist/src/runner/scope-isolation-policy.d.ts.map +1 -0
- package/dist/src/runner/scope-isolation-policy.js +82 -0
- package/dist/src/runner/scope-isolation-policy.js.map +1 -0
- package/dist/src/runner/scoped-auto-command.d.ts +13 -2
- package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
- package/dist/src/runner/scoped-auto-command.js +138 -63
- package/dist/src/runner/scoped-auto-command.js.map +1 -1
- package/dist/src/runner/scoped-recovery.d.ts.map +1 -1
- package/dist/src/runner/scoped-recovery.js +123 -23
- package/dist/src/runner/scoped-recovery.js.map +1 -1
- package/dist/src/runner/visual-proof-runner.d.ts +4 -0
- package/dist/src/runner/visual-proof-runner.d.ts.map +1 -1
- package/dist/src/runner/visual-proof-runner.js +85 -39
- package/dist/src/runner/visual-proof-runner.js.map +1 -1
- package/dist/src/setup/project-config.d.ts +2 -1
- package/dist/src/setup/project-config.d.ts.map +1 -1
- package/dist/src/setup/project-config.js +61 -14
- package/dist/src/setup/project-config.js.map +1 -1
- package/docs/deep-dive.md +34 -4
- package/package.json +1 -1
- package/prompts/workflows/issue-breakdown.md +10 -0
- package/prompts/workflows/triage.md +11 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { mergeArtifacts, runConfiguredChecks } from './command-utils.js';
|
|
2
2
|
import { readScopedCompletionReport } from './completion-report.js';
|
|
3
|
-
import { classifyAcceptanceProofDiff, createAcceptanceProofDiffCapture } from './acceptance-proof.js';
|
|
3
|
+
import { buildForbiddenAcceptanceProofDiffEvidence, classifyAcceptanceProofDiff, createAcceptanceProofDiffCapture, } from './acceptance-proof.js';
|
|
4
4
|
import { evaluateReviewGates, shouldApplyVisualProofGate } from './review-gates.js';
|
|
5
5
|
import { validateChangedPaths, validateCompletionReportSafety, validateNoAgentOwnedGitPublication, } from './safety.js';
|
|
6
|
+
import { evaluateScopeIsolation } from './scope-isolation-policy.js';
|
|
6
7
|
import { runRunnerVisualProof } from './visual-proof-runner.js';
|
|
7
8
|
import { runAcceptanceProofAttempt, shouldRunAcceptanceProofAttempt, } from './acceptance-proof-runner.js';
|
|
9
|
+
import { MISSING_COMPLETION_REPORT_REASON, OPTIONAL_FIGMA_MCP_FAILURE_REASON, REQUIRED_FIGMA_MCP_FAILURE_REASON, } from './rework-policy.js';
|
|
8
10
|
export async function runLocalExecutionSession(input) {
|
|
9
11
|
const phaseResults = [];
|
|
10
12
|
for (const phaseId of input.phases) {
|
|
@@ -43,7 +45,7 @@ export async function runImplementationPublishabilityCheck(input) {
|
|
|
43
45
|
try {
|
|
44
46
|
const reportResult = await readScopedCompletionReport(input.reportPath);
|
|
45
47
|
if (reportResult.kind === 'missing') {
|
|
46
|
-
return blocked([
|
|
48
|
+
return blocked([MISSING_COMPLETION_REPORT_REASON]);
|
|
47
49
|
}
|
|
48
50
|
report = reportResult.report;
|
|
49
51
|
}
|
|
@@ -100,6 +102,22 @@ export async function runImplementationPublishabilityCheck(input) {
|
|
|
100
102
|
commits: changeSet.commits,
|
|
101
103
|
};
|
|
102
104
|
}
|
|
105
|
+
const scopeIsolation = evaluateScopeIsolation({
|
|
106
|
+
config: input.config,
|
|
107
|
+
issue: input.issue,
|
|
108
|
+
changedFiles,
|
|
109
|
+
});
|
|
110
|
+
if (scopeIsolation.blockers.length > 0) {
|
|
111
|
+
return {
|
|
112
|
+
status: 'blocked',
|
|
113
|
+
reasons: scopeIsolation.blockers,
|
|
114
|
+
changedFiles,
|
|
115
|
+
validation: report.validation,
|
|
116
|
+
skippedChecks: report.skippedChecks,
|
|
117
|
+
residualRisks: report.residualRisks,
|
|
118
|
+
commits: changeSet.commits,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
103
121
|
const violations = [
|
|
104
122
|
...validateChangedPaths(changedFiles, input.config),
|
|
105
123
|
...validateCompletionReportSafety(report),
|
|
@@ -167,6 +185,23 @@ export async function runImplementationPublishabilityCheck(input) {
|
|
|
167
185
|
};
|
|
168
186
|
residualRisks.push(...proofResult.residualRisks);
|
|
169
187
|
changedFiles = proofResult.changedFiles;
|
|
188
|
+
const postProofScopeIsolation = evaluateScopeIsolation({
|
|
189
|
+
config: input.config,
|
|
190
|
+
issue: input.issue,
|
|
191
|
+
changedFiles,
|
|
192
|
+
});
|
|
193
|
+
if (postProofScopeIsolation.blockers.length > 0) {
|
|
194
|
+
return {
|
|
195
|
+
status: 'blocked',
|
|
196
|
+
reasons: postProofScopeIsolation.blockers,
|
|
197
|
+
changedFiles,
|
|
198
|
+
validation,
|
|
199
|
+
skippedChecks: report.skippedChecks,
|
|
200
|
+
residualRisks,
|
|
201
|
+
commits: changeSet.commits,
|
|
202
|
+
acceptanceProofAttempt,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
170
205
|
if (proofResult.status === 'blocked') {
|
|
171
206
|
return {
|
|
172
207
|
status: 'blocked',
|
|
@@ -199,6 +234,7 @@ export async function runImplementationPublishabilityCheck(input) {
|
|
|
199
234
|
shellExecutor: input.shellExecutor,
|
|
200
235
|
});
|
|
201
236
|
validation = [...validation, ...runnerVisualProof.validation];
|
|
237
|
+
acceptanceProofAttempt = runnerVisualProof.acceptanceProofAttempt ?? acceptanceProofAttempt;
|
|
202
238
|
report = {
|
|
203
239
|
...report,
|
|
204
240
|
artifacts: mergeArtifacts(report.artifacts, runnerVisualProof.artifacts),
|
|
@@ -212,11 +248,18 @@ export async function runImplementationPublishabilityCheck(input) {
|
|
|
212
248
|
changedFiles = changeSet.changedPaths;
|
|
213
249
|
const proofDiff = classifyAcceptanceProofDiff(input.config, proofPhaseChangedFiles);
|
|
214
250
|
if (proofDiff.forbiddenProductPaths.length > 0) {
|
|
251
|
+
acceptanceProofAttempt = buildForbiddenAcceptanceProofDiffEvidence({
|
|
252
|
+
command: 'runner acceptance proof',
|
|
253
|
+
baseEvidence: acceptanceProofAttempt,
|
|
254
|
+
reportPath: runnerVisualProof.proofReportPath,
|
|
255
|
+
artifactDir: runnerVisualProof.proofArtifactDir,
|
|
256
|
+
artifactPaths: proofPhaseChangedFiles,
|
|
257
|
+
forbiddenProductPaths: proofDiff.forbiddenProductPaths,
|
|
258
|
+
});
|
|
259
|
+
validation = [...validation, ...acceptanceProofAttempt.validation];
|
|
215
260
|
return {
|
|
216
261
|
status: 'blocked',
|
|
217
|
-
reasons:
|
|
218
|
-
`Acceptance proof produced product-code changes during acceptance proof: ${proofDiff.forbiddenProductPaths.join(', ')}.`,
|
|
219
|
-
],
|
|
262
|
+
reasons: acceptanceProofAttempt.blockers,
|
|
220
263
|
changedFiles,
|
|
221
264
|
validation,
|
|
222
265
|
skippedChecks: report.skippedChecks,
|
|
@@ -225,6 +268,23 @@ export async function runImplementationPublishabilityCheck(input) {
|
|
|
225
268
|
acceptanceProofAttempt,
|
|
226
269
|
};
|
|
227
270
|
}
|
|
271
|
+
const postRunnerProofScopeIsolation = evaluateScopeIsolation({
|
|
272
|
+
config: input.config,
|
|
273
|
+
issue: input.issue,
|
|
274
|
+
changedFiles,
|
|
275
|
+
});
|
|
276
|
+
if (postRunnerProofScopeIsolation.blockers.length > 0) {
|
|
277
|
+
return {
|
|
278
|
+
status: 'blocked',
|
|
279
|
+
reasons: postRunnerProofScopeIsolation.blockers,
|
|
280
|
+
changedFiles,
|
|
281
|
+
validation,
|
|
282
|
+
skippedChecks: report.skippedChecks,
|
|
283
|
+
residualRisks,
|
|
284
|
+
commits: changeSet.commits,
|
|
285
|
+
acceptanceProofAttempt,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
228
288
|
}
|
|
229
289
|
const failedValidation = validation.filter((line) => line.status === 'failed');
|
|
230
290
|
if (failedValidation.length > 0) {
|
|
@@ -331,6 +391,10 @@ function blocked(reasons) {
|
|
|
331
391
|
};
|
|
332
392
|
}
|
|
333
393
|
function formatCodexExitReason(result) {
|
|
394
|
+
const figmaReason = formatFigmaMcpFailureReason(result);
|
|
395
|
+
if (figmaReason) {
|
|
396
|
+
return figmaReason;
|
|
397
|
+
}
|
|
334
398
|
const output = [result.stderr, result.stdout]
|
|
335
399
|
.map((value) => value.trim())
|
|
336
400
|
.filter((value) => value.length > 0)
|
|
@@ -345,6 +409,20 @@ function formatCodexExitReason(result) {
|
|
|
345
409
|
? `Codex exited with code ${result.exitCode}: ${truncate(detail, 600)}`
|
|
346
410
|
: `Codex exited with code ${result.exitCode}`;
|
|
347
411
|
}
|
|
412
|
+
function formatFigmaMcpFailureReason(result) {
|
|
413
|
+
if (result.exitCode === 0 || result.figmaMcp?.enabled !== true) {
|
|
414
|
+
return undefined;
|
|
415
|
+
}
|
|
416
|
+
const output = `${result.stderr}\n${result.stdout}`;
|
|
417
|
+
const looksLikeFigmaMcpFailure = /\bfigma\b[\s\S]{0,120}\b(?:mcp|server|tool|connection|connect|timeout|timed out|401|403|auth|unauthorized|forbidden|unavailable|failed)\b/iu.test(output)
|
|
418
|
+
|| /mcp_servers\.figma/iu.test(output);
|
|
419
|
+
if (!looksLikeFigmaMcpFailure) {
|
|
420
|
+
return undefined;
|
|
421
|
+
}
|
|
422
|
+
return result.figmaMcp.requirement === 'required'
|
|
423
|
+
? REQUIRED_FIGMA_MCP_FAILURE_REASON
|
|
424
|
+
: OPTIONAL_FIGMA_MCP_FAILURE_REASON;
|
|
425
|
+
}
|
|
348
426
|
function truncate(value, maxLength) {
|
|
349
427
|
if (value.length <= maxLength) {
|
|
350
428
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-execution-session.js","sourceRoot":"","sources":["../../../src/runner/local-execution-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-execution-session.js","sourceRoot":"","sources":["../../../src/runner/local-execution-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/plan-auto-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGzH,OAAO,EAAyB,kBAAkB,EAAgD,MAAM,oBAAoB,CAAC;AAE7H,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/plan-auto-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGzH,OAAO,EAAyB,kBAAkB,EAAgD,MAAM,oBAAoB,CAAC;AAE7H,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAoD/F,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,YAAY,CAAC,EAAE;QAAE,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;KAAE,CAAC;IACpF,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAoDD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2ZxG"}
|
|
@@ -19,19 +19,22 @@ import { runImplementationPublishabilityCheck } from './local-execution-session.
|
|
|
19
19
|
import { RunnerLifecycleEventStore } from './lifecycle-events.js';
|
|
20
20
|
import { RunnerStateStore } from './local-state.js';
|
|
21
21
|
import { buildIssueTreeChildPrompt, buildPlanAutoPrompt, sessionPromptPath, sessionReportPath, writeDurablePrompt, } from './prompt.js';
|
|
22
|
-
import {
|
|
22
|
+
import { decideImplementationRework } from './rework-policy.js';
|
|
23
23
|
import { evaluateParentRiskRoutingGate } from './review-gates.js';
|
|
24
|
+
import { buildBlockedHandoffEvidence, buildPromotionAsBlockedHandoffEvidence, buildReviewReadyHandoffEvidence, } from './runner-handoff-decision.js';
|
|
24
25
|
import { sessionLogPath } from './run-log.js';
|
|
25
26
|
import { cleanupSessionCodexHome, sessionCodexHomePath } from './session-home.js';
|
|
26
27
|
class ChildExecutionBlockedError extends Error {
|
|
27
28
|
durableRunSummary;
|
|
28
29
|
freshContextReview;
|
|
29
30
|
acceptanceProof;
|
|
30
|
-
|
|
31
|
+
reworkAttempts;
|
|
32
|
+
constructor(message, durableRunSummary, freshContextReview, acceptanceProof, reworkAttempts) {
|
|
31
33
|
super(message);
|
|
32
34
|
this.durableRunSummary = durableRunSummary;
|
|
33
35
|
this.freshContextReview = freshContextReview;
|
|
34
36
|
this.acceptanceProof = acceptanceProof;
|
|
37
|
+
this.reworkAttempts = reworkAttempts;
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
export async function runPlanAutoCommand(options) {
|
|
@@ -378,27 +381,12 @@ async function executeChild(input) {
|
|
|
378
381
|
const childIssueNumber = input.child.issue.number;
|
|
379
382
|
const branchName = `codex/tree-${input.parentIssue.number}-issue-${childIssueNumber}`;
|
|
380
383
|
const worktreePath = join(input.targetRoot, input.config.runner.workspaceRoot, `tree-${input.parentIssue.number}-issue-${childIssueNumber}`);
|
|
381
|
-
const sessionId = `tree-${input.parentIssue.number}-issue-${childIssueNumber}-${formatSessionTimestamp(input.now)}`;
|
|
382
|
-
const promptPath = sessionPromptPath({
|
|
383
|
-
targetRoot: input.targetRoot,
|
|
384
|
-
config: input.config,
|
|
385
|
-
issueNumber: childIssueNumber,
|
|
386
|
-
sessionId,
|
|
387
|
-
});
|
|
388
|
-
const reportPath = sessionReportPath({
|
|
389
|
-
targetRoot: input.targetRoot,
|
|
390
|
-
config: input.config,
|
|
391
|
-
issueNumber: childIssueNumber,
|
|
392
|
-
sessionId,
|
|
393
|
-
});
|
|
394
|
-
const logPath = sessionLogPath({
|
|
395
|
-
targetRoot: input.targetRoot,
|
|
396
|
-
config: input.config,
|
|
397
|
-
issueNumber: childIssueNumber,
|
|
398
|
-
sessionId,
|
|
399
|
-
});
|
|
400
|
-
const isolatedHomePath = sessionCodexHomePath({ targetRoot: input.targetRoot, sessionId });
|
|
401
384
|
const store = new RunnerStateStore(input.targetRoot, input.config);
|
|
385
|
+
let sessionId = '';
|
|
386
|
+
let promptPath = '';
|
|
387
|
+
let reportPath = '';
|
|
388
|
+
let logPath = '';
|
|
389
|
+
let snapshotPath = '';
|
|
402
390
|
await input.git.createIssueWorktree({
|
|
403
391
|
targetRoot: input.targetRoot,
|
|
404
392
|
workspacePath: worktreePath,
|
|
@@ -407,48 +395,48 @@ async function executeChild(input) {
|
|
|
407
395
|
});
|
|
408
396
|
await input.issueAdapter.addLabels(childIssueNumber, [input.config.github.labels.running.name]);
|
|
409
397
|
await input.issueAdapter.postComment(childIssueNumber, `codex-orchestrator: claimed #${childIssueNumber} for tree-child autonomous work under #${input.parentIssue.number} at ${input.now.toISOString()}.`);
|
|
410
|
-
await mkdir(dirname(reportPath), { recursive: true });
|
|
411
|
-
await mkdir(isolatedHomePath, { recursive: true });
|
|
412
|
-
const promptText = buildIssueTreeChildPrompt({
|
|
413
|
-
parentIssue: input.parentIssue,
|
|
414
|
-
childIssue: input.child.issue,
|
|
415
|
-
config: input.config,
|
|
416
|
-
workflowPromptText: input.issueTreeWorkflowPrompt,
|
|
417
|
-
childMetadata: input.child.metadata,
|
|
418
|
-
dependencyIssues: input.dependencyIssues,
|
|
419
|
-
promptPath,
|
|
420
|
-
reportPath,
|
|
421
|
-
branchName,
|
|
422
|
-
worktreePath,
|
|
423
|
-
});
|
|
424
|
-
await writeDurablePrompt({
|
|
425
|
-
targetRoot: input.targetRoot,
|
|
426
|
-
config: input.config,
|
|
427
|
-
issueNumber: childIssueNumber,
|
|
428
|
-
sessionId,
|
|
429
|
-
promptText,
|
|
430
|
-
});
|
|
431
|
-
await store.upsertRun({
|
|
432
|
-
issueNumber: childIssueNumber,
|
|
433
|
-
parentIssueNumber: input.parentIssue.number,
|
|
434
|
-
mode: 'tree-child',
|
|
435
|
-
workspacePath: worktreePath,
|
|
436
|
-
sessionId,
|
|
437
|
-
branchName,
|
|
438
|
-
promptPath,
|
|
439
|
-
reportPath,
|
|
440
|
-
logPath,
|
|
441
|
-
retryCount: 0,
|
|
442
|
-
createdAt: input.now.toISOString(),
|
|
443
|
-
updatedAt: input.now.toISOString(),
|
|
444
|
-
});
|
|
445
398
|
let publishability;
|
|
446
399
|
let rework;
|
|
400
|
+
const reworkAttempts = [];
|
|
447
401
|
const maxReworkAttempts = Math.max(input.config.loopPolicy.rework.maxAttempts, input.config.reviewGates.acceptanceProof.maxIterations - 1);
|
|
448
402
|
for (let attempt = 0; attempt <= maxReworkAttempts; attempt++) {
|
|
449
403
|
const attemptNow = new Date(input.now.getTime() + attempt);
|
|
404
|
+
sessionId = `tree-${input.parentIssue.number}-issue-${childIssueNumber}-${formatSessionTimestamp(attemptNow)}${attempt === 0 ? '' : `-attempt-${attempt}`}`;
|
|
405
|
+
promptPath = sessionPromptPath({
|
|
406
|
+
targetRoot: input.targetRoot,
|
|
407
|
+
config: input.config,
|
|
408
|
+
issueNumber: childIssueNumber,
|
|
409
|
+
sessionId,
|
|
410
|
+
});
|
|
411
|
+
reportPath = sessionReportPath({
|
|
412
|
+
targetRoot: input.targetRoot,
|
|
413
|
+
config: input.config,
|
|
414
|
+
issueNumber: childIssueNumber,
|
|
415
|
+
sessionId,
|
|
416
|
+
});
|
|
417
|
+
logPath = sessionLogPath({
|
|
418
|
+
targetRoot: input.targetRoot,
|
|
419
|
+
config: input.config,
|
|
420
|
+
issueNumber: childIssueNumber,
|
|
421
|
+
sessionId,
|
|
422
|
+
});
|
|
423
|
+
const isolatedHomePath = sessionCodexHomePath({ targetRoot: input.targetRoot, sessionId });
|
|
424
|
+
await mkdir(dirname(reportPath), { recursive: true });
|
|
425
|
+
await mkdir(isolatedHomePath, { recursive: true });
|
|
426
|
+
const promptText = buildIssueTreeChildPrompt({
|
|
427
|
+
parentIssue: input.parentIssue,
|
|
428
|
+
childIssue: input.child.issue,
|
|
429
|
+
config: input.config,
|
|
430
|
+
workflowPromptText: input.issueTreeWorkflowPrompt,
|
|
431
|
+
childMetadata: input.child.metadata,
|
|
432
|
+
dependencyIssues: input.dependencyIssues,
|
|
433
|
+
promptPath,
|
|
434
|
+
reportPath,
|
|
435
|
+
branchName,
|
|
436
|
+
worktreePath,
|
|
437
|
+
});
|
|
450
438
|
const attemptPromptText = rework
|
|
451
|
-
? `${promptText}\n\n## Rework Request\nThis is an automatic rework attempt (#${rework.attempt}). Continue from the current worktree state; do not start over.\nThe previous attempt was blocked for these reasons:\n${rework.blockedReasons.map((reason) => `- ${reason}`).join('\n')}\
|
|
439
|
+
? `${promptText}\n\n## Rework Request\nThis is an automatic rework attempt (#${rework.attempt}). Continue from the current worktree state; do not start over.\nThe previous attempt was blocked for these reasons:\n${rework.blockedReasons.map((reason) => `- ${reason}`).join('\n')}\n${rework.disableOptionalFigmaMcp ? 'Optional Figma MCP failed in the previous attempt. Continue without optional Figma MCP access unless the issue explicitly requires Figma.\n' : ''}Address the blockers, then produce a fresh completion report JSON for the runner.`
|
|
452
440
|
: promptText;
|
|
453
441
|
await writeDurablePrompt({
|
|
454
442
|
targetRoot: input.targetRoot,
|
|
@@ -477,6 +465,23 @@ async function executeChild(input) {
|
|
|
477
465
|
blockedBy: [],
|
|
478
466
|
createdAt: attemptNow,
|
|
479
467
|
});
|
|
468
|
+
snapshotPath = snapshot.path;
|
|
469
|
+
await store.upsertRun({
|
|
470
|
+
issueNumber: childIssueNumber,
|
|
471
|
+
parentIssueNumber: input.parentIssue.number,
|
|
472
|
+
mode: 'tree-child',
|
|
473
|
+
workspacePath: worktreePath,
|
|
474
|
+
sessionId,
|
|
475
|
+
branchName,
|
|
476
|
+
promptPath,
|
|
477
|
+
reportPath,
|
|
478
|
+
logPath,
|
|
479
|
+
retryCount: attempt,
|
|
480
|
+
createdAt: input.now.toISOString(),
|
|
481
|
+
updatedAt: attemptNow.toISOString(),
|
|
482
|
+
attemptStartedAt: attemptNow.toISOString(),
|
|
483
|
+
snapshotPath,
|
|
484
|
+
});
|
|
480
485
|
await safeAppendEvent(input.events, {
|
|
481
486
|
timestamp: attemptNow,
|
|
482
487
|
issueNumber: childIssueNumber,
|
|
@@ -486,7 +491,7 @@ async function executeChild(input) {
|
|
|
486
491
|
phase: 'tree-child',
|
|
487
492
|
status: 'started',
|
|
488
493
|
summary: rework ? `Starting tree-child rework attempt #${rework.attempt}.` : 'Starting tree-child Codex session.',
|
|
489
|
-
artifacts: sessionArtifacts(promptPath, reportPath, logPath,
|
|
494
|
+
artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
|
|
490
495
|
});
|
|
491
496
|
const beforeHead = await input.git.getHead(worktreePath);
|
|
492
497
|
let codexResult;
|
|
@@ -504,6 +509,7 @@ async function executeChild(input) {
|
|
|
504
509
|
branchName,
|
|
505
510
|
phase: 'tree-child',
|
|
506
511
|
logPath,
|
|
512
|
+
disableOptionalFigmaMcp: rework?.disableOptionalFigmaMcp,
|
|
507
513
|
});
|
|
508
514
|
}
|
|
509
515
|
finally {
|
|
@@ -537,12 +543,49 @@ async function executeChild(input) {
|
|
|
537
543
|
}),
|
|
538
544
|
},
|
|
539
545
|
});
|
|
540
|
-
if (publishability.status === 'blocked'
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
+
if (publishability.status === 'blocked') {
|
|
547
|
+
const reworkDecision = decideImplementationRework({
|
|
548
|
+
reasons: publishability.reasons,
|
|
549
|
+
config: input.config,
|
|
550
|
+
attempt,
|
|
551
|
+
});
|
|
552
|
+
reworkAttempts.push({
|
|
553
|
+
attempt,
|
|
554
|
+
maxAttempts: 'maxAttempts' in reworkDecision ? reworkDecision.maxAttempts : undefined,
|
|
555
|
+
decisionKind: reworkDecision.kind,
|
|
556
|
+
reasons: publishability.reasons,
|
|
557
|
+
promptPath,
|
|
558
|
+
reportPath,
|
|
559
|
+
logPath,
|
|
560
|
+
snapshotPath,
|
|
561
|
+
});
|
|
562
|
+
if (reworkDecision.kind === 'retry') {
|
|
563
|
+
rework = reworkDecision.rework;
|
|
564
|
+
await safeAppendEvent(input.events, {
|
|
565
|
+
timestamp: attemptNow,
|
|
566
|
+
issueNumber: childIssueNumber,
|
|
567
|
+
parentIssueNumber: input.parentIssue.number,
|
|
568
|
+
mode: 'tree-child',
|
|
569
|
+
sessionId,
|
|
570
|
+
phase: 'tree-child',
|
|
571
|
+
status: 'needs-rework',
|
|
572
|
+
summary: `Runner scheduled tree-child rework attempt #${reworkDecision.nextAttempt}.`,
|
|
573
|
+
artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
|
|
574
|
+
});
|
|
575
|
+
await mkdir(isolatedHomePath, { recursive: true });
|
|
576
|
+
continue;
|
|
577
|
+
}
|
|
578
|
+
await safeAppendEvent(input.events, {
|
|
579
|
+
timestamp: attemptNow,
|
|
580
|
+
issueNumber: childIssueNumber,
|
|
581
|
+
parentIssueNumber: input.parentIssue.number,
|
|
582
|
+
mode: 'tree-child',
|
|
583
|
+
sessionId,
|
|
584
|
+
phase: 'tree-child',
|
|
585
|
+
status: 'blocked',
|
|
586
|
+
summary: `Runner rework decision: ${reworkDecision.kind}.`,
|
|
587
|
+
artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
|
|
588
|
+
});
|
|
546
589
|
}
|
|
547
590
|
break;
|
|
548
591
|
}
|
|
@@ -551,30 +594,58 @@ async function executeChild(input) {
|
|
|
551
594
|
}
|
|
552
595
|
if (publishability.status === 'promotion-requested') {
|
|
553
596
|
const promotion = publishability.report.promotion;
|
|
554
|
-
|
|
597
|
+
const evidence = buildPromotionAsBlockedHandoffEvidence({
|
|
598
|
+
publishability,
|
|
599
|
+
fallbackReason: 'Child requested promotion instead of completing issue-tree work.',
|
|
600
|
+
nextAction: 'Parent issue-tree execution is blocked until this child is resolved.',
|
|
601
|
+
});
|
|
602
|
+
const durableRunSummary = await writeDurableRunSummary({
|
|
603
|
+
targetRoot: input.targetRoot,
|
|
604
|
+
config: input.config,
|
|
605
|
+
issueNumber: childIssueNumber,
|
|
606
|
+
sessionId,
|
|
607
|
+
outcome: evidence.outcome,
|
|
608
|
+
changedFiles: evidence.changedFiles,
|
|
609
|
+
validation: evidence.validation,
|
|
610
|
+
blockers: evidence.blockers,
|
|
611
|
+
skippedChecks: evidence.skippedChecks,
|
|
612
|
+
residualRisks: evidence.residualRisks,
|
|
613
|
+
nextAction: evidence.nextAction,
|
|
614
|
+
logPath,
|
|
615
|
+
reportPath,
|
|
616
|
+
acceptanceProof: evidence.acceptanceProof,
|
|
617
|
+
reworkAttempts,
|
|
618
|
+
});
|
|
619
|
+
const message = [
|
|
555
620
|
'Child requested promotion instead of completing issue-tree work.',
|
|
556
621
|
promotion ? `Reason: ${promotion.reason}` : undefined,
|
|
557
622
|
promotion ? `Evidence: ${promotion.evidence.join(', ')}` : undefined,
|
|
558
|
-
].filter(Boolean).join(' ')
|
|
623
|
+
].filter(Boolean).join(' ');
|
|
624
|
+
throw new ChildExecutionBlockedError(message, durableRunSummary, undefined, evidence.acceptanceProof, reworkAttempts);
|
|
559
625
|
}
|
|
560
626
|
if (publishability.status === 'blocked') {
|
|
627
|
+
const evidence = buildBlockedHandoffEvidence({
|
|
628
|
+
publishability,
|
|
629
|
+
nextAction: 'Parent issue-tree execution is blocked until this child is resolved.',
|
|
630
|
+
});
|
|
561
631
|
const durableRunSummary = await writeDurableRunSummary({
|
|
562
632
|
targetRoot: input.targetRoot,
|
|
563
633
|
config: input.config,
|
|
564
634
|
issueNumber: childIssueNumber,
|
|
565
635
|
sessionId,
|
|
566
|
-
outcome:
|
|
567
|
-
changedFiles:
|
|
568
|
-
validation:
|
|
569
|
-
blockers:
|
|
570
|
-
skippedChecks:
|
|
571
|
-
residualRisks:
|
|
572
|
-
nextAction:
|
|
636
|
+
outcome: evidence.outcome,
|
|
637
|
+
changedFiles: evidence.changedFiles,
|
|
638
|
+
validation: evidence.validation,
|
|
639
|
+
blockers: evidence.blockers,
|
|
640
|
+
skippedChecks: evidence.skippedChecks,
|
|
641
|
+
residualRisks: evidence.residualRisks,
|
|
642
|
+
nextAction: evidence.nextAction,
|
|
573
643
|
logPath,
|
|
574
644
|
reportPath,
|
|
575
|
-
acceptanceProof:
|
|
645
|
+
acceptanceProof: evidence.acceptanceProof,
|
|
646
|
+
reworkAttempts,
|
|
576
647
|
});
|
|
577
|
-
throw new ChildExecutionBlockedError(
|
|
648
|
+
throw new ChildExecutionBlockedError(evidence.blockers.join('; '), durableRunSummary, undefined, evidence.acceptanceProof, reworkAttempts);
|
|
578
649
|
}
|
|
579
650
|
const freshContextReview = await runFreshContextReviewIfEnabled({
|
|
580
651
|
targetRoot: input.targetRoot,
|
|
@@ -587,41 +658,53 @@ async function executeChild(input) {
|
|
|
587
658
|
publishability,
|
|
588
659
|
});
|
|
589
660
|
if (freshContextReview?.status === 'blocked') {
|
|
661
|
+
const evidence = buildBlockedHandoffEvidence({
|
|
662
|
+
publishability,
|
|
663
|
+
freshContextReview,
|
|
664
|
+
nextAction: 'Parent issue-tree execution is blocked until this child review finding is resolved.',
|
|
665
|
+
});
|
|
590
666
|
const durableRunSummary = await writeDurableRunSummary({
|
|
591
667
|
targetRoot: input.targetRoot,
|
|
592
668
|
config: input.config,
|
|
593
669
|
issueNumber: childIssueNumber,
|
|
594
670
|
sessionId,
|
|
595
|
-
outcome:
|
|
596
|
-
changedFiles:
|
|
597
|
-
validation:
|
|
598
|
-
blockers:
|
|
599
|
-
skippedChecks:
|
|
600
|
-
residualRisks:
|
|
601
|
-
suggestionEvidence:
|
|
602
|
-
nextAction:
|
|
671
|
+
outcome: evidence.outcome,
|
|
672
|
+
changedFiles: evidence.changedFiles,
|
|
673
|
+
validation: evidence.validation,
|
|
674
|
+
blockers: evidence.blockers,
|
|
675
|
+
skippedChecks: evidence.skippedChecks,
|
|
676
|
+
residualRisks: evidence.residualRisks,
|
|
677
|
+
suggestionEvidence: evidence.suggestionEvidence,
|
|
678
|
+
nextAction: evidence.nextAction,
|
|
603
679
|
logPath,
|
|
604
680
|
reportPath,
|
|
605
|
-
acceptanceProof:
|
|
681
|
+
acceptanceProof: evidence.acceptanceProof,
|
|
682
|
+
reworkAttempts,
|
|
606
683
|
});
|
|
607
|
-
throw new ChildExecutionBlockedError(
|
|
684
|
+
throw new ChildExecutionBlockedError(evidence.blockers.join('; '), durableRunSummary, freshContextReview, evidence.acceptanceProof, reworkAttempts);
|
|
608
685
|
}
|
|
686
|
+
const evidence = buildReviewReadyHandoffEvidence({
|
|
687
|
+
publishability,
|
|
688
|
+
freshContextReview,
|
|
689
|
+
nextAction: 'Parent issue-tree integration should merge this child branch.',
|
|
690
|
+
});
|
|
609
691
|
const durableRunSummary = await writeDurableRunSummary({
|
|
610
692
|
targetRoot: input.targetRoot,
|
|
611
693
|
config: input.config,
|
|
612
694
|
issueNumber: childIssueNumber,
|
|
613
695
|
sessionId,
|
|
614
|
-
outcome:
|
|
615
|
-
changedFiles:
|
|
616
|
-
validation:
|
|
617
|
-
blockers:
|
|
618
|
-
skippedChecks:
|
|
619
|
-
residualRisks:
|
|
620
|
-
suggestionEvidence:
|
|
621
|
-
nextAction:
|
|
696
|
+
outcome: evidence.outcome,
|
|
697
|
+
changedFiles: evidence.changedFiles,
|
|
698
|
+
validation: evidence.validation,
|
|
699
|
+
blockers: evidence.blockers,
|
|
700
|
+
skippedChecks: evidence.skippedChecks,
|
|
701
|
+
residualRisks: evidence.residualRisks,
|
|
702
|
+
suggestionEvidence: evidence.suggestionEvidence,
|
|
703
|
+
nextAction: evidence.nextAction,
|
|
622
704
|
logPath,
|
|
623
705
|
reportPath,
|
|
624
|
-
acceptanceProof:
|
|
706
|
+
acceptanceProof: evidence.acceptanceProof,
|
|
707
|
+
reworkAttempts,
|
|
625
708
|
});
|
|
626
709
|
return {
|
|
627
710
|
child: input.child,
|
|
@@ -635,7 +718,7 @@ async function executeChild(input) {
|
|
|
635
718
|
artifacts: publishability.artifacts,
|
|
636
719
|
commits: publishability.commits,
|
|
637
720
|
skippedChecks: publishability.skippedChecks,
|
|
638
|
-
residualRisks:
|
|
721
|
+
residualRisks: evidence.residualRisks,
|
|
639
722
|
reviewHandoff: publishability.report.reviewHandoff,
|
|
640
723
|
freshContextReview,
|
|
641
724
|
durableRunSummary,
|
|
@@ -656,6 +739,7 @@ async function blockFailedBatch(issueAdapter, config, parentIssueNumber, failure
|
|
|
656
739
|
details: ['Worktree preserved for maintainer inspection.'],
|
|
657
740
|
freshContextReview: failure.freshContextReview,
|
|
658
741
|
durableRunSummary: failure.durableRunSummary,
|
|
742
|
+
reworkAttempts: failure.reworkAttempts,
|
|
659
743
|
acceptanceProof: failure.acceptanceProof,
|
|
660
744
|
}));
|
|
661
745
|
}
|