codex-orchestrator 0.1.25 → 0.1.27

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 (75) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +52 -8
  3. package/dist/src/cli.js +56 -9
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/codex/command-adapter.d.ts +12 -2
  6. package/dist/src/codex/command-adapter.d.ts.map +1 -1
  7. package/dist/src/codex/command-adapter.js +27 -7
  8. package/dist/src/codex/command-adapter.js.map +1 -1
  9. package/dist/src/config/constants.d.ts +1 -1
  10. package/dist/src/config/constants.d.ts.map +1 -1
  11. package/dist/src/config/constants.js +6 -1
  12. package/dist/src/config/constants.js.map +1 -1
  13. package/dist/src/config/schema.d.ts +11 -0
  14. package/dist/src/config/schema.d.ts.map +1 -1
  15. package/dist/src/config/schema.js +59 -1
  16. package/dist/src/config/schema.js.map +1 -1
  17. package/dist/src/index.d.ts +8 -4
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +4 -2
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/runner/context-snapshot.d.ts +28 -0
  22. package/dist/src/runner/context-snapshot.d.ts.map +1 -0
  23. package/dist/src/runner/context-snapshot.js +82 -0
  24. package/dist/src/runner/context-snapshot.js.map +1 -0
  25. package/dist/src/runner/doctor-command.d.ts +39 -0
  26. package/dist/src/runner/doctor-command.d.ts.map +1 -0
  27. package/dist/src/runner/doctor-command.js +123 -0
  28. package/dist/src/runner/doctor-command.js.map +1 -0
  29. package/dist/src/runner/fresh-context-review.d.ts.map +1 -1
  30. package/dist/src/runner/fresh-context-review.js +20 -1
  31. package/dist/src/runner/fresh-context-review.js.map +1 -1
  32. package/dist/src/runner/handoff-evidence.d.ts +1 -0
  33. package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
  34. package/dist/src/runner/handoff-evidence.js +3 -0
  35. package/dist/src/runner/handoff-evidence.js.map +1 -1
  36. package/dist/src/runner/issue-state-machine.d.ts +1 -1
  37. package/dist/src/runner/issue-state-machine.d.ts.map +1 -1
  38. package/dist/src/runner/issue-state-machine.js +5 -0
  39. package/dist/src/runner/issue-state-machine.js.map +1 -1
  40. package/dist/src/runner/issue-tree.d.ts.map +1 -1
  41. package/dist/src/runner/issue-tree.js +0 -12
  42. package/dist/src/runner/issue-tree.js.map +1 -1
  43. package/dist/src/runner/lifecycle-events.d.ts +44 -0
  44. package/dist/src/runner/lifecycle-events.d.ts.map +1 -0
  45. package/dist/src/runner/lifecycle-events.js +108 -0
  46. package/dist/src/runner/lifecycle-events.js.map +1 -0
  47. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  48. package/dist/src/runner/plan-auto-command.js +121 -15
  49. package/dist/src/runner/plan-auto-command.js.map +1 -1
  50. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  51. package/dist/src/runner/scoped-auto-command.js +130 -0
  52. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  53. package/dist/src/runner/status-command.d.ts +21 -0
  54. package/dist/src/runner/status-command.d.ts.map +1 -1
  55. package/dist/src/runner/status-command.js +26 -2
  56. package/dist/src/runner/status-command.js.map +1 -1
  57. package/dist/src/setup/project-config.d.ts.map +1 -1
  58. package/dist/src/setup/project-config.js +22 -4
  59. package/dist/src/setup/project-config.js.map +1 -1
  60. package/dist/src/setup/setup-command.d.ts +0 -1
  61. package/dist/src/setup/setup-command.d.ts.map +1 -1
  62. package/dist/src/setup/setup-command.js +34 -2
  63. package/dist/src/setup/setup-command.js.map +1 -1
  64. package/dist/src/setup/workflows.d.ts +1 -2
  65. package/dist/src/setup/workflows.d.ts.map +1 -1
  66. package/dist/src/setup/workflows.js +8 -32
  67. package/dist/src/setup/workflows.js.map +1 -1
  68. package/docs/deep-dive.md +6 -3
  69. package/package.json +8 -1
  70. package/prompts/workflows/breakdown-review.md +46 -3
  71. package/prompts/workflows/issue-breakdown.md +116 -3
  72. package/prompts/workflows/issue-tree-orchestration.md +156 -3
  73. package/prompts/workflows/prd.md +68 -3
  74. package/prompts/workflows/scoped-implementation.md +81 -22
  75. package/prompts/workflows/triage.md +137 -3
