dorfl 0.14.2 → 0.15.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 (418) hide show
  1. package/dist/advance-ci-template.d.ts +17 -16
  2. package/dist/advance-ci-template.d.ts.map +1 -1
  3. package/dist/advance-ci-template.js +42 -53
  4. package/dist/advance-ci-template.js.map +1 -1
  5. package/dist/advance-drivers.d.ts +8 -0
  6. package/dist/advance-drivers.d.ts.map +1 -1
  7. package/dist/advance-drivers.js +28 -4
  8. package/dist/advance-drivers.js.map +1 -1
  9. package/dist/advance-isolated.d.ts.map +1 -1
  10. package/dist/advance-isolated.js +3 -2
  11. package/dist/advance-isolated.js.map +1 -1
  12. package/dist/advance-lifecycle-template.d.ts +41 -40
  13. package/dist/advance-lifecycle-template.d.ts.map +1 -1
  14. package/dist/advance-lifecycle-template.js +309 -489
  15. package/dist/advance-lifecycle-template.js.map +1 -1
  16. package/dist/advance-loop-driver.d.ts.map +1 -1
  17. package/dist/advance-loop-driver.js +3 -2
  18. package/dist/advance-loop-driver.js.map +1 -1
  19. package/dist/advance-treeless-publish.d.ts +31 -0
  20. package/dist/advance-treeless-publish.d.ts.map +1 -1
  21. package/dist/advance-treeless-publish.js +40 -0
  22. package/dist/advance-treeless-publish.js.map +1 -1
  23. package/dist/advance.d.ts +63 -3
  24. package/dist/advance.d.ts.map +1 -1
  25. package/dist/advance.js +80 -12
  26. package/dist/advance.js.map +1 -1
  27. package/dist/advancing-lock.d.ts +9 -0
  28. package/dist/advancing-lock.d.ts.map +1 -1
  29. package/dist/advancing-lock.js +21 -1
  30. package/dist/advancing-lock.js.map +1 -1
  31. package/dist/agent-env.d.ts +61 -0
  32. package/dist/agent-env.d.ts.map +1 -0
  33. package/dist/agent-env.js +144 -0
  34. package/dist/agent-env.js.map +1 -0
  35. package/dist/agent-stop.d.ts +35 -0
  36. package/dist/agent-stop.d.ts.map +1 -1
  37. package/dist/agent-stop.js +62 -0
  38. package/dist/agent-stop.js.map +1 -1
  39. package/dist/apply-merge-action.d.ts +76 -34
  40. package/dist/apply-merge-action.d.ts.map +1 -1
  41. package/dist/apply-merge-action.js +339 -129
  42. package/dist/apply-merge-action.js.map +1 -1
  43. package/dist/apply-stuck-action.js +2 -2
  44. package/dist/apply-stuck-action.js.map +1 -1
  45. package/dist/ci-agent-result.d.ts +151 -0
  46. package/dist/ci-agent-result.d.ts.map +1 -0
  47. package/dist/ci-agent-result.js +314 -0
  48. package/dist/ci-agent-result.js.map +1 -0
  49. package/dist/ci-handoff-apply.d.ts +162 -0
  50. package/dist/ci-handoff-apply.d.ts.map +1 -0
  51. package/dist/ci-handoff-apply.js +497 -0
  52. package/dist/ci-handoff-apply.js.map +1 -0
  53. package/dist/ci-handoff-format.d.ts +369 -0
  54. package/dist/ci-handoff-format.d.ts.map +1 -0
  55. package/dist/ci-handoff-format.js +646 -0
  56. package/dist/ci-handoff-format.js.map +1 -0
  57. package/dist/ci-handoff-lfs.d.ts +146 -0
  58. package/dist/ci-handoff-lfs.d.ts.map +1 -0
  59. package/dist/ci-handoff-lfs.js +397 -0
  60. package/dist/ci-handoff-lfs.js.map +1 -0
  61. package/dist/ci-handoff.d.ts +99 -0
  62. package/dist/ci-handoff.d.ts.map +1 -0
  63. package/dist/ci-handoff.js +277 -0
  64. package/dist/ci-handoff.js.map +1 -0
  65. package/dist/ci-lock-outputs.d.ts +93 -0
  66. package/dist/ci-lock-outputs.d.ts.map +1 -0
  67. package/dist/ci-lock-outputs.js +223 -0
  68. package/dist/ci-lock-outputs.js.map +1 -0
  69. package/dist/ci-phase-build.d.ts +178 -0
  70. package/dist/ci-phase-build.d.ts.map +1 -0
  71. package/dist/ci-phase-build.js +989 -0
  72. package/dist/ci-phase-build.js.map +1 -0
  73. package/dist/ci-phase-driver.d.ts +247 -0
  74. package/dist/ci-phase-driver.d.ts.map +1 -0
  75. package/dist/ci-phase-driver.js +370 -0
  76. package/dist/ci-phase-driver.js.map +1 -0
  77. package/dist/ci-phase-intake.d.ts +172 -0
  78. package/dist/ci-phase-intake.d.ts.map +1 -0
  79. package/dist/ci-phase-intake.js +555 -0
  80. package/dist/ci-phase-intake.js.map +1 -0
  81. package/dist/ci-phase-tasking.d.ts +205 -0
  82. package/dist/ci-phase-tasking.d.ts.map +1 -0
  83. package/dist/ci-phase-tasking.js +906 -0
  84. package/dist/ci-phase-tasking.js.map +1 -0
  85. package/dist/ci-phase-treeless.d.ts +224 -0
  86. package/dist/ci-phase-treeless.d.ts.map +1 -0
  87. package/dist/ci-phase-treeless.js +1482 -0
  88. package/dist/ci-phase-treeless.js.map +1 -0
  89. package/dist/ci-read-token.d.ts +47 -0
  90. package/dist/ci-read-token.d.ts.map +1 -0
  91. package/dist/ci-read-token.js +80 -0
  92. package/dist/ci-read-token.js.map +1 -0
  93. package/dist/cli.d.ts.map +1 -1
  94. package/dist/cli.js +447 -22
  95. package/dist/cli.js.map +1 -1
  96. package/dist/close-job-template.d.ts +10 -1
  97. package/dist/close-job-template.d.ts.map +1 -1
  98. package/dist/close-job-template.js +46 -14
  99. package/dist/close-job-template.js.map +1 -1
  100. package/dist/close-job.d.ts +20 -5
  101. package/dist/close-job.d.ts.map +1 -1
  102. package/dist/close-job.js +65 -12
  103. package/dist/close-job.js.map +1 -1
  104. package/dist/complete.d.ts.map +1 -1
  105. package/dist/complete.js +20 -1
  106. package/dist/complete.js.map +1 -1
  107. package/dist/config.d.ts +41 -44
  108. package/dist/config.d.ts.map +1 -1
  109. package/dist/config.js +2 -4
  110. package/dist/config.js.map +1 -1
  111. package/dist/continue-branch.d.ts +63 -15
  112. package/dist/continue-branch.d.ts.map +1 -1
  113. package/dist/continue-branch.js +75 -8
  114. package/dist/continue-branch.js.map +1 -1
  115. package/dist/crashed-run-save.d.ts +73 -0
  116. package/dist/crashed-run-save.d.ts.map +1 -0
  117. package/dist/crashed-run-save.js +86 -0
  118. package/dist/crashed-run-save.js.map +1 -0
  119. package/dist/cwd-section.d.ts.map +1 -1
  120. package/dist/cwd-section.js +10 -2
  121. package/dist/cwd-section.js.map +1 -1
  122. package/dist/decision-engine.d.ts +10 -0
  123. package/dist/decision-engine.d.ts.map +1 -1
  124. package/dist/decision-engine.js.map +1 -1
  125. package/dist/do-config.d.ts +2 -24
  126. package/dist/do-config.d.ts.map +1 -1
  127. package/dist/do-config.js +1 -33
  128. package/dist/do-config.js.map +1 -1
  129. package/dist/do.d.ts +149 -1
  130. package/dist/do.d.ts.map +1 -1
  131. package/dist/do.js +115 -25
  132. package/dist/do.js.map +1 -1
  133. package/dist/dorfl-item-template.d.ts +98 -0
  134. package/dist/dorfl-item-template.d.ts.map +1 -0
  135. package/dist/dorfl-item-template.js +504 -0
  136. package/dist/dorfl-item-template.js.map +1 -0
  137. package/dist/env-config.d.ts.map +1 -1
  138. package/dist/env-config.js +7 -5
  139. package/dist/env-config.js.map +1 -1
  140. package/dist/frontmatter.d.ts +52 -0
  141. package/dist/frontmatter.d.ts.map +1 -1
  142. package/dist/frontmatter.js +136 -2
  143. package/dist/frontmatter.js.map +1 -1
  144. package/dist/gc.d.ts +13 -0
  145. package/dist/gc.d.ts.map +1 -1
  146. package/dist/gc.js +16 -2
  147. package/dist/gc.js.map +1 -1
  148. package/dist/git.d.ts +18 -1
  149. package/dist/git.d.ts.map +1 -1
  150. package/dist/git.js +70 -5
  151. package/dist/git.js.map +1 -1
  152. package/dist/harness.d.ts +44 -5
  153. package/dist/harness.d.ts.map +1 -1
  154. package/dist/harness.js +24 -1
  155. package/dist/harness.js.map +1 -1
  156. package/dist/index.d.ts +11 -4
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +7 -3
  159. package/dist/index.js.map +1 -1
  160. package/dist/install-ci-action-pins.d.ts +123 -0
  161. package/dist/install-ci-action-pins.d.ts.map +1 -0
  162. package/dist/install-ci-action-pins.js +190 -0
  163. package/dist/install-ci-action-pins.js.map +1 -0
  164. package/dist/install-ci-actions-pr-creation.d.ts +70 -0
  165. package/dist/install-ci-actions-pr-creation.d.ts.map +1 -0
  166. package/dist/install-ci-actions-pr-creation.js +106 -0
  167. package/dist/install-ci-actions-pr-creation.js.map +1 -0
  168. package/dist/install-ci-capabilities/dorfl-item.d.ts +12 -0
  169. package/dist/install-ci-capabilities/dorfl-item.d.ts.map +1 -0
  170. package/dist/install-ci-capabilities/dorfl-item.js +26 -0
  171. package/dist/install-ci-capabilities/dorfl-item.js.map +1 -0
  172. package/dist/install-ci-core.d.ts +155 -37
  173. package/dist/install-ci-core.d.ts.map +1 -1
  174. package/dist/install-ci-core.js +304 -200
  175. package/dist/install-ci-core.js.map +1 -1
  176. package/dist/install-ci-github.d.ts +47 -2
  177. package/dist/install-ci-github.d.ts.map +1 -1
  178. package/dist/install-ci-github.js +113 -1
  179. package/dist/install-ci-github.js.map +1 -1
  180. package/dist/install-ci.d.ts +25 -6
  181. package/dist/install-ci.d.ts.map +1 -1
  182. package/dist/install-ci.js +72 -36
  183. package/dist/install-ci.js.map +1 -1
  184. package/dist/intake-marker.d.ts +6 -1
  185. package/dist/intake-marker.d.ts.map +1 -1
  186. package/dist/intake-marker.js.map +1 -1
  187. package/dist/intake-triage.d.ts.map +1 -1
  188. package/dist/intake-triage.js +6 -2
  189. package/dist/intake-triage.js.map +1 -1
  190. package/dist/intake-trigger-template.d.ts +31 -25
  191. package/dist/intake-trigger-template.d.ts.map +1 -1
  192. package/dist/intake-trigger-template.js +107 -292
  193. package/dist/intake-trigger-template.js.map +1 -1
  194. package/dist/intake.d.ts +186 -4
  195. package/dist/intake.d.ts.map +1 -1
  196. package/dist/intake.js +533 -416
  197. package/dist/intake.js.map +1 -1
  198. package/dist/integration-core.d.ts +154 -1
  199. package/dist/integration-core.d.ts.map +1 -1
  200. package/dist/integration-core.js +759 -486
  201. package/dist/integration-core.js.map +1 -1
  202. package/dist/integrator.d.ts +12 -0
  203. package/dist/integrator.d.ts.map +1 -1
  204. package/dist/integrator.js +21 -0
  205. package/dist/integrator.js.map +1 -1
  206. package/dist/isolation.d.ts +12 -2
  207. package/dist/isolation.d.ts.map +1 -1
  208. package/dist/isolation.js +19 -8
  209. package/dist/isolation.js.map +1 -1
  210. package/dist/item-lock.d.ts +93 -11
  211. package/dist/item-lock.d.ts.map +1 -1
  212. package/dist/item-lock.js +233 -65
  213. package/dist/item-lock.js.map +1 -1
  214. package/dist/land-question-residue.d.ts +58 -0
  215. package/dist/land-question-residue.d.ts.map +1 -0
  216. package/dist/land-question-residue.js +95 -0
  217. package/dist/land-question-residue.js.map +1 -0
  218. package/dist/lifecycle-gather.d.ts +16 -0
  219. package/dist/lifecycle-gather.d.ts.map +1 -1
  220. package/dist/lifecycle-gather.js +54 -6
  221. package/dist/lifecycle-gather.js.map +1 -1
  222. package/dist/merge-answer.d.ts +41 -0
  223. package/dist/merge-answer.d.ts.map +1 -0
  224. package/dist/merge-answer.js +60 -0
  225. package/dist/merge-answer.js.map +1 -0
  226. package/dist/merge-question-surfacer.d.ts +105 -30
  227. package/dist/merge-question-surfacer.d.ts.map +1 -1
  228. package/dist/merge-question-surfacer.js +202 -91
  229. package/dist/merge-question-surfacer.js.map +1 -1
  230. package/dist/merge-question-tick.d.ts +64 -0
  231. package/dist/merge-question-tick.d.ts.map +1 -0
  232. package/dist/merge-question-tick.js +96 -0
  233. package/dist/merge-question-tick.js.map +1 -0
  234. package/dist/mint-adr.d.ts.map +1 -1
  235. package/dist/mint-adr.js +20 -2
  236. package/dist/mint-adr.js.map +1 -1
  237. package/dist/needs-attention.d.ts +72 -2
  238. package/dist/needs-attention.d.ts.map +1 -1
  239. package/dist/needs-attention.js +275 -38
  240. package/dist/needs-attention.js.map +1 -1
  241. package/dist/phase-recorder.d.ts +168 -0
  242. package/dist/phase-recorder.d.ts.map +1 -0
  243. package/dist/phase-recorder.js +218 -0
  244. package/dist/phase-recorder.js.map +1 -0
  245. package/dist/phase.d.ts +94 -0
  246. package/dist/phase.d.ts.map +1 -0
  247. package/dist/phase.js +148 -0
  248. package/dist/phase.js.map +1 -0
  249. package/dist/pi-harness.d.ts.map +1 -1
  250. package/dist/pi-harness.js +19 -6
  251. package/dist/pi-harness.js.map +1 -1
  252. package/dist/prepare.d.ts.map +1 -1
  253. package/dist/prepare.js +4 -0
  254. package/dist/prepare.js.map +1 -1
  255. package/dist/prompt.d.ts +4 -0
  256. package/dist/prompt.d.ts.map +1 -1
  257. package/dist/prompt.js +48 -1
  258. package/dist/prompt.js.map +1 -1
  259. package/dist/protocol/CLAIM-PROTOCOL.md +3 -1
  260. package/dist/protocol/WORK-CONTRACT.md +1 -1
  261. package/dist/reap-branches.d.ts +48 -0
  262. package/dist/reap-branches.d.ts.map +1 -1
  263. package/dist/reap-branches.js +64 -0
  264. package/dist/reap-branches.js.map +1 -1
  265. package/dist/ref-write.d.ts +198 -0
  266. package/dist/ref-write.d.ts.map +1 -0
  267. package/dist/ref-write.js +79 -0
  268. package/dist/ref-write.js.map +1 -0
  269. package/dist/repo-config.js +8 -8
  270. package/dist/repo-config.js.map +1 -1
  271. package/dist/repo-mirror.d.ts +36 -0
  272. package/dist/repo-mirror.d.ts.map +1 -1
  273. package/dist/repo-mirror.js +91 -1
  274. package/dist/repo-mirror.js.map +1 -1
  275. package/dist/review-verdict.d.ts +1 -1
  276. package/dist/review-verdict.js +1 -1
  277. package/dist/run.d.ts +7 -1
  278. package/dist/run.d.ts.map +1 -1
  279. package/dist/run.js +28 -4
  280. package/dist/run.js.map +1 -1
  281. package/dist/scan.d.ts +19 -1
  282. package/dist/scan.d.ts.map +1 -1
  283. package/dist/scan.js +21 -8
  284. package/dist/scan.js.map +1 -1
  285. package/dist/sidecar.d.ts +14 -0
  286. package/dist/sidecar.d.ts.map +1 -1
  287. package/dist/sidecar.js +21 -0
  288. package/dist/sidecar.js.map +1 -1
  289. package/dist/single-job-warning.d.ts +63 -0
  290. package/dist/single-job-warning.d.ts.map +1 -0
  291. package/dist/single-job-warning.js +110 -0
  292. package/dist/single-job-warning.js.map +1 -0
  293. package/dist/skills/setup/protocol/CLAIM-PROTOCOL.md +3 -1
  294. package/dist/skills/setup/protocol/WORK-CONTRACT.md +1 -1
  295. package/dist/spec-complete.d.ts +13 -6
  296. package/dist/spec-complete.d.ts.map +1 -1
  297. package/dist/spec-complete.js +23 -11
  298. package/dist/spec-complete.js.map +1 -1
  299. package/dist/start.d.ts.map +1 -1
  300. package/dist/start.js +47 -14
  301. package/dist/start.js.map +1 -1
  302. package/dist/status.d.ts +12 -0
  303. package/dist/status.d.ts.map +1 -1
  304. package/dist/status.js +11 -3
  305. package/dist/status.js.map +1 -1
  306. package/dist/tasking.d.ts +246 -1
  307. package/dist/tasking.d.ts.map +1 -1
  308. package/dist/tasking.js +452 -358
  309. package/dist/tasking.js.map +1 -1
  310. package/dist/triage-persist.d.ts.map +1 -1
  311. package/dist/triage-persist.js +21 -2
  312. package/dist/triage-persist.js.map +1 -1
  313. package/dist/verify-workflow-template.d.ts.map +1 -1
  314. package/dist/verify-workflow-template.js +8 -4
  315. package/dist/verify-workflow-template.js.map +1 -1
  316. package/dist/verify.d.ts.map +1 -1
  317. package/dist/verify.js +4 -0
  318. package/dist/verify.js.map +1 -1
  319. package/dist/watch-session.d.ts +42 -13
  320. package/dist/watch-session.d.ts.map +1 -1
  321. package/dist/watch-session.js +52 -23
  322. package/dist/watch-session.js.map +1 -1
  323. package/dist/work-layout.d.ts +10 -4
  324. package/dist/work-layout.d.ts.map +1 -1
  325. package/dist/work-layout.js +11 -3
  326. package/dist/work-layout.js.map +1 -1
  327. package/dist/workspace.d.ts +65 -4
  328. package/dist/workspace.d.ts.map +1 -1
  329. package/dist/workspace.js +159 -11
  330. package/dist/workspace.js.map +1 -1
  331. package/package.json +1 -1
  332. package/src/advance-ci-template.ts +80 -81
  333. package/src/advance-drivers.ts +45 -6
  334. package/src/advance-isolated.ts +3 -5
  335. package/src/advance-lifecycle-template.ts +375 -538
  336. package/src/advance-loop-driver.ts +3 -5
  337. package/src/advance-treeless-publish.ts +61 -0
  338. package/src/advance.ts +145 -15
  339. package/src/advancing-lock.ts +36 -1
  340. package/src/agent-env.ts +174 -0
  341. package/src/agent-stop.ts +81 -0
  342. package/src/apply-merge-action.ts +401 -154
  343. package/src/apply-stuck-action.ts +2 -2
  344. package/src/ci-agent-result.ts +421 -0
  345. package/src/ci-handoff-apply.ts +737 -0
  346. package/src/ci-handoff-format.ts +926 -0
  347. package/src/ci-handoff-lfs.ts +519 -0
  348. package/src/ci-handoff.ts +392 -0
  349. package/src/ci-lock-outputs.ts +273 -0
  350. package/src/ci-phase-build.ts +1328 -0
  351. package/src/ci-phase-driver.ts +548 -0
  352. package/src/ci-phase-intake.ts +861 -0
  353. package/src/ci-phase-tasking.ts +1255 -0
  354. package/src/ci-phase-treeless.ts +2028 -0
  355. package/src/ci-read-token.ts +90 -0
  356. package/src/cli.ts +591 -29
  357. package/src/close-job-template.ts +52 -15
  358. package/src/close-job.ts +77 -12
  359. package/src/complete.ts +19 -1
  360. package/src/config.ts +43 -48
  361. package/src/continue-branch.ts +121 -16
  362. package/src/crashed-run-save.ts +162 -0
  363. package/src/cwd-section.ts +10 -0
  364. package/src/decision-engine.ts +10 -0
  365. package/src/do-config.ts +2 -57
  366. package/src/do.ts +170 -28
  367. package/src/dorfl-item-template.ts +556 -0
  368. package/src/env-config.ts +7 -5
  369. package/src/frontmatter.ts +155 -2
  370. package/src/gc.ts +27 -2
  371. package/src/git.ts +83 -5
  372. package/src/harness.ts +58 -6
  373. package/src/index.ts +50 -1
  374. package/src/install-ci-action-pins.ts +209 -0
  375. package/src/install-ci-actions-pr-creation.ts +186 -0
  376. package/src/install-ci-capabilities/dorfl-item.ts +33 -0
  377. package/src/install-ci-core.ts +388 -233
  378. package/src/install-ci-github.ts +149 -1
  379. package/src/install-ci.ts +83 -37
  380. package/src/intake-marker.ts +6 -1
  381. package/src/intake-triage.ts +7 -3
  382. package/src/intake-trigger-template.ts +126 -327
  383. package/src/intake.ts +725 -544
  384. package/src/integration-core.ts +975 -523
  385. package/src/integrator.ts +28 -0
  386. package/src/isolation.ts +29 -10
  387. package/src/item-lock.ts +308 -92
  388. package/src/land-question-residue.ts +122 -0
  389. package/src/lifecycle-gather.ts +82 -10
  390. package/src/merge-answer.ts +82 -0
  391. package/src/merge-question-surfacer.ts +320 -112
  392. package/src/merge-question-tick.ts +182 -0
  393. package/src/mint-adr.ts +28 -2
  394. package/src/needs-attention.ts +350 -42
  395. package/src/phase-recorder.ts +350 -0
  396. package/src/phase.ts +177 -0
  397. package/src/pi-harness.ts +25 -5
  398. package/src/prepare.ts +4 -0
  399. package/src/prompt.ts +68 -1
  400. package/src/reap-branches.ts +107 -0
  401. package/src/ref-write.ts +324 -0
  402. package/src/repo-config.ts +8 -8
  403. package/src/repo-mirror.ts +107 -1
  404. package/src/review-verdict.ts +1 -1
  405. package/src/run.ts +47 -6
  406. package/src/scan.ts +37 -7
  407. package/src/sidecar.ts +36 -0
  408. package/src/single-job-warning.ts +135 -0
  409. package/src/spec-complete.ts +36 -14
  410. package/src/start.ts +55 -16
  411. package/src/status.ts +29 -3
  412. package/src/tasking.ts +593 -378
  413. package/src/triage-persist.ts +24 -2
  414. package/src/verify-workflow-template.ts +8 -4
  415. package/src/verify.ts +4 -0
  416. package/src/watch-session.ts +86 -28
  417. package/src/work-layout.ts +11 -3
  418. package/src/workspace.ts +210 -14
