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.
Files changed (570) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +45 -389
  3. package/dist/src/index.d.ts +16 -46
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +8 -24
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/v2/acceptance-proof.d.ts +111 -0
  8. package/dist/src/v2/acceptance-proof.d.ts.map +1 -0
  9. package/dist/src/v2/acceptance-proof.js +427 -0
  10. package/dist/src/v2/acceptance-proof.js.map +1 -0
  11. package/dist/src/v2/adapters/command.d.ts.map +1 -0
  12. package/dist/src/v2/adapters/command.js.map +1 -0
  13. package/dist/src/v2/adapters/durable-atomic-file.d.ts.map +1 -0
  14. package/dist/src/v2/adapters/durable-atomic-file.js.map +1 -0
  15. package/dist/src/v2/adapters/gh-cli.d.ts.map +1 -0
  16. package/dist/src/v2/adapters/gh-cli.js.map +1 -0
  17. package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -0
  18. package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -0
  19. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -0
  20. package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -0
  21. package/dist/src/v2/adapters/issues.d.ts.map +1 -0
  22. package/dist/src/v2/adapters/issues.js.map +1 -0
  23. package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -0
  24. package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -0
  25. package/dist/src/v2/adapters/path-policy.d.ts.map +1 -0
  26. package/dist/src/v2/adapters/path-policy.js.map +1 -0
  27. package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -0
  28. package/dist/src/v2/adapters/pull-requests.js.map +1 -0
  29. package/dist/src/v2/adapters/target-activity-fence.d.ts.map +1 -0
  30. package/dist/src/{runner → v2/adapters}/target-activity-fence.js +1 -1
  31. package/dist/src/v2/adapters/target-activity-fence.js.map +1 -0
  32. package/dist/src/{git → v2/adapters}/worktree.d.ts +1 -1
  33. package/dist/src/v2/adapters/worktree.d.ts.map +1 -0
  34. package/dist/src/{git → v2/adapters}/worktree.js +2 -2
  35. package/dist/src/v2/adapters/worktree.js.map +1 -0
  36. package/dist/src/v2/atomic-store.d.ts +36 -0
  37. package/dist/src/v2/atomic-store.d.ts.map +1 -0
  38. package/dist/src/v2/atomic-store.js +328 -0
  39. package/dist/src/v2/atomic-store.js.map +1 -0
  40. package/dist/src/v2/candidate-cli.d.ts +22 -0
  41. package/dist/src/v2/candidate-cli.d.ts.map +1 -0
  42. package/dist/src/v2/candidate-cli.js +161 -0
  43. package/dist/src/v2/candidate-cli.js.map +1 -0
  44. package/dist/src/v2/checked-change.d.ts +49 -0
  45. package/dist/src/v2/checked-change.d.ts.map +1 -0
  46. package/dist/src/v2/checked-change.js +139 -0
  47. package/dist/src/v2/checked-change.js.map +1 -0
  48. package/dist/src/v2/cli-contract.d.ts +8 -0
  49. package/dist/src/v2/cli-contract.d.ts.map +1 -0
  50. package/dist/src/v2/cli-contract.js +32 -0
  51. package/dist/src/v2/cli-contract.js.map +1 -0
  52. package/dist/src/v2/codex-process.d.ts +71 -0
  53. package/dist/src/v2/codex-process.d.ts.map +1 -0
  54. package/dist/src/v2/codex-process.js +404 -0
  55. package/dist/src/v2/codex-process.js.map +1 -0
  56. package/dist/src/v2/config.d.ts +45 -0
  57. package/dist/src/v2/config.d.ts.map +1 -0
  58. package/dist/src/v2/config.js +139 -0
  59. package/dist/src/v2/config.js.map +1 -0
  60. package/dist/src/v2/containment.d.ts +55 -0
  61. package/dist/src/v2/containment.d.ts.map +1 -0
  62. package/dist/src/v2/containment.js +370 -0
  63. package/dist/src/v2/containment.js.map +1 -0
  64. package/dist/src/v2/implementation-report.d.ts +18 -0
  65. package/dist/src/v2/implementation-report.d.ts.map +1 -0
  66. package/dist/src/v2/implementation-report.js +147 -0
  67. package/dist/src/v2/implementation-report.js.map +1 -0
  68. package/dist/src/v2/legacy-cutover.d.ts +52 -0
  69. package/dist/src/v2/legacy-cutover.d.ts.map +1 -0
  70. package/dist/src/v2/legacy-cutover.js +87 -0
  71. package/dist/src/v2/legacy-cutover.js.map +1 -0
  72. package/dist/src/v2/mobile-lease.d.ts +97 -0
  73. package/dist/src/v2/mobile-lease.d.ts.map +1 -0
  74. package/dist/src/v2/mobile-lease.js +253 -0
  75. package/dist/src/v2/mobile-lease.js.map +1 -0
  76. package/dist/src/v2/proof-report.d.ts +118 -0
  77. package/dist/src/v2/proof-report.d.ts.map +1 -0
  78. package/dist/src/v2/proof-report.js +703 -0
  79. package/dist/src/v2/proof-report.js.map +1 -0
  80. package/dist/src/v2/proof-store.d.ts +42 -0
  81. package/dist/src/v2/proof-store.d.ts.map +1 -0
  82. package/dist/src/v2/proof-store.js +180 -0
  83. package/dist/src/v2/proof-store.js.map +1 -0
  84. package/dist/src/v2/report-envelope.d.ts +4 -0
  85. package/dist/src/v2/report-envelope.d.ts.map +1 -0
  86. package/dist/src/v2/report-envelope.js +46 -0
  87. package/dist/src/v2/report-envelope.js.map +1 -0
  88. package/dist/src/v2/run-issue.d.ts +213 -0
  89. package/dist/src/v2/run-issue.d.ts.map +1 -0
  90. package/dist/src/v2/run-issue.js +906 -0
  91. package/dist/src/v2/run-issue.js.map +1 -0
  92. package/dist/src/v2/run-store.d.ts +136 -0
  93. package/dist/src/v2/run-store.d.ts.map +1 -0
  94. package/dist/src/v2/run-store.js +346 -0
  95. package/dist/src/v2/run-store.js.map +1 -0
  96. package/dist/src/v2/runtime-assets.d.ts +31 -0
  97. package/dist/src/v2/runtime-assets.d.ts.map +1 -0
  98. package/dist/src/v2/runtime-assets.js +473 -0
  99. package/dist/src/v2/runtime-assets.js.map +1 -0
  100. package/dist/src/v2/runtime.d.ts +137 -0
  101. package/dist/src/v2/runtime.d.ts.map +1 -0
  102. package/dist/src/v2/runtime.js +847 -0
  103. package/dist/src/v2/runtime.js.map +1 -0
  104. package/dist/src/v2/setup-cli.d.ts +5 -0
  105. package/dist/src/v2/setup-cli.d.ts.map +1 -0
  106. package/dist/src/v2/setup-cli.js +83 -0
  107. package/dist/src/v2/setup-cli.js.map +1 -0
  108. package/dist/src/v2/setup-runtime.d.ts +6 -0
  109. package/dist/src/v2/setup-runtime.d.ts.map +1 -0
  110. package/dist/src/v2/setup-runtime.js +213 -0
  111. package/dist/src/v2/setup-runtime.js.map +1 -0
  112. package/dist/src/v2/setup-store.d.ts +19 -0
  113. package/dist/src/v2/setup-store.d.ts.map +1 -0
  114. package/dist/src/v2/setup-store.js +208 -0
  115. package/dist/src/v2/setup-store.js.map +1 -0
  116. package/dist/src/v2/setup.d.ts +147 -0
  117. package/dist/src/v2/setup.d.ts.map +1 -0
  118. package/dist/src/v2/setup.js +529 -0
  119. package/dist/src/v2/setup.js.map +1 -0
  120. package/docs/deep-dive.md +54 -803
  121. package/internal-skills/acceptance-proof/SKILL.md +14 -0
  122. package/internal-skills/acceptance-proof/references/android.md +14 -0
  123. package/internal-skills/acceptance-proof/references/browser.md +13 -0
  124. package/internal-skills/acceptance-proof/references/ios.md +14 -0
  125. package/internal-skills/acceptance-proof/tools/android-lease.mjs +280 -0
  126. package/internal-skills/acceptance-proof/tools/ios-lease.mjs +288 -0
  127. package/internal-skills/agent-auto/SKILL.md +14 -0
  128. package/package.json +11 -18
  129. package/bridge-runtime.json +0 -2719
  130. package/dist/src/bridge-runtime.d.ts +0 -17
  131. package/dist/src/bridge-runtime.d.ts.map +0 -1
  132. package/dist/src/bridge-runtime.js +0 -170
  133. package/dist/src/bridge-runtime.js.map +0 -1
  134. package/dist/src/cli.d.ts +0 -3
  135. package/dist/src/cli.d.ts.map +0 -1
  136. package/dist/src/cli.js +0 -569
  137. package/dist/src/cli.js.map +0 -1
  138. package/dist/src/codex/command-adapter.d.ts +0 -47
  139. package/dist/src/codex/command-adapter.d.ts.map +0 -1
  140. package/dist/src/codex/command-adapter.js +0 -169
  141. package/dist/src/codex/command-adapter.js.map +0 -1
  142. package/dist/src/codex/mobile-device-guard.d.ts +0 -7
  143. package/dist/src/codex/mobile-device-guard.d.ts.map +0 -1
  144. package/dist/src/codex/mobile-device-guard.js +0 -63
  145. package/dist/src/codex/mobile-device-guard.js.map +0 -1
  146. package/dist/src/config/constants.d.ts +0 -6
  147. package/dist/src/config/constants.d.ts.map +0 -1
  148. package/dist/src/config/constants.js +0 -19
  149. package/dist/src/config/constants.js.map +0 -1
  150. package/dist/src/config/schema.d.ts +0 -234
  151. package/dist/src/config/schema.d.ts.map +0 -1
  152. package/dist/src/config/schema.js +0 -673
  153. package/dist/src/config/schema.js.map +0 -1
  154. package/dist/src/fs/durable-atomic-file.d.ts.map +0 -1
  155. package/dist/src/fs/durable-atomic-file.js.map +0 -1
  156. package/dist/src/git/base-branch.d.ts +0 -26
  157. package/dist/src/git/base-branch.d.ts.map +0 -1
  158. package/dist/src/git/base-branch.js +0 -45
  159. package/dist/src/git/base-branch.js.map +0 -1
  160. package/dist/src/git/worktree.d.ts.map +0 -1
  161. package/dist/src/git/worktree.js.map +0 -1
  162. package/dist/src/github/gh-cli.d.ts.map +0 -1
  163. package/dist/src/github/gh-cli.js.map +0 -1
  164. package/dist/src/github/gh-issue-adapter.d.ts.map +0 -1
  165. package/dist/src/github/gh-issue-adapter.js.map +0 -1
  166. package/dist/src/github/gh-pull-request-adapter.d.ts.map +0 -1
  167. package/dist/src/github/gh-pull-request-adapter.js.map +0 -1
  168. package/dist/src/github/issues.d.ts.map +0 -1
  169. package/dist/src/github/issues.js.map +0 -1
  170. package/dist/src/github/pull-requests.d.ts.map +0 -1
  171. package/dist/src/github/pull-requests.js.map +0 -1
  172. package/dist/src/package-info.d.ts +0 -6
  173. package/dist/src/package-info.d.ts.map +0 -1
  174. package/dist/src/package-info.js +0 -13
  175. package/dist/src/package-info.js.map +0 -1
  176. package/dist/src/path-policy.d.ts.map +0 -1
  177. package/dist/src/path-policy.js.map +0 -1
  178. package/dist/src/process/command.d.ts.map +0 -1
  179. package/dist/src/process/command.js.map +0 -1
  180. package/dist/src/review-handoff.d.ts +0 -3
  181. package/dist/src/review-handoff.d.ts.map +0 -1
  182. package/dist/src/review-handoff.js +0 -8
  183. package/dist/src/review-handoff.js.map +0 -1
  184. package/dist/src/runner/acceptance-proof-loop.d.ts +0 -97
  185. package/dist/src/runner/acceptance-proof-loop.d.ts.map +0 -1
  186. package/dist/src/runner/acceptance-proof-loop.js +0 -404
  187. package/dist/src/runner/acceptance-proof-loop.js.map +0 -1
  188. package/dist/src/runner/acceptance-proof-runner.d.ts +0 -24
  189. package/dist/src/runner/acceptance-proof-runner.d.ts.map +0 -1
  190. package/dist/src/runner/acceptance-proof-runner.js +0 -121
  191. package/dist/src/runner/acceptance-proof-runner.js.map +0 -1
  192. package/dist/src/runner/acceptance-proof.d.ts +0 -189
  193. package/dist/src/runner/acceptance-proof.d.ts.map +0 -1
  194. package/dist/src/runner/acceptance-proof.js +0 -594
  195. package/dist/src/runner/acceptance-proof.js.map +0 -1
  196. package/dist/src/runner/agent-attempt.d.ts +0 -105
  197. package/dist/src/runner/agent-attempt.d.ts.map +0 -1
  198. package/dist/src/runner/agent-attempt.js +0 -245
  199. package/dist/src/runner/agent-attempt.js.map +0 -1
  200. package/dist/src/runner/android-visual-proof-command.d.ts +0 -26
  201. package/dist/src/runner/android-visual-proof-command.d.ts.map +0 -1
  202. package/dist/src/runner/android-visual-proof-command.js +0 -592
  203. package/dist/src/runner/android-visual-proof-command.js.map +0 -1
  204. package/dist/src/runner/auto-visual-proof-command.d.ts +0 -15
  205. package/dist/src/runner/auto-visual-proof-command.d.ts.map +0 -1
  206. package/dist/src/runner/auto-visual-proof-command.js +0 -64
  207. package/dist/src/runner/auto-visual-proof-command.js.map +0 -1
  208. package/dist/src/runner/browser-proof-contract.d.ts +0 -134
  209. package/dist/src/runner/browser-proof-contract.d.ts.map +0 -1
  210. package/dist/src/runner/browser-proof-contract.js +0 -400
  211. package/dist/src/runner/browser-proof-contract.js.map +0 -1
  212. package/dist/src/runner/browser-visual-proof-command.d.ts +0 -101
  213. package/dist/src/runner/browser-visual-proof-command.d.ts.map +0 -1
  214. package/dist/src/runner/browser-visual-proof-command.js +0 -532
  215. package/dist/src/runner/browser-visual-proof-command.js.map +0 -1
  216. package/dist/src/runner/command-utils.d.ts +0 -15
  217. package/dist/src/runner/command-utils.d.ts.map +0 -1
  218. package/dist/src/runner/command-utils.js +0 -228
  219. package/dist/src/runner/command-utils.js.map +0 -1
  220. package/dist/src/runner/completion-report.d.ts +0 -121
  221. package/dist/src/runner/completion-report.d.ts.map +0 -1
  222. package/dist/src/runner/completion-report.js +0 -381
  223. package/dist/src/runner/completion-report.js.map +0 -1
  224. package/dist/src/runner/context-snapshot.d.ts +0 -33
  225. package/dist/src/runner/context-snapshot.d.ts.map +0 -1
  226. package/dist/src/runner/context-snapshot.js +0 -99
  227. package/dist/src/runner/context-snapshot.js.map +0 -1
  228. package/dist/src/runner/daemon-command.d.ts +0 -30
  229. package/dist/src/runner/daemon-command.d.ts.map +0 -1
  230. package/dist/src/runner/daemon-command.js +0 -262
  231. package/dist/src/runner/daemon-command.js.map +0 -1
  232. package/dist/src/runner/doctor-command.d.ts +0 -41
  233. package/dist/src/runner/doctor-command.d.ts.map +0 -1
  234. package/dist/src/runner/doctor-command.js +0 -177
  235. package/dist/src/runner/doctor-command.js.map +0 -1
  236. package/dist/src/runner/durable-run-summary.d.ts +0 -80
  237. package/dist/src/runner/durable-run-summary.d.ts.map +0 -1
  238. package/dist/src/runner/durable-run-summary.js +0 -200
  239. package/dist/src/runner/durable-run-summary.js.map +0 -1
  240. package/dist/src/runner/flutter-sdk-discovery.d.ts +0 -5
  241. package/dist/src/runner/flutter-sdk-discovery.d.ts.map +0 -1
  242. package/dist/src/runner/flutter-sdk-discovery.js +0 -103
  243. package/dist/src/runner/flutter-sdk-discovery.js.map +0 -1
  244. package/dist/src/runner/fresh-context-review.d.ts +0 -22
  245. package/dist/src/runner/fresh-context-review.d.ts.map +0 -1
  246. package/dist/src/runner/fresh-context-review.js +0 -177
  247. package/dist/src/runner/fresh-context-review.js.map +0 -1
  248. package/dist/src/runner/handoff-evidence.d.ts +0 -141
  249. package/dist/src/runner/handoff-evidence.d.ts.map +0 -1
  250. package/dist/src/runner/handoff-evidence.js +0 -543
  251. package/dist/src/runner/handoff-evidence.js.map +0 -1
  252. package/dist/src/runner/hygiene-cleanup.d.ts +0 -15
  253. package/dist/src/runner/hygiene-cleanup.d.ts.map +0 -1
  254. package/dist/src/runner/hygiene-cleanup.js +0 -25
  255. package/dist/src/runner/hygiene-cleanup.js.map +0 -1
  256. package/dist/src/runner/ios-visual-proof-command.d.ts +0 -25
  257. package/dist/src/runner/ios-visual-proof-command.d.ts.map +0 -1
  258. package/dist/src/runner/ios-visual-proof-command.js +0 -353
  259. package/dist/src/runner/ios-visual-proof-command.js.map +0 -1
  260. package/dist/src/runner/issue-state-machine.d.ts +0 -39
  261. package/dist/src/runner/issue-state-machine.d.ts.map +0 -1
  262. package/dist/src/runner/issue-state-machine.js +0 -124
  263. package/dist/src/runner/issue-state-machine.js.map +0 -1
  264. package/dist/src/runner/issue-tree.d.ts +0 -65
  265. package/dist/src/runner/issue-tree.d.ts.map +0 -1
  266. package/dist/src/runner/issue-tree.js +0 -474
  267. package/dist/src/runner/issue-tree.js.map +0 -1
  268. package/dist/src/runner/lifecycle-events.d.ts +0 -44
  269. package/dist/src/runner/lifecycle-events.d.ts.map +0 -1
  270. package/dist/src/runner/lifecycle-events.js +0 -108
  271. package/dist/src/runner/lifecycle-events.js.map +0 -1
  272. package/dist/src/runner/local-execution-session.d.ts +0 -112
  273. package/dist/src/runner/local-execution-session.d.ts.map +0 -1
  274. package/dist/src/runner/local-execution-session.js +0 -1064
  275. package/dist/src/runner/local-execution-session.js.map +0 -1
  276. package/dist/src/runner/local-state.d.ts +0 -44
  277. package/dist/src/runner/local-state.d.ts.map +0 -1
  278. package/dist/src/runner/local-state.js +0 -150
  279. package/dist/src/runner/local-state.js.map +0 -1
  280. package/dist/src/runner/mission-activation.d.ts +0 -29
  281. package/dist/src/runner/mission-activation.d.ts.map +0 -1
  282. package/dist/src/runner/mission-activation.js +0 -54
  283. package/dist/src/runner/mission-activation.js.map +0 -1
  284. package/dist/src/runner/mission-agent-broker.d.ts +0 -53
  285. package/dist/src/runner/mission-agent-broker.d.ts.map +0 -1
  286. package/dist/src/runner/mission-agent-broker.js +0 -182
  287. package/dist/src/runner/mission-agent-broker.js.map +0 -1
  288. package/dist/src/runner/mission-cancellation.d.ts +0 -77
  289. package/dist/src/runner/mission-cancellation.d.ts.map +0 -1
  290. package/dist/src/runner/mission-cancellation.js +0 -180
  291. package/dist/src/runner/mission-cancellation.js.map +0 -1
  292. package/dist/src/runner/mission-canonical-path.d.ts +0 -34
  293. package/dist/src/runner/mission-canonical-path.d.ts.map +0 -1
  294. package/dist/src/runner/mission-canonical-path.js +0 -121
  295. package/dist/src/runner/mission-canonical-path.js.map +0 -1
  296. package/dist/src/runner/mission-capability-kernel.d.ts +0 -34
  297. package/dist/src/runner/mission-capability-kernel.d.ts.map +0 -1
  298. package/dist/src/runner/mission-capability-kernel.js +0 -158
  299. package/dist/src/runner/mission-capability-kernel.js.map +0 -1
  300. package/dist/src/runner/mission-check-policy.d.ts +0 -17
  301. package/dist/src/runner/mission-check-policy.d.ts.map +0 -1
  302. package/dist/src/runner/mission-check-policy.js +0 -31
  303. package/dist/src/runner/mission-check-policy.js.map +0 -1
  304. package/dist/src/runner/mission-coordinator-lock.d.ts.map +0 -1
  305. package/dist/src/runner/mission-coordinator-lock.js.map +0 -1
  306. package/dist/src/runner/mission-deployment.d.ts +0 -21
  307. package/dist/src/runner/mission-deployment.d.ts.map +0 -1
  308. package/dist/src/runner/mission-deployment.js +0 -108
  309. package/dist/src/runner/mission-deployment.js.map +0 -1
  310. package/dist/src/runner/mission-evaluation.d.ts +0 -61
  311. package/dist/src/runner/mission-evaluation.d.ts.map +0 -1
  312. package/dist/src/runner/mission-evaluation.js +0 -183
  313. package/dist/src/runner/mission-evaluation.js.map +0 -1
  314. package/dist/src/runner/mission-executor-probe.d.ts +0 -10
  315. package/dist/src/runner/mission-executor-probe.d.ts.map +0 -1
  316. package/dist/src/runner/mission-executor-probe.js +0 -180
  317. package/dist/src/runner/mission-executor-probe.js.map +0 -1
  318. package/dist/src/runner/mission-git-contracts.d.ts +0 -75
  319. package/dist/src/runner/mission-git-contracts.d.ts.map +0 -1
  320. package/dist/src/runner/mission-git-contracts.js +0 -201
  321. package/dist/src/runner/mission-git-contracts.js.map +0 -1
  322. package/dist/src/runner/mission-git-runtime-owner-ref.d.ts +0 -13
  323. package/dist/src/runner/mission-git-runtime-owner-ref.d.ts.map +0 -1
  324. package/dist/src/runner/mission-git-runtime-owner-ref.js +0 -111
  325. package/dist/src/runner/mission-git-runtime-owner-ref.js.map +0 -1
  326. package/dist/src/runner/mission-git-transaction.d.ts +0 -97
  327. package/dist/src/runner/mission-git-transaction.d.ts.map +0 -1
  328. package/dist/src/runner/mission-git-transaction.js +0 -1009
  329. package/dist/src/runner/mission-git-transaction.js.map +0 -1
  330. package/dist/src/runner/mission-identifiers.d.ts +0 -31
  331. package/dist/src/runner/mission-identifiers.d.ts.map +0 -1
  332. package/dist/src/runner/mission-identifiers.js +0 -75
  333. package/dist/src/runner/mission-identifiers.js.map +0 -1
  334. package/dist/src/runner/mission-input-snapshot.d.ts +0 -21
  335. package/dist/src/runner/mission-input-snapshot.d.ts.map +0 -1
  336. package/dist/src/runner/mission-input-snapshot.js +0 -63
  337. package/dist/src/runner/mission-input-snapshot.js.map +0 -1
  338. package/dist/src/runner/mission-ownership.d.ts +0 -38
  339. package/dist/src/runner/mission-ownership.d.ts.map +0 -1
  340. package/dist/src/runner/mission-ownership.js +0 -88
  341. package/dist/src/runner/mission-ownership.js.map +0 -1
  342. package/dist/src/runner/mission-patch-audit.d.ts +0 -21
  343. package/dist/src/runner/mission-patch-audit.d.ts.map +0 -1
  344. package/dist/src/runner/mission-patch-audit.js +0 -186
  345. package/dist/src/runner/mission-patch-audit.js.map +0 -1
  346. package/dist/src/runner/mission-path-language.d.ts +0 -6
  347. package/dist/src/runner/mission-path-language.d.ts.map +0 -1
  348. package/dist/src/runner/mission-path-language.js +0 -106
  349. package/dist/src/runner/mission-path-language.js.map +0 -1
  350. package/dist/src/runner/mission-permit-authority.d.ts +0 -26
  351. package/dist/src/runner/mission-permit-authority.d.ts.map +0 -1
  352. package/dist/src/runner/mission-permit-authority.js +0 -145
  353. package/dist/src/runner/mission-permit-authority.js.map +0 -1
  354. package/dist/src/runner/mission-plan-parent-coordinator.d.ts +0 -87
  355. package/dist/src/runner/mission-plan-parent-coordinator.d.ts.map +0 -1
  356. package/dist/src/runner/mission-plan-parent-coordinator.js +0 -441
  357. package/dist/src/runner/mission-plan-parent-coordinator.js.map +0 -1
  358. package/dist/src/runner/mission-plan-parent.d.ts +0 -156
  359. package/dist/src/runner/mission-plan-parent.d.ts.map +0 -1
  360. package/dist/src/runner/mission-plan-parent.js +0 -589
  361. package/dist/src/runner/mission-plan-parent.js.map +0 -1
  362. package/dist/src/runner/mission-process-executor.d.ts +0 -25
  363. package/dist/src/runner/mission-process-executor.d.ts.map +0 -1
  364. package/dist/src/runner/mission-process-executor.js +0 -182
  365. package/dist/src/runner/mission-process-executor.js.map +0 -1
  366. package/dist/src/runner/mission-publication-git.d.ts +0 -21
  367. package/dist/src/runner/mission-publication-git.d.ts.map +0 -1
  368. package/dist/src/runner/mission-publication-git.js +0 -61
  369. package/dist/src/runner/mission-publication-git.js.map +0 -1
  370. package/dist/src/runner/mission-publication.d.ts +0 -192
  371. package/dist/src/runner/mission-publication.d.ts.map +0 -1
  372. package/dist/src/runner/mission-publication.js +0 -1001
  373. package/dist/src/runner/mission-publication.js.map +0 -1
  374. package/dist/src/runner/mission-quarantine-patch-executor.d.ts +0 -29
  375. package/dist/src/runner/mission-quarantine-patch-executor.d.ts.map +0 -1
  376. package/dist/src/runner/mission-quarantine-patch-executor.js +0 -121
  377. package/dist/src/runner/mission-quarantine-patch-executor.js.map +0 -1
  378. package/dist/src/runner/mission-repository-executor.d.ts +0 -54
  379. package/dist/src/runner/mission-repository-executor.d.ts.map +0 -1
  380. package/dist/src/runner/mission-repository-executor.js +0 -192
  381. package/dist/src/runner/mission-repository-executor.js.map +0 -1
  382. package/dist/src/runner/mission-repository-observer.d.ts +0 -8
  383. package/dist/src/runner/mission-repository-observer.d.ts.map +0 -1
  384. package/dist/src/runner/mission-repository-observer.js +0 -24
  385. package/dist/src/runner/mission-repository-observer.js.map +0 -1
  386. package/dist/src/runner/mission-reservations.d.ts +0 -15
  387. package/dist/src/runner/mission-reservations.d.ts.map +0 -1
  388. package/dist/src/runner/mission-reservations.js +0 -116
  389. package/dist/src/runner/mission-reservations.js.map +0 -1
  390. package/dist/src/runner/mission-resolution-loop.d.ts +0 -172
  391. package/dist/src/runner/mission-resolution-loop.d.ts.map +0 -1
  392. package/dist/src/runner/mission-resolution-loop.js +0 -318
  393. package/dist/src/runner/mission-resolution-loop.js.map +0 -1
  394. package/dist/src/runner/mission-runtime-owner.d.ts +0 -36
  395. package/dist/src/runner/mission-runtime-owner.d.ts.map +0 -1
  396. package/dist/src/runner/mission-runtime-owner.js +0 -174
  397. package/dist/src/runner/mission-runtime-owner.js.map +0 -1
  398. package/dist/src/runner/mission-safe-executor.d.ts +0 -96
  399. package/dist/src/runner/mission-safe-executor.d.ts.map +0 -1
  400. package/dist/src/runner/mission-safe-executor.js +0 -288
  401. package/dist/src/runner/mission-safe-executor.js.map +0 -1
  402. package/dist/src/runner/mission-sandbox.d.ts +0 -16
  403. package/dist/src/runner/mission-sandbox.d.ts.map +0 -1
  404. package/dist/src/runner/mission-sandbox.js +0 -91
  405. package/dist/src/runner/mission-sandbox.js.map +0 -1
  406. package/dist/src/runner/mission-scheduler.d.ts +0 -57
  407. package/dist/src/runner/mission-scheduler.d.ts.map +0 -1
  408. package/dist/src/runner/mission-scheduler.js +0 -205
  409. package/dist/src/runner/mission-scheduler.js.map +0 -1
  410. package/dist/src/runner/mission-scope-expansion.d.ts +0 -47
  411. package/dist/src/runner/mission-scope-expansion.d.ts.map +0 -1
  412. package/dist/src/runner/mission-scope-expansion.js +0 -147
  413. package/dist/src/runner/mission-scope-expansion.js.map +0 -1
  414. package/dist/src/runner/mission-state-machine.d.ts +0 -118
  415. package/dist/src/runner/mission-state-machine.d.ts.map +0 -1
  416. package/dist/src/runner/mission-state-machine.js +0 -316
  417. package/dist/src/runner/mission-state-machine.js.map +0 -1
  418. package/dist/src/runner/mission-state-store.d.ts +0 -70
  419. package/dist/src/runner/mission-state-store.d.ts.map +0 -1
  420. package/dist/src/runner/mission-state-store.js +0 -916
  421. package/dist/src/runner/mission-state-store.js.map +0 -1
  422. package/dist/src/runner/mobile-device-lease.d.ts +0 -11
  423. package/dist/src/runner/mobile-device-lease.d.ts.map +0 -1
  424. package/dist/src/runner/mobile-device-lease.js +0 -121
  425. package/dist/src/runner/mobile-device-lease.js.map +0 -1
  426. package/dist/src/runner/mobile-visual-proof-command.d.ts +0 -17
  427. package/dist/src/runner/mobile-visual-proof-command.d.ts.map +0 -1
  428. package/dist/src/runner/mobile-visual-proof-command.js +0 -168
  429. package/dist/src/runner/mobile-visual-proof-command.js.map +0 -1
  430. package/dist/src/runner/plan-auto-command.d.ts +0 -35
  431. package/dist/src/runner/plan-auto-command.d.ts.map +0 -1
  432. package/dist/src/runner/plan-auto-command.js +0 -918
  433. package/dist/src/runner/plan-auto-command.js.map +0 -1
  434. package/dist/src/runner/plan-auto-recovery.d.ts +0 -83
  435. package/dist/src/runner/plan-auto-recovery.d.ts.map +0 -1
  436. package/dist/src/runner/plan-auto-recovery.js +0 -303
  437. package/dist/src/runner/plan-auto-recovery.js.map +0 -1
  438. package/dist/src/runner/prompt.d.ts +0 -68
  439. package/dist/src/runner/prompt.d.ts.map +0 -1
  440. package/dist/src/runner/prompt.js +0 -202
  441. package/dist/src/runner/prompt.js.map +0 -1
  442. package/dist/src/runner/proof-routing.d.ts +0 -73
  443. package/dist/src/runner/proof-routing.d.ts.map +0 -1
  444. package/dist/src/runner/proof-routing.js +0 -182
  445. package/dist/src/runner/proof-routing.js.map +0 -1
  446. package/dist/src/runner/proof-strategy.d.ts +0 -21
  447. package/dist/src/runner/proof-strategy.d.ts.map +0 -1
  448. package/dist/src/runner/proof-strategy.js +0 -26
  449. package/dist/src/runner/proof-strategy.js.map +0 -1
  450. package/dist/src/runner/recovery.d.ts +0 -25
  451. package/dist/src/runner/recovery.d.ts.map +0 -1
  452. package/dist/src/runner/recovery.js +0 -89
  453. package/dist/src/runner/recovery.js.map +0 -1
  454. package/dist/src/runner/review-gate-policy.d.ts +0 -13
  455. package/dist/src/runner/review-gate-policy.d.ts.map +0 -1
  456. package/dist/src/runner/review-gate-policy.js +0 -241
  457. package/dist/src/runner/review-gate-policy.js.map +0 -1
  458. package/dist/src/runner/review-gates.d.ts +0 -28
  459. package/dist/src/runner/review-gates.d.ts.map +0 -1
  460. package/dist/src/runner/review-gates.js +0 -328
  461. package/dist/src/runner/review-gates.js.map +0 -1
  462. package/dist/src/runner/rework-policy.d.ts +0 -48
  463. package/dist/src/runner/rework-policy.d.ts.map +0 -1
  464. package/dist/src/runner/rework-policy.js +0 -150
  465. package/dist/src/runner/rework-policy.js.map +0 -1
  466. package/dist/src/runner/run-log.d.ts +0 -18
  467. package/dist/src/runner/run-log.d.ts.map +0 -1
  468. package/dist/src/runner/run-log.js +0 -53
  469. package/dist/src/runner/run-log.js.map +0 -1
  470. package/dist/src/runner/runner-handoff-decision.d.ts +0 -48
  471. package/dist/src/runner/runner-handoff-decision.d.ts.map +0 -1
  472. package/dist/src/runner/runner-handoff-decision.js +0 -93
  473. package/dist/src/runner/runner-handoff-decision.js.map +0 -1
  474. package/dist/src/runner/safety.d.ts +0 -14
  475. package/dist/src/runner/safety.d.ts.map +0 -1
  476. package/dist/src/runner/safety.js +0 -31
  477. package/dist/src/runner/safety.js.map +0 -1
  478. package/dist/src/runner/scope-isolation-policy.d.ts +0 -17
  479. package/dist/src/runner/scope-isolation-policy.d.ts.map +0 -1
  480. package/dist/src/runner/scope-isolation-policy.js +0 -82
  481. package/dist/src/runner/scope-isolation-policy.js.map +0 -1
  482. package/dist/src/runner/scoped-auto-command.d.ts +0 -90
  483. package/dist/src/runner/scoped-auto-command.d.ts.map +0 -1
  484. package/dist/src/runner/scoped-auto-command.js +0 -561
  485. package/dist/src/runner/scoped-auto-command.js.map +0 -1
  486. package/dist/src/runner/scoped-recovery.d.ts +0 -78
  487. package/dist/src/runner/scoped-recovery.d.ts.map +0 -1
  488. package/dist/src/runner/scoped-recovery.js +0 -601
  489. package/dist/src/runner/scoped-recovery.js.map +0 -1
  490. package/dist/src/runner/session-home.d.ts +0 -8
  491. package/dist/src/runner/session-home.d.ts.map +0 -1
  492. package/dist/src/runner/session-home.js +0 -18
  493. package/dist/src/runner/session-home.js.map +0 -1
  494. package/dist/src/runner/status-command.d.ts +0 -38
  495. package/dist/src/runner/status-command.d.ts.map +0 -1
  496. package/dist/src/runner/status-command.js +0 -97
  497. package/dist/src/runner/status-command.js.map +0 -1
  498. package/dist/src/runner/target-activity-fence.d.ts.map +0 -1
  499. package/dist/src/runner/target-activity-fence.js.map +0 -1
  500. package/dist/src/runner/terminal-outcome.d.ts +0 -58
  501. package/dist/src/runner/terminal-outcome.d.ts.map +0 -1
  502. package/dist/src/runner/terminal-outcome.js +0 -73
  503. package/dist/src/runner/terminal-outcome.js.map +0 -1
  504. package/dist/src/runner/visual-proof-runner.d.ts +0 -27
  505. package/dist/src/runner/visual-proof-runner.d.ts.map +0 -1
  506. package/dist/src/runner/visual-proof-runner.js +0 -379
  507. package/dist/src/runner/visual-proof-runner.js.map +0 -1
  508. package/dist/src/runner/worktree-cleanup.d.ts +0 -27
  509. package/dist/src/runner/worktree-cleanup.d.ts.map +0 -1
  510. package/dist/src/runner/worktree-cleanup.js +0 -63
  511. package/dist/src/runner/worktree-cleanup.js.map +0 -1
  512. package/dist/src/setup/codex-command-resolver.d.ts +0 -10
  513. package/dist/src/setup/codex-command-resolver.d.ts.map +0 -1
  514. package/dist/src/setup/codex-command-resolver.js +0 -91
  515. package/dist/src/setup/codex-command-resolver.js.map +0 -1
  516. package/dist/src/setup/github-label-adapter.d.ts +0 -13
  517. package/dist/src/setup/github-label-adapter.d.ts.map +0 -1
  518. package/dist/src/setup/github-label-adapter.js +0 -28
  519. package/dist/src/setup/github-label-adapter.js.map +0 -1
  520. package/dist/src/setup/labels.d.ts +0 -27
  521. package/dist/src/setup/labels.d.ts.map +0 -1
  522. package/dist/src/setup/labels.js +0 -42
  523. package/dist/src/setup/labels.js.map +0 -1
  524. package/dist/src/setup/project-config.d.ts +0 -24
  525. package/dist/src/setup/project-config.d.ts.map +0 -1
  526. package/dist/src/setup/project-config.js +0 -678
  527. package/dist/src/setup/project-config.js.map +0 -1
  528. package/dist/src/setup/prompt-sync.d.ts +0 -14
  529. package/dist/src/setup/prompt-sync.d.ts.map +0 -1
  530. package/dist/src/setup/prompt-sync.js +0 -228
  531. package/dist/src/setup/prompt-sync.js.map +0 -1
  532. package/dist/src/setup/setup-command.d.ts +0 -29
  533. package/dist/src/setup/setup-command.d.ts.map +0 -1
  534. package/dist/src/setup/setup-command.js +0 -304
  535. package/dist/src/setup/setup-command.js.map +0 -1
  536. package/dist/src/setup/skill-runtime-v2-preparation.d.ts +0 -56
  537. package/dist/src/setup/skill-runtime-v2-preparation.d.ts.map +0 -1
  538. package/dist/src/setup/skill-runtime-v2-preparation.js +0 -304
  539. package/dist/src/setup/skill-runtime-v2-preparation.js.map +0 -1
  540. package/dist/src/setup/workflows.d.ts +0 -10
  541. package/dist/src/setup/workflows.d.ts.map +0 -1
  542. package/dist/src/setup/workflows.js +0 -41
  543. package/dist/src/setup/workflows.js.map +0 -1
  544. package/prompts/setup-skill.md +0 -12
  545. package/prompts/workflows/acceptance-proof.md +0 -29
  546. package/prompts/workflows/breakdown-review.md +0 -48
  547. package/prompts/workflows/issue-breakdown.md +0 -155
  548. package/prompts/workflows/issue-tree-orchestration.md +0 -163
  549. package/prompts/workflows/prd.md +0 -80
  550. package/prompts/workflows/scoped-implementation.md +0 -129
  551. package/prompts/workflows/triage.md +0 -149
  552. /package/dist/src/{process → v2/adapters}/command.d.ts +0 -0
  553. /package/dist/src/{process → v2/adapters}/command.js +0 -0
  554. /package/dist/src/{fs → v2/adapters}/durable-atomic-file.d.ts +0 -0
  555. /package/dist/src/{fs → v2/adapters}/durable-atomic-file.js +0 -0
  556. /package/dist/src/{github → v2/adapters}/gh-cli.d.ts +0 -0
  557. /package/dist/src/{github → v2/adapters}/gh-cli.js +0 -0
  558. /package/dist/src/{github → v2/adapters}/gh-issue-adapter.d.ts +0 -0
  559. /package/dist/src/{github → v2/adapters}/gh-issue-adapter.js +0 -0
  560. /package/dist/src/{github → v2/adapters}/gh-pull-request-adapter.d.ts +0 -0
  561. /package/dist/src/{github → v2/adapters}/gh-pull-request-adapter.js +0 -0
  562. /package/dist/src/{github → v2/adapters}/issues.d.ts +0 -0
  563. /package/dist/src/{github → v2/adapters}/issues.js +0 -0
  564. /package/dist/src/{runner → v2/adapters}/mission-coordinator-lock.d.ts +0 -0
  565. /package/dist/src/{runner → v2/adapters}/mission-coordinator-lock.js +0 -0
  566. /package/dist/src/{path-policy.d.ts → v2/adapters/path-policy.d.ts} +0 -0
  567. /package/dist/src/{path-policy.js → v2/adapters/path-policy.js} +0 -0
  568. /package/dist/src/{github → v2/adapters}/pull-requests.d.ts +0 -0
  569. /package/dist/src/{github → v2/adapters}/pull-requests.js +0 -0
  570. /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"}