codex-orchestrator 2.0.11 → 2.0.12

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 (262) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +25 -51
  3. package/dist/src/index.d.ts +2 -8
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1 -4
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/v2/acceptance-proof.d.ts +46 -31
  8. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  9. package/dist/src/v2/acceptance-proof.js +157 -195
  10. package/dist/src/v2/acceptance-proof.js.map +1 -1
  11. package/dist/src/v2/active-attempt.d.ts +94 -0
  12. package/dist/src/v2/active-attempt.d.ts.map +1 -0
  13. package/dist/src/v2/active-attempt.js +200 -0
  14. package/dist/src/v2/active-attempt.js.map +1 -0
  15. package/dist/src/v2/adapters/command.d.ts +6 -0
  16. package/dist/src/v2/adapters/command.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/command.js +43 -2
  18. package/dist/src/v2/adapters/command.js.map +1 -1
  19. package/dist/src/v2/candidate.d.ts +15 -31
  20. package/dist/src/v2/candidate.d.ts.map +1 -1
  21. package/dist/src/v2/candidate.js +7 -29
  22. package/dist/src/v2/candidate.js.map +1 -1
  23. package/dist/src/v2/checked-change.d.ts +3 -2
  24. package/dist/src/v2/checked-change.d.ts.map +1 -1
  25. package/dist/src/v2/checked-change.js +4 -3
  26. package/dist/src/v2/checked-change.js.map +1 -1
  27. package/dist/src/v2/cli-contract.d.ts +1 -1
  28. package/dist/src/v2/cli-contract.d.ts.map +1 -1
  29. package/dist/src/v2/cli-contract.js +4 -6
  30. package/dist/src/v2/cli-contract.js.map +1 -1
  31. package/dist/src/v2/cli.d.ts +8 -0
  32. package/dist/src/v2/cli.d.ts.map +1 -1
  33. package/dist/src/v2/cli.js +13 -0
  34. package/dist/src/v2/cli.js.map +1 -1
  35. package/dist/src/v2/code-review-report.d.ts +10 -18
  36. package/dist/src/v2/code-review-report.d.ts.map +1 -1
  37. package/dist/src/v2/code-review-report.js +63 -60
  38. package/dist/src/v2/code-review-report.js.map +1 -1
  39. package/dist/src/v2/codex-process.d.ts +6 -2
  40. package/dist/src/v2/codex-process.d.ts.map +1 -1
  41. package/dist/src/v2/codex-process.js +25 -9
  42. package/dist/src/v2/codex-process.js.map +1 -1
  43. package/dist/src/v2/config.d.ts +0 -2
  44. package/dist/src/v2/config.d.ts.map +1 -1
  45. package/dist/src/v2/config.js +3 -6
  46. package/dist/src/v2/config.js.map +1 -1
  47. package/dist/src/v2/contained-report-operation.d.ts +41 -196
  48. package/dist/src/v2/contained-report-operation.d.ts.map +1 -1
  49. package/dist/src/v2/contained-report-operation.js +139 -466
  50. package/dist/src/v2/contained-report-operation.js.map +1 -1
  51. package/dist/src/v2/containment.d.ts +1 -0
  52. package/dist/src/v2/containment.d.ts.map +1 -1
  53. package/dist/src/v2/containment.js +12 -2
  54. package/dist/src/v2/containment.js.map +1 -1
  55. package/dist/src/v2/delivery-authority.d.ts +26 -0
  56. package/dist/src/v2/delivery-authority.d.ts.map +1 -0
  57. package/dist/src/v2/delivery-authority.js +44 -0
  58. package/dist/src/v2/delivery-authority.js.map +1 -0
  59. package/dist/src/v2/direct-delivery.d.ts +16 -36
  60. package/dist/src/v2/direct-delivery.d.ts.map +1 -1
  61. package/dist/src/v2/direct-delivery.js +135 -122
  62. package/dist/src/v2/direct-delivery.js.map +1 -1
  63. package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -1
  64. package/dist/src/v2/immutable-workflow-publisher.js +3 -1
  65. package/dist/src/v2/immutable-workflow-publisher.js.map +1 -1
  66. package/dist/src/v2/implementation-report.d.ts +3 -1
  67. package/dist/src/v2/implementation-report.d.ts.map +1 -1
  68. package/dist/src/v2/implementation-report.js +17 -4
  69. package/dist/src/v2/implementation-report.js.map +1 -1
  70. package/dist/src/v2/implementation-reviewer.d.ts +41 -12
  71. package/dist/src/v2/implementation-reviewer.d.ts.map +1 -1
  72. package/dist/src/v2/implementation-reviewer.js +114 -42
  73. package/dist/src/v2/implementation-reviewer.js.map +1 -1
  74. package/dist/src/v2/pending-effect-settlement.d.ts +44 -0
  75. package/dist/src/v2/pending-effect-settlement.d.ts.map +1 -0
  76. package/dist/src/v2/pending-effect-settlement.js +69 -0
  77. package/dist/src/v2/pending-effect-settlement.js.map +1 -0
  78. package/dist/src/v2/process-identity.d.ts +45 -0
  79. package/dist/src/v2/process-identity.d.ts.map +1 -0
  80. package/dist/src/v2/process-identity.js +118 -0
  81. package/dist/src/v2/process-identity.js.map +1 -0
  82. package/dist/src/v2/proof-report.d.ts +2 -1
  83. package/dist/src/v2/proof-report.d.ts.map +1 -1
  84. package/dist/src/v2/proof-report.js +10 -4
  85. package/dist/src/v2/proof-report.js.map +1 -1
  86. package/dist/src/v2/review-feedback-coordinator.d.ts +1 -1
  87. package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -1
  88. package/dist/src/v2/review-feedback-coordinator.js +1 -1
  89. package/dist/src/v2/review-feedback-coordinator.js.map +1 -1
  90. package/dist/src/v2/review-feedback.d.ts +14 -20
  91. package/dist/src/v2/review-feedback.d.ts.map +1 -1
  92. package/dist/src/v2/review-feedback.js +45 -87
  93. package/dist/src/v2/review-feedback.js.map +1 -1
  94. package/dist/src/v2/run-issue.d.ts +129 -88
  95. package/dist/src/v2/run-issue.d.ts.map +1 -1
  96. package/dist/src/v2/run-issue.js +1965 -2381
  97. package/dist/src/v2/run-issue.js.map +1 -1
  98. package/dist/src/v2/run-state-projections.d.ts +84 -0
  99. package/dist/src/v2/run-state-projections.d.ts.map +1 -0
  100. package/dist/src/v2/run-state-projections.js +142 -0
  101. package/dist/src/v2/run-state-projections.js.map +1 -0
  102. package/dist/src/v2/run-store.d.ts +99 -81
  103. package/dist/src/v2/run-store.d.ts.map +1 -1
  104. package/dist/src/v2/run-store.js +245 -542
  105. package/dist/src/v2/run-store.js.map +1 -1
  106. package/dist/src/v2/runtime-assets.d.ts +3 -0
  107. package/dist/src/v2/runtime-assets.d.ts.map +1 -1
  108. package/dist/src/v2/runtime-assets.js +104 -0
  109. package/dist/src/v2/runtime-assets.js.map +1 -1
  110. package/dist/src/v2/runtime.d.ts +56 -44
  111. package/dist/src/v2/runtime.d.ts.map +1 -1
  112. package/dist/src/v2/runtime.js +383 -503
  113. package/dist/src/v2/runtime.js.map +1 -1
  114. package/dist/src/v2/setup.js +0 -2
  115. package/dist/src/v2/setup.js.map +1 -1
  116. package/dist/src/v2/validation-progression.d.ts +70 -0
  117. package/dist/src/v2/validation-progression.d.ts.map +1 -0
  118. package/dist/src/v2/validation-progression.js +247 -0
  119. package/dist/src/v2/validation-progression.js.map +1 -0
  120. package/dist/src/v2/workflow-assets.d.ts +9 -3
  121. package/dist/src/v2/workflow-assets.d.ts.map +1 -1
  122. package/dist/src/v2/workflow-assets.js +256 -43
  123. package/dist/src/v2/workflow-assets.js.map +1 -1
  124. package/internal-workflow/docs/agents/bug-workflow-routing.md +9 -7
  125. package/internal-workflow/docs/agents/coding-skill-routing.md +170 -120
  126. package/internal-workflow/docs/agents/tool-usage.md +23 -12
  127. package/internal-workflow/manifest.json +1 -1
  128. package/internal-workflow/operations/code-review/SKILL.md +34 -15
  129. package/internal-workflow/operations/implementation/SKILL.md +21 -16
  130. package/internal-workflow/profiles/implementer.toml +9 -0
  131. package/internal-workflow/profiles/review_coordinator.toml +9 -0
  132. package/internal-workflow/profiles/spec_reviewer.toml +9 -0
  133. package/internal-workflow/profiles/standards_reviewer.toml +9 -0
  134. package/internal-workflow/schemas/code-review-v1.json +1 -1
  135. package/internal-workflow/schemas/implementation-report-v1.json +1 -1
  136. package/internal-workflow/schemas/proof-report-v1.json +1 -1
  137. package/internal-workflow/skills/bug-root-cause-explainer/SKILL.md +114 -0
  138. package/internal-workflow/skills/bug-root-cause-explainer/agents/openai.yaml +7 -0
  139. package/internal-workflow/skills/bug-root-cause-explainer/evals/evals.json +18 -0
  140. package/internal-workflow/skills/code-review/SKILL.md +84 -306
  141. package/internal-workflow/skills/code-review/agents/openai.yaml +5 -3
  142. package/internal-workflow/skills/code-review/evals/evals.json +83 -0
  143. package/internal-workflow/skills/code-review/references/standards-smells.md +41 -0
  144. package/internal-workflow/skills/diagnosing-bugs/SKILL.md +69 -32
  145. package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +2 -2
  146. package/internal-workflow/skills/diagnosing-bugs/evals/evals.json +63 -0
  147. package/internal-workflow/skills/grilling/SKILL.md +51 -0
  148. package/internal-workflow/skills/grilling/agents/openai.yaml +6 -0
  149. package/internal-workflow/skills/grilling/evals/evals.json +47 -0
  150. package/internal-workflow/skills/implement/SKILL.md +135 -0
  151. package/internal-workflow/skills/implement/agents/openai.yaml +6 -0
  152. package/internal-workflow/skills/implement/evals/evals.json +150 -0
  153. package/internal-workflow/skills/plan/SKILL.md +59 -0
  154. package/internal-workflow/skills/plan/agents/openai.yaml +6 -0
  155. package/internal-workflow/skills/plan/evals/evals.json +36 -0
  156. package/internal-workflow/skills/prototype/LOGIC.md +130 -0
  157. package/internal-workflow/skills/prototype/SKILL.md +69 -0
  158. package/internal-workflow/skills/prototype/UI.md +157 -0
  159. package/internal-workflow/skills/prototype/agents/openai.yaml +6 -0
  160. package/internal-workflow/skills/prototype/evals/evals.json +67 -0
  161. package/internal-workflow/skills/research/SKILL.md +110 -0
  162. package/internal-workflow/skills/research/agents/openai.yaml +6 -0
  163. package/internal-workflow/skills/research/evals/evals.json +49 -0
  164. package/internal-workflow/skills/tdd/SKILL.md +72 -67
  165. package/internal-workflow/skills/tdd/agents/openai.yaml +2 -2
  166. package/internal-workflow/skills/tdd/evals/evals.json +12 -0
  167. package/internal-workflow/skills/tdd/mocking.md +48 -1
  168. package/internal-workflow/skills/tdd/refactoring.md +3 -3
  169. package/internal-workflow/skills/tickets-orchestrator/SKILL.md +199 -0
  170. package/internal-workflow/skills/tickets-orchestrator/agents/openai.yaml +6 -0
  171. package/internal-workflow/skills/tickets-orchestrator/evals/evals.json +126 -0
  172. package/internal-workflow/skills/tickets-orchestrator/references/delegate-integrate.md +83 -0
  173. package/internal-workflow/skills/tickets-orchestrator/references/finish-delivery.md +69 -0
  174. package/internal-workflow/skills/tickets-orchestrator/references/stop-completion.md +63 -0
  175. package/internal-workflow/skills/to-spec/SKILL.md +133 -0
  176. package/internal-workflow/skills/to-spec/agents/openai.yaml +6 -0
  177. package/internal-workflow/skills/to-spec/evals/evals.json +24 -0
  178. package/internal-workflow/skills/to-tickets/SKILL.md +189 -0
  179. package/internal-workflow/skills/to-tickets/agents/openai.yaml +6 -0
  180. package/internal-workflow/skills/to-tickets/evals/evals.json +79 -0
  181. package/internal-workflow/skills/to-tickets/references/publishing-details.md +117 -0
  182. package/package.json +1 -1
  183. package/dist/src/v2/proof-store.d.ts +0 -54
  184. package/dist/src/v2/proof-store.d.ts.map +0 -1
  185. package/dist/src/v2/proof-store.js +0 -301
  186. package/dist/src/v2/proof-store.js.map +0 -1
  187. package/dist/src/v2/route-continuations.d.ts +0 -32
  188. package/dist/src/v2/route-continuations.d.ts.map +0 -1
  189. package/dist/src/v2/route-continuations.js +0 -2
  190. package/dist/src/v2/route-continuations.js.map +0 -1
  191. package/dist/src/v2/route-coordinator.d.ts +0 -72
  192. package/dist/src/v2/route-coordinator.d.ts.map +0 -1
  193. package/dist/src/v2/route-coordinator.js +0 -275
  194. package/dist/src/v2/route-coordinator.js.map +0 -1
  195. package/dist/src/v2/route-decision.d.ts +0 -120
  196. package/dist/src/v2/route-decision.d.ts.map +0 -1
  197. package/dist/src/v2/route-decision.js +0 -380
  198. package/dist/src/v2/route-decision.js.map +0 -1
  199. package/dist/src/v2/spec-coordinator.d.ts +0 -73
  200. package/dist/src/v2/spec-coordinator.d.ts.map +0 -1
  201. package/dist/src/v2/spec-coordinator.js +0 -126
  202. package/dist/src/v2/spec-coordinator.js.map +0 -1
  203. package/dist/src/v2/spec-delivery.d.ts +0 -112
  204. package/dist/src/v2/spec-delivery.d.ts.map +0 -1
  205. package/dist/src/v2/spec-delivery.js +0 -336
  206. package/dist/src/v2/spec-delivery.js.map +0 -1
  207. package/dist/src/v2/triage-route.d.ts +0 -68
  208. package/dist/src/v2/triage-route.d.ts.map +0 -1
  209. package/dist/src/v2/triage-route.js +0 -223
  210. package/dist/src/v2/triage-route.js.map +0 -1
  211. package/dist/src/v2/waiting-human-coordinator.d.ts +0 -49
  212. package/dist/src/v2/waiting-human-coordinator.d.ts.map +0 -1
  213. package/dist/src/v2/waiting-human-coordinator.js +0 -509
  214. package/dist/src/v2/waiting-human-coordinator.js.map +0 -1
  215. package/dist/src/v2/waiting-human.d.ts +0 -143
  216. package/dist/src/v2/waiting-human.d.ts.map +0 -1
  217. package/dist/src/v2/waiting-human.js +0 -408
  218. package/dist/src/v2/waiting-human.js.map +0 -1
  219. package/internal-workflow/docs/agents/contract-test-ledger.md +0 -71
  220. package/internal-workflow/docs/agents/review-gates.md +0 -42
  221. package/internal-workflow/docs/agents/review-protocol.md +0 -98
  222. package/internal-workflow/evals/coding-skill-evals.json +0 -373
  223. package/internal-workflow/operations/ambiguity-review/SKILL.md +0 -5
  224. package/internal-workflow/operations/qualification-repair/SKILL.md +0 -17
  225. package/internal-workflow/operations/spec-author/SKILL.md +0 -12
  226. package/internal-workflow/operations/spec-review/SKILL.md +0 -12
  227. package/internal-workflow/operations/triage/SKILL.md +0 -12
  228. package/internal-workflow/profiles/analyst_deep.toml +0 -9
  229. package/internal-workflow/profiles/implementer_standard.toml +0 -9
  230. package/internal-workflow/profiles/proof_agent.toml +0 -8
  231. package/internal-workflow/profiles/reviewer_deep.toml +0 -9
  232. package/internal-workflow/profiles/reviewer_standard.toml +0 -9
  233. package/internal-workflow/schemas/ambiguity-review-v1.json +0 -1
  234. package/internal-workflow/schemas/spec-author-v1.json +0 -1
  235. package/internal-workflow/schemas/spec-review-v1.json +0 -30
  236. package/internal-workflow/schemas/triage-route-v1.json +0 -1
  237. package/internal-workflow/skills/agent-auto/SKILL.md +0 -19
  238. package/internal-workflow/skills/agent-auto/agents/openai.yaml +0 -6
  239. package/internal-workflow/skills/code-debugger/SKILL.md +0 -122
  240. package/internal-workflow/skills/code-debugger/agents/openai.yaml +0 -7
  241. package/internal-workflow/skills/code-review/references/bug-classes.md +0 -56
  242. package/internal-workflow/skills/code-review/references/cleanup-lens.md +0 -52
  243. package/internal-workflow/skills/code-review/references/framework-lenses.md +0 -34
  244. package/internal-workflow/skills/code-review/references/targeted-recipes.md +0 -49
  245. package/internal-workflow/skills/implementation-spec-maker/SKILL.md +0 -107
  246. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +0 -6
  247. package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +0 -32
  248. package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +0 -146
  249. package/internal-workflow/skills/implementation-spec-review/SKILL.md +0 -131
  250. package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +0 -6
  251. package/internal-workflow/skills/implementation-spec-review/evals/evals.json +0 -78
  252. package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +0 -121
  253. package/internal-workflow/skills/small-task-implementer/SKILL.md +0 -112
  254. package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +0 -6
  255. package/internal-workflow/skills/spec-implementer/SKILL.md +0 -133
  256. package/internal-workflow/skills/spec-implementer/agents/openai.yaml +0 -6
  257. package/internal-workflow/skills/spec-implementer/evals/evals.json +0 -30
  258. package/internal-workflow/skills/spec-implementer/references/review-loop.md +0 -100
  259. package/internal-workflow/skills/triage/AGENT-BRIEF.md +0 -192
  260. package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +0 -101
  261. package/internal-workflow/skills/triage/SKILL.md +0 -134
  262. package/internal-workflow/skills/triage/agents/openai.yaml +0 -6