@@ -0,0 +1,178 @@
1
+ /**
2
+ * **The build path split into the three CI phases** (spec
3
+ * `ci-agent-job-without-write-token` §3 build row and §8, ADR
4
+ * `ci-agent-job-holds-no-write-token`, tasks `ci-split-build-path` and
5
+ * `ci-split-build-path-non-integrate-intents`).
6
+ *
7
+ * `advance task:<slug>` / `do <slug>` with `--phase` run ONE of three halves of
8
+ * the one build pipeline (`performDo`), never a second implementation:
9
+ *
10
+ * - **lock** ({@link performBuildLockPhase}): fetch `<arbiter>/main` (its tip
11
+ * is `baseSha`, and the tree the item is classified in, never the run's
12
+ * commit); claim (`acquireItemLock`, `action: implement`); publish
13
+ * `acquired`, `needsAgent`, `rung`, `baseSha`, `lockSha`, `continueTip`,
14
+ * `handoffName` (it carries `github.run_attempt`, so a "Re-run all jobs"
15
+ * attempt never collides with an earlier attempt's artifact) and
16
+ * `agentTimeoutMinutes` (from the config at `baseSha`). An item that is not
17
+ * claimable at `baseSha` (it already advanced, or its lock is held) is a
18
+ * no-op that writes nothing.
19
+ * - **agent** ({@link performBuildAgentPhase}): check, read-only, that the lock
20
+ * ref still equals `lockSha`, then run `performDo` without its claim under
21
+ * the phase recorder: the continue rebase (LOCAL only, decision 7), the
22
+ * build agent, the STOP and deadline detection, the gate, the Gate-2 review,
23
+ * the done-move commit, the local rebase and the fresh-worktree gate run
24
+ * exactly as today, and the pipeline halts at its first write, which names
25
+ * the intent handed over ({@link handOverHalt}):
26
+ * - the land half (`integrationLand.land`): `integrate`, with the
27
+ * work-branch bundle, the PR title and body and the Gate-2 review prose;
28
+ * - a needs-attention bounce (red gate, blocked review, rebase conflict):
29
+ * `needs-attention`, the wip committed locally and bundled;
30
+ * - the deadline checkpoint's branch save: `deadline-checkpoint`, the
31
+ * checkpoint commit bundled;
32
+ * - the agent's deliberate STOP: `stop`; an agent failure: `agent-failed`
33
+ * (both with the wip bundled, when there is any).
34
+ * - **apply** ({@link performBuildApplyPhase}): refuse to write unless the
35
+ * lock ref still equals `lockSha` (so a "Re-run failed jobs" of a finished
36
+ * run writes nothing); act on the agent job's result first (task
37
+ * `ci-split-agent-result-and-reruns`): anything but `success` never reads
38
+ * the handoff, and surfaces the item (failure, timeout, an unexpected skip)
39
+ * or only releases the lock (a real cancel); validate the handoff as hostile
40
+ * (`validateApplyHandoff`); push the handoff's Git LFS objects before any
41
+ * ref, for every intent (decision 6, `pushLfsObjects`); when the lock job saw a kept branch, push the
42
+ * bundle's tip with a lease on that `continueTip` first (decision 7; a
43
+ * stale lease writes nothing); then resume at the write half of the intent:
44
+ * the land half (`landIntegration`, the unchanged compare-and-swap loop, then
45
+ * the review comment), the needs-attention route, `routeDeadlineCheckpoint`
46
+ * (with `maxAutoCheckpoints` from the config at `baseSha`),
47
+ * `saveAgentStop` or `saveAgentFailure`. Every lock release in the apply
48
+ * phase is leased on `lockSha` (`leaseLockReleases`), and the lock is
49
+ * released once the work is durably on `main` (a propose PR keeps it held,
50
+ * exactly as `complete` does today).
51
+ */
52
+ import { type HandoffRecord } from './ci-handoff-format.js';
53
+ import type { LockOutputs } from './ci-lock-outputs.js';
54
+ import type { AgentJobResult, GithubApiGet } from './ci-agent-result.js';
55
+ import { type DoOptions } from './do.js';
56
+ import { type IntegrationCoreResult } from './integration-core.js';
57
+ import type { Phase } from './phase.js';
58
+ /** The verb a build phase runs under (they classify the argument differently). */
59
+ export type BuildPhaseVerb = 'do' | 'advance';
60
+ /** Options of a build phase run: the `do` pipeline's options plus the phase inputs. */
61
+ export interface BuildPhaseOptions extends DoOptions {
62
+ /** Which of the three jobs this process is. */
63
+ phase: Phase;
64
+ /** `do <slug>` or `advance task:<slug>`. */
65
+ verb: BuildPhaseVerb;
66
+ /**
67
+ * The handoff directory: the agent phase writes the artifact here (it must be
68
+ * empty or absent); the apply phase reads it (it must be under
69
+ * {@link runnerTemp}).
70
+ */
71
+ handoffDir?: string;
72
+ /** `$RUNNER_TEMP` (the apply phase); defaults to the env's. */
73
+ runnerTemp?: string;
74
+ /** The lock job's outputs (agent / apply); defaults to `DORFL_LOCK_OUTPUTS`. */
75
+ lockOutputs?: LockOutputs;
76
+ /** `github.run_attempt` (the lock phase names the artifact with it); default the env's, else 1. */
77
+ runAttempt?: string;
78
+ /** The `$GITHUB_OUTPUT` file the lock phase appends to; default the env's. */
79
+ githubOutput?: string;
80
+ /** The merge-mode CAS-loop jitter (tests pass 0). */
81
+ mergeJitterMs?: number;
82
+ /**
83
+ * apply: `needs.agent.result` (`--agent-result`), REQUIRED. Only `success`
84
+ * reads the handoff (decision 5, task `ci-split-agent-result-and-reruns`).
85
+ */
86
+ agentResult?: AgentJobResult;
87
+ /**
88
+ * apply: the agent job's timeout (`--agent-timeout-minutes`, the trusted
89
+ * lock output); defaults to the lock outputs' `agentTimeoutMinutes`.
90
+ */
91
+ agentTimeoutMinutes?: number;
92
+ /** apply: the Actions API reader (tests stub it); default `fetch` with `GITHUB_TOKEN`. */
93
+ actionsApi?: GithubApiGet;
94
+ }
95
+ /** How a build phase run ended. */
96
+ export type BuildPhaseOutcome =
97
+ /** lock: the item is claimed; the agent phase runs next. */
98
+ 'locked'
99
+ /** lock: nothing to do at the arbiter's `main` (not claimable, or not a build). */
100
+ | 'no-op'
101
+ /** lock: another run holds the item's lock. */
102
+ | 'lost'
103
+ /** agent / apply: the lock ref no longer equals `lockSha`; nothing was done. */
104
+ | 'stale-lock'
105
+ /** agent: the handoff was written (see `intent`). */
106
+ | 'handed-over'
107
+ /** apply: the work landed on `main` and the lock was released. */
108
+ | 'landed'
109
+ /** apply: the branch was pushed (and a PR requested); the lock stays held. */
110
+ | 'proposed'
111
+ /** apply: the item was surfaced to needs-attention. */
112
+ | 'surfaced'
113
+ /** apply: surfacing the item did not land on the arbiter (it stays locked). */
114
+ | 'surface-unmoved'
115
+ /** apply: a deadline checkpoint was saved and the lock released to continue. */
116
+ | 'auto-continued'
117
+ /** apply: the agent job was cancelled (not timed out); the lock was only released. */
118
+ | 'released'
119
+ /** apply: the cancelled agent job's leased lock release was refused. */
120
+ | 'release-refused'
121
+ /**
122
+ * apply: the kept work branch moved on the arbiter since the lock job saw it
123
+ * (`continueTip`), so the leased continue push was refused; nothing was written.
124
+ */
125
+ | 'stale-lease'
126
+ /** apply: the handoff broke a rule; nothing from it was written. */
127
+ | 'rejected'
128
+ /** A usage or environment problem, or a path this task does not split yet. */
129
+ | 'usage-error';
130
+ /** The result of one build phase run. */
131
+ export interface BuildPhaseResult {
132
+ /**
133
+ * The job's exit code: a HANDLED outcome is 0 (a surface that landed, a
134
+ * rejected handoff that was surfaced, a lock lost to another run, a stale
135
+ * lock on a re-run); only an unhandled one is non-zero. See "A handled
136
+ * outcome is green" in `ci-phase-driver.ts`.
137
+ */
138
+ exitCode: 0 | 1 | 2 | 3;
139
+ outcome: BuildPhaseOutcome;
140
+ /**
141
+ * The result line: the CLI prints it (`>> ` or `error: `), so the phase does
142
+ * NOT also `note` it (each line appears once in the job log).
143
+ */
144
+ message: string;
145
+ slug?: string;
146
+ /** lock: the facts published. */
147
+ lockOutputs?: LockOutputs;
148
+ /** agent: the handed-over intent kind. */
149
+ intent?: HandoffRecord['intent']['kind'];
150
+ /** apply: the land half's result, when it ran. */
151
+ land?: IntegrationCoreResult;
152
+ }
153
+ /**
154
+ * Run one phase of the build path. The CLI calls this for `do <slug> --phase`
155
+ * and `advance task:<slug> --phase`.
156
+ */
157
+ export declare function performBuildPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
158
+ /**
159
+ * The lock phase: classify the item at the arbiter's `main`, claim it and
160
+ * publish the trusted facts. Runs no agent and no repository code. An item that
161
+ * already advanced (not claimable at `baseSha`), or whose lock another run
162
+ * holds, is refused BEFORE any write.
163
+ */
164
+ export declare function performBuildLockPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
165
+ /**
166
+ * The agent phase: after a read-only lock-ownership check, run the build
167
+ * pipeline (`performDo`, without its claim) under the phase recorder, halt at
168
+ * the first write, and write the handoff. Holds a read-only token: it never
169
+ * writes to the arbiter.
170
+ */
171
+ export declare function performBuildAgentPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
172
+ /**
173
+ * The apply phase: check the lock is still this run's, validate the handoff as
174
+ * hostile, then resume the build at the intent's write half. Runs no agent and
175
+ * no repository code; every write goes through dorfl's seams.
176
+ */
177
+ export declare function performBuildApplyPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
178
+ //# sourceMappingURL=ci-phase-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-phase-build.d.ts","sourceRoot":"","sources":["../src/ci-phase-build.ts"],"names":[],"mappings":"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"}