codex-orchestrator 2.0.2 → 2.0.4

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 (221) hide show
  1. package/CHANGELOG.md +44 -426
  2. package/README.md +135 -34
  3. package/dist/src/index.d.ts +11 -1
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +5 -0
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/v2/acceptance-proof.d.ts +3 -0
  8. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  9. package/dist/src/v2/acceptance-proof.js +2 -8
  10. package/dist/src/v2/acceptance-proof.js.map +1 -1
  11. package/dist/src/v2/adapters/gh-issue-adapter.d.ts +5 -3
  12. package/dist/src/v2/adapters/gh-issue-adapter.d.ts.map +1 -1
  13. package/dist/src/v2/adapters/gh-issue-adapter.js +67 -12
  14. package/dist/src/v2/adapters/gh-issue-adapter.js.map +1 -1
  15. package/dist/src/v2/adapters/issues.d.ts +16 -2
  16. package/dist/src/v2/adapters/issues.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/issues.js +15 -5
  18. package/dist/src/v2/adapters/issues.js.map +1 -1
  19. package/dist/src/v2/adapters/mission-coordinator-lock.d.ts +1 -0
  20. package/dist/src/v2/adapters/mission-coordinator-lock.d.ts.map +1 -1
  21. package/dist/src/v2/adapters/mission-coordinator-lock.js +5 -1
  22. package/dist/src/v2/adapters/mission-coordinator-lock.js.map +1 -1
  23. package/dist/src/v2/cli-contract.d.ts +3 -3
  24. package/dist/src/v2/cli-contract.d.ts.map +1 -1
  25. package/dist/src/v2/cli-contract.js +9 -1
  26. package/dist/src/v2/cli-contract.js.map +1 -1
  27. package/dist/src/v2/cli.d.ts +24 -0
  28. package/dist/src/v2/cli.d.ts.map +1 -0
  29. package/dist/src/v2/{candidate-cli.js → cli.js} +30 -26
  30. package/dist/src/v2/cli.js.map +1 -0
  31. package/dist/src/v2/code-review-report.d.ts +66 -0
  32. package/dist/src/v2/code-review-report.d.ts.map +1 -0
  33. package/dist/src/v2/code-review-report.js +259 -0
  34. package/dist/src/v2/code-review-report.js.map +1 -0
  35. package/dist/src/v2/codex-process.d.ts +8 -1
  36. package/dist/src/v2/codex-process.d.ts.map +1 -1
  37. package/dist/src/v2/codex-process.js +22 -0
  38. package/dist/src/v2/codex-process.js.map +1 -1
  39. package/dist/src/v2/config.d.ts +4 -3
  40. package/dist/src/v2/config.d.ts.map +1 -1
  41. package/dist/src/v2/config.js +8 -3
  42. package/dist/src/v2/config.js.map +1 -1
  43. package/dist/src/v2/contained-report-operation.d.ts +100 -0
  44. package/dist/src/v2/contained-report-operation.d.ts.map +1 -0
  45. package/dist/src/v2/contained-report-operation.js +200 -0
  46. package/dist/src/v2/contained-report-operation.js.map +1 -0
  47. package/dist/src/v2/containment.d.ts +10 -0
  48. package/dist/src/v2/containment.d.ts.map +1 -1
  49. package/dist/src/v2/containment.js +49 -1
  50. package/dist/src/v2/containment.js.map +1 -1
  51. package/dist/src/v2/direct-delivery.d.ts +96 -0
  52. package/dist/src/v2/direct-delivery.d.ts.map +1 -0
  53. package/dist/src/v2/direct-delivery.js +482 -0
  54. package/dist/src/v2/direct-delivery.js.map +1 -0
  55. package/dist/src/v2/immutable-workflow-publisher.d.ts +40 -0
  56. package/dist/src/v2/immutable-workflow-publisher.d.ts.map +1 -0
  57. package/dist/src/v2/immutable-workflow-publisher.js +218 -0
  58. package/dist/src/v2/immutable-workflow-publisher.js.map +1 -0
  59. package/dist/src/v2/implementation-reviewer.d.ts +81 -0
  60. package/dist/src/v2/implementation-reviewer.d.ts.map +1 -0
  61. package/dist/src/v2/implementation-reviewer.js +157 -0
  62. package/dist/src/v2/implementation-reviewer.js.map +1 -0
  63. package/dist/src/v2/owner-control-lock.d.ts +41 -0
  64. package/dist/src/v2/owner-control-lock.d.ts.map +1 -0
  65. package/dist/src/v2/owner-control-lock.js +174 -0
  66. package/dist/src/v2/owner-control-lock.js.map +1 -0
  67. package/dist/src/v2/proof-report.d.ts.map +1 -1
  68. package/dist/src/v2/proof-report.js +55 -29
  69. package/dist/src/v2/proof-report.js.map +1 -1
  70. package/dist/src/v2/route-continuations.d.ts +32 -0
  71. package/dist/src/v2/route-continuations.d.ts.map +1 -0
  72. package/dist/src/v2/route-continuations.js +2 -0
  73. package/dist/src/v2/route-continuations.js.map +1 -0
  74. package/dist/src/v2/route-coordinator.d.ts +77 -0
  75. package/dist/src/v2/route-coordinator.d.ts.map +1 -0
  76. package/dist/src/v2/route-coordinator.js +370 -0
  77. package/dist/src/v2/route-coordinator.js.map +1 -0
  78. package/dist/src/v2/route-decision.d.ts +129 -0
  79. package/dist/src/v2/route-decision.d.ts.map +1 -0
  80. package/dist/src/v2/route-decision.js +400 -0
  81. package/dist/src/v2/route-decision.js.map +1 -0
  82. package/dist/src/v2/run-issue.d.ts +64 -6
  83. package/dist/src/v2/run-issue.d.ts.map +1 -1
  84. package/dist/src/v2/run-issue.js +962 -92
  85. package/dist/src/v2/run-issue.js.map +1 -1
  86. package/dist/src/v2/run-store.d.ts +25 -1
  87. package/dist/src/v2/run-store.d.ts.map +1 -1
  88. package/dist/src/v2/run-store.js +129 -4
  89. package/dist/src/v2/run-store.js.map +1 -1
  90. package/dist/src/v2/runtime-assets.d.ts +15 -13
  91. package/dist/src/v2/runtime-assets.d.ts.map +1 -1
  92. package/dist/src/v2/runtime-assets.js +263 -416
  93. package/dist/src/v2/runtime-assets.js.map +1 -1
  94. package/dist/src/v2/runtime.d.ts +17 -9
  95. package/dist/src/v2/runtime.d.ts.map +1 -1
  96. package/dist/src/v2/runtime.js +564 -64
  97. package/dist/src/v2/runtime.js.map +1 -1
  98. package/dist/src/v2/setup-cli.d.ts.map +1 -1
  99. package/dist/src/v2/setup-cli.js +4 -10
  100. package/dist/src/v2/setup-cli.js.map +1 -1
  101. package/dist/src/v2/setup-runtime.d.ts.map +1 -1
  102. package/dist/src/v2/setup-runtime.js +19 -131
  103. package/dist/src/v2/setup-runtime.js.map +1 -1
  104. package/dist/src/v2/setup-store.d.ts +0 -5
  105. package/dist/src/v2/setup-store.d.ts.map +1 -1
  106. package/dist/src/v2/setup-store.js +3 -106
  107. package/dist/src/v2/setup-store.js.map +1 -1
  108. package/dist/src/v2/setup.d.ts +6 -43
  109. package/dist/src/v2/setup.d.ts.map +1 -1
  110. package/dist/src/v2/setup.js +13 -192
  111. package/dist/src/v2/setup.js.map +1 -1
  112. package/dist/src/v2/spec-coordinator.d.ts +85 -0
  113. package/dist/src/v2/spec-coordinator.d.ts.map +1 -0
  114. package/dist/src/v2/spec-coordinator.js +88 -0
  115. package/dist/src/v2/spec-coordinator.js.map +1 -0
  116. package/dist/src/v2/spec-delivery.d.ts +143 -0
  117. package/dist/src/v2/spec-delivery.d.ts.map +1 -0
  118. package/dist/src/v2/spec-delivery.js +401 -0
  119. package/dist/src/v2/spec-delivery.js.map +1 -0
  120. package/dist/src/v2/triage-route.d.ts +68 -0
  121. package/dist/src/v2/triage-route.d.ts.map +1 -0
  122. package/dist/src/v2/triage-route.js +223 -0
  123. package/dist/src/v2/triage-route.js.map +1 -0
  124. package/dist/src/v2/waiting-human-coordinator.d.ts +49 -0
  125. package/dist/src/v2/waiting-human-coordinator.d.ts.map +1 -0
  126. package/dist/src/v2/waiting-human-coordinator.js +509 -0
  127. package/dist/src/v2/waiting-human-coordinator.js.map +1 -0
  128. package/dist/src/v2/waiting-human.d.ts +143 -0
  129. package/dist/src/v2/waiting-human.d.ts.map +1 -0
  130. package/dist/src/v2/waiting-human.js +408 -0
  131. package/dist/src/v2/waiting-human.js.map +1 -0
  132. package/dist/src/v2/workflow-assets.d.ts +98 -0
  133. package/dist/src/v2/workflow-assets.d.ts.map +1 -0
  134. package/dist/src/v2/workflow-assets.js +646 -0
  135. package/dist/src/v2/workflow-assets.js.map +1 -0
  136. package/docs/deep-dive.md +275 -52
  137. package/internal-workflow/docs/agents/bug-workflow-routing.md +24 -0
  138. package/internal-workflow/docs/agents/bugfix-quality-gate.md +11 -0
  139. package/internal-workflow/docs/agents/coding-skill-routing.md +123 -0
  140. package/internal-workflow/docs/agents/confidence-rubric.md +65 -0
  141. package/internal-workflow/docs/agents/contract-test-ledger.md +60 -0
  142. package/internal-workflow/docs/agents/review-gates.md +42 -0
  143. package/internal-workflow/docs/agents/review-protocol.md +98 -0
  144. package/internal-workflow/docs/agents/tool-usage.md +88 -0
  145. package/internal-workflow/evals/coding-skill-evals.json +66 -0
  146. package/internal-workflow/manifest.json +1 -0
  147. package/internal-workflow/operations/acceptance-proof/SKILL.md +9 -0
  148. package/internal-workflow/operations/ambiguity-review/SKILL.md +5 -0
  149. package/internal-workflow/operations/code-review/SKILL.md +23 -0
  150. package/internal-workflow/operations/implementation/SKILL.md +24 -0
  151. package/internal-workflow/operations/spec-author/SKILL.md +12 -0
  152. package/internal-workflow/operations/spec-review/SKILL.md +12 -0
  153. package/internal-workflow/operations/triage/SKILL.md +12 -0
  154. package/internal-workflow/profiles/analyst_deep.toml +9 -0
  155. package/internal-workflow/profiles/implementer_standard.toml +9 -0
  156. package/internal-workflow/profiles/proof_agent.toml +8 -0
  157. package/internal-workflow/profiles/reviewer_deep.toml +9 -0
  158. package/internal-workflow/profiles/reviewer_standard.toml +9 -0
  159. package/internal-workflow/schemas/ambiguity-review-v1.json +1 -0
  160. package/internal-workflow/schemas/code-review-v1.json +1 -0
  161. package/internal-workflow/schemas/implementation-report-v1.json +1 -0
  162. package/internal-workflow/schemas/proof-report-v1.json +1 -0
  163. package/internal-workflow/schemas/spec-author-v1.json +1 -0
  164. package/internal-workflow/schemas/spec-review-v1.json +30 -0
  165. package/internal-workflow/schemas/triage-route-v1.json +1 -0
  166. package/internal-workflow/skills/acceptance-proof/agents/openai.yaml +6 -0
  167. package/{internal-skills → internal-workflow/skills}/agent-auto/SKILL.md +6 -1
  168. package/internal-workflow/skills/agent-auto/agents/openai.yaml +6 -0
  169. package/internal-workflow/skills/code-debugger/SKILL.md +122 -0
  170. package/internal-workflow/skills/code-debugger/agents/openai.yaml +7 -0
  171. package/internal-workflow/skills/code-review/SKILL.md +279 -0
  172. package/internal-workflow/skills/code-review/agents/openai.yaml +4 -0
  173. package/internal-workflow/skills/code-review/references/bug-classes.md +56 -0
  174. package/internal-workflow/skills/code-review/references/cleanup-lens.md +52 -0
  175. package/internal-workflow/skills/code-review/references/framework-lenses.md +34 -0
  176. package/internal-workflow/skills/code-review/references/targeted-recipes.md +49 -0
  177. package/internal-workflow/skills/diagnosing-bugs/SKILL.md +138 -0
  178. package/internal-workflow/skills/diagnosing-bugs/agents/openai.yaml +6 -0
  179. package/internal-workflow/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  180. package/internal-workflow/skills/implementation-spec-maker/SKILL.md +102 -0
  181. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +6 -0
  182. package/internal-workflow/skills/implementation-spec-maker/references/source-modes.md +31 -0
  183. package/internal-workflow/skills/implementation-spec-maker/references/spec-template.md +146 -0
  184. package/internal-workflow/skills/implementation-spec-review/SKILL.md +115 -0
  185. package/internal-workflow/skills/implementation-spec-review/agents/openai.yaml +6 -0
  186. package/internal-workflow/skills/implementation-spec-review/evals/evals.json +24 -0
  187. package/internal-workflow/skills/implementation-spec-review/references/review-loop.md +93 -0
  188. package/internal-workflow/skills/small-task-implementer/SKILL.md +104 -0
  189. package/internal-workflow/skills/small-task-implementer/agents/openai.yaml +6 -0
  190. package/internal-workflow/skills/spec-implementer/SKILL.md +126 -0
  191. package/internal-workflow/skills/spec-implementer/agents/openai.yaml +6 -0
  192. package/internal-workflow/skills/spec-implementer/evals/evals.json +30 -0
  193. package/internal-workflow/skills/spec-implementer/references/review-loop.md +94 -0
  194. package/internal-workflow/skills/tdd/SKILL.md +72 -0
  195. package/internal-workflow/skills/tdd/agents/openai.yaml +6 -0
  196. package/internal-workflow/skills/tdd/interface-design.md +31 -0
  197. package/internal-workflow/skills/tdd/mocking.md +59 -0
  198. package/internal-workflow/skills/tdd/refactoring.md +10 -0
  199. package/internal-workflow/skills/tdd/tests.md +77 -0
  200. package/internal-workflow/skills/triage/AGENT-BRIEF.md +192 -0
  201. package/internal-workflow/skills/triage/OUT-OF-SCOPE.md +101 -0
  202. package/internal-workflow/skills/triage/SKILL.md +134 -0
  203. package/internal-workflow/skills/triage/agents/openai.yaml +6 -0
  204. package/package.json +14 -8
  205. package/dist/src/v2/adapters/target-activity-fence.d.ts +0 -23
  206. package/dist/src/v2/adapters/target-activity-fence.d.ts.map +0 -1
  207. package/dist/src/v2/adapters/target-activity-fence.js +0 -249
  208. package/dist/src/v2/adapters/target-activity-fence.js.map +0 -1
  209. package/dist/src/v2/candidate-cli.d.ts +0 -22
  210. package/dist/src/v2/candidate-cli.d.ts.map +0 -1
  211. package/dist/src/v2/candidate-cli.js.map +0 -1
  212. package/dist/src/v2/legacy-cutover.d.ts +0 -52
  213. package/dist/src/v2/legacy-cutover.d.ts.map +0 -1
  214. package/dist/src/v2/legacy-cutover.js +0 -87
  215. package/dist/src/v2/legacy-cutover.js.map +0 -1
  216. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/SKILL.md +0 -0
  217. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/android.md +0 -0
  218. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/browser.md +0 -0
  219. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/references/ios.md +0 -0
  220. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/android-lease.mjs +0 -0
  221. /package/{internal-skills → internal-workflow/skills}/acceptance-proof/tools/ios-lease.mjs +0 -0