package/CHANGELOG.md CHANGED
@@ -6,6 +6,21 @@ The format is based on Keep a Changelog, and this project follows SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.0.12] - 2026-08-10
10
+
11
+ ### Changed
12
+ - Collapsed direct, approved spec-first, product-answer, and trusted PR-feedback
13
+ delivery onto one Run-owned validation loop with exact Run/ActiveAttempt/
14
+ PendingEffect recovery, clean state-schema cutover, checked-change authority,
15
+ and intent-based publication.
16
+ - Bound packed scratch-smoke reports to a clean immutable source HEAD before
17
+ package creation and retained strict scratch-only cleanup.
18
+
19
+ ### Removed
20
+ - Removed legacy qualification, Full/Closure, operation-specific invocation,
21
+ separate post-PR progression, compatibility/migration, and duplicate
22
+ lifecycle ownership paths.
23
+
9
24
  ## [2.0.11] - 2026-07-30
10
25
 
11
26
  ### Added
package/README.md CHANGED
@@ -1,16 +1,12 @@
1
1
  # Codex Orchestrator
2
2
 
3
- Codex Orchestrator turns an authorized GitHub Issue into a controlled Codex delivery run. It reads the issue, decides whether the work is ready to implement, works in an isolated Git worktree, validates the result, and—only after all required gates pass—pushes a branch and opens a draft pull request.
3
+ Codex Orchestrator turns one explicitly authorized GitHub Issue into a controlled Codex delivery run. Planning remains external. The package implements the issue in an isolated Git worktree, validates the immutable candidate, and—only after all required gates pass—pushes a branch and opens a draft pull request.
4
4
 
