codex-orchestrator 2.0.4 → 2.0.5
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 +23 -0
- package/README.md +29 -3
- package/dist/src/v2/acceptance-proof.d.ts +5 -0
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
- package/dist/src/v2/acceptance-proof.js +10 -2
- package/dist/src/v2/acceptance-proof.js.map +1 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts +7 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.js +288 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
- package/dist/src/v2/adapters/pull-requests.d.ts +69 -0
- package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
- package/dist/src/v2/adapters/pull-requests.js +48 -0
- package/dist/src/v2/adapters/pull-requests.js.map +1 -1
- package/dist/src/v2/adapters/worktree.d.ts +1 -0
- package/dist/src/v2/adapters/worktree.d.ts.map +1 -1
- package/dist/src/v2/adapters/worktree.js +10 -1
- package/dist/src/v2/adapters/worktree.js.map +1 -1
- package/dist/src/v2/cli.d.ts +9 -0
- package/dist/src/v2/cli.d.ts.map +1 -1
- package/dist/src/v2/cli.js +38 -11
- package/dist/src/v2/cli.js.map +1 -1
- package/dist/src/v2/config.d.ts +0 -1
- package/dist/src/v2/config.d.ts.map +1 -1
- package/dist/src/v2/config.js +0 -3
- package/dist/src/v2/config.js.map +1 -1
- package/dist/src/v2/containment.d.ts +11 -2
- package/dist/src/v2/containment.d.ts.map +1 -1
- package/dist/src/v2/containment.js +35 -7
- package/dist/src/v2/containment.js.map +1 -1
- package/dist/src/v2/direct-delivery.d.ts +1 -1
- package/dist/src/v2/direct-delivery.d.ts.map +1 -1
- package/dist/src/v2/direct-delivery.js +9 -3
- package/dist/src/v2/direct-delivery.js.map +1 -1
- package/dist/src/v2/review-feedback-coordinator.d.ts +54 -0
- package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -0
- package/dist/src/v2/review-feedback-coordinator.js +245 -0
- package/dist/src/v2/review-feedback-coordinator.js.map +1 -0
- package/dist/src/v2/review-feedback.d.ts +127 -0
- package/dist/src/v2/review-feedback.d.ts.map +1 -0
- package/dist/src/v2/review-feedback.js +436 -0
- package/dist/src/v2/review-feedback.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +57 -0
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +701 -36
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-store.d.ts +45 -1
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +113 -4
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +37 -0
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +120 -5
- package/dist/src/v2/runtime.js.map +1 -1
- package/dist/src/v2/setup.js +1 -1
- package/dist/src/v2/setup.js.map +1 -1
- package/docs/deep-dive.md +61 -5
- package/internal-workflow/docs/agents/contract-test-ledger.md +11 -1
- package/internal-workflow/evals/coding-skill-evals.json +18 -0
- package/internal-workflow/manifest.json +1 -1
- package/internal-workflow/skills/code-debugger/SKILL.md +3 -3
- package/internal-workflow/skills/code-review/SKILL.md +18 -6
- package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +1 -1
- package/internal-workflow/skills/spec-implementer/references/review-loop.md +7 -1
- package/internal-workflow/skills/tdd/SKILL.md +5 -4
- package/internal-workflow/skills/tdd/evals/evals.json +18 -0
- package/internal-workflow/skills/tdd/mocking.md +3 -42
- package/internal-workflow/skills/tdd/refactoring.md +6 -8
- package/package.json +1 -1
package/dist/src/v2/run-store.js
CHANGED
|
@@ -4,6 +4,7 @@ import { validateRouteExecution, validateRouteReceipt, validateRouteStateInvaria
|
|
|
4
4
|
import { validateWaitingHumanExecution } from './waiting-human.js';
|
|
5
5
|
import { posix } from 'node:path';
|
|
6
6
|
import { AtomicStateFile } from './atomic-store.js';
|
|
7
|
+
import { createReviewFeedbackBootstrap, validateReviewFeedbackExecution, } from './review-feedback.js';
|
|
7
8
|
const SHA256_PATTERN = /^[0-9a-f]{64}$/;
|
|
8
9
|
const GIT_SHA_PATTERN = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/;
|
|
9
10
|
const UUID_V4_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
@@ -47,16 +48,30 @@ export class InMemoryRunRecordWriter {
|
|
|
47
48
|
}
|
|
48
49
|
export function validateRunStateFile(value) {
|
|
49
50
|
assertExactObject(value, ['schema', 'version', 'generation', 'runs'], 'run state');
|
|
50
|
-
if (value.schema !== 'codex-orchestrator.agent-auto-state' || value.version !== 1)
|
|
51
|
+
if (value.schema !== 'codex-orchestrator.agent-auto-state' || (value.version !== 1 && value.version !== 2))
|
|
51
52
|
throw new Error('run state schema/version is invalid');
|
|
52
53
|
if (!Number.isSafeInteger(value.generation) || value.generation <= 0)
|
|
53
54
|
throw new Error('run state generation is invalid');
|
|
54
55
|
validateRuns(value.runs);
|
|
56
|
+
if (value.version === 1) {
|
|
57
|
+
for (const run of value.runs) {
|
|
58
|
+
if (hasOwn(run, 'reviewFeedback'))
|
|
59
|
+
throw new Error('V1 run state cannot contain review feedback');
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
schema: 'codex-orchestrator.agent-auto-state',
|
|
63
|
+
version: 2,
|
|
64
|
+
generation: value.generation,
|
|
65
|
+
runs: value.runs.map((run) => run.lifecycle === 'review-ready'
|
|
66
|
+
? { ...structuredClone(run), reviewFeedback: createReviewFeedbackBootstrap() }
|
|
67
|
+
: structuredClone(run)),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
55
70
|
return value;
|
|
56
71
|
}
|
|
57
72
|
function validateRunStateBody(value) {
|
|
58
73
|
assertExactObject(value, ['schema', 'version', 'runs'], 'run state body');
|
|
59
|
-
if (value.schema !== 'codex-orchestrator.agent-auto-state' || value.version !==
|
|
74
|
+
if (value.schema !== 'codex-orchestrator.agent-auto-state' || value.version !== 2)
|
|
60
75
|
throw new Error('run state schema/version is invalid');
|
|
61
76
|
validateRuns(value.runs);
|
|
62
77
|
}
|
|
@@ -85,6 +100,7 @@ function validateRunRecord(value, field) {
|
|
|
85
100
|
'waitingHuman',
|
|
86
101
|
'directReview',
|
|
87
102
|
'specDelivery',
|
|
103
|
+
'reviewFeedback',
|
|
88
104
|
].filter((key) => hasOwn(value, key));
|
|
89
105
|
assertExactObject(value, [
|
|
90
106
|
'runId', 'issueNumber', 'canonicalRepository', 'baseSha', 'branchName', 'worktreePath', 'lifecycle', 'cycle',
|
|
@@ -185,6 +201,10 @@ function validateRunRecord(value, field) {
|
|
|
185
201
|
throw new Error(`${field}.specDelivery identity binding is invalid`);
|
|
186
202
|
}
|
|
187
203
|
}
|
|
204
|
+
if (hasOwn(value, 'reviewFeedback')) {
|
|
205
|
+
validateReviewFeedbackExecution(value.reviewFeedback);
|
|
206
|
+
validateReviewFeedbackRunInvariant(value, field);
|
|
207
|
+
}
|
|
188
208
|
assertTimestamp(value.createdAt, `${field}.createdAt`);
|
|
189
209
|
assertTimestamp(value.updatedAt, `${field}.updatedAt`);
|
|
190
210
|
const terminal = ['review-ready', 'blocked', 'transport-failed', 'cancelled', 'internal-error'].includes(value.lifecycle);
|
|
@@ -356,6 +376,54 @@ function validateIntent(value, field) {
|
|
|
356
376
|
assertNonEmptyString(value.marker, `${field}.marker`);
|
|
357
377
|
assertSha256(value.bodySha256, `${field}.bodySha256`);
|
|
358
378
|
}
|
|
379
|
+
else if (kind === 'review-activation-labels') {
|
|
380
|
+
assertExactObject(value, ['kind', 'issueNumber', 'batchId', 'expected'], field);
|
|
381
|
+
assertPositiveInteger(value.issueNumber, `${field}.issueNumber`);
|
|
382
|
+
assertSha256(value.batchId, `${field}.batchId`);
|
|
383
|
+
validateStringArray(value.expected, `${field}.expected`);
|
|
384
|
+
}
|
|
385
|
+
else if (kind === 'review-update-commit') {
|
|
386
|
+
assertExactObject(value, ['kind', 'batchId', 'parentSha', 'treeSha', 'message'], field);
|
|
387
|
+
assertSha256(value.batchId, `${field}.batchId`);
|
|
388
|
+
assertGitSha(value.parentSha, `${field}.parentSha`);
|
|
389
|
+
assertGitSha(value.treeSha, `${field}.treeSha`);
|
|
390
|
+
assertNonEmptyString(value.message, `${field}.message`);
|
|
391
|
+
}
|
|
392
|
+
else if (kind === 'review-update-push') {
|
|
393
|
+
assertExactObject(value, ['kind', 'batchId', 'branch', 'priorRemoteSha', 'sha', 'treeSha'], field);
|
|
394
|
+
assertSha256(value.batchId, `${field}.batchId`);
|
|
395
|
+
assertNonEmptyString(value.branch, `${field}.branch`);
|
|
396
|
+
assertGitSha(value.priorRemoteSha, `${field}.priorRemoteSha`);
|
|
397
|
+
assertGitSha(value.sha, `${field}.sha`);
|
|
398
|
+
assertGitSha(value.treeSha, `${field}.treeSha`);
|
|
399
|
+
}
|
|
400
|
+
else if (kind === 'review-summary') {
|
|
401
|
+
assertExactObject(value, ['kind', 'batchId', 'pullRequestNumber', 'pullRequestNodeId', 'marker', 'bodySha256', 'epochHeadSha'], field);
|
|
402
|
+
assertSha256(value.batchId, `${field}.batchId`);
|
|
403
|
+
assertPositiveInteger(value.pullRequestNumber, `${field}.pullRequestNumber`);
|
|
404
|
+
assertNonEmptyString(value.pullRequestNodeId, `${field}.pullRequestNodeId`);
|
|
405
|
+
assertNonEmptyString(value.marker, `${field}.marker`);
|
|
406
|
+
assertSha256(value.bodySha256, `${field}.bodySha256`);
|
|
407
|
+
assertGitSha(value.epochHeadSha, `${field}.epochHeadSha`);
|
|
408
|
+
}
|
|
409
|
+
else if (kind === 'review-final-labels') {
|
|
410
|
+
assertExactObject(value, ['kind', 'issueNumber', 'batchId', 'pullRequestNumber', 'pullRequestNodeId', 'epochHeadSha', 'expected'], field);
|
|
411
|
+
assertPositiveInteger(value.issueNumber, `${field}.issueNumber`);
|
|
412
|
+
assertSha256(value.batchId, `${field}.batchId`);
|
|
413
|
+
assertPositiveInteger(value.pullRequestNumber, `${field}.pullRequestNumber`);
|
|
414
|
+
assertNonEmptyString(value.pullRequestNodeId, `${field}.pullRequestNodeId`);
|
|
415
|
+
assertGitSha(value.epochHeadSha, `${field}.epochHeadSha`);
|
|
416
|
+
validateStringArray(value.expected, `${field}.expected`);
|
|
417
|
+
}
|
|
418
|
+
else if (kind === 'review-blocked-labels') {
|
|
419
|
+
assertExactObject(value, ['kind', 'issueNumber', 'batchId', 'expected', 'blockKind', 'evidenceCode'], field);
|
|
420
|
+
assertPositiveInteger(value.issueNumber, `${field}.issueNumber`);
|
|
421
|
+
assertSha256(value.batchId, `${field}.batchId`);
|
|
422
|
+
validateStringArray(value.expected, `${field}.expected`);
|
|
423
|
+
if (value.blockKind !== 'safety' && value.blockKind !== 'exhausted')
|
|
424
|
+
throw new Error(`${field}.blockKind is invalid`);
|
|
425
|
+
assertNonEmptyString(value.evidenceCode, `${field}.evidenceCode`);
|
|
426
|
+
}
|
|
359
427
|
else {
|
|
360
428
|
throw new Error(`${field}.kind is invalid`);
|
|
361
429
|
}
|
|
@@ -365,8 +433,10 @@ function validateTerminalOutcome(value, field) {
|
|
|
365
433
|
throw new Error(`${field} is invalid`);
|
|
366
434
|
const status = value.status;
|
|
367
435
|
if (status === 'review-ready') {
|
|
368
|
-
assertExactObject(value, ['status', 'pullRequestUrl', 'evidencePath'], field);
|
|
436
|
+
assertExactObject(value, ['status', 'pullRequestUrl', 'evidencePath', ...(hasOwn(value, 'continuationEpoch') ? ['continuationEpoch'] : [])], field);
|
|
369
437
|
assertNonEmptyString(value.pullRequestUrl, `${field}.pullRequestUrl`);
|
|
438
|
+
if (hasOwn(value, 'continuationEpoch'))
|
|
439
|
+
assertGitSha(value.continuationEpoch, `${field}.continuationEpoch`);
|
|
370
440
|
}
|
|
371
441
|
else if (status === 'blocked') {
|
|
372
442
|
assertExactObject(value, ['status', 'kind', 'resumable', 'evidencePath'], field);
|
|
@@ -429,7 +499,46 @@ function validateStringArray(value, field) {
|
|
|
429
499
|
throw new Error(`${field} must be sorted and unique`);
|
|
430
500
|
}
|
|
431
501
|
function emptyRunState() {
|
|
432
|
-
return { schema: 'codex-orchestrator.agent-auto-state', version:
|
|
502
|
+
return { schema: 'codex-orchestrator.agent-auto-state', version: 2, generation: 0, runs: [] };
|
|
503
|
+
}
|
|
504
|
+
function validateReviewFeedbackRunInvariant(run, field) {
|
|
505
|
+
const feedback = run.reviewFeedback;
|
|
506
|
+
const batch = feedback.activeBatch;
|
|
507
|
+
if (batch && (batch.runId !== run.runId || batch.canonicalRepository !== run.canonicalRepository
|
|
508
|
+
|| batch.pullRequest.headRefName !== run.branchName
|
|
509
|
+
|| batch.priorPublishedHeadSha !== feedback.previousPublishedHeadSha)) {
|
|
510
|
+
throw new Error(`${field}.reviewFeedback active batch identity binding is invalid`);
|
|
511
|
+
}
|
|
512
|
+
const retainedQuiescentHistory = (feedback.phase === 'idle' || feedback.phase === 'bootstrap-required') && !batch
|
|
513
|
+
&& run.lifecycle === 'blocked' && run.terminalOutcome?.status === 'blocked';
|
|
514
|
+
if ((feedback.phase === 'bootstrap-required' || feedback.phase === 'idle')
|
|
515
|
+
&& run.lifecycle !== 'review-ready' && !retainedQuiescentHistory) {
|
|
516
|
+
throw new Error(`${field}.reviewFeedback quiescent phase requires review-ready lifecycle`);
|
|
517
|
+
}
|
|
518
|
+
if (['frozen', 'repairing'].includes(feedback.phase) && !['implementing', 'reworking', 'checking', 'proving', 'safe-halt'].includes(run.lifecycle)) {
|
|
519
|
+
throw new Error(`${field}.reviewFeedback active repair phase has invalid lifecycle`);
|
|
520
|
+
}
|
|
521
|
+
if (feedback.phase === 'verified' && run.lifecycle !== 'publishing') {
|
|
522
|
+
throw new Error(`${field}.reviewFeedback verified phase requires publishing lifecycle`);
|
|
523
|
+
}
|
|
524
|
+
if (feedback.phase === 'publishing' && run.lifecycle !== 'publishing') {
|
|
525
|
+
throw new Error(`${field}.reviewFeedback publishing phase requires publishing lifecycle`);
|
|
526
|
+
}
|
|
527
|
+
if (feedback.phase === 'verified' || feedback.phase === 'publishing') {
|
|
528
|
+
const verified = feedback.verifiedReceipt;
|
|
529
|
+
if (!verified || verified.batchId !== batch?.batchId
|
|
530
|
+
|| verified.checkedChangeSha256 !== run.checkedChangeSha256
|
|
531
|
+
|| verified.proofId !== run.proofId
|
|
532
|
+
|| verified.proofId !== run.proofReceipt?.proofId) {
|
|
533
|
+
throw new Error(`${field}.reviewFeedback verification receipt binding is invalid`);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
if (feedback.phase === 'blocked-safety' || feedback.phase === 'blocked-exhausted') {
|
|
537
|
+
if (run.lifecycle !== 'blocked' || run.terminalOutcome?.status !== 'blocked' || run.terminalOutcome.resumable
|
|
538
|
+
|| run.terminalOutcome.kind !== (feedback.phase === 'blocked-safety' ? 'safety' : 'exhausted')) {
|
|
539
|
+
throw new Error(`${field}.reviewFeedback terminal projection mismatch`);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
433
542
|
}
|
|
434
543
|
function isLifecycle(value) {
|
|
435
544
|
return typeof value === 'string' && [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../../src/v2/run-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-store.js","sourceRoot":"","sources":["../../../src/v2/run-store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/v2/runtime.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { GitHubIssueAdapter } from './adapters/issues.js';
|
|
2
2
|
import type { GitHubPullRequestAdapter } from './adapters/pull-requests.js';
|
|
3
|
+
import type { ReviewFeedbackImplementationInvocationV1 } from './review-feedback.js';
|
|
3
4
|
import { type ProcessExecutor } from './adapters/command.js';
|
|
4
5
|
import { type FrozenCriterion, type IssueSnapshot, type ProofAgent } from './acceptance-proof.js';
|
|
5
6
|
import { type CheckedChangeFreshness } from './checked-change.js';
|
|
@@ -23,6 +24,13 @@ export declare class LocalGitRunIssueAdapter implements RunIssueGit {
|
|
|
23
24
|
baseBranch: string;
|
|
24
25
|
baseSha: string;
|
|
25
26
|
}): Promise<void>;
|
|
27
|
+
ensureContinuationWorktree(input: {
|
|
28
|
+
targetRoot: string;
|
|
29
|
+
worktreePath: string;
|
|
30
|
+
branchName: string;
|
|
31
|
+
baseBranch: string;
|
|
32
|
+
publishedHeadSha: string;
|
|
33
|
+
}): Promise<void>;
|
|
26
34
|
inspectWorktree(input: {
|
|
27
35
|
worktreePath: string;
|
|
28
36
|
branchName: string;
|
|
@@ -33,6 +41,7 @@ export declare class LocalGitRunIssueAdapter implements RunIssueGit {
|
|
|
33
41
|
fingerprintDeniedPaths(worktreePath: string, deniedPaths: string[]): Promise<string>;
|
|
34
42
|
private snapshotWithIgnoredUntrackedRoot;
|
|
35
43
|
listChangedFiles(worktreePath: string): Promise<string[]>;
|
|
44
|
+
listChangedFilesIgnoringUntrackedRoot(worktreePath: string, ignoredRoot: string): Promise<string[]>;
|
|
36
45
|
fingerprintChangedFiles(worktreePath: string, changedFiles: string[]): Promise<string>;
|
|
37
46
|
stageAll(worktreePath: string): Promise<void>;
|
|
38
47
|
getTreeSha(worktreePath: string): Promise<string>;
|
|
@@ -76,8 +85,35 @@ export declare class ContainedImplementationAgent {
|
|
|
76
85
|
reworkFindings: string[];
|
|
77
86
|
repairOnly: boolean;
|
|
78
87
|
workflowGeneration: WorkflowGenerationReceipt;
|
|
88
|
+
reviewFeedbackRound?: number;
|
|
89
|
+
reviewFeedback?: Array<{
|
|
90
|
+
id: string;
|
|
91
|
+
sourceUrl: string;
|
|
92
|
+
path: string | null;
|
|
93
|
+
line: number | null;
|
|
94
|
+
body: string;
|
|
95
|
+
}>;
|
|
96
|
+
onPrepared?: (input: {
|
|
97
|
+
attemptId: string;
|
|
98
|
+
reportPath: string;
|
|
99
|
+
preparedAt: string;
|
|
100
|
+
baseline: Omit<CheckedChangeFreshness, 'checkPolicySha256'>;
|
|
101
|
+
}) => Promise<void>;
|
|
102
|
+
onLaunched?: (input: {
|
|
103
|
+
attemptId: string;
|
|
104
|
+
pid: number;
|
|
105
|
+
processGroupId: number;
|
|
106
|
+
launchedAt: string;
|
|
107
|
+
}) => Promise<void>;
|
|
79
108
|
signal: AbortSignal;
|
|
80
109
|
}): Promise<ImplementationAgentResult>;
|
|
110
|
+
recover(input: {
|
|
111
|
+
runId: string;
|
|
112
|
+
canonicalRepository: string;
|
|
113
|
+
invocation: ReviewFeedbackImplementationInvocationV1;
|
|
114
|
+
}): Promise<Extract<ImplementationAgentResult, {
|
|
115
|
+
kind: 'completed';
|
|
116
|
+
}> | undefined>;
|
|
81
117
|
}
|
|
82
118
|
export declare class ContainedProofAgent implements ProofAgent {
|
|
83
119
|
private readonly dependencies;
|
|
@@ -104,6 +140,7 @@ export interface V2Runtime {
|
|
|
104
140
|
abort(): void;
|
|
105
141
|
dispose(): void;
|
|
106
142
|
}
|
|
143
|
+
export declare function resolveCodexExecutable(command: string, safePath: string): Promise<string>;
|
|
107
144
|
export declare function createV2Runtime(input: {
|
|
108
145
|
targetRoot: string;
|
|
109
146
|
orchestratorHome: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/v2/runtime.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/v2/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/src/v2/runtime.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { constants } from 'node:fs';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { spawn } from 'node:child_process';
|
|
4
|
-
import { lstat, mkdir, open, readFile, readdir, readlink, realpath, rm } from 'node:fs/promises';
|
|
4
|
+
import { access, lstat, mkdir, open, readFile, readdir, readlink, realpath, rm } from 'node:fs/promises';
|
|
5
5
|
import { homedir, hostname } from 'node:os';
|
|
6
6
|
import { basename, dirname, isAbsolute, join, posix, relative, resolve } from 'node:path';
|
|
7
7
|
import { writeDurableAtomicFile } from './adapters/durable-atomic-file.js';
|
|
8
8
|
import { GitWorktreeManager } from './adapters/worktree.js';
|
|
9
|
+
import { ReviewFeedbackCoordinator } from './review-feedback-coordinator.js';
|
|
9
10
|
import { defaultProcessExecutor } from './adapters/command.js';
|
|
10
11
|
import { AcceptanceProof, ProofQuiescenceError } from './acceptance-proof.js';
|
|
11
12
|
import { createCheckedChangeCapabilities } from './checked-change.js';
|
|
@@ -47,6 +48,30 @@ export class LocalGitRunIssueAdapter {
|
|
|
47
48
|
requiredBaseSha: input.baseSha,
|
|
48
49
|
});
|
|
49
50
|
}
|
|
51
|
+
async ensureContinuationWorktree(input) {
|
|
52
|
+
const localHead = (await this.git([
|
|
53
|
+
'-C', input.targetRoot, 'rev-parse', '--verify', `refs/heads/${input.branchName}`,
|
|
54
|
+
])).trim();
|
|
55
|
+
const remoteHead = await this.getRemoteBranchSha(input.targetRoot, input.branchName);
|
|
56
|
+
if (localHead !== input.publishedHeadSha || remoteHead !== input.publishedHeadSha) {
|
|
57
|
+
throw new Error('continuation branch refs do not exactly match the published head');
|
|
58
|
+
}
|
|
59
|
+
await this.worktrees.ensureIssueWorktree({
|
|
60
|
+
targetRoot: input.targetRoot,
|
|
61
|
+
workspacePath: input.worktreePath,
|
|
62
|
+
branchName: input.branchName,
|
|
63
|
+
baseBranch: input.baseBranch,
|
|
64
|
+
requiredBaseSha: input.publishedHeadSha,
|
|
65
|
+
allowResume: true,
|
|
66
|
+
});
|
|
67
|
+
const observed = await this.inspectWorktree({
|
|
68
|
+
worktreePath: input.worktreePath,
|
|
69
|
+
branchName: input.branchName,
|
|
70
|
+
baseSha: input.publishedHeadSha,
|
|
71
|
+
});
|
|
72
|
+
if (observed !== 'matching')
|
|
73
|
+
throw new Error('continuation worktree does not match the published head');
|
|
74
|
+
}
|
|
50
75
|
async inspectWorktree(input) {
|
|
51
76
|
try {
|
|
52
77
|
const stat = await lstat(input.worktreePath);
|
|
@@ -110,6 +135,9 @@ export class LocalGitRunIssueAdapter {
|
|
|
110
135
|
listChangedFiles(worktreePath) {
|
|
111
136
|
return this.worktrees.listChangedFiles(worktreePath);
|
|
112
137
|
}
|
|
138
|
+
listChangedFilesIgnoringUntrackedRoot(worktreePath, ignoredRoot) {
|
|
139
|
+
return this.worktrees.listChangedFilesIgnoringUntrackedRoot(worktreePath, ignoredRoot);
|
|
140
|
+
}
|
|
113
141
|
async fingerprintChangedFiles(worktreePath, changedFiles) {
|
|
114
142
|
const root = await realpath(worktreePath);
|
|
115
143
|
const entries = [];
|
|
@@ -193,6 +221,12 @@ export class ContainedImplementationAgent {
|
|
|
193
221
|
bootId: this.dependencies.bootId,
|
|
194
222
|
});
|
|
195
223
|
const baseline = await this.dependencies.git.snapshot(input.worktreePath);
|
|
224
|
+
await input.onPrepared?.({
|
|
225
|
+
attemptId,
|
|
226
|
+
reportPath: attempt.reportPath,
|
|
227
|
+
preparedAt: (this.dependencies.now ?? (() => new Date().toISOString()))(),
|
|
228
|
+
baseline,
|
|
229
|
+
});
|
|
196
230
|
try {
|
|
197
231
|
const result = await (this.dependencies.process ?? new CodexProcess()).run({
|
|
198
232
|
codexPath: config.codex.command,
|
|
@@ -210,6 +244,8 @@ export class ContainedImplementationAgent {
|
|
|
210
244
|
`The operation's immutable workflow root is ${attempt.workflowRoot}.`,
|
|
211
245
|
`Implement issue #${input.issue.number}: ${input.issue.title}`,
|
|
212
246
|
`Implementation cycle: ${input.cycle}.`,
|
|
247
|
+
...(input.reviewFeedbackRound ? [`Pull-request feedback repair round: ${input.reviewFeedbackRound}.`] : []),
|
|
248
|
+
...(input.reviewFeedback?.length ? [`Frozen trusted pull-request feedback: ${canonicalJson(input.reviewFeedback)}`] : []),
|
|
213
249
|
`Frozen acceptance criteria: ${canonicalJson(input.frozenCriteria)}`,
|
|
214
250
|
...(input.reworkFindings.length > 0 ? [`Repair these verified findings: ${canonicalJson(input.reworkFindings)}`] : []),
|
|
215
251
|
...(input.repairOnly ? ['Report repair only: do not modify any worktree file; emit a schema-valid implementation report for the existing change.'] : []),
|
|
@@ -219,6 +255,9 @@ export class ContainedImplementationAgent {
|
|
|
219
255
|
idleTimeoutMs: config.codex.idleTimeoutMs,
|
|
220
256
|
operationPolicy: attempt.policy,
|
|
221
257
|
executionProfile: attempt.profile,
|
|
258
|
+
...(input.onLaunched ? { onSpawned: ({ pid, processGroupId }) => input.onLaunched({
|
|
259
|
+
attemptId, pid, processGroupId, launchedAt: (this.dependencies.now ?? (() => new Date().toISOString()))(),
|
|
260
|
+
}) } : {}),
|
|
222
261
|
}, input.signal);
|
|
223
262
|
if (result.kind === 'cancelled')
|
|
224
263
|
return { kind: 'cancelled' };
|
|
@@ -248,6 +287,26 @@ export class ContainedImplementationAgent {
|
|
|
248
287
|
};
|
|
249
288
|
}
|
|
250
289
|
}
|
|
290
|
+
async recover(input) {
|
|
291
|
+
const expected = join(resolve(this.dependencies.orchestratorHome), 'v2', sha256(input.canonicalRepository), 'runs', input.runId, 'attempts', input.invocation.attemptId, 'report.json');
|
|
292
|
+
if (resolve(input.invocation.reportPath) !== expected) {
|
|
293
|
+
throw new Error('review feedback implementation report path is not attempt-owned');
|
|
294
|
+
}
|
|
295
|
+
let bytes;
|
|
296
|
+
try {
|
|
297
|
+
bytes = await readRegularFile(expected);
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
if (isErrorCode(error, 'ENOENT'))
|
|
301
|
+
return undefined;
|
|
302
|
+
throw error;
|
|
303
|
+
}
|
|
304
|
+
return {
|
|
305
|
+
kind: 'completed',
|
|
306
|
+
attemptId: input.invocation.attemptId,
|
|
307
|
+
report: decodeAgentReportForValidation(bytes),
|
|
308
|
+
};
|
|
309
|
+
}
|
|
251
310
|
}
|
|
252
311
|
export class ContainedProofAgent {
|
|
253
312
|
dependencies;
|
|
@@ -347,11 +406,43 @@ export class ContainedProofAgent {
|
|
|
347
406
|
}
|
|
348
407
|
}
|
|
349
408
|
}
|
|
409
|
+
export async function resolveCodexExecutable(command, safePath) {
|
|
410
|
+
if (command.length === 0 || safePath.length === 0)
|
|
411
|
+
throw new Error('Codex command and safe path must be non-empty');
|
|
412
|
+
if (!isAbsolute(command) && command.includes('/'))
|
|
413
|
+
throw new Error('relative Codex command paths are not supported');
|
|
414
|
+
const candidates = isAbsolute(command)
|
|
415
|
+
? [command]
|
|
416
|
+
: safePath.split(':').filter((entry) => entry.length > 0).map((entry) => join(entry, command));
|
|
417
|
+
for (const candidate of candidates) {
|
|
418
|
+
try {
|
|
419
|
+
const canonical = await realpath(candidate);
|
|
420
|
+
const stat = await lstat(canonical);
|
|
421
|
+
if (!stat.isFile())
|
|
422
|
+
continue;
|
|
423
|
+
await access(canonical, constants.X_OK);
|
|
424
|
+
return canonical;
|
|
425
|
+
}
|
|
426
|
+
catch {
|
|
427
|
+
// Try the next safe-path entry.
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
throw new Error('Codex executable is unavailable in the configured safe path');
|
|
431
|
+
}
|
|
350
432
|
export function createV2Runtime(input) {
|
|
351
433
|
const targetRoot = resolve(input.targetRoot);
|
|
352
434
|
const orchestratorHome = resolve(input.orchestratorHome);
|
|
353
435
|
const now = input.now ?? (() => new Date().toISOString());
|
|
354
436
|
const commandExecutor = input.processExecutor ?? defaultProcessExecutor;
|
|
437
|
+
const runtimeSafePath = requireRuntimeString(input.safePath, 'safePath');
|
|
438
|
+
let codexExecutable;
|
|
439
|
+
const resolveRuntimeCodex = async (command) => {
|
|
440
|
+
if (codexExecutable?.command === command)
|
|
441
|
+
return codexExecutable.path;
|
|
442
|
+
const path = await resolveCodexExecutable(command, runtimeSafePath);
|
|
443
|
+
codexExecutable = { command, path };
|
|
444
|
+
return path;
|
|
445
|
+
};
|
|
355
446
|
const git = input.git ?? new LocalGitRunIssueAdapter(commandExecutor);
|
|
356
447
|
const proofFreshnessGit = git;
|
|
357
448
|
const controller = new AbortController();
|
|
@@ -369,7 +460,7 @@ export function createV2Runtime(input) {
|
|
|
369
460
|
config: () => requireConfig(currentConfig),
|
|
370
461
|
orchestratorHome,
|
|
371
462
|
parentCodexHome: requireRuntimeString(input.parentCodexHome, 'parentCodexHome'),
|
|
372
|
-
safePath:
|
|
463
|
+
safePath: runtimeSafePath,
|
|
373
464
|
bootId: input.bootId,
|
|
374
465
|
process: containedProcess,
|
|
375
466
|
createAttemptId: input.createAttemptId,
|
|
@@ -676,7 +767,11 @@ export function createV2Runtime(input) {
|
|
|
676
767
|
if (resolve(requestedRoot) !== targetRoot)
|
|
677
768
|
throw new Error('runtime target root mismatch');
|
|
678
769
|
const bytes = await readRegularFile(join(targetRoot, '.codex-orchestrator', 'config.json'));
|
|
679
|
-
const
|
|
770
|
+
const parsed = parseAgentAutoConfig(parseJsonWithoutDuplicateKeys(bytes.toString('utf8')));
|
|
771
|
+
const config = {
|
|
772
|
+
...parsed,
|
|
773
|
+
codex: { ...parsed.codex, command: await resolveRuntimeCodex(parsed.codex.command) },
|
|
774
|
+
};
|
|
680
775
|
const path = join(targetRoot, config.runner.stateDir, 'v2', 'run-state.json');
|
|
681
776
|
if (!runRecords)
|
|
682
777
|
runRecords = new FileRunRecordWriter(path);
|
|
@@ -744,11 +839,15 @@ export function createV2Runtime(input) {
|
|
|
744
839
|
readConfig,
|
|
745
840
|
validateContainment: async (config) => {
|
|
746
841
|
const certificate = await readContainmentCertificate(containmentCertificatePath(orchestratorHome));
|
|
747
|
-
const
|
|
842
|
+
const executablePath = await resolveRuntimeCodex(config.codex.command);
|
|
843
|
+
const version = await commandExecutor(executablePath, ['--version']);
|
|
748
844
|
if (version.exitCode !== 0)
|
|
749
845
|
throw new Error('Codex version is unavailable');
|
|
750
846
|
assertContainmentCertificateMatchesRuntime(certificate, {
|
|
751
847
|
codexVersion: version.stdout.trim(),
|
|
848
|
+
codexExecutablePath: executablePath,
|
|
849
|
+
codexExecutableSha256: sha256(await readFile(executablePath)),
|
|
850
|
+
packageVersion: input.packageVersion,
|
|
752
851
|
argvPolicySha256: containmentArgvPolicySha256(),
|
|
753
852
|
});
|
|
754
853
|
},
|
|
@@ -796,10 +895,26 @@ export function createV2Runtime(input) {
|
|
|
796
895
|
if (matches.length > 1)
|
|
797
896
|
throw new Error('multiple open pull requests match publication intent');
|
|
798
897
|
const match = matches[0];
|
|
799
|
-
|
|
898
|
+
if (!match)
|
|
899
|
+
return undefined;
|
|
900
|
+
const reviewTarget = await input.pullRequests.getReviewTarget(match.number);
|
|
901
|
+
return {
|
|
902
|
+
url: match.url,
|
|
903
|
+
body: match.body,
|
|
904
|
+
number: match.number,
|
|
905
|
+
nodeId: match.nodeId,
|
|
906
|
+
...(reviewTarget ? { headSha: reviewTarget.headRefOid } : {}),
|
|
907
|
+
};
|
|
800
908
|
},
|
|
801
909
|
createDraft: async ({ title, body, headBranch, baseBranch }) => input.pullRequests.createDraftPullRequest({ title, body, headBranch, baseBranch }),
|
|
910
|
+
listConversationComments: async (number) => (await input.pullRequests.listConversationComments(number))
|
|
911
|
+
.map((comment) => ({ id: comment.id, body: comment.body })),
|
|
912
|
+
postConversationComment: async (number, body) => {
|
|
913
|
+
const comment = await input.pullRequests.postConversationComment(number, body);
|
|
914
|
+
return { id: comment.id, body: comment.body };
|
|
915
|
+
},
|
|
802
916
|
},
|
|
917
|
+
reviewFeedback: new ReviewFeedbackCoordinator({ pullRequests: input.pullRequests, issues: input.issues, now }),
|
|
803
918
|
git,
|
|
804
919
|
routeCoordinator: {
|
|
805
920
|
run: ({ state, ...routeInput }) => new RouteCoordinator({
|