@telora/daemon 0.24.40 → 0.24.55

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 (387) hide show
  1. package/build-info.json +9 -3
  2. package/dist/completion/completion-event/unfinished-work.d.ts +3 -3
  3. package/dist/completion/review-cycle-budget/review-loop-detection.d.ts.map +1 -1
  4. package/dist/completion/review-cycle-budget/review-loop-detection.js +2 -1
  5. package/dist/completion/review-cycle-budget/review-loop-detection.js.map +1 -1
  6. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +1 -1
  7. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
  8. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +2 -3
  9. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
  10. package/dist/completion/state-cascade/focus-next-step-read.d.ts +38 -0
  11. package/dist/completion/state-cascade/focus-next-step-read.d.ts.map +1 -0
  12. package/dist/completion/state-cascade/focus-next-step-read.js +188 -0
  13. package/dist/completion/state-cascade/focus-next-step-read.js.map +1 -0
  14. package/dist/completion/state-cascade/review-request-gate.d.ts.map +1 -1
  15. package/dist/completion/state-cascade/review-request-gate.js +1 -0
  16. package/dist/completion/state-cascade/review-request-gate.js.map +1 -1
  17. package/dist/completion/state-cascade/review-request-next-step.d.ts +56 -0
  18. package/dist/completion/state-cascade/review-request-next-step.d.ts.map +1 -0
  19. package/dist/completion/state-cascade/review-request-next-step.js +47 -0
  20. package/dist/completion/state-cascade/review-request-next-step.js.map +1 -0
  21. package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts +1 -1
  22. package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts.map +1 -1
  23. package/dist/completion/state-cascade/review-verify-judgment-gate.js +1 -0
  24. package/dist/completion/state-cascade/review-verify-judgment-gate.js.map +1 -1
  25. package/dist/completion/state-cascade/state-cascade.d.ts +12 -7
  26. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  27. package/dist/completion/state-cascade/state-cascade.js +36 -105
  28. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  29. package/dist/composition/commit-gate-context.d.ts.map +1 -1
  30. package/dist/composition/commit-gate-context.js +1 -0
  31. package/dist/composition/commit-gate-context.js.map +1 -1
  32. package/dist/composition/daemon-contexts.js +1 -1
  33. package/dist/composition/execution-migrations-context.d.ts.map +1 -1
  34. package/dist/composition/execution-migrations-context.js +3 -1
  35. package/dist/composition/execution-migrations-context.js.map +1 -1
  36. package/dist/composition/execution-process-context.js +1 -1
  37. package/dist/composition/execution-recovery-context.d.ts +4 -3
  38. package/dist/composition/execution-recovery-context.d.ts.map +1 -1
  39. package/dist/composition/execution-recovery-context.js +6 -3
  40. package/dist/composition/execution-recovery-context.js.map +1 -1
  41. package/dist/composition/execution-worktree-context.js +1 -1
  42. package/dist/composition/focus-next-step-context.d.ts +19 -0
  43. package/dist/composition/focus-next-step-context.d.ts.map +1 -0
  44. package/dist/composition/focus-next-step-context.js +51 -0
  45. package/dist/composition/focus-next-step-context.js.map +1 -0
  46. package/dist/composition/runtime-contexts.d.ts.map +1 -1
  47. package/dist/composition/runtime-contexts.js +6 -18
  48. package/dist/composition/runtime-contexts.js.map +1 -1
  49. package/dist/composition/runtime-poll-context.d.ts +8 -53
  50. package/dist/composition/runtime-poll-context.d.ts.map +1 -1
  51. package/dist/composition/runtime-poll-context.js +35 -94
  52. package/dist/composition/runtime-poll-context.js.map +1 -1
  53. package/dist/composition/runtime-prd-context.d.ts +8 -0
  54. package/dist/composition/runtime-prd-context.d.ts.map +1 -1
  55. package/dist/composition/runtime-prd-context.js +32 -0
  56. package/dist/composition/runtime-prd-context.js.map +1 -1
  57. package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
  58. package/dist/composition/runtime-spawn-pass-context.js +2 -3
  59. package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
  60. package/dist/composition/state-cascade-context.d.ts +2 -0
  61. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  62. package/dist/composition/state-cascade-context.js +9 -0
  63. package/dist/composition/state-cascade-context.js.map +1 -1
  64. package/dist/composition/tower-pass-context.d.ts +6 -1
  65. package/dist/composition/tower-pass-context.d.ts.map +1 -1
  66. package/dist/composition/tower-pass-context.js +12 -2
  67. package/dist/composition/tower-pass-context.js.map +1 -1
  68. package/dist/composition/verification-context.d.ts.map +1 -1
  69. package/dist/composition/verification-context.js +15 -3
  70. package/dist/composition/verification-context.js.map +1 -1
  71. package/dist/config/live-daemon-config.js +1 -1
  72. package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
  73. package/dist/daemon-state/awaiting-slot.js +2 -0
  74. package/dist/daemon-state/awaiting-slot.js.map +1 -1
  75. package/dist/daemon-state/branch-removal-record.d.ts +30 -0
  76. package/dist/daemon-state/branch-removal-record.d.ts.map +1 -0
  77. package/dist/daemon-state/branch-removal-record.js +103 -0
  78. package/dist/daemon-state/branch-removal-record.js.map +1 -0
  79. package/dist/daemon-state/focus-team-state.js +1 -1
  80. package/dist/delivery/advance-hold.d.ts +8 -19
  81. package/dist/delivery/advance-hold.d.ts.map +1 -1
  82. package/dist/delivery/advance-hold.js +11 -36
  83. package/dist/delivery/advance-hold.js.map +1 -1
  84. package/dist/delivery/commit-verdict-hold.d.ts +1 -1
  85. package/dist/delivery/commit-verdict-hold.js +1 -1
  86. package/dist/delivery/recorded-concerns.d.ts.map +1 -1
  87. package/dist/delivery/recorded-concerns.js +0 -2
  88. package/dist/delivery/recorded-concerns.js.map +1 -1
  89. package/dist/directive/directive-queue.d.ts +4 -16
  90. package/dist/directive/directive-queue.d.ts.map +1 -1
  91. package/dist/directive/directive-queue.js +4 -12
  92. package/dist/directive/directive-queue.js.map +1 -1
  93. package/dist/directive/phase-sync.d.ts +1 -1
  94. package/dist/directive/phase-sync.js +1 -1
  95. package/dist/focus/crash-recovery.d.ts +10 -32
  96. package/dist/focus/crash-recovery.d.ts.map +1 -1
  97. package/dist/focus/crash-recovery.js +55 -150
  98. package/dist/focus/crash-recovery.js.map +1 -1
  99. package/dist/focus/daemon-contexts-runtime.d.ts +3 -3
  100. package/dist/focus/daemon-contexts-runtime.d.ts.map +1 -1
  101. package/dist/focus/daemon-contexts.js +1 -1
  102. package/dist/focus/directive-executor.d.ts.map +1 -1
  103. package/dist/focus/directive-executor.js +3 -7
  104. package/dist/focus/directive-executor.js.map +1 -1
  105. package/dist/focus/failed-head-rework-start.d.ts +61 -0
  106. package/dist/focus/failed-head-rework-start.d.ts.map +1 -0
  107. package/dist/focus/failed-head-rework-start.js +52 -0
  108. package/dist/focus/failed-head-rework-start.js.map +1 -0
  109. package/dist/focus/focus-activity-record.d.ts +4 -2
  110. package/dist/focus/focus-activity-record.d.ts.map +1 -1
  111. package/dist/focus/focus-activity-record.js +4 -2
  112. package/dist/focus/focus-activity-record.js.map +1 -1
  113. package/dist/focus/focus-liveness-pass.d.ts +62 -0
  114. package/dist/focus/focus-liveness-pass.d.ts.map +1 -0
  115. package/dist/focus/focus-liveness-pass.js +197 -0
  116. package/dist/focus/focus-liveness-pass.js.map +1 -0
  117. package/dist/focus/focus-poller-spawn.js +2 -2
  118. package/dist/focus/focus-poller-spawn.js.map +1 -1
  119. package/dist/focus/focus-poller-state.js +1 -1
  120. package/dist/focus/live-branch-preservation.d.ts +123 -0
  121. package/dist/focus/live-branch-preservation.d.ts.map +1 -0
  122. package/dist/focus/live-branch-preservation.js +192 -0
  123. package/dist/focus/live-branch-preservation.js.map +1 -0
  124. package/dist/focus/migration-claim-pass.d.ts +2 -0
  125. package/dist/focus/migration-claim-pass.d.ts.map +1 -1
  126. package/dist/focus/migration-claim-pass.js +57 -22
  127. package/dist/focus/migration-claim-pass.js.map +1 -1
  128. package/dist/focus/migration-held-set-publish.d.ts +28 -2
  129. package/dist/focus/migration-held-set-publish.d.ts.map +1 -1
  130. package/dist/focus/migration-held-set-publish.js +14 -0
  131. package/dist/focus/migration-held-set-publish.js.map +1 -1
  132. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  133. package/dist/focus/pending-spawn-pass-deps.js +2 -0
  134. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  135. package/dist/focus/pending-spawn-review-next-step.d.ts +5 -11
  136. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  137. package/dist/focus/pending-spawn-review-next-step.js +26 -72
  138. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  139. package/dist/focus/ready-focus-spawn-action.d.ts.map +1 -1
  140. package/dist/focus/ready-focus-spawn-action.js +2 -2
  141. package/dist/focus/ready-focus-spawn-action.js.map +1 -1
  142. package/dist/focus/review-refire-gate.d.ts +25 -0
  143. package/dist/focus/review-refire-gate.d.ts.map +1 -0
  144. package/dist/focus/review-refire-gate.js +68 -0
  145. package/dist/focus/review-refire-gate.js.map +1 -0
  146. package/dist/focus/verify-routing-passes.d.ts +8 -11
  147. package/dist/focus/verify-routing-passes.d.ts.map +1 -1
  148. package/dist/focus/verify-routing-passes.js +1 -2
  149. package/dist/focus/verify-routing-passes.js.map +1 -1
  150. package/dist/git/types.js +1 -1
  151. package/dist/prd/arm-refusal-streak.d.ts +102 -0
  152. package/dist/prd/arm-refusal-streak.d.ts.map +1 -0
  153. package/dist/prd/arm-refusal-streak.js +136 -0
  154. package/dist/prd/arm-refusal-streak.js.map +1 -0
  155. package/dist/prd/arm-refusal.d.ts.map +1 -1
  156. package/dist/prd/arm-refusal.js +7 -4
  157. package/dist/prd/arm-refusal.js.map +1 -1
  158. package/dist/prd/controller-shared.d.ts +40 -1
  159. package/dist/prd/controller-shared.d.ts.map +1 -1
  160. package/dist/prd/controller-shared.js +28 -2
  161. package/dist/prd/controller-shared.js.map +1 -1
  162. package/dist/prd/controller.d.ts.map +1 -1
  163. package/dist/prd/controller.js +3 -1
  164. package/dist/prd/controller.js.map +1 -1
  165. package/dist/prd/frontier-arming.d.ts +10 -2
  166. package/dist/prd/frontier-arming.d.ts.map +1 -1
  167. package/dist/prd/frontier-arming.js +91 -7
  168. package/dist/prd/frontier-arming.js.map +1 -1
  169. package/dist/prd/scoping-prompt.d.ts +8 -0
  170. package/dist/prd/scoping-prompt.d.ts.map +1 -1
  171. package/dist/prd/scoping-prompt.js +18 -0
  172. package/dist/prd/scoping-prompt.js.map +1 -1
  173. package/dist/prompt-sections/qa-failure-section.d.ts.map +1 -1
  174. package/dist/prompt-sections/qa-failure-section.js +3 -1
  175. package/dist/prompt-sections/qa-failure-section.js.map +1 -1
  176. package/dist/queries/api-client/shared.js +1 -1
  177. package/dist/queries/deliveries/deliveries.js +1 -1
  178. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts +4 -3
  179. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
  180. package/dist/queries/delivery-gate-state/delivery-gate-state.js +1 -1
  181. package/dist/queries/escalations/escalations.d.ts.map +1 -1
  182. package/dist/queries/escalations/escalations.js +0 -1
  183. package/dist/queries/escalations/escalations.js.map +1 -1
  184. package/dist/queries/escalations/incident-record.d.ts.map +1 -1
  185. package/dist/queries/escalations/incident-record.js +1 -0
  186. package/dist/queries/escalations/incident-record.js.map +1 -1
  187. package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -1
  188. package/dist/queries/focus-review/review-criterion-verdicts.js +1 -0
  189. package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -1
  190. package/dist/queries/focuses/focus-discovery.js +1 -1
  191. package/dist/queries/migrations/live-focus-branches.d.ts +23 -0
  192. package/dist/queries/migrations/live-focus-branches.d.ts.map +1 -1
  193. package/dist/queries/migrations/live-focus-branches.js +32 -1
  194. package/dist/queries/migrations/live-focus-branches.js.map +1 -1
  195. package/dist/queries/prd/prd.d.ts.map +1 -1
  196. package/dist/queries/prd/prd.js +1 -16
  197. package/dist/queries/prd/prd.js.map +1 -1
  198. package/dist/queries/qa-packets/focus-qa-failure.d.ts +18 -0
  199. package/dist/queries/qa-packets/focus-qa-failure.d.ts.map +1 -1
  200. package/dist/queries/qa-packets/focus-qa-failure.js +14 -1
  201. package/dist/queries/qa-packets/focus-qa-failure.js.map +1 -1
  202. package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -1
  203. package/dist/queries/tower-decisions/tower-decisions.js +1 -0
  204. package/dist/queries/tower-decisions/tower-decisions.js.map +1 -1
  205. package/dist/queries/verification/verification.d.ts +10 -0
  206. package/dist/queries/verification/verification.d.ts.map +1 -1
  207. package/dist/queries/verification/verification.js +1 -1
  208. package/dist/queries/verification/verification.js.map +1 -1
  209. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  210. package/dist/spawn/spawn-decision.js +1 -18
  211. package/dist/spawn/spawn-decision.js.map +1 -1
  212. package/dist/supervision/escalation-suppression.js +1 -1
  213. package/dist/supervision/failed-head-rerun.d.ts +7 -0
  214. package/dist/supervision/failed-head-rerun.d.ts.map +1 -0
  215. package/dist/supervision/failed-head-rerun.js +41 -0
  216. package/dist/supervision/failed-head-rerun.js.map +1 -0
  217. package/dist/supervision/focus-delivery-aggregate-phase.js +1 -1
  218. package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
  219. package/dist/supervision/focus-liveness.d.ts +89 -0
  220. package/dist/supervision/focus-liveness.d.ts.map +1 -0
  221. package/dist/supervision/focus-liveness.js +94 -0
  222. package/dist/supervision/focus-liveness.js.map +1 -0
  223. package/dist/supervision/focus-next-step.d.ts +175 -0
  224. package/dist/supervision/focus-next-step.d.ts.map +1 -0
  225. package/dist/supervision/focus-next-step.js +129 -0
  226. package/dist/supervision/focus-next-step.js.map +1 -0
  227. package/dist/supervision/prd-frontier-rule.d.ts +52 -0
  228. package/dist/supervision/prd-frontier-rule.d.ts.map +1 -0
  229. package/dist/supervision/prd-frontier-rule.js +51 -0
  230. package/dist/supervision/prd-frontier-rule.js.map +1 -0
  231. package/dist/supervision/prt-frontier.d.ts +22 -7
  232. package/dist/supervision/prt-frontier.d.ts.map +1 -1
  233. package/dist/supervision/prt-frontier.js +17 -7
  234. package/dist/supervision/prt-frontier.js.map +1 -1
  235. package/dist/supervision/review-loop-detector.d.ts.map +1 -1
  236. package/dist/supervision/review-loop-detector.js +2 -1
  237. package/dist/supervision/review-loop-detector.js.map +1 -1
  238. package/dist/supervision/spawn-cooldown.js +1 -1
  239. package/dist/supervision/stop-registry.d.ts +1 -0
  240. package/dist/supervision/stop-registry.d.ts.map +1 -1
  241. package/dist/supervision/stop-rows-focus-health.d.ts +14 -0
  242. package/dist/supervision/stop-rows-focus-health.d.ts.map +1 -1
  243. package/dist/supervision/stop-rows-focus-health.js +32 -0
  244. package/dist/supervision/stop-rows-focus-health.js.map +1 -1
  245. package/dist/supervision/stop-rows-spawn.d.ts +3 -2
  246. package/dist/supervision/stop-rows-spawn.d.ts.map +1 -1
  247. package/dist/supervision/stop-rows-spawn.js +9 -6
  248. package/dist/supervision/stop-rows-spawn.js.map +1 -1
  249. package/dist/supervision/team-work.js +1 -1
  250. package/dist/supervision/team-work.js.map +1 -1
  251. package/dist/testing/fixtures/api-client.js +1 -1
  252. package/dist/testing/fixtures/index.js +1 -1
  253. package/dist/testing/fixtures/migration-namespace-repo.d.ts.map +1 -1
  254. package/dist/testing/fixtures/migration-namespace-repo.js +1 -0
  255. package/dist/testing/fixtures/migration-namespace-repo.js.map +1 -1
  256. package/dist/testing/fixtures/pending-spawn-world.d.ts +24 -0
  257. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  258. package/dist/testing/fixtures/pending-spawn-world.js +47 -20
  259. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  260. package/dist/testing/fixtures/recording-api-client.js +1 -1
  261. package/dist/testing/fixtures/review-loop.d.ts.map +1 -1
  262. package/dist/testing/fixtures/review-loop.js +2 -0
  263. package/dist/testing/fixtures/review-loop.js.map +1 -1
  264. package/dist/testing/fixtures/verification-deps.d.ts +27 -0
  265. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  266. package/dist/testing/fixtures/verification-deps.js +77 -1
  267. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  268. package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
  269. package/dist/testing/fixtures/vitest-failure-log.js +1 -0
  270. package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
  271. package/dist/tower/tower-admission.d.ts +46 -9
  272. package/dist/tower/tower-admission.d.ts.map +1 -1
  273. package/dist/tower/tower-admission.js +59 -9
  274. package/dist/tower/tower-admission.js.map +1 -1
  275. package/dist/tower/tower-graph.d.ts.map +1 -1
  276. package/dist/tower/tower-graph.js +2 -1
  277. package/dist/tower/tower-graph.js.map +1 -1
  278. package/dist/tower/tower-heartbeat-status.d.ts +1 -1
  279. package/dist/tower/tower-heartbeat-status.d.ts.map +1 -1
  280. package/dist/tower/tower-heartbeat-status.js.map +1 -1
  281. package/dist/tower/tower-pass-standing.d.ts +11 -0
  282. package/dist/tower/tower-pass-standing.d.ts.map +1 -1
  283. package/dist/tower/tower-pass-standing.js +33 -1
  284. package/dist/tower/tower-pass-standing.js.map +1 -1
  285. package/dist/tower/tower-pass.d.ts +28 -4
  286. package/dist/tower/tower-pass.d.ts.map +1 -1
  287. package/dist/tower/tower-pass.js +60 -18
  288. package/dist/tower/tower-pass.js.map +1 -1
  289. package/dist/tower/tower-spawn-intent.d.ts.map +1 -1
  290. package/dist/tower/tower-spawn-intent.js +3 -2
  291. package/dist/tower/tower-spawn-intent.js.map +1 -1
  292. package/dist/tower/tower-supervisor-history.d.ts.map +1 -1
  293. package/dist/tower/tower-supervisor-history.js +2 -1
  294. package/dist/tower/tower-supervisor-history.js.map +1 -1
  295. package/dist/tower/tower-supervisor-prompt.d.ts.map +1 -1
  296. package/dist/tower/tower-supervisor-prompt.js +40 -8
  297. package/dist/tower/tower-supervisor-prompt.js.map +1 -1
  298. package/dist/tower/tower-supervisor-session.d.ts.map +1 -1
  299. package/dist/tower/tower-supervisor-session.js +1 -0
  300. package/dist/tower/tower-supervisor-session.js.map +1 -1
  301. package/dist/types/issue-status.d.ts.map +1 -1
  302. package/dist/types/issue-status.js +6 -1
  303. package/dist/types/issue-status.js.map +1 -1
  304. package/dist/verify/attribution/code-failure-evidence.d.ts +77 -0
  305. package/dist/verify/attribution/code-failure-evidence.d.ts.map +1 -0
  306. package/dist/verify/attribution/code-failure-evidence.js +92 -0
  307. package/dist/verify/attribution/code-failure-evidence.js.map +1 -0
  308. package/dist/verify/attribution/verification-attribution.d.ts +18 -0
  309. package/dist/verify/attribution/verification-attribution.d.ts.map +1 -1
  310. package/dist/verify/attribution/verification-attribution.js +49 -2
  311. package/dist/verify/attribution/verification-attribution.js.map +1 -1
  312. package/dist/verify/attribution/verification-baseline.d.ts.map +1 -1
  313. package/dist/verify/attribution/verification-baseline.js +1 -0
  314. package/dist/verify/attribution/verification-baseline.js.map +1 -1
  315. package/dist/verify/attribution/verification-diagnostics.d.ts +10 -0
  316. package/dist/verify/attribution/verification-diagnostics.d.ts.map +1 -1
  317. package/dist/verify/attribution/verification-diagnostics.js +39 -10
  318. package/dist/verify/attribution/verification-diagnostics.js.map +1 -1
  319. package/dist/verify/deterministic-gate/verification-deterministic.d.ts +19 -0
  320. package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
  321. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
  322. package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
  323. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  324. package/dist/verify/engine/verification-commit-sharing.js +36 -4
  325. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  326. package/dist/verify/engine/verification-deps.d.ts +7 -0
  327. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  328. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  329. package/dist/verify/engine/verification-engine.js +6 -3
  330. package/dist/verify/engine/verification-engine.js.map +1 -1
  331. package/dist/verify/escaped-tests/escaped-test-run.d.ts +5 -1
  332. package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -1
  333. package/dist/verify/escaped-tests/escaped-test-run.js +24 -2
  334. package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -1
  335. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts +4 -1
  336. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts.map +1 -1
  337. package/dist/verify/failing-test-rerun/failing-test-retry.js.map +1 -1
  338. package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
  339. package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
  340. package/dist/verify/gate-verdicts/no-verdict-record.d.ts +27 -3
  341. package/dist/verify/gate-verdicts/no-verdict-record.d.ts.map +1 -1
  342. package/dist/verify/gate-verdicts/no-verdict-record.js +36 -6
  343. package/dist/verify/gate-verdicts/no-verdict-record.js.map +1 -1
  344. package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
  345. package/dist/verify/outcome-routing/verification-rework-issue.js +5 -4
  346. package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
  347. package/dist/verify/run-selection/default-on-guards.d.ts +15 -4
  348. package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
  349. package/dist/verify/run-selection/default-on-guards.js +14 -4
  350. package/dist/verify/run-selection/default-on-guards.js.map +1 -1
  351. package/dist/verify/run-selection/explicit-next-step-gate.d.ts +39 -0
  352. package/dist/verify/run-selection/explicit-next-step-gate.d.ts.map +1 -0
  353. package/dist/verify/run-selection/explicit-next-step-gate.js +70 -0
  354. package/dist/verify/run-selection/explicit-next-step-gate.js.map +1 -0
  355. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts +0 -9
  356. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
  357. package/dist/verify/run-selection/pre-review-gate-dispatch.js +21 -62
  358. package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
  359. package/dist/verify/run-selection/reselection-log-line.d.ts +1 -1
  360. package/dist/verify/run-selection/reselection-log-line.d.ts.map +1 -1
  361. package/dist/verify/run-selection/reselection-log-line.js +2 -0
  362. package/dist/verify/run-selection/reselection-log-line.js.map +1 -1
  363. package/dist/verify/run-selection/verification-default-on.d.ts +32 -4
  364. package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
  365. package/dist/verify/run-selection/verification-default-on.js +83 -19
  366. package/dist/verify/run-selection/verification-default-on.js.map +1 -1
  367. package/dist/verify/shortfalls/shortfall-park.js +1 -1
  368. package/dist/worktree/focus-worktree-state.js +1 -1
  369. package/dist/worktree/focus-worktree-state.js.map +1 -1
  370. package/docs/runbook-tower.md +33 -5
  371. package/package.json +3 -3
  372. package/dist/completion/state-cascade/review-next-step.d.ts +0 -107
  373. package/dist/completion/state-cascade/review-next-step.d.ts.map +0 -1
  374. package/dist/completion/state-cascade/review-next-step.js +0 -90
  375. package/dist/completion/state-cascade/review-next-step.js.map +0 -1
  376. package/dist/focus/failed-head-wedge.d.ts +0 -124
  377. package/dist/focus/failed-head-wedge.d.ts.map +0 -1
  378. package/dist/focus/failed-head-wedge.js +0 -120
  379. package/dist/focus/failed-head-wedge.js.map +0 -1
  380. package/dist/focus/stranded-review-reroute.d.ts +0 -70
  381. package/dist/focus/stranded-review-reroute.d.ts.map +0 -1
  382. package/dist/focus/stranded-review-reroute.js +0 -193
  383. package/dist/focus/stranded-review-reroute.js.map +0 -1
  384. package/dist/focus/uncommitted-work-backstop.d.ts +0 -115
  385. package/dist/focus/uncommitted-work-backstop.d.ts.map +0 -1
  386. package/dist/focus/uncommitted-work-backstop.js +0 -259
  387. package/dist/focus/uncommitted-work-backstop.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/focus/crash-recovery-session-scope.test.ts,