package/README.md CHANGED
@@ -1,87 +1,188 @@
1
1
  # Codex Orchestrator
2
2
 
3
- Codex Orchestrator is a runner-owned GitHub Issue loop for Codex. The public runtime has one path: select an issue carrying the configured `auto` label, execute bounded implementation cycles in an isolated worktree, run configured checks, obtain independent Acceptance Proof, and publish a review-ready branch and draft pull request.
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.
4
+
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
+
7
+ ## What happens to an issue
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, configured 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.
14
+
15
+ Ordinary technical choices do not stop the run. A human question is reserved for real product ambiguity.
4
16
 
5
17
  ## Requirements
6
18
 
7
19
  - Node.js 18 or newer
8
- - `git`, `gh`, and the configured Codex CLI
9
- - an authenticated parent Codex installation and GitHub CLI
20
+ - `git`
21
+ - an authenticated [GitHub CLI](https://cli.github.com/) (`gh auth status`)
22
+ - the configured Codex CLI version and an authenticated parent Codex installation
23
+ - a GitHub repository with a usable `origin` remote
24
+
25
+ The target path passed to every command must be absolute.
10
26
 
11
- GitHub, SSH, npm, and cloud publication credentials remain in the trusted Runner and are not forwarded through the child environment. Ordinary Codex execution and native Codex subagents may use the same user-owned Codex authentication and may read files available to the same local OS user; this is an explicit accepted local-read risk, not an external-publication grant.
27
+ ## Quick start
12
28
 
13
- ## Install and configure
29
+ Install the package in the repository you want to automate:
14
30
 
15
31
  ```sh
16
32
  npm install --save-dev codex-orchestrator
33
+ ```
34
+
35
+ Create the repository policy and GitHub labels:
36
+
37
+ ```sh
17
38
  npx codex-orchestrator setup --target "$PWD"
18
39
  npx codex-orchestrator setup --target "$PWD" --prepare-labels
19
40
  npx codex-orchestrator doctor --target "$PWD"
20
41
  ```
21
42
 
22
- `setup` writes the exact V2 policy to `.codex-orchestrator/config.json`. Use `--github-owner` and `--github-repo` together only when repository inference is unavailable. Existing recognized pre-V2 state is detect-only; migrate it explicitly with `setup --fresh` while all old activity is stopped.
43
+ `setup` infers the GitHub repository and base branch from the target checkout. If that is not possible, provide both repository fields:
44
+
45
+ ```sh
46
+ npx codex-orchestrator setup \
47
+ --target "$PWD" \
48
+ --github-owner your-org \
49
+ --github-repo your-repo
50
+ ```
23
51
 
24
- ## Run
52
+ It writes `.codex-orchestrator/config.json` and adds the generated workspace, state, and proof directories to `.gitignore`. If the repository has `test` or `typecheck` npm scripts, setup adds them as default checks. Review the generated config before the first run.
25
53
 
26
- Run one authorized issue:
54
+ Now create or choose a clear GitHub Issue, include acceptance criteria when possible, and add the `agent:auto` label. Run it directly:
27
55
 
28
56
  ```sh
29
57
  npx codex-orchestrator run --target "$PWD" --issue 123
30
58
  ```
31
59
 
32
- Poll and run matching issues serially:
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.
61
+
62
+ ## Main commands
63
+
64
+ ### `setup`
65
+
66
+ Create or verify the strict repository policy:
67
+
68
+ ```sh
69
+ npx codex-orchestrator setup --target "$PWD"
70
+ ```
71
+
72
+ Preview setup writes without changing files or labels:
73
+
74
+ ```sh
75
+ npx codex-orchestrator setup --target "$PWD" --dry-run
76
+ npx codex-orchestrator setup --target "$PWD" --prepare-labels --dry-run
77
+ ```
78
+
79
+ Setup accepts the current exact configuration schema only. Unknown or older configuration shapes are rejected rather than guessed or executed through a compatibility runtime.
80
+
81
+ ### `doctor`
82
+
83
+ Check that the config is valid, the configured repository matches `origin`, no active owner makes setup unsafe, and all configured labels exist:
84
+
85
+ ```sh
86
+ npx codex-orchestrator doctor --target "$PWD"
87
+ ```
88
+
89
+ ### `status`
90
+
91
+ Run the same read-only operational inspection in a status-oriented command:
92
+
93
+ ```sh
94
+ npx codex-orchestrator status --target "$PWD"
95
+ ```
96
+
97
+ Both `doctor` and `status` return structured JSON and make no repository or GitHub changes.
98
+
99
+ ### `run`
100
+
101
+ Run or safely resume one issue:
102
+
103
+ ```sh
104
+ npx codex-orchestrator run --target "$PWD" --issue 123
105
+ ```
106
+
107
+ Repeated calls do not start an unrelated second run. The Runner reads durable state, reconciles unfinished effects, revalidates issue authorization, and continues only when ownership and process state are safe.
108
+
109
+ ### `daemon`
110
+
111
+ Poll for open issues carrying `agent:auto` and process them serially:
33
112
 
34
113
  ```sh
35
114
  npx codex-orchestrator daemon --target "$PWD"
36
115
  ```
37
116
 
38
- Perform one polling pass:
117
+ Run exactly one polling pass—for example from cron or another scheduler—with:
39
118
 
40
119
  ```sh
41
120
  npx codex-orchestrator daemon --target "$PWD" --once
42
121
  ```
43
122
 
44
- All commands require an absolute target. `doctor`, `status`, `run`, and `daemon` read the same strict config and use the same `runIssue` lifecycle.
123
+ The daemon uses the same lifecycle as `run`; it does not have a less strict execution path.
124
+
125
+ ## Labels and visible outcomes
126
+
127
+ The default labels are:
45
128
 
46
- ## Lifecycle
129
+ | Label | Meaning |
130
+ | --- | --- |
131
+ | `agent:auto` | The issue is authorized for orchestration. |
132
+ | `agent:running` | A Runner has claimed the issue. |
133
+ | `agent:waiting-human` | One approved product question is waiting for an authorized answer. |
134
+ | `agent:blocked` | The run stopped on an external, safety, or exhausted-budget blocker. |
135
+ | `agent:review` | The branch and draft PR passed the delivery gates and are ready for human review. |
47
136
 
48
- 1. Read the issue and confirm the exact `auto` authorization label.
49
- 2. Acquire runner ownership and create or resume one issue worktree.
50
- 3. Invoke the package-owned `agent-auto` skill in a contained Codex process.
51
- 4. Validate the structured implementation report and the complete worktree diff.
52
- 5. Run the configured finite checks.
53
- 6. Freeze the checked change and invoke package-owned `acceptance-proof` in a separate contained process.
54
- 7. Validate fresh proof artifacts and criterion coverage.
55
- 8. Publish through runner-owned Git and GitHub adapters, then mark the issue review-ready.
137
+ Important command results:
56
138
 
57
- Implementation and proof retries are bounded. Crashes resume from durable intents instead of repeating already-confirmed external effects. Ambiguous ownership, process quiescence, repository identity, credentials, denied paths, or publication state fails closed with a typed result.
139
+ | Result | What to do |
140
+ | --- | --- |
141
+ | `review-ready` | Open the returned draft PR URL and review the change. |
142
+ | `spec-frozen` | Use the returned frozen specification receipt as the authority for a later implementation workflow. |
143
+ | `awaiting-user` | Reply to the issue using the returned answer prefix. Re-run the command or let the daemon pick it up. |
144
+ | `not-eligible` | Check that the issue is open, has only the appropriate authorization label, and has no existing open PR for its branch. |
145
+ | `requeued` | Another known Runner owns the repository; retry later. |
146
+ | `blocked` | Read `kind`, `resumable`, and `evidencePath`; fix the external condition only when the evidence says it is safe to resume. |
147
+ | `transport-failed` | A local or remote effect could not be confirmed. Re-run only when `resumable` is true; the Runner will reconcile durable intent first. |
58
148
 
59
- ## Acceptance Proof
149
+ All outcomes include structured evidence or a path to local evidence. Quiet terminal output is not the source of truth—the JSON result and persisted state are.
60
150
 
61
- Proof is independent from implementation. The proof process receives a frozen description of the checked change and may write only under its proof artifact root. It cannot publish, mutate issue state, or reuse implementation authority.
151
+ ## Configuration you will usually edit
62
152
 
63
- Artifacts always receive size, hash, UTF-8, path-containment, and credential checks. Public artifacts have the stricter publication contract: screenshots or sanitized generated summaries only, with host identity removed. Local command output may retain machine paths because it is never published, but credentials remain forbidden everywhere.
153
+ `.codex-orchestrator/config.json` is intentionally strict: unknown keys are errors. The most useful fields are:
64
154
 
65
- Browser and mobile proof additionally require current workflow evidence. Mobile proof uses runner-owned Android or iOS leases and refuses to take over a user-owned device or app session.
155
+ - `github.baseBranch` and `github.labels`: where completed branches target and which labels control the workflow.
156
+ - `runner.pollIntervalSeconds`: daemon polling interval.
157
+ - `checks`: finite Runner-owned commands that must pass before proof and publication.
158
+ - `proof.artifactDir`: repository-relative location for proof artifacts inside the run worktree.
159
+ - `deny.readPaths`: paths the worker must not read or modify.
160
+ - `deny.commands`: absolute command paths that must not be exposed to the worker.
66
161
 
67
- ## Package boundary
162
+ `runner.maxCycles`, the branch template, required Codex version, and containment settings are fixed policy in the current schema rather than open-ended tuning knobs.
68
163
 
69
- The npm package ships only:
164
+ ## Safety model in plain language
70
165
 
71
- - the compiled V2 runtime and adapter closure;
72
- - package-owned `agent-auto` and `acceptance-proof` skills;
73
- - this README, the architecture deep dive, changelog, and license.
166
+ The package separates two roles:
74
167
 
75
- There are no bundled workflow prompts, compatibility bridge, alternate public runtime, parent-planning mode, or Legacy CLI export.
168
+ - The **Runner** is trusted. It owns GitHub reads and writes, labels, comments, worktrees, configured checks, process lifecycle, commits, pushes, draft PRs, proof validation, and recovery state.
169
+ - Codex **workers** are bounded. They receive operation-specific instructions and a contained environment. They can inspect and change the assigned worktree or create proof-owned artifacts, but they do not receive publication credentials or permission to publish.
76
170
 
77
- ## Development
171
+ Codex and native Codex subagents still run as your local OS user and may use your existing Codex authentication. This is containment of authority, not an OS-level secrecy boundary. Credentials are scrubbed from worker environments and rejected in reports and proof artifacts.
172
+
173
+ ## Development and release checks
174
+
175
+ For package maintainers:
78
176
 
79
177
  ```sh
178
+ npm run refresh:workflow
80
179
  npm run typecheck
81
180
  npm test
82
181
  npm pack --dry-run --json
83
182
  ```
84
183
 
85
- `npm test` starts from a clean `dist` directory. `npm run smoke:live` packs the current package and mutates the configured scratch GitHub repository; run it only with explicit authorization. The default `core-release` profile contains the four external release proofs: package installation, real Codex, browser proof, and a safety-negative case.
184
+ `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.
185
+
186
+ `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.
86
187
 
87
- See [docs/deep-dive.md](docs/deep-dive.md) for the trust and durability model and [docs/live-smoke-checklist.md](docs/live-smoke-checklist.md) for live validation.
188
+ 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).
@@ -2,8 +2,16 @@ export { AcceptanceProof, ProofQuiescenceError } 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, CheckedChangeFreshness, CheckedChangePayloadV1 } from './v2/checked-change.js';
5
+ export { codeReviewReportOutputSchema, hashClosureRequest, hashCodeReviewReport, validateCodeReviewDefects, validateCodeReviewReport } from './v2/code-review-report.js';
6
+ export type { CodeReviewDefectV1, CodeReviewReportV1, CodeReviewValidationContext } from './v2/code-review-report.js';
7
+ export { ContainedImplementationReviewer } from './v2/implementation-reviewer.js';
8
+ export type { ImplementationReviewerInput, ImplementationReviewerResult } from './v2/implementation-reviewer.js';
9
+ export { SpecCoordinator } from './v2/spec-coordinator.js';
10
+ export type { SpecCoordinatorResult, SpecDeliveryOperation, SpecDeliveryState } from './v2/spec-coordinator.js';
11
+ export { createInitialSpecDelivery, createSpecRevision, freezeApprovedSpec, validateFrozenSpecReceipt, validateSpecDelivery } from './v2/spec-delivery.js';
12
+ export type { FrozenSpecReceiptV1, SpecDeliveryV1, SpecReviewReportV1, SpecRevisionV1 } from './v2/spec-delivery.js';
5
13
  export { parseAgentAutoConfig } from './v2/config.js';
