codex-orchestrator 0.1.39 → 0.1.41
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 +17 -0
- package/dist/src/cli.js +9 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/codex/command-adapter.d.ts +5 -0
- package/dist/src/codex/command-adapter.d.ts.map +1 -1
- package/dist/src/codex/command-adapter.js +23 -6
- package/dist/src/codex/command-adapter.js.map +1 -1
- package/dist/src/config/schema.d.ts +12 -2
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +70 -3
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/git/worktree.d.ts +3 -1
- package/dist/src/git/worktree.d.ts.map +1 -1
- package/dist/src/git/worktree.js +51 -17
- package/dist/src/git/worktree.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/runner/auto-visual-proof-command.d.ts.map +1 -1
- package/dist/src/runner/auto-visual-proof-command.js +6 -12
- package/dist/src/runner/auto-visual-proof-command.js.map +1 -1
- package/dist/src/runner/command-utils.d.ts +6 -2
- package/dist/src/runner/command-utils.d.ts.map +1 -1
- package/dist/src/runner/command-utils.js +39 -2
- package/dist/src/runner/command-utils.js.map +1 -1
- package/dist/src/runner/completion-report.d.ts +21 -5
- package/dist/src/runner/completion-report.d.ts.map +1 -1
- package/dist/src/runner/completion-report.js +29 -0
- package/dist/src/runner/completion-report.js.map +1 -1
- package/dist/src/runner/daemon-command.d.ts +2 -0
- package/dist/src/runner/daemon-command.d.ts.map +1 -1
- package/dist/src/runner/daemon-command.js +13 -0
- package/dist/src/runner/daemon-command.js.map +1 -1
- package/dist/src/runner/durable-run-summary.d.ts +31 -0
- package/dist/src/runner/durable-run-summary.d.ts.map +1 -1
- package/dist/src/runner/durable-run-summary.js +99 -1
- package/dist/src/runner/durable-run-summary.js.map +1 -1
- package/dist/src/runner/handoff-evidence.d.ts +6 -7
- package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
- package/dist/src/runner/handoff-evidence.js +23 -2
- package/dist/src/runner/handoff-evidence.js.map +1 -1
- package/dist/src/runner/hygiene-cleanup.d.ts +15 -0
- package/dist/src/runner/hygiene-cleanup.d.ts.map +1 -0
- package/dist/src/runner/hygiene-cleanup.js +25 -0
- package/dist/src/runner/hygiene-cleanup.js.map +1 -0
- package/dist/src/runner/issue-tree.d.ts +1 -1
- package/dist/src/runner/issue-tree.d.ts.map +1 -1
- package/dist/src/runner/issue-tree.js +15 -6
- package/dist/src/runner/issue-tree.js.map +1 -1
- package/dist/src/runner/local-execution-session.d.ts +1 -5
- package/dist/src/runner/local-execution-session.d.ts.map +1 -1
- package/dist/src/runner/local-execution-session.js +20 -2
- package/dist/src/runner/local-execution-session.js.map +1 -1
- package/dist/src/runner/plan-auto-command.d.ts +3 -0
- package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
- package/dist/src/runner/plan-auto-command.js +267 -97
- package/dist/src/runner/plan-auto-command.js.map +1 -1
- package/dist/src/runner/plan-auto-recovery.d.ts +83 -0
- package/dist/src/runner/plan-auto-recovery.d.ts.map +1 -0
- package/dist/src/runner/plan-auto-recovery.js +303 -0
- package/dist/src/runner/plan-auto-recovery.js.map +1 -0
- package/dist/src/runner/prompt.d.ts +1 -0
- package/dist/src/runner/prompt.d.ts.map +1 -1
- package/dist/src/runner/prompt.js +5 -2
- package/dist/src/runner/prompt.js.map +1 -1
- package/dist/src/runner/review-gate-policy.d.ts +15 -1
- package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
- package/dist/src/runner/review-gate-policy.js +101 -28
- package/dist/src/runner/review-gate-policy.js.map +1 -1
- package/dist/src/runner/rework-policy.d.ts +33 -2
- package/dist/src/runner/rework-policy.d.ts.map +1 -1
- package/dist/src/runner/rework-policy.js +84 -14
- package/dist/src/runner/rework-policy.js.map +1 -1
- package/dist/src/runner/scoped-auto-command.d.ts +3 -1
- package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
- package/dist/src/runner/scoped-auto-command.js +52 -10
- package/dist/src/runner/scoped-auto-command.js.map +1 -1
- package/dist/src/runner/scoped-recovery.d.ts +13 -0
- package/dist/src/runner/scoped-recovery.d.ts.map +1 -1
- package/dist/src/runner/scoped-recovery.js +16 -14
- package/dist/src/runner/scoped-recovery.js.map +1 -1
- package/dist/src/setup/project-config.d.ts.map +1 -1
- package/dist/src/setup/project-config.js +14 -2
- package/dist/src/setup/project-config.js.map +1 -1
- package/dist/src/setup/setup-command.js +1 -0
- package/dist/src/setup/setup-command.js.map +1 -1
- package/docs/deep-dive.md +48 -1
- package/package.json +1 -1
|
@@ -14,6 +14,9 @@ export function buildScopedImplementationPrompt(input) {
|
|
|
14
14
|
`This is an automatic rework attempt (#${input.rework.attempt}). Continue from the current worktree state; do not start over.`,
|
|
15
15
|
'The previous attempt was blocked for these reasons:',
|
|
16
16
|
...input.rework.blockedReasons.map((reason) => `- ${reason}`),
|
|
17
|
+
...(input.rework.disableOptionalFigmaMcp
|
|
18
|
+
? ['Optional Figma MCP failed in the previous attempt. Continue without optional Figma MCP access unless the issue explicitly requires Figma.']
|
|
19
|
+
: []),
|
|
17
20
|
'Address the blockers, then produce a fresh completion report JSON for the runner.',
|
|
18
21
|
].join('\n')
|
|
19
22
|
: '';
|
|
@@ -49,7 +52,7 @@ export function buildScopedImplementationPrompt(input) {
|
|
|
49
52
|
'## Review Handoff Contract',
|
|
50
53
|
'Include reviewHandoff for completed work so a maintainer can review quickly without reverse-engineering the diff.',
|
|
51
54
|
'reviewHandoff must name the flow used, risk level, implemented contract, proof by acceptance criterion, review focus, and human review checklist.',
|
|
52
|
-
'Schema: { "status": "completed" | "needs-promotion", "changes": string[], "validation": { "command": string, "status": "passed" | "failed" | "skipped", "summary": string }[], "artifacts": { "type": "screenshot" | "ui-dump" | "log" | "smoke-output" | "other", "path"?: string, "url"?: string, "description": string }[], "skippedChecks": string[], "residualRisks": string[], "prohibitedActions": { "type": "secret-file-read" | "secret-file-change" | "destructive-db-or-cache" | "production-deploy-or-release", "description": string }[], "reviewHandoff"?: { "flowUsed": "small-task-implementer" | "scoped-implementation" | "spec-implementer" | "issue-tree-child" | "other", "riskLevel": "low" | "medium" | "high", "implementedContract": string[], "proofByAcceptanceCriteria": string[], "reviewFocus": string[], "humanReviewChecklist": string[] }, "promotion"?: { "reason": string, "criteria": string[], "evidence": string[] } }.',
|
|
55
|
+
'Schema: { "status": "completed" | "needs-promotion", "changes": string[], "validation": { "command": string, "status": "passed" | "failed" | "skipped", "summary": string, "evidence"?: { "kind": "tdd-red-green", "red": { "command": string, "status": "failed", "summary": string }, "green": { "command": string, "status": "passed", "summary": string } } }[], "artifacts": { "type": "screenshot" | "ui-dump" | "log" | "smoke-output" | "other", "path"?: string, "url"?: string, "description": string }[], "skippedChecks": string[], "residualRisks": string[], "prohibitedActions": { "type": "secret-file-read" | "secret-file-change" | "destructive-db-or-cache" | "production-deploy-or-release", "description": string }[], "reviewHandoff"?: { "flowUsed": "small-task-implementer" | "scoped-implementation" | "spec-implementer" | "issue-tree-child" | "other", "riskLevel": "low" | "medium" | "high", "implementedContract": string[], "proofByAcceptanceCriteria": string[], "reviewFocus": string[], "humanReviewChecklist": string[] }, "promotion"?: { "reason": string, "criteria": string[], "evidence": string[] } }.',
|
|
53
56
|
`Prompt file: ${input.promptPath}`,
|
|
54
57
|
`Branch: ${input.branchName}`,
|
|
55
58
|
`Worktree: ${input.worktreePath}`,
|
|
@@ -150,7 +153,7 @@ export function buildIssueTreeChildPrompt(input) {
|
|
|
150
153
|
...buildVisualProofPromptLines(input.config, input.childIssue),
|
|
151
154
|
'## Review Handoff Contract',
|
|
152
155
|
'Include reviewHandoff for completed child work so the parent report can show risk, proof, and human review focus per child.',
|
|
153
|
-
'Schema: { "status": "completed" | "needs-promotion", "changes": string[], "validation": { "command": string, "status": "passed" | "failed" | "skipped", "summary": string }[], "artifacts": { "type": "screenshot" | "ui-dump" | "log" | "smoke-output" | "other", "path"?: string, "url"?: string, "description": string }[], "skippedChecks": string[], "residualRisks": string[], "prohibitedActions": { "type": "secret-file-read" | "secret-file-change" | "destructive-db-or-cache" | "production-deploy-or-release", "description": string }[], "reviewHandoff"?: { "flowUsed": "small-task-implementer" | "scoped-implementation" | "spec-implementer" | "issue-tree-child" | "other", "riskLevel": "low" | "medium" | "high", "implementedContract": string[], "proofByAcceptanceCriteria": string[], "reviewFocus": string[], "humanReviewChecklist": string[] }, "promotion"?: { "reason": string, "criteria": string[], "evidence": string[] } }.',
|
|
156
|
+
'Schema: { "status": "completed" | "needs-promotion", "changes": string[], "validation": { "command": string, "status": "passed" | "failed" | "skipped", "summary": string, "evidence"?: { "kind": "tdd-red-green", "red": { "command": string, "status": "failed", "summary": string }, "green": { "command": string, "status": "passed", "summary": string } } }[], "artifacts": { "type": "screenshot" | "ui-dump" | "log" | "smoke-output" | "other", "path"?: string, "url"?: string, "description": string }[], "skippedChecks": string[], "residualRisks": string[], "prohibitedActions": { "type": "secret-file-read" | "secret-file-change" | "destructive-db-or-cache" | "production-deploy-or-release", "description": string }[], "reviewHandoff"?: { "flowUsed": "small-task-implementer" | "scoped-implementation" | "spec-implementer" | "issue-tree-child" | "other", "riskLevel": "low" | "medium" | "high", "implementedContract": string[], "proofByAcceptanceCriteria": string[], "reviewFocus": string[], "humanReviewChecklist": string[] }, "promotion"?: { "reason": string, "criteria": string[], "evidence": string[] } }.',
|
|
154
157
|
`Prompt file: ${input.promptPath}`,
|
|
155
158
|
`Branch: ${input.branchName}`,
|
|
156
159
|
`Worktree: ${input.worktreePath}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodexOrchestratorConfig } from '../config/schema.js';
|
|
1
|
+
import type { AcceptanceProofStrategy, CodexOrchestratorConfig } from '../config/schema.js';
|
|
2
2
|
import type { GitHubIssue } from '../github/issues.js';
|
|
3
3
|
import type { RunnerValidationLine } from './handoff-evidence.js';
|
|
4
4
|
export declare function buildVisualProofPromptLines(config: CodexOrchestratorConfig, issue: GitHubIssue): string[];
|
|
@@ -9,6 +9,20 @@ export declare function shouldApplyVisualProofGate(input: {
|
|
|
9
9
|
changedFiles: string[];
|
|
10
10
|
}): boolean;
|
|
11
11
|
export type VisualProofDispatchTarget = 'browser' | 'mobile' | 'none';
|
|
12
|
+
export type ProofRoutingAction = 'skip' | 'dispatch' | 'allow-non-visual' | 'error';
|
|
13
|
+
export interface ProofRoutingDecision {
|
|
14
|
+
applies: boolean;
|
|
15
|
+
desirable: boolean;
|
|
16
|
+
dispatchTarget: VisualProofDispatchTarget;
|
|
17
|
+
proofStrategy: AcceptanceProofStrategy;
|
|
18
|
+
action: ProofRoutingAction;
|
|
19
|
+
reason: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function decideProofRouting(input: {
|
|
22
|
+
config: CodexOrchestratorConfig;
|
|
23
|
+
issue: GitHubIssue;
|
|
24
|
+
changedFiles: string[];
|
|
25
|
+
}): ProofRoutingDecision;
|
|
12
26
|
export declare function classifyVisualProofDispatchTarget(input: {
|
|
13
27
|
config: CodexOrchestratorConfig;
|
|
14
28
|
issue: GitHubIssue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-gate-policy.d.ts","sourceRoot":"","sources":["../../../src/runner/review-gate-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"review-gate-policy.d.ts","sourceRoot":"","sources":["../../../src/runner/review-gate-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@ export function buildVisualProofPromptLines(config, issue) {
|
|
|
6
6
|
const policy = runnerVisualProofPolicy(config);
|
|
7
7
|
const command = policy.commandTemplate;
|
|
8
8
|
const proofStrategy = resolveAcceptanceProofStrategy({ config, issue });
|
|
9
|
+
const routing = decideProofRouting({ config, issue, changedFiles: [] });
|
|
9
10
|
const issueNumber = issue.number;
|
|
10
11
|
const strategyLines = proofStrategyPromptLines(proofStrategy);
|
|
11
|
-
if (proofStrategy
|
|
12
|
+
if (routing.proofStrategy === 'non-visual-smoke') {
|
|
12
13
|
return [
|
|
13
14
|
...strategyLines,
|
|
14
15
|
`For acceptance proof, save non-visual smoke, test, log, or machine-readable artifacts under ${policy.artifactDir}/issue-${issueNumber}/ and include them as log, smoke-output, or other artifacts.`,
|
|
@@ -16,7 +17,7 @@ export function buildVisualProofPromptLines(config, issue) {
|
|
|
16
17
|
'Do not change files outside the child ownership scope for proof routing. If non-visual evidence is insufficient, report the exact gap in skippedChecks or residualRisks.',
|
|
17
18
|
];
|
|
18
19
|
}
|
|
19
|
-
if (proofStrategy
|
|
20
|
+
if (routing.proofStrategy === 'none') {
|
|
20
21
|
return [
|
|
21
22
|
...strategyLines,
|
|
22
23
|
`If ordinary validation artifacts are useful, save them under ${policy.artifactDir}/issue-${issueNumber}/ and include them as log, smoke-output, or other artifacts.`,
|
|
@@ -125,37 +126,68 @@ export function buildQualityGatePromptLines(config) {
|
|
|
125
126
|
];
|
|
126
127
|
}
|
|
127
128
|
export function shouldApplyVisualProofGate(input) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
const policy = runnerVisualProofPolicy(input.config);
|
|
133
|
-
if (!policy.commandTemplate) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
137
|
-
const acceptanceCommand = acceptanceProof.runnerValidationCommand?.trim();
|
|
129
|
+
return decideProofRouting(input).applies;
|
|
130
|
+
}
|
|
131
|
+
export function decideProofRouting(input) {
|
|
138
132
|
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
133
|
+
const dispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
|
|
134
|
+
const desirable = visualProofDesirable(input, proofStrategy);
|
|
135
|
+
const applies = visualProofGateApplies(input, proofStrategy, desirable);
|
|
139
136
|
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
140
|
-
return
|
|
137
|
+
return {
|
|
138
|
+
applies,
|
|
139
|
+
desirable,
|
|
140
|
+
dispatchTarget,
|
|
141
|
+
proofStrategy,
|
|
142
|
+
action: 'skip',
|
|
143
|
+
reason: 'proof strategy disables browser/mobile visual proof',
|
|
144
|
+
};
|
|
141
145
|
}
|
|
142
|
-
if (
|
|
143
|
-
return
|
|
146
|
+
if (dispatchTarget === 'browser' || dispatchTarget === 'mobile') {
|
|
147
|
+
return {
|
|
148
|
+
applies,
|
|
149
|
+
desirable,
|
|
150
|
+
dispatchTarget,
|
|
151
|
+
proofStrategy,
|
|
152
|
+
action: 'dispatch',
|
|
153
|
+
reason: `${dispatchTarget} proof target matched`,
|
|
154
|
+
};
|
|
144
155
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
156
|
+
if (applies && !desirable) {
|
|
157
|
+
return {
|
|
158
|
+
applies,
|
|
159
|
+
desirable,
|
|
160
|
+
dispatchTarget,
|
|
161
|
+
proofStrategy,
|
|
162
|
+
action: 'allow-non-visual',
|
|
163
|
+
reason: 'acceptance proof applies without browser or mobile dispatch',
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
if (applies || desirable) {
|
|
167
|
+
return {
|
|
168
|
+
applies,
|
|
169
|
+
desirable,
|
|
170
|
+
dispatchTarget,
|
|
171
|
+
proofStrategy,
|
|
172
|
+
action: 'error',
|
|
173
|
+
reason: 'visual proof is desirable but no browser or mobile dispatch target matched',
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
applies,
|
|
178
|
+
desirable,
|
|
179
|
+
dispatchTarget,
|
|
180
|
+
proofStrategy,
|
|
181
|
+
action: 'error',
|
|
182
|
+
reason: 'proof routing did not match issue text or changed paths',
|
|
183
|
+
};
|
|
154
184
|
}
|
|
155
185
|
export function classifyVisualProofDispatchTarget(input) {
|
|
186
|
+
return decideProofRouting(input).dispatchTarget;
|
|
187
|
+
}
|
|
188
|
+
function proofStrategyDispatchTarget(input, proofStrategy) {
|
|
156
189
|
const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
|
|
157
190
|
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
158
|
-
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
159
191
|
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
160
192
|
return 'none';
|
|
161
193
|
}
|
|
@@ -168,20 +200,21 @@ export function classifyVisualProofDispatchTarget(input) {
|
|
|
168
200
|
if (normalizedFiles.some(isMobileProofPath) || normalizedFiles.some((path) => isFlutterEntrypoint(path) && isMobileIssueText(issueText))) {
|
|
169
201
|
return 'mobile';
|
|
170
202
|
}
|
|
171
|
-
if (normalizedFiles.some((path) => input.config.reviewGates.
|
|
172
|
-
|| normalizedFiles.some((path) => input.config.reviewGates.visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)))) {
|
|
203
|
+
if (normalizedFiles.some((path) => input.config.reviewGates.visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)))) {
|
|
173
204
|
return 'browser';
|
|
174
205
|
}
|
|
175
206
|
return 'none';
|
|
176
207
|
}
|
|
177
208
|
export function isVisualProofDesirable(input) {
|
|
209
|
+
return decideProofRouting(input).desirable;
|
|
210
|
+
}
|
|
211
|
+
function visualProofDesirable(input, proofStrategy) {
|
|
178
212
|
const visualProof = input.config.reviewGates.visualProof;
|
|
179
213
|
if (!visualProof.enabled) {
|
|
180
214
|
return false;
|
|
181
215
|
}
|
|
182
216
|
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
183
217
|
const command = runnerVisualProofPolicy(input.config).commandTemplate;
|
|
184
|
-
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
185
218
|
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
186
219
|
return false;
|
|
187
220
|
}
|
|
@@ -196,6 +229,33 @@ export function isVisualProofDesirable(input) {
|
|
|
196
229
|
const changedProofFiles = input.changedFiles.filter((path) => visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
|
|
197
230
|
return issueNeedsVisualProof || changedProofFiles.length > 0;
|
|
198
231
|
}
|
|
232
|
+
function visualProofGateApplies(input, proofStrategy, desirable) {
|
|
233
|
+
const acceptanceProof = input.config.reviewGates.acceptanceProof;
|
|
234
|
+
if (!acceptanceProof.enabled) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
const policy = runnerVisualProofPolicy(input.config);
|
|
238
|
+
if (!policy.commandTemplate) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
242
|
+
const acceptanceCommand = acceptanceProof.runnerValidationCommand?.trim();
|
|
243
|
+
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
if (proofStrategy === 'browser-visual' || proofStrategy === 'mobile-visual' || proofStrategy === 'visual') {
|
|
247
|
+
return Boolean(acceptanceCommand);
|
|
248
|
+
}
|
|
249
|
+
const internalRunnerProofOnlyChange = input.changedFiles.length > 0
|
|
250
|
+
&& input.changedFiles.every(isInternalRunnerProofPath);
|
|
251
|
+
const canRunGenericAcceptanceProof = Boolean(acceptanceCommand) && !isMobileVisualProofCommand(acceptanceCommand);
|
|
252
|
+
const issueNeedsAcceptanceProof = canRunGenericAcceptanceProof
|
|
253
|
+
&& !internalRunnerProofOnlyChange
|
|
254
|
+
&& acceptanceProof.issueTextPatterns.some((pattern) => regexMatches(pattern, issueText));
|
|
255
|
+
const changedAcceptanceProofFiles = canRunGenericAcceptanceProof
|
|
256
|
+
&& input.changedFiles.some((path) => acceptanceProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
|
|
257
|
+
return issueNeedsAcceptanceProof || changedAcceptanceProofFiles || desirable;
|
|
258
|
+
}
|
|
199
259
|
function isInternalRunnerProofPath(path) {
|
|
200
260
|
return /^src\/runner\/(?:acceptance-proof|visual-proof-runner)\.ts$/u.test(path)
|
|
201
261
|
|| /^test\/(?:acceptance-proof|visual-proof-runner)\.test\.ts$/u.test(path);
|
|
@@ -204,6 +264,9 @@ export function hasPassedValidation(validation, patterns) {
|
|
|
204
264
|
return validation.some((line) => line.status === 'passed' && patterns.some((pattern) => regexMatches(pattern, validationText(line))));
|
|
205
265
|
}
|
|
206
266
|
export function hasPassedTddValidation(validation, patterns) {
|
|
267
|
+
if (validation.some((line) => line.status === 'passed' && hasStructuredTddEvidence(line))) {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
207
270
|
if (validation.some((line) => line.status === 'passed'
|
|
208
271
|
&& !hasMissingTddProofText(validationText(line))
|
|
209
272
|
&& patterns.some((pattern) => regexMatches(pattern, validationText(line))))) {
|
|
@@ -217,6 +280,16 @@ export function hasPassedTddValidation(validation, patterns) {
|
|
|
217
280
|
const hasGreenEvidence = passedTexts.some(hasTddGreenEvidence);
|
|
218
281
|
return hasRedEvidence && hasGreenEvidence;
|
|
219
282
|
}
|
|
283
|
+
function hasStructuredTddEvidence(line) {
|
|
284
|
+
const evidence = line.evidence;
|
|
285
|
+
return evidence?.kind === 'tdd-red-green'
|
|
286
|
+
&& evidence.red.status === 'failed'
|
|
287
|
+
&& evidence.red.command.trim().length > 0
|
|
288
|
+
&& evidence.red.summary.trim().length > 0
|
|
289
|
+
&& evidence.green.status === 'passed'
|
|
290
|
+
&& evidence.green.command.trim().length > 0
|
|
291
|
+
&& evidence.green.summary.trim().length > 0;
|
|
292
|
+
}
|
|
220
293
|
export function validationText(line) {
|
|
221
294
|
return `${line.command}\n${line.summary}`;
|
|
222
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-gate-policy.js","sourceRoot":"","sources":["../../../src/runner/review-gate-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-gate-policy.js","sourceRoot":"","sources":["../../../src/runner/review-gate-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
import type { CodexOrchestratorConfig } from '../config/schema.js';
|
|
2
2
|
export declare const MISSING_COMPLETION_REPORT_REASON = "Codex did not write CODEX_ORCHESTRATOR_REPORT_FILE; runner cannot prove safety contract.";
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
3
|
+
export declare const OPTIONAL_FIGMA_MCP_FAILURE_REASON = "Optional Figma MCP failed before completion; retry without optional Figma MCP.";
|
|
4
|
+
export declare const REQUIRED_FIGMA_MCP_FAILURE_REASON = "Required Figma MCP failed; required design access is unavailable.";
|
|
5
|
+
export type ReworkBlockerKey = 'missing-completion-report' | 'invalid-completion-report' | 'no-changed-files' | 'failed-configured-checks' | 'missing-quality-gate-evidence' | 'failed-acceptance-proof' | 'risk-routing-policy' | 'optional-figma-mcp-failure' | 'required-figma-mcp-failure' | 'denied-path' | 'publication-violation' | 'destructive-or-production-action' | 'unknown';
|
|
6
|
+
export interface ReworkDecisionInput {
|
|
7
|
+
reasons: string[];
|
|
8
|
+
config: CodexOrchestratorConfig;
|
|
9
|
+
attempt: number;
|
|
10
|
+
}
|
|
11
|
+
export type ReworkDecision = {
|
|
12
|
+
kind: 'retry';
|
|
13
|
+
attempt: number;
|
|
14
|
+
nextAttempt: number;
|
|
15
|
+
maxAttempts: number;
|
|
16
|
+
blockerKeys: ReworkBlockerKey[];
|
|
17
|
+
reasons: string[];
|
|
18
|
+
rework: {
|
|
19
|
+
attempt: number;
|
|
20
|
+
blockedReasons: string[];
|
|
21
|
+
disableOptionalFigmaMcp: boolean;
|
|
22
|
+
};
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'exhausted';
|
|
25
|
+
attempt: number;
|
|
26
|
+
maxAttempts: number;
|
|
27
|
+
blockerKeys: ReworkBlockerKey[];
|
|
28
|
+
reasons: string[];
|
|
29
|
+
} | {
|
|
30
|
+
kind: 'hard-block';
|
|
31
|
+
attempt: number;
|
|
32
|
+
blockerKeys: ReworkBlockerKey[];
|
|
33
|
+
reasons: string[];
|
|
34
|
+
};
|
|
35
|
+
export declare function decideImplementationRework(input: ReworkDecisionInput): ReworkDecision;
|
|
5
36
|
//# sourceMappingURL=rework-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rework-policy.d.ts","sourceRoot":"","sources":["../../../src/runner/rework-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,eAAO,MAAM,gCAAgC,6FAC+C,CAAC;
|
|
1
|
+
{"version":3,"file":"rework-policy.d.ts","sourceRoot":"","sources":["../../../src/runner/rework-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,eAAO,MAAM,gCAAgC,6FAC+C,CAAC;AAE7F,eAAO,MAAM,iCAAiC,mFACoC,CAAC;AAEnF,eAAO,MAAM,iCAAiC,sEACuB,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GACxB,2BAA2B,GAC3B,2BAA2B,GAC3B,kBAAkB,GAClB,0BAA0B,GAC1B,+BAA+B,GAC/B,yBAAyB,GACzB,qBAAqB,GACrB,4BAA4B,GAC5B,4BAA4B,GAC5B,aAAa,GACb,uBAAuB,GACvB,kCAAkC,GAClC,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,uBAAuB,EAAE,OAAO,CAAC;KAClC,CAAC;CACH,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AA6BN,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CA+CrF"}
|
|
@@ -1,32 +1,102 @@
|
|
|
1
1
|
export const MISSING_COMPLETION_REPORT_REASON = 'Codex did not write CODEX_ORCHESTRATOR_REPORT_FILE; runner cannot prove safety contract.';
|
|
2
|
+
export const OPTIONAL_FIGMA_MCP_FAILURE_REASON = 'Optional Figma MCP failed before completion; retry without optional Figma MCP.';
|
|
3
|
+
export const REQUIRED_FIGMA_MCP_FAILURE_REASON = 'Required Figma MCP failed; required design access is unavailable.';
|
|
2
4
|
const missingCompletionReportPattern = new RegExp(escapeRegex(MISSING_COMPLETION_REPORT_REASON), 'iu');
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
]
|
|
8
|
-
|
|
5
|
+
const optionalFigmaPattern = new RegExp(escapeRegex(OPTIONAL_FIGMA_MCP_FAILURE_REASON), 'iu');
|
|
6
|
+
const requiredFigmaPattern = new RegExp(escapeRegex(REQUIRED_FIGMA_MCP_FAILURE_REASON), 'iu');
|
|
7
|
+
const blockerPatterns = [
|
|
8
|
+
['denied-path', /matches denied pattern/iu],
|
|
9
|
+
['publication-violation', /runner-owned publication was violated/iu],
|
|
10
|
+
['destructive-or-production-action', /destructive-db-or-cache|production-deploy-or-release/iu],
|
|
11
|
+
['required-figma-mcp-failure', requiredFigmaPattern],
|
|
12
|
+
['optional-figma-mcp-failure', optionalFigmaPattern],
|
|
9
13
|
['missing-quality-gate-evidence', /Quality gate requires/iu],
|
|
10
|
-
['failed-configured-checks', /One or more configured checks failed/iu],
|
|
14
|
+
['failed-configured-checks', /One or more configured checks failed|^(?!Codex exited\b)[^\n:]+:\s*failed\b/iu],
|
|
11
15
|
['failed-acceptance-proof', /Acceptance proof/iu],
|
|
12
16
|
['risk-routing-policy', /Risk routing gate requires/iu],
|
|
13
17
|
['invalid-completion-report', /Invalid scoped completion report/iu],
|
|
14
18
|
['missing-completion-report', missingCompletionReportPattern],
|
|
15
19
|
['no-changed-files', /Codex completed without file changes/iu],
|
|
16
20
|
];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
const hardBlockerKeys = new Set([
|
|
22
|
+
'denied-path',
|
|
23
|
+
'publication-violation',
|
|
24
|
+
'destructive-or-production-action',
|
|
25
|
+
'required-figma-mcp-failure',
|
|
26
|
+
'unknown',
|
|
27
|
+
]);
|
|
28
|
+
export function decideImplementationRework(input) {
|
|
29
|
+
const blockerKeys = classifyBlockerKeys(input.reasons);
|
|
30
|
+
const hardBlockers = blockerKeys.filter((key) => hardBlockerKeys.has(key));
|
|
31
|
+
if (hardBlockers.length > 0) {
|
|
32
|
+
return {
|
|
33
|
+
kind: 'hard-block',
|
|
34
|
+
attempt: input.attempt,
|
|
35
|
+
blockerKeys,
|
|
36
|
+
reasons: input.reasons,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const retryable = new Set(input.config.loopPolicy.rework.retryableBlockers);
|
|
40
|
+
const retryableBlockerKeys = blockerKeys.filter((key) => retryable.has(key));
|
|
41
|
+
if (retryableBlockerKeys.length === 0) {
|
|
42
|
+
return {
|
|
43
|
+
kind: 'hard-block',
|
|
44
|
+
attempt: input.attempt,
|
|
45
|
+
blockerKeys,
|
|
46
|
+
reasons: input.reasons,
|
|
47
|
+
};
|
|
20
48
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
49
|
+
const maxAttempts = maxAttemptsForBlockerKeys(blockerKeys, input.config);
|
|
50
|
+
if (input.attempt >= maxAttempts) {
|
|
51
|
+
return {
|
|
52
|
+
kind: 'exhausted',
|
|
53
|
+
attempt: input.attempt,
|
|
54
|
+
maxAttempts,
|
|
55
|
+
blockerKeys,
|
|
56
|
+
reasons: input.reasons,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
kind: 'retry',
|
|
61
|
+
attempt: input.attempt,
|
|
62
|
+
nextAttempt: input.attempt + 1,
|
|
63
|
+
maxAttempts,
|
|
64
|
+
blockerKeys,
|
|
65
|
+
reasons: input.reasons,
|
|
66
|
+
rework: {
|
|
67
|
+
attempt: input.attempt + 1,
|
|
68
|
+
blockedReasons: input.reasons,
|
|
69
|
+
disableOptionalFigmaMcp: blockerKeys.includes('optional-figma-mcp-failure'),
|
|
70
|
+
},
|
|
71
|
+
};
|
|
23
72
|
}
|
|
24
|
-
|
|
25
|
-
|
|
73
|
+
function classifyBlockerKeys(reasons) {
|
|
74
|
+
const keys = [];
|
|
75
|
+
for (const reason of reasons) {
|
|
76
|
+
const matched = blockerPatterns
|
|
77
|
+
.filter(([, pattern]) => pattern.test(reason))
|
|
78
|
+
.map(([key]) => key);
|
|
79
|
+
if (matched.length === 0) {
|
|
80
|
+
pushUnique(keys, 'unknown');
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
for (const key of matched) {
|
|
84
|
+
pushUnique(keys, key);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return keys;
|
|
88
|
+
}
|
|
89
|
+
function maxAttemptsForBlockerKeys(blockerKeys, config) {
|
|
90
|
+
if (blockerKeys.includes('failed-acceptance-proof')) {
|
|
26
91
|
return Math.max(0, config.reviewGates.acceptanceProof.maxIterations - 1);
|
|
27
92
|
}
|
|
28
93
|
return config.loopPolicy.rework.maxAttempts;
|
|
29
94
|
}
|
|
95
|
+
function pushUnique(items, item) {
|
|
96
|
+
if (!items.includes(item)) {
|
|
97
|
+
items.push(item);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
30
100
|
function escapeRegex(value) {
|
|
31
101
|
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
32
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rework-policy.js","sourceRoot":"","sources":["../../../src/runner/rework-policy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gCAAgC,GAC3C,0FAA0F,CAAC;AAE7F,MAAM,8BAA8B,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,gCAAgC,CAAC,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"rework-policy.js","sourceRoot":"","sources":["../../../src/runner/rework-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { GitHubPullRequest, GitHubPullRequestAdapter } from '../github/pull
|
|
|
5
5
|
import { GitWorktreeManager } from '../git/worktree.js';
|
|
6
6
|
import { type ShellCommandExecutor } from '../process/command.js';
|
|
7
7
|
import { type FreshContextReviewEvidence } from './handoff-evidence.js';
|
|
8
|
-
import { writeDurableRunSummary } from './durable-run-summary.js';
|
|
8
|
+
import { writeDurableRunSummary, type ReworkAttemptEvidence } from './durable-run-summary.js';
|
|
9
9
|
import { type ImplementationPublishabilityResult, type LocalExecutionPhaseExecutor } from './local-execution-session.js';
|
|
10
10
|
import type { AcceptanceProofAttemptEvidence } from './acceptance-proof-runner.js';
|
|
11
11
|
export interface ScopedAutoCommandOptions {
|
|
@@ -28,6 +28,7 @@ export interface ScopedRecoveryRetryOptions extends ScopedAutoCommandOptions {
|
|
|
28
28
|
initialRework: {
|
|
29
29
|
attempt: number;
|
|
30
30
|
blockedReasons: string[];
|
|
31
|
+
disableOptionalFigmaMcp?: boolean;
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
34
|
export interface ScopedAutoCommandResult {
|
|
@@ -76,6 +77,7 @@ export interface FinishScopedBlockedHandoffInput {
|
|
|
76
77
|
residualRisks: string[];
|
|
77
78
|
freshContextReview?: FreshContextReviewEvidence;
|
|
78
79
|
durableRunSummary?: Awaited<ReturnType<typeof writeDurableRunSummary>>;
|
|
80
|
+
reworkAttempts?: ReworkAttemptEvidence[];
|
|
79
81
|
acceptanceProof?: AcceptanceProofAttemptEvidence;
|
|
80
82
|
commentPrefix?: string;
|
|
81
83
|
skipCommentIfIncludes?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAG9F,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK/F,OAAO,EAKL,KAAK,0BAA0B,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"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"}
|