dorfl 0.1.1 → 0.2.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 (492) hide show
  1. package/dist/advance-ci-template.d.ts +3 -3
  2. package/dist/advance-ci-template.js +1 -1
  3. package/dist/advance-ci-template.js.map +1 -1
  4. package/dist/advance-classify.d.ts +5 -5
  5. package/dist/advance-classify.d.ts.map +1 -1
  6. package/dist/advance-classify.js +4 -4
  7. package/dist/advance-drivers.d.ts +8 -8
  8. package/dist/advance-drivers.d.ts.map +1 -1
  9. package/dist/advance-drivers.js +20 -8
  10. package/dist/advance-drivers.js.map +1 -1
  11. package/dist/advance-isolated.d.ts +3 -3
  12. package/dist/advance-isolated.d.ts.map +1 -1
  13. package/dist/advance-isolated.js +1 -1
  14. package/dist/advance-lifecycle-template.d.ts +2 -2
  15. package/dist/advance-lifecycle-template.d.ts.map +1 -1
  16. package/dist/advance-lifecycle-template.js +85 -13
  17. package/dist/advance-lifecycle-template.js.map +1 -1
  18. package/dist/advance-loop-driver.d.ts +3 -3
  19. package/dist/advance-loop-driver.d.ts.map +1 -1
  20. package/dist/advance-loop-driver.js +1 -1
  21. package/dist/advance-treeless-publish.d.ts +24 -1
  22. package/dist/advance-treeless-publish.d.ts.map +1 -1
  23. package/dist/advance-treeless-publish.js +41 -0
  24. package/dist/advance-treeless-publish.js.map +1 -1
  25. package/dist/advance.d.ts +69 -17
  26. package/dist/advance.d.ts.map +1 -1
  27. package/dist/advance.js +409 -102
  28. package/dist/advance.js.map +1 -1
  29. package/dist/advancing-lock.d.ts +31 -3
  30. package/dist/advancing-lock.d.ts.map +1 -1
  31. package/dist/advancing-lock.js +55 -5
  32. package/dist/advancing-lock.js.map +1 -1
  33. package/dist/agent-launch.d.ts +12 -0
  34. package/dist/agent-launch.d.ts.map +1 -1
  35. package/dist/agent-launch.js +22 -12
  36. package/dist/agent-launch.js.map +1 -1
  37. package/dist/agent-stop.d.ts +40 -2
  38. package/dist/agent-stop.d.ts.map +1 -1
  39. package/dist/agent-stop.js +30 -2
  40. package/dist/agent-stop.js.map +1 -1
  41. package/dist/apply-decide.d.ts +19 -5
  42. package/dist/apply-decide.d.ts.map +1 -1
  43. package/dist/apply-decide.js +38 -9
  44. package/dist/apply-decide.js.map +1 -1
  45. package/dist/apply-merge-action.d.ts +20 -8
  46. package/dist/apply-merge-action.d.ts.map +1 -1
  47. package/dist/apply-merge-action.js +44 -9
  48. package/dist/apply-merge-action.js.map +1 -1
  49. package/dist/apply-persist.d.ts +62 -31
  50. package/dist/apply-persist.d.ts.map +1 -1
  51. package/dist/apply-persist.js +173 -44
  52. package/dist/apply-persist.js.map +1 -1
  53. package/dist/apply-stuck-action.d.ts +151 -0
  54. package/dist/apply-stuck-action.d.ts.map +1 -0
  55. package/dist/apply-stuck-action.js +125 -0
  56. package/dist/apply-stuck-action.js.map +1 -0
  57. package/dist/brand.d.ts +12 -1
  58. package/dist/brand.d.ts.map +1 -1
  59. package/dist/brand.js +2 -1
  60. package/dist/brand.js.map +1 -1
  61. package/dist/buildable-body.d.ts +14 -14
  62. package/dist/buildable-body.js +9 -9
  63. package/dist/claim-cas.d.ts +3 -3
  64. package/dist/claim-cas.js +1 -1
  65. package/dist/claim-cas.js.map +1 -1
  66. package/dist/cli-spinner.d.ts +1 -1
  67. package/dist/cli-spinner.js +1 -1
  68. package/dist/cli.d.ts +10 -0
  69. package/dist/cli.d.ts.map +1 -1
  70. package/dist/cli.js +385 -128
  71. package/dist/cli.js.map +1 -1
  72. package/dist/close-job-template.d.ts +3 -3
  73. package/dist/close-job-template.js +9 -9
  74. package/dist/close-job.d.ts +8 -8
  75. package/dist/close-job.js +25 -25
  76. package/dist/close-job.js.map +1 -1
  77. package/dist/complete.d.ts +9 -6
  78. package/dist/complete.d.ts.map +1 -1
  79. package/dist/complete.js +99 -45
  80. package/dist/complete.js.map +1 -1
  81. package/dist/concurrency.d.ts +1 -1
  82. package/dist/concurrency.js +1 -1
  83. package/dist/config.d.ts +86 -40
  84. package/dist/config.d.ts.map +1 -1
  85. package/dist/config.js +61 -9
  86. package/dist/config.js.map +1 -1
  87. package/dist/continue-branch.d.ts +1 -1
  88. package/dist/continue-branch.d.ts.map +1 -1
  89. package/dist/continue-branch.js +23 -1
  90. package/dist/continue-branch.js.map +1 -1
  91. package/dist/cwd-section.js +1 -1
  92. package/dist/cwd-section.js.map +1 -1
  93. package/dist/decision-engine.d.ts +39 -11
  94. package/dist/decision-engine.d.ts.map +1 -1
  95. package/dist/decision-engine.js +10 -6
  96. package/dist/decision-engine.js.map +1 -1
  97. package/dist/do-autopick.d.ts +6 -6
  98. package/dist/do-autopick.d.ts.map +1 -1
  99. package/dist/do-autopick.js +16 -6
  100. package/dist/do-autopick.js.map +1 -1
  101. package/dist/do-config.d.ts +4 -4
  102. package/dist/do-config.js +3 -3
  103. package/dist/do-config.js.map +1 -1
  104. package/dist/do-remote-auto.d.ts +2 -2
  105. package/dist/do-remote-auto.js +1 -1
  106. package/dist/do.d.ts +74 -81
  107. package/dist/do.d.ts.map +1 -1
  108. package/dist/do.js +439 -50
  109. package/dist/do.js.map +1 -1
  110. package/dist/drop-source.d.ts +2 -2
  111. package/dist/env-config.d.ts.map +1 -1
  112. package/dist/env-config.js +19 -11
  113. package/dist/env-config.js.map +1 -1
  114. package/dist/failure-cause.d.ts +3 -2
  115. package/dist/failure-cause.d.ts.map +1 -1
  116. package/dist/failure-cause.js +28 -1
  117. package/dist/failure-cause.js.map +1 -1
  118. package/dist/format.d.ts +6 -6
  119. package/dist/format.d.ts.map +1 -1
  120. package/dist/format.js +13 -30
  121. package/dist/format.js.map +1 -1
  122. package/dist/frontmatter.d.ts +28 -15
  123. package/dist/frontmatter.d.ts.map +1 -1
  124. package/dist/frontmatter.js +38 -24
  125. package/dist/frontmatter.js.map +1 -1
  126. package/dist/gc.d.ts +65 -6
  127. package/dist/gc.d.ts.map +1 -1
  128. package/dist/gc.js +126 -9
  129. package/dist/gc.js.map +1 -1
  130. package/dist/github.d.ts +14 -0
  131. package/dist/github.d.ts.map +1 -1
  132. package/dist/github.js +73 -0
  133. package/dist/github.js.map +1 -1
  134. package/dist/harness.d.ts +25 -0
  135. package/dist/harness.d.ts.map +1 -1
  136. package/dist/harness.js.map +1 -1
  137. package/dist/index.d.ts +4 -1
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +2 -1
  140. package/dist/index.js.map +1 -1
  141. package/dist/install-ci-branch-protection.d.ts +133 -39
  142. package/dist/install-ci-branch-protection.d.ts.map +1 -1
  143. package/dist/install-ci-branch-protection.js +191 -49
  144. package/dist/install-ci-branch-protection.js.map +1 -1
  145. package/dist/install-ci-capabilities/advance-lifecycle.d.ts +1 -1
  146. package/dist/install-ci-capabilities/advance-lifecycle.js +1 -1
  147. package/dist/install-ci-capabilities/close-job.d.ts +1 -1
  148. package/dist/install-ci-capabilities/close-job.js +1 -1
  149. package/dist/install-ci-capabilities/example-noop.d.ts +1 -1
  150. package/dist/install-ci-capabilities/example-noop.js +1 -1
  151. package/dist/install-ci-capabilities/intake.d.ts +2 -2
  152. package/dist/install-ci-capabilities/intake.js +2 -2
  153. package/dist/install-ci-capabilities/verify.d.ts +1 -1
  154. package/dist/install-ci-capabilities/verify.js +1 -1
  155. package/dist/install-ci-core.d.ts +24 -4
  156. package/dist/install-ci-core.d.ts.map +1 -1
  157. package/dist/install-ci-core.js +12 -5
  158. package/dist/install-ci-core.js.map +1 -1
  159. package/dist/install-ci-github.d.ts +33 -1
  160. package/dist/install-ci-github.d.ts.map +1 -1
  161. package/dist/install-ci-github.js +74 -1
  162. package/dist/install-ci-github.js.map +1 -1
  163. package/dist/install-ci.d.ts +1 -1
  164. package/dist/install-ci.js +4 -4
  165. package/dist/install-ci.js.map +1 -1
  166. package/dist/install-skills.d.ts +123 -0
  167. package/dist/install-skills.d.ts.map +1 -0
  168. package/dist/install-skills.js +100 -0
  169. package/dist/install-skills.js.map +1 -0
  170. package/dist/intake-event.d.ts +6 -6
  171. package/dist/intake-event.js +6 -6
  172. package/dist/intake-marker.d.ts +3 -3
  173. package/dist/intake-marker.d.ts.map +1 -1
  174. package/dist/intake-triage.d.ts +1 -1
  175. package/dist/intake-triage.js +2 -2
  176. package/dist/intake-trigger-template.d.ts +8 -8
  177. package/dist/intake-trigger-template.d.ts.map +1 -1
  178. package/dist/intake-trigger-template.js +17 -17
  179. package/dist/intake-trigger-template.js.map +1 -1
  180. package/dist/intake.d.ts +65 -52
  181. package/dist/intake.d.ts.map +1 -1
  182. package/dist/intake.js +92 -76
  183. package/dist/intake.js.map +1 -1
  184. package/dist/integration-core.d.ts +27 -24
  185. package/dist/integration-core.d.ts.map +1 -1
  186. package/dist/integration-core.js +191 -77
  187. package/dist/integration-core.js.map +1 -1
  188. package/dist/integrator.d.ts +1 -1
  189. package/dist/integrator.d.ts.map +1 -1
  190. package/dist/integrator.js +19 -3
  191. package/dist/integrator.js.map +1 -1
  192. package/dist/isolation.d.ts +4 -4
  193. package/dist/isolation.d.ts.map +1 -1
  194. package/dist/isolation.js +9 -0
  195. package/dist/isolation.js.map +1 -1
  196. package/dist/issue-provider.d.ts +4 -4
  197. package/dist/issue-provider.js +1 -1
  198. package/dist/item-lock.d.ts +216 -149
  199. package/dist/item-lock.d.ts.map +1 -1
  200. package/dist/item-lock.js +345 -270
  201. package/dist/item-lock.js.map +1 -1
  202. package/dist/item-path.d.ts +2 -2
  203. package/dist/item-path.js +2 -2
  204. package/dist/ledger-lint.d.ts +9 -9
  205. package/dist/ledger-lint.js +9 -9
  206. package/dist/ledger-read.d.ts +57 -57
  207. package/dist/ledger-read.d.ts.map +1 -1
  208. package/dist/ledger-read.js +24 -24
  209. package/dist/ledger-read.js.map +1 -1
  210. package/dist/ledger-write.d.ts +33 -28
  211. package/dist/ledger-write.d.ts.map +1 -1
  212. package/dist/ledger-write.js +100 -122
  213. package/dist/ledger-write.js.map +1 -1
  214. package/dist/lifecycle-gather.d.ts +18 -1
  215. package/dist/lifecycle-gather.d.ts.map +1 -1
  216. package/dist/lifecycle-gather.js +23 -17
  217. package/dist/lifecycle-gather.js.map +1 -1
  218. package/dist/lifecycle-pools.d.ts +44 -7
  219. package/dist/lifecycle-pools.d.ts.map +1 -1
  220. package/dist/lifecycle-pools.js +27 -7
  221. package/dist/lifecycle-pools.js.map +1 -1
  222. package/dist/merge-question-surfacer.d.ts +18 -4
  223. package/dist/merge-question-surfacer.d.ts.map +1 -1
  224. package/dist/merge-question-surfacer.js +20 -5
  225. package/dist/merge-question-surfacer.js.map +1 -1
  226. package/dist/migrate-stuck-locks.d.ts +129 -0
  227. package/dist/migrate-stuck-locks.d.ts.map +1 -0
  228. package/dist/migrate-stuck-locks.js +355 -0
  229. package/dist/migrate-stuck-locks.js.map +1 -0
  230. package/dist/mint-adr.js +4 -4
  231. package/dist/mirror-pool-scan.d.ts +2 -2
  232. package/dist/mirror-pool-scan.js +3 -3
  233. package/dist/mirror-pool-scan.js.map +1 -1
  234. package/dist/needs-attention.d.ts +304 -27
  235. package/dist/needs-attention.d.ts.map +1 -1
  236. package/dist/needs-attention.js +542 -67
  237. package/dist/needs-attention.js.map +1 -1
  238. package/dist/orphan-sidecar.d.ts +10 -6
  239. package/dist/orphan-sidecar.d.ts.map +1 -1
  240. package/dist/orphan-sidecar.js +35 -2
  241. package/dist/orphan-sidecar.js.map +1 -1
  242. package/dist/pi-harness.d.ts +16 -0
  243. package/dist/pi-harness.d.ts.map +1 -1
  244. package/dist/pi-harness.js +82 -2
  245. package/dist/pi-harness.js.map +1 -1
  246. package/dist/placement.d.ts +8 -8
  247. package/dist/placement.js +3 -3
  248. package/dist/prd-to-spec.d.ts.map +1 -1
  249. package/dist/prd-to-spec.js +9 -5
  250. package/dist/prd-to-spec.js.map +1 -1
  251. package/dist/prompt.d.ts +16 -19
  252. package/dist/prompt.d.ts.map +1 -1
  253. package/dist/prompt.js +17 -19
  254. package/dist/prompt.js.map +1 -1
  255. package/dist/protocol/CLAIM-PROTOCOL.md +17 -10
  256. package/dist/protocol/REVIEW-PROTOCOL.md +4 -1
  257. package/dist/protocol/SURFACE-PROTOCOL.md +16 -2
  258. package/dist/protocol/TASKING-PROTOCOL.md +3 -1
  259. package/dist/protocol/WORK-CONTRACT.md +22 -18
  260. package/dist/protocol/task-template.md +1 -1
  261. package/dist/readiness.d.ts +1 -1
  262. package/dist/reap-branches.d.ts +12 -9
  263. package/dist/reap-branches.d.ts.map +1 -1
  264. package/dist/reap-branches.js +25 -7
  265. package/dist/reap-branches.js.map +1 -1
  266. package/dist/recover-isolated.d.ts +12 -0
  267. package/dist/recover-isolated.d.ts.map +1 -1
  268. package/dist/recover-isolated.js +6 -1
  269. package/dist/recover-isolated.js.map +1 -1
  270. package/dist/repo-config.d.ts +23 -2
  271. package/dist/repo-config.d.ts.map +1 -1
  272. package/dist/repo-config.js +64 -18
  273. package/dist/repo-config.js.map +1 -1
  274. package/dist/repo-mirror.d.ts.map +1 -1
  275. package/dist/repo-mirror.js +18 -2
  276. package/dist/repo-mirror.js.map +1 -1
  277. package/dist/review-gate.d.ts +3 -3
  278. package/dist/review-gate.d.ts.map +1 -1
  279. package/dist/review-gate.js +11 -10
  280. package/dist/review-gate.js.map +1 -1
  281. package/dist/review-verdict.d.ts +2 -2
  282. package/dist/review-verdict.d.ts.map +1 -1
  283. package/dist/review-verdict.js +2 -2
  284. package/dist/review-verdict.js.map +1 -1
  285. package/dist/run.d.ts +2 -2
  286. package/dist/run.d.ts.map +1 -1
  287. package/dist/run.js +58 -23
  288. package/dist/run.js.map +1 -1
  289. package/dist/scan.d.ts +26 -17
  290. package/dist/scan.d.ts.map +1 -1
  291. package/dist/scan.js +29 -15
  292. package/dist/scan.js.map +1 -1
  293. package/dist/select-order.d.ts +1 -1
  294. package/dist/select-priority.d.ts +14 -14
  295. package/dist/select-priority.d.ts.map +1 -1
  296. package/dist/select-priority.js +5 -5
  297. package/dist/select-priority.js.map +1 -1
  298. package/dist/sidecar-apply.js +1 -1
  299. package/dist/sidecar-apply.js.map +1 -1
  300. package/dist/sidecar.d.ts +47 -12
  301. package/dist/sidecar.d.ts.map +1 -1
  302. package/dist/sidecar.js +84 -4
  303. package/dist/sidecar.js.map +1 -1
  304. package/dist/skills/answer-questions/SKILL.md +89 -0
  305. package/dist/skills/capture-signal/SKILL.md +52 -0
  306. package/dist/skills/convert-from-prd-to-spec/SKILL.md +90 -0
  307. package/dist/skills/drive-tasks/SKILL.md +218 -0
  308. package/dist/skills/from-idea/SKILL.md +83 -0
  309. package/dist/skills/merge-prs/SKILL.md +70 -0
  310. package/dist/skills/orchestrate/SKILL.md +101 -0
  311. package/dist/skills/promote/SKILL.md +35 -0
  312. package/dist/skills/review/SKILL.md +16 -0
  313. package/dist/skills/setup/SKILL.md +258 -0
  314. package/dist/skills/setup/protocol/ADR-FORMAT.md +47 -0
  315. package/dist/skills/setup/protocol/CLAIM-PROTOCOL.md +224 -0
  316. package/dist/skills/setup/protocol/REVIEW-PROTOCOL.md +122 -0
  317. package/dist/skills/setup/protocol/SURFACE-PROTOCOL.md +135 -0
  318. package/dist/skills/setup/protocol/TASKING-PROTOCOL.md +124 -0
  319. package/dist/skills/setup/protocol/WORK-CONTRACT.md +280 -0
  320. package/dist/skills/setup/protocol/spec-template.md +71 -0
  321. package/dist/skills/setup/protocol/task-template.md +65 -0
  322. package/dist/skills/surface-questions/SKILL.md +16 -0
  323. package/dist/skills/to-spec/SKILL.md +34 -0
  324. package/dist/skills/to-task/SKILL.md +19 -0
  325. package/dist/skills/triage-observations/SKILL.md +78 -0
  326. package/dist/skills/work/SKILL.md +51 -0
  327. package/dist/slug-namespace.d.ts +6 -6
  328. package/dist/slug-namespace.js +8 -8
  329. package/dist/slug-namespace.js.map +1 -1
  330. package/dist/spec-complete.d.ts.map +1 -1
  331. package/dist/spec-complete.js +4 -5
  332. package/dist/spec-complete.js.map +1 -1
  333. package/dist/start.d.ts +1 -1
  334. package/dist/start.d.ts.map +1 -1
  335. package/dist/start.js +54 -60
  336. package/dist/start.js.map +1 -1
  337. package/dist/status.d.ts +3 -3
  338. package/dist/status.js +4 -4
  339. package/dist/status.js.map +1 -1
  340. package/dist/surface-gate.d.ts +2 -2
  341. package/dist/surface-gate.d.ts.map +1 -1
  342. package/dist/surface-gate.js +10 -3
  343. package/dist/surface-gate.js.map +1 -1
  344. package/dist/surface-persist.d.ts +2 -2
  345. package/dist/surface-persist.d.ts.map +1 -1
  346. package/dist/surface-persist.js +1 -1
  347. package/dist/surface-persist.js.map +1 -1
  348. package/dist/tasker-review-loop.d.ts +11 -10
  349. package/dist/tasker-review-loop.d.ts.map +1 -1
  350. package/dist/tasker-review-loop.js +8 -8
  351. package/dist/tasker-review-loop.js.map +1 -1
  352. package/dist/tasking-eligibility.d.ts +21 -21
  353. package/dist/tasking-eligibility.d.ts.map +1 -1
  354. package/dist/tasking-eligibility.js +10 -10
  355. package/dist/tasking-lock.d.ts +10 -10
  356. package/dist/tasking-lock.d.ts.map +1 -1
  357. package/dist/tasking-lock.js +69 -49
  358. package/dist/tasking-lock.js.map +1 -1
  359. package/dist/tasking.d.ts +73 -39
  360. package/dist/tasking.d.ts.map +1 -1
  361. package/dist/tasking.js +309 -95
  362. package/dist/tasking.js.map +1 -1
  363. package/dist/triage-gate.d.ts +1 -1
  364. package/dist/triage-persist.d.ts +15 -11
  365. package/dist/triage-persist.d.ts.map +1 -1
  366. package/dist/triage-persist.js +48 -18
  367. package/dist/triage-persist.js.map +1 -1
  368. package/dist/vendor/incur/agents.d.ts +58 -0
  369. package/dist/vendor/incur/agents.d.ts.map +1 -0
  370. package/dist/vendor/incur/agents.js +343 -0
  371. package/dist/vendor/incur/agents.js.map +1 -0
  372. package/dist/verify-workflow-template.d.ts +1 -1
  373. package/dist/verify-workflow-template.js +3 -3
  374. package/dist/watch-session.d.ts +11 -3
  375. package/dist/watch-session.d.ts.map +1 -1
  376. package/dist/watch-session.js +94 -7
  377. package/dist/watch-session.js.map +1 -1
  378. package/dist/work-layout.d.ts +15 -9
  379. package/dist/work-layout.d.ts.map +1 -1
  380. package/dist/work-layout.js +14 -9
  381. package/dist/work-layout.js.map +1 -1
  382. package/dist/workspace.d.ts +2 -2
  383. package/package.json +2 -2
  384. package/src/advance-ci-template.ts +4 -4
  385. package/src/advance-classify.ts +5 -5
  386. package/src/advance-drivers.ts +26 -13
  387. package/src/advance-isolated.ts +3 -3
  388. package/src/advance-lifecycle-template.ts +98 -13
  389. package/src/advance-loop-driver.ts +3 -3
  390. package/src/advance-treeless-publish.ts +46 -1
  391. package/src/advance.ts +495 -115
  392. package/src/advancing-lock.ts +102 -7
  393. package/src/agent-launch.ts +37 -12
  394. package/src/agent-stop.ts +60 -2
  395. package/src/apply-decide.ts +38 -9
  396. package/src/apply-merge-action.ts +49 -11
  397. package/src/apply-persist.ts +236 -62
  398. package/src/apply-stuck-action.ts +260 -0
  399. package/src/brand.ts +14 -2
  400. package/src/buildable-body.ts +14 -14
  401. package/src/claim-cas.ts +4 -4
  402. package/src/cli-spinner.ts +1 -1
  403. package/src/cli.ts +472 -141
  404. package/src/close-job-template.ts +9 -9
  405. package/src/close-job.ts +26 -26
  406. package/src/complete.ts +121 -63
  407. package/src/concurrency.ts +1 -1
  408. package/src/config.ts +143 -49
  409. package/src/continue-branch.ts +23 -1
  410. package/src/cwd-section.ts +1 -1
  411. package/src/decision-engine.ts +57 -19
  412. package/src/do-autopick.ts +21 -10
  413. package/src/do-config.ts +7 -7
  414. package/src/do-remote-auto.ts +2 -2
  415. package/src/do.ts +558 -85
  416. package/src/drop-source.ts +2 -2
  417. package/src/env-config.ts +19 -11
  418. package/src/failure-cause.ts +30 -1
  419. package/src/format.ts +13 -33
  420. package/src/frontmatter.ts +55 -35
  421. package/src/gc.ts +172 -9
  422. package/src/github.ts +78 -0
  423. package/src/harness.ts +25 -0
  424. package/src/index.ts +10 -0
  425. package/src/install-ci-branch-protection.ts +283 -58
  426. package/src/install-ci-capabilities/advance-lifecycle.ts +1 -1
  427. package/src/install-ci-capabilities/close-job.ts +1 -1
  428. package/src/install-ci-capabilities/example-noop.ts +1 -1
  429. package/src/install-ci-capabilities/intake.ts +2 -2
  430. package/src/install-ci-capabilities/verify.ts +1 -1
  431. package/src/install-ci-core.ts +34 -7
  432. package/src/install-ci-github.ts +87 -1
  433. package/src/install-ci.ts +4 -4
  434. package/src/install-skills.ts +166 -0
  435. package/src/intake-event.ts +6 -6
  436. package/src/intake-marker.ts +3 -3
  437. package/src/intake-triage.ts +2 -2
  438. package/src/intake-trigger-template.ts +18 -18
  439. package/src/intake.ts +138 -103
  440. package/src/integration-core.ts +234 -100
  441. package/src/integrator.ts +22 -9
  442. package/src/isolation.ts +13 -4
  443. package/src/issue-provider.ts +4 -4
  444. package/src/item-lock.ts +505 -361
  445. package/src/item-path.ts +2 -2
  446. package/src/ledger-lint.ts +9 -9
  447. package/src/ledger-read.ts +81 -81
  448. package/src/ledger-write.ts +137 -152
  449. package/src/lifecycle-gather.ts +45 -22
  450. package/src/lifecycle-pools.ts +71 -13
  451. package/src/merge-question-surfacer.ts +32 -8
  452. package/src/migrate-stuck-locks.ts +451 -0
  453. package/src/mint-adr.ts +4 -4
  454. package/src/mirror-pool-scan.ts +5 -5
  455. package/src/needs-attention.ts +877 -104
  456. package/src/orphan-sidecar.ts +49 -8
  457. package/src/pi-harness.ts +82 -2
  458. package/src/placement.ts +8 -8
  459. package/src/prd-to-spec.ts +13 -5
  460. package/src/prompt.ts +20 -25
  461. package/src/readiness.ts +1 -1
  462. package/src/reap-branches.ts +38 -14
  463. package/src/recover-isolated.ts +18 -1
  464. package/src/repo-config.ts +66 -17
  465. package/src/repo-mirror.ts +23 -1
  466. package/src/review-gate.ts +12 -11
  467. package/src/review-verdict.ts +3 -3
  468. package/src/run.ts +69 -23
  469. package/src/scan.ts +36 -22
  470. package/src/select-order.ts +1 -1
  471. package/src/select-priority.ts +15 -15
  472. package/src/sidecar-apply.ts +1 -1
  473. package/src/sidecar.ts +141 -14
  474. package/src/slug-namespace.ts +10 -10
  475. package/src/spec-complete.ts +4 -5
  476. package/src/start.ts +57 -63
  477. package/src/status.ts +7 -7
  478. package/src/surface-gate.ts +12 -5
  479. package/src/surface-persist.ts +3 -3
  480. package/src/tasker-review-loop.ts +18 -17
  481. package/src/tasking-eligibility.ts +21 -21
  482. package/src/tasking-lock.ts +75 -60
  483. package/src/tasking.ts +381 -135
  484. package/src/triage-gate.ts +1 -1
  485. package/src/triage-persist.ts +71 -27
  486. package/src/vendor/incur/LICENSE +21 -0
  487. package/src/vendor/incur/README.md +19 -0
  488. package/src/vendor/incur/agents.ts +392 -0
  489. package/src/verify-workflow-template.ts +3 -3
  490. package/src/watch-session.ts +102 -7
  491. package/src/work-layout.ts +14 -9
  492. package/src/workspace.ts +2 -2
