codex-orchestrator 0.1.51 → 2.0.0
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 +21 -0
- package/README.md +45 -389
- package/dist/src/index.d.ts +16 -46
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -24
- package/dist/src/index.js.map +1 -1
- package/dist/src/v2/acceptance-proof.d.ts +111 -0
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -0
- package/dist/src/v2/acceptance-proof.js +427 -0
- package/dist/src/v2/acceptance-proof.js.map +1 -0
- package/dist/src/v2/adapters/command.d.ts.map +1 -0
- package/dist/src/v2/adapters/command.js.map +1 -0
- package/dist/src/v2/adapters/durable-atomic-file.d.ts.map +1 -0
- package/dist/src/v2/adapters/durable-atomic-file.js.map +1 -0
- package/dist/src/v2/adapters/gh-cli.d.ts.map +1 -0
- package/dist/src/v2/adapters/gh-cli.js.map +1 -0
- package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -0
- package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -0
- package/dist/src/v2/adapters/issues.d.ts.map +1 -0
- package/dist/src/v2/adapters/issues.js.map +1 -0
- package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -0
- package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -0
- package/dist/src/v2/adapters/path-policy.d.ts.map +1 -0
- package/dist/src/v2/adapters/path-policy.js.map +1 -0
- package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -0
- package/dist/src/v2/adapters/pull-requests.js.map +1 -0
- package/dist/src/v2/adapters/target-activity-fence.d.ts.map +1 -0
- package/dist/src/{runner → v2/adapters}/target-activity-fence.js +1 -1
- package/dist/src/v2/adapters/target-activity-fence.js.map +1 -0
- package/dist/src/{git → v2/adapters}/worktree.d.ts +1 -1
- package/dist/src/v2/adapters/worktree.d.ts.map +1 -0
- package/dist/src/{git → v2/adapters}/worktree.js +2 -2
- package/dist/src/v2/adapters/worktree.js.map +1 -0
- package/dist/src/v2/atomic-store.d.ts +36 -0
- package/dist/src/v2/atomic-store.d.ts.map +1 -0
- package/dist/src/v2/atomic-store.js +328 -0
- package/dist/src/v2/atomic-store.js.map +1 -0
- package/dist/src/v2/candidate-cli.d.ts +22 -0
- package/dist/src/v2/candidate-cli.d.ts.map +1 -0
- package/dist/src/v2/candidate-cli.js +161 -0
- package/dist/src/v2/candidate-cli.js.map +1 -0
- package/dist/src/v2/checked-change.d.ts +49 -0
- package/dist/src/v2/checked-change.d.ts.map +1 -0
- package/dist/src/v2/checked-change.js +139 -0
- package/dist/src/v2/checked-change.js.map +1 -0
- package/dist/src/v2/cli-contract.d.ts +8 -0
- package/dist/src/v2/cli-contract.d.ts.map +1 -0
- package/dist/src/v2/cli-contract.js +32 -0
- package/dist/src/v2/cli-contract.js.map +1 -0
- package/dist/src/v2/codex-process.d.ts +71 -0
- package/dist/src/v2/codex-process.d.ts.map +1 -0
- package/dist/src/v2/codex-process.js +404 -0
- package/dist/src/v2/codex-process.js.map +1 -0
- package/dist/src/v2/config.d.ts +45 -0
- package/dist/src/v2/config.d.ts.map +1 -0
- package/dist/src/v2/config.js +139 -0
- package/dist/src/v2/config.js.map +1 -0
- package/dist/src/v2/containment.d.ts +55 -0
- package/dist/src/v2/containment.d.ts.map +1 -0
- package/dist/src/v2/containment.js +370 -0
- package/dist/src/v2/containment.js.map +1 -0
- package/dist/src/v2/implementation-report.d.ts +18 -0
- package/dist/src/v2/implementation-report.d.ts.map +1 -0
- package/dist/src/v2/implementation-report.js +147 -0
- package/dist/src/v2/implementation-report.js.map +1 -0
- package/dist/src/v2/legacy-cutover.d.ts +52 -0
- package/dist/src/v2/legacy-cutover.d.ts.map +1 -0
- package/dist/src/v2/legacy-cutover.js +87 -0
- package/dist/src/v2/legacy-cutover.js.map +1 -0
- package/dist/src/v2/mobile-lease.d.ts +97 -0
- package/dist/src/v2/mobile-lease.d.ts.map +1 -0
- package/dist/src/v2/mobile-lease.js +253 -0
- package/dist/src/v2/mobile-lease.js.map +1 -0
- package/dist/src/v2/proof-report.d.ts +118 -0
- package/dist/src/v2/proof-report.d.ts.map +1 -0
- package/dist/src/v2/proof-report.js +703 -0
- package/dist/src/v2/proof-report.js.map +1 -0
- package/dist/src/v2/proof-store.d.ts +42 -0
- package/dist/src/v2/proof-store.d.ts.map +1 -0
- package/dist/src/v2/proof-store.js +180 -0
- package/dist/src/v2/proof-store.js.map +1 -0
- package/dist/src/v2/report-envelope.d.ts +4 -0
- package/dist/src/v2/report-envelope.d.ts.map +1 -0
- package/dist/src/v2/report-envelope.js +46 -0
- package/dist/src/v2/report-envelope.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +213 -0
- package/dist/src/v2/run-issue.d.ts.map +1 -0
- package/dist/src/v2/run-issue.js +906 -0
- package/dist/src/v2/run-issue.js.map +1 -0
- package/dist/src/v2/run-store.d.ts +136 -0
- package/dist/src/v2/run-store.d.ts.map +1 -0
- package/dist/src/v2/run-store.js +346 -0
- package/dist/src/v2/run-store.js.map +1 -0
- package/dist/src/v2/runtime-assets.d.ts +31 -0
- package/dist/src/v2/runtime-assets.d.ts.map +1 -0
- package/dist/src/v2/runtime-assets.js +473 -0
- package/dist/src/v2/runtime-assets.js.map +1 -0
- package/dist/src/v2/runtime.d.ts +137 -0
- package/dist/src/v2/runtime.d.ts.map +1 -0
- package/dist/src/v2/runtime.js +847 -0
- package/dist/src/v2/runtime.js.map +1 -0
- package/dist/src/v2/setup-cli.d.ts +5 -0
- package/dist/src/v2/setup-cli.d.ts.map +1 -0
- package/dist/src/v2/setup-cli.js +83 -0
- package/dist/src/v2/setup-cli.js.map +1 -0
- package/dist/src/v2/setup-runtime.d.ts +6 -0
- package/dist/src/v2/setup-runtime.d.ts.map +1 -0
- package/dist/src/v2/setup-runtime.js +213 -0
- package/dist/src/v2/setup-runtime.js.map +1 -0
- package/dist/src/v2/setup-store.d.ts +19 -0
- package/dist/src/v2/setup-store.d.ts.map +1 -0
- package/dist/src/v2/setup-store.js +208 -0
- package/dist/src/v2/setup-store.js.map +1 -0
- package/dist/src/v2/setup.d.ts +147 -0
- package/dist/src/v2/setup.d.ts.map +1 -0
- package/dist/src/v2/setup.js +529 -0
- package/dist/src/v2/setup.js.map +1 -0
- package/docs/deep-dive.md +54 -803
- package/internal-skills/acceptance-proof/SKILL.md +14 -0
- package/internal-skills/acceptance-proof/references/android.md +14 -0
- package/internal-skills/acceptance-proof/references/browser.md +13 -0
- package/internal-skills/acceptance-proof/references/ios.md +14 -0
- package/internal-skills/acceptance-proof/tools/android-lease.mjs +280 -0
- package/internal-skills/acceptance-proof/tools/ios-lease.mjs +288 -0
- package/internal-skills/agent-auto/SKILL.md +14 -0
- package/package.json +11 -18
- package/bridge-runtime.json +0 -2719
- package/dist/src/bridge-runtime.d.ts +0 -17
- package/dist/src/bridge-runtime.d.ts.map +0 -1
- package/dist/src/bridge-runtime.js +0 -170
- package/dist/src/bridge-runtime.js.map +0 -1
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -569
- package/dist/src/cli.js.map +0 -1
- package/dist/src/codex/command-adapter.d.ts +0 -47
- package/dist/src/codex/command-adapter.d.ts.map +0 -1
- package/dist/src/codex/command-adapter.js +0 -169
- package/dist/src/codex/command-adapter.js.map +0 -1
- package/dist/src/codex/mobile-device-guard.d.ts +0 -7
- package/dist/src/codex/mobile-device-guard.d.ts.map +0 -1
- package/dist/src/codex/mobile-device-guard.js +0 -63
- package/dist/src/codex/mobile-device-guard.js.map +0 -1
- package/dist/src/config/constants.d.ts +0 -6
- package/dist/src/config/constants.d.ts.map +0 -1
- package/dist/src/config/constants.js +0 -19
- package/dist/src/config/constants.js.map +0 -1
- package/dist/src/config/schema.d.ts +0 -234
- package/dist/src/config/schema.d.ts.map +0 -1
- package/dist/src/config/schema.js +0 -673
- package/dist/src/config/schema.js.map +0 -1
- package/dist/src/fs/durable-atomic-file.d.ts.map +0 -1
- package/dist/src/fs/durable-atomic-file.js.map +0 -1
- package/dist/src/git/base-branch.d.ts +0 -26
- package/dist/src/git/base-branch.d.ts.map +0 -1
- package/dist/src/git/base-branch.js +0 -45
- package/dist/src/git/base-branch.js.map +0 -1
- package/dist/src/git/worktree.d.ts.map +0 -1
- package/dist/src/git/worktree.js.map +0 -1
- package/dist/src/github/gh-cli.d.ts.map +0 -1
- package/dist/src/github/gh-cli.js.map +0 -1
- package/dist/src/github/gh-issue-adapter.d.ts.map +0 -1
- package/dist/src/github/gh-issue-adapter.js.map +0 -1
- package/dist/src/github/gh-pull-request-adapter.d.ts.map +0 -1
- package/dist/src/github/gh-pull-request-adapter.js.map +0 -1
- package/dist/src/github/issues.d.ts.map +0 -1
- package/dist/src/github/issues.js.map +0 -1
- package/dist/src/github/pull-requests.d.ts.map +0 -1
- package/dist/src/github/pull-requests.js.map +0 -1
- package/dist/src/package-info.d.ts +0 -6
- package/dist/src/package-info.d.ts.map +0 -1
- package/dist/src/package-info.js +0 -13
- package/dist/src/package-info.js.map +0 -1
- package/dist/src/path-policy.d.ts.map +0 -1
- package/dist/src/path-policy.js.map +0 -1
- package/dist/src/process/command.d.ts.map +0 -1
- package/dist/src/process/command.js.map +0 -1
- package/dist/src/review-handoff.d.ts +0 -3
- package/dist/src/review-handoff.d.ts.map +0 -1
- package/dist/src/review-handoff.js +0 -8
- package/dist/src/review-handoff.js.map +0 -1
- package/dist/src/runner/acceptance-proof-loop.d.ts +0 -97
- package/dist/src/runner/acceptance-proof-loop.d.ts.map +0 -1
- package/dist/src/runner/acceptance-proof-loop.js +0 -404
- package/dist/src/runner/acceptance-proof-loop.js.map +0 -1
- package/dist/src/runner/acceptance-proof-runner.d.ts +0 -24
- package/dist/src/runner/acceptance-proof-runner.d.ts.map +0 -1
- package/dist/src/runner/acceptance-proof-runner.js +0 -121
- package/dist/src/runner/acceptance-proof-runner.js.map +0 -1
- package/dist/src/runner/acceptance-proof.d.ts +0 -189
- package/dist/src/runner/acceptance-proof.d.ts.map +0 -1
- package/dist/src/runner/acceptance-proof.js +0 -594
- package/dist/src/runner/acceptance-proof.js.map +0 -1
- package/dist/src/runner/agent-attempt.d.ts +0 -105
- package/dist/src/runner/agent-attempt.d.ts.map +0 -1
- package/dist/src/runner/agent-attempt.js +0 -245
- package/dist/src/runner/agent-attempt.js.map +0 -1
- package/dist/src/runner/android-visual-proof-command.d.ts +0 -26
- package/dist/src/runner/android-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/android-visual-proof-command.js +0 -592
- package/dist/src/runner/android-visual-proof-command.js.map +0 -1
- package/dist/src/runner/auto-visual-proof-command.d.ts +0 -15
- package/dist/src/runner/auto-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/auto-visual-proof-command.js +0 -64
- package/dist/src/runner/auto-visual-proof-command.js.map +0 -1
- package/dist/src/runner/browser-proof-contract.d.ts +0 -134
- package/dist/src/runner/browser-proof-contract.d.ts.map +0 -1
- package/dist/src/runner/browser-proof-contract.js +0 -400
- package/dist/src/runner/browser-proof-contract.js.map +0 -1
- package/dist/src/runner/browser-visual-proof-command.d.ts +0 -101
- package/dist/src/runner/browser-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/browser-visual-proof-command.js +0 -532
- package/dist/src/runner/browser-visual-proof-command.js.map +0 -1
- package/dist/src/runner/command-utils.d.ts +0 -15
- package/dist/src/runner/command-utils.d.ts.map +0 -1
- package/dist/src/runner/command-utils.js +0 -228
- package/dist/src/runner/command-utils.js.map +0 -1
- package/dist/src/runner/completion-report.d.ts +0 -121
- package/dist/src/runner/completion-report.d.ts.map +0 -1
- package/dist/src/runner/completion-report.js +0 -381
- package/dist/src/runner/completion-report.js.map +0 -1
- package/dist/src/runner/context-snapshot.d.ts +0 -33
- package/dist/src/runner/context-snapshot.d.ts.map +0 -1
- package/dist/src/runner/context-snapshot.js +0 -99
- package/dist/src/runner/context-snapshot.js.map +0 -1
- package/dist/src/runner/daemon-command.d.ts +0 -30
- package/dist/src/runner/daemon-command.d.ts.map +0 -1
- package/dist/src/runner/daemon-command.js +0 -262
- package/dist/src/runner/daemon-command.js.map +0 -1
- package/dist/src/runner/doctor-command.d.ts +0 -41
- package/dist/src/runner/doctor-command.d.ts.map +0 -1
- package/dist/src/runner/doctor-command.js +0 -177
- package/dist/src/runner/doctor-command.js.map +0 -1
- package/dist/src/runner/durable-run-summary.d.ts +0 -80
- package/dist/src/runner/durable-run-summary.d.ts.map +0 -1
- package/dist/src/runner/durable-run-summary.js +0 -200
- package/dist/src/runner/durable-run-summary.js.map +0 -1
- package/dist/src/runner/flutter-sdk-discovery.d.ts +0 -5
- package/dist/src/runner/flutter-sdk-discovery.d.ts.map +0 -1
- package/dist/src/runner/flutter-sdk-discovery.js +0 -103
- package/dist/src/runner/flutter-sdk-discovery.js.map +0 -1
- package/dist/src/runner/fresh-context-review.d.ts +0 -22
- package/dist/src/runner/fresh-context-review.d.ts.map +0 -1
- package/dist/src/runner/fresh-context-review.js +0 -177
- package/dist/src/runner/fresh-context-review.js.map +0 -1
- package/dist/src/runner/handoff-evidence.d.ts +0 -141
- package/dist/src/runner/handoff-evidence.d.ts.map +0 -1
- package/dist/src/runner/handoff-evidence.js +0 -543
- package/dist/src/runner/handoff-evidence.js.map +0 -1
- package/dist/src/runner/hygiene-cleanup.d.ts +0 -15
- package/dist/src/runner/hygiene-cleanup.d.ts.map +0 -1
- package/dist/src/runner/hygiene-cleanup.js +0 -25
- package/dist/src/runner/hygiene-cleanup.js.map +0 -1
- package/dist/src/runner/ios-visual-proof-command.d.ts +0 -25
- package/dist/src/runner/ios-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/ios-visual-proof-command.js +0 -353
- package/dist/src/runner/ios-visual-proof-command.js.map +0 -1
- package/dist/src/runner/issue-state-machine.d.ts +0 -39
- package/dist/src/runner/issue-state-machine.d.ts.map +0 -1
- package/dist/src/runner/issue-state-machine.js +0 -124
- package/dist/src/runner/issue-state-machine.js.map +0 -1
- package/dist/src/runner/issue-tree.d.ts +0 -65
- package/dist/src/runner/issue-tree.d.ts.map +0 -1
- package/dist/src/runner/issue-tree.js +0 -474
- package/dist/src/runner/issue-tree.js.map +0 -1
- package/dist/src/runner/lifecycle-events.d.ts +0 -44
- package/dist/src/runner/lifecycle-events.d.ts.map +0 -1
- package/dist/src/runner/lifecycle-events.js +0 -108
- package/dist/src/runner/lifecycle-events.js.map +0 -1
- package/dist/src/runner/local-execution-session.d.ts +0 -112
- package/dist/src/runner/local-execution-session.d.ts.map +0 -1
- package/dist/src/runner/local-execution-session.js +0 -1064
- package/dist/src/runner/local-execution-session.js.map +0 -1
- package/dist/src/runner/local-state.d.ts +0 -44
- package/dist/src/runner/local-state.d.ts.map +0 -1
- package/dist/src/runner/local-state.js +0 -150
- package/dist/src/runner/local-state.js.map +0 -1
- package/dist/src/runner/mission-activation.d.ts +0 -29
- package/dist/src/runner/mission-activation.d.ts.map +0 -1
- package/dist/src/runner/mission-activation.js +0 -54
- package/dist/src/runner/mission-activation.js.map +0 -1
- package/dist/src/runner/mission-agent-broker.d.ts +0 -53
- package/dist/src/runner/mission-agent-broker.d.ts.map +0 -1
- package/dist/src/runner/mission-agent-broker.js +0 -182
- package/dist/src/runner/mission-agent-broker.js.map +0 -1
- package/dist/src/runner/mission-cancellation.d.ts +0 -77
- package/dist/src/runner/mission-cancellation.d.ts.map +0 -1
- package/dist/src/runner/mission-cancellation.js +0 -180
- package/dist/src/runner/mission-cancellation.js.map +0 -1
- package/dist/src/runner/mission-canonical-path.d.ts +0 -34
- package/dist/src/runner/mission-canonical-path.d.ts.map +0 -1
- package/dist/src/runner/mission-canonical-path.js +0 -121
- package/dist/src/runner/mission-canonical-path.js.map +0 -1
- package/dist/src/runner/mission-capability-kernel.d.ts +0 -34
- package/dist/src/runner/mission-capability-kernel.d.ts.map +0 -1
- package/dist/src/runner/mission-capability-kernel.js +0 -158
- package/dist/src/runner/mission-capability-kernel.js.map +0 -1
- package/dist/src/runner/mission-check-policy.d.ts +0 -17
- package/dist/src/runner/mission-check-policy.d.ts.map +0 -1
- package/dist/src/runner/mission-check-policy.js +0 -31
- package/dist/src/runner/mission-check-policy.js.map +0 -1
- package/dist/src/runner/mission-coordinator-lock.d.ts.map +0 -1
- package/dist/src/runner/mission-coordinator-lock.js.map +0 -1
- package/dist/src/runner/mission-deployment.d.ts +0 -21
- package/dist/src/runner/mission-deployment.d.ts.map +0 -1
- package/dist/src/runner/mission-deployment.js +0 -108
- package/dist/src/runner/mission-deployment.js.map +0 -1
- package/dist/src/runner/mission-evaluation.d.ts +0 -61
- package/dist/src/runner/mission-evaluation.d.ts.map +0 -1
- package/dist/src/runner/mission-evaluation.js +0 -183
- package/dist/src/runner/mission-evaluation.js.map +0 -1
- package/dist/src/runner/mission-executor-probe.d.ts +0 -10
- package/dist/src/runner/mission-executor-probe.d.ts.map +0 -1
- package/dist/src/runner/mission-executor-probe.js +0 -180
- package/dist/src/runner/mission-executor-probe.js.map +0 -1
- package/dist/src/runner/mission-git-contracts.d.ts +0 -75
- package/dist/src/runner/mission-git-contracts.d.ts.map +0 -1
- package/dist/src/runner/mission-git-contracts.js +0 -201
- package/dist/src/runner/mission-git-contracts.js.map +0 -1
- package/dist/src/runner/mission-git-runtime-owner-ref.d.ts +0 -13
- package/dist/src/runner/mission-git-runtime-owner-ref.d.ts.map +0 -1
- package/dist/src/runner/mission-git-runtime-owner-ref.js +0 -111
- package/dist/src/runner/mission-git-runtime-owner-ref.js.map +0 -1
- package/dist/src/runner/mission-git-transaction.d.ts +0 -97
- package/dist/src/runner/mission-git-transaction.d.ts.map +0 -1
- package/dist/src/runner/mission-git-transaction.js +0 -1009
- package/dist/src/runner/mission-git-transaction.js.map +0 -1
- package/dist/src/runner/mission-identifiers.d.ts +0 -31
- package/dist/src/runner/mission-identifiers.d.ts.map +0 -1
- package/dist/src/runner/mission-identifiers.js +0 -75
- package/dist/src/runner/mission-identifiers.js.map +0 -1
- package/dist/src/runner/mission-input-snapshot.d.ts +0 -21
- package/dist/src/runner/mission-input-snapshot.d.ts.map +0 -1
- package/dist/src/runner/mission-input-snapshot.js +0 -63
- package/dist/src/runner/mission-input-snapshot.js.map +0 -1
- package/dist/src/runner/mission-ownership.d.ts +0 -38
- package/dist/src/runner/mission-ownership.d.ts.map +0 -1
- package/dist/src/runner/mission-ownership.js +0 -88
- package/dist/src/runner/mission-ownership.js.map +0 -1
- package/dist/src/runner/mission-patch-audit.d.ts +0 -21
- package/dist/src/runner/mission-patch-audit.d.ts.map +0 -1
- package/dist/src/runner/mission-patch-audit.js +0 -186
- package/dist/src/runner/mission-patch-audit.js.map +0 -1
- package/dist/src/runner/mission-path-language.d.ts +0 -6
- package/dist/src/runner/mission-path-language.d.ts.map +0 -1
- package/dist/src/runner/mission-path-language.js +0 -106
- package/dist/src/runner/mission-path-language.js.map +0 -1
- package/dist/src/runner/mission-permit-authority.d.ts +0 -26
- package/dist/src/runner/mission-permit-authority.d.ts.map +0 -1
- package/dist/src/runner/mission-permit-authority.js +0 -145
- package/dist/src/runner/mission-permit-authority.js.map +0 -1
- package/dist/src/runner/mission-plan-parent-coordinator.d.ts +0 -87
- package/dist/src/runner/mission-plan-parent-coordinator.d.ts.map +0 -1
- package/dist/src/runner/mission-plan-parent-coordinator.js +0 -441
- package/dist/src/runner/mission-plan-parent-coordinator.js.map +0 -1
- package/dist/src/runner/mission-plan-parent.d.ts +0 -156
- package/dist/src/runner/mission-plan-parent.d.ts.map +0 -1
- package/dist/src/runner/mission-plan-parent.js +0 -589
- package/dist/src/runner/mission-plan-parent.js.map +0 -1
- package/dist/src/runner/mission-process-executor.d.ts +0 -25
- package/dist/src/runner/mission-process-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-process-executor.js +0 -182
- package/dist/src/runner/mission-process-executor.js.map +0 -1
- package/dist/src/runner/mission-publication-git.d.ts +0 -21
- package/dist/src/runner/mission-publication-git.d.ts.map +0 -1
- package/dist/src/runner/mission-publication-git.js +0 -61
- package/dist/src/runner/mission-publication-git.js.map +0 -1
- package/dist/src/runner/mission-publication.d.ts +0 -192
- package/dist/src/runner/mission-publication.d.ts.map +0 -1
- package/dist/src/runner/mission-publication.js +0 -1001
- package/dist/src/runner/mission-publication.js.map +0 -1
- package/dist/src/runner/mission-quarantine-patch-executor.d.ts +0 -29
- package/dist/src/runner/mission-quarantine-patch-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-quarantine-patch-executor.js +0 -121
- package/dist/src/runner/mission-quarantine-patch-executor.js.map +0 -1
- package/dist/src/runner/mission-repository-executor.d.ts +0 -54
- package/dist/src/runner/mission-repository-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-repository-executor.js +0 -192
- package/dist/src/runner/mission-repository-executor.js.map +0 -1
- package/dist/src/runner/mission-repository-observer.d.ts +0 -8
- package/dist/src/runner/mission-repository-observer.d.ts.map +0 -1
- package/dist/src/runner/mission-repository-observer.js +0 -24
- package/dist/src/runner/mission-repository-observer.js.map +0 -1
- package/dist/src/runner/mission-reservations.d.ts +0 -15
- package/dist/src/runner/mission-reservations.d.ts.map +0 -1
- package/dist/src/runner/mission-reservations.js +0 -116
- package/dist/src/runner/mission-reservations.js.map +0 -1
- package/dist/src/runner/mission-resolution-loop.d.ts +0 -172
- package/dist/src/runner/mission-resolution-loop.d.ts.map +0 -1
- package/dist/src/runner/mission-resolution-loop.js +0 -318
- package/dist/src/runner/mission-resolution-loop.js.map +0 -1
- package/dist/src/runner/mission-runtime-owner.d.ts +0 -36
- package/dist/src/runner/mission-runtime-owner.d.ts.map +0 -1
- package/dist/src/runner/mission-runtime-owner.js +0 -174
- package/dist/src/runner/mission-runtime-owner.js.map +0 -1
- package/dist/src/runner/mission-safe-executor.d.ts +0 -96
- package/dist/src/runner/mission-safe-executor.d.ts.map +0 -1
- package/dist/src/runner/mission-safe-executor.js +0 -288
- package/dist/src/runner/mission-safe-executor.js.map +0 -1
- package/dist/src/runner/mission-sandbox.d.ts +0 -16
- package/dist/src/runner/mission-sandbox.d.ts.map +0 -1
- package/dist/src/runner/mission-sandbox.js +0 -91
- package/dist/src/runner/mission-sandbox.js.map +0 -1
- package/dist/src/runner/mission-scheduler.d.ts +0 -57
- package/dist/src/runner/mission-scheduler.d.ts.map +0 -1
- package/dist/src/runner/mission-scheduler.js +0 -205
- package/dist/src/runner/mission-scheduler.js.map +0 -1
- package/dist/src/runner/mission-scope-expansion.d.ts +0 -47
- package/dist/src/runner/mission-scope-expansion.d.ts.map +0 -1
- package/dist/src/runner/mission-scope-expansion.js +0 -147
- package/dist/src/runner/mission-scope-expansion.js.map +0 -1
- package/dist/src/runner/mission-state-machine.d.ts +0 -118
- package/dist/src/runner/mission-state-machine.d.ts.map +0 -1
- package/dist/src/runner/mission-state-machine.js +0 -316
- package/dist/src/runner/mission-state-machine.js.map +0 -1
- package/dist/src/runner/mission-state-store.d.ts +0 -70
- package/dist/src/runner/mission-state-store.d.ts.map +0 -1
- package/dist/src/runner/mission-state-store.js +0 -916
- package/dist/src/runner/mission-state-store.js.map +0 -1
- package/dist/src/runner/mobile-device-lease.d.ts +0 -11
- package/dist/src/runner/mobile-device-lease.d.ts.map +0 -1
- package/dist/src/runner/mobile-device-lease.js +0 -121
- package/dist/src/runner/mobile-device-lease.js.map +0 -1
- package/dist/src/runner/mobile-visual-proof-command.d.ts +0 -17
- package/dist/src/runner/mobile-visual-proof-command.d.ts.map +0 -1
- package/dist/src/runner/mobile-visual-proof-command.js +0 -168
- package/dist/src/runner/mobile-visual-proof-command.js.map +0 -1
- package/dist/src/runner/plan-auto-command.d.ts +0 -35
- package/dist/src/runner/plan-auto-command.d.ts.map +0 -1
- package/dist/src/runner/plan-auto-command.js +0 -918
- package/dist/src/runner/plan-auto-command.js.map +0 -1
- package/dist/src/runner/plan-auto-recovery.d.ts +0 -83
- package/dist/src/runner/plan-auto-recovery.d.ts.map +0 -1
- package/dist/src/runner/plan-auto-recovery.js +0 -303
- package/dist/src/runner/plan-auto-recovery.js.map +0 -1
- package/dist/src/runner/prompt.d.ts +0 -68
- package/dist/src/runner/prompt.d.ts.map +0 -1
- package/dist/src/runner/prompt.js +0 -202
- package/dist/src/runner/prompt.js.map +0 -1
- package/dist/src/runner/proof-routing.d.ts +0 -73
- package/dist/src/runner/proof-routing.d.ts.map +0 -1
- package/dist/src/runner/proof-routing.js +0 -182
- package/dist/src/runner/proof-routing.js.map +0 -1
- package/dist/src/runner/proof-strategy.d.ts +0 -21
- package/dist/src/runner/proof-strategy.d.ts.map +0 -1
- package/dist/src/runner/proof-strategy.js +0 -26
- package/dist/src/runner/proof-strategy.js.map +0 -1
- package/dist/src/runner/recovery.d.ts +0 -25
- package/dist/src/runner/recovery.d.ts.map +0 -1
- package/dist/src/runner/recovery.js +0 -89
- package/dist/src/runner/recovery.js.map +0 -1
- package/dist/src/runner/review-gate-policy.d.ts +0 -13
- package/dist/src/runner/review-gate-policy.d.ts.map +0 -1
- package/dist/src/runner/review-gate-policy.js +0 -241
- package/dist/src/runner/review-gate-policy.js.map +0 -1
- package/dist/src/runner/review-gates.d.ts +0 -28
- package/dist/src/runner/review-gates.d.ts.map +0 -1
- package/dist/src/runner/review-gates.js +0 -328
- package/dist/src/runner/review-gates.js.map +0 -1
- package/dist/src/runner/rework-policy.d.ts +0 -48
- package/dist/src/runner/rework-policy.d.ts.map +0 -1
- package/dist/src/runner/rework-policy.js +0 -150
- package/dist/src/runner/rework-policy.js.map +0 -1
- package/dist/src/runner/run-log.d.ts +0 -18
- package/dist/src/runner/run-log.d.ts.map +0 -1
- package/dist/src/runner/run-log.js +0 -53
- package/dist/src/runner/run-log.js.map +0 -1
- package/dist/src/runner/runner-handoff-decision.d.ts +0 -48
- package/dist/src/runner/runner-handoff-decision.d.ts.map +0 -1
- package/dist/src/runner/runner-handoff-decision.js +0 -93
- package/dist/src/runner/runner-handoff-decision.js.map +0 -1
- package/dist/src/runner/safety.d.ts +0 -14
- package/dist/src/runner/safety.d.ts.map +0 -1
- package/dist/src/runner/safety.js +0 -31
- package/dist/src/runner/safety.js.map +0 -1
- package/dist/src/runner/scope-isolation-policy.d.ts +0 -17
- package/dist/src/runner/scope-isolation-policy.d.ts.map +0 -1
- package/dist/src/runner/scope-isolation-policy.js +0 -82
- package/dist/src/runner/scope-isolation-policy.js.map +0 -1
- package/dist/src/runner/scoped-auto-command.d.ts +0 -90
- package/dist/src/runner/scoped-auto-command.d.ts.map +0 -1
- package/dist/src/runner/scoped-auto-command.js +0 -561
- package/dist/src/runner/scoped-auto-command.js.map +0 -1
- package/dist/src/runner/scoped-recovery.d.ts +0 -78
- package/dist/src/runner/scoped-recovery.d.ts.map +0 -1
- package/dist/src/runner/scoped-recovery.js +0 -601
- package/dist/src/runner/scoped-recovery.js.map +0 -1
- package/dist/src/runner/session-home.d.ts +0 -8
- package/dist/src/runner/session-home.d.ts.map +0 -1
- package/dist/src/runner/session-home.js +0 -18
- package/dist/src/runner/session-home.js.map +0 -1
- package/dist/src/runner/status-command.d.ts +0 -38
- package/dist/src/runner/status-command.d.ts.map +0 -1
- package/dist/src/runner/status-command.js +0 -97
- package/dist/src/runner/status-command.js.map +0 -1
- package/dist/src/runner/target-activity-fence.d.ts.map +0 -1
- package/dist/src/runner/target-activity-fence.js.map +0 -1
- package/dist/src/runner/terminal-outcome.d.ts +0 -58
- package/dist/src/runner/terminal-outcome.d.ts.map +0 -1
- package/dist/src/runner/terminal-outcome.js +0 -73
- package/dist/src/runner/terminal-outcome.js.map +0 -1
- package/dist/src/runner/visual-proof-runner.d.ts +0 -27
- package/dist/src/runner/visual-proof-runner.d.ts.map +0 -1
- package/dist/src/runner/visual-proof-runner.js +0 -379
- package/dist/src/runner/visual-proof-runner.js.map +0 -1
- package/dist/src/runner/worktree-cleanup.d.ts +0 -27
- package/dist/src/runner/worktree-cleanup.d.ts.map +0 -1
- package/dist/src/runner/worktree-cleanup.js +0 -63
- package/dist/src/runner/worktree-cleanup.js.map +0 -1
- package/dist/src/setup/codex-command-resolver.d.ts +0 -10
- package/dist/src/setup/codex-command-resolver.d.ts.map +0 -1
- package/dist/src/setup/codex-command-resolver.js +0 -91
- package/dist/src/setup/codex-command-resolver.js.map +0 -1
- package/dist/src/setup/github-label-adapter.d.ts +0 -13
- package/dist/src/setup/github-label-adapter.d.ts.map +0 -1
- package/dist/src/setup/github-label-adapter.js +0 -28
- package/dist/src/setup/github-label-adapter.js.map +0 -1
- package/dist/src/setup/labels.d.ts +0 -27
- package/dist/src/setup/labels.d.ts.map +0 -1
- package/dist/src/setup/labels.js +0 -42
- package/dist/src/setup/labels.js.map +0 -1
- package/dist/src/setup/project-config.d.ts +0 -24
- package/dist/src/setup/project-config.d.ts.map +0 -1
- package/dist/src/setup/project-config.js +0 -678
- package/dist/src/setup/project-config.js.map +0 -1
- package/dist/src/setup/prompt-sync.d.ts +0 -14
- package/dist/src/setup/prompt-sync.d.ts.map +0 -1
- package/dist/src/setup/prompt-sync.js +0 -228
- package/dist/src/setup/prompt-sync.js.map +0 -1
- package/dist/src/setup/setup-command.d.ts +0 -29
- package/dist/src/setup/setup-command.d.ts.map +0 -1
- package/dist/src/setup/setup-command.js +0 -304
- package/dist/src/setup/setup-command.js.map +0 -1
- package/dist/src/setup/skill-runtime-v2-preparation.d.ts +0 -56
- package/dist/src/setup/skill-runtime-v2-preparation.d.ts.map +0 -1
- package/dist/src/setup/skill-runtime-v2-preparation.js +0 -304
- package/dist/src/setup/skill-runtime-v2-preparation.js.map +0 -1
- package/dist/src/setup/workflows.d.ts +0 -10
- package/dist/src/setup/workflows.d.ts.map +0 -1
- package/dist/src/setup/workflows.js +0 -41
- package/dist/src/setup/workflows.js.map +0 -1
- package/prompts/setup-skill.md +0 -12
- package/prompts/workflows/acceptance-proof.md +0 -29
- package/prompts/workflows/breakdown-review.md +0 -48
- package/prompts/workflows/issue-breakdown.md +0 -155
- package/prompts/workflows/issue-tree-orchestration.md +0 -163
- package/prompts/workflows/prd.md +0 -80
- package/prompts/workflows/scoped-implementation.md +0 -129
- package/prompts/workflows/triage.md +0 -149
- /package/dist/src/{process → v2/adapters}/command.d.ts +0 -0
- /package/dist/src/{process → v2/adapters}/command.js +0 -0
- /package/dist/src/{fs → v2/adapters}/durable-atomic-file.d.ts +0 -0
- /package/dist/src/{fs → v2/adapters}/durable-atomic-file.js +0 -0
- /package/dist/src/{github → v2/adapters}/gh-cli.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/gh-cli.js +0 -0
- /package/dist/src/{github → v2/adapters}/gh-issue-adapter.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/gh-issue-adapter.js +0 -0
- /package/dist/src/{github → v2/adapters}/gh-pull-request-adapter.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/gh-pull-request-adapter.js +0 -0
- /package/dist/src/{github → v2/adapters}/issues.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/issues.js +0 -0
- /package/dist/src/{runner → v2/adapters}/mission-coordinator-lock.d.ts +0 -0
- /package/dist/src/{runner → v2/adapters}/mission-coordinator-lock.js +0 -0
- /package/dist/src/{path-policy.d.ts → v2/adapters/path-policy.d.ts} +0 -0
- /package/dist/src/{path-policy.js → v2/adapters/path-policy.js} +0 -0
- /package/dist/src/{github → v2/adapters}/pull-requests.d.ts +0 -0
- /package/dist/src/{github → v2/adapters}/pull-requests.js +0 -0
- /package/dist/src/{runner → v2/adapters}/target-activity-fence.d.ts +0 -0
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { dirname, join } from 'node:path';
|
|
3
|
-
import { buildQualityGatePromptLines, buildVisualProofPromptLines, } from './review-gate-policy.js';
|
|
4
|
-
export { readPlanAutoCompletionReport, readScopedCompletionReport, } from './completion-report.js';
|
|
5
|
-
export function buildScopedImplementationPrompt(input) {
|
|
6
|
-
const labels = input.issue.labels.map((label) => label.name).join(', ') || 'none';
|
|
7
|
-
const comments = [...input.issue.comments]
|
|
8
|
-
.sort((left, right) => left.createdAt.localeCompare(right.createdAt))
|
|
9
|
-
.map((comment) => `- ${comment.createdAt} ${comment.author.login} (${comment.authorAssociation}): ${comment.body}`)
|
|
10
|
-
.join('\n') || 'none';
|
|
11
|
-
const rework = input.rework
|
|
12
|
-
? [
|
|
13
|
-
'## Rework Request',
|
|
14
|
-
`This is an automatic rework attempt (#${input.rework.attempt}). Continue from the current worktree state; do not start over.`,
|
|
15
|
-
'The previous attempt was blocked for these reasons:',
|
|
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
|
-
: []),
|
|
20
|
-
'Address the blockers, then produce a fresh completion report JSON for the runner.',
|
|
21
|
-
].join('\n')
|
|
22
|
-
: '';
|
|
23
|
-
return [
|
|
24
|
-
'# Codex Orchestrator Scoped Implementation',
|
|
25
|
-
'## Issue Context',
|
|
26
|
-
`Issue: #${input.issue.number}`,
|
|
27
|
-
`Title: ${input.issue.title}`,
|
|
28
|
-
`URL: ${input.issue.url}`,
|
|
29
|
-
`Body:\n${input.issue.body}`,
|
|
30
|
-
`Labels: ${labels}`,
|
|
31
|
-
`Comments:\n${comments}`,
|
|
32
|
-
...(rework ? [rework] : []),
|
|
33
|
-
'## Project Workflow',
|
|
34
|
-
input.workflowPromptText,
|
|
35
|
-
'## Runner-Owned Publication Contract',
|
|
36
|
-
localCommitPublicationLine(input.config, false),
|
|
37
|
-
'## Safety Contract',
|
|
38
|
-
`Do not read or modify configured secret file patterns: ${input.config.deny.secretFiles.join(', ')}.`,
|
|
39
|
-
'Do not run destructive database/cache actions.',
|
|
40
|
-
'Do not run production deploy/release actions.',
|
|
41
|
-
'Use explicit short timeouts for local HTTP probes, for example curl --max-time 10, and avoid blind probing of unrelated localhost ports.',
|
|
42
|
-
'## Flow Selection Contract',
|
|
43
|
-
'Before editing, classify the issue as small, medium, or high risk from the issue text, repo policy, touched ownership, and validation needs.',
|
|
44
|
-
'For small low-risk scoped work with clear intent, narrow ownership, and targeted validation, use `$small-task-implementer` and keep the implementation compact.',
|
|
45
|
-
'For medium or high-risk work, use the scoped implementation/spec implementer workflow below, including TDD and required review gates.',
|
|
46
|
-
'If the issue actually needs a parent PRD, issue tree, broad contract design, multi-agent work, or multiple risky slices, stop with status `needs-promotion` and provide promotion evidence.',
|
|
47
|
-
...buildQualityGatePromptLines(input.config),
|
|
48
|
-
'## Completion Report Contract',
|
|
49
|
-
`The Codex CLI will save your final response to ${input.reportPath}; do not try to write this file yourself.`,
|
|
50
|
-
'Your final response must be only raw valid JSON, with no markdown fence or explanatory prose.',
|
|
51
|
-
...buildVisualProofPromptLines(input.config, input.issue),
|
|
52
|
-
...proofPlanPromptLines(),
|
|
53
|
-
'## Review Handoff Contract',
|
|
54
|
-
'Include reviewHandoff for completed work so a maintainer can review quickly without reverse-engineering the diff.',
|
|
55
|
-
'reviewHandoff must name the flow used, risk level, implemented contract, proof by acceptance criterion, review focus, agent-verified checks, and maintainer-only checks.',
|
|
56
|
-
'Put commands, tests, code searches, import/path checks, and fallback-path confirmations in validation, proofByAcceptanceCriteria, or agentVerifiedChecks. Put only genuinely human-only actions in maintainerOnlyChecks, each with reasonAgentCouldNotVerify.',
|
|
57
|
-
scopedCompletionReportSchemaLine(),
|
|
58
|
-
`Prompt file: ${input.promptPath}`,
|
|
59
|
-
`Branch: ${input.branchName}`,
|
|
60
|
-
`Worktree: ${input.worktreePath}`,
|
|
61
|
-
].join('\n\n');
|
|
62
|
-
}
|
|
63
|
-
export function buildPlanAutoPrompt(input) {
|
|
64
|
-
const labels = input.parentIssue.labels.map((label) => label.name).join(', ') || 'none';
|
|
65
|
-
const comments = [...input.parentIssue.comments]
|
|
66
|
-
.sort((left, right) => left.createdAt.localeCompare(right.createdAt))
|
|
67
|
-
.map((comment) => `- ${comment.createdAt} ${comment.author.login} (${comment.authorAssociation}): ${comment.body}`)
|
|
68
|
-
.join('\n') || 'none';
|
|
69
|
-
return [
|
|
70
|
-
'# Codex Orchestrator Parent Planning',
|
|
71
|
-
'## Parent Issue Context',
|
|
72
|
-
`Issue: #${input.parentIssue.number}`,
|
|
73
|
-
`Title: ${input.parentIssue.title}`,
|
|
74
|
-
`URL: ${input.parentIssue.url}`,
|
|
75
|
-
`Body:\n${input.parentIssue.body}`,
|
|
76
|
-
`Labels: ${labels}`,
|
|
77
|
-
`Comments:\n${comments}`,
|
|
78
|
-
'## PRD Workflow',
|
|
79
|
-
input.prompts.prd,
|
|
80
|
-
'## Issue Breakdown Workflow',
|
|
81
|
-
input.prompts.issueBreakdown,
|
|
82
|
-
'## Breakdown Review Workflow',
|
|
83
|
-
input.prompts.breakdownReview,
|
|
84
|
-
'## Triage Workflow',
|
|
85
|
-
input.prompts.triage,
|
|
86
|
-
'## Planning Risk/Proof Contract',
|
|
87
|
-
'Classify each proposed child by size and risk. Small low-risk children should state that they are intended for the `$small-task-implementer` path; medium/high-risk children should carry issue-level or wave-level spec/review expectations.',
|
|
88
|
-
'The parent planning report must include a concise parentReviewHandoff with the main risks, proof strategy, and what a maintainer should inspect after the issue tree finishes.',
|
|
89
|
-
'Plan-auto is an autonomous workflow: set every child afkHitl to "afk" unless that child cannot start without a specific external human decision, credential, approval, or artifact. Do not use "hitl" merely because maintainers should review the result after completion; put post-completion review expectations in parentReviewHandoff.humanReviewFocus instead. A "hitl" child intentionally blocks automatic issue-tree execution.',
|
|
90
|
-
'## Runner-Owned GitHub Contract',
|
|
91
|
-
'Return structured output only. Do not create/edit GitHub issues, labels, comments, milestones, projects, branches, commits, pushes, pull requests, merges, publishes, deploys, or execute child waves. The runner owns all GitHub mutations.',
|
|
92
|
-
'## Autonomous Child Contract',
|
|
93
|
-
'Every child must be represented in the JSON report. Autonomous membership requires the explicit runner marker plus parent reference. Arbitrary links, milestones, projects, and comments do not grant membership or inherited authorization.',
|
|
94
|
-
'## Planning Report Contract',
|
|
95
|
-
[
|
|
96
|
-
`The Codex CLI will save your final response to ${input.reportPath}; do not try to write this file yourself.`,
|
|
97
|
-
'Your final response must be only raw valid JSON, with no markdown fence or explanatory prose.',
|
|
98
|
-
'Schema: { "status": "completed", "parent": { "title"?: string, "body": string }, "graph": { "nodes": PlanChildNode[], "edges": PlanDependencyEdge[], "specGate": "wave-level" }, "sizeRisk"?: { "small": string[], "medium": string[], "high": string[] }, "parentReviewHandoff"?: { "risks": string[], "proofStrategy": string[], "humanReviewFocus": string[] }, "residualRisks": string[] }.',
|
|
99
|
-
'PlanChildNode: { stableId, issueNumber?, title, body, afkHitl: "afk" | "hitl", ownershipScope: string[], dependsOn: string[], verification: string[] }.',
|
|
100
|
-
'PlanDependencyEdge: { from, to, reason } where from is the dependency and to depends on it.',
|
|
101
|
-
`Prompt file: ${input.promptPath}`,
|
|
102
|
-
`Branch: ${input.branchName}`,
|
|
103
|
-
`Worktree: ${input.worktreePath}`,
|
|
104
|
-
].join('\n'),
|
|
105
|
-
].join('\n\n');
|
|
106
|
-
}
|
|
107
|
-
export function buildIssueTreeChildPrompt(input) {
|
|
108
|
-
const labels = input.childIssue.labels.map((label) => label.name).join(', ') || 'none';
|
|
109
|
-
const comments = [...input.childIssue.comments]
|
|
110
|
-
.sort((left, right) => left.createdAt.localeCompare(right.createdAt))
|
|
111
|
-
.map((comment) => `- ${comment.createdAt} ${comment.author.login} (${comment.authorAssociation}): ${comment.body}`)
|
|
112
|
-
.join('\n') || 'none';
|
|
113
|
-
const dependencies = input.dependencyIssues.length > 0
|
|
114
|
-
? input.dependencyIssues.map((issue) => `- #${issue.number} ${issue.title}`).join('\n')
|
|
115
|
-
: 'none';
|
|
116
|
-
return [
|
|
117
|
-
'# Codex Orchestrator Issue-Tree Child Implementation',
|
|
118
|
-
'## Parent Issue Context',
|
|
119
|
-
`Issue: #${input.parentIssue.number}`,
|
|
120
|
-
`Title: ${input.parentIssue.title}`,
|
|
121
|
-
`URL: ${input.parentIssue.url}`,
|
|
122
|
-
`Body:\n${input.parentIssue.body}`,
|
|
123
|
-
'## Child Issue Context',
|
|
124
|
-
`Issue: #${input.childIssue.number}`,
|
|
125
|
-
`Title: ${input.childIssue.title}`,
|
|
126
|
-
`URL: ${input.childIssue.url}`,
|
|
127
|
-
`Body:\n${input.childIssue.body}`,
|
|
128
|
-
`Labels: ${labels}`,
|
|
129
|
-
`Comments:\n${comments}`,
|
|
130
|
-
`Stable ID: ${input.childMetadata.stableId}`,
|
|
131
|
-
`Ownership Scope: ${input.childMetadata.ownershipScope.join(', ')}`,
|
|
132
|
-
`Dependencies: ${input.childMetadata.dependsOn.length > 0 ? input.childMetadata.dependsOn.join(', ') : 'none'}`,
|
|
133
|
-
`Verification Expectations: ${input.childMetadata.verification.join(', ')}`,
|
|
134
|
-
'## Dependency Context',
|
|
135
|
-
dependencies,
|
|
136
|
-
'Dependency child issues listed here were merged into the parent integration branch before this child starts.',
|
|
137
|
-
'## Project Workflow',
|
|
138
|
-
input.workflowPromptText,
|
|
139
|
-
'## Runner-Owned Publication Contract',
|
|
140
|
-
localCommitPublicationLine(input.config, true),
|
|
141
|
-
'## Safety Contract',
|
|
142
|
-
`Do not read or modify configured secret file patterns: ${input.config.deny.secretFiles.join(', ')}.`,
|
|
143
|
-
'Do not run destructive database/cache actions.',
|
|
144
|
-
'Do not run production deploy/release actions.',
|
|
145
|
-
'Use explicit short timeouts for local HTTP probes, for example curl --max-time 10, and avoid blind probing of unrelated localhost ports.',
|
|
146
|
-
'## Flow Selection Contract',
|
|
147
|
-
'Before editing, classify this child as small, medium, or high risk from child metadata, ownership scope, dependencies, repo policy, and validation needs.',
|
|
148
|
-
'For small low-risk child work with clear intent, narrow ownership, and targeted validation, use `$small-task-implementer` and keep the implementation compact.',
|
|
149
|
-
'For medium or high-risk child work, use the issue-tree/scoped implementation workflow below, including TDD and required review gates.',
|
|
150
|
-
...buildQualityGatePromptLines(input.config),
|
|
151
|
-
'## Completion Report Contract',
|
|
152
|
-
`The Codex CLI will save your final response to ${input.reportPath}; do not try to write this file yourself.`,
|
|
153
|
-
'Your final response must be only raw valid JSON, with no markdown fence or explanatory prose.',
|
|
154
|
-
'Use status "needs-promotion" only when the child cannot complete safely within its ownership scope. Do not request promotion merely because a runner-owned proof command was not executed in-session; for explicit non-visual proof, report the concrete non-visual evidence and let the runner keep visual dispatch disabled.',
|
|
155
|
-
...buildVisualProofPromptLines(input.config, input.childIssue),
|
|
156
|
-
...proofPlanPromptLines(),
|
|
157
|
-
'## Review Handoff Contract',
|
|
158
|
-
'Include reviewHandoff for completed child work so the parent report can show risk, proof, and human review focus per child.',
|
|
159
|
-
'reviewHandoff must name the flow used, risk level, implemented contract, proof by acceptance criterion, review focus, agent-verified checks, and maintainer-only checks.',
|
|
160
|
-
'Put commands, tests, code searches, import/path checks, and fallback-path confirmations in validation, proofByAcceptanceCriteria, or agentVerifiedChecks. Put only genuinely human-only actions in maintainerOnlyChecks, each with reasonAgentCouldNotVerify.',
|
|
161
|
-
scopedCompletionReportSchemaLine(),
|
|
162
|
-
`Prompt file: ${input.promptPath}`,
|
|
163
|
-
`Branch: ${input.branchName}`,
|
|
164
|
-
`Worktree: ${input.worktreePath}`,
|
|
165
|
-
].join('\n\n');
|
|
166
|
-
}
|
|
167
|
-
function proofPlanPromptLines() {
|
|
168
|
-
return [
|
|
169
|
-
'## Proof Plan Contract',
|
|
170
|
-
'Include proofPlan in the completion report. Choose the narrowest proofPlan mode that proves the issue.',
|
|
171
|
-
'Supported proofPlan modes are "none", "non-visual-smoke", "cli", "api", "worker", "browser-visual", and "mobile-visual".',
|
|
172
|
-
'Do not choose non-visual proof modes for UI or mobile behavior. Do not choose "none" when acceptance criteria need observable proof.',
|
|
173
|
-
'Map proofPlan.validationCommands to passed validation[].command values, and map proofPlan.requiredArtifacts to artifact path or url values.',
|
|
174
|
-
'The runner validates proofPlan and may reject it before publication.',
|
|
175
|
-
];
|
|
176
|
-
}
|
|
177
|
-
function scopedCompletionReportSchemaLine() {
|
|
178
|
-
return '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 } } }[], "proofPlan": { "mode": "none" | "non-visual-smoke" | "cli" | "api" | "worker" | "browser-visual" | "mobile-visual", "reason": string, "validationCommands": string[], "requiredArtifacts": string[], "visualTarget"?: "browser" | "mobile" }, "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[], "agentVerifiedChecks": string[], "maintainerOnlyChecks": { "check": string, "reasonAgentCouldNotVerify": string }[] }, "promotion"?: { "reason": string, "criteria": string[], "evidence": string[] } }.';
|
|
179
|
-
}
|
|
180
|
-
function localCommitPublicationLine(config, child) {
|
|
181
|
-
const forbidden = child
|
|
182
|
-
? 'push, merge, open pull requests, merge pull requests, publish, deploy, or edit GitHub labels/comments'
|
|
183
|
-
: 'push, open pull requests, merge, publish, deploy, or edit GitHub labels/comments';
|
|
184
|
-
return config.runner.allowAgentLocalCommits
|
|
185
|
-
? `You may create local commits in this worktree. Do not ${forbidden}. The runner owns external publication.`
|
|
186
|
-
: child
|
|
187
|
-
? `Change files only. You must not commit, ${forbidden}. The runner owns publication.`
|
|
188
|
-
: `Change files only. Do not commit, ${forbidden}. The runner owns publication.`;
|
|
189
|
-
}
|
|
190
|
-
export async function writeDurablePrompt(input) {
|
|
191
|
-
const path = sessionPromptPath(input);
|
|
192
|
-
await mkdir(dirname(path), { recursive: true });
|
|
193
|
-
await writeFile(path, input.promptText, 'utf8');
|
|
194
|
-
return path;
|
|
195
|
-
}
|
|
196
|
-
export function sessionPromptPath(input) {
|
|
197
|
-
return join(input.targetRoot, input.config.runner.stateDir, 'prompts', `issue-${input.issueNumber}-${input.sessionId}.md`);
|
|
198
|
-
}
|
|
199
|
-
export function sessionReportPath(input) {
|
|
200
|
-
return join(input.targetRoot, input.config.runner.stateDir, 'reports', `issue-${input.issueNumber}-${input.sessionId}.json`);
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=prompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { CodexOrchestratorConfig } from '../config/schema.js';
|
|
2
|
-
import type { GitHubIssue } from '../github/issues.js';
|
|
3
|
-
import type { ProofPlan, ProofPlanMode } from './completion-report.js';
|
|
4
|
-
import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
|
|
5
|
-
export type VisualProofDispatchTarget = 'browser' | 'mobile' | 'none';
|
|
6
|
-
export type ProofRoutingAction = 'skip' | 'dispatch' | 'allow-non-visual' | 'error';
|
|
7
|
-
export interface ProofRoutingDecision {
|
|
8
|
-
applies: boolean;
|
|
9
|
-
desirable: boolean;
|
|
10
|
-
dispatchTarget: VisualProofDispatchTarget;
|
|
11
|
-
proofStrategy: ReturnType<typeof resolveAcceptanceProofStrategy>['strategy'];
|
|
12
|
-
action: ProofRoutingAction;
|
|
13
|
-
reason: string;
|
|
14
|
-
}
|
|
15
|
-
export declare function decideProofRouting(input: {
|
|
16
|
-
config: CodexOrchestratorConfig;
|
|
17
|
-
issue: GitHubIssue;
|
|
18
|
-
changedFiles: string[];
|
|
19
|
-
}): ProofRoutingDecision;
|
|
20
|
-
export declare function shouldApplyVisualProofGate(input: {
|
|
21
|
-
config: CodexOrchestratorConfig;
|
|
22
|
-
issue: GitHubIssue;
|
|
23
|
-
changedFiles: string[];
|
|
24
|
-
}): boolean;
|
|
25
|
-
export declare function classifyVisualProofDispatchTarget(input: {
|
|
26
|
-
config: CodexOrchestratorConfig;
|
|
27
|
-
issue: GitHubIssue;
|
|
28
|
-
changedFiles: string[];
|
|
29
|
-
}): VisualProofDispatchTarget;
|
|
30
|
-
export declare function isVisualProofDesirable(input: {
|
|
31
|
-
config: CodexOrchestratorConfig;
|
|
32
|
-
issue: GitHubIssue;
|
|
33
|
-
changedFiles: string[];
|
|
34
|
-
}): boolean;
|
|
35
|
-
export declare function runnerVisualProofPolicy(config: CodexOrchestratorConfig): {
|
|
36
|
-
commandTemplate?: string;
|
|
37
|
-
artifactDir: string;
|
|
38
|
-
envPassthrough: string[];
|
|
39
|
-
timeoutMs?: number;
|
|
40
|
-
minScreenshotArtifacts: number;
|
|
41
|
-
requireWhenDesirable: boolean;
|
|
42
|
-
blockOnMissingProof: boolean;
|
|
43
|
-
browserProof: {
|
|
44
|
-
scenarioPath?: string;
|
|
45
|
-
baseUrl?: string;
|
|
46
|
-
strictConsoleErrors: boolean;
|
|
47
|
-
strictNetworkFailures: boolean;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
export declare function acceptanceProofApplies(input: {
|
|
51
|
-
config: CodexOrchestratorConfig;
|
|
52
|
-
issue: GitHubIssue;
|
|
53
|
-
changedFiles: string[];
|
|
54
|
-
}, proofStrategy: ReturnType<typeof resolveAcceptanceProofStrategy>['strategy'], desirable: boolean): boolean;
|
|
55
|
-
export declare function proofStrategyDispatchTarget(input: {
|
|
56
|
-
config: CodexOrchestratorConfig;
|
|
57
|
-
issue: GitHubIssue;
|
|
58
|
-
changedFiles: string[];
|
|
59
|
-
}, proofStrategy: ReturnType<typeof resolveAcceptanceProofStrategy>['strategy']): VisualProofDispatchTarget;
|
|
60
|
-
export declare function changedFilesVisualDispatchTarget(input: {
|
|
61
|
-
config: CodexOrchestratorConfig;
|
|
62
|
-
issue: GitHubIssue;
|
|
63
|
-
changedFiles: string[];
|
|
64
|
-
}): VisualProofDispatchTarget;
|
|
65
|
-
export declare function proofPlanDispatchTarget(proofPlan: ProofPlan): VisualProofDispatchTarget;
|
|
66
|
-
export declare function isNonVisualProofMode(mode: ProofPlanMode): boolean;
|
|
67
|
-
export declare function visualStrategyDowngradeBlocker(target: Exclude<VisualProofDispatchTarget, 'none'>): string;
|
|
68
|
-
export declare function visualProofDesirable(input: {
|
|
69
|
-
config: CodexOrchestratorConfig;
|
|
70
|
-
issue: GitHubIssue;
|
|
71
|
-
changedFiles: string[];
|
|
72
|
-
}, proofStrategy: ReturnType<typeof resolveAcceptanceProofStrategy>['strategy']): boolean;
|
|
73
|
-
//# sourceMappingURL=proof-routing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-routing.d.ts","sourceRoot":"","sources":["../../../src/runner/proof-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { globMatches } from '../path-policy.js';
|
|
2
|
-
import { resolveAcceptanceProofStrategy } from './proof-strategy.js';
|
|
3
|
-
export function decideProofRouting(input) {
|
|
4
|
-
const proofStrategy = resolveAcceptanceProofStrategy({ config: input.config, issue: input.issue }).strategy;
|
|
5
|
-
const dispatchTarget = proofStrategyDispatchTarget(input, proofStrategy);
|
|
6
|
-
const desirable = visualProofDesirable(input, proofStrategy);
|
|
7
|
-
const applies = acceptanceProofApplies(input, proofStrategy, desirable);
|
|
8
|
-
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
9
|
-
return {
|
|
10
|
-
applies,
|
|
11
|
-
desirable,
|
|
12
|
-
dispatchTarget,
|
|
13
|
-
proofStrategy,
|
|
14
|
-
action: 'skip',
|
|
15
|
-
reason: 'proof strategy disables browser/mobile visual proof',
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
if (dispatchTarget === 'browser' || dispatchTarget === 'mobile') {
|
|
19
|
-
return {
|
|
20
|
-
applies,
|
|
21
|
-
desirable,
|
|
22
|
-
dispatchTarget,
|
|
23
|
-
proofStrategy,
|
|
24
|
-
action: 'dispatch',
|
|
25
|
-
reason: `${dispatchTarget} proof target matched`,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
if (applies && !desirable) {
|
|
29
|
-
return {
|
|
30
|
-
applies: true,
|
|
31
|
-
desirable,
|
|
32
|
-
dispatchTarget,
|
|
33
|
-
proofStrategy,
|
|
34
|
-
action: 'allow-non-visual',
|
|
35
|
-
reason: 'acceptance proof applies without browser or mobile dispatch',
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
if (applies || desirable) {
|
|
39
|
-
return {
|
|
40
|
-
applies,
|
|
41
|
-
desirable,
|
|
42
|
-
dispatchTarget,
|
|
43
|
-
proofStrategy,
|
|
44
|
-
action: 'error',
|
|
45
|
-
reason: 'visual proof is desirable but no browser or mobile dispatch target matched',
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
applies: false,
|
|
50
|
-
desirable,
|
|
51
|
-
dispatchTarget,
|
|
52
|
-
proofStrategy,
|
|
53
|
-
action: 'error',
|
|
54
|
-
reason: 'proof routing did not match issue text or changed paths',
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
export function shouldApplyVisualProofGate(input) {
|
|
58
|
-
return decideProofRouting(input).applies;
|
|
59
|
-
}
|
|
60
|
-
export function classifyVisualProofDispatchTarget(input) {
|
|
61
|
-
return decideProofRouting(input).dispatchTarget;
|
|
62
|
-
}
|
|
63
|
-
export function isVisualProofDesirable(input) {
|
|
64
|
-
return decideProofRouting(input).desirable;
|
|
65
|
-
}
|
|
66
|
-
export function runnerVisualProofPolicy(config) {
|
|
67
|
-
const visualProof = config.reviewGates.visualProof;
|
|
68
|
-
const acceptanceProof = config.reviewGates.acceptanceProof;
|
|
69
|
-
const commandTemplate = acceptanceProof.runnerValidationCommand?.trim();
|
|
70
|
-
return {
|
|
71
|
-
commandTemplate: commandTemplate || undefined,
|
|
72
|
-
artifactDir: acceptanceProof.artifactDir,
|
|
73
|
-
envPassthrough: acceptanceProof.envPassthrough ?? [],
|
|
74
|
-
timeoutMs: acceptanceProof.runnerTimeoutMs,
|
|
75
|
-
minScreenshotArtifacts: visualProof.minScreenshotArtifacts,
|
|
76
|
-
requireWhenDesirable: visualProof.requireWhenDesirable ?? false,
|
|
77
|
-
blockOnMissingProof: true,
|
|
78
|
-
browserProof: {
|
|
79
|
-
strictConsoleErrors: acceptanceProof.browserProof?.strictConsoleErrors ?? false,
|
|
80
|
-
strictNetworkFailures: acceptanceProof.browserProof?.strictNetworkFailures ?? false,
|
|
81
|
-
scenarioPath: acceptanceProof.browserProof?.scenarioPath,
|
|
82
|
-
baseUrl: acceptanceProof.browserProof?.baseUrl,
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
export function acceptanceProofApplies(input, proofStrategy, desirable) {
|
|
87
|
-
const acceptanceProof = input.config.reviewGates.acceptanceProof;
|
|
88
|
-
if (!acceptanceProof.enabled) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
if (proofStrategy === 'browser-visual' || proofStrategy === 'mobile-visual' || proofStrategy === 'visual') {
|
|
95
|
-
return true;
|
|
96
|
-
}
|
|
97
|
-
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
98
|
-
const internalRunnerProofOnlyChange = input.changedFiles.length > 0
|
|
99
|
-
&& input.changedFiles.every(isInternalRunnerProofPath);
|
|
100
|
-
const issueNeedsAcceptanceProof = !internalRunnerProofOnlyChange
|
|
101
|
-
&& acceptanceProof.issueTextPatterns.some((pattern) => regexMatches(pattern, issueText));
|
|
102
|
-
const changedAcceptanceProofFiles = input.changedFiles.some((path) => acceptanceProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
|
|
103
|
-
return issueNeedsAcceptanceProof || changedAcceptanceProofFiles || desirable;
|
|
104
|
-
}
|
|
105
|
-
export function proofStrategyDispatchTarget(input, proofStrategy) {
|
|
106
|
-
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
107
|
-
return 'none';
|
|
108
|
-
}
|
|
109
|
-
if (proofStrategy === 'browser-visual') {
|
|
110
|
-
return 'browser';
|
|
111
|
-
}
|
|
112
|
-
if (proofStrategy === 'mobile-visual') {
|
|
113
|
-
return 'mobile';
|
|
114
|
-
}
|
|
115
|
-
return changedFilesVisualDispatchTarget(input);
|
|
116
|
-
}
|
|
117
|
-
export function changedFilesVisualDispatchTarget(input) {
|
|
118
|
-
const normalizedFiles = input.changedFiles.map((path) => path.replaceAll('\\', '/').replace(/^\.\//u, ''));
|
|
119
|
-
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
120
|
-
if (normalizedFiles.some(isMobileProofPath) || normalizedFiles.some((path) => isFlutterEntrypoint(path) && isMobileIssueText(issueText))) {
|
|
121
|
-
return 'mobile';
|
|
122
|
-
}
|
|
123
|
-
if (normalizedFiles.some((path) => input.config.reviewGates.visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)))) {
|
|
124
|
-
return 'browser';
|
|
125
|
-
}
|
|
126
|
-
return 'none';
|
|
127
|
-
}
|
|
128
|
-
export function proofPlanDispatchTarget(proofPlan) {
|
|
129
|
-
if (proofPlan.mode === 'browser-visual') {
|
|
130
|
-
return 'browser';
|
|
131
|
-
}
|
|
132
|
-
if (proofPlan.mode === 'mobile-visual') {
|
|
133
|
-
return 'mobile';
|
|
134
|
-
}
|
|
135
|
-
return 'none';
|
|
136
|
-
}
|
|
137
|
-
export function isNonVisualProofMode(mode) {
|
|
138
|
-
return mode === 'non-visual-smoke' || mode === 'cli' || mode === 'api' || mode === 'worker';
|
|
139
|
-
}
|
|
140
|
-
export function visualStrategyDowngradeBlocker(target) {
|
|
141
|
-
return `Invalid proofPlan: non-visual proof cannot satisfy ${target} visual strategy`;
|
|
142
|
-
}
|
|
143
|
-
export function visualProofDesirable(input, proofStrategy) {
|
|
144
|
-
const visualProof = input.config.reviewGates.visualProof;
|
|
145
|
-
if (!visualProof.enabled) {
|
|
146
|
-
return false;
|
|
147
|
-
}
|
|
148
|
-
const issueText = `${input.issue.title}\n${input.issue.body}`;
|
|
149
|
-
const command = runnerVisualProofPolicy(input.config).commandTemplate;
|
|
150
|
-
if (proofStrategy === 'none' || proofStrategy === 'non-visual-smoke') {
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
if (proofStrategy === 'browser-visual' || proofStrategy === 'mobile-visual' || proofStrategy === 'visual') {
|
|
154
|
-
return Boolean(command);
|
|
155
|
-
}
|
|
156
|
-
const internalRunnerProofOnlyChange = input.changedFiles.length > 0
|
|
157
|
-
&& input.changedFiles.every(isInternalRunnerProofPath);
|
|
158
|
-
const issueNeedsVisualProof = visualProof.enabled
|
|
159
|
-
&& !internalRunnerProofOnlyChange
|
|
160
|
-
&& visualProof.issueTextPatterns.some((pattern) => regexMatches(pattern, issueText));
|
|
161
|
-
const changedProofFiles = input.changedFiles.filter((path) => visualProof.changedPathGlobs.some((pattern) => globMatches(pattern, path)));
|
|
162
|
-
return issueNeedsVisualProof || changedProofFiles.length > 0;
|
|
163
|
-
}
|
|
164
|
-
function isInternalRunnerProofPath(path) {
|
|
165
|
-
return /^src\/runner\/(?:acceptance-proof|proof-routing|visual-proof-runner)\.ts$/u.test(path)
|
|
166
|
-
|| /^test\/(?:acceptance-proof|visual-proof-runner)\.test\.ts$/u.test(path);
|
|
167
|
-
}
|
|
168
|
-
function isMobileProofPath(path) {
|
|
169
|
-
return /^(?:android|ios)\//u.test(path)
|
|
170
|
-
|| /\.(?:xcodeproj|xcworkspace)\//u.test(path)
|
|
171
|
-
|| /(?:^|\/)(?:build\.gradle|build\.gradle\.kts|gradlew|gradlew\.bat)$/u.test(path);
|
|
172
|
-
}
|
|
173
|
-
function isFlutterEntrypoint(path) {
|
|
174
|
-
return path === 'pubspec.yaml' || /^lib\/.+\.dart$/u.test(path);
|
|
175
|
-
}
|
|
176
|
-
function isMobileIssueText(text) {
|
|
177
|
-
return /\b(?:android|ios|iphone|ipad|flutter|mobile|emulator|apk|aab|dart)\b/iu.test(text);
|
|
178
|
-
}
|
|
179
|
-
function regexMatches(pattern, text) {
|
|
180
|
-
return new RegExp(pattern, 'iu').test(text);
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=proof-routing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-routing.js","sourceRoot":"","sources":["../../../src/runner/proof-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type AcceptanceProofStrategy, type CodexOrchestratorConfig } from '../config/schema.js';
|
|
2
|
-
import type { GitHubIssue } from '../github/issues.js';
|
|
3
|
-
export interface ResolvedProofStrategy {
|
|
4
|
-
strategy: AcceptanceProofStrategy;
|
|
5
|
-
source: 'issue contract' | 'config default';
|
|
6
|
-
}
|
|
7
|
-
export type AcceptanceProofRequirement = Exclude<AcceptanceProofStrategy, 'auto'>;
|
|
8
|
-
export interface ResolvedAcceptanceProofRequirement {
|
|
9
|
-
mode: AcceptanceProofRequirement | null;
|
|
10
|
-
source: ResolvedProofStrategy['source'];
|
|
11
|
-
}
|
|
12
|
-
export declare function resolveAcceptanceProofStrategy(input: {
|
|
13
|
-
config: CodexOrchestratorConfig;
|
|
14
|
-
issue: GitHubIssue;
|
|
15
|
-
}): ResolvedProofStrategy;
|
|
16
|
-
export declare function resolveAcceptanceProofRequirement(input: {
|
|
17
|
-
config: CodexOrchestratorConfig;
|
|
18
|
-
issue: GitHubIssue;
|
|
19
|
-
}): ResolvedAcceptanceProofRequirement;
|
|
20
|
-
export declare function parseIssueProofStrategy(text: string): AcceptanceProofStrategy | undefined;
|
|
21
|
-
//# sourceMappingURL=proof-strategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-strategy.d.ts","sourceRoot":"","sources":["../../../src/runner/proof-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC5H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CAC7C;AAED,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACxC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;CACzC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;CACpB,GAAG,qBAAqB,CASxB;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;CACpB,GAAG,kCAAkC,CAMrC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAQzF"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { acceptanceProofStrategies } from '../config/schema.js';
|
|
2
|
-
export function resolveAcceptanceProofStrategy(input) {
|
|
3
|
-
const explicit = parseIssueProofStrategy(`${input.issue.title}\n${input.issue.body}`);
|
|
4
|
-
if (explicit) {
|
|
5
|
-
return { strategy: explicit, source: 'issue contract' };
|
|
6
|
-
}
|
|
7
|
-
return {
|
|
8
|
-
strategy: input.config.reviewGates.acceptanceProof.proofStrategy,
|
|
9
|
-
source: 'config default',
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
export function resolveAcceptanceProofRequirement(input) {
|
|
13
|
-
const resolved = resolveAcceptanceProofStrategy(input);
|
|
14
|
-
return {
|
|
15
|
-
mode: resolved.strategy === 'auto' ? null : resolved.strategy,
|
|
16
|
-
source: resolved.source,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
export function parseIssueProofStrategy(text) {
|
|
20
|
-
const match = text.match(/(?:^|\n)\s*(?:[-*]\s*)?(?:\*\*)?(?:proof\s*strategy|proofStrategy)(?:\*\*)?\s*:\s*([a-z-]+)\s*(?:\n|$)/iu);
|
|
21
|
-
const value = match?.[1]?.toLowerCase();
|
|
22
|
-
return acceptanceProofStrategies.includes(value)
|
|
23
|
-
? value
|
|
24
|
-
: undefined;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=proof-strategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proof-strategy.js","sourceRoot":"","sources":["../../../src/runner/proof-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA8D,MAAM,qBAAqB,CAAC;AAe5H,MAAM,UAAU,8BAA8B,CAAC,KAG9C;IACC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa;QAChE,MAAM,EAAE,gBAAgB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAGjD;IACC,MAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ;QAC7D,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,0GAA0G,CAC3G,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACxC,OAAO,yBAAyB,CAAC,QAAQ,CAAC,KAAgC,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { CodexOrchestratorConfig } from '../config/schema.js';
|
|
2
|
-
import type { GitHubIssueAdapter } from '../github/issues.js';
|
|
3
|
-
import { type RunnerMode } from './issue-state-machine.js';
|
|
4
|
-
import type { RunnerStateStore } from './local-state.js';
|
|
5
|
-
export type RecoveryStatus = 'active' | 'unknown-or-foreign' | 'completed-pending-handoff' | 'failed-pending-block' | 'stale' | 'missing' | 'completed' | 'closed-missing-evidence' | 'waiting-for-clarification' | 'clarification-resumable';
|
|
6
|
-
export interface RecoveryEntry {
|
|
7
|
-
issueNumber: number;
|
|
8
|
-
mode: RunnerMode;
|
|
9
|
-
status: RecoveryStatus;
|
|
10
|
-
reason: string;
|
|
11
|
-
workspacePath: string;
|
|
12
|
-
sessionId: string;
|
|
13
|
-
retryCount: number;
|
|
14
|
-
}
|
|
15
|
-
export interface ReconcileRunnerStateInput {
|
|
16
|
-
store: RunnerStateStore;
|
|
17
|
-
issueAdapter: GitHubIssueAdapter;
|
|
18
|
-
config: CodexOrchestratorConfig;
|
|
19
|
-
now: Date;
|
|
20
|
-
targetRoot?: string;
|
|
21
|
-
allowClarificationResume?: boolean;
|
|
22
|
-
updateLocalState?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export declare function reconcileRunnerState(input: ReconcileRunnerStateInput): Promise<RecoveryEntry[]>;
|
|
25
|
-
//# sourceMappingURL=recovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../../src/runner/recovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,oBAAoB,GACpB,2BAA2B,GAC3B,sBAAsB,GACtB,OAAO,GACP,SAAS,GACT,WAAW,GACX,yBAAyB,GACzB,2BAA2B,GAC3B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,GAAG,EAAE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAeD,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAwDrG"}
|