6
- export type { AgentAutoConfigV1 } from './v2/config.js';
14
+ export type { AgentAutoConfig } from './v2/config.js';
7
15
  export { validateImplementationReport } from './v2/implementation-report.js';
8
16
  export type { ImplementationReportV1 } from './v2/implementation-report.js';
9
17
  export { validateProofReport } from './v2/proof-report.js';
@@ -14,4 +22,6 @@ export { createV2Runtime } from './v2/runtime.js';
14
22
  export type { V2Runtime } from './v2/runtime.js';
15
23
  export { Setup } from './v2/setup.js';
16
24
  export type { SetupIntent, SetupOutcome } from './v2/setup.js';
25
+ export { createWaitingQuestion, normalizeAnswer, renderWaitingQuestionBody } from './v2/waiting-human.js';
26
+ export type { TrustedAnswerReceiptV1, WaitingHumanExecutionV1, WaitingQuestionReceiptV1, WaitingQuestionV1 } from './v2/waiting-human.js';
17
27
  //# 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,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjF,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,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjF,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,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC5G,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"}
package/dist/src/index.js CHANGED
@@ -1,9 +1,14 @@
1
1
  export { AcceptanceProof, ProofQuiescenceError } 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';
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';
3
7
  export { parseAgentAutoConfig } from './v2/config.js';
