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
@@ -1,8 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { runAsync } from './git.js';
3
3
  import { Integrator, } from './integrator.js';
4
- import { routeToNeedsAttention, returnToBacklog, } from './needs-attention.js';
5
- import { markStuckItemLock, resumeItemLock, } from './item-lock.js';
4
+ import { routeToNeedsAttention, returnToBacklog, surfaceStuckToNeedsAttention, } from './needs-attention.js';
6
5
  // --- The sole strategy: exactly today's behaviour -------------------------
7
6
  /** Run git, returning the raw result (no throw) — for soft checks. */
8
7
  function gitSoft(args, cwd, env) {
@@ -198,12 +197,12 @@ export const currentLedgerWrite = {
198
197
  * bounce its `work/prd-<slug>`, a temp-branch caller pushes NOTHING.)
199
198
  *
200
199
  * Both halves are ONE operation done in ONE place: it delegates to {@link
201
- * routeToNeedsAttention}, which appends the reason as body prose (never a
202
- * frontmatter field WORK-CONTRACT rule 3), saves the aborted work as a
203
- * **wip** commit, `git mv`s the item to `work/needs-attention/` as the
204
- * **move-only** commit (the tip), and — when an `arbiter` is given — pushes the
205
- * work branch (best-effort, branch-parameterised, emptiness-guarded; SURFACE-
206
- * ONLY when `pushBranch: false`). The seam does NOT strip the arbiter: the same
200
+ * routeToNeedsAttention}, which saves the aborted work as a **wip** commit
201
+ * on the work branch (post lock-cutover no `work/needs-attention/` folder
202
+ * write ever fires here) and when an `arbiter` is given — pushes the work
203
+ * branch (best-effort, branch-parameterised, emptiness-guarded; SURFACE-
204
+ * ONLY when `pushBranch: false`). The OBSERVABLE lock amend rides on
205
+ * {@link bounceToStuckLock} directly below. The seam does NOT strip the arbiter: the same
207
206
  * arbiter both publishes the surface (here) AND drives the helper's branch push,
208
207
  * so "record stuck" and "save the work" can never drift apart. The human-vs-