@@ -9,10 +9,12 @@ import { formatSessionTimestamp, readRunnerConfig, runConfiguredChecks, } from '
9
9
  import { buildChildBlockedReport, buildChildReviewReport, buildIssueTreePullRequestBody, buildIssueTreeReviewReport, buildParentBlockedReport, } from './handoff-evidence.js';
10
10
  import { writeDurableRunSummary } from './durable-run-summary.js';
11
11
  import { runFreshContextReviewIfEnabled } from './fresh-context-review.js';
12
+ import { writeContextSnapshot } from './context-snapshot.js';
12
13
  import { readPlanAutoCompletionReport, } from './completion-report.js';
13
14
  import { claimIssue, discoverIssueWork } from './issue-state-machine.js';
14
15
  import { collectExecutableChildBatches, persistAutonomousChildNode, readAutonomousChildNodes, topologicalPlanNodes, } from './issue-tree.js';
15
16
  import { runImplementationPublishabilityCheck } from './local-execution-session.js';
17
+ import { RunnerLifecycleEventStore } from './lifecycle-events.js';
16
18
  import { RunnerStateStore } from './local-state.js';
17
19
  import { buildIssueTreeChildPrompt, buildPlanAutoPrompt, sessionPromptPath, sessionReportPath, writeDurablePrompt, } from './prompt.js';
18
20
  import { shouldRequestImplementationRework } from './rework-policy.js';
@@ -52,10 +54,14 @@ export async function runPlanAutoCommand(options) {
52
54
  let promptPath = '';
53
55
  let reportPath = '';
54
56
  let logPath = '';
57
+ let sessionId = '';
58
+ let parentSnapshotPath = '';
55
59
  const childIssues = [];
56
60
  let pullRequest;
57
61
  let store;
58
62
  const executionResults = [];
63
+ const events = new RunnerLifecycleEventStore(targetRoot, config);
64
+ const buildBase = () => baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues, sessionId, parentSnapshotPath);
59
65
  await claimIssue(issueAdapter, config, options.issueNumber, 'plan-parent', now);
60
66
  try {
61
67
  await git.createIssueWorktree({
@@ -64,7 +70,7 @@ export async function runPlanAutoCommand(options) {
64
70
  branchName,
65
71
  baseBranch: config.branches.base,
66
72
  });
67
- const sessionId = `plan-${options.issueNumber}-${formatSessionTimestamp(now)}`;
73
+ sessionId = `plan-${options.issueNumber}-${formatSessionTimestamp(now)}`;
68
74
  promptPath = sessionPromptPath({ targetRoot, config, issueNumber: options.issueNumber, sessionId });
69
75
  reportPath = sessionReportPath({ targetRoot, config, issueNumber: options.issueNumber, sessionId });
70
76
  logPath = sessionLogPath({ targetRoot, config, issueNumber: options.issueNumber, sessionId });
@@ -87,6 +93,33 @@ export async function runPlanAutoCommand(options) {
87
93
  sessionId,
88
94
  promptText,
89
95
  });
96
+ const snapshot = await writeContextSnapshot({
97
+ targetRoot,
98
+ config,
99
+ issue: parentIssue,
100
+ mode: 'plan-parent',
101
+ phase: 'plan-parent',
102
+ decision: 'parent planning session',
103
+ sessionId,
104
+ worktreePath,
105
+ promptPath,
106
+ reportPath,
107
+ logPath,
108
+ branchName,
109
+ baseBranch: config.branches.base,
110
+ createdAt: now,
111
+ });
112
+ parentSnapshotPath = snapshot.path;
113
+ await safeAppendEvent(events, {
114
+ timestamp: now,
115
+ issueNumber: options.issueNumber,
116
+ mode: 'plan-parent',
117
+ sessionId,
118
+ phase: 'plan-parent',
119
+ status: 'started',
120
+ summary: 'Starting parent planning Codex session.',
121
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshot.path),
122
+ });
90
123
  store = new RunnerStateStore(targetRoot, config);