4
8
  export { validateImplementationReport } from './v2/implementation-report.js';
5
9
  export { validateProofReport } from './v2/proof-report.js';
6
10
  export { RunIssue } from './v2/run-issue.js';
7
11
  export { createV2Runtime } from './v2/runtime.js';
8
12
  export { Setup } from './v2/setup.js';
13
+ export { createWaitingQuestion, normalizeAnswer, renderWaitingQuestionBody } from './v2/waiting-human.js';
9
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpI,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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpI,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"}
@@ -2,6 +2,7 @@ import { type CheckedChange, type CheckedChangeFreshness, type CheckedChangePayl
2
2
  import { type ProofReceipt } from './proof-report.js';
3
3
  import type { ProofRecordWriter } from './proof-store.js';
4
4
  import type { AndroidLeaseVerifier, IosLeaseVerifier } from './mobile-lease.js';
5
+ import type { WorkflowGenerationReceipt } from './workflow-assets.js';
5
6
  export interface IssueSnapshot {
6
7
  number: number;
7
8
  title: string;
@@ -44,6 +45,7 @@ export interface ProofAgent {
44
45
  checks: CheckedChangePayloadV1['checks'];
45
46
  repairOnly: boolean;
46
47
  repairFindings: string[];
48
+ workflowGeneration?: WorkflowGenerationReceipt;
47
49
  signal: AbortSignal;
48
50
  }): Promise<ProofAgentResult>;
49
51
  }
