dorfl 0.1.2 → 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 (364) hide show
  1. package/dist/advance-drivers.d.ts +1 -1
  2. package/dist/advance-drivers.d.ts.map +1 -1
  3. package/dist/advance-drivers.js +15 -3
  4. package/dist/advance-drivers.js.map +1 -1
  5. package/dist/advance-lifecycle-template.d.ts.map +1 -1
  6. package/dist/advance-lifecycle-template.js +76 -4
  7. package/dist/advance-lifecycle-template.js.map +1 -1
  8. package/dist/advance-treeless-publish.d.ts +23 -0
  9. package/dist/advance-treeless-publish.d.ts.map +1 -1
  10. package/dist/advance-treeless-publish.js +41 -0
  11. package/dist/advance-treeless-publish.js.map +1 -1
  12. package/dist/advance.d.ts +59 -7
  13. package/dist/advance.d.ts.map +1 -1
  14. package/dist/advance.js +389 -82
  15. package/dist/advance.js.map +1 -1
  16. package/dist/advancing-lock.d.ts +30 -2
  17. package/dist/advancing-lock.d.ts.map +1 -1
  18. package/dist/advancing-lock.js +50 -0
  19. package/dist/advancing-lock.js.map +1 -1
  20. package/dist/agent-launch.d.ts +12 -0
  21. package/dist/agent-launch.d.ts.map +1 -1
  22. package/dist/agent-launch.js +22 -12
  23. package/dist/agent-launch.js.map +1 -1
  24. package/dist/agent-stop.d.ts +40 -2
  25. package/dist/agent-stop.d.ts.map +1 -1
  26. package/dist/agent-stop.js +30 -2
  27. package/dist/agent-stop.js.map +1 -1
  28. package/dist/apply-decide.d.ts +17 -3
  29. package/dist/apply-decide.d.ts.map +1 -1
  30. package/dist/apply-decide.js +36 -7
  31. package/dist/apply-decide.js.map +1 -1
  32. package/dist/apply-merge-action.d.ts +17 -5
  33. package/dist/apply-merge-action.d.ts.map +1 -1
  34. package/dist/apply-merge-action.js +43 -8
  35. package/dist/apply-merge-action.js.map +1 -1
  36. package/dist/apply-persist.d.ts +57 -26
  37. package/dist/apply-persist.d.ts.map +1 -1
  38. package/dist/apply-persist.js +166 -37
  39. package/dist/apply-persist.js.map +1 -1
  40. package/dist/apply-stuck-action.d.ts +151 -0
  41. package/dist/apply-stuck-action.d.ts.map +1 -0
  42. package/dist/apply-stuck-action.js +125 -0
  43. package/dist/apply-stuck-action.js.map +1 -0
  44. package/dist/brand.d.ts +12 -1
  45. package/dist/brand.d.ts.map +1 -1
  46. package/dist/brand.js +2 -1
  47. package/dist/brand.js.map +1 -1
  48. package/dist/cli-spinner.d.ts +1 -1
  49. package/dist/cli-spinner.js +1 -1
  50. package/dist/cli.d.ts +10 -0
  51. package/dist/cli.d.ts.map +1 -1
  52. package/dist/cli.js +320 -63
  53. package/dist/cli.js.map +1 -1
  54. package/dist/close-job-template.js +1 -1
  55. package/dist/complete.d.ts +6 -3
  56. package/dist/complete.d.ts.map +1 -1
  57. package/dist/complete.js +91 -37
  58. package/dist/complete.js.map +1 -1
  59. package/dist/config.d.ts +55 -9
  60. package/dist/config.d.ts.map +1 -1
  61. package/dist/config.js +56 -4
  62. package/dist/config.js.map +1 -1
  63. package/dist/continue-branch.d.ts.map +1 -1
  64. package/dist/continue-branch.js +22 -0
  65. package/dist/continue-branch.js.map +1 -1
  66. package/dist/decision-engine.d.ts +38 -10
  67. package/dist/decision-engine.d.ts.map +1 -1
  68. package/dist/decision-engine.js +10 -6
  69. package/dist/decision-engine.js.map +1 -1
  70. package/dist/do-autopick.d.ts.map +1 -1
  71. package/dist/do-autopick.js +11 -1
  72. package/dist/do-autopick.js.map +1 -1
  73. package/dist/do-config.d.ts +1 -1
  74. package/dist/do.d.ts +49 -56
  75. package/dist/do.d.ts.map +1 -1
  76. package/dist/do.js +419 -30
  77. package/dist/do.js.map +1 -1
  78. package/dist/env-config.d.ts.map +1 -1
  79. package/dist/env-config.js +12 -4
  80. package/dist/env-config.js.map +1 -1
  81. package/dist/failure-cause.d.ts +3 -2
  82. package/dist/failure-cause.d.ts.map +1 -1
  83. package/dist/failure-cause.js +28 -1
  84. package/dist/failure-cause.js.map +1 -1
  85. package/dist/format.d.ts +6 -6
  86. package/dist/format.d.ts.map +1 -1
  87. package/dist/format.js +10 -27
  88. package/dist/format.js.map +1 -1
  89. package/dist/frontmatter.d.ts +16 -4
  90. package/dist/frontmatter.d.ts.map +1 -1
  91. package/dist/frontmatter.js +27 -1
  92. package/dist/frontmatter.js.map +1 -1
  93. package/dist/gc.d.ts +65 -6
  94. package/dist/gc.d.ts.map +1 -1
  95. package/dist/gc.js +126 -9
  96. package/dist/gc.js.map +1 -1
  97. package/dist/github.d.ts +14 -0
  98. package/dist/github.d.ts.map +1 -1
  99. package/dist/github.js +73 -0
  100. package/dist/github.js.map +1 -1
  101. package/dist/harness.d.ts +25 -0
  102. package/dist/harness.d.ts.map +1 -1
  103. package/dist/harness.js.map +1 -1
  104. package/dist/index.d.ts +4 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +2 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/install-ci-branch-protection.d.ts +132 -38
  109. package/dist/install-ci-branch-protection.d.ts.map +1 -1
  110. package/dist/install-ci-branch-protection.js +190 -48
  111. package/dist/install-ci-branch-protection.js.map +1 -1
  112. package/dist/install-ci-core.d.ts +21 -1
  113. package/dist/install-ci-core.d.ts.map +1 -1
  114. package/dist/install-ci-core.js +10 -3
  115. package/dist/install-ci-core.js.map +1 -1
  116. package/dist/install-ci-github.d.ts +32 -0
  117. package/dist/install-ci-github.d.ts.map +1 -1
  118. package/dist/install-ci-github.js +73 -0
  119. package/dist/install-ci-github.js.map +1 -1
  120. package/dist/install-skills.d.ts +123 -0
  121. package/dist/install-skills.d.ts.map +1 -0
  122. package/dist/install-skills.js +100 -0
  123. package/dist/install-skills.js.map +1 -0
  124. package/dist/intake-trigger-template.js +1 -1
  125. package/dist/intake.d.ts +17 -4
  126. package/dist/intake.d.ts.map +1 -1
  127. package/dist/intake.js +23 -7
  128. package/dist/intake.js.map +1 -1
  129. package/dist/integration-core.d.ts +10 -7
  130. package/dist/integration-core.d.ts.map +1 -1
  131. package/dist/integration-core.js +174 -60
  132. package/dist/integration-core.js.map +1 -1
  133. package/dist/integrator.d.ts +1 -1
  134. package/dist/integrator.d.ts.map +1 -1
  135. package/dist/integrator.js +19 -3
  136. package/dist/integrator.js.map +1 -1
  137. package/dist/isolation.d.ts +2 -2
  138. package/dist/isolation.d.ts.map +1 -1
  139. package/dist/isolation.js +9 -0
  140. package/dist/isolation.js.map +1 -1
  141. package/dist/item-lock.d.ts +196 -129
  142. package/dist/item-lock.d.ts.map +1 -1
  143. package/dist/item-lock.js +329 -254
  144. package/dist/item-lock.js.map +1 -1
  145. package/dist/ledger-write.d.ts +31 -26
  146. package/dist/ledger-write.d.ts.map +1 -1
  147. package/dist/ledger-write.js +100 -122
  148. package/dist/ledger-write.js.map +1 -1
  149. package/dist/lifecycle-gather.d.ts +17 -0
  150. package/dist/lifecycle-gather.d.ts.map +1 -1
  151. package/dist/lifecycle-gather.js +7 -1
  152. package/dist/lifecycle-gather.js.map +1 -1
  153. package/dist/lifecycle-pools.d.ts +40 -3
  154. package/dist/lifecycle-pools.d.ts.map +1 -1
  155. package/dist/lifecycle-pools.js +26 -6
  156. package/dist/lifecycle-pools.js.map +1 -1
  157. package/dist/merge-question-surfacer.d.ts +15 -1
  158. package/dist/merge-question-surfacer.d.ts.map +1 -1
  159. package/dist/merge-question-surfacer.js +18 -3
  160. package/dist/merge-question-surfacer.js.map +1 -1
  161. package/dist/migrate-stuck-locks.d.ts +129 -0
  162. package/dist/migrate-stuck-locks.d.ts.map +1 -0
  163. package/dist/migrate-stuck-locks.js +355 -0
  164. package/dist/migrate-stuck-locks.js.map +1 -0
  165. package/dist/needs-attention.d.ts +293 -16
  166. package/dist/needs-attention.d.ts.map +1 -1
  167. package/dist/needs-attention.js +532 -57
  168. package/dist/needs-attention.js.map +1 -1
  169. package/dist/orphan-sidecar.d.ts +8 -4
  170. package/dist/orphan-sidecar.d.ts.map +1 -1
  171. package/dist/orphan-sidecar.js +35 -2
  172. package/dist/orphan-sidecar.js.map +1 -1
  173. package/dist/pi-harness.d.ts +16 -0
  174. package/dist/pi-harness.d.ts.map +1 -1
  175. package/dist/pi-harness.js +82 -2
  176. package/dist/pi-harness.js.map +1 -1
  177. package/dist/placement.d.ts +3 -3
  178. package/dist/placement.js +1 -1
  179. package/dist/prd-to-spec.d.ts.map +1 -1
  180. package/dist/prd-to-spec.js +9 -5
  181. package/dist/prd-to-spec.js.map +1 -1
  182. package/dist/protocol/CLAIM-PROTOCOL.md +17 -10
  183. package/dist/protocol/REVIEW-PROTOCOL.md +4 -1
  184. package/dist/protocol/SURFACE-PROTOCOL.md +16 -2
  185. package/dist/protocol/TASKING-PROTOCOL.md +3 -1
  186. package/dist/protocol/WORK-CONTRACT.md +22 -18
  187. package/dist/protocol/task-template.md +1 -1
  188. package/dist/reap-branches.d.ts +12 -9
  189. package/dist/reap-branches.d.ts.map +1 -1
  190. package/dist/reap-branches.js +25 -7
  191. package/dist/reap-branches.js.map +1 -1
  192. package/dist/recover-isolated.d.ts +12 -0
  193. package/dist/recover-isolated.d.ts.map +1 -1
  194. package/dist/recover-isolated.js +5 -0
  195. package/dist/recover-isolated.js.map +1 -1
  196. package/dist/repo-config.d.ts +23 -2
  197. package/dist/repo-config.d.ts.map +1 -1
  198. package/dist/repo-config.js +53 -7
  199. package/dist/repo-config.js.map +1 -1
  200. package/dist/repo-mirror.d.ts.map +1 -1
  201. package/dist/repo-mirror.js +18 -2
  202. package/dist/repo-mirror.js.map +1 -1
  203. package/dist/review-verdict.js +1 -1
  204. package/dist/review-verdict.js.map +1 -1
  205. package/dist/run.d.ts +1 -1
  206. package/dist/run.d.ts.map +1 -1
  207. package/dist/run.js +54 -19
  208. package/dist/run.js.map +1 -1
  209. package/dist/scan.d.ts +17 -8
  210. package/dist/scan.d.ts.map +1 -1
  211. package/dist/scan.js +22 -8
  212. package/dist/scan.js.map +1 -1
  213. package/dist/select-priority.d.ts +2 -2
  214. package/dist/select-priority.js +1 -1
  215. package/dist/select-priority.js.map +1 -1
  216. package/dist/sidecar-apply.js +1 -1
  217. package/dist/sidecar-apply.js.map +1 -1
  218. package/dist/sidecar.d.ts +45 -10
  219. package/dist/sidecar.d.ts.map +1 -1
  220. package/dist/sidecar.js +82 -2
  221. package/dist/sidecar.js.map +1 -1
  222. package/dist/skills/answer-questions/SKILL.md +89 -0
  223. package/dist/skills/capture-signal/SKILL.md +52 -0
  224. package/dist/skills/convert-from-prd-to-spec/SKILL.md +90 -0
  225. package/dist/skills/drive-tasks/SKILL.md +218 -0
  226. package/dist/skills/from-idea/SKILL.md +83 -0
  227. package/dist/skills/merge-prs/SKILL.md +70 -0
  228. package/dist/skills/orchestrate/SKILL.md +101 -0
  229. package/dist/skills/promote/SKILL.md +35 -0
  230. package/dist/skills/review/SKILL.md +16 -0
  231. package/dist/skills/setup/SKILL.md +258 -0
  232. package/dist/skills/setup/protocol/ADR-FORMAT.md +47 -0
  233. package/dist/skills/setup/protocol/CLAIM-PROTOCOL.md +224 -0
  234. package/dist/skills/setup/protocol/REVIEW-PROTOCOL.md +122 -0
  235. package/dist/skills/setup/protocol/SURFACE-PROTOCOL.md +135 -0
  236. package/dist/skills/setup/protocol/TASKING-PROTOCOL.md +124 -0
  237. package/dist/skills/setup/protocol/WORK-CONTRACT.md +280 -0
  238. package/dist/skills/setup/protocol/spec-template.md +71 -0
  239. package/dist/skills/setup/protocol/task-template.md +65 -0
  240. package/dist/skills/surface-questions/SKILL.md +16 -0
  241. package/dist/skills/to-spec/SKILL.md +34 -0
  242. package/dist/skills/to-task/SKILL.md +19 -0
  243. package/dist/skills/triage-observations/SKILL.md +78 -0
  244. package/dist/skills/work/SKILL.md +51 -0
  245. package/dist/slug-namespace.d.ts +5 -5
  246. package/dist/slug-namespace.js +5 -5
  247. package/dist/slug-namespace.js.map +1 -1
  248. package/dist/spec-complete.d.ts.map +1 -1
  249. package/dist/spec-complete.js +2 -3
  250. package/dist/spec-complete.js.map +1 -1
  251. package/dist/start.d.ts.map +1 -1
  252. package/dist/start.js +51 -57
  253. package/dist/start.js.map +1 -1
  254. package/dist/surface-gate.d.ts.map +1 -1
  255. package/dist/surface-gate.js +10 -3
  256. package/dist/surface-gate.js.map +1 -1
  257. package/dist/surface-persist.js +1 -1
  258. package/dist/surface-persist.js.map +1 -1
  259. package/dist/tasker-review-loop.d.ts +4 -3
  260. package/dist/tasker-review-loop.d.ts.map +1 -1
  261. package/dist/tasker-review-loop.js.map +1 -1
  262. package/dist/tasking-lock.d.ts +2 -2
  263. package/dist/tasking-lock.d.ts.map +1 -1
  264. package/dist/tasking-lock.js +53 -32
  265. package/dist/tasking-lock.js.map +1 -1
  266. package/dist/tasking.d.ts +40 -6
  267. package/dist/tasking.d.ts.map +1 -1
  268. package/dist/tasking.js +224 -12
  269. package/dist/tasking.js.map +1 -1
  270. package/dist/triage-persist.d.ts +10 -6
  271. package/dist/triage-persist.d.ts.map +1 -1
  272. package/dist/triage-persist.js +34 -4
  273. package/dist/triage-persist.js.map +1 -1
  274. package/dist/vendor/incur/agents.d.ts +58 -0
  275. package/dist/vendor/incur/agents.d.ts.map +1 -0
  276. package/dist/vendor/incur/agents.js +343 -0
  277. package/dist/vendor/incur/agents.js.map +1 -0
  278. package/dist/verify-workflow-template.js +1 -1
  279. package/dist/watch-session.d.ts +11 -3
  280. package/dist/watch-session.d.ts.map +1 -1
  281. package/dist/watch-session.js +94 -7
  282. package/dist/watch-session.js.map +1 -1
  283. package/dist/work-layout.d.ts +7 -3
  284. package/dist/work-layout.d.ts.map +1 -1
  285. package/dist/work-layout.js +6 -3
  286. package/dist/work-layout.js.map +1 -1
  287. package/dist/workspace.d.ts +1 -1
  288. package/package.json +2 -2
  289. package/src/advance-drivers.ts +16 -3
  290. package/src/advance-lifecycle-template.ts +89 -4
  291. package/src/advance-treeless-publish.ts +45 -0
  292. package/src/advance.ts +467 -87
  293. package/src/advancing-lock.ts +96 -1
  294. package/src/agent-launch.ts +37 -12
  295. package/src/agent-stop.ts +60 -2
  296. package/src/apply-decide.ts +36 -7
  297. package/src/apply-merge-action.ts +45 -7
  298. package/src/apply-persist.ts +228 -54
  299. package/src/apply-stuck-action.ts +260 -0
  300. package/src/brand.ts +14 -2
  301. package/src/cli-spinner.ts +1 -1
  302. package/src/cli.ts +401 -70
  303. package/src/close-job-template.ts +1 -1
  304. package/src/complete.ts +110 -52
  305. package/src/config.ts +107 -13
  306. package/src/continue-branch.ts +22 -0
  307. package/src/decision-engine.ts +55 -17
  308. package/src/do-autopick.ts +12 -1
  309. package/src/do-config.ts +1 -1
  310. package/src/do.ts +511 -38
  311. package/src/env-config.ts +12 -4
  312. package/src/failure-cause.ts +30 -1
  313. package/src/format.ts +10 -30
  314. package/src/frontmatter.ts +35 -5
  315. package/src/gc.ts +172 -9
  316. package/src/github.ts +78 -0
  317. package/src/harness.ts +25 -0
  318. package/src/index.ts +10 -0
  319. package/src/install-ci-branch-protection.ts +282 -57
  320. package/src/install-ci-core.ts +30 -3
  321. package/src/install-ci-github.ts +86 -0
  322. package/src/install-skills.ts +166 -0
  323. package/src/intake-trigger-template.ts +1 -1
  324. package/src/intake.ts +46 -11
  325. package/src/integration-core.ts +199 -65
  326. package/src/integrator.ts +22 -9
  327. package/src/isolation.ts +11 -2
  328. package/src/item-lock.ts +485 -341
  329. package/src/ledger-write.ts +135 -150
  330. package/src/lifecycle-gather.ts +29 -6
  331. package/src/lifecycle-pools.ts +67 -9
  332. package/src/merge-question-surfacer.ts +28 -4
  333. package/src/migrate-stuck-locks.ts +451 -0
  334. package/src/needs-attention.ts +857 -84
  335. package/src/orphan-sidecar.ts +47 -6
  336. package/src/pi-harness.ts +82 -2
  337. package/src/placement.ts +3 -3
  338. package/src/prd-to-spec.ts +13 -5
  339. package/src/reap-branches.ts +38 -14
  340. package/src/recover-isolated.ts +17 -0
  341. package/src/repo-config.ts +55 -6
  342. package/src/repo-mirror.ts +23 -1
  343. package/src/review-verdict.ts +1 -1
  344. package/src/run.ts +64 -18
  345. package/src/scan.ts +22 -8
  346. package/src/select-priority.ts +3 -3
  347. package/src/sidecar-apply.ts +1 -1
  348. package/src/sidecar.ts +138 -11
  349. package/src/slug-namespace.ts +7 -7
  350. package/src/spec-complete.ts +2 -3
  351. package/src/start.ts +53 -59
  352. package/src/surface-gate.ts +10 -3
  353. package/src/surface-persist.ts +1 -1
  354. package/src/tasker-review-loop.ts +4 -3
  355. package/src/tasking-lock.ts +52 -36
  356. package/src/tasking.ts +261 -17
  357. package/src/triage-persist.ts +56 -12
  358. package/src/vendor/incur/LICENSE +21 -0
  359. package/src/vendor/incur/README.md +19 -0
  360. package/src/vendor/incur/agents.ts +392 -0
  361. package/src/verify-workflow-template.ts +1 -1
  362. package/src/watch-session.ts +102 -7
  363. package/src/work-layout.ts +6 -3
  364. package/src/workspace.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-write.js","sourceRoot":"","sources":["../src/ledger-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-write.js","sourceRoot":"","sources":["../src/ledger-write.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,23 @@ export declare function gatherLifecycleInPlace(input: {
11
11
  repoPath: string;
12
12
  read?: LedgerReadStrategy;
13
13
  gates?: LifecyclePoolGates;
14
+ /**
15
+ * The HELD TASK slugs to SUBTRACT from the triage/surface/apply candidate
16
+ * inputs before {@link buildLifecyclePools} routes them (task
17
+ * `in-place-scan-subtracts-held-locked-slugs-from-propose-matrix`).
18
+ *
19
+ * Symmetric to the pool-side subtraction `scoreItems` already runs on
20
+ * `state.ready`: without it, a `needsAnswers` TASK whose per-item lock is
21
+ * currently held (state `active`/`stuck`) still slips into the surface / apply
22
+ * pool, so `scan --json` enumerates a matrix leg for it that then always loses
23
+ * the claim CAS (`claim-cas.ts:127-132`) — reddening the propose tick every
24
+ * cadence for as long as the item is held. Narrowly TASK-scoped (this is what
25
+ * {@link heldTaskSlugs} returns): an observation triage entry / a spec surface
26
+ * entry is NOT filtered here, because the lock ref prefix `task-<slug>` only
27
+ * gates the task namespace. Defaults empty (byte-identical to pre-fix
28
+ * behaviour) so callers who cannot resolve a lock read still work.
29
+ */
30
+ heldSlugs?: Set<string>;
14
31
  }): SelectedLifecyclePools;
