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.
Files changed (90) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +17 -0
  3. package/dist/src/cli.js +9 -0
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/codex/command-adapter.d.ts +5 -0
  6. package/dist/src/codex/command-adapter.d.ts.map +1 -1
  7. package/dist/src/codex/command-adapter.js +23 -6
  8. package/dist/src/codex/command-adapter.js.map +1 -1
  9. package/dist/src/config/schema.d.ts +12 -2
  10. package/dist/src/config/schema.d.ts.map +1 -1
  11. package/dist/src/config/schema.js +70 -3
  12. package/dist/src/config/schema.js.map +1 -1
  13. package/dist/src/git/worktree.d.ts +3 -1
  14. package/dist/src/git/worktree.d.ts.map +1 -1
  15. package/dist/src/git/worktree.js +51 -17
  16. package/dist/src/git/worktree.js.map +1 -1
  17. package/dist/src/index.d.ts +2 -0
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +1 -0
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/runner/auto-visual-proof-command.d.ts.map +1 -1
  22. package/dist/src/runner/auto-visual-proof-command.js +6 -12
  23. package/dist/src/runner/auto-visual-proof-command.js.map +1 -1
  24. package/dist/src/runner/command-utils.d.ts +6 -2
  25. package/dist/src/runner/command-utils.d.ts.map +1 -1
  26. package/dist/src/runner/command-utils.js +39 -2
  27. package/dist/src/runner/command-utils.js.map +1 -1
  28. package/dist/src/runner/completion-report.d.ts +21 -5
  29. package/dist/src/runner/completion-report.d.ts.map +1 -1
  30. package/dist/src/runner/completion-report.js +29 -0
  31. package/dist/src/runner/completion-report.js.map +1 -1
  32. package/dist/src/runner/daemon-command.d.ts +2 -0
  33. package/dist/src/runner/daemon-command.d.ts.map +1 -1
  34. package/dist/src/runner/daemon-command.js +13 -0
  35. package/dist/src/runner/daemon-command.js.map +1 -1
  36. package/dist/src/runner/durable-run-summary.d.ts +31 -0
  37. package/dist/src/runner/durable-run-summary.d.ts.map +1 -1
  38. package/dist/src/runner/durable-run-summary.js +99 -1
  39. package/dist/src/runner/durable-run-summary.js.map +1 -1
  40. package/dist/src/runner/handoff-evidence.d.ts +6 -7
  41. package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
  42. package/dist/src/runner/handoff-evidence.js +23 -2
  43. package/dist/src/runner/handoff-evidence.js.map +1 -1
  44. package/dist/src/runner/hygiene-cleanup.d.ts +15 -0
  45. package/dist/src/runner/hygiene-cleanup.d.ts.map +1 -0
  46. package/dist/src/runner/hygiene-cleanup.js +25 -0
  47. package/dist/src/runner/hygiene-cleanup.js.map +1 -0
  48. package/dist/src/runner/issue-tree.d.ts +1 -1
  49. package/dist/src/runner/issue-tree.d.ts.map +1 -1
  50. package/dist/src/runner/issue-tree.js +15 -6
  51. package/dist/src/runner/issue-tree.js.map +1 -1
  52. package/dist/src/runner/local-execution-session.d.ts +1 -5
  53. package/dist/src/runner/local-execution-session.d.ts.map +1 -1
  54. package/dist/src/runner/local-execution-session.js +20 -2
  55. package/dist/src/runner/local-execution-session.js.map +1 -1
  56. package/dist/src/runner/plan-auto-command.d.ts +3 -0
  57. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  58. package/dist/src/runner/plan-auto-command.js +267 -97
  59. package/dist/src/runner/plan-auto-command.js.map +1 -1
  60. package/dist/src/runner/plan-auto-recovery.d.ts +83 -0
  61. package/dist/src/runner/plan-auto-recovery.d.ts.map +1 -0
  62. package/dist/src/runner/plan-auto-recovery.js +303 -0
  63. package/dist/src/runner/plan-auto-recovery.js.map +1 -0
  64. package/dist/src/runner/prompt.d.ts +1 -0
  65. package/dist/src/runner/prompt.d.ts.map +1 -1
  66. package/dist/src/runner/prompt.js +5 -2
  67. package/dist/src/runner/prompt.js.map +1 -1
  68. package/dist/src/runner/review-gate-policy.d.ts +15 -1
  69. package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
  70. package/dist/src/runner/review-gate-policy.js +101 -28
  71. package/dist/src/runner/review-gate-policy.js.map +1 -1
  72. package/dist/src/runner/rework-policy.d.ts +33 -2
  73. package/dist/src/runner/rework-policy.d.ts.map +1 -1
  74. package/dist/src/runner/rework-policy.js +84 -14
  75. package/dist/src/runner/rework-policy.js.map +1 -1
  76. package/dist/src/runner/scoped-auto-command.d.ts +3 -1
  77. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  78. package/dist/src/runner/scoped-auto-command.js +52 -10
  79. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  80. package/dist/src/runner/scoped-recovery.d.ts +13 -0
  81. package/dist/src/runner/scoped-recovery.d.ts.map +1 -1
  82. package/dist/src/runner/scoped-recovery.js +16 -14
  83. package/dist/src/runner/scoped-recovery.js.map +1 -1
  84. package/dist/src/setup/project-config.d.ts.map +1 -1
  85. package/dist/src/setup/project-config.js +14 -2
  86. package/dist/src/setup/project-config.js.map +1 -1
  87. package/dist/src/setup/setup-command.js +1 -0
  88. package/dist/src/setup/setup-command.js.map +1 -1
  89. package/docs/deep-dive.md +48 -1
  90. 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":"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"}
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;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAgEzG;AAkDD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,EAAE,CAerF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,GAAG,OAAO,CA+BV;AAED,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtE,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,GAAG,yBAAyB,CAqB5B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,GAAG,OAAO,CAyBV;AAOD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAInG;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAgBtG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAEjE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAE5E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAE5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;CACH,CA4BA"}
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.strategy === 'non-visual-smoke') {
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.strategy === 'none') {
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
- const acceptanceProof = input.config.reviewGates.acceptanceProof;
129
- if (!acceptanceProof.enabled) {
130
- return false;
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 false;
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 (proofStrategy === 'browser-visual' || proofStrategy === 'mobile-visual' || proofStrategy === 'visual') {
143
- return Boolean(acceptanceCommand);
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
- const internalRunnerProofOnlyChange = input.changedFiles.length > 0
146
- && input.changedFiles.every(isInternalRunnerProofPath);
147
- const canRunGenericAcceptanceProof = Boolean(acceptanceCommand) && !isMobileVisualProofCommand(acceptanceCommand);
148
- const issueNeedsAcceptanceProof = canRunGenericAcceptanceProof
149
- && !internalRunnerProofOnlyChange
150
- && acceptanceProof.issueTextPatterns.some((pattern) => regexMatches(pattern, issueText));
151
- const changedAcceptanceProofFiles = canRunGenericAcceptanceProof
152
- && input.changedFiles.some((path) => acceptanceProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
153
- return issueNeedsAcceptanceProof || changedAcceptanceProofFiles || isVisualProofDesirable(input);
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.acceptanceProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)))
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":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,UAAU,2BAA2B,CAAC,MAA+B,EAAE,KAAkB;IAC7F,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;IAC3D,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;IACvC,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,MAAM,aAAa,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAClD,OAAO;YACL,GAAG,aAAa;YAChB,+FAA+F,MAAM,CAAC,WAAW,UAAU,WAAW,8DAA8D;YACpM,2MAA2M;YAC3M,0KAA0K;SAC3K,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,aAAa;YAChB,gEAAgE,MAAM,CAAC,WAAW,UAAU,WAAW,8DAA8D;YACrK,0IAA0I;SAC3I,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,GAAG,aAAa;YAChB,oDAAoD,MAAM,CAAC,WAAW,UAAU,WAAW,mFAAmF;YAC9K,8OAA8O;YAC9O,sIAAsI;YACtI,GAAG,6BAA6B,EAAE;YAClC,GAAG,yBAAyB,EAAE;YAC9B,iJAAiJ;YACjJ,4MAA4M;SAC7M,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;IACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,yGAAyG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF;QAC/M,CAAC,CAAC,mMAAmM,CAAC;IAExM,OAAO;QACL,GAAG,aAAa;QAChB,uDAAuD,MAAM,CAAC,WAAW,UAAU,WAAW,wGAAwG;QACtM,iJAAiJ,OAAO,GAAG;QAC3J,0KAA0K;QAC1K,mEAAmE,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACpH,4HAA4H;QAC5H,4GAA4G;QAC5G,8LAA8L;QAC9L,+DAA+D,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACxG,0KAA0K;QAC1K,uIAAuI;QACvI,sJAAsJ;QACtJ,GAAG,6BAA6B,EAAE;QAClC,GAAG,yBAAyB,EAAE;QAC9B,mHAAmH;QACnH,gIAAgI;QAChI,wJAAwJ;QACxJ,iJAAiJ;QACjJ,+IAA+I;QAC/I,uIAAuI;QACvI,YAAY;QACZ,kHAAkH;KACnH,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,aAAgE;IAChG,MAAM,KAAK,GAAG;QACZ,4BAA4B,aAAa,CAAC,QAAQ,KAAK,aAAa,CAAC,MAAM,IAAI;QAC/E,+IAA+I;KAChJ,CAAC;IACF,IAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAClD,OAAO;YACL,GAAG,KAAK;YACR,wGAAwG;YACxG,wIAAwI;SACzI,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,KAAK;YACR,8HAA8H;SAC/H,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,KAAK,EAAE,0GAA0G,CAAC,CAAC;IAChI,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,KAAK,EAAE,yHAAyH,CAAC,CAAC;IAC/I,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B;IACpC,OAAO;QACL,mOAAmO;QACnO,wNAAwN;QACxN,iKAAiK;QACjK,4LAA4L;QAC5L,4MAA4M;QAC5M,4hBAA4hB;QAC5hB,sFAAsF;QACtF,gPAAgP;KACjP,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO;QACL,2UAA2U;QAC3U,wIAAwI;QACxI,8MAA8M;KAC/M,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA+B;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,0BAA0B;QAC1B,uNAAuN;QACvN,6IAA6I;QAC7I,gDAAgD,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7F,6CAA6C,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACvF,kGAAkG;QAClG,kFAAkF,OAAO,CAAC,aAAa,CAAC,oBAAoB,4DAA4D;KACzL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAI1C;IACC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;IACjE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,iBAAiB,GAAG,eAAe,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC5G,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,gBAAgB,IAAI,aAAa,KAAK,eAAe,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC1G,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,6BAA6B,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzD,MAAM,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAClH,MAAM,yBAAyB,GAAG,4BAA4B;WACzD,CAAC,6BAA6B;WAC9B,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3F,MAAM,2BAA2B,GAAG,4BAA4B;WAC3D,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC/E,CAAC;IACJ,OAAO,yBAAyB,IAAI,2BAA2B,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC;AAID,MAAM,UAAU,iCAAiC,CAAC,KAIjD;IACC,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC5G,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACzI,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;WACtI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzI,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAItC;IACC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC;IACtE,MAAM,aAAa,GAAG,8BAA8B,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC5G,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,KAAK,gBAAgB,IAAI,aAAa,KAAK,eAAe,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC1G,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,6BAA6B,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzD,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO;WAC5C,CAAC,6BAA6B;WAC9B,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACvF,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3D,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC3E,CAAC;IAEF,OAAO,qBAAqB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,8DAA8D,CAAC,IAAI,CAAC,IAAI,CAAC;WAC3E,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAkC,EAAE,QAAkB;IACxF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CACpG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkC,EAAE,QAAkB;IAC3F,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,KAAK,QAAQ;WACnB,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;WAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7E,EAAE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,UAAU;SAC3B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;SAC1C,GAAG,CAAC,cAAc,CAAC;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/D,OAAO,cAAc,IAAI,gBAAgB,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAA0B;IACvD,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA0B;IACjE,OAAO,oCAAoC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA0B;IACjE,OAAO,sCAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAY;IACxD,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IAerE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;IAC3D,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,kBAAkB;QACxC,CAAC,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE;QAC7C,CAAC,CAAC,eAAe,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IACnG,OAAO;QACL,eAAe,EAAE,eAAe,IAAI,SAAS;QAC7C,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW;QACvF,cAAc,EAAE,kBAAkB;YAChC,CAAC,CAAC,WAAW,CAAC,cAAc,IAAI,eAAe,CAAC,cAAc,IAAI,EAAE;YACpE,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM;gBACtC,CAAC,CAAC,eAAe,CAAC,cAAc;gBAChC,CAAC,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE;QACtC,SAAS,EAAE,kBAAkB;YAC3B,CAAC,CAAC,WAAW,CAAC,eAAe,IAAI,eAAe,CAAC,eAAe;YAChE,CAAC,CAAC,eAAe,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe;QAClE,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,IAAI,KAAK;QAC/D,mBAAmB,EAAE,CAAC,kBAAkB;QACxC,YAAY,EAAE;YACZ,mBAAmB,EAAE,eAAe,CAAC,YAAY,EAAE,mBAAmB,IAAI,KAAK;YAC/E,qBAAqB,EAAE,eAAe,CAAC,YAAY,EAAE,qBAAqB,IAAI,KAAK;YACnF,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,YAAY;YACxD,OAAO,EAAE,eAAe,CAAC,YAAY,EAAE,OAAO;SAC/C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,eAA0E,EAC1E,WAAkE;IAElE,MAAM,oBAAoB,GAAG,+DAA+D,CAAC;IAC7F,MAAM,kBAAkB,GAAG,6DAA6D,CAAC;IACzF,MAAM,iBAAiB,GAAG,eAAe,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChF,OAAO,CAAC,iBAAiB,KAAK,oBAAoB,IAAI,iBAAiB,KAAK,kBAAkB,CAAC;WAC1F,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;WACpD,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,oBAAoB;WACpE,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,KAAK,kBAAkB,CAAC;AAC1E,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA2B;IAC7D,OAAO,kEAAkE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;WAClC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;WAC3C,qEAAqE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,KAAK,cAAc,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,wEAAwE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;WAC1B,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC;WACtD,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC;WACtD,8EAA8E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;WAC5B,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC;WACxD,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC;WACxD,4GAA4G,CAAC,IAAI,CAAC,IAAI,CAAC;WACvH,wFAAwF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC;WACxF,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9F,CAAC"}
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 function shouldRequestImplementationRework(reasons: string[], config: CodexOrchestratorConfig): boolean;
4
- export declare function maxReworkAttemptsForReasons(reasons: string[], config: CodexOrchestratorConfig): number;
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;AAoB7F,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAS7G;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAKtG"}
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 nonRetryableBlockerPatterns = [
4
- /matches denied pattern/iu,
5
- /runner-owned publication was violated/iu,
6
- /destructive-db-or-cache|production-deploy-or-release/iu,
7
- ];
8
- const retryableBlockerPatterns = [
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
- export function shouldRequestImplementationRework(reasons, config) {
18
- if (reasons.some((reason) => nonRetryableBlockerPatterns.some((pattern) => pattern.test(reason)))) {
19
- return false;
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 retryable = new Set(config.loopPolicy.rework.retryableBlockers);
22
- return reasons.some((reason) => retryableBlockerPatterns.some(([blocker, pattern]) => retryable.has(blocker) && pattern.test(reason)));
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
- export function maxReworkAttemptsForReasons(reasons, config) {
25
- if (reasons.some((reason) => /Acceptance proof/iu.test(reason))) {
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;AAEvG,MAAM,2BAA2B,GAAG;IAClC,0BAA0B;IAC1B,yCAAyC;IACzC,wDAAwD;CAChD,CAAC;AAEX,MAAM,wBAAwB,GAAG;IAC/B,CAAC,+BAA+B,EAAE,yBAAyB,CAAC;IAC5D,CAAC,0BAA0B,EAAE,wCAAwC,CAAC;IACtE,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;IACjD,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;IACvD,CAAC,2BAA2B,EAAE,oCAAoC,CAAC;IACnE,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;IAC7D,CAAC,kBAAkB,EAAE,wCAAwC,CAAC;CACtD,CAAC;AAEX,MAAM,UAAU,iCAAiC,CAAC,OAAiB,EAAE,MAA+B;IAClG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAC3D,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CACvE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAiB,EAAE,MAA+B;IAC5F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,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":"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"}
1
+ {"version":3,"file":"scoped-auto-command.d.ts","sourceRoot":"","sources":["../../../src/runner/scoped-auto-command.ts"],"names":[],"mappings":"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"}