5
5
  The package is designed for unattended local execution without giving the Codex worker your GitHub, SSH, npm, or cloud publication credentials. The trusted Runner owns authorization, checks, recovery, and publication; Codex owns the bounded analysis, implementation, review, and proof tasks assigned to it.
6
6
 
7
7
  ## What happens to an issue
8
8
 
9
- Add the configured `agent:auto` label to an open issue, then run the orchestrator. It will choose one of three routes:
10
-
11
- - **Direct delivery:** the issue is clear enough to implement. Codex changes the code, an independent review checks it, issue-scoped verification checks run, Acceptance Proof verifies the acceptance criteria, and the Runner creates a draft PR.
12
- - **Specification first:** the issue is too complex for safe direct implementation. Separate Codex workers author and independently review a deterministic implementation specification; the Runner freezes the approved revision and returns `spec-frozen`. Implementation is intentionally a separate follow-up run or workflow.
13
- - **Human decision required:** the repository does not contain enough authority to choose between materially different product outcomes. The package posts one precise question, applies `agent:waiting-human`, and resumes the same run after an authorized repository writer answers with the requested prefix.
9
+ Add the configured `agent:auto` label to an open executable issue, then run the orchestrator. That label authorizes only that issue. The lifecycle is `implementation → affected checks → Acceptance Proof → Review → publication`. A product or ownership decision gap is returned as an issue-local blocker for external Plan; the package does not create a PRD, spec, or ticket graph.
14
10
 
