approval-md 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +629 -559
  2. package/SPEC.md +99 -24
  3. package/dist/src/adapters/agentmail.d.ts +426 -0
  4. package/dist/src/adapters/agentmail.js +2 -2
  5. package/dist/src/adapters/conformance.d.ts +149 -0
  6. package/dist/src/adapters/contract.d.ts +628 -0
  7. package/dist/src/adapters/contract.js +110 -16
  8. package/dist/src/adapters/contract.js.map +1 -1
  9. package/dist/src/adapters/email.d.ts +324 -0
  10. package/dist/src/adapters/env-passphrase.d.ts +93 -0
  11. package/dist/src/adapters/public.d.ts +11 -0
  12. package/dist/src/adapters/public.js +11 -0
  13. package/dist/src/adapters/public.js.map +1 -0
  14. package/dist/src/adapters/registry.d.ts +59 -0
  15. package/dist/src/adapters/registry.js +2 -1
  16. package/dist/src/adapters/registry.js.map +1 -1
  17. package/dist/src/adapters/smtp.d.ts +213 -0
  18. package/dist/src/adapters/vault-provider.d.ts +114 -0
  19. package/dist/src/adapters/vault-provider.js +3 -3
  20. package/dist/src/adapters/zzz.d.ts +66 -0
  21. package/dist/src/adapters/zzz.js +299 -0
  22. package/dist/src/adapters/zzz.js.map +1 -0
  23. package/dist/src/channels/batch.d.ts +109 -0
  24. package/dist/src/channels/cli.d.ts +193 -0
  25. package/dist/src/channels/conformance.d.ts +92 -0
  26. package/dist/src/channels/contract.d.ts +656 -0
  27. package/dist/src/channels/contract.js +200 -7
  28. package/dist/src/channels/contract.js.map +1 -1
  29. package/dist/src/channels/payload-view.d.ts +35 -0
  30. package/dist/src/channels/render-queue.d.ts +149 -0
  31. package/dist/src/channels/tagging.d.ts +196 -0
  32. package/dist/src/channels/telegram.d.ts +1944 -0
  33. package/dist/src/channels/telegram.js +218 -23
  34. package/dist/src/channels/telegram.js.map +1 -1
  35. package/dist/src/channels/web.d.ts +350 -0
  36. package/dist/src/channels/web.js +17 -0
  37. package/dist/src/channels/web.js.map +1 -1
  38. package/dist/src/cli/adapter.d.ts +90 -0
  39. package/dist/src/cli/adapter.js +25 -15
  40. package/dist/src/cli/adapter.js.map +1 -1
  41. package/dist/src/cli/amend.d.ts +59 -0
  42. package/dist/src/cli/amend.js +214 -30
  43. package/dist/src/cli/amend.js.map +1 -1
  44. package/dist/src/cli/args.d.ts +43 -0
  45. package/dist/src/cli/attest.d.ts +50 -0
  46. package/dist/src/cli/attest.js +134 -7
  47. package/dist/src/cli/attest.js.map +1 -1
  48. package/dist/src/cli/audit-card.d.ts +62 -0
  49. package/dist/src/cli/audit.d.ts +59 -0
  50. package/dist/src/cli/channel-telegram.d.ts +879 -0
  51. package/dist/src/cli/channel-telegram.js +311 -13
  52. package/dist/src/cli/channel-telegram.js.map +1 -1
  53. package/dist/src/cli/channel-web.d.ts +131 -0
  54. package/dist/src/cli/channel.d.ts +80 -0
  55. package/dist/src/cli/channel.js +9 -0
  56. package/dist/src/cli/channel.js.map +1 -1
  57. package/dist/src/cli/checkpoint-tap.d.ts +169 -0
  58. package/dist/src/cli/codex-bridge.d.ts +819 -0
  59. package/dist/src/cli/codex-bridge.js +1607 -0
  60. package/dist/src/cli/codex-bridge.js.map +1 -0
  61. package/dist/src/cli/codex.d.ts +2 -0
  62. package/dist/src/cli/codex.js +469 -0
  63. package/dist/src/cli/codex.js.map +1 -0
  64. package/dist/src/cli/coverage.d.ts +61 -0
  65. package/dist/src/cli/daemon.d.ts +120 -0
  66. package/dist/src/cli/daemon.js +4 -1
  67. package/dist/src/cli/daemon.js.map +1 -1
  68. package/dist/src/cli/doctor.d.ts +129 -0
  69. package/dist/src/cli/doctor.js +586 -17
  70. package/dist/src/cli/doctor.js.map +1 -1
  71. package/dist/src/cli/env.d.ts +65 -0
  72. package/dist/src/cli/execute.d.ts +202 -0
  73. package/dist/src/cli/execute.js +25 -2
  74. package/dist/src/cli/execute.js.map +1 -1
  75. package/dist/src/cli/exit-codes.d.ts +73 -0
  76. package/dist/src/cli/feedback.d.ts +60 -0
  77. package/dist/src/cli/gate-window.d.ts +40 -0
  78. package/dist/src/cli/gate.d.ts +68 -0
  79. package/dist/src/cli/git-scope.d.ts +190 -0
  80. package/dist/src/cli/gloss-attach.d.ts +85 -0
  81. package/dist/src/cli/gloss-codex-child.d.ts +9 -0
  82. package/dist/src/cli/gloss-codex.d.ts +24 -0
  83. package/dist/src/cli/gloss-options.d.ts +42 -0
  84. package/dist/src/cli/gloss.d.ts +265 -0
  85. package/dist/src/cli/help.d.ts +107 -0
  86. package/dist/src/cli/help.js +320 -93
  87. package/dist/src/cli/help.js.map +1 -1
  88. package/dist/src/cli/hook-codex.d.ts +126 -0
  89. package/dist/src/cli/hook-codex.js +226 -0
  90. package/dist/src/cli/hook-codex.js.map +1 -0
  91. package/dist/src/cli/hook.d.ts +787 -0
  92. package/dist/src/cli/hook.js +1235 -181
  93. package/dist/src/cli/hook.js.map +1 -1
  94. package/dist/src/cli/import.d.ts +35 -0
  95. package/dist/src/cli/import.js +1 -1
  96. package/dist/src/cli/import.js.map +1 -1
  97. package/dist/src/cli/init.d.ts +84 -0
  98. package/dist/src/cli/init.js +2 -2
  99. package/dist/src/cli/init.js.map +1 -1
  100. package/dist/src/cli/instructions.d.ts +23 -0
  101. package/dist/src/cli/journal.d.ts +41 -0
  102. package/dist/src/cli/log-advance.d.ts +287 -0
  103. package/dist/src/cli/log-advance.js +102 -11
  104. package/dist/src/cli/log-advance.js.map +1 -1
  105. package/dist/src/cli/log-anchor.d.ts +176 -0
  106. package/dist/src/cli/log-checkpoint.d.ts +22 -0
  107. package/dist/src/cli/log-sync.d.ts +243 -0
  108. package/dist/src/cli/log-verbs.d.ts +16 -0
  109. package/dist/src/cli/log-verbs.js +7 -1
  110. package/dist/src/cli/log-verbs.js.map +1 -1
  111. package/dist/src/cli/long-help.d.ts +70 -0
  112. package/dist/src/cli/main.d.ts +77 -0
  113. package/dist/src/cli/main.js +159 -7
  114. package/dist/src/cli/main.js.map +1 -1
  115. package/dist/src/cli/mcp.d.ts +52 -0
  116. package/dist/src/cli/paths.d.ts +56 -0
  117. package/dist/src/cli/payload.d.ts +58 -0
  118. package/dist/src/cli/policy-apply.d.ts +195 -0
  119. package/dist/src/cli/policy-apply.js +573 -0
  120. package/dist/src/cli/policy-apply.js.map +1 -0
  121. package/dist/src/cli/policy.d.ts +43 -0
  122. package/dist/src/cli/policy.js +14 -1
  123. package/dist/src/cli/policy.js.map +1 -1
  124. package/dist/src/cli/preflight.d.ts +501 -0
  125. package/dist/src/cli/preflight.js +689 -45
  126. package/dist/src/cli/preflight.js.map +1 -1
  127. package/dist/src/cli/progress.d.ts +78 -0
  128. package/dist/src/cli/prompt.d.ts +209 -0
  129. package/dist/src/cli/quickstart.d.ts +46 -0
  130. package/dist/src/cli/quickstart.js +297 -0
  131. package/dist/src/cli/quickstart.js.map +1 -0
  132. package/dist/src/cli/records.d.ts +34 -0
  133. package/dist/src/cli/render.d.ts +22 -0
  134. package/dist/src/cli/sandbox.d.ts +51 -0
  135. package/dist/src/cli/sandbox.js +17 -1
  136. package/dist/src/cli/sandbox.js.map +1 -1
  137. package/dist/src/cli/scaffold.d.ts +79 -0
  138. package/dist/src/cli/scaffold.js +1 -1
  139. package/dist/src/cli/setup-adapter.d.ts +137 -0
  140. package/dist/src/cli/setup-adapter.js +38 -4
  141. package/dist/src/cli/setup-adapter.js.map +1 -1
  142. package/dist/src/cli/setup-channel.d.ts +126 -0
  143. package/dist/src/cli/setup-channel.js +28 -1
  144. package/dist/src/cli/setup-channel.js.map +1 -1
  145. package/dist/src/cli/setup-checkpoint.d.ts +57 -0
  146. package/dist/src/cli/setup-common.d.ts +277 -0
  147. package/dist/src/cli/setup-common.js +3 -2
  148. package/dist/src/cli/setup-common.js.map +1 -1
  149. package/dist/src/cli/setup-flow.d.ts +287 -0
  150. package/dist/src/cli/setup-service.d.ts +96 -0
  151. package/dist/src/cli/setup.d.ts +204 -0
  152. package/dist/src/cli/setup.js +94 -2
  153. package/dist/src/cli/setup.js.map +1 -1
  154. package/dist/src/cli/style.d.ts +320 -0
  155. package/dist/src/cli/token.d.ts +39 -0
  156. package/dist/src/cli/up.d.ts +155 -0
  157. package/dist/src/cli/up.js +119 -53
  158. package/dist/src/cli/up.js.map +1 -1
  159. package/dist/src/cli/usage.d.ts +37 -0
  160. package/dist/src/cli/values.d.ts +40 -0
  161. package/dist/src/cli/values.js +3 -4
  162. package/dist/src/cli/values.js.map +1 -1
  163. package/dist/src/cli/vault.d.ts +59 -0
  164. package/dist/src/cli/vault.js +2 -2
  165. package/dist/src/cli/vault.js.map +1 -1
  166. package/dist/src/cli/verb-registry.d.ts +76 -0
  167. package/dist/src/cli/verb-registry.js +344 -11
  168. package/dist/src/cli/verb-registry.js.map +1 -1
  169. package/dist/src/cli/wordmark.d.ts +31 -0
  170. package/dist/src/cli/wordmark.js +2 -2
  171. package/dist/src/codex/broker.d.ts +229 -0
  172. package/dist/src/codex/broker.js +548 -0
  173. package/dist/src/codex/broker.js.map +1 -0
  174. package/dist/src/codex/doctor.d.ts +13 -0
  175. package/dist/src/codex/doctor.js +41 -0
  176. package/dist/src/codex/doctor.js.map +1 -0
  177. package/dist/src/codex/manifest.d.ts +49 -0
  178. package/dist/src/codex/manifest.js +103 -0
  179. package/dist/src/codex/manifest.js.map +1 -0
  180. package/dist/src/codex/runner.d.ts +178 -0
  181. package/dist/src/codex/runner.js +231 -0
  182. package/dist/src/codex/runner.js.map +1 -0
  183. package/dist/src/codex/serve.d.ts +56 -0
  184. package/dist/src/codex/serve.js +98 -0
  185. package/dist/src/codex/serve.js.map +1 -0
  186. package/dist/src/codex/templates.d.ts +41 -0
  187. package/dist/src/codex/templates.js +319 -0
  188. package/dist/src/codex/templates.js.map +1 -0
  189. package/dist/src/codex/trust.d.ts +19 -0
  190. package/dist/src/codex/trust.js +183 -0
  191. package/dist/src/codex/trust.js.map +1 -0
  192. package/dist/src/codex/workspace-commit.d.ts +219 -0
  193. package/dist/src/codex/workspace-commit.js +549 -0
  194. package/dist/src/codex/workspace-commit.js.map +1 -0
  195. package/dist/src/codex/workspace-plan.d.ts +131 -0
  196. package/dist/src/codex/workspace-plan.js +561 -0
  197. package/dist/src/codex/workspace-plan.js.map +1 -0
  198. package/dist/src/core/actor.d.ts +2 -0
  199. package/dist/src/core/actor.js +5 -0
  200. package/dist/src/core/actor.js.map +1 -0
  201. package/dist/src/core/advance-cycle.d.ts +221 -0
  202. package/dist/src/core/advance-cycle.js +66 -2
  203. package/dist/src/core/advance-cycle.js.map +1 -1
  204. package/dist/src/core/agents-md.d.ts +278 -0
  205. package/dist/src/core/agents-md.js +33 -31
  206. package/dist/src/core/agents-md.js.map +1 -1
  207. package/dist/src/core/apply-patch.d.ts +49 -0
  208. package/dist/src/core/apply-patch.js +266 -0
  209. package/dist/src/core/apply-patch.js.map +1 -0
  210. package/dist/src/core/attest.d.ts +635 -0
  211. package/dist/src/core/attest.js +326 -4
  212. package/dist/src/core/attest.js.map +1 -1
  213. package/dist/src/core/audit.d.ts +510 -0
  214. package/dist/src/core/audit.js +13 -0
  215. package/dist/src/core/audit.js.map +1 -1
  216. package/dist/src/core/budgets.d.ts +238 -0
  217. package/dist/src/core/channel-owner.d.ts +213 -0
  218. package/dist/src/core/channel-owner.js +358 -0
  219. package/dist/src/core/channel-owner.js.map +1 -0
  220. package/dist/src/core/checkpoint.d.ts +500 -0
  221. package/dist/src/core/child-env.d.ts +88 -0
  222. package/dist/src/core/clock.d.ts +52 -0
  223. package/dist/src/core/command-class.d.ts +697 -0
  224. package/dist/src/core/command-class.js +713 -25
  225. package/dist/src/core/command-class.js.map +1 -1
  226. package/dist/src/core/commit-guard.d.ts +272 -0
  227. package/dist/src/core/commit-guard.js +424 -0
  228. package/dist/src/core/commit-guard.js.map +1 -0
  229. package/dist/src/core/coverage-sources/adapter.d.ts +40 -0
  230. package/dist/src/core/coverage-sources/gh.d.ts +48 -0
  231. package/dist/src/core/coverage-sources/git.d.ts +101 -0
  232. package/dist/src/core/coverage.d.ts +217 -0
  233. package/dist/src/core/credential-spec.d.ts +72 -0
  234. package/dist/src/core/daemon-actor.d.ts +45 -0
  235. package/dist/src/core/daemon-actor.js +54 -0
  236. package/dist/src/core/daemon-actor.js.map +1 -0
  237. package/dist/src/core/dark-session.d.ts +432 -0
  238. package/dist/src/core/dark-session.js +266 -82
  239. package/dist/src/core/dark-session.js.map +1 -1
  240. package/dist/src/core/decision-refusal.d.ts +206 -0
  241. package/dist/src/core/decision-refusal.js +24 -2
  242. package/dist/src/core/decision-refusal.js.map +1 -1
  243. package/dist/src/core/env-file.d.ts +455 -0
  244. package/dist/src/core/env-file.js +60 -1
  245. package/dist/src/core/env-file.js.map +1 -1
  246. package/dist/src/core/execute.d.ts +871 -0
  247. package/dist/src/core/execute.js +59 -8
  248. package/dist/src/core/execute.js.map +1 -1
  249. package/dist/src/core/frontmatter.d.ts +78 -0
  250. package/dist/src/core/gate-window.d.ts +312 -0
  251. package/dist/src/core/gate.d.ts +1449 -0
  252. package/dist/src/core/gate.js +149 -14
  253. package/dist/src/core/gate.js.map +1 -1
  254. package/dist/src/core/gesture-refusal.d.ts +166 -0
  255. package/dist/src/core/gesture-refusal.js +188 -0
  256. package/dist/src/core/gesture-refusal.js.map +1 -0
  257. package/dist/src/core/git-run.d.ts +73 -0
  258. package/dist/src/core/harness-version.d.ts +157 -0
  259. package/dist/src/core/harness-version.js +4 -1
  260. package/dist/src/core/harness-version.js.map +1 -1
  261. package/dist/src/core/harness-wait.d.ts +55 -0
  262. package/dist/src/core/head-retry.d.ts +107 -0
  263. package/dist/src/core/instance.d.ts +310 -0
  264. package/dist/src/core/instance.js +113 -0
  265. package/dist/src/core/instance.js.map +1 -1
  266. package/dist/src/core/intake-limits.d.ts +247 -0
  267. package/dist/src/core/jcs.d.ts +52 -0
  268. package/dist/src/core/journal.d.ts +144 -0
  269. package/dist/src/core/live-draw.d.ts +436 -0
  270. package/dist/src/core/log-reconcile.d.ts +89 -0
  271. package/dist/src/core/log-subscribe.d.ts +36 -0
  272. package/dist/src/core/log-subscribe.js +162 -0
  273. package/dist/src/core/log-subscribe.js.map +1 -0
  274. package/dist/src/core/log.d.ts +316 -0
  275. package/dist/src/core/log.js.map +1 -1
  276. package/dist/src/core/loop.d.ts +274 -0
  277. package/dist/src/core/loop.js +11 -0
  278. package/dist/src/core/loop.js.map +1 -1
  279. package/dist/src/core/md-fence.d.ts +41 -0
  280. package/dist/src/core/money.d.ts +147 -0
  281. package/dist/src/core/payload-census.d.ts +74 -0
  282. package/dist/src/core/payload-store.d.ts +175 -0
  283. package/dist/src/core/payload.d.ts +71 -0
  284. package/dist/src/core/policy-diff.d.ts +292 -0
  285. package/dist/src/core/policy-diff.js +27 -4
  286. package/dist/src/core/policy-diff.js.map +1 -1
  287. package/dist/src/core/policy-expectations.d.ts +199 -0
  288. package/dist/src/core/policy-explain.d.ts +160 -0
  289. package/dist/src/core/policy-explain.js +63 -3
  290. package/dist/src/core/policy-explain.js.map +1 -1
  291. package/dist/src/core/policy-load.d.ts +567 -0
  292. package/dist/src/core/policy-load.js +36 -6
  293. package/dist/src/core/policy-load.js.map +1 -1
  294. package/dist/src/core/policy-match.d.ts +324 -0
  295. package/dist/src/core/policy-match.js +72 -9
  296. package/dist/src/core/policy-match.js.map +1 -1
  297. package/dist/src/core/policy-proposal.d.ts +317 -0
  298. package/dist/src/core/policy-proposal.js +102 -2
  299. package/dist/src/core/policy-proposal.js.map +1 -1
  300. package/dist/src/core/prompt-layout.d.ts +221 -0
  301. package/dist/src/core/protected-path-guard.d.ts +566 -0
  302. package/dist/src/core/protected-path-guard.js +848 -55
  303. package/dist/src/core/protected-path-guard.js.map +1 -1
  304. package/dist/src/core/question-preempted.d.ts +141 -0
  305. package/dist/src/core/question-preempted.js +152 -0
  306. package/dist/src/core/question-preempted.js.map +1 -0
  307. package/dist/src/core/read-scope.d.ts +172 -0
  308. package/dist/src/core/read-scope.js +252 -0
  309. package/dist/src/core/read-scope.js.map +1 -0
  310. package/dist/src/core/registration.d.ts +25 -0
  311. package/dist/src/core/reindex.d.ts +99 -0
  312. package/dist/src/core/sampler.d.ts +313 -0
  313. package/dist/src/core/sandbox.d.ts +371 -0
  314. package/dist/src/core/sandbox.js +190 -1
  315. package/dist/src/core/sandbox.js.map +1 -1
  316. package/dist/src/core/seal.d.ts +165 -0
  317. package/dist/src/core/sender-identity.d.ts +476 -0
  318. package/dist/src/core/sender-identity.js +572 -0
  319. package/dist/src/core/sender-identity.js.map +1 -0
  320. package/dist/src/core/shlex.d.ts +102 -0
  321. package/dist/src/core/shlex.js +159 -0
  322. package/dist/src/core/shlex.js.map +1 -0
  323. package/dist/src/core/state.d.ts +505 -0
  324. package/dist/src/core/task-file.d.ts +185 -0
  325. package/dist/src/core/telegram-config.d.ts +93 -0
  326. package/dist/src/core/token.d.ts +409 -0
  327. package/dist/src/core/token.js +21 -38
  328. package/dist/src/core/token.js.map +1 -1
  329. package/dist/src/core/validate.d.ts +138 -0
  330. package/dist/src/core/values.d.ts +147 -0
  331. package/dist/src/core/values.js +36 -1
  332. package/dist/src/core/values.js.map +1 -1
  333. package/dist/src/core/vault.d.ts +291 -0
  334. package/dist/src/core/verified-snapshot.d.ts +204 -0
  335. package/dist/src/core/verify.d.ts +336 -0
  336. package/dist/src/core/version.d.ts +8 -0
  337. package/dist/src/core/wysiwys.d.ts +370 -0
  338. package/dist/src/daemon/advance-child.d.ts +39 -0
  339. package/dist/src/daemon/advance.d.ts +476 -0
  340. package/dist/src/daemon/advance.js +25 -4
  341. package/dist/src/daemon/advance.js.map +1 -1
  342. package/dist/src/daemon/audit.d.ts +87 -0
  343. package/dist/src/daemon/daemon.d.ts +1180 -0
  344. package/dist/src/daemon/daemon.js +9 -0
  345. package/dist/src/daemon/daemon.js.map +1 -1
  346. package/dist/src/daemon/dark-session.d.ts +64 -0
  347. package/dist/src/daemon/draw-child.d.ts +36 -0
  348. package/dist/src/daemon/draw.d.ts +154 -0
  349. package/dist/src/daemon/git-evidence.d.ts +173 -0
  350. package/dist/src/daemon/git-evidence.js +1 -1
  351. package/dist/src/daemon/projection.d.ts +180 -0
  352. package/dist/src/daemon/prune.d.ts +207 -0
  353. package/dist/src/mcp/http.d.ts +113 -0
  354. package/dist/src/mcp/server.d.ts +265 -0
  355. package/dist/src/mcp/server.js +17 -1
  356. package/dist/src/mcp/server.js.map +1 -1
  357. package/docs/adapter-api.md +106 -0
  358. package/docs/cli-reference.md +1316 -63
  359. package/docs/codex-enforced-session.md +103 -0
  360. package/docs/codex-workspace-broker.md +118 -0
  361. package/package.json +14 -2
  362. package/schema/codex-instance.schema.json +82 -0
  363. package/schema/event.schema.json +539 -9
  364. package/schema/fixtures/codex-instance/invalid/unpinned-codex-version.json +40 -0
  365. package/schema/fixtures/codex-instance/valid/canonical.json +40 -0
  366. package/schema/fixtures/event/invalid/approval-granted-sender-hashed-false.json +20 -0
  367. package/schema/fixtures/event/invalid/approval-granted-sender-hashed-raw-id.json +20 -0
  368. package/schema/fixtures/event/invalid/audit-gesture-refused-human-actor.json +16 -0
  369. package/schema/fixtures/event/invalid/audit-gesture-refused-no-actor-no-sender.json +15 -0
  370. package/schema/fixtures/event/invalid/audit-gesture-refused-unknown-gesture.json +16 -0
  371. package/schema/fixtures/event/invalid/audit-question-preempted-agent-actor.json +16 -0
  372. package/schema/fixtures/event/invalid/audit-question-preempted-no-question-id.json +16 -0
  373. package/schema/fixtures/event/invalid/audit-question-preempted-unknown-source.json +15 -0
  374. package/schema/fixtures/event/invalid/gate-path-signed-off-absolute-path.json +14 -0
  375. package/schema/fixtures/event/invalid/gate-path-signed-off-agent-actor.json +14 -0
  376. package/schema/fixtures/event/invalid/gate-path-signed-off-missing-path.json +13 -0
  377. package/schema/fixtures/event/valid/approval-granted-sender-hashed.json +20 -0
  378. package/schema/fixtures/event/valid/audit-gesture-refused-review-note.json +21 -0
  379. package/schema/fixtures/event/valid/audit-gesture-refused-sender-key-unavailable.json +19 -0
  380. package/schema/fixtures/event/valid/audit-gesture-refused.json +19 -0
  381. package/schema/fixtures/event/valid/audit-question-preempted-no-verdict.json +16 -0
  382. package/schema/fixtures/event/valid/audit-question-preempted.json +20 -0
  383. package/schema/fixtures/event/valid/gate-path-signed-off.json +14 -0
  384. package/schema/fixtures/event/valid/harness-kind-claude-code.json +23 -0
  385. package/schema/fixtures/event/valid/harness-kind-codex.json +23 -0
  386. package/schema/fixtures/event/valid/harness-kind-cursor.json +23 -0
  387. package/schema/fixtures/event/valid/harness-kind-grok.json +23 -0
  388. package/schema/fixtures/event/valid/harness-kind-muse.json +23 -0
  389. package/schema/fixtures/policy/invalid/senders-half-keyed.json +20 -0
  390. package/schema/fixtures/policy/valid/canonical.json +1 -1
  391. package/schema/fixtures/policy/valid/senders-keyed.json +24 -0
  392. package/schema/fixtures/policy-md/valid/canonical.md +1 -1
  393. package/schema/fixtures/policy-md/valid/with-values.md +5 -7
  394. package/schema/fixtures/values/invalid/class-shaped.json +1 -1
  395. package/schema/fixtures/values/invalid/duplicate-entry.json +1 -1
  396. package/schema/fixtures/values/invalid/non-string-item.json +1 -1
  397. package/schema/fixtures/values/invalid/over-cap.json +1 -1
  398. package/schema/fixtures/values/invalid/unknown-key.json +1 -1
  399. package/schema/fixtures/values/invalid/version-float.json +1 -0
  400. package/schema/fixtures/values/invalid/version-integer.json +1 -0
  401. package/schema/fixtures/values/invalid/version-wrong-string.json +1 -0
  402. package/schema/fixtures/values/valid/empty-lists.json +2 -3
  403. package/schema/fixtures/values/valid/full.json +5 -7
  404. package/schema/fixtures/values/valid/minimal.json +1 -1
  405. package/schema/fixtures/values-md/invalid/schema-invalid.md +5 -3
  406. package/schema/fixtures/values-md/invalid/two-blocks.md +3 -3
  407. package/schema/fixtures/values-md/invalid/unterminated.md +2 -2
  408. package/schema/fixtures/values-md/invalid/version-1.md +69 -0
  409. package/schema/fixtures/values-md/invalid/version-unquoted.md +64 -0
  410. package/schema/fixtures/values-md/invalid/yaml-error.md +2 -2
  411. package/schema/fixtures/values-md/valid/absent.md +1 -1
  412. package/schema/fixtures/values-md/valid/with-values.md +5 -7
  413. package/schema/policy.schema.json +75 -3
  414. package/schema/values.schema.json +7 -11
  415. package/templates/codex/README.md +9 -0
  416. package/schema/fixtures/values/invalid/version-string.json +0 -1