91
124
  await store.upsertRun({
92
125
  issueNumber: options.issueNumber,
@@ -115,6 +148,7 @@ export async function runPlanAutoCommand(options) {
115
148
  issueNumber: options.issueNumber,
116
149
  sessionId,
117
150
  branchName,
151
+ phase: 'plan-parent',
118
152
  logPath,
119
153
  });
120
154
  }
@@ -122,20 +156,20 @@ export async function runPlanAutoCommand(options) {
122
156
  await cleanupSessionCodexHome(isolatedHomePath);
123
157
  }
124
158
  const afterHead = await git.getHead(worktreePath);
125
- const base = baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues);
159
+ const base = buildBase();
126
160
  if (beforeHead !== afterHead) {
127
- return finishPlanBlocked(issueAdapter, config, base, ['Planning session changed git HEAD; planning must not commit.'], []);
161
+ return finishPlanBlocked(issueAdapter, config, events, base, ['Planning session changed git HEAD; planning must not commit.'], []);
128
162
  }
129
163
  const changedFiles = await git.listChangedFiles(worktreePath);
130
164
  if (changedFiles.length > 0) {
131
- return finishPlanBlocked(issueAdapter, config, base, ['Planning session changed repository files; planning must return structured output only.'], []);
165
+ return finishPlanBlocked(issueAdapter, config, events, base, ['Planning session changed repository files; planning must return structured output only.'], []);
132
166
  }
133
167
  if (codexResult.exitCode !== 0) {
134
- return finishPlanBlocked(issueAdapter, config, base, [`Codex exited with code ${codexResult.exitCode}: ${codexResult.stderr || codexResult.stdout}`], []);
168
+ return finishPlanBlocked(issueAdapter, config, events, base, [`Codex exited with code ${codexResult.exitCode}: ${codexResult.stderr || codexResult.stdout}`], []);
135
169
  }
136
170
  const reportRead = await readPlanReport(reportPath);
137
171
  if (reportRead.kind === 'missing') {
138
- return finishPlanBlocked(issueAdapter, config, base, ['Codex did not write CODEX_ORCHESTRATOR_REPORT_FILE; runner cannot prove planning graph.'], []);
172
+ return finishPlanBlocked(issueAdapter, config, events, base, ['Codex did not write CODEX_ORCHESTRATOR_REPORT_FILE; runner cannot prove planning graph.'], []);
139
173
  }
140
174
  const report = reportRead.report;
