codex-orchestrator 0.1.40 → 0.1.42

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 (101) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/src/cli.js +9 -0
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/config/schema.d.ts +6 -0
  5. package/dist/src/config/schema.d.ts.map +1 -1
  6. package/dist/src/config/schema.js +31 -0
  7. package/dist/src/config/schema.js.map +1 -1
  8. package/dist/src/git/worktree.d.ts +3 -1
  9. package/dist/src/git/worktree.d.ts.map +1 -1
  10. package/dist/src/git/worktree.js +51 -17
  11. package/dist/src/git/worktree.js.map +1 -1
  12. package/dist/src/github/gh-issue-adapter.d.ts +2 -0
  13. package/dist/src/github/gh-issue-adapter.d.ts.map +1 -1
  14. package/dist/src/github/gh-issue-adapter.js +7 -1
  15. package/dist/src/github/gh-issue-adapter.js.map +1 -1
  16. package/dist/src/github/issues.d.ts +3 -0
  17. package/dist/src/github/issues.d.ts.map +1 -1
  18. package/dist/src/github/issues.js +7 -1
  19. package/dist/src/github/issues.js.map +1 -1
  20. package/dist/src/index.d.ts +2 -0
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +1 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/runner/acceptance-proof-loop.d.ts +115 -0
  25. package/dist/src/runner/acceptance-proof-loop.d.ts.map +1 -0
  26. package/dist/src/runner/acceptance-proof-loop.js +401 -0
  27. package/dist/src/runner/acceptance-proof-loop.js.map +1 -0
  28. package/dist/src/runner/acceptance-proof-runner.d.ts +2 -20
  29. package/dist/src/runner/acceptance-proof-runner.d.ts.map +1 -1
  30. package/dist/src/runner/acceptance-proof-runner.js +9 -103
  31. package/dist/src/runner/acceptance-proof-runner.js.map +1 -1
  32. package/dist/src/runner/agent-attempt.d.ts +105 -0
  33. package/dist/src/runner/agent-attempt.d.ts.map +1 -0
  34. package/dist/src/runner/agent-attempt.js +235 -0
  35. package/dist/src/runner/agent-attempt.js.map +1 -0
  36. package/dist/src/runner/auto-visual-proof-command.d.ts.map +1 -1
  37. package/dist/src/runner/auto-visual-proof-command.js +6 -12
  38. package/dist/src/runner/auto-visual-proof-command.js.map +1 -1
  39. package/dist/src/runner/command-utils.d.ts +6 -2
  40. package/dist/src/runner/command-utils.d.ts.map +1 -1
  41. package/dist/src/runner/command-utils.js +34 -1
  42. package/dist/src/runner/command-utils.js.map +1 -1
  43. package/dist/src/runner/daemon-command.d.ts +3 -1
  44. package/dist/src/runner/daemon-command.d.ts.map +1 -1
  45. package/dist/src/runner/daemon-command.js +37 -0
  46. package/dist/src/runner/daemon-command.js.map +1 -1
  47. package/dist/src/runner/durable-run-summary.d.ts +19 -0
  48. package/dist/src/runner/durable-run-summary.d.ts.map +1 -1
  49. package/dist/src/runner/durable-run-summary.js +107 -2
  50. package/dist/src/runner/durable-run-summary.js.map +1 -1
  51. package/dist/src/runner/handoff-evidence.d.ts +1 -0
  52. package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
  53. package/dist/src/runner/handoff-evidence.js +2 -2
  54. package/dist/src/runner/handoff-evidence.js.map +1 -1
  55. package/dist/src/runner/hygiene-cleanup.d.ts +15 -0
  56. package/dist/src/runner/hygiene-cleanup.d.ts.map +1 -0
  57. package/dist/src/runner/hygiene-cleanup.js +25 -0
  58. package/dist/src/runner/hygiene-cleanup.js.map +1 -0
  59. package/dist/src/runner/issue-tree.d.ts +1 -1
  60. package/dist/src/runner/issue-tree.d.ts.map +1 -1
  61. package/dist/src/runner/issue-tree.js +15 -6
  62. package/dist/src/runner/issue-tree.js.map +1 -1
  63. package/dist/src/runner/local-execution-session.d.ts.map +1 -1
  64. package/dist/src/runner/local-execution-session.js +84 -127
  65. package/dist/src/runner/local-execution-session.js.map +1 -1
  66. package/dist/src/runner/plan-auto-command.d.ts +3 -0
  67. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  68. package/dist/src/runner/plan-auto-command.js +319 -310
  69. package/dist/src/runner/plan-auto-command.js.map +1 -1
  70. package/dist/src/runner/plan-auto-recovery.d.ts +83 -0
  71. package/dist/src/runner/plan-auto-recovery.d.ts.map +1 -0
  72. package/dist/src/runner/plan-auto-recovery.js +303 -0
  73. package/dist/src/runner/plan-auto-recovery.js.map +1 -0
  74. package/dist/src/runner/review-gate-policy.d.ts +7 -1
  75. package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
  76. package/dist/src/runner/review-gate-policy.js +11 -123
  77. package/dist/src/runner/review-gate-policy.js.map +1 -1
  78. package/dist/src/runner/rework-policy.js +1 -1
  79. package/dist/src/runner/rework-policy.js.map +1 -1
  80. package/dist/src/runner/runner-handoff-decision.d.ts.map +1 -1
  81. package/dist/src/runner/runner-handoff-decision.js +22 -4
  82. package/dist/src/runner/runner-handoff-decision.js.map +1 -1
  83. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  84. package/dist/src/runner/scoped-auto-command.js +104 -221
  85. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  86. package/dist/src/runner/scoped-recovery.d.ts +13 -0
  87. package/dist/src/runner/scoped-recovery.d.ts.map +1 -1
  88. package/dist/src/runner/scoped-recovery.js +7 -7
  89. package/dist/src/runner/scoped-recovery.js.map +1 -1
  90. package/dist/src/runner/terminal-outcome.d.ts +58 -0
  91. package/dist/src/runner/terminal-outcome.d.ts.map +1 -0
  92. package/dist/src/runner/terminal-outcome.js +73 -0
  93. package/dist/src/runner/terminal-outcome.js.map +1 -0
  94. package/dist/src/runner/visual-proof-runner.d.ts +2 -0
  95. package/dist/src/runner/visual-proof-runner.d.ts.map +1 -1
  96. package/dist/src/runner/visual-proof-runner.js +30 -8
  97. package/dist/src/runner/visual-proof-runner.js.map +1 -1
  98. package/dist/src/setup/setup-command.js +1 -0
  99. package/dist/src/setup/setup-command.js.map +1 -1
  100. package/docs/deep-dive.md +26 -0
  101. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../../src/github/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../../src/github/issues.ts"],"names":[],"mappings":"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"}