@@ -0,0 +1,476 @@
1
+ /**
2
+ * The daemon's log advance, on a cadence and through the gate (APRV-204).
3
+ *
4
+ * ## Why the daemon does this at all
5
+ *
6
+ * The committed log is this project's truth, and until this module its
7
+ * freshness depended on somebody remembering to run `approval log advance`. The
8
+ * daemon is already the committed log's sole writer in the primary checkout, it
9
+ * is already awake, and since the seq 7413 ceremony `log.advance` resolves
10
+ * `supervised-live 0.1` — a class that needs no hand on the keyboard for nine
11
+ * runs in ten. So the bookkeeping moves here, and the human's part shrinks to
12
+ * the tenth run and the merge.
13
+ *
14
+ * ## It borrows every mechanism and owns none
15
+ *
16
+ * - The advance itself is `cli/log-advance.ts`'s `logAdvance`, called
17
+ * unmodified: the same append lock, the same chain verify, the same staged-set
18
+ * refusal, the same commit-on-the-remote-without-a-checkout. A second
19
+ * implementation would be a second thing to get wrong about the one file
20
+ * nothing may rewind.
21
+ * - The authorization is `core/gate.ts`'s `register` + `request` and
22
+ * `core/execute.ts`'s `startExecution` / `finishExecution`, in that order and
23
+ * with no shortcuts. The daemon proposes as `agent:daemon` and the runtime
24
+ * decides, exactly as it decides for a session.
25
+ * - The cadence and the reporting are the only decisions here, and neither
26
+ * touches the log.
27
+ *
28
+ * ## What happens when the gate says no
29
+ *
30
+ * A `supervised-live` draw that SELECTS this advance, a class amended to
31
+ * `manual`, a policy that will not load: all three end the attempt with nothing
32
+ * committed and nothing pushed. The outcome is reported on the daemon's event
33
+ * stream and readable afterwards from the log itself, and the next tick tries
34
+ * again — after the cadence interval, never immediately, because the
35
+ * last-attempt clock is set by a refusal exactly as it is by a success. There
36
+ * is no retry loop and no backoff ladder: the cadence IS the backoff.
37
+ *
38
+ * ## The merge: armed here, performed by nobody (APRV-284)
39
+ *
40
+ * This file still calls no merge. What it does is ask `logAdvance` to ARM one:
41
+ * `gh pr merge <branch> --merge --auto` on the day's records pull request, so
42
+ * the pull request lands when its checks and the repository's branch rules say
43
+ * it may, and never earlier. Before APRV-284 it sat at CLEAN until a person
44
+ * clicked, which is the failure mode CLAUDE.md's workflow item 7 is written
45
+ * against — and clicking was never a review, because a records branch carries
46
+ * only the log, `QUEUE.md` and `.approval/payloads/`, the three paths CI's
47
+ * protected-path guard exempts.
48
+ *
49
+ * Two things keep that from being a daemon approving its own evidence. The arm
50
+ * is `vcs.push.main` in this project's taxonomy — the same class as the same
51
+ * command in a session's hands — and it rides the SAME `log.advance`
52
+ * authorization this cycle already holds rather than opening a second question
53
+ * or claiming a second grant: one authorization, one act. And `cli/log-advance.
54
+ * ts`'s `armAutoMerge` withholds the arm outright when the branch it pushed
55
+ * carries a path an advance may not carry, so what gets armed is only ever
56
+ * evidence. `--no-advance-auto-merge` turns the whole thing off.
57
+ *
58
+ * ## Which class a cycle asks under (APRV-382)
59
+ *
60
+ * Two, and the running process picks. `log.advance.daemon` is the daemon's own
61
+ * class and this repository's policy makes it autonomous: an advance publishes
62
+ * records the log already holds, appends nothing and decides nothing, so the
63
+ * cadence does not need a hand. `log.advance` is what everybody else asks
64
+ * under, unchanged. `core/advance-cycle.ts`'s `advanceRoute` is the rule, read
65
+ * against `core/daemon-actor.ts` rather than against anything a caller passed,
66
+ * and a policy with no daemon line leaves the cadence exactly where it was.
67
+ *
68
+ * ## The self-perpetuation trap, and how the trigger avoids it
69
+ *
70
+ * One advance cycle appends three records of its own (`task.registered`,
71
+ * `execution.started`, `execution.completed`). Two of them land before the
72
+ * commit and ride it; the third lands after, so every successful advance leaves
73
+ * the log one record ahead of the records branch. A trigger that counted those
74
+ * would advance forever on an idle repository. So the TRIGGER counts only
75
+ * records that are not an advance's own bookkeeping (`PublishedState.substantive`),
76
+ * while the count REPORTED to an operator is the honest raw one.
77
+ *
78
+ * ## Where the pieces live
79
+ *
80
+ * The cycle's vocabulary (the actor, the class, the task and key shapes, and
81
+ * reading the last cycle back out of the log) is `core/advance-cycle.ts`, and
82
+ * the git-side "what is already published" question is `cli/log-advance.ts`.
83
+ * Both are shared with `approval doctor`, which reports the same numbers in a
84
+ * different process — and a CLI module may not import the daemon.
85
+ */
86
+ import { type Clock } from "../core/clock.js";
87
+ import { type DanglingAdvance } from "../core/advance-cycle.js";
88
+ import { type FailureReason } from "../core/execute.js";
89
+ import type { EventRecord } from "../core/log.js";
90
+ import { type AutoMergeState } from "../cli/log-advance.js";
91
+ /**
92
+ * How often the daemon advances, absent the record-count trigger: 15 minutes.
93
+ *
94
+ * Chosen against what a records pull request costs and what staleness costs. A
95
+ * shorter interval publishes a pull request whose diff is a handful of lines
96
+ * and burns a CI run for each; a longer one leaves the guards that read the
97
+ * committed log (the CI protected-path cross-check especially) looking at a log
98
+ * that is hours behind the decisions it is supposed to evidence.
99
+ */
100
+ export declare const DEFAULT_ADVANCE_INTERVAL_MS = 900000;
101
+ /**
102
+ * How many unpublished records force an advance before the interval elapses: 20.
103
+ *
104
+ * The busy-hour case. Twenty records is a few minutes of an active session, and
105
+ * a records branch that far behind is a records branch a person starts doing
106
+ * arithmetic against.
107
+ */
108
+ export declare const DEFAULT_ADVANCE_AFTER_RECORDS = 20;
109
+ /** The cadence, as the daemon is configured with it. */
110
+ export interface AdvanceCadence {
111
+ /** Minimum time between attempts, successful or not. */
112
+ intervalMs: number;
113
+ /** Attempt as soon as this many substantive records are unpublished. */
114
+ afterRecords: number;
115
+ remote: string;
116
+ /** The remote branch the first advance of a day is parented on. */
117
+ base: string | null;
118
+ /** Open or update the day's pull request. */
119
+ pr: boolean;
120
+ /**
121
+ * Arm auto-merge on that pull request (APRV-284). Read only when `pr` is set.
122
+ */
123
+ autoMerge: boolean;
124
+ }
125
+ /** The default cadence, spelled once. */
126
+ export declare function defaultCadence(): AdvanceCadence;
127
+ /**
128
+ * How an attempt ended. Machine-readable and closed (SPEC.md §11.1 invariant 6).
129
+ *
130
+ * - `advanced` — records were committed and pushed.
131
+ * - `nothing-owed` — the records branch already carries every record.
132
+ * - `gated` — the gate sent this advance to a human (the live draw selected it,
133
+ * or the class resolves `manual`). Nothing was committed.
134
+ * - `refused` — the gate refused it outright (unattested policy, an escalated
135
+ * task, a `human-only` class, a budget). Nothing was committed.
136
+ * - `failed` — the advance itself did not complete (a rejected push, a diverged
137
+ * remote, an unreadable index). The failure is recorded as an
138
+ * `execution.failed`.
139
+ */
140
+ export type AdvanceOutcome = "advanced" | "nothing-owed" | "gated" | "refused" | "failed";
141
+ /** One attempt, as the daemon reports it and as a status reader recovers it. */
142
+ export interface AdvanceAttempt {
143
+ outcome: AdvanceOutcome;
144
+ /** The runtime's own clock reading, taken once at the top of the attempt. */
145
+ ts: string;
146
+ /** Records not yet on a records branch, counted honestly (bookkeeping included). */
147
+ recordsPending: number;
148
+ recordsBranch: string | null;
149
+ commit: string | null;
150
+ prUrl: string | null;
151
+ /** True when this attempt OPENED the day's pull request rather than updating it. */
152
+ prCreated: boolean;
153
+ /**
154
+ * What became of the auto-merge arm (APRV-284), or `null` when no pull
155
+ * request step ran. `cli/log-advance.ts`'s `AutoMergeState` documents each.
156
+ */
157
+ autoMerge: AutoMergeState | null;
158
+ /** Why the arm was withheld or refused; `null` when it was not. */
159
+ autoMergeNote: string | null;
160
+ range: {
161
+ from: number;
162
+ to: number;
163
+ } | null;
164
+ /** The refusal code, for every outcome that carries one. */
165
+ code: string | null;
166
+ message: string;
167
+ /**
168
+ * True when the day's records branch was REBUILT on the base rather than
169
+ * stacked on its own tip (APRV-234), and the ref it was rebuilt on.
170
+ */
171
+ rebuilt: boolean;
172
+ rebuiltOn: string | null;
173
+ /**
174
+ * The outcome this attempt observed and could NOT record (APRV-233).
175
+ *
176
+ * `null` in the ordinary case, where `execution.completed` or
177
+ * `execution.failed` landed. Non-null when the bounded head-moved retry was
178
+ * spent and the execution is therefore left open: the advance's effect has
179
+ * happened, this process knows how it ended, and the log does not yet. The
180
+ * daemon carries it to the next tick and settles it there
181
+ * ({@link settleAdvanceFinish}) before it evaluates any trigger, which is
182
+ * what stops a lost outcome record from reading as "no advance yet".
183
+ */
184
+ pendingFinish: PendingAdvanceFinish | null;
185
+ }
186
+ /**
187
+ * An advance outcome that happened and is not yet in the log (APRV-233).
188
+ *
189
+ * Every field is an OBSERVATION this runtime made, carried forward verbatim: a
190
+ * later tick appends exactly the record the failing one would have appended.
191
+ * Nothing here is re-derived and nothing is guessed — a dangling execution
192
+ * whose outcome this process does not hold stays dangling for a human, exactly
193
+ * as `core/execute.ts` says it must.
194
+ */
195
+ export interface PendingAdvanceFinish {
196
+ actionKey: string;
197
+ exitCode: number;
198
+ reason?: FailureReason;
199
+ note?: FailureReason;
200
+ }
201
+ /** What {@link attemptAdvance} needs. Everything is injected; nothing is ambient. */
202
+ export interface AdvanceInput {
203
+ logPath: string;
204
+ /** The working directory the advance runs in: the primary checkout. */
205
+ cwd: string;
206
+ policy: {
207
+ dir?: string;
208
+ file?: string;
209
+ };
210
+ schemaDir?: string;
211
+ clock?: Clock;
212
+ cadence: AdvanceCadence;
213
+ /** The day the records branch is named for. Injected by tests. */
214
+ today?: string;
215
+ /**
216
+ * The child that runs the git side effect for {@link runAdvanceAsync}, when
217
+ * something other than this module's own runner should run it (APRV-211).
218
+ *
219
+ * A test seam and nothing else: production spawns `daemon/advance-child.js`
220
+ * under `process.execPath`. It exists because the property AC7 pins — a tap
221
+ * answered while an advance is in flight — needs an advance that stays in
222
+ * flight for longer than a real one does, and the alternative (making the
223
+ * daemon's own git work slow to order) would put test-only branches on the
224
+ * path that publishes the log.
225
+ */
226
+ runner?: {
227
+ command: string;
228
+ args: readonly string[];
229
+ };
230
+ /**
231
+ * How many times the outcome record is re-derived against a moved head
232
+ * (APRV-233). Clamped to 1..`core/head-retry.ts`'s `HEAD_MOVED_ATTEMPTS` by
233
+ * that module's own `attemptsOf`, and downward only.
234
+ *
235
+ * The seam a test uses to pin BOTH shapes with one harness, exactly as
236
+ * `GateOptions.retryOnHeadMoved` does for the harness writers: `1` is the
237
+ * pre-APRV-233 writer, whose lost race left the execution dangling. A caller
238
+ * may ask for less tolerance of a moved head, never for more; ambiguity — a
239
+ * zero, a fraction, a negative, a larger number — resolves to the runtime's
240
+ * own value rather than the caller's.
241
+ */
242
+ retryOnHeadMoved?: number;
243
+ /**
244
+ * The other half of that seam (APRV-261), forwarded to the finish path as
245
+ * `FinishOptions.afterRead`: a callback fired between one attempt's read and
246
+ * its append, which is where a test puts the record that moves the head.
247
+ *
248
+ * `retryOnHeadMoved` pins how hard the writer tries; this pins that it has to
249
+ * try at all. Together they let one harness drive both shapes with no
250
+ * sleeping anywhere: the pre-APRV-233 writer at `1`, and the retried writer
251
+ * at the default. Production sets neither.
252
+ */
253
+ afterFinishRead?: () => void;
254
+ }
255
+ /** The argv the payload binds to: the verb this attempt is authorization for. */
256
+ export declare function advanceArgv(cadence: AdvanceCadence): string[];
257
+ /**
258
+ * The half of an attempt that talks to the gate, with nothing committed yet.
259
+ *
260
+ * Split out in APRV-211 so the two halves can run in different places: the
261
+ * authorization stays in the DAEMON's own process, where the launch environment
262
+ * carries the sampling secret the `supervised-live` draw needs and where the
263
+ * append lock is held for milliseconds, while the git side effect may move to a
264
+ * child (`runAdvanceAsync`) whose environment is scrubbed of exactly that
265
+ * secret (`core/child-env.ts`). Authorization is fast and must be trusted;
266
+ * `git fetch` + `git push` + `gh pr create` is slow and needs no trust at all.
267
+ */
268
+ export type AdvanceAuthorization = {
269
+ authorized: false;
270
+ attempt: AdvanceAttempt;
271
+ } | {
272
+ authorized: true;
273
+ /** The clock reading the attempt was opened with. */
274
+ ts: string;
275
+ today: string;
276
+ root: string;
277
+ recordsBranch: string;
278
+ /** The key the execution was started under: the one the human answered. */
279
+ actionKey: string;
280
+ recordsPending: number;
281
+ /**
282
+ * True when this authorization rode a decision an EARLIER tick asked for
283
+ * rather than one this tick opened. Reported so an operator reading the
284
+ * event stream can tell "the human just said yes" from "the human said
285
+ * yes at 11:04 and this is the tick that spent it".
286
+ */
287
+ adopted: boolean;
288
+ };
289
+ /**
290
+ * Close an execution whose outcome an EARLIER tick observed and could not
291
+ * record (APRV-233).
292
+ *
293
+ * The second half of the fix, and the one that matters after a restart of the
294
+ * loop rather than of the process: the outcome is carried in memory as a
295
+ * {@link PendingAdvanceFinish} and re-attempted here, on the fresh head,
296
+ * before the next tick evaluates any trigger. It appends the same record the
297
+ * failed attempt would have appended, through the same bounded retry.
298
+ *
299
+ * `already-finished` is a SUCCESS here: something (a concurrent settle, a
300
+ * human's `approval execution resolve`) closed the cycle in the meantime, the
301
+ * log holds an outcome, and there is nothing left to carry.
302
+ */
303
+ export declare function settleAdvanceFinish(input: AdvanceInput, pending: PendingAdvanceFinish): {
304
+ ok: boolean;
305
+ code: string | null;
306
+ message: string;
307
+ };
308
+ /**
309
+ * Every open advance cycle, with what this checkout's refs prove (APRV-264).
310
+ *
311
+ * One `publishedState` for the whole list rather than one per key: it is the
312
+ * git read on the tick's hot path, and the answer it gives is the same for
313
+ * every key — the highest published seq, and the ref that carries it.
314
+ *
315
+ * Read from the log rather than from this process's memory, so a daemon that
316
+ * restarted still sees that an advance HAPPENED. It is the fact the cadence was
317
+ * missing on 2026-09-02: with no outcome record, nothing but an in-process
318
+ * clock said the branch had just been pushed.
319
+ */
320
+ export declare function proveDanglingAdvancesFor(input: AdvanceInput, records: readonly EventRecord[]): DanglingAdvance[];
321
+ /** One key the sweep closed, or could not. */
322
+ export interface SweptAdvance {
323
+ actionKey: string;
324
+ /** The ref that proved it, on a settled entry. */
325
+ provenBy: string | null;
326
+ message: string;
327
+ }
328
+ /** What one sweep did, and what it left for a person (APRV-264). */
329
+ export interface AdvanceSweep {
330
+ /** Cycles this sweep closed, in log order, each with the ref that proved it. */
331
+ settled: SweptAdvance[];
332
+ /**
333
+ * Cycles nothing in this checkout can prove, plus the ones whose append was
334
+ * refused. Both are a person's now, and both block a new advance.
335
+ */
336
+ outstanding: SweptAdvance[];
337
+ }
338
+ /** Is this sweep's work done — nothing open, nothing owed to a person? */
339
+ export declare function sweepIsClear(sweep: AdvanceSweep): boolean;
340
+ /**
341
+ * Close EVERY dangling advance cycle whose outcome the git refs still show
342
+ * (APRV-233, widened by APRV-264).
343
+ *
344
+ * ## The loop this breaks
345
+ *
346
+ * From Carter's terminal, 2026-09-02, with the APRV-211 build running: tick two
347
+ * advanced and pushed; its `execution.completed` lost the head race (expected
348
+ * 14874, found 14875) and `daemon-log-advance-1-14871` was left open. Tick
349
+ * three's authorization then reached `startExecution` on that same key and was
350
+ * refused `already-executed: an idempotency key is single-use and nothing here
351
+ * reconciles or reruns it` — which is the gate saying, correctly, that
352
+ * somebody has to close the books. Nobody did, so the span moved and the daemon
353
+ * pushed again, and again, every ninety seconds under a fifteen-minute
354
+ * interval.
355
+ *
356
+ * ## Why it sweeps rather than reconciles one
357
+ *
358
+ * APRV-233's version closed the LAST open cycle and returned. On 2026-09-05
359
+ * that was not enough: `approval status` listed FIVE, left by the 2026-09-02
360
+ * loop and by the restarts after it, the daemon refused one advance per tick
361
+ * naming one key each, and Carter closed all five by hand with five
362
+ * near-identical commands. One key per tick is a repair rate of one every
363
+ * thirty seconds behind a refusal that stops the cadence entirely, so the sweep
364
+ * takes every key it can prove in one pass and reports the rest together.
365
+ *
366
+ * ## What is and is not a guess here
367
+ *
368
+ * {@link settleAdvanceFinish} covers the case this process still holds the
369
+ * outcome for. This covers the other one — cycles left open by an earlier
370
+ * process, or by ticks whose memory of them is gone — and it closes each only
371
+ * on EVIDENCE: the records the cycle was authorized to publish are demonstrably
372
+ * on a records branch, read from git's own object store through the same
373
+ * `publishedState` the cadence and the doctor row read. When the evidence is
374
+ * there the outcome is recorded as the completion it was, with a note saying
375
+ * which ref proved it and that the RUNTIME observed it. When it is NOT there,
376
+ * nothing is written: the execution stays open for a person, the daemon warns
377
+ * once, and no new advance is started over work nobody has accounted for. A
378
+ * false `execution.failed` for an advance that actually published would be
379
+ * worse than the dangling record.
380
+ *
381
+ * The actor is {@link ADVANCE_ACTOR} and the record carries no
382
+ * `attested_by_human`: human attestation is for what a person went and looked
383
+ * at, and this is the runtime reading its own refs. The note says so in as many
384
+ * words, so no reader has to infer it from the actor field alone.
385
+ *
386
+ * This is a deliberate, narrow carve-out to `core/execute.ts`'s rule that
387
+ * nothing closes a dangling execution automatically. Narrow because it closes
388
+ * only executions THIS runtime started, for its own `log.advance` cycles, whose
389
+ * entire effect is a git ref this runtime can look at and did.
390
+ */
391
+ export declare function sweepDanglingAdvances(input: AdvanceInput, records: readonly EventRecord[]): AdvanceSweep;
392
+ /**
393
+ * The refusal that stands while any advance cycle is open, naming all of them.
394
+ *
395
+ * One sentence for every outstanding key rather than one refusal per key per
396
+ * tick: the operator's next act is the same command whichever key they read
397
+ * first, so the command is on the line and every key it will close is under it.
398
+ */
399
+ export declare function unreconciledRefusal(keys: readonly string[]): string;
400
+ /**
401
+ * Register, request, start. The authorization, and not one byte of side effect.
402
+ *
403
+ * The order is the whole point and none of it is optional: nothing is committed
404
+ * before the gate has answered, and nothing the gate answered for goes
405
+ * unrecorded. `execution.started` is appended BEFORE the advance runs, so the
406
+ * commit the advance builds carries the record of its own authorization; the
407
+ * `execution.completed` that follows lands after the commit and is published by
408
+ * the next advance, which is why the trigger discounts it.
409
+ *
410
+ * ## What APRV-211 changed: the tick asks the log what it already asked
411
+ *
412
+ * Observed live on 2026-09-02: three ticks over ONE owed advance put three
413
+ * questions on Carter's phone, because the idempotency key embedded the log
414
+ * HEAD and the head moved with each gated attempt's own two records. Two things
415
+ * fix it and both are here.
416
+ *
417
+ * 1. The key and the payload span end at `substantiveSeq` — the last unpublished
418
+ * record that is not an advance cycle's own bookkeeping — so a tick that
419
+ * appended only its own question computes the SAME key and the SAME hash.
420
+ * 2. Before it registers anything, the tick reads {@link openAdvanceRequest}.
421
+ * A question still open is ADOPTED (nothing is appended, the outcome is
422
+ * `gated`, and the human keeps the one question they already have); a grant
423
+ * on it is SPENT (straight to `startExecution` on that key, with the hash
424
+ * that key declared, so the single-use rule the log already enforces makes
425
+ * one decision authorise exactly one advance); a terminal answer on the
426
+ * CURRENT owed span is HONOURED (`advance-decided`, and nothing is asked
427
+ * again until the span itself changes).
428
+ */
429
+ export declare function authorizeAdvance(input: AdvanceInput, records: readonly EventRecord[]): AdvanceAuthorization;
430
+ /**
431
+ * The advance, on this stack, start to finish. The shutdown flush's path.
432
+ *
433
+ * Kept synchronous deliberately: `finish()` runs inside the daemon's shutdown,
434
+ * where there is no loop left to return to and an advance that settled after
435
+ * the process exited would be an advance nobody recorded.
436
+ */
437
+ export declare function runAdvanceSync(input: AdvanceInput, auth: Extract<AdvanceAuthorization, {
438
+ authorized: true;
439
+ }>): AdvanceAttempt;
440
+ /**
441
+ * The advance, with the git work in a child, so this loop keeps answering.
442
+ *
443
+ * ## Why a child rather than an `await`
444
+ *
445
+ * The second half of the 2026-09-02 incident: `answerCallbackQuery: HTTP 400`,
446
+ * over and over, around the grants. Telegram drops a callback query that is not
447
+ * answered inside its window, and `approval up` runs the channel listener and
448
+ * the daemon in ONE process on ONE loop. `logAdvance` is `spawnSync` from end to
449
+ * end — `git fetch`, a scratch-index commit, `git push`, `gh pr create` — so
450
+ * every tap that arrived during an advance waited for the push to finish, and
451
+ * the human got a button that never toasted. A promise would not have helped:
452
+ * synchronous work does not yield no matter what it is wrapped in. Only another
453
+ * process does.
454
+ *
455
+ * ## What does NOT move
456
+ *
457
+ * The gate work. `core/child-env.ts` strips `APPROVAL_*` from a child's
458
+ * environment (APRV-205), and the `supervised-live` draw's secret is exactly
459
+ * such a variable, so a child that asked the gate would be a child that could
460
+ * not draw and would fail closed on every tick. Authorization happens in
461
+ * {@link authorizeAdvance}, in this process, before the child is spawned;
462
+ * {@link recordFinish} closes the execution in this process, after it settles.
463
+ * The child gets one job — the git side effect — and no authority whatsoever.
464
+ * It never touches the log: it cannot append, and everything it says comes back
465
+ * as one JSON line on its stdout.
466
+ */
467
+ export declare function runAdvanceAsync(input: AdvanceInput, auth: Extract<AdvanceAuthorization, {
468
+ authorized: true;
469
+ }>): Promise<AdvanceAttempt>;
470
+ /**
471
+ * Register, request, start, advance, finish. One attempt, on this stack.
472
+ *
473
+ * The whole cycle for a caller that has no loop to protect: the shutdown flush,
474
+ * `--once`, and every test that asserts on what one tick did.
475
+ */
476
+ export declare function attemptAdvance(input: AdvanceInput, records: readonly EventRecord[]): AdvanceAttempt;
@@ -55,6 +55,16 @@
55
55
  * carries a path an advance may not carry, so what gets armed is only ever