3
3
  // packages/daemon/src/focus/crash-recovery.test.ts,
4
- // packages/daemon/src/focus/safety-capture-entry-points.test.ts
4
+ // packages/daemon/src/focus/safety-capture-entry-points.test.ts,
5
+ // packages/daemon/src/integration/finished-merged-active-focus-restart-regression.test.ts
5
6
  // PINNED-BY-END
6
7
  /**
7
8
  * Crash recovery: orphaned worktree cleanup and stale branch pruning.
@@ -22,6 +23,7 @@ import { ownedSessionScope } from '../queries/sessions/sessions.js';
22
23
  import { reconcileOwnedSessions } from '../daemon-state/daemon-instance.js';
23
24
  import { NO_HUMAN_ACT } from '../queries/escalations/filing-observation.js';
24
25
  import { scanAllFocuses } from '../queries/focuses/focuses.js';
26
+ import { extractFocusIdPrefix, extractFocusKeyFromBranch, parseWorktreeList, pruneStaleAgentBranches, readLiveFocusPopulation, populationKeepsWorktree, } from './live-branch-preservation.js';
25
27
  import { ESCALATION_REASONS, ESCALATION_DISPOSITIONS } from '@telora/daemon-core';
26
28
  import { createLogger } from '../log/daemon-log.js';
27
29
  const log = createLogger({ module: 'crash-recovery' });
@@ -44,85 +46,12 @@ export async function resolveFocusByKeyPrefixFromFocuses(keyPrefix, productId) {
44
46
  return null;
45
47
  }
46
48
  }
47
- // ── Helpers ──────────────────────────────────────────────────────
48
- /**
49
- * Extract the focus ID prefix (last 8 hex chars) from a worktree directory name.
50
- * Focus worktree directories follow: agent-{role}-{name}-{8-char-id}
51
- */
52
- function extractFocusIdPrefix(dirName) {
53
- const match = dirName.match(/-([0-9a-f]{8})$/);
54
- return match ? match[1] : null;
55
- }
56
- /**
57
- * Extract the 8-char focus-key suffix from an agent BRANCH name.
58
- * Branch format: agent/<role>/<slug>-<8hexfocuskey>. The final path segment
59
- * carries the same -<8hex> suffix that extractFocusIdPrefix parses off the
60
- * worktree DIRECTORY name, so this is the branch-name analogue used to anchor a
61
- * residual signal back to the owning focus.
62
- */
63
- function extractFocusKeyFromBranch(branchName) {
64
- const lastSegment = branchName.split('/').pop() ?? branchName;
65
- return extractFocusIdPrefix(lastSegment);
66
- }
67
49
  // ── Worktree scanning ────────────────────────────────────────────
