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
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: to-spec
3
+ description: Turn the current conversation and codebase context into a proportionate, human-readable product spec or PRD in the user's language without another interview. In Plan combined mode, return the draft in context without intermediate publication; in standalone use, publish durable planning context only when requested. Planning output never authorizes implementation.
4
+ ---
5
+
6
+ Synthesize what is already known; do not interview the user. Produce a product
7
+ spec or PRD in the user's conversation language and preserve exact domain or
8
+ technical identifiers. The result is planning authority, never executable
9
+ delivery authority by itself.
10
+
11
+ ## Modes
12
+
13
+ - **Combined flow:** Combined mode is invoked by Plan. Return the draft to Plan
14
+ in the current context so it can pass the draft directly to `$to-tickets`.
15
+ Do not review or publish an intermediate PRD. `$to-tickets` owns every
16
+ remaining packet step. The approved ticket packet is the last planning
17
+ artifact before separately authorized delivery.
18
+ - **Standalone:** publish one durable planning-context issue only when
19
+ requested. Mark it `Artifact: planning-context`. Do not apply a triage state
20
+ or imply implementation authority.
21
+
22
+ If synthesis exposes a new product decision, keep the PRD unapproved and return
23
+ the decision to the user. Publication alone is never approval.
24
+
25
+ Before standalone publication, read the repository's issue-tracker policy. If
26
+ no authoritative tracker or publication procedure exists, stop and ask where
27
+ to publish; do not invent one. Combined mode does not need a tracker until
28
+ `$to-tickets` prepares publication.
29
+
30
+ ## Artifact Shape
31
+
32
+ Choose the smallest content that preserves product intent and proof. A narrow
33
+ bug, incident, data repair, or understood implementation correction may use a
34
+ **Fix Brief** with one to three observable stories. Otherwise use the same
35
+ template and include only sections that carry a real decision, consequence,
36
+ scope boundary, or proof obligation.
37
+
38
+ `$to-spec` does not determine implementation-ticket count. PRD length, section
39
+ count, file count, and risk do not size a later ticket packet; Plan and
40
+ `$to-tickets` retain composition and slicing ownership. Material risk
41
+ strengthens `Risk / Proof Notes`; it does not make the PRD or solution broader.
42
+ Omit that section when no material risk exists.
43
+
44
+ ## Process
45
+
46
+ 1. Explore the repo if needed. Use project domain language, respect relevant
47
+ ADRs, and reuse cited `$research` artifacts. Keep unsupported external facts
48
+ open instead of converting them into product scope.
49
+
50
+ 2. Sketch the seams at which the outcome will be proved. Existing seams should
51
+ be preferred to new ones. Use the highest seam possible. If new seams are
52
+ needed, propose them at the highest point you can. The fewer seams across the
53
+ codebase, the better; the ideal number is one. Record only seams that
54
+ materially define behavior, proof, or ownership, and ask the user only when
55
+ a seam choice changes scope, risk, or ownership.
56
+
57
+ 3. Write the template below, then follow the requested mode. A standalone
58
+ planning-context issue is marked `Artifact: planning-context`; it is not an
59
+ implementation ticket and receives no triage state.
60
+
61
+ <spec-template>
62
+
63
+ ## Problem Statement
64
+
65
+ The problem that the user is facing, from the user's perspective.
66
+
67
+ ## Solution
68
+
69
+ The solution to the problem, from the user's perspective.
70
+
71
+ ## Decisions For Approval
72
+
73
+ The product, behavior, scope, ownership, rollout, and risky trade-off decisions
74
+ the user is being asked to approve. Separate confirmed decisions from open
75
+ decisions. If implementation discovery later changes one of these decisions,
76
+ the delivery workflow must return a decision delta instead of guessing.
77
+
78
+ ## Non-Obvious Consequences
79
+
80
+ Important hidden state, background behavior, failure behavior, limitations, or
81
+ trade-offs that the user would not infer from the happy-path solution. Write
82
+ `None` only when there genuinely are no material consequences.
83
+
84
+ ## User Stories
85
+
86
+ A numbered list of distinct, observable user stories in the format:
87
+
88
+ 1. As an <actor>, I want a <feature>, so that <benefit>
89
+
90
+ Include only stories that change scope, acceptance, or proof; do not create
91
+ variants to make the list look complete. For a Fix Brief spec, use 1-3 stories
92
+ or operational scenarios that directly explain the bug, repair, or regression
93
+ risk.
94
+
95
+ ## Implementation Decisions
96
+
97
+ A list of already approved implementation constraints or technical decisions
98
+ that materially protect product behavior. Omit architecture vocabulary when
99
+ ownership and public seams do not change.
100
+
101
+ Do NOT include specific file paths or code snippets. They may end up being
102
+ outdated very quickly.
103
+
104
+ Exception: if a prototype produced a snippet that encodes a decision more
105
+ precisely than prose can, inline it within the relevant decision and note
106
+ briefly that it came from a prototype. Trim to the decision-rich parts — not a
107
+ working demo, just the important bits.
108
+
109
+ ## Testing Decisions
110
+
111
+ A list of testing decisions that were made. Describe what makes a good
112
+ behavior-level test, which modules will be tested, and relevant test prior art
113
+ in the codebase.
114
+
115
+ ## Out of Scope
116
+
117
+ A description of the things that are out of scope for this spec.
118
+
119
+ ## Risk / Proof Notes
120
+
121
+ Required only when material risk exists:
122
+
123
+ - Primary risk:
124
+ - Key invariants:
125
+ - Expected proof:
126
+ - Review focus:
127
+ - Out-of-scope risk:
128
+
129
+ ## Further Notes
130
+
131
+ Any further notes about the feature.
132
+
133
+ </spec-template>
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "To Spec"
3
+ short_description: "Turn context into product authority"
4
+ default_prompt: "Use $to-spec to synthesize product authority; in Plan combined mode, return the contextual draft so Plan can pass it to $to-tickets."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,24 @@
1
+ {
2
+ "schema_version": 1,
3
+ "skill": "to-spec",
4
+ "cases": [
5
+ {
6
+ "id": "combined-prd-stays-contextual",
7
+ "prompt": "Plan invoked to-spec in combined mode for a spec-and-tickets outcome.",
8
+ "expected": ["synthesize the PRD from known context", "return the draft to Plan without review or publication"],
9
+ "forbidden": ["publish an intermediate PRD", "run the packet review"]
10
+ },
11
+ {
12
+ "id": "standalone-planning-context",
13
+ "prompt": "Publish this synthesized PRD as standalone durable planning context.",
14
+ "expected": ["publish one Artifact: planning-context issue", "apply no triage state", "preserve planning as non-executable authority"],
15
+ "forbidden": ["create implementation tickets", "imply implementation authorization"]
16
+ },
17
+ {
18
+ "id": "proportional-prd-does-not-size-tickets",
19
+ "prompt": "Write a proportional PRD for this risky cross-module outcome without deciding its implementation breakdown.",
20
+ "expected": ["preserve Decisions For Approval and Non-Obvious Consequences", "include Risk / Proof Notes because risk is material", "leave ticket count and slicing to Plan and to-tickets"],
21
+ "forbidden": ["make user stories extremely extensive", "determine ticket count from modules, files, or risk"]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,189 @@
1
+ ---
2
+ name: to-tickets
3
+ description: Compile Plan's contextual PRD draft or approved product authority into the smallest executable ticket packet, run one fresh semantic packet review, obtain one approval, publish serially, verify authoritative tracker read-back, and stop before implementation.
4
+ ---
5
+
6
+ # To Tickets
7
+
8
+ Compile product authority into the smallest number of independently verifiable
9
+ vertical tickets. Keep one coherent outcome as one ticket. Each generated AFK
10
+ ticket must be executable from its body plus the Parent PRD and current
11
+ repository evidence without another planning artifact.
12
+
13
+ The Parent PRD remains the sole product and final-acceptance authority. Each
14
+ ticket contains only its local observable outcome, scope, blockers, proof, and
15
+ Parent link. The approved ticket body plus Parent PRD is the final execution
16
+ authority; no later planning pass is inserted.
17
+
18
+ `$to-tickets` owns one fresh semantic reviewer, one explicit user approval,
19
+ serialized publication, deterministic reconciliation, and authoritative
20
+ tracker read-back for the complete packet.
21
+
22
+ The primary route remains `planning-only` while compiling or publishing these
23
+ artifacts. `ticket-graph` begins only after separate delivery authorization;
24
+ never report it merely because the planning output is a graph.
25
+
26
+ Read the repository's issue-tracker policy and triage vocabulary before
27
+ preparing publication. If either required authority is missing, stop before
28
+ tracker effects and ask the user; do not invent a tracker, schema, or labels.
29
+
30
+ ## Progressive Reference
31
+
32
+ Read [publishing-details.md](references/publishing-details.md) before preparing
33
+ the complete publish-ready packet, requesting approval, or publishing any
34
+ tracker effect.
35
+
36
+ ## Shape
37
+
38
+ Split only for an independent outcome, owner, release, real blocker, safe
39
+ parallel boundary, or human/live gate. Do not split by technical layer.
40
+
41
+ Each ticket is a tracer-bullet vertical slice: it cuts a narrow but COMPLETE
42
+ path through every relevant layer, is demoable or verifiable on its own, and is
43
+ sized to fit in a single fresh context window. Keep one coherent outcome as one
44
+ ticket. Add discovery, integration, or HITL tickets only when each has its own
45
+ outcome and blocking relationship. Risk strengthens proof and review focus; it
46
+ does not create tickets. Merge steps that share one owner, release, and
47
+ validation path.
48
+
49
+ Where repository evidence proves a small prefactor is required, "Make the
50
+ change easy, then make the easy change." Keep it inside the same vertical
51
+ outcome unless it is independently verifiable and genuinely blocks later work.
52
+
53
+ ## Process
54
+
55
+ ### 1. Gather authority
56
+
57
+ Read the complete source and its decision-changing comments. Reuse cited
58
+ `$research` artifacts. If a material external contract remains unresolved,
59
+ create a blocking discovery ticket.
60
+
61
+ Explore only enough repository code, tests, ADRs, and domain docs to identify
62
+ the real owner/public seam and a compatible proof. Never invent paths, symbols,
63
+ commands, fixtures, ownership, or behavior.
64
+
65
+ When an applicable owner/public seam is honestly unknown, create a blocking
66
+ discovery ticket whose observable outcome is the missing owner, seam, and proof
67
+ evidence. Do not publish the dependent implementation ticket as AFK-ready until
68
+ that discovery resolves it.
69
+
70
+ ### 2. Draft executable vertical tickets
71
+
72
+ Each ticket must:
73
+
74
+ - deliver one observable end-to-end outcome;
75
+ - link directly to its Parent PRD;
76
+ - bound local scope and out-of-scope work;
77
+ - name the owner/public seam when repository evidence confirms it;
78
+ - state observable acceptance criteria and a compatible behavior proof or exact
79
+ non-TDD proof;
80
+ - explain why the proof cannot pass while the approved claim is false;
81
+ - declare real blockers and dependency edges.
82
+
83
+ Keep unresolved product decisions with the user and unresolved external or
84
+ technical discovery in a blocking AFK/HITL ticket. If the generated ticket
85
+ would need a later planning artifact, it is not ready to publish.
86
+
87
+ For user-facing work, include an end-to-end walkthrough criterion and use
88
+ `$ui-evidence-proof` as the proof standard. For a wide mechanical refactor, use
89
+ expand-contract and keep each migration batch independently green.
90
+
91
+ If repository evidence proves an **indivisible migration** whose intermediate
92
+ batches cannot be independently green, do not publish those batches as child
93
+ tickets and do not create a shared red integration branch. Compile one
94
+ executable migration ticket with one owner, one isolated execution scope, and
95
+ one final green acceptance boundary over the complete migrated state. In this
96
+ fallback, intermediate batches are not child checkpoints and release no successor. If
97
+ that complete outcome cannot fit one fresh implementation context or lacks a
98
+ credible final proof, return a Decision Delta instead of publishing an
99
+ unexecutable graph.
100
+
101
+ ### 3. Freeze the complete publish-ready packet
102
+
103
+ Keep one contextual packet containing the complete Parent PRD and every exact
104
+ ticket body, plus:
105
+
106
+ - source solution, scope, exclusions, decisions, and consequences;
107
+ - ordered graph and blocking edges;
108
+ - material risks and open questions.
109
+
110
+ This packet is contextual planning data, not a separately published artifact or
111
+ workflow owner. Do not publish any intermediate PRD.
112
+
113
+ ### 4. Run one fresh semantic packet review
114
+
115
+ For the settled packet, launch exactly one fresh `standards_reviewer` without a
116
+ history fork (`fork_context=false` on V1; `fork_turns="none"` on V2). Begin its
117
+ brief with `Assigned role: standards_reviewer`, provide the full source authority
118
+ and complete publish-ready packet, and require both internal lenses in the same
119
+ review activation: source fidelity and ticket executability.
120
+
121
+ - **Source fidelity:** every product claim, decision, scope boundary,
122
+ consequence, and blocker is grounded in the source; no behavior or ownership
123
+ is invented or lost.
124
+ - **Ticket executability:** every ticket is a cohesive vertical outcome that a
125
+ fresh implementation context can execute and prove from its body plus the
126
+ Parent PRD; dependencies are real, proof observes the claim, and no later
127
+ planning artifact is required.
128
+
129
+ The reviewer is read-only and returns `APPROVE` or `NEEDS_WORK` with exact
130
+ source/artifact evidence. Capture a non-empty fresh child identity and wait for
131
+ that same child. Do not split the lenses across children and do not launch the
132
+ delivery Standards review. A missing, failed, or non-approving review
133
+ blocks approval and publication. If repairs change a product decision, return
134
+ that decision to the user rather than resolving it in review.
135
+
136
+ ### 5. Get one explicit approval
137
+
138
+ After the semantic review approves, show the complete publish-ready packet and
139
+ obtain one explicit user approval of the exact Parent and ticket bodies, product
140
+ decisions, scope, exclusions, ticket boundaries, blockers/dependencies,
141
+ ownership, HITL/live gates, and proof obligations. Tracker identifiers, native
142
+ links, and final state are the only fields publication may fill afterward.
143
+
144
+ The single exact-packet approval also answers Matt's useful breakdown checks:
145
+
146
+ - Does the granularity feel right?
147
+ - Are the blocking edges correct — does each ticket only depend on tickets that
148
+ genuinely gate it?
149
+ - Should any tickets be merged or split further?
150
+
151
+ These are not separate quizzes or approvals. Any requested change rebuilds the
152
+ complete packet under the Decision Delta rule below.
153
+
154
+ A change to behavior, scope, ownership, ticket boundaries, blockers, or proof
155
+ obligations invalidates approval and returns a Decision Delta. The changed
156
+ complete packet requires one new fresh semantic review and one new explicit
157
+ user approval before publication can continue.
158
+
159
+ ### 6. Publish final artifacts
160
+
161
+ Follow [publishing-details.md](references/publishing-details.md). Publication is
162
+ serialized through the single current root publisher. If product context is
163
+ not durable, first publish one non-executable Parent marked
164
+ `Artifact: planning-context` and without a triage state. When a source tracker
165
+ issue already exists, reference it without closing or relabeling it. Publish
166
+ blockers first.
167
+
168
+ - **Local files:** write one file per ticket under
169
+ `.scratch/<feature-slug>/issues/<NN>-<slug>.md`.
170
+ - **Real tracker:** publish one issue per ticket in dependency order and use
171
+ native Parent/sub-issue and blocking links.
172
+
173
+ Record the future frontier — tickets whose blockers are all done — in the
174
+ approved graph, but do not work it. Delivery starts only under separate
175
+ authorization after this planning flow stops.
176
+
177
+ The issue body plus Parent PRD is the durable execution authority. Apply
178
+ `ready-for-agent` to AFK and `ready-for-human` to HITL tickets directly; do not
179
+ invoke `$triage` or add a duplicate brief comment. Publish the approved terms
180
+ unchanged except for tracker identifiers, native links, and final state.
181
+
182
+ Reject AFK publication when criteria require later interpretation, proof can
183
+ pass while the claim is false, an applicable owner/seam is unknown, or a future
184
+ planning artifact is required. After all publication effects, perform the
185
+ authoritative tracker read-back and deterministic reconciliation defined in the
186
+ reference.
187
+
188
+ Successful read-back stops planning before implementation. Publication, links,
189
+ and labels do not authorize delivery.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "To Tickets"
3
+ short_description: "Review and publish executable ticket packets"
4
+ default_prompt: "Use $to-tickets to compile the complete executable packet, run one fresh semantic review, obtain one approval, publish serially, verify tracker read-back, and stop before implementation."
5
+ policy:
6
+ allow_implicit_invocation: false
@@ -0,0 +1,79 @@
1
+ {
2
+ "schema_version": 1,
3
+ "skill": "to-tickets",
4
+ "cases": [
5
+ {
6
+ "id": "coherent-outcome-stays-one-ticket",
7
+ "prompt": "Break down one coherent outcome with one owner, release, and validation path.",
8
+ "expected": ["create one ticket"],
9
+ "forbidden": ["split from size, file count, statefulness, or generic risk"]
10
+ },
11
+ {
12
+ "id": "ordinary-one-ticket-stays-direct",
13
+ "prompt": "Compile the approved one-ticket PRD into its final executable ticket and stop before delivery.",
14
+ "expected": ["publish one ticket containing its local outcome, scope, blockers, proof, and Parent link", "keep the Parent PRD as sole product and final authority"],
15
+ "forbidden": ["create duplicate durable planning state", "request another execution artifact"]
16
+ },
17
+ {
18
+ "id": "complete-packet-gets-one-semantic-review",
19
+ "prompt": "Prepare a publish-ready PRD and three-ticket graph after Plan passed the combined PRD draft to you.",
20
+ "expected": ["launch one fresh semantic reviewer over the complete packet", "apply source fidelity and ticket executability in that one review", "obtain one explicit user approval before publication"],
21
+ "forbidden": ["review the intermediate PRD", "launch separate workflow owners for each lens", "request multiple approvals"]
22
+ },
23
+ {
24
+ "id": "serialized-publication-recovers-response-loss",
25
+ "prompt": "Publish an approved Parent and two children when responses may be lost after create, link, or label effects.",
26
+ "expected": ["serialize every effect", "reread authoritative tracker state before retrying", "retry only a proven-missing effect", "finish with authoritative tracker read-back"],
27
+ "forbidden": ["recreate an identifiable issue", "retry an unknown effect blindly", "publish concurrently"]
28
+ },
29
+ {
30
+ "id": "readback-repairs-only-technical-mismatch",
31
+ "prompt": "Authoritative read-back finds one missing label while all approved bodies and relationships match.",
32
+ "expected": ["repair the proven technical mismatch and reread", "do not launch another semantic reviewer", "do not request another approval"],
33
+ "forbidden": ["treat integrity proof as semantic review", "start implementation"]
34
+ },
35
+ {
36
+ "id": "material-change-invalidates-approval",
37
+ "prompt": "During reconciliation, the proposed repair changes one ticket boundary and its proof obligation.",
38
+ "expected": ["return a Decision Delta", "run one new fresh complete semantic review", "obtain one new user approval before publication continues"],
39
+ "forbidden": ["call the change technical refinement", "reuse the old approval"]
40
+ },
41
+ {
42
+ "id": "ambiguous-partial-packet-fails-closed",
43
+ "prompt": "Search finds two matching Parents or publication concurrency cannot be excluded.",
44
+ "expected": ["perform no writes", "fail closed for reconciliation"],
45
+ "forbidden": ["pick one Parent by guess", "create another packet"]
46
+ },
47
+ {
48
+ "id": "tracer-bullet-vertical-outcome",
49
+ "prompt": "Slice one approved outcome that crosses schema, API, UI, and behavior proof.",
50
+ "expected": ["create the smallest tracer-bullet ticket that completes the relevant end-to-end path", "keep the ticket demoable or verifiable in one fresh context"],
51
+ "forbidden": ["split by schema, API, UI, and tests", "create tickets from generic risk"]
52
+ },
53
+ {
54
+ "id": "unknown-owner-seam-becomes-discovery",
55
+ "prompt": "The approved outcome is clear, but repository evidence cannot identify the applicable owner or public proof seam.",
56
+ "expected": ["create a blocking discovery ticket for owner, seam, and proof evidence", "block the dependent implementation ticket"],
57
+ "forbidden": ["guess the owner or seam", "publish the dependent ticket as AFK-ready"]
58
+ },
59
+ {
60
+ "id": "one-exact-packet-approval",
61
+ "prompt": "The complete Parent and ticket bodies passed the one combined semantic review.",
62
+ "expected": ["show the exact complete packet", "obtain one approval covering granularity, blocking edges, boundaries, ownership, and proof", "publish only the approved terms"],
63
+ "forbidden": ["run separate fidelity and executability reviewers", "request multiple approvals", "change ticket boundaries during publication"]
64
+ },
65
+ {
66
+ "id": "indivisible-migration-one-green-ticket",
67
+ "prompt": "A broad migration has one owner and final proof, but its intermediate batches cannot remain green independently.",
68
+ "expected": [
69
+ "compile one executable migration ticket with one final green acceptance boundary",
70
+ "keep intermediate batches inside that ticket rather than child checkpoints",
71
+ "return a Decision Delta if the complete migration cannot fit one fresh context"
72
+ ],
73
+ "forbidden": [
74
+ "publish red migration batches as graph children",
75
+ "create a shared red integration branch"
76
+ ]
77
+ }
78
+ ]
79
+ }
@@ -0,0 +1,117 @@
1
+ # To Tickets Publishing Details
2
+
3
+ ## Executable ticket body
4
+
5
+ Every ticket is executable from its body plus the Parent PRD without another
6
+ planning artifact. Keep the body local and include only:
7
+
8
+ - the Parent link;
9
+ - the local observable outcome and acceptance criteria;
10
+ - in-scope and out-of-scope boundaries;
11
+ - confirmed owner/public seam when needed for zero-guess execution;
12
+ - blockers and native dependency links;
13
+ - behavior proof or exact non-TDD proof;
14
+ - AFK/HITL final state, which never authorizes implementation.
15
+
16
+ Do not copy the Parent's product authority into each ticket. Keep shared product
17
+ rules in the Parent, make a contract-owning ticket block its consumers, and
18
+ merge slices that cannot stand or be proved independently. A material execution
19
+ gap becomes a blocking discovery/HITL ticket or a Decision Delta; never defer it
20
+ to a later planning artifact.
21
+
22
+ ## Publish template
23
+
24
+ For local files, prefix the body with `# <NN> — <Ticket title>`. For a real
25
+ tracker, use the same title as the issue title and begin the body at `## Parent`.
26
+ The body shape is otherwise identical:
27
+
28
+ ```md
29
+ ## Parent
30
+
31
+ <authoritative Parent link>
32
+
33
+ ## Observable outcome
34
+
35
+ <one end-to-end behavior>
36
+
37
+ ## Scope
38
+
39
+ - In scope: <local behavior and owner>
40
+ - Out of scope: <source-authorized boundary>
41
+
42
+ ## Acceptance criteria
43
+
44
+ - [ ] <observable criterion>
45
+ - [ ] <observable criterion>
46
+
47
+ ## Owner and proof seam
48
+
49
+ - Owner / public seam: <confirmed owner or bounded discovery>
50
+ - Proof: <behavior-level or exact non-TDD proof>
51
+ - Why false behavior cannot pass: <short explanation>
52
+
53
+ ## Blocked by
54
+
55
+ <native ticket relationships or None>
56
+
57
+ ## Final state
58
+
59
+ AFK: `ready-for-agent`; HITL: `ready-for-human`. State does not authorize
60
+ implementation.
61
+ ```
62
+
63
+ ## Serialized publication
64
+
65
+ The single current root publisher performs every tracker effect. Do not create
66
+ a claim, lease, lock service, coordinator record, or other durable publication
67
+ state.
68
+
69
+ Before writing:
70
+
71
+ 1. Search for an existing source-linked Parent and source-linked children.
72
+ 2. Reconcile immutable source identity and any known tracker identities.
73
+ 3. If concurrent publication cannot be excluded, multiple matching Parents
74
+ exist, or a partial packet cannot be identified deterministically, perform no
75
+ writes and fail closed.
76
+
77
+ Publish in dependency order and await each create, link, and label effect
78
+ separately, then reread authoritative tracker state before the next write.
79
+ Persist each returned identity through the Parent/source links in issue bodies.
80
+ Apply labels only after identity reconciliation.
81
+
82
+ Publication records the graph frontier but never works it. A ticket with no
83
+ unresolved blockers is merely eligible for later separately authorized
84
+ delivery; publication does not start that delivery.
85
+
86
+ After a timeout, transport loss, or unknown write outcome, reread the tracker
87
+ and retry only a proven-missing effect. Continue an identifiable partial packet
88
+ by filling missing issues or relationships; never recreate an identifiable
89
+ issue and never retry an unknown effect blindly.
90
+
91
+ ## Authoritative read-back
92
+
93
+ After every publication effect, reread the tracker and compare it with the
94
+ approved packet. Verify:
95
+
96
+ - exact approved Parent and ticket bodies after substituting only approved
97
+ tracker identifiers, native links, and final state;
98
+ - native Parent, sub-issue, and blocker links in both directions where the
99
+ tracker exposes them;
100
+ - exact AFK/HITL labels and absence of conflicting planning or delivery state;
101
+ - absence of duplicate or partial packets;
102
+ - every ticket remains executable from its body plus the Parent PRD;
103
+ - the publication event trace contains one semantic review, one approval, and
104
+ no implementation action.
105
+
106
+ Post-publication read-back is integrity proof. It does not launch another
107
+ semantic reviewer and does not request another approval.
108
+
109
+ A proven technical mismatch such as a missing label or native link may be
110
+ repaired deterministically and reread. Ambiguous identity, concurrent writes,
111
+ or duplicate candidates fail closed without writes. A repair that changes
112
+ behavior, scope, ownership, ticket boundaries, blockers, or proof obligations
113
+ is a Decision Delta: invalidate approval, rebuild the complete packet, run one
114
+ new fresh semantic review, and obtain one new explicit user approval.
115
+
116
+ Successful read-back must stop before implementation. Publication, links, and
117
+ labels do not authorize delivery.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-orchestrator",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
4
4
  "description": "Reusable GitHub Issues runner for Codex.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,54 +0,0 @@
1
- import type { ProofReceipt } from './proof-report.js';
2
- import { type DurableReportInvocationV1 } from './contained-report-operation.js';
3
- import { type AtomicStateFileOptions } from './atomic-store.js';
4
- declare const TERMINAL_STATUSES: readonly ["passed", "needs-rework", "external-block", "transport-failed", "cancelled", "internal-error"];
5
- export type ProofStatus = 'active' | typeof TERMINAL_STATUSES[number];
6
- export interface ProofIosInputsV1 {
7
- helperPath: string;
8
- leaseRoot: string;
9
- leaseArtifactPath: string;
10
- proofId: string;
11
- ownerPid: number;
12
- xcrunPath: string;
13
- runtimeId: string | null;
14
- deviceTypeId: string | null;
15
- }
16
- export interface ProofStateV1 {
17
- schema: 'codex-orchestrator.acceptance-proof-state';
18
- version: 1;
19
- generation: number;
20
- proofId: string;
21
- bindingSha256: string;
22
- status: ProofStatus;
23
- reportRepairs: 0 | 1;
24
- repairFindings: string[];
25
- repairArtifactSha256?: Record<string, string>;
26
- iosProofInputs?: ProofIosInputsV1;
27
- invocation?: DurableReportInvocationV1;
28
- receipt?: ProofReceipt;
29
- startedAt: string;
30
- updatedAt: string;
31
- }
32
- export type ProofStateBodyV1 = Omit<ProofStateV1, 'generation'>;
33
- export interface ProofRecordWriter {
34
- read(proofId: string): Promise<ProofStateV1 | undefined>;
35
- compareAndSwap(proofId: string, expectedBinding: string, expectedGeneration: number, next: ProofStateBodyV1): Promise<ProofStateV1>;
36
- }
37
- export declare class InMemoryProofRecordWriter implements ProofRecordWriter {
38
- private readonly states;
39
- read(proofId: string): Promise<ProofStateV1 | undefined>;
40
- compareAndSwap(proofId: string, expectedBinding: string, expectedGeneration: number, next: ProofStateBodyV1): Promise<ProofStateV1>;
41
- }
42
- export declare class FileProofRecordWriter implements ProofRecordWriter {
43
- private readonly proofsRoot;
44
- private readonly options;
45
- constructor(proofsRoot: string, options?: AtomicStateFileOptions);
46
- read(proofId: string): Promise<ProofStateV1 | undefined>;
47
- compareAndSwap(proofId: string, expectedBinding: string, expectedGeneration: number, next: ProofStateBodyV1): Promise<ProofStateV1>;
48
- private file;
49
- }
50
- export declare function validateProofState(value: unknown): ProofStateV1;
51
- export declare function validateProofIosInputs(value: unknown, proofId: string): asserts value is ProofIosInputsV1;
52
- export declare function validateProofArtifactInventory(value: unknown): Record<string, string>;
53
- export {};
54
- //# sourceMappingURL=proof-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proof-store.d.ts","sourceRoot":"","sources":["../../../src/v2/proof-store.ts"],"names":[],"mappings":"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"}