56
56
  * evidence. `--no-advance-auto-merge` turns the whole thing off.
57
57
  *
58
+ * ## Which class a cycle asks under (APRV-382)
59
+ *
60
+ * Two, and the running process picks. `log.advance.daemon` is the daemon's own
61
+ * class and this repository's policy makes it autonomous: an advance publishes
62
+ * records the log already holds, appends nothing and decides nothing, so the
63
+ * cadence does not need a hand. `log.advance` is what everybody else asks
64
+ * under, unchanged. `core/advance-cycle.ts`'s `advanceRoute` is the rule, read
65
+ * against `core/daemon-actor.ts` rather than against anything a caller passed,
66
+ * and a policy with no daemon line leaves the cadence exactly where it was.
67
+ *
58
68
  * ## The self-perpetuation trap, and how the trigger avoids it
59
69
  *
60
70
  * One advance cycle appends three records of its own (`task.registered`,
@@ -76,8 +86,9 @@
76
86
  import { spawn } from "node:child_process";
77
87
  import { fileURLToPath } from "node:url";
78
88
  import { tick } from "../core/clock.js";
79
- import { ADVANCE_ACTOR, ADVANCE_CLASS, RESOLVE_DANGLING_COMMAND, advanceActionKey, advanceTaskId, danglingAdvances, openAdvanceRequest, proveDanglingAdvances, } from "../core/advance-cycle.js";
89
+ import { ADVANCE_ACTOR, RESOLVE_DANGLING_COMMAND, advanceActionKey, advanceRoute, advanceTaskId, danglingAdvances, openAdvanceRequest, proveDanglingAdvances, } from "../core/advance-cycle.js";
80
90
  import { childEnvironment } from "../core/child-env.js";
91
+ import { isDaemonProcess } from "../core/daemon-actor.js";
81
92
  import { finishExecution, startExecution, } from "../core/execute.js";
82
93
  import { register, request } from "../core/gate.js";
83
94
  import { attemptsOf, withHeadRetry } from "../core/head-retry.js";
@@ -478,6 +489,16 @@ export function authorizeAdvance(input, records) {
478
489
  ...(input.policy.dir === undefined ? {} : { dir: input.policy.dir }),
479
490
  ...(input.schemaDir === undefined ? {} : { schemaDir: input.schemaDir }),
480
491
  });