15
32
  /**
16
33
  * Gather + build the lifecycle pools for a MIRROR-SIDE bare hub mirror (async).
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-gather.d.ts","sourceRoot":"","sources":["../src/lifecycle-gather.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAOrE,OAAO,EAEN,KAAK,kBAAkB,EAGvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAiHjE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC3B,GAAG,sBAAsB,CA4BzB;AA2BD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0FlC"}
1
+ {"version":3,"file":"lifecycle-gather.d.ts","sourceRoot":"","sources":["../src/lifecycle-gather.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAOrE,OAAO,EAEN,KAAK,kBAAkB,EAGvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAiHjE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB,GAAG,sBAAsB,CAkCzB;AA2BD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0FlC"}
@@ -86,6 +86,7 @@ function blockedItemsInPlace(read, repoPath, surfaceStaging) {
86
86
  export function gatherLifecycleInPlace(input) {
87
87
  const read = input.read ?? ledgerRead;
88
88
  const repoPath = input.repoPath;
89
+ const heldSlugs = input.heldSlugs ?? new Set();
89
90
  const rawObservations = read.resolveLocalState({ repoPath }).observations;
90
91
  const observations = rawObservations.map((obs) => ({
91
92
  slug: obs.slug,
@@ -93,7 +94,12 @@ export function gatherLifecycleInPlace(input) {
93
94
  sidecar: readSidecarInPlace(repoPath, 'observation', obs.slug),
94
95
  }));
95
96
  const surfaceStaging = input.gates?.surfaceStaging === true;
96
- const needsAnswers = blockedItemsInPlace(read, repoPath, surfaceStaging).map((item) => ({
97
+ const needsAnswers = blockedItemsInPlace(read, repoPath, surfaceStaging)
98
+ // Held-slug subtraction (task-scoped): a `needsAnswers` TASK whose per-item
99
+ // lock is currently held is EXCLUDED from surface/apply enumeration. Spec /
100
+ // observation entries are untouched — the lock ref set here is task-only.
101
+ .filter((item) => !(item.namespace === 'task' && heldSlugs.has(item.slug)))
102
+ .map((item) => ({
97
103
  repoPath,
98
104
  namespace: item.namespace,
99
105
  slug: item.slug,
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-gather.js","sourceRoot":"","sources":["../src/lifecycle-gather.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACN,YAAY,EACZ,qBAAqB,GAErB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EACN,mBAAmB,GAInB,MAAM,sBAAsB,CAAC;AA+B9B;;;;GAIG;AACH,SAAS,kBAAkB,CAC1B,QAAgB,EAChB,SAA0C,EAC1C,IAAY;IAEZ,gFAAgF;IAChF,2EAA2E;IAC3E,KAAK,MAAM,GAAG,IAAI,qBAAqB,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC3B,IAAwB,EACxB,QAAgB,EAChB,cAAuB;IAEvB,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,iFAAiF;IACjF,+EAA+E;IAC/E,iFAAiF;IACjF,8EAA8E;IAC9E,2EAA2E;IAC3E,gFAAgF;IAChF,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAC,QAAQ,EAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,oCAAoC;IACpC,2EAA2E;IAC3E,6EAA6E;IAC7E,sEAAsE;IACtE,yEAAyE;IACzE,+EAA+E;IAC/E,eAAe;IACf,IAAI,cAAc,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAC,QAAQ,EAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAC,QAAQ,EAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAItC;IACA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,YAAY,CAAC;IACxE,MAAM,YAAY,GAA2B,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC;KAC9D,CAAC,CAAC,CAAC;IACJ,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,MAAM,YAAY,GAA4B,mBAAmB,CAChE,IAAI,EACJ,QAAQ,EACR,cAAc,CACd,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChB,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;KAChE,CAAC,CAAC,CAAC;IAEJ,OAAO,mBAAmB,CAAC;QAC1B,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;KAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,GAAW,EACX,SAA0C,EAC1C,IAAY,EACZ,GAAkC;IAElC,wEAAwE;IACxE,6EAA6E;IAC7E,qCAAqC;IACrC,KAAK,MAAM,GAAG,IAAI,qBAAqB,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAM3C;IACA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IAEtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,cAAc;QAChD,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,IAAI,CAAC,wBAAwB,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC;YACrD,IAAI,CAAC,wBAAwB,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC;SACrD,CAAC;QACH,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEZ,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IACD,iFAAiF;IACjF,4EAA4E;IAC5E,+EAA+E;IAC/E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAC9E,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IACD,oCAAoC;IACpC,6EAA6E;IAC7E,kEAAkE;IAClE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,oCAAoC;IACpC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAED,MAAM,YAAY,GAA4B,MAAM,OAAO,CAAC,GAAG,CAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,MAAM,iBAAiB,CAC/B,UAAU,EACV,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,EACT,GAAG,CACH;KACD,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAA2B,MAAM,OAAO,CAAC,GAAG,CAC7D,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,MAAM,iBAAiB,CAC/B,UAAU,EACV,GAAG,EACH,aAAa,EACb,GAAG,CAAC,IAAI,EACR,GAAG,CACH;KACD,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,mBAAmB,CAAC;QAC1B,QAAQ,EAAE,UAAU;QACpB,YAAY;QACZ,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;KAClB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lifecycle-gather.js","sourceRoot":"","sources":["../src/lifecycle-gather.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,13 @@ import type { LifecycleSelectedItem } from './select-priority.js';
22
22
  * **Three lifecycle sub-pools, gated by PURPOSE (ADR `ci-config-policy-and-gate-
23
23
  * family.md` \u00a74 \u2014 gates govern CREATE only; CONSUME is always-on):**
24
24
  *
25
- * - **triage** \u2014 UNTRIAGED observations (no `triaged:` settled marker). A CREATE
26
- * act (the bot mints a promote/keep/delete question), so gated by
27
- * {@link LifecyclePoolGates.triage} (the future `observationTriage` gate).
25
+ * - **triage** \u2014 UNTRIAGED observations (no `triaged:` settled marker) with NO
26
+ * sidecar yet. A CREATE act (the bot mints the deterministic triage question),
27
+ * so gated by {@link LifecyclePoolGates.triage} (the future `observationTriage`
28
+ * gate). Like SURFACE, a PENDING sidecar is NOT enumerated (already surfaced +
29
+ * awaiting the human, so re-enumerating only re-spawns the additive surface
30
+ * agent for a no-outcome no-op); it re-enters only when ANSWERED (to apply) or
31
+ * settled by a `triaged:` marker.
28
32
  * - **surface** \u2014 `needsAnswers`-blocked tasks/prds with NO all-answered sidecar
29
33
  * (no sidecar yet, or a still-pending one). A CREATE act (the bot mints the
30
34
  * blocker question), so gated by {@link LifecyclePoolGates.surface} (the future
@@ -77,6 +81,39 @@ export interface LifecyclePoolGates {
77
81
  * default is `true`). Spec `staging-surface-and-apply-promote-safety` F2.
78
82
  * BUILD/claim eligibility is UNCHANGED in either mode — staging items stay
79
83
  * non-claimable, the trust model is untouched.
84
+ *
85
+ * CREATE-vs-CONSUME EDGE (accepted, spec
86
+ * `staging-surface-and-apply-promote-safety` F2 follow-up): `surfaceStaging`
87
+ * gates the CREATE half (surface-side ENUMERATION of staged candidates).
88
+ * APPLY (the consume half) reads through the SAME enumeration, so flipping
89
+ * `surfaceStaging` true→false AFTER a surface tick has minted+answered a
90
+ * staged sidecar can STRAND that sidecar in staging until the flag is flipped
91
+ * back on. The realistic flip direction is off→on (opt-in widening), and an
92
+ * answered staged sidecar only exists if surfacing (opt-in) minted it, so the
93
+ * strand window is narrow and accepted. Revisit only if the create-vs-consume
94
+ * invariant must hold strictly (e.g. re-route `apply` to consume regardless of
95
+ * the surface gate).
96
+ *
97
+ * ## Decisions (ratified by task
98
+ * `f2-mirror-path-staging-test-and-ratify-decisions`, follow-up to slice
99
+ * `f2-surface-staging-config-and-pool-extension` — gate-2 review nits)
100
+ *
101
+ * 1. **Split default is intentional.** `LifecyclePoolGates.surfaceStaging`
102
+ * defaults `false` at the library boundary; `Config.surfaceStaging` defaults
103
+ * `true` at the user-visible layer. The calm library default is load-bearing
104
+ * for any direct caller of `gatherLifecycle*` that does NOT thread CLI gates
105
+ * — they get pool-only behaviour by default and opt IN to staging.
106
+ * 2. **Four new public methods on `LedgerReadStrategy` are intentional**
107
+ * (`resolveLocalTaskStaging`, `resolveLocalSpecStaging`,
108
+ * `resolveMirrorTaskStaging`, `resolveMirrorSpecStaging`), rather than
109
+ * overloading `resolveLocalState` / `resolveMirrorState` with a flag. Keeps
110
+ * the state vs. staging axes orthogonal at the interface.
111
+ * 3. **The `surfaceStaging` gate is consumed by the GATHER, not by pure
112
+ * `buildLifecyclePools`,** even though the field lives on
113
+ * `LifecyclePoolGates`. Placement acknowledged above; ratified as intentional
114
+ * so the gate colocates with its sibling create-side gates.
115
+ * 4. **`surfaceStaging` in `REPO_ALLOWED_KEYS` is intentional** so a repo's
116
+ * `.dorfl.json` can flip it via the normal resolution chain.
80
117
  */
