codex-orchestrator 2.0.6 → 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/README.md +8 -4
- package/dist/src/v2/checked-change.d.ts +1 -1
- package/dist/src/v2/checked-change.d.ts.map +1 -1
- package/dist/src/v2/checked-change.js +3 -2
- package/dist/src/v2/checked-change.js.map +1 -1
- package/dist/src/v2/code-review-report.d.ts +1 -2
- package/dist/src/v2/code-review-report.d.ts.map +1 -1
- package/dist/src/v2/code-review-report.js +6 -11
- package/dist/src/v2/code-review-report.js.map +1 -1
- package/dist/src/v2/containment.d.ts +0 -52
- package/dist/src/v2/containment.d.ts.map +1 -1
- package/dist/src/v2/containment.js +1 -195
- package/dist/src/v2/containment.js.map +1 -1
- package/dist/src/v2/direct-delivery.d.ts +11 -2
- package/dist/src/v2/direct-delivery.d.ts.map +1 -1
- package/dist/src/v2/direct-delivery.js +62 -17
- package/dist/src/v2/direct-delivery.js.map +1 -1
- package/dist/src/v2/implementation-reviewer.d.ts +1 -1
- package/dist/src/v2/implementation-reviewer.d.ts.map +1 -1
- package/dist/src/v2/implementation-reviewer.js +1 -2
- package/dist/src/v2/implementation-reviewer.js.map +1 -1
- package/dist/src/v2/issue-check-policy.d.ts +17 -0
- package/dist/src/v2/issue-check-policy.d.ts.map +1 -0
- package/dist/src/v2/issue-check-policy.js +133 -0
- package/dist/src/v2/issue-check-policy.js.map +1 -0
- package/dist/src/v2/proof-report.d.ts +1 -1
- package/dist/src/v2/proof-report.d.ts.map +1 -1
- package/dist/src/v2/proof-report.js +6 -4
- package/dist/src/v2/proof-report.js.map +1 -1
- package/dist/src/v2/run-issue.d.ts +15 -1
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +374 -69
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-store.d.ts +14 -1
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +18 -3
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +5 -0
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +86 -23
- package/dist/src/v2/runtime.js.map +1 -1
- package/docs/deep-dive.md +21 -11
- package/internal-workflow/manifest.json +1 -1
- package/internal-workflow/schemas/proof-report-v1.json +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,48 @@ The format is based on Keep a Changelog, and this project follows SemVer.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.0.8] - 2026-07-29
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Direct runs now resolve bounded verification commands from the frozen issue's
|
|
13
|
+
command-only `Verification` section instead of forcing repository-wide checks.
|
|
14
|
+
Scoped npm checks execute without a shell, while repositories without scoped
|
|
15
|
+
verification retain their configured fallback policy.
|
|
16
|
+
- Check launch failures and proven-quiescent timeouts resume the same durable run
|
|
17
|
+
without consuming an implementation cycle. Timeout and cancellation retain
|
|
18
|
+
ownership until the complete process group is absent; uncertain quiescence
|
|
19
|
+
fails closed as a non-resumable safety block.
|
|
20
|
+
|
|
21
|
+
## [2.0.7] - 2026-07-28
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- Blocked terminal outcomes now durably reconcile GitHub issue status before
|
|
25
|
+
completion. Recovery removes stale `agent:running`, preserves unrelated
|
|
26
|
+
labels, never restores revoked `agent:auto` authorization, and resumes safely
|
|
27
|
+
after remote-effect or state-write interruption without rerunning work.
|
|
28
|
+
- Code-review coverage is now descriptive instead of byte-correlated. Closure
|
|
29
|
+
normalizes outcome order, preserves stable defect identity across paraphrased
|
|
30
|
+
prose, gives each target revision four report-only repairs, and can safely
|
|
31
|
+
recover eligible legacy malformed-report terminals without rerunning
|
|
32
|
+
implementation. Exhausted current revisions remain terminal.
|
|
33
|
+
- Configured checks now establish a clean-base baseline. A byte-identical
|
|
34
|
+
failure on the changed worktree is retained as `unchanged-failure` evidence
|
|
35
|
+
instead of being misclassified as task-owned rework; new or changed failures
|
|
36
|
+
still consume the normal repair loop.
|
|
37
|
+
- After a trusted claim is established, `agent:auto` alone carries execution
|
|
38
|
+
authorization; disappearance of the `agent:running` status label no longer
|
|
39
|
+
causes an unrelated safety block.
|
|
40
|
+
- The trusted claim comment is now observed before adding the `agent:running`
|
|
41
|
+
status label, with crash-safe compatibility for older label-first runs.
|
|
42
|
+
|
|
43
|
+
### Removed
|
|
44
|
+
- Removed the local containment certificate, canary command, and pre-claim
|
|
45
|
+
certification gate. Authorized runs now start without operator-managed
|
|
46
|
+
certification while retaining the fixed worker sandbox, scrubbed
|
|
47
|
+
environment, denied network, and external-authority restrictions. This also
|
|
48
|
+
removes the exported `RunIssueDependencies.validateContainment` member and is
|
|
49
|
+
a breaking change for direct consumers of the low-level Runner API.
|
|
50
|
+
|
|
9
51
|
## [2.0.6] - 2026-07-28
|
|
10
52
|
|
|
11
53
|
### Changed
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ The package is designed for unattended local execution without giving the Codex
|
|
|
8
8
|
|
|
9
9
|
Add the configured `agent:auto` label to an open issue, then run the orchestrator. It will choose one of three routes:
|
|
10
10
|
|
|
11
|
-
- **Direct delivery:** the issue is clear enough to implement. Codex changes the code, an independent review checks it,
|
|
11
|
+
- **Direct delivery:** the issue is clear enough to implement. Codex changes the code, an independent review checks it, issue-scoped verification checks run, Acceptance Proof verifies the acceptance criteria, and the Runner creates a draft PR.
|
|
12
12
|
- **Specification first:** the issue is too complex for safe direct implementation. Separate Codex workers author and independently review a deterministic implementation specification; the Runner freezes the approved revision and returns `spec-frozen`. Implementation is intentionally a separate follow-up run or workflow.
|
|
13
13
|
- **Human decision required:** the repository does not contain enough authority to choose between materially different product outcomes. The package posts one precise question, applies `agent:waiting-human`, and resumes the same run after an authorized repository writer answers with the requested prefix.
|
|
14
14
|
|
|
@@ -135,7 +135,7 @@ non-empty `CHANGES_REQUESTED` review from a current repository writer or admin,
|
|
|
135
135
|
the Runner freezes that exact feedback batch and resumes the existing run.
|
|
136
136
|
|
|
137
137
|
The repair uses the existing implementation and affected Closure flow, then
|
|
138
|
-
reruns
|
|
138
|
+
reruns the run's resolved check policy and Acceptance Proof against the repaired content. It
|
|
139
139
|
has a separate maximum of three feedback rounds and does not consume the
|
|
140
140
|
original five implementation cycles. Publication appends one fast-forward
|
|
141
141
|
commit to the existing branch and PR; divergence blocks without reset, rebase,
|
|
@@ -180,13 +180,17 @@ All outcomes include structured evidence or a path to local evidence. Quiet term
|
|
|
180
180
|
|
|
181
181
|
- `github.baseBranch` and `github.labels`: where completed branches target and which labels control the workflow.
|
|
182
182
|
- `runner.pollIntervalSeconds`: daemon polling interval.
|
|
183
|
-
- `checks`: finite
|
|
183
|
+
- `checks`: finite fallback commands for issues without a command-only
|
|
184
|
+
`Verification:` section. The Runner snapshots the resolved policy on the clean
|
|
185
|
+
base and reruns them after implementation; only a new or changed failure is
|
|
186
|
+
task-owned rework, while a byte-identical base failure is retained as an
|
|
187
|
+
explicit `unchanged-failure` warning.
|
|
184
188
|
- `proof.artifactDir`: repository-relative location for proof artifacts inside the run worktree.
|
|
185
189
|
- `proof.android`: optional Runner-owned Android recipe. It selects `avdName`, creates an ephemeral clean data directory, requires fixed `build apk` arguments, removes any old `apkPath`, snapshots a fresh no-symlink APK outside the worker-writable tree, and binds its digest to the checked change. It installs and launches that exact snapshot, repeatedly verifies emulator process identity, waits up to `navigationTimeoutMs` for each exact `tapText` accessibility label, and captures proof-bound screenshot, hierarchy, PID log, and lease artifacts. Commands are bounded, cancellable, and process-group quiescent; URI query/fragment credentials are rejected. The contained proof worker never receives `adb`, emulator, Flutter, or durable lease authority. Emulator or Android-tool startup failure is retained as an explicit unfinished-UI-proof warning and does not by itself block delivery.
|
|
186
190
|
- `deny.readPaths`: paths the worker must not read or modify.
|
|
187
191
|
- `deny.commands`: absolute command paths that must not be exposed to the worker.
|
|
188
192
|
|
|
189
|
-
`runner.maxCycles`, the branch template, and containment settings are fixed policy in the current schema rather than open-ended tuning knobs. There is no configured Codex version pin: the Runner uses the installed `codex` command
|
|
193
|
+
`runner.maxCycles`, the branch template, and containment settings are fixed policy in the current schema rather than open-ended tuning knobs. There is no configured Codex version pin or local certification step: the Runner uses the installed `codex` command and applies the fixed sandbox, environment, network, and authority restrictions to every worker invocation.
|
|
190
194
|
|
|
191
195
|
## Safety model in plain language
|
|
192
196
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checked-change.d.ts","sourceRoot":"","sources":["../../../src/v2/checked-change.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,kBAAkB,EAAE,OAAO,MAAgC,CAAC;AAMlE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"checked-change.d.ts","sourceRoot":"","sources":["../../../src/v2/checked-change.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,kBAAkB,EAAE,OAAO,MAAgC,CAAC;AAMlE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7G,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAAC;CACtD;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,sBAAsB,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;CACvG;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAGlF;AAED,wBAAgB,+BAA+B,IAAI,2BAA2B,GAAG,2BAA2B,CAkB3G;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAOT"}
|
|
@@ -87,8 +87,9 @@ function validatePayload(value) {
|
|
|
87
87
|
assertExactObject(check, ['id', 'command', 'status', 'outputSha256'], field);
|
|
88
88
|
assertNonEmptyString(check.id, `${field}.id`);
|
|
89
89
|
assertNonEmptyString(check.command, `${field}.command`);
|
|
90
|
-
if (check.status !== 'passed')
|
|
91
|
-
throw new Error(`${field}.status must be passed`);
|
|
90
|
+
if (check.status !== 'passed' && check.status !== 'unchanged-failure') {
|
|
91
|
+
throw new Error(`${field}.status must be passed or unchanged from a failing base`);
|
|
92
|
+
}
|
|
92
93
|
assertSha256(check.outputSha256, `${field}.outputSha256`);
|
|
93
94
|
checkIds.push(check.id);
|
|
94
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checked-change.js","sourceRoot":"","sources":["../../../src/v2/checked-change.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checked-change.js","sourceRoot":"","sources":["../../../src/v2/checked-change.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,6 @@ export interface CodeReviewValidationContext {
|
|
|
45
45
|
reviewerSessionId: string;
|
|
46
46
|
closureRequestSha256: string | null;
|
|
47
47
|
fixedRepairFindingIds?: string[];
|
|
48
|
-
mandatoryCoverage?: string[];
|
|
49
48
|
}
|
|
50
49
|
export interface ClosureRequestInput {
|
|
51
50
|
operation: ReviewOperation;
|
|
@@ -56,7 +55,7 @@ export interface ClosureRequestInput {
|
|
|
56
55
|
id: string;
|
|
57
56
|
affectedContracts: string[];
|
|
58
57
|
}>;
|
|
59
|
-
|
|
58
|
+
reviewFocus: string[];
|
|
60
59
|
}
|
|
61
60
|
export declare function hashClosureRequest(input: ClosureRequestInput): string;
|
|
62
61
|
export declare function hashCodeReviewReport(report: CodeReviewReportV1): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-review-report.d.ts","sourceRoot":"","sources":["../../../src/v2/code-review-report.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AACnE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAErF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,eAAe,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"code-review-report.d.ts","sourceRoot":"","sources":["../../../src/v2/code-review-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export function hashClosureRequest(input) {
|
|
|
9
9
|
assertPositiveInteger(input.targetRevision, 'closure request.targetRevision');
|
|
10
10
|
assertSha256(input.targetFingerprint, 'closure request.targetFingerprint');
|
|
11
11
|
const affectedDefectIds = sortedUniqueStrings(input.affectedDefectIds, 'closure request.affectedDefectIds');
|
|
12
|
-
const
|
|
12
|
+
const reviewFocus = sortedUniqueStrings(input.reviewFocus, 'closure request.reviewFocus');
|
|
13
13
|
if (!Array.isArray(input.fixedRepairFindings) || input.fixedRepairFindings.length > MAX_ITEMS) {
|
|
14
14
|
throw new Error('closure request.fixedRepairFindings is invalid');
|
|
15
15
|
}
|
|
@@ -22,13 +22,13 @@ export function hashClosureRequest(input) {
|
|
|
22
22
|
};
|
|
23
23
|
}).sort((left, right) => left.id.localeCompare(right.id));
|
|
24
24
|
assertUnique(fixedRepairFindings.map((finding) => finding.id), 'closure request fixed finding IDs');
|
|
25
|
-
return domainHash('codex-orchestrator-review-closure-
|
|
25
|
+
return domainHash('codex-orchestrator-review-closure-v2', canonicalJson({
|
|
26
26
|
operation: input.operation,
|
|
27
27
|
targetRevision: input.targetRevision,
|
|
28
28
|
targetFingerprint: input.targetFingerprint,
|
|
29
29
|
affectedDefectIds,
|
|
30
30
|
fixedRepairFindings,
|
|
31
|
-
|
|
31
|
+
reviewFocus,
|
|
32
32
|
}));
|
|
33
33
|
}
|
|
34
34
|
export function hashCodeReviewReport(report) {
|
|
@@ -49,9 +49,6 @@ export function validateCodeReviewReport(value, context) {
|
|
|
49
49
|
if (value.mode !== 'full' && value.mode !== 'closure')
|
|
50
50
|
throw new Error('code review report.mode is invalid');
|
|
51
51
|
const coverage = sortedUniqueStrings(value.coverage, 'code review report.coverage');
|
|
52
|
-
const mandatoryCoverage = sortedUniqueStrings(context.mandatoryCoverage ?? [], 'code review mandatory coverage');
|
|
53
|
-
if (!mandatoryCoverage.every((item) => coverage.includes(item)))
|
|
54
|
-
throw new Error('code review report is missing mandatory coverage');
|
|
55
52
|
const residualRisks = sortedUniqueStrings(value.residualRisks, 'code review report.residualRisks');
|
|
56
53
|
assertText(value.reviewerSessionId, 'code review report.reviewerSessionId');
|
|
57
54
|
if (value.closureRequestSha256 !== null)
|
|
@@ -72,9 +69,9 @@ export function validateCodeReviewReport(value, context) {
|
|
|
72
69
|
else {
|
|
73
70
|
if (value.closureRequestSha256 === null)
|
|
74
71
|
throw new Error('Closure review requires correlation hash');
|
|
75
|
-
const actual = repairFindingOutcomes.map((outcome) => outcome.id);
|
|
72
|
+
const actual = repairFindingOutcomes.map((outcome) => outcome.id).sort();
|
|
76
73
|
if (!sameStrings(actual, expectedFindingIds))
|
|
77
|
-
throw new Error('Closure repair finding outcomes must match
|
|
74
|
+
throw new Error('Closure repair finding outcomes must match request IDs');
|
|
78
75
|
}
|
|
79
76
|
const unresolved = defects.some((defect) => (defect.class === 'blocker' || defect.class === 'execution-risk')
|
|
80
77
|
&& defect.status !== 'verified' && defect.status !== 'superseded');
|
|
@@ -209,9 +206,7 @@ function validateRepairFindingOutcomes(value) {
|
|
|
209
206
|
});
|
|
210
207
|
const ids = output.map((item) => item.id);
|
|
211
208
|
assertUnique(ids, 'repair finding outcome IDs');
|
|
212
|
-
|
|
213
|
-
throw new Error('repair finding outcomes must be sorted');
|
|
214
|
-
return output;
|
|
209
|
+
return output.sort((left, right) => left.id.localeCompare(right.id));
|
|
215
210
|
}
|
|
216
211
|
function sortedUniqueStrings(value, field) {
|
|
217
212
|
if (!Array.isArray(value) || value.length > MAX_ITEMS)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-review-report.js","sourceRoot":"","sources":["../../../src/v2/code-review-report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-review-report.js","sourceRoot":"","sources":["../../../src/v2/code-review-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,4 @@
|
|
|
1
1
|
import type { WorkflowExecutionProfile, WorkflowOperationPolicy } from './workflow-assets.js';
|
|
2
|
-
export declare const CONTAINMENT_PLATFORM: "darwin";
|
|
3
|
-
export declare const CONTAINMENT_SCHEMA: "codex-orchestrator.containment";
|
|
4
|
-
export interface ContainmentProbeResultV2 {
|
|
5
|
-
parentAuthReadable: true;
|
|
6
|
-
parentAuthUsable: true;
|
|
7
|
-
externalCredentialsUsable: false;
|
|
8
|
-
deniedSecretReadable: true;
|
|
9
|
-
productionSentinelExecuted: false;
|
|
10
|
-
}
|
|
11
|
-
export interface ContainmentCertificateV2 {
|
|
12
|
-
schema: typeof CONTAINMENT_SCHEMA;
|
|
13
|
-
version: 2;
|
|
14
|
-
codexVersion: string;
|
|
15
|
-
codexExecutablePath: string;
|
|
16
|
-
codexExecutableSha256: string;
|
|
17
|
-
platform: typeof CONTAINMENT_PLATFORM;
|
|
18
|
-
packageVersion: string;
|
|
19
|
-
argvPolicySha256: string;
|
|
20
|
-
root: ContainmentProbeResultV2;
|
|
21
|
-
nativeChild: ContainmentProbeResultV2;
|
|
22
|
-
completedAt: string;
|
|
23
|
-
resultSha256: string;
|
|
24
|
-
}
|
|
25
|
-
export declare function containmentCertificatePath(orchestratorHome?: string): string;
|
|
26
2
|
export declare function buildContainmentCodexArgs(input: {
|
|
27
3
|
schemaPath: string;
|
|
28
4
|
reportPath: string;
|
|
@@ -39,34 +15,6 @@ export declare function buildContainmentCodexEnvironment(input: {
|
|
|
39
15
|
parentCodexHome: string;
|
|
40
16
|
safePath: string;
|
|
41
17
|
}): Record<string, string>;
|
|
42
|
-
export declare function containmentArgvPolicySha256(): string;
|
|
43
|
-
export declare function createContainmentCertificate(input: {
|
|
44
|
-
codexVersion: string;
|
|
45
|
-
codexExecutablePath: string;
|
|
46
|
-
codexExecutableSha256: string;
|
|
47
|
-
packageVersion: string;
|
|
48
|
-
argvPolicySha256: string;
|
|
49
|
-
root: ContainmentProbeResultV2;
|
|
50
|
-
nativeChild: ContainmentProbeResultV2;
|
|
51
|
-
completedAt: string;
|
|
52
|
-
}): ContainmentCertificateV2;
|
|
53
|
-
export declare function validateContainmentCertificate(value: unknown): ContainmentCertificateV2;
|
|
54
|
-
export declare function assertContainmentCertificateMatchesRuntime(certificate: ContainmentCertificateV2, runtime: {
|
|
55
|
-
codexVersion: string;
|
|
56
|
-
codexExecutablePath: string;
|
|
57
|
-
codexExecutableSha256: string;
|
|
58
|
-
packageVersion: string;
|
|
59
|
-
argvPolicySha256: string;
|
|
60
|
-
}): void;
|
|
61
|
-
export declare function writeContainmentCertificate(path: string, certificate: ContainmentCertificateV2): Promise<void>;
|
|
62
|
-
export declare function readContainmentCertificate(path: string): Promise<ContainmentCertificateV2>;
|
|
63
|
-
export declare function removeMatchingContainmentCertificate(path: string, expected: {
|
|
64
|
-
codexVersion: string;
|
|
65
|
-
codexExecutablePath: string;
|
|
66
|
-
codexExecutableSha256: string;
|
|
67
|
-
packageVersion: string;
|
|
68
|
-
argvPolicySha256: string;
|
|
69
|
-
}): Promise<void>;
|
|
70
18
|
export declare function canonicalJson(value: unknown): string;
|
|
71
19
|
export declare function sha256(value: string | Buffer): string;
|
|
72
20
|
export declare function containsCredentialEvidence(value: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containment.d.ts","sourceRoot":"","sources":["../../../src/v2/containment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"containment.d.ts","sourceRoot":"","sources":["../../../src/v2/containment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAsB9F,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAAC;CAChF,GAAG,MAAM,EAAE,CA+CX;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAmBxF;AAED,wBAAgB,iCAAiC,IAAI,uBAAuB,CAK3E;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBpD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMjE;AAMD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgFrE"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import {
|
|
3
|
-
import { homedir, platform } from 'node:os';
|
|
4
|
-
import { isAbsolute, join, resolve } from 'node:path';
|
|
5
|
-
import { writeDurableAtomicFile } from './adapters/durable-atomic-file.js';
|
|
6
|
-
export const CONTAINMENT_PLATFORM = 'darwin';
|
|
7
|
-
export const CONTAINMENT_SCHEMA = 'codex-orchestrator.containment';
|
|
8
|
-
const CERTIFICATE_FILE = 'containment.json';
|
|
9
|
-
const SHA256_PATTERN = /^[0-9a-f]{64}$/;
|
|
10
|
-
const MAX_CERTIFICATE_BYTES = 1024 * 1024;
|
|
2
|
+
import { homedir } from 'node:os';
|
|
11
3
|
const DENIED_TOOL_ENV_KEYS = [
|
|
12
4
|
'GH_TOKEN',
|
|
13
5
|
'GITHUB_TOKEN',
|
|
@@ -27,9 +19,6 @@ const DENIED_TOOL_ENV_KEYS = [
|
|
|
27
19
|
'AZURE_CONFIG_DIR',
|
|
28
20
|
'AZURE_CLIENT_SECRET',
|
|
29
21
|
];
|
|
30
|
-
export function containmentCertificatePath(orchestratorHome = resolve(process.env.CODEX_ORCHESTRATOR_HOME ?? join(homedir(), '.codex-orchestrator'))) {
|
|
31
|
-
return join(orchestratorHome, 'v2', 'certifications', CERTIFICATE_FILE);
|
|
32
|
-
}
|
|
33
22
|
export function buildContainmentCodexArgs(input) {
|
|
34
23
|
const operationPolicy = input.operationPolicy ?? defaultContainmentOperationPolicy();
|
|
35
24
|
validateContainmentOperationPolicy(operationPolicy);
|
|
@@ -115,132 +104,6 @@ export function buildContainmentCodexEnvironment(input) {
|
|
|
115
104
|
};
|
|
116
105
|
return env;
|
|
117
106
|
}
|
|
118
|
-
export function containmentArgvPolicySha256() {
|
|
119
|
-
const args = buildContainmentCodexArgs({
|
|
120
|
-
schemaPath: '<snapshot-schema>',
|
|
121
|
-
reportPath: '<attempt-report>',
|
|
122
|
-
toolHome: '<isolated-tool-home>',
|
|
123
|
-
tmpDir: '<attempt-tmp>',
|
|
124
|
-
safePath: '<fixed-safe-path>',
|
|
125
|
-
});
|
|
126
|
-
return sha256(canonicalJson({ command: 'codex', args, promptTransport: 'stdin' }));
|
|
127
|
-
}
|
|
128
|
-
export function createContainmentCertificate(input) {
|
|
129
|
-
assertCodexVersion(input.codexVersion);
|
|
130
|
-
assertAbsolutePath(input.codexExecutablePath, 'codexExecutablePath');
|
|
131
|
-
assertSha256(input.codexExecutableSha256, 'codexExecutableSha256');
|
|
132
|
-
assertNonEmptyString(input.packageVersion, 'packageVersion');
|
|
133
|
-
assertSha256(input.argvPolicySha256, 'argvPolicySha256');
|
|
134
|
-
validateProbeResult(input.root, 'root');
|
|
135
|
-
validateProbeResult(input.nativeChild, 'nativeChild');
|
|
136
|
-
assertIsoTimestamp(input.completedAt);
|
|
137
|
-
assert.equalPlatform();
|
|
138
|
-
const unsigned = {
|
|
139
|
-
schema: CONTAINMENT_SCHEMA,
|
|
140
|
-
version: 2,
|
|
141
|
-
codexVersion: input.codexVersion,
|
|
142
|
-
codexExecutablePath: input.codexExecutablePath,
|
|
143
|
-
codexExecutableSha256: input.codexExecutableSha256,
|
|
144
|
-
platform: CONTAINMENT_PLATFORM,
|
|
145
|
-
packageVersion: input.packageVersion,
|
|
146
|
-
argvPolicySha256: input.argvPolicySha256,
|
|
147
|
-
root: input.root,
|
|
148
|
-
nativeChild: input.nativeChild,
|
|
149
|
-
completedAt: input.completedAt,
|
|
150
|
-
};
|
|
151
|
-
return { ...unsigned, resultSha256: sha256(canonicalJson(unsigned)) };
|
|
152
|
-
}
|
|
153
|
-
export function validateContainmentCertificate(value) {
|
|
154
|
-
assertExactObject(value, [
|
|
155
|
-
'schema',
|
|
156
|
-
'version',
|
|
157
|
-
'codexVersion',
|
|
158
|
-
'codexExecutablePath',
|
|
159
|
-
'codexExecutableSha256',
|
|
160
|
-
'platform',
|
|
161
|
-
'packageVersion',
|
|
162
|
-
'argvPolicySha256',
|
|
163
|
-
'root',
|
|
164
|
-
'nativeChild',
|
|
165
|
-
'completedAt',
|
|
166
|
-
'resultSha256',
|
|
167
|
-
], 'containment certificate');
|
|
168
|
-
if (value.schema !== CONTAINMENT_SCHEMA)
|
|
169
|
-
throw new Error('invalid containment schema');
|
|
170
|
-
if (value.version !== 2)
|
|
171
|
-
throw new Error('invalid containment version');
|
|
172
|
-
assertCodexVersion(value.codexVersion);
|
|
173
|
-
assertAbsolutePath(value.codexExecutablePath, 'codexExecutablePath');
|
|
174
|
-
assertSha256(value.codexExecutableSha256, 'codexExecutableSha256');
|
|
175
|
-
if (value.platform !== CONTAINMENT_PLATFORM)
|
|
176
|
-
throw new Error('invalid containment platform');
|
|
177
|
-
assertNonEmptyString(value.packageVersion, 'packageVersion');
|
|
178
|
-
assertSha256(value.argvPolicySha256, 'argvPolicySha256');
|
|
179
|
-
validateProbeResult(value.root, 'root');
|
|
180
|
-
validateProbeResult(value.nativeChild, 'nativeChild');
|
|
181
|
-
assertIsoTimestamp(value.completedAt);
|
|
182
|
-
assertSha256(value.resultSha256, 'resultSha256');
|
|
183
|
-
const unsigned = {
|
|
184
|
-
schema: value.schema,
|
|
185
|
-
version: value.version,
|
|
186
|
-
codexVersion: value.codexVersion,
|
|
187
|
-
codexExecutablePath: value.codexExecutablePath,
|
|
188
|
-
codexExecutableSha256: value.codexExecutableSha256,
|
|
189
|
-
platform: value.platform,
|
|
190
|
-
packageVersion: value.packageVersion,
|
|
191
|
-
argvPolicySha256: value.argvPolicySha256,
|
|
192
|
-
root: value.root,
|
|
193
|
-
nativeChild: value.nativeChild,
|
|
194
|
-
completedAt: value.completedAt,
|
|
195
|
-
};
|
|
196
|
-
if (sha256(canonicalJson(unsigned)) !== value.resultSha256) {
|
|
197
|
-
throw new Error('containment result digest mismatch');
|
|
198
|
-
}
|
|
199
|
-
return value;
|
|
200
|
-
}
|
|
201
|
-
export function assertContainmentCertificateMatchesRuntime(certificate, runtime) {
|
|
202
|
-
if (certificate.argvPolicySha256 !== runtime.argvPolicySha256) {
|
|
203
|
-
throw new Error('containment argv policy mismatch');
|
|
204
|
-
}
|
|
205
|
-
if (runtime.codexVersion !== certificate.codexVersion) {
|
|
206
|
-
throw new Error('Codex version does not match the containment certificate');
|
|
207
|
-
}
|
|
208
|
-
if (runtime.codexExecutablePath !== certificate.codexExecutablePath
|
|
209
|
-
|| runtime.codexExecutableSha256 !== certificate.codexExecutableSha256) {
|
|
210
|
-
throw new Error('Codex executable does not match the containment certificate');
|
|
211
|
-
}
|
|
212
|
-
if (runtime.packageVersion !== certificate.packageVersion) {
|
|
213
|
-
throw new Error('orchestrator package version does not match the containment certificate');
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
export async function writeContainmentCertificate(path, certificate) {
|
|
217
|
-
validateContainmentCertificate(certificate);
|
|
218
|
-
await writeDurableAtomicFile(path, `${canonicalJson(certificate)}\n`);
|
|
219
|
-
}
|
|
220
|
-
export async function readContainmentCertificate(path) {
|
|
221
|
-
const bytes = await readFile(path);
|
|
222
|
-
if (bytes.length > MAX_CERTIFICATE_BYTES)
|
|
223
|
-
throw new Error('containment certificate exceeds 1 MiB');
|
|
224
|
-
return validateContainmentCertificate(parseJsonWithoutDuplicateKeys(bytes.toString('utf8')));
|
|
225
|
-
}
|
|
226
|
-
export async function removeMatchingContainmentCertificate(path, expected) {
|
|
227
|
-
let certificate;
|
|
228
|
-
try {
|
|
229
|
-
certificate = await readContainmentCertificate(path);
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
if (error.code === 'ENOENT')
|
|
233
|
-
return;
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
if (certificate.codexVersion === expected.codexVersion
|
|
237
|
-
&& certificate.codexExecutablePath === expected.codexExecutablePath
|
|
238
|
-
&& certificate.codexExecutableSha256 === expected.codexExecutableSha256
|
|
239
|
-
&& certificate.packageVersion === expected.packageVersion
|
|
240
|
-
&& certificate.argvPolicySha256 === expected.argvPolicySha256) {
|
|
241
|
-
await rm(path, { force: true });
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
107
|
export function canonicalJson(value) {
|
|
245
108
|
if (value === null || typeof value === 'boolean' || typeof value === 'string')
|
|
246
109
|
return JSON.stringify(value);
|
|
@@ -274,63 +137,6 @@ export function containsCredentialEvidence(value) {
|
|
|
274
137
|
/["']?(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|secret)["']?\s*[:=]\s*["']?[A-Za-z0-9_./+=-]{8,}/iu,
|
|
275
138
|
].some((pattern) => pattern.test(value));
|
|
276
139
|
}
|
|
277
|
-
function validateProbeResult(value, field) {
|
|
278
|
-
assertExactObject(value, [
|
|
279
|
-
'parentAuthReadable',
|
|
280
|
-
'parentAuthUsable',
|
|
281
|
-
'externalCredentialsUsable',
|
|
282
|
-
'deniedSecretReadable',
|
|
283
|
-
'productionSentinelExecuted',
|
|
284
|
-
], field);
|
|
285
|
-
if (value.parentAuthReadable !== true)
|
|
286
|
-
throw new Error(`${field}.parentAuthReadable must be true`);
|
|
287
|
-
if (value.parentAuthUsable !== true)
|
|
288
|
-
throw new Error(`${field}.parentAuthUsable must be true`);
|
|
289
|
-
if (value.deniedSecretReadable !== true)
|
|
290
|
-
throw new Error(`${field}.deniedSecretReadable must be true`);
|
|
291
|
-
for (const key of ['externalCredentialsUsable', 'productionSentinelExecuted']) {
|
|
292
|
-
if (value[key] !== false)
|
|
293
|
-
throw new Error(`${field}.${key} must be false`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
function assertExactObject(value, expectedKeys, field) {
|
|
297
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
298
|
-
throw new Error(`${field} must be an object`);
|
|
299
|
-
const actualKeys = Object.keys(value).sort();
|
|
300
|
-
const sortedExpected = [...expectedKeys].sort();
|
|
301
|
-
if (actualKeys.length !== sortedExpected.length || actualKeys.some((key, index) => key !== sortedExpected[index])) {
|
|
302
|
-
throw new Error(`${field} has unknown or missing keys`);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
function assertNonEmptyString(value, field) {
|
|
306
|
-
if (typeof value !== 'string' || value.length === 0)
|
|
307
|
-
throw new Error(`${field} must be a non-empty string`);
|
|
308
|
-
}
|
|
309
|
-
function assertAbsolutePath(value, field) {
|
|
310
|
-
assertNonEmptyString(value, field);
|
|
311
|
-
if (!isAbsolute(value) || resolve(value) !== value)
|
|
312
|
-
throw new Error(`${field} must be a canonical absolute path`);
|
|
313
|
-
}
|
|
314
|
-
function assertCodexVersion(value) {
|
|
315
|
-
if (typeof value !== 'string' || !/^codex-cli \S+$/u.test(value)) {
|
|
316
|
-
throw new Error('codexVersion must be the exact installed Codex version');
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
function assertSha256(value, field) {
|
|
320
|
-
if (typeof value !== 'string' || !SHA256_PATTERN.test(value))
|
|
321
|
-
throw new Error(`${field} must be lowercase SHA-256`);
|
|
322
|
-
}
|
|
323
|
-
function assertIsoTimestamp(value) {
|
|
324
|
-
if (typeof value !== 'string' || Number.isNaN(Date.parse(value)) || new Date(value).toISOString() !== value) {
|
|
325
|
-
throw new Error('completedAt must be an ISO timestamp');
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
const assert = {
|
|
329
|
-
equalPlatform() {
|
|
330
|
-
if (platform() !== CONTAINMENT_PLATFORM)
|
|
331
|
-
throw new Error('containment certificate requires darwin');
|
|
332
|
-
},
|
|
333
|
-
};
|
|
334
140
|
function tomlString(value) {
|
|
335
141
|
return JSON.stringify(value);
|
|
336
142
|
}
|