492
+ // WHO is running this cycle, and therefore which class it asks under
493
+ // (APRV-382). Read from the process rather than from `input`, because a field
494
+ // a caller sets is a self-reported field and a self-reported field never
495
+ // reduces scrutiny (SPEC.md §11.1 invariant 4). Asked before anything is
496
+ // appended, so a refusal here leaves the log exactly as it found it.
497
+ const route = advanceRoute(isDaemonProcess(), loaded);
498
+ if (!route.ok) {
499
+ return no({ outcome: "refused", code: route.code, message: route.message });
500
+ }
501
+ const cls = route.cls;
481
502
  const open = openAdvanceRequest(records, ts, loaded.ok ? loaded.durations.approvalTtlMs : null);
482
503
  const adopted = open !== null && open.actionKey === actionKey;
483
504
  if (open !== null && open.state === "requested") {
@@ -522,7 +543,7 @@ export function authorizeAdvance(input, records) {
522
543
  state: "proposed",
523
544
  actions: [
524
545
  {
525
- class: ADVANCE_CLASS,
546
+ class: cls,
526
547
  idempotency_key: actionKey,
527
548
  summary: `log advance: seq ${String(state.publishedSeq + 1)}..${String(state.substantiveSeq)} onto ${recordsBranch}`,
528
549
  reversible: true,
@@ -541,7 +562,7 @@ export function authorizeAdvance(input, records) {
541
562
  const asked = request(input.logPath, {
542
563
  task,
543
564
  actionKey,
544
- cls: ADVANCE_CLASS,
565
+ cls,
545
566
  reversible: true,
546
567
  est_cost_usd: "0",
547
568
  summary: `log advance: seq ${String(state.publishedSeq + 1)}..${String(state.substantiveSeq)}`,
@@ -561,7 +582,7 @@ export function authorizeAdvance(input, records) {
561
582
  outcome: "gated",
562
583
  code: asked.live?.reason ?? "manual",
563
584
  message: `the gate sent this advance to a human (${asked.live === undefined
564
- ? `class ${ADVANCE_CLASS} resolves ${asked.autonomy}`
585
+ ? `class ${cls} resolves ${asked.autonomy}`
565
586
  : `supervised-live draw: ${asked.live.reason} at rate ${String(asked.live.rate)}`}); nothing was committed. The question is in the queue as ${actionKey}, and the next tick adopts it rather than asking again.`,
566
587
  });
567
588
  }
@@ -1 +1 @@
1
- {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/daemon/advance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/daemon/advance.ts"],"names":[],"mappings":"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"}