@@ -6,8 +6,8 @@
6
6
  */
7
7
  /**
8
8
  * **Origin-trust PROVENANCE** (task `untrusted-origin-forces-build-propose`).
9
- * How a prd/task was BORN and the AUTHOR-TRUST verdict at birth, stamped so the
10
- * signal SURVIVES the prd/task merge boundary (a landed-on-`main` artifact would
9
+ * How a spec/task was BORN and the AUTHOR-TRUST verdict at birth, stamped so the
10
+ * signal SURVIVES the spec/task merge boundary (a landed-on-`main` artifact would
11
11
  * otherwise erase how it was created — the laundering gap).
12
12
  *
13
13
  * - `origin` — `human` (the default / unset: a human authored it locally; a local
@@ -45,11 +45,12 @@ export interface Frontmatter {
45
45
  * Source SPEC slug: the parent-spec pointer this artifact derives from; the
46
46
  * spec lives at `work/specs/ready/<spec>.md`. The `spec` vocabulary name (spec
47
47
  * `prd-to-spec-vocabulary-cutover-and-migration-command`). `parseFrontmatter`
48
- * populates it from EITHER the canonical `spec:` key OR the LEGACY `prd:` key
49
- * (the latter kept as a read-only BACK-COMPAT alias for un-migrated downstream
50
- * repos, whose data still carries `prd:` until `dorfl prd-to-spec` converts it).
51
- * `spec:` wins when both are present. There is no longer a separate `fm.prd`
52
- * FIELD both keys feed this one field.
48
+ * populates it from the canonical `spec:` key ONLY the HARD CUTOVER (the last
49
+ * ''prd'' back-compat surface removed): the legacy ''prd:'' KEY read is GONE, so
50
+ * an un-migrated ''prd:'' field no longer silently resolves. A downstream repo
51
+ * migrates its data with `dorfl prd-to-spec` (a purely TEXTUAL `prd: spec:`
52
+ * rewrite that does NOT go through this parser), after which the field reads
53
+ * canonically. There is no `fm.prd` FIELD.
53
54
  */