81
118
  surfaceStaging?: boolean;
82
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-pools.d.ts","sourceRoot":"","sources":["../src/lifecycle-pools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACrC,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACpC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,0FAA0F;IAC1F,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AAED,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IACnC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC;;;OAGG;IACH,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,kEAAkE;IAClE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,oFAAoF;IACpF,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,wEAAwE;IACxE,MAAM,EAAE,qBAAqB,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,mBAAmB,GACxB,cAAc,CA6DhB"}
1
+ {"version":3,"file":"lifecycle-pools.d.ts","sourceRoot":"","sources":["../src/lifecycle-pools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACrC,yFAAyF;IACzF,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACpC,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,0FAA0F;IAC1F,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CAClC;AAED,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IACnC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC;;;OAGG;IACH,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,kEAAkE;IAClE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,oFAAoF;IACpF,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,wEAAwE;IACxE,MAAM,EAAE,qBAAqB,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,mBAAmB,GACxB,cAAc,CAkFhB"}
@@ -29,24 +29,44 @@ export function buildLifecyclePools(input) {
29
29
  // with the triage create-gate off (the create-vs-consume invariant, ADR
30
30
  // `ci-config-policy-and-gate-family` §4). An answered sidecar wins even
31
31
  // when the observation body also carries a `triaged:` marker: a human's
32
- // answer must never be stranded (task `## Decisions`).
32
+ // answer must never be stranded (ADR
33
+ // `answered-observation-sidecar-dominates-triaged-marker.md`).
33
34
  apply.push({
34
35
  repoPath: input.repoPath,
35
36
  slug: obs.slug,
36
37
  namespace: 'observation',
37
38
  });
38
39
  }
39
- else if (obs.triaged === undefined && triageOn) {
40
- // CREATE (mint the promote/keep/delete question) — gated by
41
- // `observationTriage`. An untriaged observation with NO sidecar or a
42
- // PENDING sidecar is a triage candidate as today.
40
+ else if (obs.triaged === undefined &&
41
+ obs.sidecar === undefined &&
42
+ triageOn) {
43
+ // CREATE (mint the deterministic triage question) gated by
44
+ // `observationTriage`. ONLY an untriaged observation with NO sidecar yet is
45
+ // a triage candidate: it has never been surfaced. A PENDING sidecar (surfaced
46
+ // already, awaiting the human's answer) is DELIBERATELY DROPPED here — mirror
47
+ // of the SURFACE pool. The triage question is DETERMINISTIC (engine-built) +
48
+ // already present, so re-enumerating a pending observation every tick would
49
+ // only re-run a leg + re-spawn the additive surface agent for a NO-OUTCOME
50
+ // no-op (the persist appends no duplicate). It re-enters only when it is
51
+ // ANSWERED (→ apply, above) or a `triaged:` marker settles it. This is the
52
+ // enumerate-smartness fix: do NOT re-evaluate items that produce no outcome.
43
53
  triage.push({
44
54
  repoPath: input.repoPath,
45
55
  slug: obs.slug,
46
56
  namespace: 'observation',
47
57
  });
48
58
  }
49
- // else: SETTLED (triaged:) with no answered sidecar — NOT enumerated.
59
+ else if (obs.triaged !== undefined) {
60
+ // EXPLICIT DROP: SETTLED (`triaged:` non-empty) with no answered sidecar
61
+ // — deliberately NOT enumerated. A pending sidecar on a settled
62
+ // observation would only no-op if re-enumerated, and a settled body is
63
+ // already resolved on the create side (ADR
64
+ // `answered-observation-sidecar-dominates-triaged-marker.md`). Codified
65
+ // as an explicit branch so a future reader does not resurface this cell.
66
+ continue;
67
+ }
68
+ // else: UNTRIAGED with no answered sidecar + triage gate OFF — implicit
69
+ // drop (the gate deliberately silences the pool).
50
70
  }
51
71
  // --- surface / apply: split `needsAnswers` items by sidecar answered-state ---
52
72
  const surface = [];
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-pools.js","sourceRoot":"","sources":["../src/lifecycle-pools.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAyKzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAA0B;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;IAEzC,kFAAkF;IAClF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACd,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,uDAAuD;YACvD,KAAK,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,aAAa;aACxB,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;YAClD,4DAA4D;YAC5D,qEAAqE;YACrE,kDAAkD;YAClD,MAAM,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,aAAa;aACxB,CAAC,CAAC;QACJ,CAAC;QACD,sEAAsE;IACvE,CAAC;IAED,gFAAgF;IAChF,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,QAAQ,GACb,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,CAAC;YACd,gFAAgF;YAChF,wEAAwE;YACxE,KAAK,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;YACzD,gFAAgF;YAChF,2EAA2E;YAC3E,wEAAwE;YACxE,OAAO,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC,CAAC;QACJ,CAAC;QACD,4EAA4E;IAC7E,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"lifecycle-pools.js","sourceRoot":"","sources":["../src/lifecycle-pools.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AA8MzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAA0B;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;IAEzC,kFAAkF;IAClF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACd,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,qCAAqC;YACrC,+DAA+D;YAC/D,KAAK,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,aAAa;aACxB,CAAC,CAAC;QACJ,CAAC;aAAM,IACN,GAAG,CAAC,OAAO,KAAK,SAAS;YACzB,GAAG,CAAC,OAAO,KAAK,SAAS;YACzB,QAAQ,EACP,CAAC;YACF,6DAA6D;YAC7D,4EAA4E;YAC5E,8EAA8E;YAC9E,8EAA8E;YAC9E,6EAA6E;YAC7E,4EAA4E;YAC5E,2EAA2E;YAC3E,yEAAyE;YACzE,2EAA2E;YAC3E,6EAA6E;YAC7E,MAAM,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,aAAa;aACxB,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,yEAAyE;YACzE,gEAAgE;YAChE,uEAAuE;YACvE,2CAA2C;YAC3C,wEAAwE;YACxE,yEAAyE;YACzE,SAAS;QACV,CAAC;QACD,wEAAwE;QACxE,kDAAkD;IACnD,CAAC;IAED,gFAAgF;IAChF,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,QAAQ,GACb,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,CAAC;YACd,gFAAgF;YAChF,wEAAwE;YACxE,KAAK,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,EAAE,CAAC;YACzD,gFAAgF;YAChF,2EAA2E;YAC3E,wEAAwE;YACxE,OAAO,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,SAAS,EAAE,SAAS,CAAC,SAAS;aAC9B,CAAC,CAAC;QACJ,CAAC;QACD,4EAA4E;IAC7E,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC;AACjC,CAAC"}
@@ -114,10 +114,19 @@ export interface MergeQuestionSurfaced {
114
114
  /** PR url when a GitHub ceiling matched the branch (advisory). */
115
115
  prUrl?: string;
116
116
  }
117
- /** One branch the surfacer considered but did not surface (with the reason). */
117
+ /**
118
+ * One branch the surfacer considered but did not surface (with the reason).
119
+ *
120
+ * PROVISIONAL vocabulary. The `reason` union is scoped to this surfacer — no
121
+ * sibling surfacer exists yet, so it is deliberately NOT lifted to a shared
122
+ * skip-reason type. When a second STATE-sourced surfacer lands (e.g. a
123
+ * stuck-lock surfacer), promote this to a shared skip-reason vocabulary via a
124
+ * dedicated decision; until then it may change without notice.
125
+ */
118
126
  export interface MergeQuestionSkipped {
119
127
  ref: string;
120
128
  slug: string;
129
+ /** PROVISIONAL vocabulary — see {@link MergeQuestionSkipped}. */
121
130
  reason: 'no-item-body' | 'already-pending-merge-question' | 'persist-nothing';
122
131
  }
123
132
  /** Aggregate result of one surfacer pass. */
@@ -161,6 +170,11 @@ export declare function listUnmergedWorkBranchesViaGit(input: ListUnmergedInput)
161
170
  * results by their `headRefName` so the surfacer can enrich the matching
162
171
  * branch's question. A non-zero / missing `gh` is treated as "no host
163
172
  * metadata available" — the floor still surfaces every unmerged branch.
173
+ *
174
+ * Best-effort enrichment. The git-reachability FLOOR is authoritative; the
175
+ * `--state open`, `--base <base>`, and `--limit 200` arguments are DELIBERATE
176
+ * ceilings — a PR targeting a non-`main` base (e.g. a stacked PR) or the case
177
+ * of >200 open PRs degrades to floor-only output, never corrupts it.
164
178
  */
165
179
  export declare function listOpenPullRequestsViaGh(input: ListPullRequestsInput): Map<string, MergeQuestionPullRequest>;
166
180
  //# sourceMappingURL=merge-question-surfacer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-question-surfacer.d.ts","sourceRoot":"","sources":["../src/merge-question-surfacer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-question-surfacer.d.ts","sourceRoot":"","sources":["../src/merge-question-surfacer.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,19 @@ export class MergeQuestionSurfacerError extends Error {
12
12
  this.name = 'MergeQuestionSurfacerError';
13
13
  }