68
- /**
69
- * Parse `git worktree list --porcelain` to build a map of
70
- * worktree path -> branch name for all registered worktrees.
71
- */
72
- export function parseWorktreeList(repoPath) {
73
- const result = runGitSync(['worktree', 'list', '--porcelain'], repoPath);
74
- const map = new Map();
75
- if (!result.success)
76
- return map;
77
- let currentPath = null;
78
- for (const line of result.output.split('\n')) {
79
- if (line.startsWith('worktree ')) {
80
- currentPath = line.slice('worktree '.length);
81
- }
82
- else if (line.startsWith('branch refs/heads/') && currentPath) {
83
- map.set(currentPath, line.slice('branch refs/heads/'.length));
84
- currentPath = null;
85
- }
86
- else if (line === '') {
87
- currentPath = null;
88
- }
89
- }
90
- return map;
91
- }
92
- /**
93
- * The 8-char focus-id prefixes whose worktrees are persistent, not orphaned:
94
- * every ACTIVE focus, plus every focus this host holds a pending completion
95
- * merge for (RecoveryDeps.listPendingCompletionFocusIds) -- its completed work
96
- * still has to reach integration from that worktree.
97
- */
98
- async function readPreservedFocusIdPrefixes(config, deps) {
99
- const prefixes = new Set();
100
- try {
101
- const activeFocuses = await deps.getActiveFocuses(config.organizationId, config.productId);
102
- for (const s of activeFocuses) {
103
- prefixes.add(s.focus_id.slice(0, 8));
104
- }
105
- }
106
- catch (err) {
107
- log.warn(`[crash-recovery] Failed to query active focuses: ${err instanceof Error ? err.message : String(err)}. ` +
108
- `Persistent focus worktrees may be incorrectly classified as orphaned.`);
109
- }
110
- for (const focusId of deps.listPendingCompletionFocusIds(config.productId)) {
111
- prefixes.add(focusId.slice(0, 8));
112
- }
113
- return prefixes;
114
- }
115
- /**
116
- * Scan the worktree directory and reconcile against active DB sessions
117
- * to classify each worktree as active or orphaned.
118
- */
119
- export async function detectOrphanedWorktrees(config, deps) {
120
- const { worktreeDir, repoPath } = config;
121
- // 1. Read all subdirectories in worktreeDir
50
+ /** The subdirectories of the worktree dir (none when it does not exist). */
51
+ function listWorktreeSubdirs(worktreeDir) {
122
52
  if (!existsSync(worktreeDir))
123
53
  return [];
124
- const entries = readdirSync(worktreeDir);
125
- const subdirs = entries.filter((entry) => {
54
+ return readdirSync(worktreeDir).filter((entry) => {
126
55
  const fullPath = join(worktreeDir, entry);
127
56
  try {
128
57
  return statSync(fullPath).isDirectory();
@@ -132,6 +61,17 @@ export async function detectOrphanedWorktrees(config, deps) {
132
61
  return false;
133
62
  }
134
63
  });
64
+ }
65
+ /**
66
+ * Scan the worktree directory and reconcile against active DB sessions
67
+ * to classify each worktree as active or orphaned.
68
+ */
69
+ export async function detectOrphanedWorktrees(config, deps,
70
+ /** What must not be removed (readLiveFocusPopulation): read once by recoverFromCrash and shared with the pruner. */
71
+ population) {
72
+ const { worktreeDir, repoPath } = config;
73
+ // 1. Read all subdirectories in worktreeDir
74
+ const subdirs = listWorktreeSubdirs(worktreeDir);
135
75
  if (subdirs.length === 0)
136
76
  return [];
137
77
  // 2. Parse git worktree list to map paths -> branch names
@@ -157,8 +97,9 @@ export async function detectOrphanedWorktrees(config, deps) {
157
97
  for (const session of activeSessions) {
158
98
  branchToSession.set(session.branch_name, session);
159
99
  }
160
- // 3b. Active foci and pending completion merges keep their persistent worktrees.
161
- const activeFocusIdPrefixes = await readPreservedFocusIdPrefixes(config, deps);
100
+ // 3b. Live focuses (the migration branch population) and pending completion
101
+ // merges keep their persistent worktrees.
102
+ const activeFocusIdPrefixes = population.focusIdPrefixes;
162
103
  // 4. Classify each worktree subdirectory
163
104
  const orphans = [];
164
105
  for (const subdir of subdirs) {
@@ -187,12 +128,9 @@ export async function detectOrphanedWorktrees(config, deps) {
187
128
  log.info(`Worktree is active (has DB session): ${fullPath} [${branchName}]`);
188
129
  continue;
189
130
  }
190
- // Check if this worktree belongs to an active focus (persistent worktree)
191
- const idPrefix = extractFocusIdPrefix(subdir);
192
- if (idPrefix && activeFocusIdPrefixes.has(idPrefix)) {
193
- log.info(`Worktree belongs to an active focus or a pending completion merge (persistent): ${fullPath} [${branchName}]`);
131
+ // A live focus's worktree is persistent, merged or not (and an unread population keeps everything).
132
+ if (populationKeepsWorktree(population, subdir, fullPath, branchName))
194
133
  continue;
195
- }
196
134
  // No active session and no active focus — orphaned
197
135
  const session = branchToSession.get(branchName) ?? null;
198
136
  orphans.push({
@@ -283,6 +221,7 @@ function cleanupSingleOrphan(orphan, config, deps, capture) {
283
221
  if (deleteResult.success) {
284
222
  log.info(`Deleted merged branch: ${branchName}`);
285
223
  }
224
+ const branchDeleted = deleteResult.success;
286
225
  return {
287
226
  worktreePath,
288
227
  branchName,
@@ -291,6 +230,7 @@ function cleanupSingleOrphan(orphan, config, deps, capture) {
291
230
  focusKey,
292
231
  worktreeRemoved: true,
293
232
  branchPreserved: false,
233
+ branchDeleted,
294
234
  };
295
235
  }
296
236
  const unmergedCount = countUnmergedCommits(branchName, integrationBranch, repoPath);
@@ -460,64 +400,35 @@ export async function cleanupOrphanedWorktrees(orphans, config, deps) {
460
400
  }
461
401
  return actions;
462
402
  }
463
- // ── Stale branch pruning ─────────────────────────────────────────
464
403
  /**
465
- * List all local branches matching the agent/* pattern.
466
- */
467
- function listAgentBranches(repoPath) {
468
- const result = runGitSync(['branch', '--list', 'agent/*'], repoPath);
469
- if (!result.success)
470
- return [];
471
- return result.output
472
- .split('\n')
473
- .map((line) => line.replace(/^[*+]?\s+/, '').trim())
474
- .filter(Boolean);
475
- }
476
- /**
477
- * Prune stale agent branches that have no worktree and no unmerged commits.
478
- *
479
- * Same housekeeping policy as the orphaned-worktree path: a branch with
480
- * unmerged commits is PRESERVED and LOGGED (the commits are recoverable from
481
- * the ref), never escalated. A merged branch with no worktree is safe to delete.
482
- * No path here files a needs_operator escalation -- branch-only orphans are
483
- * reality-side housekeeping the daemon owns.
404
+ * Step 3 of recovery: prune stale agent branches (keeping every branch the live
405
+ * population names), then record every branch the pass deleted -- merged orphans
406
+ * and pruned branches -- so a migration claim later refused for a missing branch
407
+ * can name what removed it (daemon-state/branch-removal-record.ts).
484
408
  */
485
- export function pruneStaleAgentBranches(config) {
486
- const { repoPath, integrationBranch } = config;
487
- const branches = listAgentBranches(repoPath);
488
- const pruned = [];
489
- const preserved = [];
490
- if (branches.length === 0) {
491
- log.info('No stale agent branches found');
492
- return { pruned, preserved };
409
+ function pruneAndRecordRemovals(config, deps, livePopulation, result) {
410
+ let prunedBranches = [];
411
+ try {
412
+ const { pruned, preserved } = pruneStaleAgentBranches(config, livePopulation);
413
+ prunedBranches = pruned;
414
+ result.branchesPruned = pruned.length;
415
+ result.branchesPreserved = preserved.length;
493
416
  }
494
- // Get set of branches that have active worktrees
495
- const worktreeMap = parseWorktreeList(repoPath);
496
- const worktreeBranches = new Set(worktreeMap.values());
497
- for (const branch of branches) {
498
- // Skip branches with active worktrees
499
- if (worktreeBranches.has(branch))
500
- continue;
501
- // Check for unmerged commits
502
- if (branchHasUnmergedCommits(branch, integrationBranch, repoPath)) {
503
- const focusKey = extractFocusKeyFromBranch(branch);
504
- log.info(`[crash-recovery] Housekeeping: preserving stale branch with unmerged commits: ${branch}` +
505
- (focusKey ? ` (focus-key ${focusKey})` : ''));
506
- preserved.push(branch);
507
- continue;
508
- }
509
- // Safe to delete
510
- const deleteResult = runGitSync(['branch', '-D', branch], repoPath);
511
- if (deleteResult.success) {
512
- log.info(`Pruned stale branch: ${branch}`);
513
- pruned.push(branch);
514
- }
515
- else {
516
- log.warn(`Failed to prune branch ${branch}: ${deleteResult.error}`);
517
- }
417
+ catch (err) {
418
+ const msg = `Failed during branch pruning: ${err instanceof Error ? err.message : String(err)}`;
419
+ log.error(`${msg}`);
420
+ result.errors.push(msg);
518
421
  }
519
- log.info(`[crash-recovery] Branch pruning: ${pruned.length} pruned, ${preserved.length} preserved with unmerged work`);
520
- return { pruned, preserved };
422
+ if (!config.productId)
423
+ return;
424
+ const at = Date.now();
425
+ const removals = [
426
+ ...result.actions
427
+ .filter((a) => a.branchDeleted)
428
+ .map((a) => ({ branch: a.branchName, kind: 'merged_orphan', at })),
429
+ ...prunedBranches.map((branch) => ({ branch, kind: 'stale_branch', at })),
430
+ ];
431
+ deps.recordBranchRemovals(config.productId, removals);
521
432
  }
522
433
  // ── Main recovery orchestrator ───────────────────────────────────
523
434
  /**
@@ -537,10 +448,13 @@ export async function recoverFromCrash(config, deps) {
537
448
  actions: [],
538
449
  errors: [],
539
450
  };
451
+ // Step 0: Read the live focus population ONCE; the worktree classifier and the
452
+ // branch pruner both keep what it names (the migration allocator's rule).
453
+ const livePopulation = await readLiveFocusPopulation(config, deps);
540
454
  // Step 1: Detect orphaned worktrees
541
455
  let orphans;
542
456
  try {
543
- orphans = await detectOrphanedWorktrees(config, deps);
457
+ orphans = await detectOrphanedWorktrees(config, deps, livePopulation);
544
458
  result.orphansDetected = orphans.length;
545
459
  }
546
460
  catch (err) {
@@ -576,17 +490,8 @@ export async function recoverFromCrash(config, deps) {
576
490
  result.errors.push(msg);
577
491
  }
578
492
  }
579
- // Step 3: Prune stale agent branches
580
- try {
581
- const { pruned, preserved } = pruneStaleAgentBranches(config);
582
- result.branchesPruned = pruned.length;
583
- result.branchesPreserved = preserved.length;
584
- }
585
- catch (err) {
586
- const msg = `Failed during branch pruning: ${err instanceof Error ? err.message : String(err)}`;
587
- log.error(`${msg}`);
588
- result.errors.push(msg);
589
- }
493
+ // Step 3: Prune stale agent branches, then record every branch this pass deleted.
494
+ pruneAndRecordRemovals(config, deps, livePopulation, result);
590
495
  // Step 4: Mark remaining active sessions failed (DB-driven reconciliation) -- ones left
591
496
  // behind with no worktree. Every row this pass writes it stamps failed, so it reads only
592
497
  // what we OWN and closes only what is provably STOPPED: see reconcileOwnedSessions.
@@ -1 +1 @@
1
- {"version":3,"file":"crash-recovery.js","sourceRoot":"","sources":["../../src/focus/crash-recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crash-recovery.js","sourceRoot":"","sources":["../../src/focus/crash-recovery.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ import type { TickDeadlineDeps } from './tick-deadline.js';
24
24
  import type { CooperativeStopDeps, ReapDisarmedTeamsDeps } from './control-state.js';
25
25
  import type { ReviewSpawnCoverageDeps } from './review-spawn-coverage.js';
26
26
  import type { UnchangedReviewedHeadDeps } from './unchanged-reviewed-head.js';
27
- import type { StrandedReviewRerouteDeps } from './stranded-review-reroute.js';
27
+ import type { ReviewRefireDeps } from './review-refire-gate.js';
28
28
  import type { SpawnPassContext } from './pending-spawn-pass-deps.js';
29
29
  import type { RespawnGuardDeps } from './focus-respawn-guard.js';
30
30
  import type { CheckVerifyDeliveriesDeps } from './verify-open-issues.js';
@@ -58,8 +58,8 @@ export interface RuntimeContexts {
58
58
  readonly reviewSpawnCoverage: ReviewSpawnCoverageDeps;
59
59
  /** The unchanged-reviewed-range read (focus/unchanged-reviewed-head.ts). */
60
60
  readonly unchangedReviewedHead: UnchangedReviewedHeadDeps;
61
- /** The stranded-review bound's reads and writes, the failed-verdict rework filing included (focus/stranded-review-reroute.ts). */
62
- readonly strandedReviewReroute: StrandedReviewRerouteDeps;
61
+ /** The stranded-review re-fire gate's reads: the gate-verdict hold and the focus's next step (focus/review-refire-gate.ts). */
62
+ readonly reviewRefire: ReviewRefireDeps;
63
63
  /** The two spawn passes' focus reads, team spawn and review-next-step gate (focus/pending-spawn-pass-deps.ts). */
64
64
  readonly spawnPass: SpawnPassContext;
65
65
  /** The pre-spawn respawn guard's escalation lookups (focus/focus-respawn-guard.ts applyRespawnGuard). */
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-contexts-runtime.d.ts","sourceRoot":"","sources":["../../src/focus/daemon-contexts-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-contexts-runtime.d.ts","sourceRoot":"","sources":["../../src/focus/daemon-contexts-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 29 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/focus/daemon-contexts.ts
2
+ // Pinned by: 30 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/focus/daemon-contexts.ts
3
3
  // PINNED-BY-END
4
4
  let installed = null;
5
5
  /** Install the contexts the engine built. Called once, by FocusEngine.init(). */
@@ -1 +1 @@
1
- {"version":3,"file":"directive-executor.d.ts","sourceRoot":"","sources":["../../src/focus/directive-executor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AA4ItE,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqNzE"}
1
+ {"version":3,"file":"directive-executor.d.ts","sourceRoot":"","sources":["../../src/focus/directive-executor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AA4ItE,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiNzE"}
@@ -13,7 +13,7 @@ import { computeDirectiveHash, getPendingSpawnDirective, hasPendingSpawnDirectiv
13
13
  import { fireFocusTransitionTriggers, syncFocusPhase, } from '../directive/phase-sync.js';
14
14
  import { executeDirective, resolveDirectiveExecutionMode, isQuietTerminalStage, runDirectiveWithRetry, escalateDirectiveFailure, directiveConsumesStageEntry, } from '../spawn/directive-dispatch.js';
15
15
  import { isAgentlessDirective } from '../directive/agentless-directive.js';
16
- import { boundStrandedReviewRefire, strandedReviewMayRefire } from './stranded-review-reroute.js';
16
+ import { reviewMayRefire } from './review-refire-gate.js';
17
17
  import { installedDaemonContexts } from './daemon-contexts.js';
18
18
  import { createLogger } from '../log/daemon-log.js';
19
19
  const log = createLogger({ module: 'directive-executor' });
@@ -134,7 +134,7 @@ export async function checkDirectives(config) {
134
134
  // only proceed if this is genuinely a stranded review stage (re-fire);
135
135
  // otherwise leave the edge-trigger skip intact for every other stage.
136
136
  if (alreadyProcessed &&
137
- !await strandedReviewMayRefire(focus, stage?.name, getActiveTeams().has(focus.focus_id), installedDaemonContexts().strandedReviewReroute)) {
137
+ !await reviewMayRefire(focus, stage?.name, getActiveTeams().has(focus.focus_id), installedDaemonContexts().reviewRefire)) {
138
138
  continue;
139
139
  }
140
140
  // Bound the re-fire: if an equivalent spawn directive (same
@@ -162,11 +162,7 @@ export async function checkDirectives(config) {
162
162
  continue;
163
163
  }
164
164
  if (alreadyProcessed) {
165
- // Bounded per unchanged (window, HEAD, verdict): at the bound the
166
- // failure is routed to rework instead of another identical review.
167
- const bounded = await boundStrandedReviewRefire(focus, { productId: product.id, organizationId: pc.organizationId }, installedDaemonContexts().strandedReviewReroute);
168
- if (bounded === 'rerouted')
169
- continue;
165
+ // Bounded by the liveness detector: a review that does not move the focus is reported, not re-fired.
170
166
  log.info(`[directive-executor] Re-firing stranded review directive for "${focus.focus_name}" ` +
171
167
  `(stuck in review with a pending request and no active team)`);
172
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"directive-executor.js","sourceRoot":"","sources":["../../src/focus/directive-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directive-executor.js","sourceRoot":"","sources":["../../src/focus/directive-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * What a coding team for a failed HEAD's rework needs before it can start: the
3
+ * HEAD's rework Bug, on a delivery a coding pass routes. The liveness pass
4
+ * (focus/focus-liveness-pass.ts) calls this when the focus's one next step is that
5
+ * coding team and none has started.
6
+ *
7
+ * Every red verdict at the head owes exactly one rework Bug, keyed on the commit
8
+ * (verify/outcome-routing/verification-rework-issue.ts). So:
9
+ * - a Bug for the HEAD sitting OPEN on a done or paused delivery is filed but
10
+ * routed by nothing -- its owed re-open (verify/outcome-routing/gate-rework-reopen.ts)
11
+ * is retried here, and nothing is filed again;
12
+ * - a Bug for the HEAD anywhere else (open on a routable delivery, or closed) is
13
+ * the decision's to answer -- nothing to do here;
14
+ * - no Bug for the HEAD: it is filed through the SAME per-focus filing every
15
+ * failed-verdict path uses (fileReworkForFailedVerdict: deduped per commit,
16
+ * attributed to one owner, a done or paused owner re-opened with it).
17
+ * Unrelated open work never stands in for it: it names nothing about the red.
18
+ *
19
+ * READY OR NOT. The start answers whether the rework is startable now -- the Bug
20
+ * stands on a routable delivery, or nothing is owed -- and what it did, for the
21
+ * log. A filing that did not land WITHOUT throwing (the focus's deliveries or
22
+ * issues unreadable, the create failed) or a re-open the reconciler did not make
23
+ * is NOT ready: the liveness pass queues no coding team on it and asks again next
24
+ * poll, as the retired failed-head wedge retried them. A throw is not ready either.
25
+ *
26
+ * @module focus/failed-head-rework-start
27
+ */
28
+ import type { CommitVerdict } from '../verify/gate-verdicts/commit-verdict-record.js';
29
+ import { type FailedVerdictReworkResult } from '../verify/outcome-routing/verification-rework-issue.js';
30
+ import { type ReworkDeliveryRow } from '../verify/attribution/rework-attribution.js';
31
+ import type { GateReworkReopen } from '../verify/outcome-routing/gate-rework-reopen.js';
32
+ /** The reads and writes the start takes, every one REQUIRED (composition/runtime-poll-context.ts binds them). */
33
+ export interface FailedHeadReworkStartDeps {
34
+ readCommitVerdict: (productId: string, focusId: string, sha: string) => CommitVerdict | null;
35
+ getFocusDeliveries: (focusId: string) => Promise<ReadonlyArray<{
36
+ id: string;
37
+ executionStatus?: string | null;
38
+ }>>;
39
+ getDeliveryIssues: (deliveryId: string) => Promise<ReadonlyArray<{
40
+ id: string;
41
+ title: string;
42
+ status: string;
43
+ issueType: string;
44
+ }>>;
45
+ /** The per-focus rework filing every failed-verdict path uses (fileReworkForFailedVerdict). */
46
+ fileReworkForFailedVerdict: (focusId: string, verdict: CommitVerdict) => Promise<FailedVerdictReworkResult>;
47
+ /** The re-open a done or paused Bug carrier is owed (gate-rework-reopen.ts reopenForGateRework). */
48
+ reopenForRework: (delivery: ReworkDeliveryRow) => Promise<GateReworkReopen>;
49
+ }
50
+ /** Whether the rework is startable now, and what the start did (module header). */
51
+ export interface FailedHeadReworkStart {
52
+ ready: boolean;
53
+ did: string;
54
+ }
55
+ /** Make the failed HEAD's rework startable (module header). */
56
+ export declare function startFailedHeadRework(target: {
57
+ focusId: string;
58
+ productId: string;
59
+ head: string;
60
+ }, deps: FailedHeadReworkStartDeps): Promise<FailedHeadReworkStart>;
61
+ //# sourceMappingURL=failed-head-rework-start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failed-head-rework-start.d.ts","sourceRoot":"","sources":["../../src/focus/failed-head-rework-start.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAA+B,KAAK,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACrI,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAIxF,iHAAiH;AACjH,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC;IAC7F,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IACjH,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACpI,+FAA+F;IAC/F,0BAA0B,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC5G,oGAAoG;IACpG,eAAe,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC7E;AAmBD,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AASD,+DAA+D;AAC/D,wBAAsB,qBAAqB,CACzC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAchC"}
@@ -0,0 +1,52 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/focus/failed-head-rework-start.test.ts,
3
+ // packages/daemon/src/focus/focus-liveness-pass.test.ts,
4
+ // packages/daemon/src/integration/failed-verdict-review-exit-respawn-regression.test.ts,
5
+ // packages/daemon/src/integration/failed-verdict-review-loop-regression.test.ts,
6
+ // packages/daemon/src/integration/red-head-integration-merge-rework-regression.test.ts
7
+ // PINNED-BY-END
8
+ import { describeFailedVerdictRework } from '../verify/outcome-routing/verification-rework-issue.js';
9
+ import { reopensForRework } from '../verify/attribution/rework-attribution.js';
10
+ import { filterWorkIssues, REWORK_ISSUE_TITLE_PREFIX } from '../types/issue-status.js';
11
+ import { NO_RECORDED_CONCERNS, splitOpenWork } from '../delivery/recorded-concerns.js';
12
+ async function findHeadBug(focusId, head, deps) {
13
+ const prefix = `${REWORK_ISSUE_TITLE_PREFIX} ${head.slice(0, 12)}:`;
14
+ for (const delivery of await deps.getFocusDeliveries(focusId)) {
15
+ const bugs = filterWorkIssues([...await deps.getDeliveryIssues(delivery.id)]).filter((i) => i.title.startsWith(prefix));
16
+ if (bugs.length === 0)
17
+ continue;
18
+ // Owed as work is the one definition; a gate rework Bug is never a recorded concern.
19
+ if (reopensForRework(delivery.executionStatus) && splitOpenWork(bugs, NO_RECORDED_CONCERNS).owed.length > 0) {
20
+ return { kind: 'reopen_owed', carrier: { id: delivery.id, executionStatus: delivery.executionStatus ?? null } };
21
+ }
22
+ return { kind: 'routed' };
23
+ }
24
+ return { kind: 'none' };
25
+ }
26
+ /** A filing that did not land and may land on a retry: unreadable deliveries or issues, or a failed create. */
27
+ function filingLanded(result) {
28
+ if (result.kind === 'deliveries_unreadable')
29
+ return false;
30
+ if (result.kind !== 'offered' || result.outcome.filed)
31
+ return true;
32
+ return result.outcome.reason !== 'read_failed' && result.outcome.reason !== 'create_failed';
33
+ }
34
+ /** Make the failed HEAD's rework startable (module header). */
35
+ export async function startFailedHeadRework(target, deps) {
36
+ const verdict = deps.readCommitVerdict(target.productId, target.focusId, target.head);
37
+ if (verdict?.outcome !== 'failed')
38
+ return { ready: true, did: `no failed verdict is recorded at ${target.head.slice(0, 12)}; nothing to file` };
39
+ const bug = await findHeadBug(target.focusId, target.head, deps);
40
+ if (bug.kind === 'routed')
41
+ return { ready: true, did: 'the HEAD\'s rework Bug is already filed on a routable delivery' };
42
+ if (bug.kind === 'reopen_owed') {
43
+ const outcome = await deps.reopenForRework(bug.carrier);
44
+ return {
45
+ ready: outcome !== 'stays',
46
+ did: `re-opened ${bug.carrier.executionStatus} delivery ${bug.carrier.id}, which carries the HEAD's open rework Bug: ${outcome}`,
47
+ };
48
+ }
49
+ const filed = await deps.fileReworkForFailedVerdict(target.focusId, verdict);
50
+ return { ready: filingLanded(filed), did: describeFailedVerdictRework(filed) };
51
+ }
52
+ //# sourceMappingURL=failed-head-rework-start.js.map