54
55
  spec: string | undefined;
55
56
  /**
@@ -103,19 +104,19 @@ export interface Frontmatter {
103
104
  /** Slugs this item is blocked by; `[]` when omitted or empty. */
104
105
  blockedBy: string[];
105
106
  /**
106
- * Prd-only: slugs of prds that must already be TASKED before this prd may be
107
- * tasked (resolved against `work/prds/tasked/` residence, NOT `done/`). `[]` when
107
+ * Spec-only: slugs of prds that must already be TASKED before this spec may be
108
+ * tasked (resolved against `work/specs/tasked/` residence, NOT `done/`). `[]` when
108
109
  * omitted or empty. Parsed here so the auto-tasker can read it; enforcement
109
110
  * lives in the `auto-slice` capability, not in eligibility.
110
111
  */
111
112
  taskedAfter: string[];
112
113
  /**
113
114
  * The per-item override layer for the `promptGuidance` NUDGE namespace
114
- * (task `prompt-guidance-testfirst-item-override`, prd US #5). A task or
115
- * prd may carry one or more `promptGuidance.<member>: true | false`
115
+ * (task `prompt-guidance-testfirst-item-override`, spec US #5). A task or
116
+ * spec may carry one or more `promptGuidance.<member>: true | false`
116
117
  * frontmatter lines to OVERRIDE the resolved repo policy for THAT ITEM only.
117
118
  * Each member is `undefined` when omitted (⇒ inherit the next layer down in
118
- * the precedence chain: per-task > per-prd > repo-resolved). The override
119
+ * the precedence chain: per-task > per-spec > repo-resolved). The override
119
120
  * is honoured at the prompt-assembly seam (`prompt.ts`); it never affects
120
121
  * the `verify` gate.
121
122
  *
@@ -166,14 +167,26 @@ export declare function setNeedsAnswersMarker(content: string, value: boolean):
166
167
  * content, so it is left untouched (a degenerate input no writer produces).
167
168
  */
