codex-orchestrator 0.1.44 → 0.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/src/runner/acceptance-proof-loop.d.ts +22 -2
- package/dist/src/runner/acceptance-proof-loop.d.ts.map +1 -1
- package/dist/src/runner/acceptance-proof-loop.js +189 -31
- package/dist/src/runner/acceptance-proof-loop.js.map +1 -1
- package/dist/src/runner/completion-report.d.ts +11 -0
- package/dist/src/runner/completion-report.d.ts.map +1 -1
- package/dist/src/runner/completion-report.js +37 -1
- package/dist/src/runner/completion-report.js.map +1 -1
- package/dist/src/runner/local-execution-session.d.ts.map +1 -1
- package/dist/src/runner/local-execution-session.js +1 -0
- package/dist/src/runner/local-execution-session.js.map +1 -1
- package/dist/src/runner/prompt.d.ts.map +1 -1
- package/dist/src/runner/prompt.js +17 -2
- package/dist/src/runner/prompt.js.map +1 -1
- package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
- package/dist/src/runner/review-gate-policy.js +8 -0
- package/dist/src/runner/review-gate-policy.js.map +1 -1
- package/dist/src/setup/project-config.d.ts.map +1 -1
- package/dist/src/setup/project-config.js +3 -12
- package/dist/src/setup/project-config.js.map +1 -1
- package/docs/deep-dive.md +34 -4
- package/package.json +1 -1
- package/prompts/workflows/scoped-implementation.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,18 @@ The format is based on Keep a Changelog, and this project follows SemVer.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.45] - 2026-07-07
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- Added runner support for agent-authored Acceptance Proof plans so scoped
|
|
13
|
+
implementation handoffs can carry explicit proof-plan artifacts.
|
|
14
|
+
- Added proof-plan report validation coverage across scoped runs, plan-auto
|
|
15
|
+
children, status output, and handoff decisions.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Acceptance Proof guidance now documents the proof-plan/report contract more
|
|
19
|
+
directly in runner docs and scoped workflow prompts.
|
|
20
|
+
|
|
9
21
|
## [0.1.44] - 2026-07-07
|
|
10
22
|
|
|
11
23
|
### Added
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { CodexOrchestratorConfig } from '../config/schema.js';
|
|
2
2
|
import type { GitHubIssue } from '../github/issues.js';
|
|
3
|
-
import type { ScopedCompletionReport } from './completion-report.js';
|
|
3
|
+
import type { ProofPlan, ProofPlanMode, ScopedCompletionReport } from './completion-report.js';
|
|
4
4
|
import type { RunnerValidationLine } from './handoff-evidence.js';
|
|
5
5
|
import { type AcceptanceProofAttemptEvidence } from './acceptance-proof.js';
|
|
6
6
|
import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
|
|
7
|
-
export type AcceptanceProofPlanKind = 'skip' | 'adaptive' | 'command';
|
|
7
|
+
export type AcceptanceProofPlanKind = 'skip' | 'adaptive' | 'command' | 'report-validation' | 'blocked';
|
|
8
8
|
export type VisualProofDispatchTarget = 'browser' | 'mobile' | 'none';
|
|
9
9
|
export type ProofRoutingAction = 'skip' | 'dispatch' | 'allow-non-visual' | 'error';
|
|
10
10
|
export interface AcceptanceProofPlan {
|
|
@@ -12,12 +12,14 @@ export interface AcceptanceProofPlan {
|
|
|
12
12
|
applies: boolean;
|
|
13
13
|
reason: string;
|
|
14
14
|
commandTemplate?: string;
|
|
15
|
+
blocker?: string;
|
|
15
16
|
}
|
|
16
17
|
export interface AcceptanceProofPlanInput {
|
|
17
18
|
config: CodexOrchestratorConfig;
|
|
18
19
|
issue: GitHubIssue;
|
|
19
20
|
changedFiles: string[];
|
|
20
21
|
adaptiveAdapterAvailable: boolean;
|
|
22
|
+
implementationReport: ScopedCompletionReport;
|
|
21
23
|
}
|
|
22
24
|
export interface AcceptanceProofAdapterResult {
|
|
23
25
|
adapterKind: 'adaptive' | 'command';
|
|
@@ -61,6 +63,7 @@ export interface RunAcceptanceProofLoopAttemptInput {
|
|
|
61
63
|
worktreePath: string;
|
|
62
64
|
beforeHead: string;
|
|
63
65
|
initialChangedFiles: string[];
|
|
66
|
+
implementationReport: ScopedCompletionReport;
|
|
64
67
|
adaptiveAdapterAvailable: boolean;
|
|
65
68
|
executeAdaptiveProof?: () => Promise<AcceptanceProofAdapterResult>;
|
|
66
69
|
executeAdaptiveProofRepair?: (input: AcceptanceProofRepairInput) => Promise<AcceptanceProofAdapterResult>;
|
|
@@ -82,7 +85,24 @@ export interface ProofRoutingDecision {
|
|
|
82
85
|
action: ProofRoutingAction;
|
|
83
86
|
reason: string;
|
|
84
87
|
}
|
|
88
|
+
export type ProofPlanValidationResult = {
|
|
89
|
+
ok: true;
|
|
90
|
+
proofPlan: ProofPlan;
|
|
91
|
+
proofMode: ProofPlanMode;
|
|
92
|
+
dispatchTarget: VisualProofDispatchTarget;
|
|
93
|
+
reason: string;
|
|
94
|
+
} | {
|
|
95
|
+
ok: false;
|
|
96
|
+
blocker: string;
|
|
97
|
+
retryable: boolean;
|
|
98
|
+
};
|
|
85
99
|
export declare function planAcceptanceProofAttempt(input: AcceptanceProofPlanInput): AcceptanceProofPlan;
|
|
100
|
+
export declare function validateProofPlan(input: {
|
|
101
|
+
config: CodexOrchestratorConfig;
|
|
102
|
+
issue: GitHubIssue;
|
|
103
|
+
changedFiles: string[];
|
|
104
|
+
implementationReport: ScopedCompletionReport;
|
|
105
|
+
}): ProofPlanValidationResult;
|
|
86
106
|
export declare function runAcceptanceProofLoopAttempt(input: RunAcceptanceProofLoopAttemptInput): Promise<AcceptanceProofLoopOutcome>;
|
|
87
107
|
export declare function decideProofRouting(input: {
|
|
88
108
|
config: CodexOrchestratorConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance-proof-loop.d.ts","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptance-proof-loop.d.ts","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,48 @@ import { buildAcceptanceProofReportOutcome, buildBlockedAcceptanceProofOutcome,
|
|
|
3
3
|
import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
|
|
4
4
|
export function planAcceptanceProofAttempt(input) {
|
|
5
5
|
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
6
|
+
const proofPlanValidation = validateProofPlan(input);
|
|
7
|
+
if (!proofPlanValidation.ok) {
|
|
8
|
+
return {
|
|
9
|
+
kind: 'blocked',
|
|
10
|
+
applies: true,
|
|
11
|
+
reason: proofPlanValidation.blocker,
|
|
12
|
+
blocker: proofPlanValidation.blocker,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const proofPlan = proofPlanValidation.proofPlan;
|
|
6
16
|
const commandTemplate = runnerVisualProofPolicy(input.config).commandTemplate;
|
|
7
17
|
const desirable = visualProofDesirable(input, proofStrategy);
|
|
8
18
|
const applies = acceptanceProofApplies(input, proofStrategy, desirable);
|
|
19
|
+
if (proofPlan.mode === 'none') {
|
|
20
|
+
if (!applies || proofStrategy === 'none') {
|
|
21
|
+
return {
|
|
22
|
+
kind: 'skip',
|
|
23
|
+
applies: false,
|
|
24
|
+
reason: 'proofPlan mode none disables acceptance proof',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
kind: 'blocked',
|
|
29
|
+
applies: true,
|
|
30
|
+
reason: 'Invalid proofPlan: none cannot satisfy required acceptance proof',
|
|
31
|
+
blocker: 'Invalid proofPlan: none cannot satisfy required acceptance proof',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (isNonVisualProofMode(proofPlan.mode)) {
|
|
35
|
+
if (!input.config.reviewGates.acceptanceProof.enabled) {
|
|
36
|
+
return {
|
|
37
|
+
kind: 'skip',
|
|
38
|
+
applies: false,
|
|
39
|
+
reason: 'acceptance proof is disabled',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
kind: 'report-validation',
|
|
44
|
+
applies: true,
|
|
45
|
+
reason: 'agent-authored non-visual proof plan accepted',
|
|
46
|
+
};
|
|
47
|
+
}
|
|
9
48
|
if (!applies) {
|
|
10
49
|
return {
|
|
11
50
|
kind: 'skip',
|
|
@@ -36,12 +75,51 @@ export function planAcceptanceProofAttempt(input) {
|
|
|
36
75
|
reason: 'acceptance proof applies but no adaptive adapter or runner command is available',
|
|
37
76
|
};
|
|
38
77
|
}
|
|
78
|
+
export function validateProofPlan(input) {
|
|
79
|
+
const proofPlan = input.implementationReport.proofPlan;
|
|
80
|
+
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
81
|
+
const dispatchTarget = proofPlanDispatchTarget(proofPlan);
|
|
82
|
+
const inferredDispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
|
|
83
|
+
const changedFilesVisualTarget = changedFilesVisualDispatchTarget(input);
|
|
84
|
+
if (proofStrategy === 'mobile-visual' && proofPlan.mode !== 'mobile-visual') {
|
|
85
|
+
return { ok: false, blocker: visualStrategyDowngradeBlocker('mobile'), retryable: true };
|
|
86
|
+
}
|
|
87
|
+
if (proofStrategy === 'browser-visual' && proofPlan.mode !== 'browser-visual') {
|
|
88
|
+
return { ok: false, blocker: visualStrategyDowngradeBlocker('browser'), retryable: true };
|
|
89
|
+
}
|
|
90
|
+
if (proofStrategy === 'visual' && dispatchTarget === 'none') {
|
|
91
|
+
return { ok: false, blocker: 'Invalid proofPlan: non-visual proof cannot satisfy visual strategy', retryable: true };
|
|
92
|
+
}
|
|
93
|
+
if (proofStrategy === 'non-visual-smoke' && (proofPlan.mode === 'browser-visual' || proofPlan.mode === 'mobile-visual')) {
|
|
94
|
+
return { ok: false, blocker: 'Invalid proofPlan: visual proof cannot satisfy non-visual proof strategy', retryable: true };
|
|
95
|
+
}
|
|
96
|
+
if (isNonVisualProofMode(proofPlan.mode)
|
|
97
|
+
&& (inferredDispatchTarget !== 'none' || changedFilesVisualTarget !== 'none')) {
|
|
98
|
+
const visualTarget = inferredDispatchTarget !== 'none' ? inferredDispatchTarget : changedFilesVisualTarget;
|
|
99
|
+
if (visualTarget === 'none') {
|
|
100
|
+
throw new Error('Expected visual proof target for non-visual proof plan downgrade.');
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
ok: false,
|
|
104
|
+
blocker: visualStrategyDowngradeBlocker(visualTarget),
|
|
105
|
+
retryable: true,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
ok: true,
|
|
110
|
+
proofPlan,
|
|
111
|
+
proofMode: proofPlan.mode,
|
|
112
|
+
dispatchTarget,
|
|
113
|
+
reason: `proofPlan mode ${proofPlan.mode} accepted`,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
39
116
|
export async function runAcceptanceProofLoopAttempt(input) {
|
|
40
117
|
const plan = planAcceptanceProofAttempt({
|
|
41
118
|
config: input.config,
|
|
42
119
|
issue: input.issue,
|
|
43
120
|
changedFiles: input.initialChangedFiles,
|
|
44
121
|
adaptiveAdapterAvailable: input.adaptiveAdapterAvailable,
|
|
122
|
+
implementationReport: input.implementationReport,
|
|
45
123
|
});
|
|
46
124
|
if (plan.kind === 'skip') {
|
|
47
125
|
return {
|
|
@@ -54,6 +132,29 @@ export async function runAcceptanceProofLoopAttempt(input) {
|
|
|
54
132
|
scopeBlockers: [],
|
|
55
133
|
};
|
|
56
134
|
}
|
|
135
|
+
if (plan.kind === 'blocked') {
|
|
136
|
+
const blocker = plan.blocker ?? plan.reason;
|
|
137
|
+
return {
|
|
138
|
+
status: 'blocked',
|
|
139
|
+
changedFiles: input.initialChangedFiles,
|
|
140
|
+
validation: [{
|
|
141
|
+
command: 'acceptance proof plan validation',
|
|
142
|
+
status: 'failed',
|
|
143
|
+
summary: blocker,
|
|
144
|
+
}],
|
|
145
|
+
artifacts: [],
|
|
146
|
+
residualRisks: [],
|
|
147
|
+
blockers: [blocker],
|
|
148
|
+
scopeBlockers: [],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
if (plan.kind === 'report-validation') {
|
|
152
|
+
return evaluateReportValidationProof({
|
|
153
|
+
implementationReport: input.implementationReport,
|
|
154
|
+
proofPlan: input.implementationReport.proofPlan,
|
|
155
|
+
changedFiles: input.initialChangedFiles,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
57
158
|
const diffCapture = await createAcceptanceProofDiffCapture({
|
|
58
159
|
worktreePath: input.worktreePath,
|
|
59
160
|
changedFiles: input.initialChangedFiles,
|
|
@@ -162,6 +263,63 @@ async function executeSelectedAdapter(input, plan) {
|
|
|
162
263
|
}
|
|
163
264
|
throw new Error(`Unsupported acceptance proof plan kind: ${plan.kind}`);
|
|
164
265
|
}
|
|
266
|
+
function evaluateReportValidationProof(input) {
|
|
267
|
+
const blockers = [];
|
|
268
|
+
if (input.proofPlan.validationCommands.length + input.proofPlan.requiredArtifacts.length === 0) {
|
|
269
|
+
blockers.push('Invalid proofPlan: non-visual proof requires at least one validation command or required artifact.');
|
|
270
|
+
}
|
|
271
|
+
for (const command of input.proofPlan.validationCommands) {
|
|
272
|
+
if (command.trim().length === 0) {
|
|
273
|
+
blockers.push('Invalid proofPlan: validation command must be non-empty.');
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
const match = input.implementationReport.validation.find((line) => line.command.trim().length > 0 && line.command === command && line.status === 'passed');
|
|
277
|
+
if (!match) {
|
|
278
|
+
blockers.push(`Invalid proofPlan: validation command was not reported as passed: ${command}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
const artifactTargets = new Set(input.implementationReport.artifacts.flatMap((artifact) => [artifact.path, artifact.url].filter(Boolean)));
|
|
282
|
+
for (const artifact of input.proofPlan.requiredArtifacts) {
|
|
283
|
+
if (artifact.trim().length === 0) {
|
|
284
|
+
blockers.push('Invalid proofPlan: required artifact must be non-empty.');
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
if (!artifactTargets.has(artifact)) {
|
|
288
|
+
blockers.push(`Invalid proofPlan: artifact was not reported: ${artifact}`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
if (!input.implementationReport.reviewHandoff?.proofByAcceptanceCriteria.length) {
|
|
292
|
+
blockers.push('Invalid proofPlan: reviewHandoff.proofByAcceptanceCriteria must map proof to acceptance criteria.');
|
|
293
|
+
}
|
|
294
|
+
const passed = blockers.length === 0;
|
|
295
|
+
const validation = [{
|
|
296
|
+
command: 'acceptance proof plan report validation',
|
|
297
|
+
status: passed ? 'passed' : 'failed',
|
|
298
|
+
summary: passed
|
|
299
|
+
? `agent-authored ${input.proofPlan.mode} proof plan passed report validation`
|
|
300
|
+
: blockers.join('; '),
|
|
301
|
+
}];
|
|
302
|
+
const artifactPaths = input.implementationReport.artifacts
|
|
303
|
+
.flatMap((artifact) => [artifact.path, artifact.url].filter((value) => Boolean(value)));
|
|
304
|
+
return {
|
|
305
|
+
status: passed ? 'passed' : 'blocked',
|
|
306
|
+
changedFiles: input.changedFiles,
|
|
307
|
+
validation,
|
|
308
|
+
artifacts: input.implementationReport.artifacts,
|
|
309
|
+
residualRisks: [],
|
|
310
|
+
blockers,
|
|
311
|
+
scopeBlockers: [],
|
|
312
|
+
evidence: {
|
|
313
|
+
status: passed ? 'passed' : 'blocked',
|
|
314
|
+
reportPath: 'completion-report:proofPlan',
|
|
315
|
+
artifactDir: 'completion-report:artifacts',
|
|
316
|
+
artifactPaths,
|
|
317
|
+
validation,
|
|
318
|
+
blockers,
|
|
319
|
+
residualRisks: [],
|
|
320
|
+
},
|
|
321
|
+
};
|
|
322
|
+
}
|
|
165
323
|
async function evaluateAdapterReport(input) {
|
|
166
324
|
const reportRead = await readAcceptanceProofReport(input.adapterResult.reportPath);
|
|
167
325
|
if (reportRead.kind === 'missing') {
|
|
@@ -229,10 +387,10 @@ export function decideProofRouting(input) {
|
|
|
229
387
|
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
230
388
|
const dispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
|
|
231
389
|
const desirable = visualProofDesirable(input, proofStrategy);
|
|
232
|
-
const
|
|
390
|
+
const applies = acceptanceProofApplies(input, proofStrategy, desirable);
|
|
233
391
|
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
234
392
|
return {
|
|
235
|
-
applies
|
|
393
|
+
applies,
|
|
236
394
|
desirable,
|
|
237
395
|
dispatchTarget,
|
|
238
396
|
proofStrategy,
|
|
@@ -242,7 +400,7 @@ export function decideProofRouting(input) {
|
|
|
242
400
|
}
|
|
243
401
|
if (dispatchTarget === 'browser' || dispatchTarget === 'mobile') {
|
|
244
402
|
return {
|
|
245
|
-
applies
|
|
403
|
+
applies,
|
|
246
404
|
desirable,
|
|
247
405
|
dispatchTarget,
|
|
248
406
|
proofStrategy,
|
|
@@ -250,7 +408,7 @@ export function decideProofRouting(input) {
|
|
|
250
408
|
reason: `${dispatchTarget} proof target matched`,
|
|
251
409
|
};
|
|
252
410
|
}
|
|
253
|
-
if (
|
|
411
|
+
if (applies && !desirable) {
|
|
254
412
|
return {
|
|
255
413
|
applies: true,
|
|
256
414
|
desirable,
|
|
@@ -260,9 +418,9 @@ export function decideProofRouting(input) {
|
|
|
260
418
|
reason: 'acceptance proof applies without browser or mobile dispatch',
|
|
261
419
|
};
|
|
262
420
|
}
|
|
263
|
-
if (
|
|
421
|
+
if (applies || desirable) {
|
|
264
422
|
return {
|
|
265
|
-
applies
|
|
423
|
+
applies,
|
|
266
424
|
desirable,
|
|
267
425
|
dispatchTarget,
|
|
268
426
|
proofStrategy,
|
|
@@ -291,24 +449,15 @@ export function isVisualProofDesirable(input) {
|
|
|
291
449
|
export function runnerVisualProofPolicy(config) {
|
|
292
450
|
const visualProof = config.reviewGates.visualProof;
|
|
293
451
|
const acceptanceProof = config.reviewGates.acceptanceProof;
|
|
294
|
-
const
|
|
295
|
-
const commandTemplate = preferLegacyVisual
|
|
296
|
-
? visualProof.runnerValidationCommand?.trim()
|
|
297
|
-
: acceptanceProof.runnerValidationCommand?.trim() || visualProof.runnerValidationCommand?.trim();
|
|
452
|
+
const commandTemplate = acceptanceProof.runnerValidationCommand?.trim();
|
|
298
453
|
return {
|
|
299
454
|
commandTemplate: commandTemplate || undefined,
|
|
300
|
-
artifactDir:
|
|
301
|
-
envPassthrough:
|
|
302
|
-
|
|
303
|
-
: acceptanceProof.envPassthrough?.length
|
|
304
|
-
? acceptanceProof.envPassthrough
|
|
305
|
-
: visualProof.envPassthrough ?? [],
|
|
306
|
-
timeoutMs: preferLegacyVisual
|
|
307
|
-
? visualProof.runnerTimeoutMs ?? acceptanceProof.runnerTimeoutMs
|
|
308
|
-
: acceptanceProof.runnerTimeoutMs ?? visualProof.runnerTimeoutMs,
|
|
455
|
+
artifactDir: acceptanceProof.artifactDir,
|
|
456
|
+
envPassthrough: acceptanceProof.envPassthrough ?? [],
|
|
457
|
+
timeoutMs: acceptanceProof.runnerTimeoutMs,
|
|
309
458
|
minScreenshotArtifacts: visualProof.minScreenshotArtifacts,
|
|
310
459
|
requireWhenDesirable: visualProof.requireWhenDesirable ?? false,
|
|
311
|
-
blockOnMissingProof:
|
|
460
|
+
blockOnMissingProof: true,
|
|
312
461
|
browserProof: {
|
|
313
462
|
strictConsoleErrors: acceptanceProof.browserProof?.strictConsoleErrors ?? false,
|
|
314
463
|
strictNetworkFailures: acceptanceProof.browserProof?.strictNetworkFailures ?? false,
|
|
@@ -337,8 +486,6 @@ function acceptanceProofApplies(input, proofStrategy, desirable) {
|
|
|
337
486
|
return issueNeedsAcceptanceProof || changedAcceptanceProofFiles || desirable;
|
|
338
487
|
}
|
|
339
488
|
function proofStrategyDispatchTarget(input, proofStrategy) {
|
|
340
|
-
const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
|
|
341
|
-
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
342
489
|
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
343
490
|
return 'none';
|
|
344
491
|
}
|
|
@@ -348,6 +495,11 @@ function proofStrategyDispatchTarget(input, proofStrategy) {
|
|
|
348
495
|
if (proofStrategy === 'mobile-visual') {
|
|
349
496
|
return 'mobile';
|
|
350
497
|
}
|
|
498
|
+
return changedFilesVisualDispatchTarget(input);
|
|
499
|
+
}
|
|
500
|
+
function changedFilesVisualDispatchTarget(input) {
|
|
501
|
+
const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
|
|
502
|
+
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
351
503
|
if (normalizedFiles.some(isMobileProofPath) || normalizedFiles.some((path) => isFlutterEntrypoint(path) && isMobileIssueText(issueText))) {
|
|
352
504
|
return 'mobile';
|
|
353
505
|
}
|
|
@@ -356,6 +508,21 @@ function proofStrategyDispatchTarget(input, proofStrategy) {
|
|
|
356
508
|
}
|
|
357
509
|
return 'none';
|
|
358
510
|
}
|
|
511
|
+
function proofPlanDispatchTarget(proofPlan) {
|
|
512
|
+
if (proofPlan.mode === 'browser-visual') {
|
|
513
|
+
return 'browser';
|
|
514
|
+
}
|
|
515
|
+
if (proofPlan.mode === 'mobile-visual') {
|
|
516
|
+
return 'mobile';
|
|
517
|
+
}
|
|
518
|
+
return 'none';
|
|
519
|
+
}
|
|
520
|
+
function isNonVisualProofMode(mode) {
|
|
521
|
+
return mode === 'non-visual-smoke' || mode === 'cli' || mode === 'api' || mode === 'worker';
|
|
522
|
+
}
|
|
523
|
+
function visualStrategyDowngradeBlocker(target) {
|
|
524
|
+
return `Invalid proofPlan: non-visual proof cannot satisfy ${target} visual strategy`;
|
|
525
|
+
}
|
|
359
526
|
function visualProofDesirable(input, proofStrategy) {
|
|
360
527
|
const visualProof = input.config.reviewGates.visualProof;
|
|
361
528
|
if (!visualProof.enabled) {
|
|
@@ -384,15 +551,6 @@ function isInternalRunnerProofPath(path) {
|
|
|
384
551
|
return /^src\/runner\/(?:acceptance-proof|visual-proof-runner)\.ts$/u.test(path)
|
|
385
552
|
|| /^test\/(?:acceptance-proof|visual-proof-runner)\.test\.ts$/u.test(path);
|
|
386
553
|
}
|
|
387
|
-
function isLegacyVisualProofOverride(acceptanceProof, visualProof) {
|
|
388
|
-
const defaultMobileCommand = 'codex-orchestrator visual-proof mobile --issue ${issueNumber}';
|
|
389
|
-
const defaultAutoCommand = 'codex-orchestrator visual-proof auto --issue ${issueNumber}';
|
|
390
|
-
const acceptanceCommand = acceptanceProof.runnerValidationCommand?.trim() || '';
|
|
391
|
-
return (acceptanceCommand === defaultMobileCommand || acceptanceCommand === defaultAutoCommand)
|
|
392
|
-
&& Boolean(visualProof.runnerValidationCommand?.trim())
|
|
393
|
-
&& visualProof.runnerValidationCommand?.trim() !== defaultMobileCommand
|
|
394
|
-
&& visualProof.runnerValidationCommand?.trim() !== defaultAutoCommand;
|
|
395
|
-
}
|
|
396
554
|
function isMobileProofPath(path) {
|
|
397
555
|
return /^(?:android|ios)\//u.test(path)
|
|
398
556
|
|| /\.(?:xcodeproj|xcworkspace)\//u.test(path)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance-proof-loop.js","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acceptance-proof-loop.js","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,11 +26,22 @@ export interface ValidationItem {
|
|
|
26
26
|
export type ReviewHandoffRisk = 'low' | 'medium' | 'high';
|
|
27
27
|
export declare const scopedArtifactTypes: readonly ["screenshot", "ui-dump", "log", "smoke-output", "other"];
|
|
28
28
|
export type ScopedArtifactType = (typeof scopedArtifactTypes)[number];
|
|
29
|
+
export declare const proofPlanModes: readonly ["none", "non-visual-smoke", "cli", "api", "worker", "browser-visual", "mobile-visual"];
|
|
30
|
+
export type ProofPlanMode = (typeof proofPlanModes)[number];
|
|
31
|
+
export type ProofPlanVisualTarget = 'browser' | 'mobile';
|
|
32
|
+
export interface ProofPlan {
|
|
33
|
+
mode: ProofPlanMode;
|
|
34
|
+
reason: string;
|
|
35
|
+
validationCommands: string[];
|
|
36
|
+
requiredArtifacts: string[];
|
|
37
|
+
visualTarget?: ProofPlanVisualTarget;
|
|
38
|
+
}
|
|
29
39
|
export type ProhibitedActionType = 'secret-file-read' | 'secret-file-change' | 'destructive-db-or-cache' | 'production-deploy-or-release';
|
|
30
40
|
export interface ScopedCompletionReport {
|
|
31
41
|
status: CompletionStatus;
|
|
32
42
|
changes: string[];
|
|
33
43
|
validation: ValidationItem[];
|
|
44
|
+
proofPlan: ProofPlan;
|
|
34
45
|
artifacts: Array<{
|
|
35
46
|
type: ScopedArtifactType;
|
|
36
47
|
path?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-report.d.ts","sourceRoot":"","sources":["../../../src/runner/completion-report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion-report.d.ts","sourceRoot":"","sources":["../../../src/runner/completion-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,15 @@ import { readFile } from 'node:fs/promises';
|
|
|
2
2
|
import { reviewHandoffFlows } from '../review-handoff.js';
|
|
3
3
|
import { validatePlanGraph } from './issue-tree.js';
|
|
4
4
|
export const scopedArtifactTypes = ['screenshot', 'ui-dump', 'log', 'smoke-output', 'other'];
|
|
5
|
+
export const proofPlanModes = [
|
|
6
|
+
'none',
|
|
7
|
+
'non-visual-smoke',
|
|
8
|
+
'cli',
|
|
9
|
+
'api',
|
|
10
|
+
'worker',
|
|
11
|
+
'browser-visual',
|
|
12
|
+
'mobile-visual',
|
|
13
|
+
];
|
|
5
14
|
const invalidReportRawContentLimit = 8000;
|
|
6
15
|
export async function readScopedCompletionReportDetailed(reportPath) {
|
|
7
16
|
let content;
|
|
@@ -81,6 +90,7 @@ function assertScopedCompletionReport(value) {
|
|
|
81
90
|
}
|
|
82
91
|
assertStringArray(record.changes, 'changes');
|
|
83
92
|
assertValidation(record.validation);
|
|
93
|
+
assertProofPlan(record.proofPlan);
|
|
84
94
|
assertArtifacts(record.artifacts);
|
|
85
95
|
assertStringArray(record.skippedChecks, 'skippedChecks');
|
|
86
96
|
assertStringArray(record.residualRisks, 'residualRisks');
|
|
@@ -92,6 +102,23 @@ function assertScopedCompletionReport(value) {
|
|
|
92
102
|
assertPromotion(record.promotion);
|
|
93
103
|
}
|
|
94
104
|
}
|
|
105
|
+
function assertProofPlan(value) {
|
|
106
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
107
|
+
throw new Error('Invalid scoped completion report: proofPlan must be an object');
|
|
108
|
+
}
|
|
109
|
+
const record = value;
|
|
110
|
+
if (typeof record.mode !== 'string' || !proofPlanModes.includes(record.mode)) {
|
|
111
|
+
throw new Error(`Invalid scoped completion report: proofPlan.mode must be one of ${proofPlanModes.join(', ')}`);
|
|
112
|
+
}
|
|
113
|
+
if (typeof record.reason !== 'string' || record.reason.trim().length === 0) {
|
|
114
|
+
throw new Error('Invalid scoped completion report: proofPlan.reason must be a non-empty string');
|
|
115
|
+
}
|
|
116
|
+
assertNonEmptyStringArray(record.validationCommands, 'proofPlan.validationCommands');
|
|
117
|
+
assertNonEmptyStringArray(record.requiredArtifacts, 'proofPlan.requiredArtifacts');
|
|
118
|
+
if ('visualTarget' in record && record.visualTarget !== 'browser' && record.visualTarget !== 'mobile') {
|
|
119
|
+
throw new Error('Invalid scoped completion report: proofPlan.visualTarget must be browser or mobile');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
95
122
|
function assertReviewHandoff(value) {
|
|
96
123
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
97
124
|
throw new Error('Invalid scoped completion report: reviewHandoff must be an object');
|
|
@@ -219,6 +246,12 @@ function assertStringArray(value, key, prefix = 'Invalid scoped completion repor
|
|
|
219
246
|
throw new Error(`${prefix}: ${key} must be a string array`);
|
|
220
247
|
}
|
|
221
248
|
}
|
|
249
|
+
function assertNonEmptyStringArray(value, key) {
|
|
250
|
+
assertStringArray(value, key);
|
|
251
|
+
if (value.some((item) => item.trim().length === 0)) {
|
|
252
|
+
throw new Error(`Invalid scoped completion report: ${key} must contain only non-empty strings`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
222
255
|
function assertValidation(value) {
|
|
223
256
|
if (!Array.isArray(value)) {
|
|
224
257
|
throw new Error('Invalid scoped completion report: validation must be an array');
|
|
@@ -228,7 +261,10 @@ function assertValidation(value) {
|
|
|
228
261
|
throw new Error('Invalid scoped completion report: validation item must be an object');
|
|
229
262
|
}
|
|
230
263
|
const record = item;
|
|
231
|
-
if (typeof record.command !== 'string'
|
|
264
|
+
if (typeof record.command !== 'string'
|
|
265
|
+
|| record.command.trim().length === 0
|
|
266
|
+
|| !['passed', 'failed', 'skipped'].includes(String(record.status))
|
|
267
|
+
|| typeof record.summary !== 'string') {
|
|
232
268
|
throw new Error('Invalid scoped completion report: validation item is malformed');
|
|
233
269
|
}
|
|
234
270
|
if ('evidence' in record) {
|