@@ -98,6 +100,7 @@ export declare class AcceptanceProof {
98
100
  issue: IssueSnapshot;
99
101
  frozenCriteria: FrozenCriterion[];
100
102
  checkedChange: CheckedChange;
103
+ workflowGeneration?: WorkflowGenerationReceipt;
101
104
  }): Promise<ProveChangeResult>;
102
105
  private execute;
103
106
  private validateArtifactsAndDiff;
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { posix } from 'node:path';
2
2
  import { checkedChangeFreshnessMatches, } from './checked-change.js';
3
- import { canonicalJson, sha256 } from './containment.js';
3
+ import { canonicalJson, containsCredentialEvidence, sha256 } from './containment.js';
4
4
  import { createProofReceipt, proofReportRepairDiagnostic, validateProofReport, } from './proof-report.js';
5
5
  export class ProofQuiescenceError extends Error {
6
6
  pid;
@@ -107,6 +107,7 @@ export class AcceptanceProof {
107
107
  checks: structuredClone(input.payload.checks),
108
108
  repairOnly: purpose === 'report-repair',
109
109
  repairFindings: purpose === 'report-repair' ? [...reportRepairFindings] : [],
110
+ workflowGeneration: input.workflowGeneration ? structuredClone(input.workflowGeneration) : undefined,
110
111
  signal: this.dependencies.signal ?? new AbortController().signal,
111
112
  });