15
11
  Ordinary technical choices do not stop the run. A human question is reserved for real product ambiguity.
16
12
 
@@ -57,7 +53,7 @@ Now create or choose a clear GitHub Issue, include acceptance criteria when poss
57
53
  npx codex-orchestrator run --target "$PWD" --issue 123
58
54
  ```
59
55
 
60
- The command prints one JSON result. A successful direct delivery returns `review-ready` with the draft PR URL. A complex issue may instead return `spec-frozen`; a genuine product decision returns `awaiting-user` with the answer prefix to use in the issue comment.
56
+ The command prints one JSON result. Successful delivery returns `review-ready` with the draft PR URL. Decision, authority, preservation, and proof boundaries return a precise blocked result with evidence.
61
57
 
62
58
  ## Main commands
63
59
 
@@ -130,16 +126,17 @@ The daemon uses the same lifecycle as `run`; it does not have a less strict exec
130
126
 
131
127
  ### Continue from pull-request review feedback
132
128
 
133
- After a direct-delivery run reaches `review-ready`, the daemon also polls issues
134
- with `agent:review`. A quiet PR remains effect-free. When the same marker-bound,
135
- same-repository draft PR receives a new unresolved inline thread root or a
136
- non-empty `CHANGES_REQUESTED` review from a current repository writer or admin,
137
- the Runner freezes that exact feedback batch and resumes the existing run.
138
-
139
- The repair uses the existing implementation and affected Closure flow, then
140
- reruns the run's resolved check policy and Acceptance Proof against the repaired content. It
141
- has a separate maximum of three feedback rounds and does not consume the
142
- original five implementation cycles. Publication appends one fast-forward
129
+ After a run reaches `review-ready`, the daemon also
130
+ polls issues with `agent:review`. A quiet PR remains effect-free. When the same
131
+ marker-bound, same-repository draft PR receives a new unresolved inline thread
132
+ root or a non-empty `CHANGES_REQUESTED` review from a current repository writer
133
+ or admin, the Runner freezes that exact feedback batch and resumes the existing
134
+ run through the same targeted repair lifecycle.
135
+
136
+ The frozen batch enters the same implementation → affected checks → proof →
137
+ targeted independent review loop used by in-scope repair. The reviewer receives
138
+ the previous revision, repair delta, blocker IDs, direct impact cone, and affected
139
+ proof. There is no semantic round limit. Publication appends one fast-forward
143
140
  commit to the existing branch and PR; divergence blocks without reset, rebase,
144
141
  amend, or force-push recovery.
145
142
 
@@ -158,8 +155,7 @@ The default labels are:
158
155
  | --- | --- |
159
156
  | `agent:auto` | The issue is authorized for orchestration. |
160
157
  | `agent:running` | A Runner has claimed the issue. |
161
- | `agent:waiting-human` | One approved product question is waiting for an authorized answer. |
162
- | `agent:blocked` | The run stopped on an external, safety, or exhausted-budget blocker. |
158
+ | `agent:blocked` | The run stopped on an authority, external, preservation, proof, or safety boundary. |
163
159
  | `agent:review` | The branch and draft PR passed the delivery gates and are ready for human review. |
164
160
 
165
161
  Important command results:
@@ -167,8 +163,7 @@ Important command results:
167
163
  | Result | What to do |
168
164
  | --- | --- |
169
165
  | `review-ready` | Open the returned draft PR URL and review the change; later trusted unresolved feedback may resume the same run and PR. |
170
- | `spec-frozen` | Use the returned frozen specification receipt as the authority for a later implementation workflow. |
171
- | `awaiting-user` | Reply to the issue using the returned answer prefix. Re-run the command or let the daemon pick it up. |
166
+ | `repair-ready` | The semantic repair batch is durably ready. Run one more bounded CLI call or daemon tick; live smoke continues only up to its fixed limit. |
172
167
  | `not-eligible` | Check that the issue is open, has only the appropriate authorization label, and has no existing open PR for its branch. |
173
168
  | `requeued` | Another known Runner owns the repository; retry later. |
174
169
  | `blocked` | Read `kind`, `resumable`, and `evidencePath`; fix the external condition only when the evidence says it is safe to resume. |
@@ -183,18 +178,16 @@ All outcomes include structured evidence or a path to local evidence. Quiet term
183
178
  - `github.baseBranch` and `github.labels`: where completed branches target and which labels control the workflow.
184
179
  - `runner.pollIntervalSeconds`: daemon polling interval.
185
180
  - `checks`: finite fallback commands for issues without a command-only
186
- `Verification:` section. Before the issue implementation starts, the Runner
187
- requires the resolved scoped policy to pass. A red qualification check starts
188
- a separate sealed, bounded repair operation, reruns the policy, and does not
189
- consume the issue's implementation-cycle budget. Its launched process is
190
- durably recoverable across daemon restarts. Final checks must all pass;
191
- failures are never accepted by comparing output hashes.
181
+ `Verification:` section. They run before Review against the immutable candidate.
182
+ A failed check becomes a bounded finding for the next implementation cycle;
183
+ there is no qualification operation or separate retry coordinator. Final
184
+ checks must all pass; failures are never accepted by comparing output hashes.
192
185
  - `proof.artifactDir`: repository-relative location for proof artifacts inside the run worktree.
193
186
  - `proof.android`: optional Runner-owned Android recipe. It selects `avdName`, creates an ephemeral clean data directory, requires fixed `build apk` arguments, removes any old `apkPath`, snapshots a fresh no-symlink APK outside the worker-writable tree, and binds its digest to the checked change. It installs and launches that exact snapshot, repeatedly verifies emulator process identity, waits up to `navigationTimeoutMs` for each exact `tapText` accessibility label, and captures proof-bound screenshot, hierarchy, PID log, and lease artifacts. Commands are bounded, cancellable, and process-group quiescent; URI query/fragment credentials are rejected. The contained proof worker never receives `adb`, emulator, Flutter, or durable lease authority. Emulator or Android-tool startup failure is retained as an explicit unfinished-UI-proof warning and does not by itself block delivery.
194
187
  - `deny.readPaths`: paths the worker must not read or modify.
195
188
  - `deny.commands`: absolute command paths that must not be exposed to the worker.
196
189
 
197
- `runner.maxCycles`, the branch template, and containment settings are fixed policy in the current schema rather than open-ended tuning knobs. There is no configured Codex version pin or local certification step: the Runner uses the installed `codex` command and applies the fixed sandbox, environment, network, and authority restrictions to every worker invocation.
190
+ The branch template and containment settings are fixed policy in the current schema rather than open-ended tuning knobs. Semantic repair counts are not stop conditions. There is no configured Codex version pin or local certification step: the Runner uses the installed `codex` command and applies the fixed sandbox, environment, network, and authority restrictions to every worker invocation.
198
191
 
199
192
  ## Safety model in plain language
200
193
 
@@ -218,29 +211,10 @@ npm pack --dry-run --json
218
211
 
219
212
  `npm run refresh:workflow` rebuilds the package-owned workflow inventory from the explicit allowlist in `scripts/agent-auto-workflow-source.json`, validates operation bindings, and runs focused contract tests. `npm run check:workflow` is the non-writing drift check; `npm run verify:workflow` verifies the committed generated workflow without reading local skills.
220
213
 
221
- After changing packaged skills or evals, compare the source and generated eval
222
- plans locally. This check is offline and does not run a model:
223
-
224
- ```sh
225
- set -e
226
- PACKAGE_ROOT="$PWD"
227
- CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
228
- PARITY_ROOT="$(mktemp -d)"
229
- cd "$CODEX_HOME"
230
- python3 scripts/run_coding_skill_evals.py --output "$PARITY_ROOT/source"
231
- python3 scripts/run_coding_skill_evals.py \
232
- --workflow-root "$PACKAGE_ROOT/internal-workflow" \
233
- --fixture-root "$CODEX_HOME/scripts/fixtures/coding-skill-evals" \
234
- --output "$PARITY_ROOT/package"
235
- jq -S '.cases' "$PARITY_ROOT/source/plan.json" > "$PARITY_ROOT/source-cases.json"
236
- jq -S '.cases' "$PARITY_ROOT/package/plan.json" > "$PARITY_ROOT/package-cases.json"
237
- diff -u "$PARITY_ROOT/source-cases.json" "$PARITY_ROOT/package-cases.json"
238
- ```
239
-
240
- Do not add live eval profiles to `refresh:workflow`, package tests, build, or
241
- release scripts. Live execution remains an explicit maintainer action from the
242
- local skill checkout.
214
+ Packaged skill eval files are static target scenarios. Workflow refresh and
215
+ package tests validate their schema, uniqueness, and exact generated bytes;
216
+ they never launch Codex or a real agent.
243
217
 
244
218
  `npm run smoke:live` packs the current package and mutates a configured scratch GitHub repository. Run it only when live smoke was explicitly requested. Releases are published by the GitHub release workflow after the release commit reaches `main`; do not run `npm publish` manually unless that workflow is unavailable.
245
219
 
246
- For the complete lifecycle, state machine, containment boundary, retry budgets, review flow, proof contracts, and publication recovery model, see [docs/deep-dive.md](docs/deep-dive.md). For live release scenarios, see [docs/live-smoke-checklist.md](docs/live-smoke-checklist.md).
220
+ Human maintainers can find the complete lifecycle, state machine, containment boundary, retry budgets, review flow, proof contracts, and publication recovery model in [docs/deep-dive.md](docs/deep-dive.md). That guide is not agent context. For live release scenarios, see [docs/live-smoke-checklist.md](docs/live-smoke-checklist.md).
@@ -2,15 +2,11 @@ export { AcceptanceProof } from './v2/acceptance-proof.js';
2
2
  export type { FrozenCriterion, IssueSnapshot, ProveChangeResult, ProofAgent, ProofAgentResult } from './v2/acceptance-proof.js';
3
3
  export { createCheckedChangeCapabilities, checkedChangeFreshnessMatches, checkedChangePayloadSha256 } from './v2/checked-change.js';
4
4
  export type { CheckedChange, CheckedChangeCandidateFreshness, CheckedChangeFreshness, CheckedChangeFreshnessAny, CheckedChangePayload, CheckedChangePayloadV1, CheckedChangePayloadV2, } from './v2/checked-change.js';
5
- export type { CandidateBindingV2, CandidateBoundaryV2, CandidateExecutionLeaseV2, CandidateGitV2, CandidateOperationFailureCode, CandidateResult, } from './v2/candidate.js';
6
- export { codeReviewReportOutputSchema, hashClosureRequest, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
5
+ export type { CandidateBindingV2, CandidateBoundaryV2, CandidateMaterializationV2, CandidateGitV2, CandidateOperationFailureCode, CandidateResult, } from './v2/candidate.js';
6
+ export { codeReviewReportOutputSchema, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
7
7
  export type { CodeReviewDefectV1, CodeReviewReportV1, CodeReviewValidationContext } from './v2/code-review-report.js';
8
8
  export { ContainedImplementationReviewer } from './v2/implementation-reviewer.js';
9
9
  export type { ImplementationReviewerInput, ImplementationReviewerResult } from './v2/implementation-reviewer.js';
10
- export { SpecCoordinator } from './v2/spec-coordinator.js';
11
- export type { SpecCoordinatorResult, SpecDeliveryOperation, SpecDeliveryState } from './v2/spec-coordinator.js';
12
- export { createInitialSpecDelivery, createSpecRevision, freezeApprovedSpec, validateFrozenSpecReceipt, validateSpecDelivery } from './v2/spec-delivery.js';
13
- export type { FrozenSpecReceiptV1, SpecDeliveryV1, SpecReviewReportV1, SpecRevisionV1 } from './v2/spec-delivery.js';
14
10
  export { parseAgentAutoConfig } from './v2/config.js';
15
11
  export type { AgentAutoConfig } from './v2/config.js';
16
12
  export { validateImplementationReport } from './v2/implementation-report.js';
@@ -23,6 +19,4 @@ export { createV2Runtime } from './v2/runtime.js';
23
19
  export type { V2Runtime } from './v2/runtime.js';
24
20
  export { Setup } from './v2/setup.js';
25
21
  export type { SetupIntent, SetupOutcome } from './v2/setup.js';
26
- export { createWaitingQuestion, normalizeAnswer, renderWaitingQuestionBody } from './v2/waiting-human.js';
27
- export type { TrustedAnswerReceiptV1, WaitingHumanExecutionV1, WaitingQuestionReceiptV1, WaitingQuestionV1 } from './v2/waiting-human.js';
28
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpI,YAAY,EACV,aAAa,EACb,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,6BAA6B,EAC7B,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACzK,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,YAAY,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC3J,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpI,YAAY,EACV,aAAa,EACb,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,6BAA6B,EAC7B,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACrJ,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,YAAY,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,14 +1,11 @@
1
1
  export { AcceptanceProof } from './v2/acceptance-proof.js';
2
2
  export { createCheckedChangeCapabilities, checkedChangeFreshnessMatches, checkedChangePayloadSha256 } from './v2/checked-change.js';
3
- export { codeReviewReportOutputSchema, hashClosureRequest, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
3
+ export { codeReviewReportOutputSchema, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
4
4
  export { ContainedImplementationReviewer } from './v2/implementation-reviewer.js';
5
- export { SpecCoordinator } from './v2/spec-coordinator.js';
6
- export { createInitialSpecDelivery, createSpecRevision, freezeApprovedSpec, validateFrozenSpecReceipt, validateSpecDelivery } from './v2/spec-delivery.js';
7
5
  export { parseAgentAutoConfig } from './v2/config.js';
8
6
  export { validateImplementationReport } from './v2/implementation-report.js';
9
7
  export { validateProofReport } from './v2/proof-report.js';
10
8
  export { RunIssue } from './v2/run-issue.js';
11
9
  export { createV2Runtime } from './v2/runtime.js';
12
10
  export { Setup } from './v2/setup.js';
13
- export { createWaitingQuestion, normalizeAnswer, renderWaitingQuestionBody } from './v2/waiting-human.js';
14
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAkBpI,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEzK,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE3J,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAkBpI,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAErJ,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { type CheckedChange, type CheckedChangeFreshnessAny, type CheckedChangePayload, type CheckedChangePayloadV1, type CheckedChangeReadCapability } from './checked-change.js';
2
- import type { CandidateExecutionLeaseV2 } from './candidate.js';
2
+ import type { CandidateMaterializationV2 } from './candidate.js';
3
3
  import { type ProofReceipt } from './proof-report.js';
4
- import { type ProofIosInputsV1, type ProofRecordWriter } from './proof-store.js';
5
4
  import type { AndroidLeaseVerifier, IosLeaseVerifier } from './mobile-lease.js';
6
5
  import type { WorkflowGenerationReceipt } from './workflow-assets.js';
7
- import type { DurableReportInvocationState } from './contained-report-operation.js';
8
6
  export interface IssueSnapshot {
9
7
  number: number;
10
8
  title: string;
@@ -20,19 +18,17 @@ export interface FrozenCriterion {
20
18
  text: string;
21
19
  }
22
20
  export interface ExternalBlocker {
23
- kind: 'credential' | 'tool' | 'service' | 'product-decision';
21
+ kind: 'credential' | 'tool' | 'service' | 'decision-delta' | 'out-of-scope' | 'authority-boundary';
24
22
  summary: string;
25
23
  attempted: string[];
24
+ resumable: boolean;
26
25
  }
27
- export type IosProofInputsV1 = ProofIosInputsV1;
28
26
  export type ProofAgentResult = {
29
27
  kind: 'report';
30
28
  report: unknown;
31
29
  proofPhaseChangedFiles: string[];
32
- proofPhaseArtifactSha256?: Record<string, string>;
33
30
  } | {
34
- kind: 'deferred';
35
- code: string;
31
+ kind: 'safe-halt';
36
32
  } | {
37
33
  kind: 'transport-failed';
38
34
  resumable: boolean;
@@ -40,10 +36,11 @@ export type ProofAgentResult = {
40
36
  kind: 'cancelled';
41
37
  } | {
42
38
  kind: 'internal-error';
43
- code?: string;
44
39
  };
45
40
  export interface ProofAgent<TPayload extends CheckedChangePayload = CheckedChangePayloadV1> {
46
41
  run(input: {
42
+ attemptId: string;
43
+ recoverOnly?: boolean;
47
44
  proofId: string;
48
45
  runId: string;
49
46
  issue: IssueSnapshot;
@@ -52,28 +49,29 @@ export interface ProofAgent<TPayload extends CheckedChangePayload = CheckedChang
52
49
  changedFiles: string[];
53
50
  checks: TPayload['checks'];
54
51
  worktreePath?: string;
52
+ onLaunched?: (input: {
53
+ pid: number;
54
+ processGroupId: number;
55
+ launchedAt: string;
56
+ }) => Promise<void>;
55
57
  runnerPreparedArtifactPaths: string[];
56
58
  runnerPreparedArtifactSha256: Record<string, string>;
57
59
  runnerPreparationWarnings: string[];
58
60
  repairOnly: boolean;
59
61
  repairFindings: string[];
60
- repairArtifactSha256?: Record<string, string>;
61
- iosProofInputs?: IosProofInputsV1;
62
62
  workflowGeneration?: WorkflowGenerationReceipt;
63
63
  signal: AbortSignal;
64
- invocationState?: DurableReportInvocationState;
65
- beforeLaunch?: () => Promise<void>;
66
64
  }): Promise<ProofAgentResult>;
67
65
  }
68
- export declare class ProofLaunchAuthorizationError extends Error {
69
- readonly outcome: unknown;
70
- constructor(outcome: unknown);
71
- }
72
66
  export declare class CandidateProofInspectionError extends Error {
73
67
  readonly code: string;
74
68
  constructor(code: string);
75
69
  }
76
- export type ProveChangeResult = {
70
+ export declare class ProofLaunchAuthorizationError extends Error {
71
+ readonly outcome: unknown;
72
+ constructor(outcome: unknown);
73
+ }
74
+ export type SettledProveChangeResult = {
77
75
  status: 'passed';
78
76
  receipt: ProofReceipt;
79
77
  } | {
@@ -86,7 +84,7 @@ export type ProveChangeResult = {
86
84
  receipt: ProofReceipt;
87
85
  } | {
88
86
  status: 'transport-failed';
89
- resumable: boolean;
87
+ resumable: false;
90
88
  receipt: ProofReceipt;
91
89
  } | {
92
90
  status: 'cancelled';
@@ -95,13 +93,25 @@ export type ProveChangeResult = {
95
93
  status: 'internal-error';
96
94
  receipt: ProofReceipt;
97
95
  };
96
+ export type ProveChangeResult = SettledProveChangeResult | {
97
+ status: 'safe-halt';
98
+ } | {
99
+ status: 'transport-failed';
100
+ resumable: true;
101
+ } | {
102
+ status: 'report-repair';
103
+ reportRepairCount: number;
104
+ findings: string[];
105
+ } | {
106
+ status: 'cleanup-pending';
107
+ outcome: SettledProveChangeResult;
108
+ };
98
109
  export declare class AcceptanceProof<TPayload extends CheckedChangePayload = CheckedChangePayloadV1> {
99
110
  private readonly dependencies;
100
111
  constructor(dependencies: {
101
112
  checkedChangeReader: CheckedChangeReadCapability;
102
- proofRecords: ProofRecordWriter;
103
113
  proofAgent: ProofAgent<TPayload>;
104
- inspectFreshness: (payload: TPayload, executionLease?: CandidateExecutionLeaseV2) => Promise<CheckedChangeFreshnessAny>;
114
+ inspectFreshness: (payload: TPayload, materialization?: CandidateMaterializationV2) => Promise<CheckedChangeFreshnessAny>;
105
115
  readArtifact: (relativePath: string) => Promise<Buffer>;
106
116
  inspectArtifact?: (relativePath: string) => Promise<{
107
117
  modifiedAt: string;
@@ -109,31 +119,36 @@ export declare class AcceptanceProof<TPayload extends CheckedChangePayload = Che
109
119
  androidLease?: AndroidLeaseVerifier;
110
120
  iosLease?: IosLeaseVerifier;
111
121
  proofArtifactDir: string;
112
- now: () => string;
113
122
  signal?: AbortSignal;
114
123
  });
124
+ cleanupMobileLeases(proofId: string): Promise<void>;
115
125
  proveChange(input: {
116
126
  proofId: string;
127
+ attemptId: string;
128
+ recoverOnly: boolean;
129
+ proofStartedAt: string;
130
+ transportRetryCount: number;
131
+ reportRepairCount: number;
132
+ reportRepairFindings: string[];
133
+ passedReceipt?: ProofReceipt;
117
134
  issue: IssueSnapshot;
118
135
  frozenCriteria: FrozenCriterion[];
119
136
  checkedChange: CheckedChange<TPayload>;
120
- executionLease?: CandidateExecutionLeaseV2;
137
+ materialization?: CandidateMaterializationV2;
121
138
  workflowGeneration?: WorkflowGenerationReceipt;
122
139
  beforeAgentLaunch?: () => Promise<void>;
140
+ onLaunched?: (input: {
141
+ pid: number;
142
+ processGroupId: number;
143
+ launchedAt: string;
144
+ }) => Promise<void>;
123
145
  runnerPreparedArtifactPaths?: string[];
124
146
  runnerPreparedArtifactSha256?: Record<string, string>;
125
147
  runnerPreparationWarnings?: string[];
126
- iosProofInputs?: IosProofInputsV1;
127
148
  }): Promise<ProveChangeResult>;
128
149
  private execute;
129
150
  private validateArtifactsAndDiff;
130
- private releaseMobileLeasesIfSettled;
131
- private releaseMobileLeases;
132
- private invocationState;
133
- private requireState;
134
151
  private isFresh;
135
- private persistOperationalTerminal;
136
- private persistTerminal;
137
- private timestamp;
152
+ private settle;
138
153
  }
139
154
  //# sourceMappingURL=acceptance-proof.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance-proof.d.ts","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance-proof.d.ts","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}