@@ -77,9 +77,15 @@ export class InMemoryGitHubIssueAdapter {
77
77
  }
78
78
  }
79
79
  async listOpenIssuesWithAnyLabel(labels) {
80
+ return this.listIssuesWithAnyLabel(labels, 'OPEN');
81
+ }
82
+ async listClosedIssuesWithAnyLabel(labels) {
83
+ return this.listIssuesWithAnyLabel(labels, 'CLOSED');
84
+ }
85
+ listIssuesWithAnyLabel(labels, state) {
80
86
  const wanted = new Set(labels);
81
87
  return Array.from(this.issues.values())
82
- .filter((issue) => issue.state === 'OPEN' && issue.labels.some((label) => wanted.has(label.name)))
88
+ .filter((issue) => issue.state === state && issue.labels.some((label) => wanted.has(label.name)))
83
89
  .sort((left, right) => left.number - right.number)
84
90
  .map(cloneIssue);
85
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../../src/github/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../../src/github/issues.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export { buildPlanAutoPrompt, buildScopedImplementationPrompt, sessionPromptPath
22
22
  export type { PlanAutoPromptInput, ScopedPromptInput, } from './runner/prompt.js';
23
23
  export { runDaemonCommand } from './runner/daemon-command.js';
24
24
  export type { DaemonCommandOptions, DaemonCommandResult } from './runner/daemon-command.js';
25
+ export { runHygieneCleanup } from './runner/hygiene-cleanup.js';
26
+ export type { HygieneCleanupResult, RunHygieneCleanupInput } from './runner/hygiene-cleanup.js';
25
27
  export { cleanupMergedWorktrees } from './runner/worktree-cleanup.js';
26
28
  export type { CleanupMergedWorktreesInput, WorktreeCleanupEntry, WorktreeCleanupResult, WorktreeCleanupSkip, } from './runner/worktree-cleanup.js';
27
29
  export { reconcileRunnerState } from './runner/recovery.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -11,6 +11,7 @@ export { runLocalExecutionSession } from './runner/local-execution-session.js';
11
11
  export { readPlanAutoCompletionReport, readScopedCompletionReport, } from './runner/completion-report.js';
12
12
  export { buildPlanAutoPrompt, buildScopedImplementationPrompt, sessionPromptPath, sessionReportPath, writeDurablePrompt, } from './runner/prompt.js';
13
13
  export { runDaemonCommand } from './runner/daemon-command.js';
14
+ export { runHygieneCleanup } from './runner/hygiene-cleanup.js';
14
15
  export { cleanupMergedWorktrees } from './runner/worktree-cleanup.js';
15
16
  export { reconcileRunnerState } from './runner/recovery.js';
16
17
  export { runPlanAutoCommand } from './runner/plan-auto-command.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAY9E,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,6CAA6C,GAC9C,MAAM,iCAAiC,CAAC;AASzC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAQ/E,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE5G,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAY9E,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,6CAA6C,GAC9C,MAAM,iCAAiC,CAAC;AASzC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAQ/E,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EACL,oBAAoB,EACpB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,115 @@
1
+ import type { CodexOrchestratorConfig } from '../config/schema.js';
2
+ import type { GitHubIssue } from '../github/issues.js';
3
+ import type { ScopedCompletionReport } from './completion-report.js';
4
+ import type { RunnerValidationLine } from './handoff-evidence.js';
5
+ import { type AcceptanceProofAttemptEvidence } from './acceptance-proof.js';
6
+ import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
7
+ export type AcceptanceProofPlanKind = 'skip' | 'adaptive' | 'command';
8
+ export type VisualProofDispatchTarget = 'browser' | 'mobile' | 'none';
9
+ export type ProofRoutingAction = 'skip' | 'dispatch' | 'allow-non-visual' | 'error';
10
+ export interface AcceptanceProofPlan {
11
+ kind: AcceptanceProofPlanKind;
12
+ applies: boolean;
13
+ reason: string;
14
+ commandTemplate?: string;
15
+ }
16
+ export interface AcceptanceProofPlanInput {
17
+ config: CodexOrchestratorConfig;
18
+ issue: GitHubIssue;
19
+ changedFiles: string[];
20
+ adaptiveAdapterAvailable: boolean;
21
+ }
22
+ export interface AcceptanceProofAdapterResult {
23
+ adapterKind: 'adaptive' | 'command';
24
+ command: string;
25
+ exitCode: number;
26
+ outputSummary: string;
27
+ promptPath?: string;
28
+ reportPath: string;
29
+ artifactDir: string;
30
+ artifactPaths: string[];
31
+ preliminaryArtifacts: ScopedCompletionReport['artifacts'];
32
+ residualRisks: string[];
33
+ }
34
+ export interface AcceptanceProofLoopOutcome {
35
+ status: 'passed' | 'blocked' | 'skipped';
36
+ changedFiles: string[];
37
+ validation: RunnerValidationLine[];
38
+ artifacts: ScopedCompletionReport['artifacts'];
39
+ residualRisks: string[];
40
+ blockers: string[];
41
+ scopeBlockers: string[];
42
+ evidence?: AcceptanceProofAttemptEvidence;
43
+ proofReportPath?: string;
44
+ proofArtifactDir?: string;
45
+ }
46
+ export interface AcceptanceProofLoopChangeSet {
47
+ changedPaths: string[];
48
+ }
49
+ export interface AcceptanceProofScopeResult {
50
+ blockers: string[];
51
+ }
52
+ export interface RunAcceptanceProofLoopAttemptInput {
53
+ config: CodexOrchestratorConfig;
54
+ issue: GitHubIssue;
55
+ worktreePath: string;
56
+ beforeHead: string;
57
+ initialChangedFiles: string[];
58
+ adaptiveAdapterAvailable: boolean;
59
+ executeAdaptiveProof?: () => Promise<AcceptanceProofAdapterResult>;
60
+ executeCommandProof?: () => Promise<AcceptanceProofAdapterResult>;
61
+ collectChangeSet: (input: {
62
+ worktreePath: string;
63
+ baseHead: string;
64
+ }) => Promise<AcceptanceProofLoopChangeSet>;
65
+ evaluateScope: (input: {
66
+ changedFiles: string[];
67
+ }) => AcceptanceProofScopeResult;
68
+ artifactExists?: (path: string) => boolean;
69
+ }
70
+ export interface ProofRoutingDecision {
71
+ applies: boolean;
72
+ desirable: boolean;
73
+ dispatchTarget: VisualProofDispatchTarget;
74
+ proofStrategy: ReturnType<typeof resolveAcceptanceProofStrategy>['strategy'];
75
+ action: ProofRoutingAction;
76
+ reason: string;
77
+ }
78
+ export declare function planAcceptanceProofAttempt(input: AcceptanceProofPlanInput): AcceptanceProofPlan;
79
+ export declare function runAcceptanceProofLoopAttempt(input: RunAcceptanceProofLoopAttemptInput): Promise<AcceptanceProofLoopOutcome>;
80
+ export declare function decideProofRouting(input: {
81
+ config: CodexOrchestratorConfig;
82
+ issue: GitHubIssue;
83
+ changedFiles: string[];
84
+ }): ProofRoutingDecision;
85
+ export declare function shouldApplyVisualProofGate(input: {
86
+ config: CodexOrchestratorConfig;
87
+ issue: GitHubIssue;
88
+ changedFiles: string[];
89
+ }): boolean;
90
+ export declare function classifyVisualProofDispatchTarget(input: {
91
+ config: CodexOrchestratorConfig;
92
+ issue: GitHubIssue;
93
+ changedFiles: string[];
94
+ }): VisualProofDispatchTarget;
95
+ export declare function isVisualProofDesirable(input: {
96
+ config: CodexOrchestratorConfig;
97
+ issue: GitHubIssue;
98
+ changedFiles: string[];
99
+ }): boolean;
100
+ export declare function runnerVisualProofPolicy(config: CodexOrchestratorConfig): {
101
+ commandTemplate?: string;
102
+ artifactDir: string;
103
+ envPassthrough: string[];
104
+ timeoutMs?: number;
105
+ minScreenshotArtifacts: number;
106
+ requireWhenDesirable: boolean;
107
+ blockOnMissingProof: boolean;
108
+ browserProof: {
109
+ scenarioPath?: string;
110
+ baseUrl?: string;
111
+ strictConsoleErrors: boolean;
112
+ strictNetworkFailures: boolean;
113
+ };
114
+ };
115
+ //# sourceMappingURL=acceptance-proof-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptance-proof-loop.d.ts","sourceRoot":"","sources":["../../../src/runner/acceptance-proof-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,401 @@
1
+ import { globMatches } from '../path-policy.js';
2
+ import { buildAcceptanceProofReportOutcome, buildBlockedAcceptanceProofOutcome, buildForbiddenAcceptanceProofDiffEvidence, classifyAcceptanceProofDiff, createAcceptanceProofDiffCapture, readAcceptanceProofReport, } from './acceptance-proof.js';
3
+ import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
4
+ export function planAcceptanceProofAttempt(input) {
5
+ const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
6
+ const commandTemplate = runnerVisualProofPolicy(input.config).commandTemplate;
7
+ const desirable = visualProofDesirable(input, proofStrategy);
8
+ const applies = acceptanceProofApplies(input, proofStrategy, desirable);
9
+ if (!applies) {
10
+ return {
11
+ kind: 'skip',
12
+ applies: false,
13
+ reason: proofStrategy === 'none' || proofStrategy === 'non-visual-smoke'
14
+ ? 'proof strategy disables browser/mobile visual proof'
15
+ : 'acceptance proof does not apply',
16
+ };
17
+ }
18
+ if (input.adaptiveAdapterAvailable && (hasAcceptanceProofProfile(input.config) || !commandTemplate)) {
19
+ return {
20
+ kind: 'adaptive',
21
+ applies: true,
22
+ reason: 'adaptive acceptance proof is available',
23
+ };
24
+ }
25
+ if (commandTemplate) {
26
+ return {
27
+ kind: 'command',
28
+ applies: true,
29
+ reason: 'runner-owned acceptance proof command is available',
30
+ commandTemplate,
31
+ };
32
+ }
33
+ return {
34
+ kind: 'skip',
35
+ applies: true,
36
+ reason: 'acceptance proof applies but no adaptive adapter or runner command is available',
37
+ };
38
+ }
39
+ export async function runAcceptanceProofLoopAttempt(input) {
40
+ const plan = planAcceptanceProofAttempt({
41
+ config: input.config,
42
+ issue: input.issue,
43
+ changedFiles: input.initialChangedFiles,
44
+ adaptiveAdapterAvailable: input.adaptiveAdapterAvailable,
45
+ });
46
+ if (plan.kind === 'skip') {
47
+ return {
48
+ status: 'skipped',
49
+ changedFiles: input.initialChangedFiles,
50
+ validation: [],
51
+ artifacts: [],
52
+ residualRisks: [],
53
+ blockers: [],
54
+ scopeBlockers: [],
55
+ };
56
+ }
57
+ const diffCapture = await createAcceptanceProofDiffCapture({
58
+ worktreePath: input.worktreePath,
59
+ changedFiles: input.initialChangedFiles,
60
+ });
61
+ const adapterResult = await executeSelectedAdapter(input, plan);
62
+ const changeSet = await input.collectChangeSet({
63
+ worktreePath: input.worktreePath,
64
+ baseHead: input.beforeHead,
65
+ });
66
+ const changedFiles = changeSet.changedPaths;
67
+ const proofPhaseChangedFiles = await diffCapture.collectProofPhaseChangedFiles(changedFiles);
68
+ const reportOutcome = await evaluateAdapterReport({
69
+ config: input.config,
70
+ adapterResult,
71
+ proofPhaseChangedFiles,
72
+ artifactExists: input.artifactExists,
73
+ });
74
+ const proofDiff = classifyAcceptanceProofDiff(input.config, proofPhaseChangedFiles);
75
+ const forbiddenDiffEvidence = proofDiff.forbiddenProductPaths.length > 0
76
+ ? buildForbiddenAcceptanceProofDiffEvidence({
77
+ command: adapterResult.command,
78
+ baseEvidence: reportOutcome.evidence,
79
+ reportPath: adapterResult.reportPath,
80
+ artifactDir: adapterResult.artifactDir,
81
+ artifactPaths: proofPhaseChangedFiles,
82
+ forbiddenProductPaths: proofDiff.forbiddenProductPaths,
83
+ })
84
+ : undefined;
85
+ const proofOutcome = forbiddenDiffEvidence
86
+ ? {
87
+ ...reportOutcome,
88
+ status: 'blocked',
89
+ validation: forbiddenDiffEvidence.validation,
90
+ blockers: forbiddenDiffEvidence.blockers,
91
+ evidence: forbiddenDiffEvidence,
92
+ }
93
+ : reportOutcome;
94
+ const scopeBlockers = input.evaluateScope({ changedFiles }).blockers;
95
+ const scopeValidation = scopeBlockers.length > 0
96
+ ? [{
97
+ command: 'acceptance proof scope isolation',
98
+ status: 'failed',
99
+ summary: scopeBlockers.join('; '),
100
+ }]
101
+ : [];
102
+ const status = proofOutcome.status === 'passed' && scopeBlockers.length === 0 ? 'passed' : 'blocked';
103
+ const blockers = uniqueStrings([...proofOutcome.blockers, ...scopeBlockers]);
104
+ const residualRisks = uniqueStrings([
105
+ ...adapterResult.residualRisks,
106
+ ...proofOutcome.residualRisks,
107
+ ]);
108
+ const evidence = scopeBlockers.length > 0
109
+ ? {
110
+ ...proofOutcome.evidence,
111
+ status: 'blocked',
112
+ validation: [...proofOutcome.evidence.validation, ...scopeValidation],
113
+ blockers,
114
+ }
115
+ : proofOutcome.evidence;
116
+ return {
117
+ status,
118
+ changedFiles,
119
+ validation: [...proofOutcome.validation, ...scopeValidation],
120
+ artifacts: mergeProofArtifacts(adapterResult.preliminaryArtifacts, proofOutcome.artifacts),
121
+ residualRisks,
122
+ blockers,
123
+ scopeBlockers,
124
+ evidence,
125
+ proofReportPath: adapterResult.reportPath,
126
+ proofArtifactDir: adapterResult.artifactDir,
127
+ };
128
+ }
129
+ async function executeSelectedAdapter(input, plan) {
130
+ if (plan.kind === 'adaptive') {
131
+ if (!input.executeAdaptiveProof) {
132
+ throw new Error('Acceptance proof plan selected adaptive proof, but no adaptive adapter callback was provided.');
133
+ }
134
+ return input.executeAdaptiveProof();
135
+ }
136
+ if (plan.kind === 'command') {
137
+ if (!input.executeCommandProof) {
138
+ throw new Error('Acceptance proof plan selected command proof, but no command adapter callback was provided.');
139
+ }
140
+ return input.executeCommandProof();
141
+ }
142
+ throw new Error(`Unsupported acceptance proof plan kind: ${plan.kind}`);
143
+ }
144
+ async function evaluateAdapterReport(input) {
145
+ const reportRead = await readAcceptanceProofReport(input.adapterResult.reportPath);
146
+ if (reportRead.kind === 'missing') {
147
+ const validationSummary = missingReportValidationSummary(input.adapterResult);
148
+ const blockers = input.adapterResult.exitCode === 0
149
+ ? ['Acceptance proof blocked: proof session did not write CODEX_ORCHESTRATOR_PROOF_REPORT_PATH.']
150
+ : [commandFailureSummary(input.adapterResult)];
151
+ return buildBlockedAcceptanceProofOutcome({
152
+ command: input.adapterResult.command,
153
+ promptPath: input.adapterResult.promptPath,
154
+ reportPath: input.adapterResult.reportPath,
155
+ artifactDir: input.adapterResult.artifactDir,
156
+ artifactPaths: input.adapterResult.artifactPaths,
157
+ validationSummary,
158
+ blockers,
159
+ residualRisks: input.adapterResult.residualRisks,
160
+ commandExitCode: input.adapterResult.exitCode,
161
+ commandOutputSummary: input.adapterResult.outputSummary,
162
+ });
163
+ }
164
+ if (reportRead.kind === 'invalid') {
165
+ return buildBlockedAcceptanceProofOutcome({
166
+ command: input.adapterResult.command,
167
+ promptPath: input.adapterResult.promptPath,
168
+ reportPath: input.adapterResult.reportPath,
169
+ artifactDir: input.adapterResult.artifactDir,
170
+ artifactPaths: input.adapterResult.artifactPaths,
171
+ validationSummary: reportRead.message,
172
+ blockers: [`Acceptance proof blocked: ${reportRead.message}`],
173
+ residualRisks: input.adapterResult.residualRisks,
174
+ commandExitCode: input.adapterResult.exitCode,
175
+ commandOutputSummary: input.adapterResult.outputSummary,
176
+ });
177
+ }
178
+ return buildAcceptanceProofReportOutcome({
179
+ command: input.adapterResult.command,
180
+ config: input.config,
181
+ report: reportRead.report,
182
+ proofPhaseChangedFiles: input.proofPhaseChangedFiles,
183
+ artifactExists: input.artifactExists,
184
+ commandExitCode: input.adapterResult.exitCode,
185
+ commandOutputSummary: input.adapterResult.outputSummary,
186
+ promptPath: input.adapterResult.promptPath,
187
+ reportPath: input.adapterResult.reportPath,
188
+ artifactDir: input.adapterResult.artifactDir,
189
+ passedSummary: (report) => `${input.adapterResult.adapterKind === 'adaptive' ? 'Acceptance proof' : 'runner acceptance proof'} passed: ${report.criteria.length} criterion/criteria mapped to high-confidence artifacts.`,
190
+ failedSummaryPrefix: input.adapterResult.adapterKind === 'adaptive' ? 'Acceptance proof' : 'runner acceptance proof',
191
+ });
192
+ }
193
+ function missingReportValidationSummary(adapterResult) {
194
+ if (adapterResult.preliminaryArtifacts.length > 0) {
195
+ return `runner acceptance proof failed: command completed and produced ${adapterResult.preliminaryArtifacts.length} artifact(s), but did not write a valid machine-readable acceptance proof report at ${adapterResult.reportPath}.`;
196
+ }
197
+ return 'Acceptance proof blocked: proof session did not write CODEX_ORCHESTRATOR_PROOF_REPORT_PATH.';
198
+ }
199
+ function commandFailureSummary(adapterResult) {
200
+ const prefix = adapterResult.adapterKind === 'adaptive' ? 'Acceptance proof failed' : 'runner acceptance proof failed';
201
+ return `${prefix}: ${adapterResult.outputSummary || `exit ${adapterResult.exitCode}`}`;
202
+ }
203
+ export function decideProofRouting(input) {
204
+ const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
205
+ const dispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
206
+ const desirable = visualProofDesirable(input, proofStrategy);
207
+ const plan = planAcceptanceProofAttempt({ ...input, adaptiveAdapterAvailable: false });
208
+ if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
209
+ return {
210
+ applies: plan.applies,
211
+ desirable,
212
+ dispatchTarget,
213
+ proofStrategy,
214
+ action: 'skip',
215
+ reason: 'proof strategy disables browser/mobile visual proof',
216
+ };
217
+ }
218
+ if (dispatchTarget === 'browser' || dispatchTarget === 'mobile') {
219
+ return {
220
+ applies: plan.applies,
221
+ desirable,
222
+ dispatchTarget,
223
+ proofStrategy,
224
+ action: 'dispatch',
225
+ reason: `${dispatchTarget} proof target matched`,
226
+ };
227
+ }
228
+ if (plan.applies && !desirable) {
229
+ return {
230
+ applies: true,
231
+ desirable,
232
+ dispatchTarget,
233
+ proofStrategy,
234
+ action: 'allow-non-visual',
235
+ reason: 'acceptance proof applies without browser or mobile dispatch',
236
+ };
237
+ }
238
+ if (plan.applies || desirable) {
239
+ return {
240
+ applies: plan.applies,
241
+ desirable,
242
+ dispatchTarget,
243
+ proofStrategy,
244
+ action: 'error',
245
+ reason: 'visual proof is desirable but no browser or mobile dispatch target matched',
246
+ };
247
+ }
248
+ return {
249
+ applies: false,
250
+ desirable,
251
+ dispatchTarget,
252
+ proofStrategy,
253
+ action: 'error',
254
+ reason: 'proof routing did not match issue text or changed paths',
255
+ };
256
+ }
257
+ export function shouldApplyVisualProofGate(input) {
258
+ return decideProofRouting(input).applies;
259
+ }
260
+ export function classifyVisualProofDispatchTarget(input) {
261
+ return decideProofRouting(input).dispatchTarget;
262
+ }
263
+ export function isVisualProofDesirable(input) {
264
+ return decideProofRouting(input).desirable;
265
+ }
266
+ export function runnerVisualProofPolicy(config) {
267
+ const visualProof = config.reviewGates.visualProof;
268
+ const acceptanceProof = config.reviewGates.acceptanceProof;
269
+ const preferLegacyVisual = isLegacyVisualProofOverride(acceptanceProof, visualProof);
270
+ const commandTemplate = preferLegacyVisual
271
+ ? visualProof.runnerValidationCommand?.trim()
272
+ : acceptanceProof.runnerValidationCommand?.trim() || visualProof.runnerValidationCommand?.trim();
273
+ return {
274
+ commandTemplate: commandTemplate || undefined,
275
+ artifactDir: preferLegacyVisual ? visualProof.artifactDir : acceptanceProof.artifactDir,
276
+ envPassthrough: preferLegacyVisual
277
+ ? visualProof.envPassthrough ?? acceptanceProof.envPassthrough ?? []
278
+ : acceptanceProof.envPassthrough?.length
279
+ ? acceptanceProof.envPassthrough
280
+ : visualProof.envPassthrough ?? [],
281
+ timeoutMs: preferLegacyVisual
282
+ ? visualProof.runnerTimeoutMs ?? acceptanceProof.runnerTimeoutMs
283
+ : acceptanceProof.runnerTimeoutMs ?? visualProof.runnerTimeoutMs,
284
+ minScreenshotArtifacts: visualProof.minScreenshotArtifacts,
285
+ requireWhenDesirable: visualProof.requireWhenDesirable ?? false,
286
+ blockOnMissingProof: !preferLegacyVisual,
287
+ browserProof: {
288
+ strictConsoleErrors: acceptanceProof.browserProof?.strictConsoleErrors ?? false,
289
+ strictNetworkFailures: acceptanceProof.browserProof?.strictNetworkFailures ?? false,
290
+ scenarioPath: acceptanceProof.browserProof?.scenarioPath,
291
+ baseUrl: acceptanceProof.browserProof?.baseUrl,
292
+ },
293
+ };
294
+ }
295
+ function acceptanceProofApplies(input, proofStrategy, desirable) {
296
+ const acceptanceProof = input.config.reviewGates.acceptanceProof;
297
+ if (!acceptanceProof.enabled) {
298
+ return false;
299
+ }
300
+ if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
301
+ return false;
302
+ }
303
+ if (proofStrategy === 'browser-visual' || proofStrategy === 'mobile-visual' || proofStrategy === 'visual') {
304
+ return true;
305
+ }
306
+ const issueText = `${input.issue.title}\n${input.issue.body}`;
307
+ const internalRunnerProofOnlyChange = input.changedFiles.length > 0
308
+ && input.changedFiles.every(isInternalRunnerProofPath);
309
+ const issueNeedsAcceptanceProof = !internalRunnerProofOnlyChange
310
+ && acceptanceProof.issueTextPatterns.some((pattern) => regexMatches(pattern, issueText));
311
+ const changedAcceptanceProofFiles = input.changedFiles.some((path) => acceptanceProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
312
+ return issueNeedsAcceptanceProof || changedAcceptanceProofFiles || desirable;
313
+ }
314
+ function proofStrategyDispatchTarget(input, proofStrategy) {
315
+ const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
316
+ const issueText = `${input.issue.title}\n${input.issue.body}`;
317
+ if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
318
+ return 'none';
319
+ }
320
+ if (proofStrategy === 'browser-visual') {
321
+ return 'browser';
322
+ }
323
+ if (proofStrategy === 'mobile-visual') {
324
+ return 'mobile';
325
+ }
326
+ if (normalizedFiles.some(isMobileProofPath) || normalizedFiles.some((path) => isFlutterEntrypoint(path) && isMobileIssueText(issueText))) {
327
+ return 'mobile';
328
+ }
329
+ if (normalizedFiles.some((path) => input.config.reviewGates.visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)))) {
330
+ return 'browser';
331
+ }
332
+ return 'none';
333
+ }
334
+ function visualProofDesirable(input, proofStrategy) {
335
+ const visualProof = input.config.reviewGates.visualProof;
336
+ if (!visualProof.enabled) {
337
+ return false;
338
+ }
339
+ const issueText = `${input.issue.title}\n${input.issue.body}`;
340
+ const command = runnerVisualProofPolicy(input.config).commandTemplate;
341
+ if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
342
+ return false;
343
+ }
344
+ if (proofStrategy === 'browser-visual' || proofStrategy === 'mobile-visual' || proofStrategy === 'visual') {
345
+ return Boolean(command);
346
+ }
347
+ const internalRunnerProofOnlyChange = input.changedFiles.length > 0
348
+ && input.changedFiles.every(isInternalRunnerProofPath);
349
+ const issueNeedsVisualProof = visualProof.enabled
350
+ && !internalRunnerProofOnlyChange
351
+ && visualProof.issueTextPatterns.some((pattern) => regexMatches(pattern, issueText));
352
+ const changedProofFiles = input.changedFiles.filter((path) => visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
353
+ return issueNeedsVisualProof || changedProofFiles.length > 0;
354
+ }
355
+ function hasAcceptanceProofProfile(config) {
356
+ return Boolean(config.codex.profiles?.['acceptance-proof']);
357
+ }
358
+ function isInternalRunnerProofPath(path) {
359
+ return /^src\/runner\/(?:acceptance-proof|visual-proof-runner)\.ts$/u.test(path)
360
+ || /^test\/(?:acceptance-proof|visual-proof-runner)\.test\.ts$/u.test(path);
361
+ }
362
+ function isLegacyVisualProofOverride(acceptanceProof, visualProof) {
363
+ const defaultMobileCommand = 'codex-orchestrator visual-proof mobile --issue ${issueNumber}';
364
+ const defaultAutoCommand = 'codex-orchestrator visual-proof auto --issue ${issueNumber}';
365
+ const acceptanceCommand = acceptanceProof.runnerValidationCommand?.trim() || '';
366
+ return (acceptanceCommand === defaultMobileCommand || acceptanceCommand === defaultAutoCommand)
367
+ && Boolean(visualProof.runnerValidationCommand?.trim())
368
+ && visualProof.runnerValidationCommand?.trim() !== defaultMobileCommand
369
+ && visualProof.runnerValidationCommand?.trim() !== defaultAutoCommand;
370
+ }
371
+ function isMobileProofPath(path) {
372
+ return /^(?:android|ios)\//u.test(path)
373
+ || /\.(?:xcodeproj|xcworkspace)\//u.test(path)
374
+ || /(?:^|\/)(?:build\.gradle|build\.gradle\.kts|gradlew|gradlew\.bat)$/u.test(path);
375
+ }
376
+ function isFlutterEntrypoint(path) {
377
+ return path === 'pubspec.yaml' || /^lib\/.+\.dart$/u.test(path);
378
+ }
379
+ function isMobileIssueText(text) {
380
+ return /\b(?:android|ios|iphone|ipad|flutter|mobile|emulator|apk|aab|dart)\b/iu.test(text);
381
+ }
382
+ function regexMatches(pattern, text) {
383
+ return new RegExp(pattern, 'iu').test(text);
384
+ }
385
+ function mergeProofArtifacts(left, right) {
386
+ const seen = new Set(left.map((artifact) => artifact.url ?? artifact.path ?? artifact.description));
387
+ const merged = [...left];
388
+ for (const artifact of right) {
389
+ const key = artifact.url ?? artifact.path ?? artifact.description;
390
+ if (seen.has(key)) {
391
+ continue;
392
+ }
393
+ seen.add(key);
394
+ merged.push(artifact);
395
+ }
396
+ return merged;
397
+ }
398
+ function uniqueStrings(values) {
399
+ return Array.from(new Set(values));
400
+ }
401
+ //# sourceMappingURL=acceptance-proof-loop.js.map