168
169
  export declare function setFrontmatterMarker(content: string, key: string, value: string): string;
170
+ /**
171
+ * Read ONE arbitrary top-level scalar frontmatter key by name, returning its
172
+ * unquoted value (or `undefined` when the doc has no fence, or the key is absent).
173
+ *
174
+ * A general-purpose companion to {@link parseFrontmatter} for keys that are NOT in
175
+ * the modelled {@link Frontmatter} shape — e.g. the observation→task provenance
176
+ * back-reference `promotedFrom:` the triage-promote path stamps and the create-CAS
177
+ * lost-race disambiguation reads (task
178
+ * `observation-triage-already-triaged-benign-skip`). Only top-level `key: value`
179
+ * lines are matched (block-list / nested values are out of scope for a scalar read).
180
+ */
181
+ export declare function readFrontmatterField(content: string, key: string): string | undefined;
169
182
  /**
170
183
  * PROPAGATE the origin-trust PROVENANCE (`origin` + `originTrust`) from a SOURCE
171
- * artifact (a prd) onto a TARGET artifact's content (an emitted task), returning
184
+ * artifact (a spec) onto a TARGET artifact's content (an emitted task), returning
172
185
  * the new content (task `untrusted-origin-forces-build-propose`). The tasker
173
- * calls this so a task born from an untrusted-origin prd carries the stamp the
186
+ * calls this so a task born from an untrusted-origin spec carries the stamp the
174
187
  * BUILD transition reads. IDEMPOTENT: each present source field is written via
175
188
  * {@link setFrontmatterMarker} (replace-or-append). When the source has NO `origin`
176
- * (a human/local-authored prd ⇒ trusted), the target is returned UNCHANGED — the
189
+ * (a human/local-authored spec ⇒ trusted), the target is returned UNCHANGED — the
177
190
  * normal path is never stamped (zero behaviour change). When a stamp IS applied to
178
191
  * a fence-less target, {@link setFrontmatterMarker} now prepends a fence to carry
179
192
  * it (tasks the tasker emits always have a fence, so this is the defensive path).
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AACvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD,MAAM,WAAW,WAAW;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;;OAKG;IACH,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;;;;;;;OAeG;IACH,cAAc,EAAE;QAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAA;KAAC,CAAC;CACjD;AA6FD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAE7E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACX,MAAM,CAyBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,aAAa,CAAC,EACnD,aAAa,EAAE,MAAM,GACnB,MAAM,CAYR;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CA4H7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAC9C;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAQzE"}
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AACvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD,MAAM,WAAW,WAAW;IAC3B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,qDAAqD;IACrD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;;OAKG;IACH,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,iEAAiE;IACjE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;;;;;;;OAeG;IACH,cAAc,EAAE;QAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAA;KAAC,CAAC;CACjD;AA6FD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAE7E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACX,MAAM,CAyBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACT,MAAM,GAAG,SAAS,CAcpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,aAAa,CAAC,EACnD,aAAa,EAAE,MAAM,GACnB,MAAM,CAYR;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAiH7D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAC9C;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAQzE"}
@@ -154,14 +154,40 @@ export function setFrontmatterMarker(content, key, value) {
154
154
  lines.splice(closing, 0, `${key}: ${value}`);
155
155
  return lines.join('\n');
156
156
  }
157
+ /**
158
+ * Read ONE arbitrary top-level scalar frontmatter key by name, returning its
159
+ * unquoted value (or `undefined` when the doc has no fence, or the key is absent).
160
+ *
161
+ * A general-purpose companion to {@link parseFrontmatter} for keys that are NOT in
162
+ * the modelled {@link Frontmatter} shape — e.g. the observation→task provenance
163
+ * back-reference `promotedFrom:` the triage-promote path stamps and the create-CAS
164
+ * lost-race disambiguation reads (task
165
+ * `observation-triage-already-triaged-benign-skip`). Only top-level `key: value`
166
+ * lines are matched (block-list / nested values are out of scope for a scalar read).
167
+ */
168
+ export function readFrontmatterField(content, key) {
169
+ const block = extractBlock(content);
170
+ if (block === undefined) {
171
+ return undefined;
172
+ }
173
+ const pattern = new RegExp(`^${key}\\s*:\\s*(.*)$`);
174
+ for (const line of block.split('\n')) {
175
+ const match = pattern.exec(line);
176
+ if (match) {
177
+ const value = unquote(match[1]);
178
+ return value === '' ? undefined : value;
179
+ }
180
+ }
181
+ return undefined;
182
+ }
157
183
  /**
158
184
  * PROPAGATE the origin-trust PROVENANCE (`origin` + `originTrust`) from a SOURCE
159
- * artifact (a prd) onto a TARGET artifact's content (an emitted task), returning
185
+ * artifact (a spec) onto a TARGET artifact's content (an emitted task), returning
160
186
  * the new content (task `untrusted-origin-forces-build-propose`). The tasker
161
- * calls this so a task born from an untrusted-origin prd carries the stamp the
187
+ * calls this so a task born from an untrusted-origin spec carries the stamp the
162
188
  * BUILD transition reads. IDEMPOTENT: each present source field is written via
163
189
  * {@link setFrontmatterMarker} (replace-or-append). When the source has NO `origin`
164
- * (a human/local-authored prd ⇒ trusted), the target is returned UNCHANGED — the
190
+ * (a human/local-authored spec ⇒ trusted), the target is returned UNCHANGED — the
165
191
  * normal path is never stamped (zero behaviour change). When a stamp IS applied to
166
192
  * a fence-less target, {@link setFrontmatterMarker} now prepends a fence to carry
167
193
  * it (tasks the tasker emits always have a fence, so this is the defensive path).
@@ -230,29 +256,17 @@ export function parseFrontmatter(content) {
230
256
  else if (key === 'slug') {
231
257
  result.slug = rawValue === '' ? undefined : unquote(rawValue);
232
258
  }
233
- else if (key === 'spec' || key === 'prd') {
234
- // The parent-spec pointer, read from EITHER the canonical `spec:` key OR the
235
- // LEGACY `prd:` key into the SINGLE `fm.spec` field (spec
236
- // `prd-to-spec-vocabulary-cutover-and-migration-command`). The `prd:` key
237
- // read is a permanent-for-now BACK-COMPAT alias so an un-migrated downstream
238
- // repo (whose data still carries `prd:` until `dorfl prd-to-spec` converts
239
- // it) keeps resolving its parent spec. `spec:` WINS when both are present
240
- // (the canonical key over the legacy alias); an empty value on one key does
241
- // NOT clobber a non-empty value already read from the other.
242
- const value = rawValue === '' ? undefined : unquote(rawValue);
243
- if (key === 'spec') {
244
- // The canonical key wins: overwrite whatever `prd:` may have set.
245
- if (value !== undefined) {
246
- result.spec = value;
247
- }
248
- }
249
- else if (result.spec === undefined) {
250
- // Legacy `prd:` only fills in when `spec:` has not already set it.
251
- result.spec = value;
252
- }
259
+ else if (key === 'spec') {
260
+ // The parent-spec pointer, read from the canonical `spec:` key ONLY into the
261
+ // `fm.spec` field (spec `prd-to-spec-vocabulary-cutover-and-migration-command`,
262
+ // HARD CUTOVER). The legacy ''prd:'' KEY read is GONE — an un-migrated ''prd:''
263
+ // field no longer resolves here; a repo converts its data via the TEXTUAL
264
+ // `dorfl prd-to-spec` rewrite (which does not use this parser). An empty value
265
+ // leaves the field undefined.
266
+ result.spec = rawValue === '' ? undefined : unquote(rawValue);
253
267
  }
254
268
  else if (key === 'issue') {
255
- // Integer issue link (`intake`'s prd-emit OR a lone-task emit). A
269
+ // Integer issue link (`intake`'s spec-emit OR a lone-task emit). A
256
270
  // non-integer / empty value reads as undefined (the field is absent rather
257
271
  // than malformed).
258
272
  const n = Number(unquote(rawValue));
@@ -1 +1 @@
1
- {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../src/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgIH;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAe;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,mCAAmC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,qEAAqE;AACrE,SAAS,OAAO,CAAC,KAAa;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACxD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,KAA4B,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBAClB,KAAK,GAAG,SAAS,CAAC;YACnB,CAAC;YACD,SAAS;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC9B,KAAK,GAAG,EAAE,CAAC;YACX,SAAS;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,KAAK;SACV,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,KAAc;IACpE,OAAO,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAAe,EACf,GAAW,EACX,KAAa;IAEb,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,QAAQ,GAAG,KAAK,KAAK,YAAY,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,4EAA4E;QAC5E,yCAAyC;QACzC,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAAe,EACf,GAAW;IAEX,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAmD,EACnD,aAAqB;IAErB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrE,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,MAAM,GAAgB;QAC3B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAC,SAAS,EAAE,SAAS,EAAC;KACtC,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,0EAA0E;QAC1E,wCAAwC;QACxC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,SAAS;QACV,CAAC;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,yBAAyB;QACzB,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,SAAS;QACV,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtB,oEAAoE;YACpE,6EAA6E;YAC7E,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,CAAC;aAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAClC,yEAAyE;YACzE,2EAA2E;YAC3E,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YAC3B,6EAA6E;YAC7E,gFAAgF;YAChF,gFAAgF;YAChF,0EAA0E;YAC1E,+EAA+E;YAC/E,8BAA8B;YAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC5B,mEAAmE;YACnE,2EAA2E;YAC3E,mBAAmB;YACnB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK;gBACX,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,CAAC;aAAM,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;YAC/C,0EAA0E;YAC1E,uEAAuE;YACvE,2EAA2E;YAC3E,MAAM,CAAC,cAAc,CAAC,SAAS;gBAC9B,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YACnC,MAAM,CAAC,YAAY,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,uEAAuE;YACvE,wEAAwE;YACxE,kCAAkC;YAClC,MAAM,CAAC,OAAO,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACzD,IAAI,IAAc,CAAC;YACnB,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBAC5B,+DAA+D;gBAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChB,MAAM;oBACP,CAAC;oBACD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;wBACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC;oBACD,CAAC,EAAE,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,KAAK,CAAC;gBACb,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACP,IAAI,GAAG,EAAE,CAAC;YACX,CAAC;YACD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;gBACzB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAClC,WAAgD;IAEhD,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAC,CAAC;IAC9C,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAC,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
package/dist/gc.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type JobRecord } from './workspace.js';
2
+ import type { SidecarType } from './sidecar.js';
2
3
  /**
3
4
  * Why a job's worktree was retained (not provably safe to remove). The reaper
4
5
  * surfaces exactly one of these per retained job (the FIRST failing clause, in
@@ -152,14 +153,72 @@ export declare function gc(options: GcOptions): GcResult;
152
153
  * from the record (falling back to `work/<derived-slug>`).
153
154
  */