14
14
  }
15
- /** The lifecycle folders a task body may rest in (the FOLDERS the persist
16
- * needs to find the item file to set `needsAnswers:true` on). Matches
17
- * `advance.ts`'s `findItemPath` task-folder set. */
15
+ /**
16
+ * The lifecycle folders {@link findTaskItemPath} scans for a task body to flip
17
+ * `needsAnswers:true` on. This set DELIBERATELY DIVERGES from `advance.ts`'s
18
+ * `FOLDERS_FOR_TYPE.task` (`['tasks-backlog','tasks-ready','in-progress','done']`):
19
+ *
20
+ * - OMITS `in-progress` (and `needs-attention`): an unmerged `work/<slug>`
21
+ * branch whose body is mid-build should NOT trigger a merge-question — the
22
+ * build is still active, and surfacing a land-decision now would race the
23
+ * builder. Such tasks fall through to the `no-item-body` skip.
24
+ * - ADDS `cancelled`: a cancelled task with a lingering unmerged `work/*`
25
+ * branch SHOULD surface a merge-question so the operator explicitly decides
26
+ * whether to merge the branch or drop it.
27
+ */
18
28
  const TASK_FOLDERS = [
19
29
  'tasks-ready',
20
30
  'tasks-backlog',
@@ -246,6 +256,11 @@ export function listUnmergedWorkBranchesViaGit(input) {
246
256
  * results by their `headRefName` so the surfacer can enrich the matching
247
257
  * branch's question. A non-zero / missing `gh` is treated as "no host
248
258
  * metadata available" — the floor still surfaces every unmerged branch.
259
+ *
260
+ * Best-effort enrichment. The git-reachability FLOOR is authoritative; the
261
+ * `--state open`, `--base <base>`, and `--limit 200` arguments are DELIBERATE
262
+ * ceilings — a PR targeting a non-`main` base (e.g. a stacked PR) or the case
263
+ * of >200 open PRs degrades to floor-only output, never corrupts it.
249
264
  */
250
265
  export function listOpenPullRequestsViaGh(input) {
251
266
  const { cwd, ghBin, base, env } = input;
@@ -1 +1 @@
1
- {"version":3,"file":"merge-question-surfacer.js","sourceRoot":"","sources":["../src/merge-question-surfacer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-question-surfacer.js","sourceRoot":"","sources":["../src/merge-question-surfacer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * ONE-SHOT migration of pre-existing `stuck` per-item lock refs into the
3
+ * post-`retire-stuck-lock-state` resting shape (surface-on-`main` +
4
+ * `needsAnswers:true` + release the lock).
5
+ *
6
+ * Context (spec `surface-stuck-as-questions-and-retire-stuck-lock-state`,
7
+ * resolved decision #3, user story 5; task
8
+ * `migrate-existing-stuck-locks-one-shot`):
9
+ * - Before the retirement, a bounced item was recorded as a `state: stuck`
10
+ * lock ref (`refs/dorfl/lock/<entry>`) with the bounce reason (+ any
11
+ * agent-surfaced questions) on the ref's blob body.
12
+ * - After the retirement (task `retire-stuck-lock-state`), `LockState`
13
+ * admits only `active`. {@link parseLockEntry} silently COERCES a legacy
14
+ * `state: stuck` blob to `active` on read, and the `stuck`-only body
15
+ * sections (`## Reason` / `## Questions`) are no longer emitted or
16
+ * parsed. So a legacy stuck ref is now invisible to the runner (it looks
17
+ * like a healthy in-flight `active` hold) and its reason/questions would
18
+ * rot forever if the state were not migrated at rollout.
19
+ *
20
+ * This module runs the migration ONCE per arbiter at rollout: for every held
21
+ * lock ref whose RAW blob body still carries `state: stuck` in its
22
+ * frontmatter, it extracts the reason (+ questions) directly from the legacy
23
+ * body (bypassing the coercing {@link parseLockEntry}) and drives the SAME
24
+ * ordered surface-first-release-second transition the new bounce uses
25
+ * ({@link surfaceStuckToNeedsAttention}) — writing the `stuck`-kind
26
+ * `work/questions/<entry>.md` sidecar + flipping `needsAnswers:true` on the
27
+ * item body on `<arbiter>/main`, then releasing the ref. After the migration
28
+ * no `stuck` lock ref remains and every previously-stuck item rests as a
29
+ * `needsAnswers:true` pool item with a sidecar (the same resting shape a
30
+ * fresh bounce produces).
31
+ *
32
+ * IDEMPOTENT by construction: the legacy shape is identified from the raw
33
+ * blob's `state: stuck` frontmatter line, which the new lock module NEVER
34
+ * writes; a re-run therefore finds no legacy stuck ref → the report has zero
35
+ * `migrated` entries and no arbiter mutation occurs. Bare-arbiter safe (a ref
36
+ * is a ref): every operation goes through the same lock-ref plumbing the
37
+ * live path uses, so it works on a `--bare file://` arbiter identically to a
38
+ * real remote.
39
+ *
40
+ * SCOPE FENCE: this migrates ONLY lock entries whose name reverse-derives to
41
+ * a CURRENT item-form (`task-*` / `spec-*` / `observation-*` via
42
+ * {@link hasCurrentItemForm}); a pre-cutover `slice-*` / `prd-*` legacy stuck
43
+ * ref has no on-`main` body to flip and is out of scope for the surface
44
+ * transition — such entries are reported as `skipped-no-item-form` and left
45
+ * for the existing `release-lock --entry <literal>` escape hatch to clear (a
46
+ * human still asserts the clear on those; the migration never `--force`s or
47
+ * deletes them). See the CLI verb `dorfl migrate-stuck-locks` for the
48
+ * user-facing surface + its help text.
49
+ */
50
+ /** Per-lock outcome of the migration sweep. */
51
+ export type MigrateStuckLockOutcome = 'migrated' | 'migrated-body-absent' | 'not-stuck' | 'skipped-no-item-form' | 'lost' | 'error';
52
+ /** One lock's disposition in the {@link MigrateStuckLocksReport}. */
53
+ export interface MigrateStuckLockEntry {
54
+ /** The lock-entry name (`<type>-<slug>` or a pre-cutover `slice-*` / `prd-*`). */
55
+ entry: string;
56
+ /** The lock ref (`refs/dorfl/lock/<entry>`). */
57
+ ref: string;
58
+ /**
59
+ * The namespaced item form the entry reverse-derives to (`task:<slug>` /
60
+ * `spec:<slug>` / `observation:<slug>`), or the raw entry when it does not
61
+ * carry a current item-form prefix.
62
+ */
63
+ item: string;
64
+ outcome: MigrateStuckLockOutcome;
65
+ /** Human-readable note (why it was left, or the surface + release result). */
66
+ message: string;
67
+ }
68
+ /** Result of {@link migrateStuckLocks}. A one-shot sweep report. */
69
+ export interface MigrateStuckLocksReport {
70
+ entries: MigrateStuckLockEntry[];
71
+ /** Count of legacy stuck refs surfaced on main + released. */
72
+ migrated: number;
73
+ /** Count of legacy stuck refs whose lock was released but had no on-`main` body
74
+ * to flip (body-absent D1 probe). Still a successful drain. */
75
+ migratedBodyAbsent: number;
76
+ /** Count of refs that were not the legacy stuck shape (healthy active holds
77
+ * or already-migrated). No mutation. */
78
+ notStuck: number;
79
+ /** Count of legacy stuck refs skipped because their entry has no current
80
+ * item-form (pre-cutover `slice-*` / `prd-*`). */
81
+ skippedNoItemForm: number;
82
+ /** Count of refs whose surface/release lost the CAS race. */
83
+ lost: number;
84
+ /** Count of refs where a read/plumbing fault prevented migration. */
85
+ errors: number;
86
+ }
87
+ export interface MigrateStuckLocksOptions {
88
+ cwd: string;
89
+ arbiter?: string;
90
+ env?: NodeJS.ProcessEnv;
91
+ /** Optional progress note sink (parity with `surfaceStuckToNeedsAttention`). */
92
+ note?: (message: string) => void;
93
+ }
94
+ /**
95
+ * Run the one-shot migration against the arbiter. Enumerates every held
96
+ * per-item lock ref, and for each whose RAW blob body carries `state: stuck`
97
+ * (the legacy shape the retired `stuck` state produced) drives the shared
98
+ * surface-first-release-second transition (reason + questions extracted from
99
+ * the legacy body). Idempotent: a re-run finds no legacy stuck refs and is a
100
+ * clean no-op.
101
+ */
102
+ export declare function migrateStuckLocks(options: MigrateStuckLocksOptions): Promise<MigrateStuckLocksReport>;
103
+ /**
104
+ * True iff the migration report leaves a state a human should look at: a
105
+ * `lost` (CAS race) or an `error` (read/plumbing fault). A `not-stuck` /
106
+ * `skipped-no-item-form` outcome is INFORMATIONAL (the former is the normal
107
+ * healthy-hold state; the latter is deferred to `release-lock --entry`) and
108
+ * does NOT count. A pure "0 migrated, 0 lost, 0 error" report is exit-0.
109
+ */
110
+ export declare function migrateStuckLocksNeedsAttention(report: MigrateStuckLocksReport): boolean;
111
+ /** Format the sweep for the terminal. An empty enumeration (no lock refs at
112
+ * all) yields no lines (silent, like the gc lock report). */
113
+ export declare function formatMigrateStuckLocksReport(report: MigrateStuckLocksReport): string[];
114
+ /** True iff `body` is the legacy `state: stuck` shape (the pre-retirement
115
+ * lock-entry blob). Matched on the raw frontmatter line so this is unaffected
116
+ * by the current parser's coercion to `active`. */
117
+ export declare function isLegacyStuckBlob(body: string): boolean;
118
+ /**
119
+ * Extract the bounce reason from a legacy stuck lock blob. Preference order
120
+ * (the two shapes the retired serialiser produced):
121
+ * 1. A `## Reason` block in the body (multi-line, blank-trimmed).
122
+ * 2. A one-line `reason:` field in the frontmatter (pre-cutover shape).
123
+ * Returns `undefined` when neither is present.
124
+ */
125
+ export declare function extractLegacyReason(body: string): string | undefined;
126
+ /** Extract the `## Questions` bulleted list from a legacy stuck lock blob (or
127
+ * `[]` when absent). Each bullet becomes one question string. */
128
+ export declare function extractLegacyQuestions(body: string): string[];
129
+ //# sourceMappingURL=migrate-stuck-locks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-stuck-locks.d.ts","sourceRoot":"","sources":["../src/migrate-stuck-locks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAeH,+CAA+C;AAC/C,MAAM,MAAM,uBAAuB,GAChC,UAAU,GACV,sBAAsB,GACtB,WAAW,GACX,sBAAsB,GACtB,MAAM,GACN,OAAO,CAAC;AAEX,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACrC,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,uBAAuB,CAAC;IACjC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,oEAAoE;AACpE,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB;mEAC+D;IAC/D,kBAAkB,EAAE,MAAM,CAAC;IAC3B;4CACwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB;sDACkD;IAClD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,gFAAgF;IAChF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CA4KlC;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,uBAAuB,GAC7B,OAAO,CAET;AAED;6DAC6D;AAC7D,wBAAgB,6BAA6B,CAC5C,MAAM,EAAE,uBAAuB,GAC7B,MAAM,EAAE,CAuCV;AAwBD;;mDAEmD;AACnD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA0BpE;AAED;iEACiE;AACjE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB7D"}