141
175
  await issueAdapter.updateIssue(options.issueNumber, {
@@ -149,7 +183,7 @@ export async function runPlanAutoCommand(options) {
149
183
  const childNodes = await readAutonomousChildNodes(issueAdapter, config, options.issueNumber, childIssues);
150
184
  const batches = collectExecutableChildBatches(childNodes, config);
151
185
  if (!batches.ok) {
152
- return finishPlanBlocked(issueAdapter, config, base, batches.errors, childIssues);
186
+ return finishPlanBlocked(issueAdapter, config, events, base, batches.errors, childIssues);
153
187
  }
154
188
  for (const batch of batches.batches) {
155
189
  const settled = await Promise.allSettled(batch.map((child) => executeChild({
@@ -165,6 +199,7 @@ export async function runPlanAutoCommand(options) {
165
199
  shellExecutor,
166
200
  issueTreeWorkflowPrompt,
167
201
  now,
202
+ events,
168
203
  })));
169
204
  const failures = [];
170
205
  for (const [index, result] of settled.entries()) {
@@ -182,7 +217,7 @@ export async function runPlanAutoCommand(options) {
182
217
  const successful = settled.flatMap((result) => result.status === 'fulfilled' ? [result.value] : []);
183
218
  await blockFailedBatch(issueAdapter, config, options.issueNumber, failures, successful);
184
219
  await blockCompletedChildren(issueAdapter, config, store, options.issueNumber, executionResults, 'A later child batch failed before parent publication.', worktreePath);
185
- return finishPlanBlocked(issueAdapter, config, baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues), [
220
+ return finishPlanBlocked(issueAdapter, config, events, buildBase(), [
186
221
  'Child batch failed before merge; no child from the failed batch was merged, pushed, or published.',
187
222
  ...failures.map((failure) => failure.child ? `#${failure.child.issue.number}: ${failure.message}` : failure.message),
188
223
  ], childIssues);
@@ -201,7 +236,7 @@ export async function runPlanAutoCommand(options) {
201
236
  if (error instanceof GitMergeConflictError) {
202
237
  await handleMergeConflict(git, issueAdapter, config, options.issueNumber, error, childResult, orderedBatchResults);
203
238
  await blockCompletedChildren(issueAdapter, config, store, options.issueNumber, executionResults, `A later merge conflict stopped parent publication before ${branchName} was pushed.`, worktreePath);
204
- return finishPlanBlocked(issueAdapter, config, baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues), [
239
+ return finishPlanBlocked(issueAdapter, config, events, buildBase(), [
205
240
  `Merge conflict while merging #${childResult.child.issue.number} from ${childResult.branchName}.`,
206
241
  error.stderr || error.stdout,
207
242
  ], childIssues);
@@ -218,7 +253,7 @@ export async function runPlanAutoCommand(options) {
218
253
  const failedFinalValidation = finalValidation.filter((line) => line.status === 'failed');
219
254
  if (failedFinalValidation.length > 0) {
220
255
  await blockCompletedChildren(issueAdapter, config, store, options.issueNumber, executionResults, 'Parent integration configured checks failed before publication.', worktreePath);
221
- return finishPlanBlocked(issueAdapter, config, baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues), [
256
+ return finishPlanBlocked(issueAdapter, config, events, buildBase(), [
222
257
  'One or more configured checks failed.',
223
258
  ...failedFinalValidation.map((line) => `${line.command}: ${line.status} - ${line.summary}`),
224
259
  ], childIssues);
@@ -247,8 +282,20 @@ export async function runPlanAutoCommand(options) {
247
282
  await issueAdapter.addLabels(options.issueNumber, [config.github.labels.review.name]);
248
283
  await issueAdapter.postComment(options.issueNumber, reportComment);
249
284
  await store.removeRun(options.issueNumber);
285
+ await safeAppendEvent(events, {
286
+ issueNumber: options.issueNumber,
287
+ mode: 'plan-parent',
288
+ sessionId,
289
+ phase: 'plan-parent',
290
+ status: 'completed',
291
+ summary: 'Issue-tree execution completed draft PR handoff.',
292
+ artifacts: [
293
+ ...sessionArtifacts(promptPath, reportPath, logPath, parentSnapshotPath),
294
+ { kind: 'pr', url: pullRequest.url, description: 'Draft pull request' },
295
+ ],
296
+ });
250
297
  return {
251
- ...baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues),
298
+ ...buildBase(),
252
299
  status: 'review-ready',
253
300
  pullRequest,
254
301
  reportComment,
@@ -262,7 +309,7 @@ export async function runPlanAutoCommand(options) {
262
309
  if (store && executionResults.length > 0) {
263
310
  await blockCompletedChildren(issueAdapter, config, store, options.issueNumber, executionResults, `Parent publication failed before review handoff: ${message}`, worktreePath);
264
311
  }
265
- return finishPlanBlocked(issueAdapter, config, baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues), [message], childIssues);
312
+ return finishPlanBlocked(issueAdapter, config, events, buildBase(), [message], childIssues);
266
313
  }
267
314
  }
268
315
  async function readPlanReport(reportPath) {
@@ -371,6 +418,7 @@ async function executeChild(input) {
371
418
  let publishability;
372
419
  let rework;
373
420
  for (let attempt = 0; attempt <= input.config.loopPolicy.rework.maxAttempts; attempt++) {
421
+ const attemptNow = new Date(input.now.getTime() + attempt);
374
422
  const attemptPromptText = rework
375
423
  ? `${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')}\nAddress the blockers, then produce a fresh completion report JSON for the runner.`
376
424
  : promptText;
@@ -381,6 +429,37 @@ async function executeChild(input) {
381
429
  sessionId,
382
430
  promptText: attemptPromptText,
383
431
  });
432
+ const snapshot = await writeContextSnapshot({
433
+ targetRoot: input.targetRoot,
434
+ config: input.config,
435
+ issue: input.child.issue,
436
+ mode: 'tree-child',
437
+ phase: 'tree-child',
438
+ decision: rework
439
+ ? `tree-child rework attempt #${rework.attempt} under parent #${input.parentIssue.number}`
440
+ : `child issue execution under parent #${input.parentIssue.number}`,
441
+ sessionId,
442
+ worktreePath,
443
+ promptPath,
444
+ reportPath,
445
+ logPath,
446
+ branchName,
447
+ baseBranch: input.parentBranchName,
448
+ parentIssueNumber: input.parentIssue.number,
449
+ blockedBy: [],
450
+ createdAt: attemptNow,
451
+ });
452
+ await safeAppendEvent(input.events, {
453
+ timestamp: attemptNow,
454
+ issueNumber: childIssueNumber,
455
+ parentIssueNumber: input.parentIssue.number,
456
+ mode: 'tree-child',
457
+ sessionId,
458
+ phase: 'tree-child',
459
+ status: 'started',
460
+ summary: rework ? `Starting tree-child rework attempt #${rework.attempt}.` : 'Starting tree-child Codex session.',
461
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshot.path),
462
+ });
384
463
  const beforeHead = await input.git.getHead(worktreePath);
385
464
  let codexResult;
386
465
  try {
@@ -395,6 +474,7 @@ async function executeChild(input) {
395
474
  issueNumber: childIssueNumber,
396
475
  sessionId,
397
476
  branchName,
477
+ phase: 'tree-child',
398
478
  logPath,
399
479
  });
400
480
  }
@@ -602,7 +682,7 @@ async function blockCompletedChildren(issueAdapter, config, store, parentIssueNu
602
682
  await store.removeRun(result.child.issue.number);
603
683
  }
604
684
  }
605
- async function finishPlanBlocked(issueAdapter, config, result, reasons, mutatedChildren) {
685
+ async function finishPlanBlocked(issueAdapter, config, events, result, reasons, mutatedChildren) {
606
686
  const reportComment = buildParentBlockedReport({
607
687
  parentIssueNumber: result.parentIssueNumber,
608
688
  reasons,
@@ -612,6 +692,15 @@ async function finishPlanBlocked(issueAdapter, config, result, reasons, mutatedC
612
692
  await issueAdapter.removeLabels(result.parentIssueNumber, [config.github.labels.running.name]);
613
693
  await issueAdapter.addLabels(result.parentIssueNumber, [config.github.labels.blocked.name]);
614
694
  await issueAdapter.postComment(result.parentIssueNumber, reportComment);
695
+ await safeAppendEvent(events, {
696
+ issueNumber: result.parentIssueNumber,
697
+ mode: 'plan-parent',
698
+ sessionId: result.sessionId,
699
+ phase: 'plan-parent',
700
+ status: 'blocked',
701
+ summary: `Issue-tree execution blocked: ${reasons[0] ?? 'blocked'}`,
702
+ artifacts: sessionArtifacts(result.promptPath, result.reportPath, result.logPath, result.snapshotPath),
703
+ });
615
704
  return { ...result, status: 'blocked', reportComment };
616
705
  }
617
706
  function dependencyIssuesFor(child, allChildren) {
@@ -624,7 +713,24 @@ function dependencyIssuesFor(child, allChildren) {
624
713
  function renderParentTemplate(template, parentIssueNumber) {
625
714
  return template.replaceAll('${parentIssueNumber}', String(parentIssueNumber));
626
715
  }
627
- function baseResult(parentIssueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues) {
628
- return { parentIssueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues };
716
+ function sessionArtifacts(promptPath, reportPath, logPath, snapshotPath) {
717
+ const artifacts = [
718
+ snapshotPath ? { kind: 'snapshot', path: snapshotPath, description: 'Context snapshot' } : undefined,
719
+ promptPath ? { kind: 'prompt', path: promptPath, description: 'Session prompt path' } : undefined,
720
+ reportPath ? { kind: 'report', path: reportPath, description: 'Session report path' } : undefined,
721
+ logPath ? { kind: 'log', path: logPath, description: 'Session log path' } : undefined,
722
+ ];
723
+ return artifacts.filter((artifact) => Boolean(artifact));
724
+ }
725
+ async function safeAppendEvent(store, input) {
726
+ try {
727
+ await store.append(input);
728
+ }
729
+ catch {
730
+ // Diagnostics evidence must not alter the runner publication outcome.
731
+ }
732
+ }
733
+ function baseResult(parentIssueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues, sessionId, snapshotPath) {
734
+ return { parentIssueNumber, branchName, worktreePath, promptPath, reportPath, logPath, childIssues, sessionId, snapshotPath };
629
735
  }
630
736
  //# sourceMappingURL=plan-auto-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-auto-command.js","sourceRoot":"","sources":["../../../src/runner/plan-auto-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-auto-command.js","sourceRoot":"","sources":["../../../src/runner/plan-auto-command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIzH,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAgB/F,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,8BAA8B,CAAC;AAYtC,MAAM,WAAW,wBAAwB;IACvC,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,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,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,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA+T9G"}
1
+ {"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIzH,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAiB/F,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,8BAA8B,CAAC;AAatC,MAAM,WAAW,wBAAwB;IACvC,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,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,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,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA+a9G"}
@@ -10,8 +10,10 @@ import { buildPromotionRequestReport, buildScopedBlockedReport, buildScopedPullR
10
10
  import { writeDurableRunSummary } from './durable-run-summary.js';
11
11
  import { runFreshContextReviewIfEnabled } from './fresh-context-review.js';
12
12
  import { claimIssue, discoverIssueWork } from './issue-state-machine.js';
13
+ import { writeContextSnapshot } from './context-snapshot.js';
13
14
  import { runImplementationPublishabilityCheck, } from './local-execution-session.js';
14
15
  import { RunnerStateStore } from './local-state.js';
16
+ import { RunnerLifecycleEventStore } from './lifecycle-events.js';
15
17
  import { buildScopedImplementationPrompt, sessionPromptPath, sessionReportPath, writeDurablePrompt, } from './prompt.js';
16
18
  import { shouldRequestImplementationRework } from './rework-policy.js';
17
19
  import { sessionLogPath } from './run-log.js';
@@ -47,9 +49,19 @@ export async function runScopedAutoCommand(options) {
47
49
  let reportPath = '';
48
50
  let logPath = '';
49
51
  let sessionId = '';
52
+ let snapshotPath = '';
50
53
  let pullRequest;
51
54
  const store = new RunnerStateStore(targetRoot, config);
55
+ const events = new RunnerLifecycleEventStore(targetRoot, config);
52
56
  await claimIssue(issueAdapter, config, options.issueNumber, 'scoped-issue', now);
57
+ await safeAppendEvent(events, {
58
+ timestamp: now,
59
+ issueNumber: options.issueNumber,
60
+ mode: 'scoped-issue',
61
+ phase: 'scoped-issue',
62
+ status: 'started',
63
+ summary: 'Issue claimed for scoped autonomous work.',
64
+ });
53
65
  try {
54
66
  await git.ensureIssueWorktree({
55
67
  targetRoot,
@@ -87,6 +99,23 @@ export async function runScopedAutoCommand(options) {
87
99
  sessionId,
88
100
  promptText,
89
101
  });
102
+ const snapshot = await writeContextSnapshot({
103
+ targetRoot,
104
+ config,
105
+ issue,
106
+ mode: 'scoped-issue',
107
+ phase: 'scoped-issue',
108
+ decision: 'has configured auto label and no blocking state labels',
109
+ sessionId,
110
+ worktreePath,
111
+ promptPath,
112
+ reportPath,
113
+ logPath,
114
+ branchName,
115
+ baseBranch: config.branches.base,
116
+ createdAt: attemptNow,
117
+ });
118
+ snapshotPath = snapshot.path;
90
119
  await store.upsertRun({
91
120
  issueNumber: options.issueNumber,
92
121
  mode: 'scoped-issue',
@@ -100,6 +129,16 @@ export async function runScopedAutoCommand(options) {
100
129
  createdAt: now.toISOString(),
101
130
  updatedAt: attemptNow.toISOString(),
102
131
  });
132
+ await safeAppendEvent(events, {
133
+ timestamp: attemptNow,
134
+ issueNumber: options.issueNumber,
135
+ mode: 'scoped-issue',
136
+ sessionId,
137
+ phase: 'scoped-issue',
138
+ status: 'started',
139
+ summary: 'Starting scoped Codex implementation session.',
140
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
141
+ });
103
142
  const beforeHead = await git.getHead(worktreePath);
104
143
  let codexResult;
105
144
  try {
@@ -114,6 +153,7 @@ export async function runScopedAutoCommand(options) {
114
153
  issueNumber: options.issueNumber,
115
154
  sessionId,
116
155
  branchName,
156
+ phase: 'scoped-issue',
117
157
  timeoutMs: codexTimeoutMs,
118
158
  logPath,
119
159
  });
@@ -136,6 +176,15 @@ export async function runScopedAutoCommand(options) {
136
176
  localPhases: options.localPhases,
137
177
  localPhaseExecutor: options.localPhaseExecutor,
138
178
  });
179
+ await safeAppendEvent(events, {
180
+ issueNumber: options.issueNumber,
181
+ mode: 'scoped-issue',
182
+ sessionId,
183
+ phase: 'quality-review',
184
+ status: publishability.status === 'blocked' ? 'blocked' : 'completed',
185
+ summary: `Runner publishability gate returned ${publishability.status}.`,
186
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
187
+ });
139
188
  if (publishability.status === 'blocked'
140
189
  && attempt < maxReworkAttempts
141
190
  && shouldRequestImplementationRework(publishability.reasons, config)) {
@@ -163,6 +212,15 @@ export async function runScopedAutoCommand(options) {
163
212
  logPath,
164
213
  reportPath,
165
214
  });
215
+ await safeAppendEvent(events, {
216
+ issueNumber: options.issueNumber,
217
+ mode: 'scoped-issue',
218
+ sessionId,
219
+ phase: 'scoped-issue',
220
+ status: 'blocked',
221
+ summary: 'Scoped implementation requested promotion instead of direct publication.',
222
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath, durableRunSummary?.path),
223
+ });
166
224
  return finishPromotionRequested(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, publishability.report, durableRunSummary);
167
225
  }
168
226
  if (publishability.status === 'blocked') {
@@ -182,6 +240,15 @@ export async function runScopedAutoCommand(options) {
182
240
  logPath,
183
241
  reportPath,
184
242
  });
243
+ await safeAppendEvent(events, {
244
+ issueNumber: options.issueNumber,
245
+ mode: 'scoped-issue',
246
+ sessionId,
247
+ phase: 'scoped-issue',
248
+ status: 'blocked',
249
+ summary: 'Scoped implementation blocked before draft PR handoff.',
250
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath, durableRunSummary?.path),
251
+ });
185
252
  return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, publishability.reasons, publishability.changedFiles, publishability.skippedChecks, publishability.residualRisks, undefined, durableRunSummary);
186
253
  }
187
254
  const freshContextReview = await runFreshContextReviewIfEnabled({
@@ -211,6 +278,15 @@ export async function runScopedAutoCommand(options) {
211
278
  logPath,
212
279
  reportPath,
213
280
  });
281
+ await safeAppendEvent(events, {
282
+ issueNumber: options.issueNumber,
283
+ mode: 'scoped-issue',
284
+ sessionId,
285
+ phase: 'fresh-context-review',
286
+ status: 'blocked',
287
+ summary: 'Fresh-Context Review blocked scoped publication.',
288
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath, durableRunSummary?.path),
289
+ });
214
290
  return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, ['Fresh-Context Review blocked publication', ...freshContextReview.findings], publishability.changedFiles, publishability.skippedChecks, [...publishability.residualRisks, ...freshContextReview.residualRisks], freshContextReview, durableRunSummary);
215
291
  }
216
292
  const durableRunSummary = await writeDurableRunSummary({
@@ -271,6 +347,18 @@ export async function runScopedAutoCommand(options) {
271
347
  await issueAdapter.addLabels(options.issueNumber, [config.github.labels.review.name]);
272
348
  await issueAdapter.postComment(options.issueNumber, reportComment);
273
349
  await store.removeRun(options.issueNumber);
350
+ await safeAppendEvent(events, {
351
+ issueNumber: options.issueNumber,
352
+ mode: 'scoped-issue',
353
+ sessionId,
354
+ phase: 'scoped-issue',
355
+ status: 'completed',
356
+ summary: 'Scoped implementation passed runner gates and completed draft PR handoff.',
357
+ artifacts: [
358
+ ...sessionArtifacts(promptPath, reportPath, logPath, freshContextReview?.snapshotPath ?? snapshotPath, durableRunSummary?.path),
359
+ { kind: 'pr', url: pullRequest.url, description: 'Draft pull request' },
360
+ ],
361
+ });
274
362
  return {
275
363
  ...baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath),
276
364
  status: 'review-ready',
@@ -281,11 +369,50 @@ export async function runScopedAutoCommand(options) {
281
369
  catch (error) {
282
370
  const message = error instanceof Error ? error.message : 'scoped execution failed';
283
371
  if (pullRequest) {
372
+ await safeAppendEvent(events, {
373
+ issueNumber: options.issueNumber,
374
+ mode: 'scoped-issue',
375
+ sessionId: sessionId || undefined,
376
+ phase: 'scoped-issue',
377
+ status: 'failed',
378
+ summary: `Scoped execution failed after draft PR creation: ${message}`,
379
+ artifacts: [
380
+ ...sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
381
+ { kind: 'pr', url: pullRequest.url, description: 'Draft pull request' },
382
+ ],
383
+ });
284
384
  throw new Error(`Scoped execution failed after draft PR creation (${pullRequest.url}); not marking issue blocked: ${message}`);
285
385
  }
386
+ await safeAppendEvent(events, {
387
+ issueNumber: options.issueNumber,
388
+ mode: 'scoped-issue',
389
+ sessionId: sessionId || undefined,
390
+ phase: 'scoped-issue',
391
+ status: 'blocked',
392
+ summary: `Scoped execution failed before draft PR handoff: ${message}`,
393
+ artifacts: sessionArtifacts(promptPath, reportPath, logPath, snapshotPath),
394
+ });
286
395
  return finishBlocked(baseResult(options.issueNumber, branchName, worktreePath, promptPath, reportPath, logPath), issueAdapter, config, [message], [], [], []);
287
396
  }
288
397
  }
398
+ function sessionArtifacts(promptPath, reportPath, logPath, snapshotPath, durableSummaryPath) {
399
+ const artifacts = [
400
+ snapshotPath ? { kind: 'snapshot', path: snapshotPath, description: 'Context snapshot' } : undefined,
401
+ promptPath ? { kind: 'prompt', path: promptPath, description: 'Session prompt path' } : undefined,
402
+ reportPath ? { kind: 'report', path: reportPath, description: 'Session report path' } : undefined,
403
+ logPath ? { kind: 'log', path: logPath, description: 'Session log path' } : undefined,
404
+ durableSummaryPath ? { kind: 'durable-summary', path: durableSummaryPath, description: 'Durable run summary' } : undefined,
405
+ ];
406
+ return artifacts.filter((artifact) => Boolean(artifact));
407
+ }
408
+ async function safeAppendEvent(store, input) {
409
+ try {
410
+ await store.append(input);
411
+ }
412
+ catch {
413
+ // Lifecycle evidence must not create a new publication blocker after runner gates pass.
414
+ }
415
+ }
289
416
  async function readWorkflowPrompt(path) {
290
417
  try {
291
418
  return await readFile(path, 'utf8');
@@ -327,6 +454,9 @@ function renderTemplate(template, issueNumber) {
327
454
  return template.replaceAll('${issueNumber}', String(issueNumber));
328
455
  }
329
456
  function selectCodexTimeoutMs(config, issue) {
457
+ if (config.codex.profiles?.['scoped-issue']?.timeoutMs) {
458
+ return undefined;
459
+ }
330
460
  if (!config.codex.mobileTimeoutMs || !isMobileIssue(issue)) {
331
461
  return undefined;
332
462
  }