154
155
  export declare function discoverJobs(workspacesDir: string): GcJob[];
156
+ /** Input for {@link isProvablyMergedForReap}. */
157
+ export interface ProvablyMergedForReapInput {
158
+ /** The local repo the git predicates run in. */
159
+ cwd: string;
160
+ /** The candidate branch tip (a 40-hex sha or a resolvable ref). */
161
+ tip: string;
162
+ /**
163
+ * The arbiter's main as a ref RESOLVABLE INSIDE `cwd` — a fetched
164
+ * remote-tracking ref (`refs/remotes/<arbiter>/main`) or short-form
165
+ * (`<arbiter>/main`). Callers are responsible for the fetch (best-effort;
166
+ * an unresolvable ref reads as not-provable ⇒ false).
167
+ */
168
+ arbiterMain: string;
169
+ /**
170
+ * The item's type (task/spec/observation) — used to look up the durable
171
+ * terminal records on `<arbiter>/main`. Reap decisions on a
172
+ * `work/<type>-<slug>` branch pass the parsed type from
173
+ * {@link parseWorkBranchRef}.
174
+ */
175
+ namespace: SidecarType;
176
+ /** The item's bare slug — the anchor for the squash-aware fallback. */
177
+ slug: string;
178
+ env?: NodeJS.ProcessEnv;
179
+ }
180
+ /**
181
+ * The **squash-aware, provably-merged predicate** used to decide reap-safety
182
+ * across the workspace: `gc.ts`'s worktree reaper, `reap-branches.ts`'s remote
183
+ * `work/*` sweep, `integrator.ts`'s post-merge remote-head reap, and
184
+ * `complete.ts`'s local-branch reap. ONE decision point so the two rules can
185
+ * never drift apart, and NEVER `--force` — a merged-for-reap ref needs none.
186
+ *
187
+ * A remote/local `work/<slug>` branch is reapable iff EITHER:
188
+ *
189
+ * 1. **Fast path (unchanged).** `git merge-base --is-ancestor <tip>
190
+ * <arbiter>/main` succeeds — the fast-forward / true-merge land case.
191
+ * 2. **Squash-aware fallback (new).** BOTH of the following hold:
192
+ * - the item is TERMINAL on `<arbiter>/main` — i.e. the matching
193
+ * {@link terminalMainPaths} (`work/tasks/done/<slug>.md` or
194
+ * `work/tasks/cancelled/<slug>.md` for a task; `work/specs/tasked/…`
195
+ * or `work/specs/dropped/…` for a spec) exists in the fetched main
196
+ * tree; AND
197
+ * - the branch carries NOTHING main lacks — either `git diff --quiet
198
+ * <arbiter>/main <tip>` reads clean (content-equal / content-subset)
199
+ * OR `git cherry <arbiter>/main <tip>` reports every commit as
200
+ * already applied by patch-id (`-` on every line, catching
201
+ * rebase-lands the tree check misses).
202
+ *
203
+ * Grounding: the durable `<arbiter>/main` record is authoritative. It is what
204
+ * `complete` writes FIRST, so if the terminal record is there the item's work
205
+ * is at rest, and a branch that carries nothing main lacks has no in-flight
206
+ * work to protect. The safety floor is unchanged: NEVER reap an in-flight /
207
+ * unmerged branch (no terminal record ⇒ retain), NEVER reap a branch carrying
208
+ * commits main lacks (content check fails ⇒ retain), NEVER `--force`.
209
+ *
210
+ * This is the branch-side twin of the lock-side terminal-on-main recovery
211
+ * (`isTerminalOnMain` in `item-lock.ts`): same anchor, different subject.
212
+ */
213
+ export declare function isProvablyMergedForReap(input: ProvablyMergedForReapInput): boolean;
155
214
  /**
156
215
  * True iff `ancestor` is an ancestor of (or equal to) `descendant`, both
157
- * resolved IN the local repo `dir` (`git merge-base --is-ancestor`). This is the
158
- * ONE provably-merged reachability predicate in the system: the worktree reaper
159
- * above uses it for `<tip> --is-ancestor <arbiter>/main`, and the remote
160
- * merged-branch sweep (`reap-branches.ts`) REUSES it (not a second predicate) to
161
- * decide a remote `work/<slug>` branch is provably merged before deleting it.
162
- * EXPORTED so that single source of truth is shared, never forked.
216
+ * resolved IN the local repo `dir` (`git merge-base --is-ancestor`). The
217
+ * low-level fast-path building block for {@link isProvablyMergedForReap}
218
+ * reap-safety decisions across the workspace go through the squash-aware
219
+ * wrapper, never this raw predicate. EXPORTED so callers that legitimately
220
+ * need pure ancestry (non-reap idempotency checks, claim-reachability guards)
221
+ * keep the one shared implementation.
163
222
  */