112
113
  }
@@ -333,13 +334,6 @@ function validateArtifactBytes(artifact, bytes) {
333
334
  if (!isLocalDiagnostic && containsHostIdentityEvidence(text))
334
335
  throw new Error('proof text artifact contains host identity material');
335
336
  }
336
- function containsCredentialEvidence(value) {
337
- return [
338
- /-----BEGIN [A-Z ]*PRIVATE KEY-----/iu,
339
- /["']?authorization["']?\s*[:=]\s*["']?(?:bearer|basic)\s+/iu,
340
- /(?:api[_-]?key|access[_-]?token|refresh[_-]?token|password|secret)\s*[:=]\s*["']?[A-Za-z0-9_./+=-]{8,}/iu,
341
- ].some((pattern) => pattern.test(value));
342
- }
343
337
  function containsHostIdentityEvidence(value) {
344
338
  return /(?:^|[\s"'])(?:\/Users\/[^/\s"']+|\/home\/[^/\s"']+|[A-Za-z]:\\Users\\[^\\\s"']+)/mu.test(value);
345
339
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acceptance-proof.js","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acceptance-proof.js","sourceRoot":"","sources":["../../../src/v2/acceptance-proof.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,22 @@
1
1
  import type { CommandExecutor } from './gh-cli.js';
2
- import type { CloseIssueEvidenceInput, CreateIssueInput, GitHubIssue, GitHubIssueAdapter, GitHubIssueComment, UpdateIssueInput } from './issues.js';
2
+ import type { CloseIssueEvidenceInput, CreateIssueInput, GitHubIssue, GitHubIssueAdapter, GitHubIssueComment, GitHubRepositoryPermissionObservation, UpdateIssueInput } from './issues.js';
3
3
  export declare class GhCliIssueAdapter implements GitHubIssueAdapter {
4
+ private readonly now;
4
5
  private readonly repo;
5
6
  private readonly executor;
6
- constructor(owner: string, repo: string, executor?: CommandExecutor);
7
+ constructor(owner: string, repo: string, executor?: CommandExecutor, now?: () => string);
7
8
  listOpenIssuesWithAnyLabel(labels: string[]): Promise<GitHubIssue[]>;
8
9
  listClosedIssuesWithAnyLabel(labels: string[]): Promise<GitHubIssue[]>;
9
10
  private listIssuesWithAnyLabel;
10
11
  getIssue(number: number): Promise<GitHubIssue | undefined>;
11
12
  getLabels(issueNumber: number): Promise<string[]>;
12
13
  listAllComments(issueNumber: number): Promise<GitHubIssueComment[]>;
14
+ getRepositoryPermission(login: string, expectedUserId: string): Promise<GitHubRepositoryPermissionObservation>;
13
15
  createIssue(input: CreateIssueInput): Promise<GitHubIssue>;
14
16
  updateIssue(issueNumber: number, input: UpdateIssueInput): Promise<GitHubIssue>;
15
17
  addLabels(issueNumber: number, labels: string[]): Promise<void>;
16
18
  removeLabels(issueNumber: number, labels: string[]): Promise<void>;
17
- postComment(issueNumber: number, body: string): Promise<void>;
19
+ postComment(issueNumber: number, body: string): Promise<GitHubIssueComment>;
18
20
  closeIssueWithEvidence(issueNumber: number, input: CloseIssueEvidenceInput): Promise<void>;
19
21
  }
20
22
  //# sourceMappingURL=gh-issue-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gh-issue-adapter.d.ts","sourceRoot":"","sources":["../../../../src/v2/adapters/gh-issue-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAKlB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAKrB,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAExB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,eAAmC;IAKhF,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIpE,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAIrE,sBAAsB;IAsBvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAoB1D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAanE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB1D,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB/E,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAQxG"}
1
+ {"version":3,"file":"gh-issue-adapter.d.ts","sourceRoot":"","sources":["../../../../src/v2/adapters/gh-issue-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAIlB,qCAAqC,EAGrC,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAKrB,qBAAa,iBAAkB,YAAW,kBAAkB;IAQxD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAGzC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,eAAmC,EAC5B,GAAG,GAAE,MAAM,MAAuC;IAMxD,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIpE,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAIrE,sBAAsB;IAsBvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAoB1D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAanE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,qCAAqC,CAAC;IA2B9G,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB1D,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB/E,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQ3E,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAQxG"}
@@ -1,10 +1,12 @@
1
1
  import { defaultGhExecutor } from './gh-cli.js';
2
- import { closeIssueWithEvidence } from './issues.js';
2
+ import { closeIssueWithEvidence, GitHubPermissionRetryableError, GitHubPermissionSafetyError } from './issues.js';
3
3
  const issueJsonFields = 'number,title,body,url,state,labels,comments,closedByPullRequestsReferences';
4
4
  export class GhCliIssueAdapter {
5
+ now;
5
6
  repo;
6
7
  executor;
7
- constructor(owner, repo, executor = defaultGhExecutor) {
8
+ constructor(owner, repo, executor = defaultGhExecutor, now = () => new Date().toISOString()) {
9
+ this.now = now;
8
10
  this.repo = `${owner}/${repo}`;
9
11
  this.executor = executor;
10
12
  }
@@ -59,15 +61,45 @@ export class GhCliIssueAdapter {
59
61
  }
60
62
  async listAllComments(issueNumber) {
61
63
  const result = await this.executor('gh', [
62
- 'api', '--paginate', '--slurp', '--method', 'GET',
64
+ 'api', '--paginate', '--method', 'GET',
63
65
  `repos/${this.repo}/issues/${issueNumber}/comments`,
64
66
  '-f', 'per_page=100',
67
+ '--jq', '.[] | .id = (.id | tostring) | .user.id = (.user.id | tostring)',
65
68
  ]);
66
- const pages = JSON.parse(result.stdout);
67
- if (!Array.isArray(pages) || pages.some((page) => !Array.isArray(page))) {
68
- throw new Error('GitHub issue comment pagination payload must be an array of pages');
69
+ return result.stdout
70
+ .split('\n')
71
+ .filter((line) => line.trim().length > 0)
72
+ .map((line) => normalizeRestComment(JSON.parse(line)));
73
+ }
74
+ async getRepositoryPermission(login, expectedUserId) {
75
+ let result;
76
+ try {
77
+ result = await this.executor('gh', [
78
+ 'api', '--method', 'GET', `repos/${this.repo}/collaborators/${login}/permission`,
79
+ '--jq', '{permission,user:{id:(.user.id|tostring)}}',
80
+ ]);
81
+ }
82
+ catch (error) {
83
+ if (isPermissionNotFound(error)) {
84
+ return { permission: 'none', checkedAt: this.now(), userId: expectedUserId };
85
+ }
86
+ throw new GitHubPermissionRetryableError('GitHub repository permission could not be read');
87
+ }
88
+ try {
89
+ const payload = JSON.parse(result.stdout);
90
+ if (typeof payload !== 'object' || payload === null || Array.isArray(payload))
91
+ throw new Error('GitHub permission payload must be an object');
92
+ const record = payload;
93
+ const user = typeof record.user === 'object' && record.user !== null && !Array.isArray(record.user)
94
+ ? record.user : {};
95
+ const userId = readDecimalString(user, 'id');
96
+ if (userId !== expectedUserId)
97
+ throw new Error('GitHub permission identity did not match the comment author');
98
+ return { permission: readPermission(record.permission), checkedAt: this.now(), userId };
99
+ }
100
+ catch (error) {
101
+ throw new GitHubPermissionSafetyError(error instanceof Error ? error.message : 'GitHub permission payload is invalid');
69
102
  }
70
- return pages.flatMap((page) => page.map(normalizeRestComment));
71
103
  }
72
104
  async createIssue(input) {
73
105
  const args = ['issue', 'create', '--repo', this.repo, '--title', input.title, '--body', input.body];
@@ -124,11 +156,16 @@ export class GhCliIssueAdapter {
124
156
  ]);
125
157
  }
126
158
  async postComment(issueNumber, body) {
127
- await this.executor('gh', ['issue', 'comment', String(issueNumber), '--repo', this.repo, '--body', truncateCommentBody(body)]);
159
+ const postedBody = truncateCommentBody(body);
160
+ await this.executor('gh', ['issue', 'comment', String(issueNumber), '--repo', this.repo, '--body', postedBody]);
161
+ const matches = (await this.listAllComments(issueNumber)).filter((comment) => comment.body === postedBody);
162
+ if (matches.length === 0)
163
+ throw new Error('Posted GitHub issue comment was not observable after write');
164
+ return matches.sort((left, right) => left.id.localeCompare(right.id, 'en', { numeric: true })).at(-1);
128
165
  }
129
166
  async closeIssueWithEvidence(issueNumber, input) {
130
167
  await closeIssueWithEvidence(issueNumber, input, {
131
- postComment: (targetIssueNumber, body) => this.postComment(targetIssueNumber, body),
168
+ postComment: async (targetIssueNumber, body) => { await this.postComment(targetIssueNumber, body); },
132
169
  closeIssue: async (targetIssueNumber) => {
133
170
  await this.executor('gh', ['issue', 'close', String(targetIssueNumber), '--repo', this.repo]);
134
171
  },
@@ -190,7 +227,7 @@ function normalizeComment(input) {
190
227
  const author = typeof record.author === 'object' && record.author !== null ? record.author : {};
191
228
  const login = typeof author.login === 'string' ? author.login : '';
192
229
  const authorAssociation = typeof record.authorAssociation === 'string' ? record.authorAssociation : '';
193
- return [{ id, url, body, createdAt, author: { login }, authorAssociation }];
230
+ return [{ id, url, body, createdAt, updatedAt: createdAt, author: { login, id: '' }, authorAssociation }];
194
231
  }
195
232
  function normalizeRestComment(input) {
196
233
  if (typeof input !== 'object' || input === null || Array.isArray(input)) {
@@ -201,14 +238,32 @@ function normalizeRestComment(input) {
201
238
  ? record.user
202
239
  : {};
203
240
  return {
204
- id: readString(record, 'node_id'),
241
+ id: readDecimalString(record, 'id'),
205
242
  url: readString(record, 'html_url'),
206
243
  body: readString(record, 'body'),
207
244
  createdAt: readString(record, 'created_at'),
208
- author: { login: readString(user, 'login') },
245
+ updatedAt: readString(record, 'updated_at'),
246
+ author: { login: readString(user, 'login'), id: readDecimalString(user, 'id') },
209
247
  authorAssociation: readString(record, 'author_association'),
210
248
  };
211
249
  }
250
+ function readDecimalString(record, key) {
251
+ const value = readString(record, key);
252
+ if (!/^(0|[1-9]\d*)$/u.test(value))
253
+ throw new Error(`GitHub issue payload ${key} must be a decimal string`);
254
+ return value;
255
+ }
256
+ function readPermission(value) {
257
+ if (value === 'none' || value === 'read' || value === 'write' || value === 'admin')
258
+ return value;
259
+ throw new Error('GitHub repository permission is unsupported');
260
+ }
261
+ function isPermissionNotFound(error) {
262
+ if (!(error instanceof Error))
263
+ return false;
264
+ const commandError = error;
265
+ return commandError.code === 1 && /(HTTP 404|not found)/iu.test(commandError.stderr ?? '');
266
+ }
212
267
  function normalizePullRequestLink(input) {
213
268
  if (typeof input !== 'object' || input === null) {
214
269
  return [];