@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 +1 @@
1
- {"version":3,"file":"verification-default-on.js","sourceRoot":"","sources":["../../../src/verify/run-selection/verification-default-on.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-default-on.js","sourceRoot":"","sources":["../../../src/verify/run-selection/verification-default-on.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: 25 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/shortfalls/shortfall-park.ts
2
+ // Pinned by: 27 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/shortfalls/shortfall-park.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * The SHORTFALL PARK: a delivery whose identical verify shortfall re-holds on an
@@ -6,7 +6,7 @@
6
6
  // packages/daemon/src/focus/focus-engine-characterization.test.ts,
7
7
  // packages/daemon/src/focus/focus-poller-auto-advance-teamless-wedge.test.ts,
8
8
  // packages/daemon/src/focus/pending-spawn-verify-hold.test.ts,
9
- // packages/daemon/src/integration/failed-head-wedge-poll.test.ts,
9
+ // packages/daemon/src/integration/focus-liveness-poll.test.ts,
10
10
  // packages/daemon/src/integration/review-request-verdict-composed.test.ts,
11
11
  // packages/daemon/src/merge/merge-back-held-completion-scan.test.ts,
12
12
  // packages/daemon/src/spawn/directive-verify-hold-disposal-convergence.test.ts,
@@ -1 +1 @@
1
- {"version":3,"file":"focus-worktree-state.js","sourceRoot":"","sources":["../../src/worktree/focus-worktree-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-worktree-state.js","sourceRoot":"","sources":["../../src/worktree/focus-worktree-state.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,25 @@ that is no longer armed. A pass that throws for one product is logged and never
153
153
  stops another product's pass; admission fails open on that product's foci at
154
154
  once (see the fail-open rule).
155
155
 
156
+ The head-of-pass run is not the only one. A focus armed or re-armed AFTER the
157
+ poll's pass read the armed set -- most often with a stage directive queued for
158
+ it in the same poll, which the pending-spawn pass acts on later in that poll --
159
+ has no verdict for its current arm. Both spawn passes, ready and pending, admit
160
+ through one rule (`admitThroughTower`, `tower/tower-admission.ts`): when the
161
+ product's pass is standing and no pass of this daemon has computed a verdict for
162
+ the focus under its current `agent_assigned_at`, admission runs that product's
163
+ pass on the spot (`computeTowerVerdictForAdmission`, `tower/tower-pass.ts`;
164
+ the focus counted as wanting a team), writes the product's changed verdicts,
165
+ and admits against the verdict it just computed. So a just-armed focus is held
166
+ from its first poll, whichever pass reaches it, and every re-arm gets its own
167
+ verdict before it can spawn. The daemon logs `[tower] "<focus>": no verdict
168
+ computed for its current arm yet -- computing it before admission`. Pinned by
169
+ `tower/tower-arm-admission.test.ts` (the 2026-10-26 sequence, and each hold
170
+ reason through both paths), `tower/tower-depends-on-admission.test.ts` (an
171
+ unlanded depends_on predecessor, through the production tower read, graph judge
172
+ and git LANDED check, holding both paths until it lands) and
173
+ `tower/tower-entrypoints.test.ts`.
174
+
156
175
  ## The three modes: `TELORA_TOWER_MODE`
157
176
 
158
177
  Declared in `@telora/daemon-core` `env-config.ts`; default **`observe`**.
@@ -171,14 +190,23 @@ most recent pass for the product succeeded, within the freshness bound. When the
171
190
  product's pass fails -- or has not yet succeeded since the daemon started --
172
191
  every verdict of that product is unobeyed AT ONCE, however fresh, and the daemon
173
192
  logs `[tower] "<focus>": its product's tower pass failed -- failing open`.
174
- Another product's holds are untouched. A verdict that is
175
-
176
- - missing,
193
+ Another product's holds are untouched -- and this includes a pass admission ran
194
+ itself for a just-armed focus: if that computation fails, the product's pass is
195
+ failed and the focus spawns.
196
+
197
+ A verdict that is NOT YET COMPUTED -- missing, or computed under an earlier arm
198
+ (its `armedAt` is not the focus's current `agent_assigned_at`), while the
199
+ product's pass stands and no pass of this daemon has seen the current arm -- is
200
+ not a failure of the tower, so admission does not fail open on it: it computes
201
+ the verdict first (see the slot rule above) and admits against that. Only once
202
+ the tower has had its chance is a verdict that is
203
+
204
+ - missing (the pass computed none for this arm, e.g. its inputs could not be judged),
177
205
  - unreadable,
178
206
  - older than the bounded age (`TOWER_VERDICT_MAX_AGE_MS`, 5 minutes), or
179
- - computed under an earlier arm (its `armedAt` is not the focus's current `agent_assigned_at`)
207
+ - computed under an earlier arm although a pass has seen the current one (a read that raced the write)
180
208
 
181
- is NO verdict: the focus spawns exactly as it would with the tower off, the
209
+ NO verdict: the focus spawns exactly as it would with the tower off, the
182
210
  daemon logs `[tower] "<focus>": tower verdict unavailable (<why>) -- failing
183
211
  open`, and the dashboard names it ("Tower verdict unavailable (stale) --
184
212
  spawns as with the tower off"). A tower that stops writing therefore releases
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.24.40",
3
+ "version": "0.24.55",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {
@@ -40,8 +40,8 @@
40
40
  },
41
41
  "//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. Test files live beside the modules they exercise (owner-directory layout); the runner discovers them recursively.",
42
42
  "dependencies": {
43
- "@telora/daemon-core": "^0.3.2",
44
- "@telora/mcp-products": "^0.23.18",
43
+ "@telora/daemon-core": "^0.3.3",
44
+ "@telora/mcp-products": "^0.23.20",
45
45
  "commander": "^14.0.3",
46
46
  "yaml": "^2.4.0",
47
47
  "zod": "^4.3.6"
@@ -1,107 +0,0 @@
1
- import type { PipelineConfig } from '../../types/index.js';
2
- import type { FocusDeliveryAggregatePhase } from '../../supervision/focus-delivery-aggregate-phase.js';
3
- /** The delivery slice the review-next-step question reads (structural). */
4
- export interface ReviewNextStepDelivery {
5
- id: string;
6
- executionStatus?: string | null;
7
- /** The delivery's gate_state, read for a shortfall park; absent reads as not parked. */
8
- gateState?: unknown;
9
- }
10
- /** The issue slice the review-next-step question reads (structural). */
11
- export interface ReviewNextStepIssue {
12
- /** Keys the recorded-concern exclusion; an issue without one is always open work. */
13
- id?: string;
14
- deliveryId: string;
15
- status: string;
16
- issueType: string;
17
- }
18
- /**
19
- * The complete review-next-step decision.
20
- * - not_converged -- the focus is not in phase 'verifying' (nothing active,
21
- * at least one verify): no review window opens here.
22
- * - parked -- converged, and a verify delivery is parked on a
23
- * repeating verify shortfall (verify/shortfalls/shortfall-park.ts)
24
- * while no UNPARKED one owes open work: neither a coding pass
25
- * nor a review is next -- verify re-judging a changed commit
26
- * set (or a ruling) is. No window opens and no coding
27
- * directive spawns. This holds when only SOME are parked,
28
- * too: a review opened for the unparked siblings would
29
- * approve the very head the parked delivery FAILED (or, once
30
- * a sibling moved the head, has no judgment for at all), and
31
- * one head would carry a review approval and a verify failure
32
- * for the same delivery. The park's own escalation
33
- * (verify/shortfalls/shortfall-park-escalation.ts, handed to a
34
- * routing decider at once) names the ruling that releases it;
35
- * the siblings' review waits for that release. When EVERY
36
- * verify delivery is parked the answer is 'parked' before
37
- * enablement or issues are read.
38
- * - review_disabled -- converged, but pipeline_config.review.enabled === false:
39
- * the verify deliveries reach done with no verdict (a parked
40
- * one stays held in verify by its park).
41
- * - open_work -- converged and review-enabled, but an UNPARKED verify
42
- * delivery carries an open Task/Bug (To Do / In Progress /
43
- * Blocked): a coding pass, not a review, is next. Open
44
- * work on a parked delivery is not coding work: nothing
45
- * may route it back to coding until verify releases it.
46
- * A RECORDED CONCERN (delivery/recorded-concerns.ts) is
47
- * not open work: it is not owed, so a verify delivery
48
- * whose only open work is concerns is ready for review.
49
- * - issues_unreadable -- converged and review-enabled, but the issue read
50
- * failed: the decision is unknown; each site fails open
51
- * to its own pre-decision behaviour.
52
- * - concerns_unreadable -- open issues on the verify deliveries, but their
53
- * review-finding classes could not be read: neither
54
- * coding nor review is next until they are -- no window
55
- * opens and no coding pass spawns on a concern.
56
- * - review -- converged, review-enabled, no open work: a review pass
57
- * is the next actionable step.
58
- * The issue list is read ONLY past the convergence + enablement checks, so an
59
- * unconverged or review-disabled focus costs no issue fetch.
60
- */
61
- export type ReviewNextStep<D extends ReviewNextStepDelivery> = {
62
- step: 'not_converged';
63
- } | {
64
- step: 'parked';
65
- verifyDeliveries: D[];
66
- parkedDeliveries: D[];
67
- } | {
68
- step: 'review_disabled';
69
- verifyDeliveries: D[];
70
- } | {
71
- step: 'open_work';
72
- verifyDeliveries: D[];
73
- openIssueCount: number;
74
- } | {
75
- step: 'issues_unreadable';
76
- verifyDeliveries: D[];
77
- error: Error;
78
- } | {
79
- step: 'concerns_unreadable';
80
- verifyDeliveries: D[];
81
- error: Error;
82
- } | {
83
- step: 'review';
84
- verifyDeliveries: D[];
85
- };
86
- /**
87
- * Resolve the review-next-step decision for a focus.
88
- *
89
- * `phase` is the caller's derived focus execution phase. The pending-spawn gate
90
- * derives it with review_requested_at deliberately null (state, not stamp); the
91
- * cascade passes the phase it already derived, whose only difference is that an
92
- * already-stamped window reads 'reviewing' (not_converged: the window is open).
93
- */
94
- export declare function resolveReviewNextStep<D extends ReviewNextStepDelivery>(input: {
95
- phase: FocusDeliveryAggregatePhase;
96
- deliveries: readonly D[];
97
- pipelineConfig: PipelineConfig | null | undefined;
98
- readIssues: () => Promise<readonly ReviewNextStepIssue[]>;
99
- /**
100
- * The focus's recorded concern ids (delivery/recorded-concerns.ts). Read only when
101
- * open work is found, so a clean focus costs no read; a read that throws answers
102
- * concerns_unreadable (the decision waits). Both production sites pass it;
103
- * absent => no concerns (every open issue is work).
104
- */
105
- readConcernIds?: () => Promise<ReadonlySet<string>>;
106
- }): Promise<ReviewNextStep<D>>;
107
- //# sourceMappingURL=review-next-step.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-next-step.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-next-step.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAMvG,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,sBAAsB,IACvD;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,gBAAgB,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC;AAa9C;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,sBAAsB,EAAE,KAAK,EAAE;IACnF,KAAK,EAAE,2BAA2B,CAAC;IACnC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;IACzB,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,UAAU,EAAE,MAAM,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IAC1D;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACrD,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CA+B7B"}
@@ -1,90 +0,0 @@
1
- // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/completion/state-cascade/review-next-step.test.ts,
3
- // packages/daemon/src/focus/parked-shortfall-spawn.test.ts
4
- // PINNED-BY-END
5
- /**
6
- * "Is the next actionable step on this focus a review pass?" -- keyed on delivery
7
- * and issue STATE, never on review_requested_at.
8
- *
9
- * Two sites ask the same question and must not drift:
10
- * - the state cascade (completion/state-cascade/state-cascade.ts checkAutoReview), which OPENS
11
- * the review window when the focus converges on verify; and
12
- * - the pending-spawn pass (focus/pending-spawn-review-next-step.ts), which must
13
- * not spawn a CODING lead into that same state -- a coding lead there has no
14
- * work, holds the focus's single team slot, and deadlocks the review.
15
- *
16
- * Why state and not the stamp: a spawn decision can run BEFORE the cascade stamps
17
- * review_requested_at, while the delivery aggregate that makes the cascade stamp
18
- * the window is already true.
19
- *
20
- * Both sites consume ONE complete decision, resolveReviewNextStep: convergence on
21
- * verify, review enablement, AND the open-work issue matrix -- so a verify
22
- * delivery with a freshly opened Bug reads "coding is next" at both sites. Each
23
- * site maps the outcome onto its own action (and its own fail-open reading of an
24
- * unreadable issue list); the decision itself is here.
25
- *
26
- * History: docs/daemon/history-team-lifecycle.md (completion/state-cascade/review-next-step.ts).
27
- */
28
- import { DELIVERY_STATUS } from '@telora/daemon-core';
29
- import { isReviewEnabled } from '../../workflow/pipeline-config.js';
30
- import { CONTEXT_GROUP_TYPE } from '../../types/issue-status.js';
31
- import { shortfallParkRefusingRework } from '../../verify/shortfalls/shortfall-park.js';
32
- import { NO_RECORDED_CONCERNS, splitOpenWork } from '../../delivery/recorded-concerns.js';
33
- /**
34
- * The work issues (Task/Bug) sitting on the given deliveries, keyed for the owed-work
35
- * split (delivery/recorded-concerns.ts splitOpenWork); an issue without an id never
36
- * matches a recorded concern, so it is owed whenever it is open.
37
- */
38
- function workIssuesOn(verifyIds, issues) {
39
- return issues
40
- .filter((i) => verifyIds.has(i.deliveryId) && i.issueType !== CONTEXT_GROUP_TYPE)
41
- .map((i) => ({ ...i, id: i.id ?? '' }));
42
- }
43
- /**
44
- * Resolve the review-next-step decision for a focus.
45
- *
46
- * `phase` is the caller's derived focus execution phase. The pending-spawn gate
47
- * derives it with review_requested_at deliberately null (state, not stamp); the
48
- * cascade passes the phase it already derived, whose only difference is that an
49
- * already-stamped window reads 'reviewing' (not_converged: the window is open).
50
- */
51
- export async function resolveReviewNextStep(input) {
52
- if (input.phase !== 'verifying')
53
- return { step: 'not_converged' };
54
- const verifyDeliveries = input.deliveries.filter((d) => d.executionStatus === DELIVERY_STATUS.VERIFY);
55
- if (verifyDeliveries.length === 0)
56
- return { step: 'not_converged' };
57
- const parkedDeliveries = verifyDeliveries.filter((d) => shortfallParkRefusingRework(d) !== null);
58
- const unparked = verifyDeliveries.filter((d) => !parkedDeliveries.includes(d));
59
- if (unparked.length === 0)
60
- return { step: 'parked', verifyDeliveries, parkedDeliveries };
61
- if (!isReviewEnabled(input.pipelineConfig))
62
- return { step: 'review_disabled', verifyDeliveries };
63
- let issues;
64
- try {
65
- issues = await input.readIssues();
66
- }
67
- catch (err) {
68
- return { step: 'issues_unreadable', verifyDeliveries, error: err instanceof Error ? err : new Error(String(err)) };
69
- }
70
- const work = workIssuesOn(new Set(unparked.map((d) => d.id)), issues);
71
- const anyOpen = splitOpenWork(work, NO_RECORDED_CONCERNS).open.length > 0;
72
- let concernIds = NO_RECORDED_CONCERNS;
73
- if (anyOpen && input.readConcernIds) {
74
- try {
75
- concernIds = await input.readConcernIds();
76
- }
77
- catch (err) {
78
- // Open issues whose class is unknown: neither coding nor review is next yet (recorded-concerns.ts).
79
- return { step: 'concerns_unreadable', verifyDeliveries, error: err instanceof Error ? err : new Error(String(err)) };
80
- }
81
- }
82
- const openIssueCount = splitOpenWork(work, concernIds).owed.length;
83
- if (openIssueCount > 0)
84
- return { step: 'open_work', verifyDeliveries, openIssueCount };
85
- // A parked sibling's failure stands at this head: no review may approve it (the 'parked' step above).
86
- if (parkedDeliveries.length > 0)
87
- return { step: 'parked', verifyDeliveries, parkedDeliveries };
88
- return { step: 'review', verifyDeliveries };
89
- }
90
- //# sourceMappingURL=review-next-step.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-next-step.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-next-step.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,oFAAoF;AACpF,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAuE1F;;;;GAIG;AACH,SAAS,YAAY,CAAC,SAA8B,EAAE,MAAsC;IAC1F,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,kBAAkB,CAAC;SAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAmC,KAY7E;IACC,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;IACtG,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;IACpE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACzF,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEjG,IAAI,MAAsC,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACrH,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1E,IAAI,UAAU,GAAwB,oBAAoB,CAAC;IAC3D,IAAI,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oGAAoG;YACpG,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACvH,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACnE,IAAI,cAAc,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACvF,sGAAsG;IACtG,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC/F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC"}
@@ -1,124 +0,0 @@
1
- /**
2
- * A failed gate at an armed focus's head never sits idle: the backstop that makes
3
- * it work when every path that should have did not.
4
- *
5
- * THE WEDGE. An armed focus (assigned_agent_role_id set, not operator-stopped)
6
- * whose worktree HEAD carries a FAILED gate verdict, with no review window open
7
- * (review_requested_at null), no live team, and no rework Bug for that commit on
8
- * any of its deliveries. Every red verdict at the head owes exactly one such Bug,
9
- * keyed on the commit -- unrelated open work, even owed work, does not stand in for
10
- * it, because it names nothing about the red. Nothing else files it in that state:
11
- * no review re-fires (no window), and no team is live to be told. Every path that
12
- * routes a failed verdict -- the verification feedback filing, the review exit
13
- * (review-exit-verdict-gate.ts closeFailedVerdictExit), the declined-head path and
14
- * the stranded-review reroute -- files its rework Bug before the window closes; this
15
- * pass is the backstop for any of them dropping it.
16
- *
17
- * WHAT IT DOES. It files the rework Bug for the head's failed verdict through the
18
- * SAME filing those paths use (verify/outcome-routing/verification-rework-issue.ts
19
- * fileReworkForFailedVerdict: deduped per commit across the focus, attributed to
20
- * one owner), and logs that the wedge was found and what the filing did. The owner
21
- * is chosen from every non-cancelled delivery of the focus, whatever status it holds
22
- * at the instant of reading -- a reconciler walk through verify_failed -> coding ->
23
- * verify can leave verify empty for a second, and a done or paused owner is re-opened
24
- * with its Bug. The Bug is owed work, so its delivery is routed on and the next
25
- * coding pass fixes the failure.
26
- *
27
- * A FILED BUG ON A DELIVERY NOTHING ROUTES. The re-open of a done or paused owner is
28
- * a second write after the Bug's create, and the filing settles on the create: a
29
- * re-open that failed leaves the head's Bug OPEN on a done or paused delivery, which
30
- * no pass routes and no spawn reads as work. So a head Bug found open on a done or
31
- * paused delivery is not "filed" here -- its re-open is still owed, and this pass
32
- * retries it (the same re-open, verify/outcome-routing/gate-rework-reopen.ts) every
33
- * FAILED_HEAD_WEDGE_RETRY_MS, naming each attempt, until the delivery leaves done or
34
- * paused. Nothing is filed again: the Bug exists.
35
- *
36
- * WHAT IT NEVER DOES. File on an unarmed or operator-stopped focus (an arm is the
37
- * go-signal for spending a coding pass), on a read-only focus (no gate runs there),
38
- * while a review window is open or a team is live (those own the next step), or
39
- * when the head's commit already carries its rework Bug on the focus (it re-opens
40
- * that Bug's settled carrier instead, above).
41
- *
42
- * Cost: the verdict read is a local file; delivery and issue reads happen only for a
43
- * focus whose head verdict FAILED. Per (focus, head) the filing is attempted at most
44
- * once per FAILED_HEAD_WEDGE_RETRY_MS, and never again once it is filed or found
45
- * already filed (in memory; a restart re-arms it, and the per-commit dedupe holds).
46
- * Best-effort: every failure is logged and the next poll retries.
47
- *
48
- * @module focus/failed-head-wedge
49
- */
50
- import type { CommitVerdict } from '../verify/gate-verdicts/commit-verdict-record.js';
51
- import { type FailedVerdictReworkResult } from '../verify/outcome-routing/verification-rework-issue.js';
52
- import { type ReworkDeliveryRow } from '../verify/attribution/rework-attribution.js';
53
- import type { GateReworkReopen } from '../verify/outcome-routing/gate-rework-reopen.js';
54
- /** Minimum spacing of filing attempts for one (focus, head) the filing did not settle. */
55
- export declare const FAILED_HEAD_WEDGE_RETRY_MS = 60000;
56
- /** The focus slice the pass reads (queries/focuses/focus-discovery.ts ActiveFocusRow). */
57
- export interface WedgeFocusRow {
58
- focus_id: string;
59
- focus_name: string;
60
- assigned_agent_role_id: string | null;
61
- operator_stopped_at?: string | null;
62
- review_requested_at: string | null;
63
- read_only?: boolean | null;
64
- }
65
- /** The pass's collaborators, every one REQUIRED (composition/runtime-poll-context.ts binds them). */
66
- export interface FailedHeadWedgeDeps {
67
- getActiveFocuses: (organizationId: string, productId: string) => Promise<readonly WedgeFocusRow[]>;
68
- /** Whether a team process is live for the focus on this host (daemon-state getActiveTeams). */
69
- hasLiveTeam: (focusId: string) => boolean;
70
- /** The focus worktree HEAD, or null when unreadable. */
71
- resolveJudgedCommit: (focusId: string) => string | null;
72
- readCommitVerdict: (productId: string, focusId: string, sha: string) => CommitVerdict | null;
73
- getFocusDeliveries: (focusId: string) => Promise<ReadonlyArray<{
74
- id: string;
75
- executionStatus?: string | null;
76
- }>>;
77
- getDeliveryIssues: (deliveryId: string) => Promise<ReadonlyArray<{
78
- id: string;
79
- title: string;
80
- status: string;
81
- issueType: string;
82
- }>>;
83
- /** The per-focus rework filing every failed-verdict path uses (fileReworkForFailedVerdict). */
84
- fileReworkForFailedVerdict: (focusId: string, verdict: CommitVerdict) => Promise<FailedVerdictReworkResult>;
85
- /** The re-open the filing owes a done or paused Bug carrier (gate-rework-reopen.ts reopenForGateRework). */
86
- reopenForRework: (delivery: ReworkDeliveryRow) => Promise<GateReworkReopen>;
87
- now: () => number;
88
- }
89
- /** Test seam: forget every attempt. */
90
- export declare function __resetFailedHeadWedgeForTests(): void;
91
- /**
92
- * Why a focus is not in the wedge, or the failed verdict that wedges it -- with
93
- * `reopenOwed` when its Bug is filed but sits open on a done or paused delivery
94
- * whose re-open never landed. Never throws.
95
- */
96
- export type WedgeReading = {
97
- wedged: false;
98
- why: 'unarmed' | 'read_only' | 'review_window' | 'live_team' | 'no_head' | 'head_not_failed' | 'rework_filed' | 'unreadable';
99
- } | {
100
- wedged: true;
101
- head: string;
102
- verdict: CommitVerdict;
103
- reopenOwed?: undefined;
104
- } | {
105
- wedged: true;
106
- head: string;
107
- verdict: CommitVerdict;
108
- reopenOwed: ReworkDeliveryRow;
109
- };
110
- /** Read whether one focus is in the failed-head wedge (module header). Never throws. */
111
- export declare function readFailedHeadWedge(focus: WedgeFocusRow, productId: string, deps: FailedHeadWedgeDeps): Promise<WedgeReading>;
112
- /**
113
- * The backstop pass over one product's active focuses (module header). Returns the
114
- * filing result per focus it filed for (a retried re-open files nothing, and is
115
- * logged). Never throws.
116
- */
117
- export declare function fileReworkForFailedHeadWedges(config: {
118
- organizationId: string;
119
- productId: string;
120
- }, deps: FailedHeadWedgeDeps): Promise<Array<{
121
- focusId: string;
122
- result: FailedVerdictReworkResult;
123
- }>>;
124
- //# sourceMappingURL=failed-head-wedge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"failed-head-wedge.d.ts","sourceRoot":"","sources":["../../src/focus/failed-head-wedge.ts"],"names":[],"mappings":"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"}
@@ -1,120 +0,0 @@
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-wedge.test.ts,
3
- // packages/daemon/src/integration/red-head-integration-merge-rework-regression.test.ts
4
- // PINNED-BY-END
5
- import { describeFailedVerdictRework, } from '../verify/outcome-routing/verification-rework-issue.js';
6
- import { reopensForRework } from '../verify/attribution/rework-attribution.js';
7
- import { filterWorkIssues, REWORK_ISSUE_TITLE_PREFIX } from '../types/issue-status.js';
8
- import { NO_RECORDED_CONCERNS, splitOpenWork } from '../delivery/recorded-concerns.js';
9
- import { createLogger } from '../log/daemon-log.js';
10
- const log = createLogger({ module: 'focus-poller' });
11
- /** Minimum spacing of filing attempts for one (focus, head) the filing did not settle. */
12
- export const FAILED_HEAD_WEDGE_RETRY_MS = 60_000;
13
- /** `${focusId}@${sha}` -> settled (filed / already filed) or the last attempt time. */
14
- const attempts = new Map();
15
- /** Test seam: forget every attempt. */
16
- export function __resetFailedHeadWedgeForTests() {
17
- attempts.clear();
18
- }
19
- /** Read whether one focus is in the failed-head wedge (module header). Never throws. */
20
- export async function readFailedHeadWedge(focus, productId, deps) {
21
- if (!focus.assigned_agent_role_id || focus.operator_stopped_at)
22
- return { wedged: false, why: 'unarmed' };
23
- if (focus.read_only === true)
24
- return { wedged: false, why: 'read_only' };
25
- if (focus.review_requested_at)
26
- return { wedged: false, why: 'review_window' };
27
- if (deps.hasLiveTeam(focus.focus_id))
28
- return { wedged: false, why: 'live_team' };
29
- try {
30
- const head = deps.resolveJudgedCommit(focus.focus_id);
31
- if (!head)
32
- return { wedged: false, why: 'no_head' };
33
- const verdict = deps.readCommitVerdict(productId, focus.focus_id, head);
34
- if (verdict?.outcome !== 'failed')
35
- return { wedged: false, why: 'head_not_failed' };
36
- // The head commit's rework Bug, open or closed, anywhere on the focus: filed already --
37
- // unless it sits open on a done or paused delivery, whose owed re-open never landed.
38
- const commitPrefix = `${REWORK_ISSUE_TITLE_PREFIX} ${head.slice(0, 12)}:`;
39
- for (const delivery of await deps.getFocusDeliveries(focus.focus_id)) {
40
- const bugs = filterWorkIssues([...await deps.getDeliveryIssues(delivery.id)]).filter((i) => i.title.startsWith(commitPrefix));
41
- if (bugs.length === 0)
42
- continue;
43
- // Owed as work is the one definition; a gate rework Bug is never a recorded concern.
44
- if (reopensForRework(delivery.executionStatus) && splitOpenWork(bugs, NO_RECORDED_CONCERNS).owed.length > 0) {
45
- return { wedged: true, head, verdict, reopenOwed: { id: delivery.id, executionStatus: delivery.executionStatus ?? null } };
46
- }
47
- return { wedged: false, why: 'rework_filed' };
48
- }
49
- return { wedged: true, head, verdict };
50
- }
51
- catch (err) {
52
- log.warn(`[focus-poller] failed-head wedge check unreadable for "${focus.focus_name}" (retried next poll): ${err.message}`);
53
- return { wedged: false, why: 'unreadable' };
54
- }
55
- }
56
- /**
57
- * Retry the re-open a filed Bug's done or paused carrier is owed (module header),
58
- * naming what it did. Never throws: a failure is retried after the spacing.
59
- */
60
- async function retryOwedReopen(focus, head, carrier, deps) {
61
- const what = `"${focus.focus_name}": the rework Bug for its FAILED head ${head.slice(0, 12)} sits open on `
62
- + `${carrier.executionStatus} delivery ${carrier.id}, which was never re-opened (no team routes it)`;
63
- try {
64
- const outcome = await deps.reopenForRework(carrier);
65
- log.warn(`[focus-poller] ${what} -- re-open retried: ${outcome}`);
66
- }
67
- catch (err) {
68
- log.warn(`[focus-poller] ${what} -- re-open failed again (retried in ${FAILED_HEAD_WEDGE_RETRY_MS / 1000}s): ${err.message}`);
69
- }
70
- }
71
- /**
72
- * The backstop pass over one product's active focuses (module header). Returns the
73
- * filing result per focus it filed for (a retried re-open files nothing, and is
74
- * logged). Never throws.
75
- */
76
- export async function fileReworkForFailedHeadWedges(config, deps) {
77
- const acted = [];
78
- let focuses;
79
- try {
80
- focuses = await deps.getActiveFocuses(config.organizationId, config.productId);
81
- }
82
- catch (err) {
83
- log.warn(`[focus-poller] failed-head wedge pass: active focuses unreadable (retried next poll): ${err.message}`);
84
- return acted;
85
- }
86
- for (const focus of focuses) {
87
- const reading = await readFailedHeadWedge(focus, config.productId, deps);
88
- if (!reading.wedged)
89
- continue;
90
- const now = deps.now();
91
- if (reading.reopenOwed) {
92
- // Spaced, never settled: the carrier leaving done or paused is what ends it.
93
- const reopenKey = `${focus.focus_id}@${reading.head}#reopen`;
94
- const last = attempts.get(reopenKey);
95
- if (last && now - last.at < FAILED_HEAD_WEDGE_RETRY_MS)
96
- continue;
97
- attempts.set(reopenKey, { settled: false, at: now });
98
- await retryOwedReopen(focus, reading.head, reading.reopenOwed, deps);
99
- continue;
100
- }
101
- const key = `${focus.focus_id}@${reading.head}`;
102
- const prior = attempts.get(key);
103
- if (prior?.settled || (prior && now - prior.at < FAILED_HEAD_WEDGE_RETRY_MS))
104
- continue;
105
- try {
106
- const result = await deps.fileReworkForFailedVerdict(focus.focus_id, reading.verdict);
107
- const settled = result.kind === 'offered' && (result.outcome.filed || result.outcome.reason === 'already_filed');
108
- attempts.set(key, { settled, at: now });
109
- acted.push({ focusId: focus.focus_id, result });
110
- log.warn(`[focus-poller] "${focus.focus_name}" was WEDGED: armed, FAILED gate verdict at its head ${reading.head.slice(0, 12)}, ` +
111
- `no review window, no live team, no rework Bug for it yet -- ${describeFailedVerdictRework(result)}`);
112
- }
113
- catch (err) {
114
- attempts.set(key, { settled: false, at: now });
115
- log.warn(`[focus-poller] "${focus.focus_name}": failed-head wedge rework filing failed (retried): ${err.message}`);
116
- }
117
- }
118
- return acted;
119
- }
120
- //# sourceMappingURL=failed-head-wedge.js.map