164
223
  export declare function isAncestor(dir: string, ancestor: string, descendant: string, env: NodeJS.ProcessEnv | undefined): boolean;
165
224
  //# sourceMappingURL=gc.d.ts.map
package/dist/gc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../src/gc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../src/gc.ts"],"names":[],"mappings":"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"}
package/dist/gc.js CHANGED
@@ -2,7 +2,8 @@ import { existsSync, readdirSync, statSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { git, run } from './git.js';
4
4
  import { JOB_RECORD_FILENAME, jobRecordPath, readJobRecord, removeJobRecord, } from './workspace.js';
5
- import { workBranchRef } from './slug-namespace.js';
5
+ import { parseWorkBranchRef, workBranchRef } from './slug-namespace.js';
6
+ import { terminalMainPaths } from './item-lock.js';
6
7
  /**
7
8
  * The **reaper** for job worktrees, governed by the **provably-safe deletion
8
9
  * predicate** (ADR §4 in `docs/adr/execution-substrate-decisions.md`, the
@@ -72,8 +73,21 @@ export function evaluateDeletionSafety(input) {
72
73
  fetchTracking(input.dir, arbiter, 'main', env);
73
74
  fetchTracking(input.dir, arbiter, input.branch, env);
74
75
  const localTip = revParse(input.dir, 'HEAD', env);
75
- // 2a. Merged: the tip is an ancestor of <arbiter>/main.
76
- if (isAncestor(input.dir, localTip, `refs/remotes/${arbiter}/main`, env)) {
76
+ // 2a. Merged: the tip is provably on <arbiter>/main — either a plain
77
+ // ancestor (fast path) OR squash-aware-equivalent (the durable done/
78
+ // dropped record is on main AND the branch carries nothing main lacks).
79
+ const arbiterMainRef = `refs/remotes/${arbiter}/main`;
80
+ const reapIdentity = reapIdentityFromBranch(input.branch);
81
+ if (reapIdentity !== undefined
82
+ ? isProvablyMergedForReap({
83
+ cwd: input.dir,
84
+ tip: localTip,
85
+ arbiterMain: arbiterMainRef,
86
+ namespace: reapIdentity.namespace,
87
+ slug: reapIdentity.slug,
88
+ env,
89
+ })
90
+ : isAncestor(input.dir, localTip, arbiterMainRef, env)) {
77
91
  return { safe: true, reachableVia: 'merged' };
78
92
  }
79
93
  // 2b. Pushed: <arbiter>/<branch> exists AND its tip == the local tip.
@@ -258,14 +272,117 @@ function fetchTracking(dir, arbiter, head, env) {
258
272
  `+refs/heads/${head}:refs/remotes/${arbiter}/${head}`,
259
273
  ], dir, { env });
260
274
  }
275
+ /**
276
+ * Extract the `{namespace, slug}` identity a reap decision needs from a work
277
+ * branch ref (`work/[<producer>-]<type>-<slug>`). Returns `undefined` for a
278
+ * non-namespaced branch — the caller then falls back to the ancestry-only
279
+ * fast-path (the squash-aware fallback has no anchor without an identity to
280
+ * look up on `<arbiter>/main`, so the safe direction is the strict old rule).
281
+ */
282
+ function reapIdentityFromBranch(branch) {
283
+ const parsed = parseWorkBranchRef(branch);
284
+ if (parsed === undefined) {
285
+ return undefined;
286
+ }
287
+ // `SlugNamespace` and `SidecarType` share the same three members
288
+ // (`'task' | 'spec' | 'observation'`); the cast is structural.
289
+ return { namespace: parsed.namespace, slug: parsed.slug };
290
+ }
291
+ /**
292
+ * The **squash-aware, provably-merged predicate** used to decide reap-safety
293
+ * across the workspace: `gc.ts`'s worktree reaper, `reap-branches.ts`'s remote
294
+ * `work/*` sweep, `integrator.ts`'s post-merge remote-head reap, and
295
+ * `complete.ts`'s local-branch reap. ONE decision point so the two rules can
296
+ * never drift apart, and NEVER `--force` — a merged-for-reap ref needs none.
297
+ *
298
+ * A remote/local `work/<slug>` branch is reapable iff EITHER:
299
+ *
300
+ * 1. **Fast path (unchanged).** `git merge-base --is-ancestor <tip>
301
+ * <arbiter>/main` succeeds — the fast-forward / true-merge land case.
302
+ * 2. **Squash-aware fallback (new).** BOTH of the following hold:
303
+ * - the item is TERMINAL on `<arbiter>/main` — i.e. the matching
304
+ * {@link terminalMainPaths} (`work/tasks/done/<slug>.md` or
305
+ * `work/tasks/cancelled/<slug>.md` for a task; `work/specs/tasked/…`
306
+ * or `work/specs/dropped/…` for a spec) exists in the fetched main
307
+ * tree; AND
308
+ * - the branch carries NOTHING main lacks — either `git diff --quiet
309
+ * <arbiter>/main <tip>` reads clean (content-equal / content-subset)
310
+ * OR `git cherry <arbiter>/main <tip>` reports every commit as
311
+ * already applied by patch-id (`-` on every line, catching
312
+ * rebase-lands the tree check misses).
313
+ *
314
+ * Grounding: the durable `<arbiter>/main` record is authoritative. It is what
315
+ * `complete` writes FIRST, so if the terminal record is there the item's work
316
+ * is at rest, and a branch that carries nothing main lacks has no in-flight
317
+ * work to protect. The safety floor is unchanged: NEVER reap an in-flight /
318
+ * unmerged branch (no terminal record ⇒ retain), NEVER reap a branch carrying
319
+ * commits main lacks (content check fails ⇒ retain), NEVER `--force`.
320
+ *
321
+ * This is the branch-side twin of the lock-side terminal-on-main recovery
322
+ * (`isTerminalOnMain` in `item-lock.ts`): same anchor, different subject.
323
+ */
324
+ export function isProvablyMergedForReap(input) {
325
+ const { cwd, tip, arbiterMain, namespace, slug, env } = input;
326
+ // 1. Fast path — the fast-forward / true-merge land case. Cheap: one
327
+ // `git merge-base --is-ancestor`.
328
+ if (isAncestor(cwd, tip, arbiterMain, env)) {
329
+ return true;
330
+ }
331
+ // 2. Squash-aware fallback. Anchor: the durable terminal record on
332
+ // `<arbiter>/main`. No terminal record ⇒ the item is still in-flight (or
333
+ // an observation, which has no terminal folder) ⇒ retain (never reap
334
+ // in-flight work).
335
+ if (!terminalRecordOnMain(cwd, arbiterMain, namespace, slug, env)) {
336
+ return false;
337
+ }
338
+ // 2a. Content-subset: `git diff --quiet <arbiterMain> <tip>` clean ⇒ the
339
+ // two trees are identical, so the branch carries nothing main lacks
340
+ // (the incident shape: the branch is a since-lagged snapshot of a
341
+ // squash-landed item, no new content on it).
342
+ const diff = run('git', ['diff', '--quiet', arbiterMain, tip], cwd, { env });
343
+ if (diff.status === 0) {
344
+ return true;
345
+ }
346
+ // 2b. Patch-id equivalence via `git cherry <upstream> <head>`: every commit
347
+ // reachable from `<tip>` but not `<arbiterMain>` is reported as `-`
348
+ // (already applied upstream by patch-id). This catches rebase-lands
349
+ // where the tree diff is non-empty but every commit is already on main
350
+ // under a different sha.
351
+ const cherry = run('git', ['cherry', arbiterMain, tip], cwd, { env });
352
+ if (cherry.status === 0) {
353
+ const lines = cherry.stdout
354
+ .split('\n')
355
+ .map((l) => l.trim())
356
+ .filter((l) => l !== '');
357
+ if (lines.length > 0 && lines.every((l) => l.startsWith('- '))) {
358
+ return true;
359
+ }
360
+ }
361
+ return false;
362
+ }
363
+ /** True iff `<arbiterMain>` carries ANY of the item's durable terminal records
364
+ * ({@link terminalMainPaths}). Best-effort: `cat-file -e` is a cheap tree
365
+ * probe; an unresolvable `<arbiterMain>` reads as no-record ⇒ retain (the safe
366
+ * direction). Observations have no terminal folder ⇒ always false. */
367
+ function terminalRecordOnMain(cwd, arbiterMain, namespace, slug, env) {
368
+ for (const path of terminalMainPaths(namespace, slug)) {
369
+ const res = run('git', ['cat-file', '-e', `${arbiterMain}:${path}`], cwd, {
370
+ env,
371
+ });
372
+ if (res.status === 0) {
373
+ return true;
374
+ }
375
+ }
376
+ return false;
377
+ }
261
378
  /**
262
379
  * True iff `ancestor` is an ancestor of (or equal to) `descendant`, both
263
- * resolved IN the local repo `dir` (`git merge-base --is-ancestor`). This is the
264
- * ONE provably-merged reachability predicate in the system: the worktree reaper
265
- * above uses it for `<tip> --is-ancestor <arbiter>/main`, and the remote
266
- * merged-branch sweep (`reap-branches.ts`) REUSES it (not a second predicate) to
267
- * decide a remote `work/<slug>` branch is provably merged before deleting it.
268
- * EXPORTED so that single source of truth is shared, never forked.
380
+ * resolved IN the local repo `dir` (`git merge-base --is-ancestor`). The
381
+ * low-level fast-path building block for {@link isProvablyMergedForReap}
382
+ * reap-safety decisions across the workspace go through the squash-aware
383
+ * wrapper, never this raw predicate. EXPORTED so callers that legitimately
384
+ * need pure ancestry (non-reap idempotency checks, claim-reachability guards)
385
+ * keep the one shared implementation.
269
386
  */
270
387
  export function isAncestor(dir, ancestor, descendant, env) {
271
388
  const res = run('git', ['merge-base', '--is-ancestor', ancestor, descendant], dir, { env });
package/dist/gc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gc.js","sourceRoot":"","sources":["../src/gc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EACN,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,GAEf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;sDACsD;AACtD,MAAM,cAAc,GAAG,QAAQ,CAAC;AAYhC,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAAiC;IAC/D,YAAY,EAAE,kCAAkC;IAChD,kBAAkB,EAAE,kDAAkD;IACtE,mBAAmB,EAAE,uDAAuD;CAC5E,CAAC;AA4CF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACrC,KAA0B;IAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC;IAEhD,yEAAyE;IACzE,+EAA+E;IAC/E,6EAA6E;IAC7E,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACzE,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAC,CAAC;IAC5C,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,mEAAmE;IACnE,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,kDAAkD;IAClD,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAElD,wDAAwD;IACxD,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAgB,OAAO,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAC,CAAC;IAC7C,CAAC;IAED,sEAAsE;IACtE,MAAM,SAAS,GAAG,mBAAmB,CACpC,KAAK,CAAC,GAAG,EACT,gBAAgB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,EACzC,GAAG,CACH,CAAC;IACF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAC,CAAC;IAC7C,CAAC;IAED,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAC,CAAC;AAClD,CAAC;AAwBD;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAC,KAAgB;IACvC,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;IACjD,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC;AACxD,CAAC;AAgDD;;;;;;;;;GASG;AACH,MAAM,UAAU,EAAE,CAAC,OAAkB;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC;YACtB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG;SACH,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAC,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC;YACtE,IAAI,CACH,MAAM,CAAC,MAAM;gBACZ,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,sCAAsC;gBAC1D,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CACzD,CAAC;YACF,SAAS;QACV,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC;QAC3D,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,UAAU,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,aAAqB;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAY,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACJ,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACR,SAAS;QACV,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,SAAS,CAAC,4DAA4D;QACvE,CAAC;QACD,sEAAsE;QACtE,0EAA0E;QAC1E,IACC,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,EAC1C,CAAC;YACF,SAAS,CAAC,oDAAoD;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/C,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,SAAS,UAAU,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,aAAqB,EAAE,GAAU;IAC3D,MAAM,MAAM,GAAG,GAAG,CACjB,KAAK,EACL,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,EAC3D,GAAG,CAAC,GAAG,CACP,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,kEAAkE;IAClE,OAAO,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,kBAAkB,CAC1B,GAAW,EACX,GAAkC;IAElC,2EAA2E;IAC3E,yCAAyC;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,qEAAqE;QACrE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM;SACtB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1B,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,mBAAmB,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACrB,GAAW,EACX,OAAe,EACf,IAAY,EACZ,GAAkC;IAElC,GAAG,CACF,KAAK,EACL;QACC,OAAO;QACP,SAAS;QACT,OAAO;QACP,eAAe,IAAI,iBAAiB,OAAO,IAAI,IAAI,EAAE;KACrD,EACD,GAAG,EACH,EAAC,GAAG,EAAC,CACL,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACzB,GAAW,EACX,QAAgB,EAChB,UAAkB,EAClB,GAAkC;IAElC,MAAM,GAAG,GAAG,GAAG,CACd,KAAK,EACL,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,CAAC,EACrD,GAAG,EACH,EAAC,GAAG,EAAC,CACL,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,sEAAsE;AACtE,SAAS,QAAQ,CAChB,GAAW,EACX,GAAW,EACX,GAAkC;IAElC,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,sEAAsE;AACtE,SAAS,mBAAmB,CAC3B,GAAW,EACX,GAAW,EACX,GAAkC;IAElC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAC9E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CACtB,UAAkB,EAClB,GAAW,EACX,MAAc,EACd,GAAkC;IAElC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAC/D,eAAe,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC;QACJ,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACR,cAAc;IACf,CAAC;IACD,IAAI,CAAC;QACJ,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACR,6BAA6B;IAC9B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"gc.js","sourceRoot":"","sources":["../src/gc.ts"],"names":[],"mappings":"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"}
package/dist/github.d.ts CHANGED
@@ -112,6 +112,20 @@ export declare class GitHubProvider implements ReviewProvider {
112
112
  * record / `status`).
113
113
  */
114
114
  openRequest(input: OpenRequestInput): Promise<OpenRequestResult>;
115
+ /**
116
+ * The PR for this branch ALREADY EXISTS (task
117
+ * `committed-recovery-completes-existing-pr`): resolve its url, REFRESH its
118
+ * title/body via `gh pr edit` (so a committed-recovery re-run's synthesised
119
+ * title + task-pointer body replace the earlier run's blank `--fill` ones),
120
+ * and return it as `{opened: true, url}` so the caller's review-comment path
121
+ * fires on the existing PR. Returns `undefined` when the url cannot be
122
+ * resolved (the caller then falls through to the degrade path). The `gh pr
123
+ * edit` is best-effort: a failed edit still returns the resolved PR (posting
124
+ * the review comment matters more than refreshing the body), and it is only
125
+ * attempted when this run actually has explicit title/body to set (else the
126
+ * existing PR's content is left untouched).
127
+ */
128
+ private updateExistingRequest;
115
129
  /** Map a successful `gh pr create` RunResult to an OpenRequestResult. */
116
130
  private parseOpened;
117
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMvD;AAuCD,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAK7E;AAED,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,cAAc;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,OAAO,GAAE,qBAA0B;IAK/C;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8DtE,yEAAyE;IACzE,OAAO,CAAC,WAAW;IAoBnB;;;;;;;;OAQG;IACH,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB;IA2B7D;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAAqB,CACpB,KAAK,EAAE,0BAA0B,GAC/B,mBAAmB;IAsBtB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAKxD;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAYb;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;CAmCf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,EAAE,CAKX"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,6DAA6D;AAC7D,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMvD;AAuCD,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAK7E;AAED,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,cAAc;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,OAAO,GAAE,qBAA0B;IAK/C;;;;;;;;;;;;;;OAcG;IACG,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkFtE;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IA4B7B,yEAAyE;IACzE,OAAO,CAAC,WAAW;IAoBnB;;;;;;;;OAQG;IACH,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB;IA2B7D;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAAqB,CACpB,KAAK,EAAE,0BAA0B,GAC/B,mBAAmB;IAsBtB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAKxD;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAYb;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;CAmCf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,EAAE,CAKX"}