209
208
  * autonomous gate rides on whether an `arbiter` is given at all (human
@@ -223,9 +222,10 @@ export const currentLedgerWrite = {
223
222
  // outage-retried), so the partial work travels cross-machine and a `requeue`
224
223
  // continues from the tip. The work-branch push is NOT a `main` write.
225
224
  const saved = await routeToNeedsAttention(input);
226
- const stuck = await bounceToStuckLock({
225
+ const surfaced = await bounceThroughSurface({
227
226
  cwd: input.cwd,
228
227
  slug: input.slug,
228
+ item: `task:${input.slug}`,
229
229
  reason: input.reason,
230
230
  questions: input.questions,
231
231
  arbiter: input.arbiter,
@@ -233,11 +233,12 @@ export const currentLedgerWrite = {
233
233
  note: input.note,
234
234
  });
235
235
  return {
236
- // `moved` reflects the OBSERVABLE half (the stuck record): the lock amend.
237
- moved: stuck.moved,
238
- reasonNotMoved: stuck.reasonNotMoved,
236
+ // `moved` reflects the OBSERVABLE half (the surface record): the sidecar +
237
+ // `needsAnswers:true` on `<arbiter>/main` (or the human-local no-op).
238
+ moved: surfaced.moved,
239
+ reasonNotMoved: surfaced.reasonNotMoved,
239
240
  // The branch push outcome is the honest RECOVERABLE report (`do`/`run` read
240
- // it). The on-`main` surface half is GONE (the lock is the surface now).
241
+ // it).
241
242
  branchPush: saved.branchPush,
242
243
  pushError: saved.pushError,
243
244
  };
@@ -245,7 +246,7 @@ export const currentLedgerWrite = {
245
246
  /**
246
247
  * The return-to-backlog transition under the SAME strategy: re-queue the
247
248
  * stuck item by delegating to {@link returnToBacklog}, which moves the slug's
248
- * current `work/<needs-attention|in-progress>/<slug>.md → work/backlog/<slug>.md`
249
+ * current `work/<needs-attention|in-progress>/<slug>.md → work/tasks/ready/<slug>.md`
249
250
  * TREE-LESSLY — it
250
251
  * builds the move off `<arbiter>/main` with plumbing and CAS-publishes it back
251
252
  * THROUGH this same write seam (`applyTransition`, the very push+lease+verify
@@ -255,149 +256,126 @@ export const currentLedgerWrite = {
255
256
  return returnToBacklog(input);
256
257
  },
257
258
  /**
258
- * The tree-less surface transition under the SAME strategy: surface the stuck
259
- * AFTER-COMMIT, LEDGER-ONLY item by delegating to the tree-less surface (now a pure lock amend),
260
- * which moves `work/in-progress/<slug>.md work/needs-attention/<slug>.md`
261
- * (reason in the body) TREE-LESSLY it builds the move off `<arbiter>/main` with
262
- * plumbing and CAS-publishes it THROUGH this same write seam
263
- * (`applyTransition`, the very push+lease+verify `claim`/`requeue` use), never
264
- * staging/committing in the cwd working tree. The reverse of
259
+ * The tree-less surface transition under the SAME strategy: surface the
260
+ * stuck AFTER-COMMIT, LEDGER-ONLY item by delegating to the tree-less
261
+ * surface post lock-cutover a pure LOCK AMEND (`state: stuck` with the
262
+ * reason on the lock entry), CAS-published to the arbiter's lock ref via
263
+ * the same push+lease+verify seam `claim`/`requeue` use, never staging or
264
+ * committing in the cwd working tree. The reverse of
265
265
  * {@link applyReturnToBacklogTransition}, the same one mechanism.
266
266
  */
267
267
  async applyTreelessNeedsAttentionTransition(input) {
268
- // PURE LOCK AMEND (task
269
- // `cutover-needs-attention-becomes-lock-stuck-recovery-surface`, decision i+):
270
- // the after-commit / ledger-only surface (continue-push-failure /
271
- // continue-rebase-conflict) is now the SAME `active stuck` lock amend as the
272
- // cwd-bound bounce NO `git mv`, NO `main` write. The recoverable work is
273
- // already committed on the kept `work/<slug>` branch (intact on the arbiter);
274
- // the stuck reason + questions ride on the lock entry. A re-surface of an
275
- // already-stuck item is a tolerated idempotent no-op (`wrong-state`).
276
- const moved = await bounceToStuckLock({
268
+ // PR-2b surface cutover (spec
269
+ // `surface-stuck-as-questions-and-retire-stuck-lock-state`, decision #1): the
270
+ // after-commit / ledger-only surface (continue-push-failure / continue-rebase-
271
+ // conflict) surfaces the item on `<arbiter>/main` (a `stuck`-kind sidecar +
272
+ // `needsAnswers:true` on the item body in ONE commit) THEN releases the per-
273
+ // item lock. Surface-FIRST, release-SECOND, with `main`-authoritative crash
274
+ // recovery inherited from {@link runTreelessLedgerMove}. The recoverable work
275
+ // is already committed on the kept `work/<slug>` branch (intact on the arbiter).
276
+ const surfaced = await bounceThroughSurface({
277
277
  cwd: input.cwd,
278
278
  slug: input.slug,
279
+ item: `task:${input.slug}`,
279
280
  reason: input.reason,
280
281
  questions: input.questions,
281
282
  arbiter: input.arbiter,
282
283
  env: input.env,
283
284
  note: input.note,
284
285
  });
285
- return { moved: moved.moved, reasonNotMoved: moved.reasonNotMoved };
286
+ return { moved: surfaced.moved, reasonNotMoved: surfaced.reasonNotMoved };
286
287
  },
287
288
  /**
288
289
  * The resolve-needs-attention transition under the SAME strategy — satisfying
289
- * the INTENT "clear the stuck surface + restore in-progress." It delegates to
290
- * the resume lock amend (reverse `git mv` needs-attention →
291
- * in-progress, committed) and, when an `arbiter` is given, publishes that
292
- * reverse move-only commit to the arbiter's `main` CLEARING the stuck surface
293
- * there (the item is back in in-progress on the ledger). Same all-or-nothing,
294
- * never-`--force` publish. "Reverse-move on `main`" is a detail of THIS
295
- * strategy; the seam's contract is only the intent "clear the surface."
290
+ * the INTENT "clear the stuck surface + restore active." It delegates to
291
+ * the resume lock amend (post lock-cutover — `stuck → active` on the per-item
292
+ * lock, no reverse `needs-attention/ → in-progress/` folder move) and, when an
293
+ * `arbiter` is given, CAS-publishes that lock amend to the arbiter's lock ref
294
+ * CLEARING the stuck surface there (the item is active again). Same
295
+ * all-or-nothing, never-`--force` publish. The lock-ref amend is a detail of
296
+ * THIS strategy; the seam's contract is only the intent "clear the surface."
296
297
  */
297
- async applyResolveNeedsAttentionTransition(input) {
298
- // PURE LOCK AMEND (task
299
- // `cutover-needs-attention-becomes-lock-stuck-recovery-surface`, decision i+):
300
- // resolving a stuck item is `stuck → active` on the per-item lock (a human is
301
- // picking it up), NOT a `needs-attention/ → in-progress/` folder move. NO `main`
302
- // write the body already rests in `backlog/` (task 9a) and the work stays on
303
- // the kept `work/<slug>` branch. Without an arbiter there is no lock ref to
304
- // amend (the human-local face), so it is a recorded no-op success.
305
- if (!input.arbiter) {
306
- return { moved: true };
307
- }
308
- const r = await resumeItemLock({
309
- item: `task:${input.slug}`,
310
- cwd: input.cwd,
311
- arbiter: input.arbiter,
312
- env: input.env,
313
- });
314
- if (r.outcome === 'transitioned') {
315
- return { moved: true };
316
- }
317
- // `wrong-state` (already active — not actually stuck) is tolerated as a no-op
318
- // success: the item is already in-flight, the caller onboards onto it anyway.
319
- if (r.outcome === 'wrong-state') {
320
- return { moved: true };
321
- }
322
- return {
323
- moved: false,
324
- reasonNotMoved: `could not resume '${input.slug}' (${r.outcome}: ${r.message}).`,
325
- };
298
+ async applyResolveNeedsAttentionTransition(_input) {
299
+ // Post-`retire-stuck-lock-state`: the `stuck` lock state is retired, so
300
+ // there is no `stuck active` lock amend to perform. A parked item is
301
+ // now a `needsAnswers:true` pool item on `main` with a sidecar, drained
302
+ // by the apply rung (answer the sidecar), not by a resolve verb. The seam
303
+ // is kept for source compatibility of its remaining legacy callers
304
+ // (start.ts's legacy `needs-attention/` folder branch), where it is a
305
+ // recorded no-op success.
306
+ return { moved: true };
326
307
  },
327
308
  };
328
309
  /**
329
- * The SOLE stuck-state RECORD: amend the item's HELD per-item lock
330
- * `active → stuck` + the FULL reason prose + any agent-surfaced questions, via the
331
- * state machine's mark-stuck CAS amend ({@link markStuckItemLock}) task
332
- * `cutover-needs-attention-becomes-lock-stuck-recovery-surface` (decision i+; prd
333
- * `ledger-status-per-item-lock-refs` US #5/#8; ADR
334
- * `ledger-status-on-per-item-lock-refs`). This REPLACES the `git mv
335
- * needs-attention/` folder bounce + its on-`main` surface + branch push: the
336
- * bounce now touches ONLY the lock ref (NO `main` write so a protected-`main`
337
- * bounce succeeds, and a work branch cut from `main` inherits no stuck record).
338
- *
339
- * The bounce holds the TASK's `implement` lock that `claim` acquired (task
340
- * `claim-acquires-unified-lock-no-body-move`), so the normal stuck path is a plain
341
- * `active → stuck` amend (`transitioned`). The OUTCOME MAPPING onto `{moved}`:
342
- * - `transitioned` — the lock is now stuck (the stuck state is recorded) ⇒
343
- * `moved: true`.
344
- * - `wrong-state` — the lock is ALREADY `stuck` (an idempotent re-surface of a
345
- * still-stuck item) ⇒ `moved: true` (the stuck record stands).
346
- * - `not-held` — there is NO held lock to amend (an item that predates the
347
- * lock, or a flow where claim did not acquire) ⇒ `moved: false` honestly: with
348
- * the folder retired there is no other substrate to record the stuck state on,
349
- * so the caller reports the bounce did NOT land (retry/resolve) rather than
350
- * fake a success.
351
- * - `lost`/`error` — a concurrent CAS race / environment fault ⇒ `moved: false`.
352
- * - no arbiter — a human local-only `complete` (no arbiter handle): the lock
353
- * ref lives on the arbiter, so there is no lock to amend; treat as a recorded
354
- * no-op (`moved: true`) — a human is right there (the same human-vs-autonomous
355
- * posture the old local-only folder move took). NOTE this records nothing
356
- * durable, by design: the human is in the loop.
310
+ * The SOLE stuck-state RECORD (PR-2b, spec
311
+ * `surface-stuck-as-questions-and-retire-stuck-lock-state`, user stories 1/3/8,
312
+ * decisions #1/#4): surface the bounced item as a `stuck`-kind sidecar +
313
+ * `needsAnswers:true` on the item body in ONE commit on `<arbiter>/main`, THEN
314
+ * release the per-item lock. Surface-FIRST, release-SECOND the ordering is
315
+ * load-bearing so a crash between them is recoverable from `main` (the classifier
316
+ * fold in `item-lock.ts` re-derives `cleared-stale` from the main-side truth
317
+ * PR-2a landed). This REPLACES the retired `active stuck` lock amend: no
318
+ * bounce leaves a `stuck` lock; a bounced item rests as a plain `needsAnswers:true`
319
+ * pool item (`eligible:false` by construction).
357
320
  *
358
- * Keyed on `task:<slug>` (the bounce surfaces a TASK; the prd/observation locks
359
- * are tasking/advance holds whose own bounce paths are separate).
321
+ * The OUTCOME MAPPING onto `{moved}`:
322
+ * - `surfaced` — the sidecar + `needsAnswers:true` commit landed on
323
+ * `<arbiter>/main` and the lock was released ⇒ `moved: true`.
324
+ * - `bodyAbsent` — the D1 probe found no body for the item on `main` (a
325
+ * bounce for an item whose body never landed — e.g. a claim that lost/raced).
326
+ * The surface is a CLEAN NO-OP; the lock is STILL released so the bounce is
327
+ * never a dead-end held lock ⇒ `moved: true` (nothing to record, nothing left
328
+ * stuck).
329
+ * - `!surfaced` — the surface commit did NOT land (contention exhausted,
330
+ * item missing on main by explicit path, environment fault) ⇒ `moved: false`
331
+ * with `reasonNotMoved` so the caller reports the honest not-landed state.
332
+ * - no arbiter — a human local-only `complete` (no arbiter handle): the
333
+ * surface primitive requires an arbiter, so this is a recorded no-op (`moved:
334
+ * true`) — a human is right there (the same human-vs-autonomous posture the
335
+ * retired lock amend took). NOTE this records nothing durable, by design.
360
336
  */
361
- async function bounceToStuckLock(params) {
362
- const { cwd, slug, reason, questions, arbiter, env } = params;
337
+ async function bounceThroughSurface(params) {
338
+ const { cwd, slug, item, reason, questions, arbiter, env } = params;
363
339
  const note = params.note ?? (() => { });
364
340
  if (!arbiter) {
365
- // No arbiter handle ⇒ no lock ref to amend. A human local-only `complete`:
366
- // the human is right there, so this is a recorded no-op (parity with the old
367
- // local-only folder move that wrote nothing cross-machine).
368
- note(`'${slug}' bounced locally (no arbiter) — the stuck reason is not recorded ` +
369
- 'on a lock ref (a human is right here).');
341
+ // No arbiter handle ⇒ no `<arbiter>/main` to surface on. A human local-only
342
+ // `complete`: the human is right there, so this is a recorded no-op (parity
343
+ // with the retired local-only lock amend that wrote nothing cross-machine).
344
+ note(`'${slug}' bounced locally (no arbiter) — the stuck reason is not surfaced ` +
345
+ 'on <arbiter>/main (a human is right here).');
370
346
  return { moved: true };
371
347
  }
348
+ const asNewQuestions = questions?.map((q) => ({
349
+ question: q,
350
+ kind: 'stuck',
351
+ }));
372
352
  try {
373
- const r = await markStuckItemLock({
374
- item: `task:${slug}`,
375
- reason,
376
- questions,
353
+ const r = await surfaceStuckToNeedsAttention({
377
354
  cwd,
355
+ slug,
356
+ item,
357
+ reason,
358
+ questions: asNewQuestions,
378
359
  arbiter,
379
360
  env,
361
+ note,
380
362
  });
381
- const movedOutcomes = ['transitioned', 'wrong-state'];
382
- if (movedOutcomes.includes(r.outcome)) {
383
- if (r.outcome === 'transitioned') {
384
- note(`Marked the per-item lock for '${slug}' stuck: ${reason}`);
385
- }
386
- else {
387
- note(`The per-item lock for '${slug}' is already stuck (re-surface).`);
388
- }
363
+ if (r.surfaced) {
364
+ note(`Surfaced '${item}' on ${arbiter}/main (stuck): ${reason}`);
365
+ return { moved: true };
366
+ }
367
+ if (r.bodyAbsent) {
368
+ note(`'${item}' has no body on ${arbiter}/main — surface skipped as a clean ` +
369
+ 'no-op; the lock was still released to avoid a dead-end held lock.');
389
370
  return { moved: true };
390
371
  }
391
- const reasonNotMoved = r.outcome === 'not-held'
392
- ? `'${slug}' has no held lock to mark stuck (the bounce could not record ` +
393
- 'the stuck state — the item is not lock-held).'
394
- : `could not mark the per-item lock for '${slug}' stuck (${r.outcome}: ` +
395
- `${r.message}).`;
372
+ const reasonNotMoved = r.reasonNotSurfaced ??
373
+ `could not surface '${item}' on ${arbiter}/main (unknown reason).`;
396
374
  note(reasonNotMoved);
397
375
  return { moved: false, reasonNotMoved };
398
376
  }
399
377
  catch (err) {
400
- const reasonNotMoved = `could not mark the per-item lock for '${slug}' stuck ` +
378
+ const reasonNotMoved = `could not surface '${item}' on ${arbiter}/main ` +
401
379
  `(${err instanceof Error ? err.message : String(err)}).`;
402
380
  note(reasonNotMoved);
403
381
  return { moved: false, reasonNotMoved };
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-write.js","sourceRoot":"","sources":["../src/ledger-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAClD,OAAO,EACN,UAAU,GAGV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,qBAAqB,EACrB,eAAe,GAQf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,iBAAiB,EACjB,cAAc,GAEd,MAAM,gBAAgB,CAAC;AAyVxB,6EAA6E;AAE7E,sEAAsE;AACtE,SAAS,OAAO,CACf,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,OAAO,CACrB,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,UAAU,CAAC,MAKzB;IACA,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,0DAA0D;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC3B,MAAM,GAAG,GAAG,CACX,MAAM,OAAO,CACZ;QACC,KAAK;QACL,IAAI;QACJ,4DAA4D;QAC5D,IAAI;KACJ,EACD,GAAG,EACH,GAAG,CACH,CACD,CAAC,MAAM,CAAC;IACT,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC/B,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,0EAA0E;IAC1E,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEtD,+EAA+E;IAC/E,2CAA2C;IAC3C,MAAM,QAAQ,GAAsB;QACnC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACvB,eAAe,EAAE,UAAU;QAC3B,gBAAgB,EAAE,WAAW;QAC7B,eAAe,EAAE,UAAU;QAC3B,kBAAkB,EAAE,aAAa;QACjC,mBAAmB,EAAE,cAAc;QACnC,6EAA6E;QAC7E,6EAA6E;QAC7E,gEAAgE;KAChE,CAAC;IAEF,+EAA+E;IAC/E,MAAM,aAAa,GAAG,GAAG,OAAO,OAAO,iBAAiB,KAAK,KAAK,IAAI,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC5B,KAAK,EACL,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,EACzD,GAAG,EACH,EAAC,GAAG,EAAE,QAAQ,EAAC,CACf,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,kDAAkD,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,WAAW,EAAE,CACxH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACtD,KAAK,CAAC,eAAe,CAAC,EACrB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,GAAG,EACH,MAAM,EACN,GAAG,EACH,IAAI,GACJ;QACA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEhC,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,6BAA6B,OAAO,IAAI,WAAW,iCAAiC,YAAY,EAAE,CAAC;YACnH,IAAI,CAAC,OAAO,CAAC,CAAC;YACd,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAC,CAAC;QACrC,CAAC;QAED,2EAA2E;QAC3E,4EAA4E;QAC5E,qEAAqE;QACrE,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,wEAAwE;QACxE,4EAA4E;QAC5E,2EAA2E;QAC3E,mDAAmD;QACnD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;QAE/D,0EAA0E;QAC1E,4EAA4E;QAC5E,8EAA8E;QAC9E,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CACzB;YACC,MAAM;YACN,OAAO;YACP,GAAG,MAAM,OAAO;YAChB,2BAA2B,YAAY,EAAE;SACzC,EACD,GAAG,EACH,GAAG,CACH,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,yEAAyE;YACzE,0EAA0E;YAC1E,0EAA0E;YAC1E,6EAA6E;YAC7E,uEAAuE;YACvE,oEAAoE;YACpE,yEAAyE;YACzE,4EAA4E;YAC5E,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,CACnB,MAAM,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CACzD,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO;oBACN,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,sBAAsB;oBAC/B,aAAa,EAAE,MAAM;iBACrB,CAAC;YACH,CAAC;YACD,IAAI,CACH,wDAAwD,OAAO,iDAAiD,CAChH,CAAC;QACH,CAAC;QACD,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,8BAA8B,EAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,uBAAuB,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,gBAAgB,EAChB,GAAG,EACH,GAAG,GACH;QACA,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,SAAS,CAAC;YAC3B,GAAG;YACH,OAAO;YACP,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,gBAAgB;YAChB,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,6BAA6B,CAClC,KAAyC;QAEzC,+EAA+E;QAC/E,uEAAuE;QACvE,6EAA6E;QAC7E,yEAAyE;QACzE,qEAAqE;QACrE,4EAA4E;QAC5E,iFAAiF;QACjF,0EAA0E;QAC1E,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC;YACrC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,OAAO;YACN,2EAA2E;YAC3E,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,4EAA4E;YAC5E,yEAAyE;YACzE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC1B,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,8BAA8B,CAC7B,KAA0C;QAE1C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,qCAAqC,CAC1C,KAAiD;QAEjD,wBAAwB;QACxB,+EAA+E;QAC/E,kEAAkE;QAClE,+EAA+E;QAC/E,2EAA2E;QAC3E,8EAA8E;QAC9E,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC;YACrC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,oCAAoC,CACzC,KAAgD;QAEhD,wBAAwB;QACxB,+EAA+E;QAC/E,8EAA8E;QAC9E,iFAAiF;QACjF,+EAA+E;QAC/E,4EAA4E;QAC5E,mEAAmE;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC;YAC9B,IAAI,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE;YAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,KAAK,CAAC,GAAG;SACd,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,8EAA8E;QAC9E,8EAA8E;QAC9E,IAAI,CAAC,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACjC,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,cAAc,EAAE,qBAAqB,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI;SAChF,CAAC;IACH,CAAC;CACD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAQhC;IACA,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,MAAM,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,2EAA2E;QAC3E,6EAA6E;QAC7E,4DAA4D;QAC5D,IAAI,CACH,IAAI,IAAI,oEAAoE;YAC3E,wCAAwC,CACzC,CAAC;QACF,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC;YACjC,IAAI,EAAE,QAAQ,IAAI,EAAE;YACpB,MAAM;YACN,SAAS;YACT,GAAG;YACH,OAAO;YACP,GAAG;SACH,CAAC,CAAC;QACH,MAAM,aAAa,GAAwB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBAClC,IAAI,CAAC,iCAAiC,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,0BAA0B,IAAI,kCAAkC,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,MAAM,cAAc,GACnB,CAAC,CAAC,OAAO,KAAK,UAAU;YACvB,CAAC,CAAC,IAAI,IAAI,gEAAgE;gBACzE,+CAA+C;YAChD,CAAC,CAAC,yCAAyC,IAAI,YAAY,CAAC,CAAC,OAAO,IAAI;gBACvE,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,CAAC;QACrB,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,cAAc,GACnB,yCAAyC,IAAI,UAAU;YACvD,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,CAAC;QACrB,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC;IACvC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAwB,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ledger-write.js","sourceRoot":"","sources":["../src/ledger-write.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,29 @@ 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).
17
34
  * Reads the SAME logical inputs as {@link gatherLifecycleInPlace} \u2014 observations +
18
35
  * the `needsAnswers` pool from the mirror's committed `main` (via
19
- * `resolveMirrorState`), the prd pool via `resolveMirrorSpecPool`, and each item's
36
+ * `resolveMirrorState`), the spec pool via `resolveMirrorSpecPool`, and each item's
20
37
  * sidecar via `git show` \u2014 then hands them to the SAME shared
21
38
  * {@link buildLifecyclePools}, so the in-place + mirror enumerations AGREE.
22
39
  */
@@ -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"}
@@ -21,8 +21,8 @@ function readSidecarInPlace(repoPath, namespace, slug) {
21
21
  return undefined;
22
22
  }
23
23
  /**
24
- * Collect every `needsAnswers:true` task (from `work/backlog`) + prd (from
25
- * `work/prds`) for the in-place repo, through the read seam (the SAME readers the
24
+ * Collect every `needsAnswers:true` task (from `work/backlog`) + spec (from
25
+ * `work/specs`) for the in-place repo, through the read seam (the SAME readers the
26
26
  * build-pool scan uses). These are the SURFACE/APPLY candidates this task draws
27
27
  * into the selection (today they are build/task-INELIGIBLE, so nothing else
28
28
  * surfaces them).
@@ -41,25 +41,25 @@ function blockedItemsInPlace(read, repoPath, surfaceStaging) {
41
41
  out.push({ namespace: 'spec', slug: spec.slug });
42
42
  }
43
43
  }
44
- // TASKED resting prds (`prds/tasked/`) — enumerated UNCONDITIONALLY (NOT behind
45
- // `surfaceStaging`), because a prd may legitimately carry `needsAnswers:true`
46
- // while resting in `prds/tasked/` (WORK-CONTRACT "A PRD that has drifted AFTER
47
- // it was TASKED"). This is NOT a staging widening: a tasked prd is a durable
44
+ // TASKED resting prds (`specs/tasked/`) — enumerated UNCONDITIONALLY (NOT behind
45
+ // `surfaceStaging`), because a spec may legitimately carry `needsAnswers:true`
46
+ // while resting in `specs/tasked/` (WORK-CONTRACT "A SPEC that has drifted AFTER
47
+ // it was TASKED"). This is NOT a staging widening: a tasked spec is a durable
48
48
  // resting state, like the pool, so it is enumerated like the pool. Routing
49
49
  // still respects the gates in `buildLifecyclePools` (an ANSWERED sidecar -> the
50
50
  // always-on APPLY pool so the human's answer is never STRANDED; a NO-sidecar
51
- // tasked prd -> SURFACE, still gated by `surfaceBlockers`). Without this, a
52
- // tasked prd's answered sidecar is enumerated by no pool and apply never runs
51
+ // tasked spec -> SURFACE, still gated by `surfaceBlockers`). Without this, a
52
+ // tasked spec's answered sidecar is enumerated by no pool and apply never runs
53
53
  // on it (observation `tasked-prd-needsanswers-sidecar-stranded-no-apply-pool`).
54
54
  for (const spec of read.resolveLocalSpecTasked({ repoPath })) {
55
55
  if (spec.needsAnswers === true) {
56
56
  out.push({ namespace: 'spec', slug: spec.slug });
57
57
  }
58
58
  }
59
- // SURFACE-on-STAGING widening (prd
59
+ // SURFACE-on-STAGING widening (spec
60
60
  // `staging-surface-and-apply-promote-safety` F2): when `surfaceStaging` is
61
61
  // ON, the candidate set ADDITIONALLY enumerates `needsAnswers` items resting
62
- // in STAGING (`tasks/backlog/` + `prds/proposed/`), so a tasked item
62
+ // in STAGING (`tasks/backlog/` + `specs/proposed/`), so a tasked item
63
63
  // surfaces its questions BEFORE the human promotes it. BUILD/claim still
64
64
  // reads POOL-only (`scoreItems` over `state.ready`); only the surface polarity
65
65
  // widens here.
@@ -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,
@@ -128,7 +134,7 @@ async function readSidecarMirror(mirrorPath, ref, namespace, slug, env) {
128
134
  * Gather + build the lifecycle pools for a MIRROR-SIDE bare hub mirror (async).
129
135
  * Reads the SAME logical inputs as {@link gatherLifecycleInPlace} \u2014 observations +
130
136
  * the `needsAnswers` pool from the mirror's committed `main` (via
131
- * `resolveMirrorState`), the prd pool via `resolveMirrorSpecPool`, and each item's
137
+ * `resolveMirrorState`), the spec pool via `resolveMirrorSpecPool`, and each item's
132
138
  * sidecar via `git show` \u2014 then hands them to the SAME shared
133
139
  * {@link buildLifecyclePools}, so the in-place + mirror enumerations AGREE.
134
140
  */
@@ -157,9 +163,9 @@ export async function gatherLifecycleMirror(input) {
157
163
  blocked.push({ namespace: 'spec', slug: spec.slug });
158
164
  }
159
165
  }
160
- // TASKED resting prds (`<ref>:work/prds/tasked/`) — enumerated UNCONDITIONALLY,
161
- // the mirror-side counterpart of the in-place tasked-prd enumeration above
162
- // (so a `needsAnswers` tasked prd's answered sidecar is never stranded on the
166
+ // TASKED resting prds (`<ref>:work/specs/tasked/`) — enumerated UNCONDITIONALLY,
167
+ // the mirror-side counterpart of the in-place tasked-spec enumeration above
168
+ // (so a `needsAnswers` tasked spec's answered sidecar is never stranded on the
163
169
  // mirror/CI advance path either). Routing still respects the gates.
164
170
  const specTasked = await read.resolveMirrorSpecTasked({ mirrorPath, ref, env });
165
171
  for (const spec of specTasked) {
@@ -167,10 +173,10 @@ export async function gatherLifecycleMirror(input) {
167
173
  blocked.push({ namespace: 'spec', slug: spec.slug });
168
174
  }
169
175
  }
170
- // SURFACE-on-STAGING widening (prd
176
+ // SURFACE-on-STAGING widening (spec
171
177
  // `staging-surface-and-apply-promote-safety` F2): mirror-side counterpart of
172
178
  // the in-place widening above — enumerate `needsAnswers` items in
173
- // STAGING (`tasks/backlog/` + `prds/proposed/`) from the bare mirror's
179
+ // STAGING (`tasks/backlog/` + `specs/proposed/`) from the bare mirror's
174
180
  // committed `<ref>` tree, so the in-place + mirror surfaces AGREE. The
175
181
  // staging reads are skipped entirely when the gate is OFF (no extra git
176
182
  // ls-tree work in the legacy mode).
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-gather.js","sourceRoot":"","sources":["../src/lifecycle-gather.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-gather.js","sourceRoot":"","sources":["../src/lifecycle-gather.ts"],"names":[],"mappings":"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"}