@telora/daemon 0.24.25 → 0.24.26

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 (375) hide show
  1. package/build-info.json +9 -3
  2. package/dist/audit/audit-prompt.d.ts.map +1 -1
  3. package/dist/audit/audit-prompt.js +15 -0
  4. package/dist/audit/audit-prompt.js.map +1 -1
  5. package/dist/completion/completion-event/event.d.ts +4 -3
  6. package/dist/completion/completion-event/event.d.ts.map +1 -1
  7. package/dist/completion/completion-event/event.js.map +1 -1
  8. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts +19 -11
  9. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts.map +1 -1
  10. package/dist/completion/review-cycle-budget/review-cycle-cap.js +36 -36
  11. package/dist/completion/review-cycle-budget/review-cycle-cap.js.map +1 -1
  12. package/dist/completion/review-cycle-budget/review-loop-detection.d.ts +101 -0
  13. package/dist/completion/review-cycle-budget/review-loop-detection.d.ts.map +1 -0
  14. package/dist/completion/review-cycle-budget/review-loop-detection.js +105 -0
  15. package/dist/completion/review-cycle-budget/review-loop-detection.js.map +1 -0
  16. package/dist/completion/review-cycle-budget/spent-budget-release.d.ts +70 -0
  17. package/dist/completion/review-cycle-budget/spent-budget-release.d.ts.map +1 -0
  18. package/dist/completion/review-cycle-budget/spent-budget-release.js +98 -0
  19. package/dist/completion/review-cycle-budget/spent-budget-release.js.map +1 -0
  20. package/dist/completion/review-exit/review-defect-detector.d.ts +71 -49
  21. package/dist/completion/review-exit/review-defect-detector.d.ts.map +1 -1
  22. package/dist/completion/review-exit/review-defect-detector.js +75 -69
  23. package/dist/completion/review-exit/review-defect-detector.js.map +1 -1
  24. package/dist/completion/review-exit/review-exit-attribution.d.ts +1 -1
  25. package/dist/completion/review-exit/review-exit-attribution.js +1 -1
  26. package/dist/completion/review-exit/review-exit-deps.d.ts +5 -2
  27. package/dist/completion/review-exit/review-exit-deps.d.ts.map +1 -1
  28. package/dist/completion/review-exit/review-exit-deps.js +1 -1
  29. package/dist/completion/review-exit/review-exit-evidence.d.ts +10 -1
  30. package/dist/completion/review-exit/review-exit-evidence.d.ts.map +1 -1
  31. package/dist/completion/review-exit/review-exit-evidence.js +17 -14
  32. package/dist/completion/review-exit/review-exit-evidence.js.map +1 -1
  33. package/dist/completion/review-exit/review-exit-foreign-findings.d.ts +1 -1
  34. package/dist/completion/review-exit/review-exit-foreign-findings.d.ts.map +1 -1
  35. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  36. package/dist/completion/review-exit/review-exit-phase.js +12 -8
  37. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  38. package/dist/completion/state-cascade/review-next-step.d.ts +12 -3
  39. package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
  40. package/dist/completion/state-cascade/review-next-step.js +10 -1
  41. package/dist/completion/state-cascade/review-next-step.js.map +1 -1
  42. package/dist/completion/state-cascade/standing-approval-convergence.d.ts +1 -1
  43. package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
  44. package/dist/completion/state-cascade/standing-approval-convergence.js +10 -4
  45. package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
  46. package/dist/completion/state-cascade/state-cascade.d.ts +3 -0
  47. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  48. package/dist/completion/state-cascade/state-cascade.js +16 -1
  49. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  50. package/dist/completion/team-exit/status-advance-phase.d.ts +1 -1
  51. package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
  52. package/dist/completion/team-exit/status-advance-phase.js +6 -4
  53. package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
  54. package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
  55. package/dist/completion/team-outcome/apply-turn.js +9 -4
  56. package/dist/completion/team-outcome/apply-turn.js.map +1 -1
  57. package/dist/completion/team-outcome/decide-turn-entry-rows.d.ts.map +1 -1
  58. package/dist/completion/team-outcome/decide-turn-entry-rows.js +28 -3
  59. package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
  60. package/dist/completion/team-outcome/decide.d.ts.map +1 -1
  61. package/dist/completion/team-outcome/decide.js +1 -0
  62. package/dist/completion/team-outcome/decide.js.map +1 -1
  63. package/dist/completion/team-outcome/exit-limits.d.ts +6 -0
  64. package/dist/completion/team-outcome/exit-limits.d.ts.map +1 -1
  65. package/dist/completion/team-outcome/exit-limits.js +6 -0
  66. package/dist/completion/team-outcome/exit-limits.js.map +1 -1
  67. package/dist/completion/team-outcome/exit-pipeline-state.d.ts +5 -0
  68. package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
  69. package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
  70. package/dist/completion/team-teardown/session-hold-bounds.d.ts +10 -1
  71. package/dist/completion/team-teardown/session-hold-bounds.d.ts.map +1 -1
  72. package/dist/completion/team-teardown/session-hold-bounds.js +11 -0
  73. package/dist/completion/team-teardown/session-hold-bounds.js.map +1 -1
  74. package/dist/completion/team-teardown/session-hold.d.ts.map +1 -1
  75. package/dist/completion/team-teardown/session-hold.js +2 -0
  76. package/dist/completion/team-teardown/session-hold.js.map +1 -1
  77. package/dist/composition/engine-start-context.d.ts.map +1 -1
  78. package/dist/composition/engine-start-context.js +9 -1
  79. package/dist/composition/engine-start-context.js.map +1 -1
  80. package/dist/composition/execution-spawn-context.d.ts.map +1 -1
  81. package/dist/composition/execution-spawn-context.js +2 -0
  82. package/dist/composition/execution-spawn-context.js.map +1 -1
  83. package/dist/composition/judgement-contexts.d.ts.map +1 -1
  84. package/dist/composition/judgement-contexts.js +8 -2
  85. package/dist/composition/judgement-contexts.js.map +1 -1
  86. package/dist/composition/review-exit-context.d.ts.map +1 -1
  87. package/dist/composition/review-exit-context.js +2 -0
  88. package/dist/composition/review-exit-context.js.map +1 -1
  89. package/dist/composition/review-loop-context.d.ts +28 -0
  90. package/dist/composition/review-loop-context.d.ts.map +1 -0
  91. package/dist/composition/review-loop-context.js +147 -0
  92. package/dist/composition/review-loop-context.js.map +1 -0
  93. package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
  94. package/dist/composition/runtime-heartbeat-context.js +8 -2
  95. package/dist/composition/runtime-heartbeat-context.js.map +1 -1
  96. package/dist/composition/spawn-pass-deps.d.ts.map +1 -1
  97. package/dist/composition/spawn-pass-deps.js +3 -0
  98. package/dist/composition/spawn-pass-deps.js.map +1 -1
  99. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  100. package/dist/composition/state-cascade-context.js +3 -1
  101. package/dist/composition/state-cascade-context.js.map +1 -1
  102. package/dist/composition/tower-escalation-context.d.ts +12 -0
  103. package/dist/composition/tower-escalation-context.d.ts.map +1 -0
  104. package/dist/composition/tower-escalation-context.js +109 -0
  105. package/dist/composition/tower-escalation-context.js.map +1 -0
  106. package/dist/composition/workstation-intervals-context.d.ts +3 -0
  107. package/dist/composition/workstation-intervals-context.d.ts.map +1 -0
  108. package/dist/composition/workstation-intervals-context.js +33 -0
  109. package/dist/composition/workstation-intervals-context.js.map +1 -0
  110. package/dist/daemon-state/awaiting-slot.d.ts +18 -1
  111. package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
  112. package/dist/daemon-state/awaiting-slot.js +7 -0
  113. package/dist/daemon-state/awaiting-slot.js.map +1 -1
  114. package/dist/delivery/delivery-reconciler.d.ts +7 -7
  115. package/dist/delivery/recorded-concerns.d.ts +63 -28
  116. package/dist/delivery/recorded-concerns.d.ts.map +1 -1
  117. package/dist/delivery/recorded-concerns.js +72 -28
  118. package/dist/delivery/recorded-concerns.js.map +1 -1
  119. package/dist/directive/directive-queue.d.ts +8 -0
  120. package/dist/directive/directive-queue.d.ts.map +1 -1
  121. package/dist/directive/directive-queue.js +1 -1
  122. package/dist/directive/directive-queue.js.map +1 -1
  123. package/dist/focus/control-state.d.ts +6 -4
  124. package/dist/focus/control-state.d.ts.map +1 -1
  125. package/dist/focus/control-state.js +6 -4
  126. package/dist/focus/control-state.js.map +1 -1
  127. package/dist/focus/daemon-contexts-judgement.d.ts +6 -0
  128. package/dist/focus/daemon-contexts-judgement.d.ts.map +1 -1
  129. package/dist/focus/daemon-contexts.d.ts +6 -0
  130. package/dist/focus/daemon-contexts.d.ts.map +1 -1
  131. package/dist/focus/daemon-contexts.js.map +1 -1
  132. package/dist/focus/focus-engine.d.ts.map +1 -1
  133. package/dist/focus/focus-engine.js +3 -1
  134. package/dist/focus/focus-engine.js.map +1 -1
  135. package/dist/focus/focus-executor.d.ts.map +1 -1
  136. package/dist/focus/focus-executor.js +3 -2
  137. package/dist/focus/focus-executor.js.map +1 -1
  138. package/dist/focus/focus-loop-registry.d.ts.map +1 -1
  139. package/dist/focus/focus-loop-registry.js +42 -0
  140. package/dist/focus/focus-loop-registry.js.map +1 -1
  141. package/dist/focus/focus-poller-auto-advance.d.ts +4 -2
  142. package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
  143. package/dist/focus/focus-poller-auto-advance.js +24 -18
  144. package/dist/focus/focus-poller-auto-advance.js.map +1 -1
  145. package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
  146. package/dist/focus/focus-poller-spawn.js +8 -6
  147. package/dist/focus/focus-poller-spawn.js.map +1 -1
  148. package/dist/focus/heartbeat.d.ts +9 -2
  149. package/dist/focus/heartbeat.d.ts.map +1 -1
  150. package/dist/focus/heartbeat.js +9 -1
  151. package/dist/focus/heartbeat.js.map +1 -1
  152. package/dist/focus/pending-directive-gates.d.ts +14 -0
  153. package/dist/focus/pending-directive-gates.d.ts.map +1 -1
  154. package/dist/focus/pending-directive-gates.js +25 -1
  155. package/dist/focus/pending-directive-gates.js.map +1 -1
  156. package/dist/focus/pending-spawn-pass-deps.d.ts +7 -0
  157. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  158. package/dist/focus/pending-spawn-review-next-step.d.ts +1 -1
  159. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  160. package/dist/focus/pending-spawn-review-next-step.js +2 -0
  161. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  162. package/dist/focus/ready-focus-team-work.d.ts +9 -4
  163. package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
  164. package/dist/focus/ready-focus-team-work.js +14 -3
  165. package/dist/focus/ready-focus-team-work.js.map +1 -1
  166. package/dist/focus/verify-open-issues.d.ts +3 -2
  167. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  168. package/dist/focus/verify-open-issues.js +6 -4
  169. package/dist/focus/verify-open-issues.js.map +1 -1
  170. package/dist/focus/workstation-intervals.d.ts +83 -0
  171. package/dist/focus/workstation-intervals.d.ts.map +1 -0
  172. package/dist/focus/workstation-intervals.js +81 -0
  173. package/dist/focus/workstation-intervals.js.map +1 -0
  174. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +5 -2
  175. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  176. package/dist/focus-stage-lifecycle/wedge-watchdog.js +2 -2
  177. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  178. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  179. package/dist/prompt-sections/persona-sections.js +4 -1
  180. package/dist/prompt-sections/persona-sections.js.map +1 -1
  181. package/dist/prompt-sections/qa-author-section.d.ts.map +1 -1
  182. package/dist/prompt-sections/qa-author-section.js +18 -1
  183. package/dist/prompt-sections/qa-author-section.js.map +1 -1
  184. package/dist/prompt-sections/scoping-sections.d.ts +0 -12
  185. package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
  186. package/dist/prompt-sections/scoping-sections.js +16 -2
  187. package/dist/prompt-sections/scoping-sections.js.map +1 -1
  188. package/dist/prompts/bounded-universals.d.ts +13 -0
  189. package/dist/prompts/bounded-universals.d.ts.map +1 -0
  190. package/dist/prompts/bounded-universals.js +32 -0
  191. package/dist/prompts/bounded-universals.js.map +1 -0
  192. package/dist/queries/api-client/shared.d.ts +2 -1
  193. package/dist/queries/api-client/shared.d.ts.map +1 -1
  194. package/dist/queries/api-client/shared.js +31 -1
  195. package/dist/queries/api-client/shared.js.map +1 -1
  196. package/dist/queries/deliveries/issues.d.ts.map +1 -1
  197. package/dist/queries/deliveries/issues.js +1 -0
  198. package/dist/queries/deliveries/issues.js.map +1 -1
  199. package/dist/queries/escalations/escalation-consumption.d.ts +13 -0
  200. package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
  201. package/dist/queries/escalations/escalation-consumption.js +12 -2
  202. package/dist/queries/escalations/escalation-consumption.js.map +1 -1
  203. package/dist/queries/escalations/tower-escalations.d.ts +82 -0
  204. package/dist/queries/escalations/tower-escalations.d.ts.map +1 -0
  205. package/dist/queries/escalations/tower-escalations.js +97 -0
  206. package/dist/queries/escalations/tower-escalations.js.map +1 -0
  207. package/dist/queries/focus-review/recorded-concern-ids.d.ts +48 -11
  208. package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -1
  209. package/dist/queries/focus-review/recorded-concern-ids.js +42 -12
  210. package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -1
  211. package/dist/queries/focus-review/review-criterion-verdicts.d.ts +37 -0
  212. package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -0
  213. package/dist/queries/focus-review/review-criterion-verdicts.js +64 -0
  214. package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -0
  215. package/dist/queries/focus-review/review-finding-facts.d.ts +18 -6
  216. package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
  217. package/dist/queries/focus-review/review-finding-facts.js +21 -8
  218. package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
  219. package/dist/queries/focuses/ended-arm.d.ts +56 -13
  220. package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
  221. package/dist/queries/focuses/ended-arm.js +40 -14
  222. package/dist/queries/focuses/ended-arm.js.map +1 -1
  223. package/dist/queries/focuses/focus-criteria-standing.d.ts +12 -0
  224. package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
  225. package/dist/queries/focuses/focus-criteria-standing.js +13 -0
  226. package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
  227. package/dist/queries/focuses/focus-discovery.d.ts +14 -3
  228. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  229. package/dist/queries/focuses/focus-discovery.js +2 -19
  230. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  231. package/dist/queries/focuses/focuses.d.ts +15 -12
  232. package/dist/queries/focuses/focuses.d.ts.map +1 -1
  233. package/dist/queries/focuses/focuses.js +15 -13
  234. package/dist/queries/focuses/focuses.js.map +1 -1
  235. package/dist/queries/sessions/sessions.d.ts.map +1 -1
  236. package/dist/queries/sessions/sessions.js +2 -1
  237. package/dist/queries/sessions/sessions.js.map +1 -1
  238. package/dist/queries/tower-decisions/tower-decisions.d.ts +103 -0
  239. package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -0
  240. package/dist/queries/tower-decisions/tower-decisions.js +138 -0
  241. package/dist/queries/tower-decisions/tower-decisions.js.map +1 -0
  242. package/dist/queries/wire-schemas/schemas.d.ts +2 -0
  243. package/dist/queries/wire-schemas/schemas.d.ts.map +1 -1
  244. package/dist/queries/wire-schemas/schemas.js +8 -2
  245. package/dist/queries/wire-schemas/schemas.js.map +1 -1
  246. package/dist/queries/workstation-intervals/workstation-intervals.d.ts +52 -0
  247. package/dist/queries/workstation-intervals/workstation-intervals.d.ts.map +1 -0
  248. package/dist/queries/workstation-intervals/workstation-intervals.js +49 -0
  249. package/dist/queries/workstation-intervals/workstation-intervals.js.map +1 -0
  250. package/dist/resolvers/escalation-answers.d.ts +31 -0
  251. package/dist/resolvers/escalation-answers.d.ts.map +1 -1
  252. package/dist/resolvers/escalation-answers.js +31 -17
  253. package/dist/resolvers/escalation-answers.js.map +1 -1
  254. package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
  255. package/dist/resolvers/focus-criteria-standing.js +20 -0
  256. package/dist/resolvers/focus-criteria-standing.js.map +1 -1
  257. package/dist/shell/unified-engine-lifecycle.d.ts +11 -1
  258. package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -1
  259. package/dist/shell/unified-engine-lifecycle.js +10 -1
  260. package/dist/shell/unified-engine-lifecycle.js.map +1 -1
  261. package/dist/spawn/directive-dispatch.d.ts.map +1 -1
  262. package/dist/spawn/directive-dispatch.js +1 -0
  263. package/dist/spawn/directive-dispatch.js.map +1 -1
  264. package/dist/spawn/lead-continuation.d.ts +4 -3
  265. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  266. package/dist/spawn/lead-continuation.js.map +1 -1
  267. package/dist/spawn/live-answer-delivery.d.ts +53 -0
  268. package/dist/spawn/live-answer-delivery.d.ts.map +1 -0
  269. package/dist/spawn/live-answer-delivery.js +26 -0
  270. package/dist/spawn/live-answer-delivery.js.map +1 -0
  271. package/dist/spawn/routing-decider-spawn.d.ts +64 -2
  272. package/dist/spawn/routing-decider-spawn.d.ts.map +1 -1
  273. package/dist/spawn/routing-decider-spawn.js +65 -20
  274. package/dist/spawn/routing-decider-spawn.js.map +1 -1
  275. package/dist/spawn/worktree-session.d.ts +7 -5
  276. package/dist/spawn/worktree-session.d.ts.map +1 -1
  277. package/dist/spawn/worktree-session.js +11 -7
  278. package/dist/spawn/worktree-session.js.map +1 -1
  279. package/dist/supervision/review-cycle-cap-hold.d.ts +11 -5
  280. package/dist/supervision/review-cycle-cap-hold.d.ts.map +1 -1
  281. package/dist/supervision/review-cycle-cap-hold.js +29 -11
  282. package/dist/supervision/review-cycle-cap-hold.js.map +1 -1
  283. package/dist/supervision/review-loop-detector.d.ts +48 -0
  284. package/dist/supervision/review-loop-detector.d.ts.map +1 -0
  285. package/dist/supervision/review-loop-detector.js +13 -0
  286. package/dist/supervision/review-loop-detector.js.map +1 -0
  287. package/dist/supervision/review-loop-hold.d.ts +29 -0
  288. package/dist/supervision/review-loop-hold.d.ts.map +1 -0
  289. package/dist/supervision/review-loop-hold.js +99 -0
  290. package/dist/supervision/review-loop-hold.js.map +1 -0
  291. package/dist/supervision/stall-detector-config.d.ts +8 -0
  292. package/dist/supervision/stall-detector-config.d.ts.map +1 -1
  293. package/dist/supervision/stall-detector-config.js +14 -3
  294. package/dist/supervision/stall-detector-config.js.map +1 -1
  295. package/dist/supervision/stop-registry.d.ts +3 -0
  296. package/dist/supervision/stop-registry.d.ts.map +1 -1
  297. package/dist/supervision/stop-registry.js +3 -1
  298. package/dist/supervision/stop-registry.js.map +1 -1
  299. package/dist/supervision/stop-rows-review-loop.d.ts +35 -0
  300. package/dist/supervision/stop-rows-review-loop.d.ts.map +1 -0
  301. package/dist/supervision/stop-rows-review-loop.js +150 -0
  302. package/dist/supervision/stop-rows-review-loop.js.map +1 -0
  303. package/dist/supervision/stop-rows-team-session.d.ts +1 -1
  304. package/dist/supervision/stop-rows-team-session.d.ts.map +1 -1
  305. package/dist/supervision/stop-rows-team-session.js.map +1 -1
  306. package/dist/supervision/unreviewed-settle-detector.d.ts +7 -2
  307. package/dist/supervision/unreviewed-settle-detector.d.ts.map +1 -1
  308. package/dist/supervision/unreviewed-settle-detector.js +15 -2
  309. package/dist/supervision/unreviewed-settle-detector.js.map +1 -1
  310. package/dist/templates/agents-md.d.ts.map +1 -1
  311. package/dist/templates/agents-md.js +1 -0
  312. package/dist/templates/agents-md.js.map +1 -1
  313. package/dist/templates/claude-md.d.ts +1 -1
  314. package/dist/templates/claude-md.d.ts.map +1 -1
  315. package/dist/templates/claude-md.js +12 -0
  316. package/dist/templates/claude-md.js.map +1 -1
  317. package/dist/testing/fixtures/api-client.js +1 -1
  318. package/dist/testing/fixtures/index.js +1 -1
  319. package/dist/testing/fixtures/pending-spawn-world.d.ts +4 -0
  320. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  321. package/dist/testing/fixtures/pending-spawn-world.js +15 -2
  322. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  323. package/dist/testing/fixtures/recording-api-client.js +1 -1
  324. package/dist/testing/fixtures/review-exit-deps.d.ts.map +1 -1
  325. package/dist/testing/fixtures/review-exit-deps.js +3 -1
  326. package/dist/testing/fixtures/review-exit-deps.js.map +1 -1
  327. package/dist/testing/fixtures/review-loop.d.ts +19 -0
  328. package/dist/testing/fixtures/review-loop.d.ts.map +1 -0
  329. package/dist/testing/fixtures/review-loop.js +30 -0
  330. package/dist/testing/fixtures/review-loop.js.map +1 -0
  331. package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts.map +1 -1
  332. package/dist/testing/fixtures/shortfall-rework-hold-deps.js +1 -0
  333. package/dist/testing/fixtures/shortfall-rework-hold-deps.js.map +1 -1
  334. package/dist/testing/fixtures/tower-loop.d.ts +28 -0
  335. package/dist/testing/fixtures/tower-loop.d.ts.map +1 -0
  336. package/dist/testing/fixtures/tower-loop.js +83 -0
  337. package/dist/testing/fixtures/tower-loop.js.map +1 -0
  338. package/dist/tower/tower-escalation-gather.d.ts +33 -0
  339. package/dist/tower/tower-escalation-gather.d.ts.map +1 -0
  340. package/dist/tower/tower-escalation-gather.js +38 -0
  341. package/dist/tower/tower-escalation-gather.js.map +1 -0
  342. package/dist/tower/tower-escalation-prompt.d.ts +62 -0
  343. package/dist/tower/tower-escalation-prompt.d.ts.map +1 -0
  344. package/dist/tower/tower-escalation-prompt.js +130 -0
  345. package/dist/tower/tower-escalation-prompt.js.map +1 -0
  346. package/dist/tower/tower-escalation-routing.d.ts +49 -0
  347. package/dist/tower/tower-escalation-routing.d.ts.map +1 -0
  348. package/dist/tower/tower-escalation-routing.js +53 -0
  349. package/dist/tower/tower-escalation-routing.js.map +1 -0
  350. package/dist/tower/tower-escalation-session.d.ts +149 -0
  351. package/dist/tower/tower-escalation-session.d.ts.map +1 -0
  352. package/dist/tower/tower-escalation-session.js +238 -0
  353. package/dist/tower/tower-escalation-session.js.map +1 -0
  354. package/dist/tower/tower-supervisor-history.d.ts +129 -0
  355. package/dist/tower/tower-supervisor-history.d.ts.map +1 -0
  356. package/dist/tower/tower-supervisor-history.js +217 -0
  357. package/dist/tower/tower-supervisor-history.js.map +1 -0
  358. package/dist/tower/tower-supervisor-prompt.d.ts +21 -0
  359. package/dist/tower/tower-supervisor-prompt.d.ts.map +1 -0
  360. package/dist/tower/tower-supervisor-prompt.js +205 -0
  361. package/dist/tower/tower-supervisor-prompt.js.map +1 -0
  362. package/dist/tower/tower-supervisor-session.d.ts +220 -0
  363. package/dist/tower/tower-supervisor-session.d.ts.map +1 -0
  364. package/dist/tower/tower-supervisor-session.js +307 -0
  365. package/dist/tower/tower-supervisor-session.js.map +1 -0
  366. package/dist/tower/tower-supervisor.d.ts +86 -0
  367. package/dist/tower/tower-supervisor.d.ts.map +1 -0
  368. package/dist/tower/tower-supervisor.js +8 -0
  369. package/dist/tower/tower-supervisor.js.map +1 -0
  370. package/dist/types/index.js +1 -1
  371. package/dist/verify/outcome-routing/verification-rework-issue.d.ts +4 -4
  372. package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
  373. package/dist/verify/outcome-routing/verification-rework-issue.js +16 -6
  374. package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
  375. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"review-finding-facts.d.ts","sourceRoot":"","sources":["../../../src/queries/focus-review/review-finding-facts.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AAIxD,wGAAwG;AACxG,eAAO,MAAM,qCAAqC;;;;;;iBAGlC,CAAC;AAEjB,sFAAsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACjD;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,GAC9D,uBAAuB,CAKzB;AAED,qFAAqF;AACrF,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAOlG"}
1
+ {"version":3,"file":"review-finding-facts.d.ts","sourceRoot":"","sources":["../../../src/queries/focus-review/review-finding-facts.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AAIxD,wGAAwG;AACxG,eAAO,MAAM,qCAAqC;;;;;;iBAGlC,CAAC;AAEjB,sFAAsF;AACtF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACjD;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,GAC9D,uBAAuB,CAKzB;AAED,sDAAsD;AACtD,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,+BAA+B,CAAC,GAClE,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,kGAAkG;AAClG,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAIlG"}
@@ -2,8 +2,10 @@
2
2
  // Pinned by: packages/daemon/src/completion/review-exit/review-finding-blocking-predicate.test.ts,
3
3
  // packages/daemon/src/completion/review-exit/review-finding-class-routing.test.ts,
4
4
  // packages/daemon/src/delivery/recorded-concerns.test.ts,
5
+ // packages/daemon/src/integration/f114-review-concern-never-holds-done-regression.test.ts,
5
6
  // packages/daemon/src/integration/reopening-routing-regression.test.ts,
6
7
  // packages/daemon/src/prompt/recorded-concerns-not-owed-work.test.ts,
8
+ // packages/daemon/src/queries/focus-review/review-finding-class-parity.test.ts,
7
9
  // packages/daemon/src/spawn/resolve-review-context.test.ts
8
10
  // PINNED-BY-END
9
11
  /**
@@ -15,12 +17,17 @@
15
17
  * `focus_review_filed_issue_ids` returns `issueIds: string[]` and, from the edge
16
18
  * that records finding classes on, `findingClasses: Record<issueId,
17
19
  * 'blocking' | 'concern'>`. An OLDER edge omits `findingClasses`; that reads as
18
- * an empty map, so every finding falls back to the priority rule
19
- * (completion/review-exit/review-defect-detector.ts isBlockingReviewFinding). An issue
20
- * absent from the map likewise has no recorded fact.
20
+ * an empty map, and under the one rule (recorded-concern-ids.ts findingClassOf)
21
+ * every review-filed issue with no recorded 'blocking' is a concern -- the
22
+ * absence of a naming is never a naming.
21
23
  *
22
- * The response is validated (zod) -- a malformed class value throws, and the
23
- * caller's best-effort read degrades exactly as a failed id read does.
24
+ * The response is validated (zod) -- a malformed class value throws.
25
+ *
26
+ * A READ THAT FAILS THROWS. No earlier answer stands in for it: the facts
27
+ * change whenever a review is recorded, and facts kept from before that review
28
+ * can call a finding it re-judged blocking a concern. Every reader that cannot
29
+ * read the classes DEFERS its decision instead (delivery/recorded-concerns.ts;
30
+ * the review exit's findingFactsUnreadable).
24
31
  *
25
32
  * @module queries/focus-review/review-finding-facts
26
33
  */
@@ -39,9 +46,15 @@ export function toReviewFindingFacts(response) {
39
46
  findingClasses: new Map(Object.entries(response.findingClasses ?? {})),
40
47
  };
41
48
  }
42
- /** Read the focus-wide review-filed issue ids AND their recorded finding classes. */
49
+ /**
50
+ * Read the focus-wide review-filed issue ids AND their recorded finding classes
51
+ * through `read`. Throws when the read fails (module header).
52
+ */
53
+ export async function readFocusReviewFindingFactsVia(focusId, read) {
54
+ return toReviewFindingFacts(await read(focusId));
55
+ }
56
+ /** Read the focus-wide review-filed issue ids AND their recorded finding classes over the API. */
43
57
  export async function getFocusReviewFindingFacts(focusId) {
44
- const response = await callApiValidated('focus_review_filed_issue_ids', FocusReviewFindingFactsResponseSchema, { focusId });
45
- return toReviewFindingFacts(response);
58
+ return readFocusReviewFindingFactsVia(focusId, (id) => callApiValidated('focus_review_filed_issue_ids', FocusReviewFindingFactsResponseSchema, { focusId: id }));
46
59
  }
47
60
  //# sourceMappingURL=review-finding-facts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-finding-facts.js","sourceRoot":"","sources":["../../../src/queries/focus-review/review-finding-facts.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mGAAmG;AACnG,qFAAqF;AACrF,4DAA4D;AAC5D,0EAA0E;AAC1E,wEAAwE;AACxE,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAS3D,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEjE,wGAAwG;AACxG,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,OAAO,EAAE;CACzE,CAAC,CAAC,WAAW,EAAE,CAAC;AAQjB,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAClC,QAA+D;IAE/D,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAAe;IAC9D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,8BAA8B,EAC9B,qCAAqC,EACrC,EAAE,OAAO,EAAE,CACZ,CAAC;IACF,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"review-finding-facts.js","sourceRoot":"","sources":["../../../src/queries/focus-review/review-finding-facts.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mGAAmG;AACnG,qFAAqF;AACrF,4DAA4D;AAC5D,6FAA6F;AAC7F,0EAA0E;AAC1E,wEAAwE;AACxE,kFAAkF;AAClF,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAU3D,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEjE,wGAAwG;AACxG,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,OAAO,EAAE;CACzE,CAAC,CAAC,WAAW,EAAE,CAAC;AAQjB,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAClC,QAA+D;IAE/D,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAKD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAe,EACf,IAAmE;IAEnE,OAAO,oBAAoB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAAe;IAC9D,OAAO,8BAA8B,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACpD,gBAAgB,CAAC,8BAA8B,EAAE,qCAAqC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACzG,CAAC;AACJ,CAAC"}
@@ -16,20 +16,37 @@
16
16
  * The ended-arm record that rides a release, stating WHY the daemon ended the
17
17
  * arm and what was still outstanding.
18
18
  *
19
- * The DAEMON writes ONE reason: 'review_budget_spent'. It is sent in the SAME
20
- * call as the release (the edge refuses it otherwise, handlers/focus/arm-ended.ts)
21
- * so the role-less focus is never readable without its reason, and so the record
22
- * can never be mistaken for the operator stop (operator_stopped_at, which this
23
- * path does not write).
19
+ * EVERY daemon release carries one (releaseFocusArm takes it as a required
20
+ * argument): no focus is un-armed by the daemon with a null reason. The daemon
21
+ * writes TWO reasons, 'review_budget_spent' and 'run_finished_unreviewed', each
22
+ * in the SAME call as the release (the edge refuses it otherwise,
23
+ * handlers/focus/arm-ended.ts) so the role-less focus is never readable without
24
+ * its reason, and so the record can never be mistaken for the operator stop
25
+ * (operator_stopped_at, which these paths do not write).
24
26
  *
25
27
  * `detail` carries only what the DAEMON counted. The edge adds the acceptance
26
28
  * criteria the last verdict-bearing review called not_met -- it owns the shape
27
29
  * that record lives in -- so this daemon never parses a review summary.
28
- *
29
- * ARM_ENDED_REVIEW_BUDGET_SPENT is a value the DB CHECK constraint on
30
- * product_focuses.arm_ended_reason allows and the wedge diagnosis reads back.
31
30
  */
32
31
  export declare const ARM_ENDED_REVIEW_BUDGET_SPENT = "review_budget_spent";
32
+ /**
33
+ * The UNREVIEWED SETTLE end: every delivery settled while the review window the
34
+ * focus opened never received a verdict, so the daemon released the stranded
35
+ * arm and kept the window open (supervision/unreviewed-settle-detector.ts). A
36
+ * finish -- the covered work is terminal -- but one whose review is still owed,
37
+ * which a re-arm runs.
38
+ */
39
+ export declare const ARM_ENDED_RUN_FINISHED_UNREVIEWED = "run_finished_unreviewed";
40
+ /**
41
+ * The LIFECYCLE end with nothing left over: every delivery the arm covered is
42
+ * terminal and the clear discounted no recorded work. Written ONLY by SQL -- the
43
+ * lifecycle arm clear (auto_terminate_focus_team /
44
+ * clear_focus_team_on_review_window_close, migration 20261020133821) in the same
45
+ * write that nulls the role, whatever closed the review window (a verdict, a
46
+ * deadline, the hand-off breaker, the spent-budget path) -- and never by this
47
+ * daemon.
48
+ */
49
+ export declare const ARM_ENDED_RUN_FINISHED = "run_finished";
33
50
  /**
34
51
  * The LIFECYCLE end: the run finished every delivery its arm covered while one
35
52
  * or more deliveries recorded as new intent under it still rest at planning.
@@ -45,12 +62,13 @@ export declare const ARM_ENDED_REVIEW_BUDGET_SPENT = "review_budget_spent";
45
62
  */
46
63
  export declare const ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS = "run_finished_recorded_work_waits";
47
64
  /** Every reason product_focuses.arm_ended_reason may hold (the DB CHECK set). */
48
- export type ArmEndedReason = typeof ARM_ENDED_REVIEW_BUDGET_SPENT | typeof ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS;
65
+ export type ArmEndedReason = typeof ARM_ENDED_REVIEW_BUDGET_SPENT | typeof ARM_ENDED_RUN_FINISHED | typeof ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS | typeof ARM_ENDED_RUN_FINISHED_UNREVIEWED;
49
66
  /**
50
- * True when the recorded reason is the LIFECYCLE end -- the run finished its
51
- * covered work and the recorded work waits for the next arm. False for a spent
52
- * budget, for no reason at all, and for any value this daemon does not know
53
- * (an unknown reason is never read as a finish).
67
+ * True when the recorded reason says the run FINISHED its covered work: the
68
+ * lifecycle clear (with or without recorded work waiting for the next arm) or
69
+ * the unreviewed settle. False for a spent budget, for no reason at all, and
70
+ * for any value this daemon does not know (an unknown reason is never read as
71
+ * a finish).
54
72
  */
55
73
  export declare function isRunFinishedArmEnd(reason: string | null | undefined): boolean;
56
74
  /** One delivery recorded as new intent under the arm that ended, as the record names it. */
@@ -76,6 +94,15 @@ export interface RecordedWorkWaitsDetail {
76
94
  * unnamed. A missing or non-numeric count falls back to the parsed list length.
77
95
  */
78
96
  export declare function parseRecordedWorkWaitsDetail(detail: unknown): RecordedWorkWaitsDetail | null;
97
+ /**
98
+ * How the spent-budget record's findings were arrived at. Absent = measured at
99
+ * the review exit that spent the budget. 'not_measured' = the release was
100
+ * re-attempted by the backstop (completion/review-cycle-budget/spent-budget-release.ts)
101
+ * with no exit measurement in hand, so the empty lists are an ABSENCE, not a
102
+ * measurement.
103
+ */
104
+ export type SpentBudgetFindingsBasis = 'not_measured';
105
+ /** The spent-review-budget record (reason 'review_budget_spent'). */
79
106
  export interface EndedArmRecord {
80
107
  reason: typeof ARM_ENDED_REVIEW_BUDGET_SPENT;
81
108
  detail: {
@@ -102,6 +129,22 @@ export interface EndedArmRecord {
102
129
  title: string;
103
130
  deliveryId: string | null;
104
131
  }>;
132
+ /** See SpentBudgetFindingsBasis; absent when the lists were measured at the exit. */
133
+ findingsBasis?: SpentBudgetFindingsBasis;
134
+ };
135
+ }
136
+ /** The unreviewed-settle record (reason 'run_finished_unreviewed'). */
137
+ export interface UnreviewedSettleArmRecord {
138
+ reason: typeof ARM_ENDED_RUN_FINISHED_UNREVIEWED;
139
+ detail: {
140
+ /** The settled deliveries whose review verdict was never rendered. */
141
+ settledDeliveries: Array<{
142
+ id: string;
143
+ name: string;
144
+ executionStatus: string | null;
145
+ }>;
105
146
  };
106
147
  }
148
+ /** Every record a daemon release may carry -- one is REQUIRED (releaseFocusArm). */
149
+ export type DaemonEndedArmRecord = EndedArmRecord | UnreviewedSettleArmRecord;
107
150
  //# sourceMappingURL=ended-arm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ended-arm.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/ended-arm.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0CAA0C,qCAAqC,CAAC;AAE7F,iFAAiF;AACjF,MAAM,MAAM,cAAc,GACtB,OAAO,6BAA6B,GACpC,OAAO,0CAA0C,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAY5F;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,6BAA6B,CAAC;IAC7C,MAAM,EAAE;QACN,mEAAmE;QACnE,gBAAgB,EAAE,MAAM,CAAC;QACzB,sDAAsD;QACtD,GAAG,EAAE,MAAM,CAAC;QACZ,yFAAyF;QACzF,oBAAoB,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;QACnG;;;;;WAKG;QACH,YAAY,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KAC5F,CAAC;CACH"}
1
+ {"version":3,"file":"ended-arm.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/ended-arm.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,4BAA4B,CAAC;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0CAA0C,qCAAqC,CAAC;AAE7F,iFAAiF;AACjF,MAAM,MAAM,cAAc,GACtB,OAAO,6BAA6B,GACpC,OAAO,sBAAsB,GAC7B,OAAO,0CAA0C,GACjD,OAAO,iCAAiC,CAAC;AAS7C;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;IAC1C,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CAY5F;AAED;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEtD,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,6BAA6B,CAAC;IAC7C,MAAM,EAAE;QACN,mEAAmE;QACnE,gBAAgB,EAAE,MAAM,CAAC;QACzB,sDAAsD;QACtD,GAAG,EAAE,MAAM,CAAC;QACZ,yFAAyF;QACzF,oBAAoB,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;QACnG;;;;;WAKG;QACH,YAAY,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;QAC3F,qFAAqF;QACrF,aAAa,CAAC,EAAE,wBAAwB,CAAC;KAC1C,CAAC;CACH;AAED,uEAAuE;AACvE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,iCAAiC,CAAC;IACjD,MAAM,EAAE;QACN,sEAAsE;QACtE,iBAAiB,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;KACxF,CAAC;CACH;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,yBAAyB,CAAC"}
@@ -1,7 +1,9 @@
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/completion/review-cycle-budget/review-cycle-cap-regression.test.ts,
3
3
  // packages/daemon/src/completion/review-cycle-budget/review-cycle-churn-meter.test.ts,
4
- // packages/daemon/src/focus/disarm-reaper.test.ts, packages/daemon/src/queries/focuses/ended-arm.test.ts
4
+ // packages/daemon/src/completion/review-cycle-budget/spent-budget-release.test.ts,
5
+ // packages/daemon/src/focus/disarm-reaper.test.ts, packages/daemon/src/queries/focuses/ended-arm.test.ts,
6
+ // packages/daemon/src/supervision/unreviewed-settle-detector.test.ts
5
7
  // PINNED-BY-END
6
8
  /**
7
9
  * The ENDED-ARM record: the shape the daemon sends with a release to state WHY
@@ -21,20 +23,37 @@
21
23
  * The ended-arm record that rides a release, stating WHY the daemon ended the
22
24
  * arm and what was still outstanding.
23
25
  *
24
- * The DAEMON writes ONE reason: 'review_budget_spent'. It is sent in the SAME
25
- * call as the release (the edge refuses it otherwise, handlers/focus/arm-ended.ts)
26
- * so the role-less focus is never readable without its reason, and so the record
27
- * can never be mistaken for the operator stop (operator_stopped_at, which this
28
- * path does not write).
26
+ * EVERY daemon release carries one (releaseFocusArm takes it as a required
27
+ * argument): no focus is un-armed by the daemon with a null reason. The daemon
28
+ * writes TWO reasons, 'review_budget_spent' and 'run_finished_unreviewed', each
29
+ * in the SAME call as the release (the edge refuses it otherwise,
30
+ * handlers/focus/arm-ended.ts) so the role-less focus is never readable without
31
+ * its reason, and so the record can never be mistaken for the operator stop
32
+ * (operator_stopped_at, which these paths do not write).
29
33
  *
30
34
  * `detail` carries only what the DAEMON counted. The edge adds the acceptance
31
35
  * criteria the last verdict-bearing review called not_met -- it owns the shape
32
36
  * that record lives in -- so this daemon never parses a review summary.
33
- *
34
- * ARM_ENDED_REVIEW_BUDGET_SPENT is a value the DB CHECK constraint on
35
- * product_focuses.arm_ended_reason allows and the wedge diagnosis reads back.
36
37
  */
37
38
  export const ARM_ENDED_REVIEW_BUDGET_SPENT = 'review_budget_spent';
39
+ /**
40
+ * The UNREVIEWED SETTLE end: every delivery settled while the review window the
41
+ * focus opened never received a verdict, so the daemon released the stranded
42
+ * arm and kept the window open (supervision/unreviewed-settle-detector.ts). A
43
+ * finish -- the covered work is terminal -- but one whose review is still owed,
44
+ * which a re-arm runs.
45
+ */
46
+ export const ARM_ENDED_RUN_FINISHED_UNREVIEWED = 'run_finished_unreviewed';
47
+ /**
48
+ * The LIFECYCLE end with nothing left over: every delivery the arm covered is
49
+ * terminal and the clear discounted no recorded work. Written ONLY by SQL -- the
50
+ * lifecycle arm clear (auto_terminate_focus_team /
51
+ * clear_focus_team_on_review_window_close, migration 20261020133821) in the same
52
+ * write that nulls the role, whatever closed the review window (a verdict, a
53
+ * deadline, the hand-off breaker, the spent-budget path) -- and never by this
54
+ * daemon.
55
+ */
56
+ export const ARM_ENDED_RUN_FINISHED = 'run_finished';
38
57
  /**
39
58
  * The LIFECYCLE end: the run finished every delivery its arm covered while one
40
59
  * or more deliveries recorded as new intent under it still rest at planning.
@@ -49,14 +68,21 @@ export const ARM_ENDED_REVIEW_BUDGET_SPENT = 'review_budget_spent';
49
68
  * constants; never read "any non-null reason" as one meaning.
50
69
  */
51
70
  export const ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS = 'run_finished_recorded_work_waits';
71
+ /** The reasons that say the run FINISHED its covered work (every covered delivery terminal). */
72
+ const RUN_FINISHED_REASONS = new Set([
73
+ ARM_ENDED_RUN_FINISHED,
74
+ ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS,
75
+ ARM_ENDED_RUN_FINISHED_UNREVIEWED,
76
+ ]);
52
77
  /**
53
- * True when the recorded reason is the LIFECYCLE end -- the run finished its
54
- * covered work and the recorded work waits for the next arm. False for a spent
55
- * budget, for no reason at all, and for any value this daemon does not know
56
- * (an unknown reason is never read as a finish).
78
+ * True when the recorded reason says the run FINISHED its covered work: the
79
+ * lifecycle clear (with or without recorded work waiting for the next arm) or
80
+ * the unreviewed settle. False for a spent budget, for no reason at all, and
81
+ * for any value this daemon does not know (an unknown reason is never read as
82
+ * a finish).
57
83
  */
58
84
  export function isRunFinishedArmEnd(reason) {
59
- return reason === ARM_ENDED_RUN_FINISHED_RECORDED_WORK_WAITS;
85
+ return reason != null && RUN_FINISHED_REASONS.has(reason);
60
86
  }
61
87
  function isRecord(value) {
62
88
  return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -1 +1 @@
1
- {"version":3,"file":"ended-arm.js","sourceRoot":"","sources":["../../../src/queries/focuses/ended-arm.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,qGAAqG;AACrG,yFAAyF;AACzF,2GAA2G;AAC3G,gBAAgB;AAEhB;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,kCAAkC,CAAC;AAO7F;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IACnE,OAAO,MAAM,KAAK,0CAA0C,CAAC;AAC/D,CAAC;AAmBD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAe;IAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,kBAAkB,GAA0B,EAAE,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;YAAE,SAAS;QAClF,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7E,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"ended-arm.js","sourceRoot":"","sources":["../../../src/queries/focuses/ended-arm.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,qGAAqG;AACrG,yFAAyF;AACzF,qFAAqF;AACrF,4GAA4G;AAC5G,uEAAuE;AACvE,gBAAgB;AAEhB;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,yBAAyB,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,kCAAkC,CAAC;AAS7F,gGAAgG;AAChG,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IACxD,sBAAsB;IACtB,0CAA0C;IAC1C,iCAAiC;CAClC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IACnE,OAAO,MAAM,IAAI,IAAI,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAmBD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAe;IAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,MAAM,kBAAkB,GAA0B,EAAE,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;YAAE,SAAS;QAClF,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7E,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC"}
@@ -122,6 +122,12 @@ declare const CriterionStandingSchema: z.ZodObject<{
122
122
  divergenceReason: z.ZodNullable<z.ZodString>;
123
123
  }, z.core.$loose>>;
124
124
  basis: z.ZodOptional<z.ZodString>;
125
+ amendment: z.ZodCatch<z.ZodOptional<z.ZodObject<{
126
+ originalCriterion: z.ZodString;
127
+ amendmentCount: z.ZodOptional<z.ZodNumber>;
128
+ amendedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
129
+ amendedByKind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
130
+ }, z.core.$loose>>>;
125
131
  status: z.ZodEnum<{
126
132
  open: "open";
127
133
  met: "met";
@@ -225,6 +231,12 @@ export declare const FocusCriteriaStandingSchema: z.ZodObject<{
225
231
  divergenceReason: z.ZodNullable<z.ZodString>;
226
232
  }, z.core.$loose>>;
227
233
  basis: z.ZodOptional<z.ZodString>;
234
+ amendment: z.ZodCatch<z.ZodOptional<z.ZodObject<{
235
+ originalCriterion: z.ZodString;
236
+ amendmentCount: z.ZodOptional<z.ZodNumber>;
237
+ amendedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ amendedByKind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
239
+ }, z.core.$loose>>>;
228
240
  status: z.ZodEnum<{
229
241
  open: "open";
230
242
  met: "met";
@@ -1 +1 @@
1
- {"version":3,"file":"focus-criteria-standing.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/focus-criteria-standing.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,wEAAwE;AACxE,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE;;;;;;;GAOG;AACH,QAAA,MAAM,oBAAoB;;;;;;;iBAOV,CAAC;AAEjB;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB;;;;;iBAKZ,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsBb,CAAC;AAEjB;;;;GAIG;AACH,QAAA,MAAM,2BAA2B;;;;iBAIjB,CAAC;AAEjB,uEAAuE;AACvE,QAAA,MAAM,0BAA0B;;;;iBAIhB,CAAC;AAEjB;;;;;;GAMG;AACH,QAAA,MAAM,cAAc;;;;;;;iBAQJ,CAAC;AAEjB;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB;;;;;;;iBAmBR,CAAC;AAEjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0CxB,CAAC;AAEjB,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEtE,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE9D,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAKhC"}
1
+ {"version":3,"file":"focus-criteria-standing.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/focus-criteria-standing.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,wEAAwE;AACxE,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE;;;;;;;GAOG;AACH,QAAA,MAAM,oBAAoB;;;;;;;iBAOV,CAAC;AAEjB;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB;;;;;iBAKZ,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCb,CAAC;AAEjB;;;;GAIG;AACH,QAAA,MAAM,2BAA2B;;;;iBAIjB,CAAC;AAEjB,uEAAuE;AACvE,QAAA,MAAM,0BAA0B;;;;iBAIhB,CAAC;AAEjB;;;;;;GAMG;AACH,QAAA,MAAM,cAAc;;;;;;;iBAQJ,CAAC;AAEjB;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB;;;;;;;iBAmBR,CAAC;AAEjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0CxB,CAAC;AAEjB,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEtE,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE9D,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAKhC"}
@@ -116,6 +116,19 @@ const CriterionStandingSchema = z.object({
116
116
  * string, echoed only; absent on an older edge or a pre-derivation stamp.
117
117
  */
118
118
  basis: z.string().optional(),
119
+ /**
120
+ * TREE, ARMED STAMP only: present when the criterion was AMENDED under the
121
+ * standing arm (amend_focus_criterion, migration 20261020142139). `criterion`
122
+ * is then the amended wording; `originalCriterion` the wording the arm
123
+ * stamped. Echoed only. A malformed value reads as absent (`.catch`) -- it
124
+ * labels a criterion and must never fail the whole read.
125
+ */
126
+ amendment: z.object({
127
+ originalCriterion: z.string(),
128
+ amendmentCount: z.number().optional(),
129
+ amendedAt: z.string().nullable().optional(),
130
+ amendedByKind: z.string().nullable().optional(),
131
+ }).passthrough().optional().catch(undefined),
119
132
  status: z.enum(['addressed', 'met', 'open']),
120
133
  }).passthrough();
121
134
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"focus-criteria-standing.js","sourceRoot":"","sources":["../../../src/queries/focuses/focus-criteria-standing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-criteria-standing.js","sourceRoot":"","sources":["../../../src/queries/focuses/focus-criteria-standing.ts"],"names":[],"mappings":"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"}
@@ -189,9 +189,12 @@ export interface ActiveFocusRow {
189
189
  * a NEW arm. 'run_finished_recorded_work_waits' => the LIFECYCLE clear released
190
190
  * the arm with every covered delivery terminal while deliveries recorded as
191
191
  * new intent wait at planning for the next arm -- a finish, not a stop.
192
- * Null => no machine end recorded: the arm is live, was never made, ended at a
193
- * lifecycle clear that discounted nothing, or was an operator stop
194
- * (operator_stopped_at). Null on backends predating the column. Read by the
192
+ * 'run_finished' => the lifecycle clear with nothing left over;
193
+ * 'run_finished_unreviewed' => the daemon released a settled focus whose
194
+ * review never rendered a verdict (migration 20261020133821: every machine end
195
+ * records a reason). Null => no machine end recorded: the arm is live, was
196
+ * never made, was an operator stop (operator_stopped_at), or ended before
197
+ * every end recorded one. Null on backends predating the column. Read by the
195
198
  * disarm reaper and the wedge diagnosis, by value.
196
199
  *
197
200
  * OPTIONAL: `undefined` and `null` mean the same thing here (no machine end),
@@ -214,6 +217,14 @@ export interface ActiveFocusRow {
214
217
  * predating the column, which fails CLOSED to "covered".
215
218
  */
216
219
  armed_baseline_delivery_ids?: unknown;
220
+ /**
221
+ * When a stamped criterion of this focus was last amended under the arm
222
+ * (product_focuses.criteria_amended_at, amend_focus_criterion()). A REVIEW
223
+ * directive queued before it was assembled on the replaced wording and is
224
+ * dropped (focus/pending-directive-gates.ts), so the next review is a fresh
225
+ * session on the new wording. OPTIONAL: absent/null = never amended.
226
+ */
227
+ criteria_amended_at?: string | null;
217
228
  current_workflow_stage_id: string | null;
218
229
  review_requested_at: string | null;
219
230
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"focus-discovery.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/focus-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-discovery.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/focus-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/composition/review-holds-context.test.ts,
3
- // packages/daemon/src/delivery/advance-hold.test.ts,
4
- // packages/daemon/src/delivery/discovery-only-auto-advance.test.ts,
5
- // packages/daemon/src/delivery/recorded-concerns.test.ts, packages/daemon/src/focus/awaiting-slot.test.ts,
6
- // packages/daemon/src/focus/disarm-reaper.test.ts,
7
- // packages/daemon/src/focus/focus-activity-progress-clock.test.ts,
8
- // packages/daemon/src/focus/focus-poller-auto-advance-guard-measure.test.ts,
9
- // packages/daemon/src/focus/focus-poller-auto-advance-team-presence.test.ts,
10
- // packages/daemon/src/focus/focus-poller-auto-advance-teamless-wedge.test.ts,
11
- // packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
12
- // packages/daemon/src/focus/recorded-delivery-auto-advance.test.ts,
13
- // packages/daemon/src/focus/unarmed-advance-hold.test.ts,
14
- // packages/daemon/src/focus/unclaimed-notice-coding-precedence.test.ts,
15
- // packages/daemon/src/integration/advancement-path-parity.test.ts,
16
- // packages/daemon/src/nexus/nexus-return-path-e2e.test.ts,
17
- // packages/daemon/src/queries/focuses/answer-rearm-respawn.test.ts,
18
- // packages/daemon/src/tower/tower-entrypoints.test.ts,
19
- // packages/daemon/src/tower/tower-ready-row-ingestion.test.ts,
20
- // packages/daemon/src/tower/tower-spawn-modes.test.ts
2
+ // Pinned by: 21 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/queries/focuses/focus-discovery.ts
21
3
  // PINNED-BY-END
22
4
  import { callApi, callApiValidated } from '../api-client/shared.js';
23
5
  import { ReadyFocusesResponseSchema, ActiveFocusesResponseSchema } from '../wire-schemas/schemas.js';
@@ -105,6 +87,7 @@ export async function getActiveFocuses(_organizationId, productId) {
105
87
  arm_ended_reason: s.armEndedReason ?? null,
106
88
  arm_ended_detail: s.armEndedDetail ?? null,
107
89
  armed_baseline_delivery_ids: s.armedBaselineDeliveryIds ?? null,
90
+ criteria_amended_at: s.criteriaAmendedAt ?? null,
108
91
  current_workflow_stage_id: s.currentWorkflowStageId ?? null,
109
92
  review_requested_at: s.reviewRequestedAt ?? null,
110
93
  reviewed_through_sha: s.reviewedThroughSha ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"focus-discovery.js","sourceRoot":"","sources":["../../../src/queries/focuses/focus-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-discovery.js","sourceRoot":"","sources":["../../../src/queries/focuses/focus-discovery.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * can build a complete task DAG.
6
6
  */
7
7
  import type { FocusDeliveryInfo, FocusIssueInfo, StageDirective, Workflow } from '../../types/index.js';
8
- import type { EndedArmRecord } from './ended-arm.js';
8
+ import type { DaemonEndedArmRecord } from './ended-arm.js';
9
9
  /**
10
10
  * Batch-read the provenance origin of a set of focuses, as a Map
11
11
  * focusId -> origin|null. Feeds the machine-owned lane's source-reliability
@@ -127,18 +127,21 @@ export declare function clearCompletionMergePending(focusId: string): Promise<vo
127
127
  /** Clear review_requested_at without changing focus status or stage. */
128
128
  export declare function clearReviewRequestedAt(focusId: string): Promise<void>;
129
129
  /**
130
- * Release a settled focus's assigned agent role (assigned_agent_role_id and
131
- * agent_assigned_at -> null) WITHOUT closing the review window.
130
+ * Release a focus's assigned agent role (assigned_agent_role_id and
131
+ * agent_assigned_at -> null) and record WHY in the SAME edge call
132
+ * (arm_ended_reason / arm_ended_at / arm_ended_detail). The record is REQUIRED:
133
+ * no focus is un-armed by the daemon with a null reason. Callers: the spent
134
+ * review budget ('review_budget_spent', which may also close the review window
135
+ * in this write) and the unreviewed settle ('run_finished_unreviewed', which
136
+ * keeps the window open -- the deferred DB clear cannot reach it).
132
137
  *
133
- * The DB triggers clear the arm only at a delivery-terminality settle with no
134
- * open window, or when the window closes (review_requested_at NOT NULL -> NULL).
135
- * An UNREVIEWED settle deliberately holds the window open to surface the missing
136
- * verdict, so neither trigger reaches it and the arm is stranded. This is the
137
- * daemon-owned path that releases it while keeping the window open. The edge
138
- * endpoint accepts ONLY a null here (a non-null value is refused): the daemon
139
- * may release an arm, never assign one -- arming stays a human go-signal.
140
- */
141
- export declare function releaseFocusArm(focusId: string, endedArm?: EndedArmRecord): Promise<void>;
138
+ * The edge endpoint accepts ONLY a null role here (a non-null value is refused):
139
+ * the daemon may release an arm, never assign one -- arming stays a human
140
+ * go-signal.
141
+ */
142
+ export declare function releaseFocusArm(focusId: string, endedArm: DaemonEndedArmRecord, opts?: {
143
+ closeReviewWindow?: boolean;
144
+ }): Promise<void>;
142
145
  /**
143
146
  * Record an explicit "review was skipped" outcome for a focus, naming why.
144
147
  *
@@ -1 +1 @@
1
- {"version":3,"file":"focuses.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/focuses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focuses.d.ts","sourceRoot":"","sources":["../../../src/queries/focuses/focuses.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  // packages/daemon/src/merge/completion-rework-armed.test.ts,
15
15
  // packages/daemon/src/queries/focuses/scan-all-focuses.test.ts,
16
16
  // packages/daemon/src/spawn/empty-directive-route.test.ts,
17
+ // packages/daemon/src/tower/tower-supervisor.test.ts,
17
18
  // packages/daemon/src/verify/outcome-routing/verification-rework-issue.test.ts,
18
19
  // packages/daemon/src/verify/shortfalls/shortfall-rulings.test.ts
19
20
  // PINNED-BY-END
@@ -253,25 +254,26 @@ export async function clearReviewRequestedAt(focusId) {
253
254
  });
254
255
  }
255
256
  /**
256
- * Release a settled focus's assigned agent role (assigned_agent_role_id and
257
- * agent_assigned_at -> null) WITHOUT closing the review window.
257
+ * Release a focus's assigned agent role (assigned_agent_role_id and
258
+ * agent_assigned_at -> null) and record WHY in the SAME edge call
259
+ * (arm_ended_reason / arm_ended_at / arm_ended_detail). The record is REQUIRED:
260
+ * no focus is un-armed by the daemon with a null reason. Callers: the spent
261
+ * review budget ('review_budget_spent', which may also close the review window
262
+ * in this write) and the unreviewed settle ('run_finished_unreviewed', which
263
+ * keeps the window open -- the deferred DB clear cannot reach it).
258
264
  *
259
- * The DB triggers clear the arm only at a delivery-terminality settle with no
260
- * open window, or when the window closes (review_requested_at NOT NULL -> NULL).
261
- * An UNREVIEWED settle deliberately holds the window open to surface the missing
262
- * verdict, so neither trigger reaches it and the arm is stranded. This is the
263
- * daemon-owned path that releases it while keeping the window open. The edge
264
- * endpoint accepts ONLY a null here (a non-null value is refused): the daemon
265
- * may release an arm, never assign one -- arming stays a human go-signal.
265
+ * The edge endpoint accepts ONLY a null role here (a non-null value is refused):
266
+ * the daemon may release an arm, never assign one -- arming stays a human
267
+ * go-signal.
266
268
  */
267
- export async function releaseFocusArm(focusId, endedArm) {
269
+ export async function releaseFocusArm(focusId, endedArm, opts = {}) {
268
270
  await callApi('daemon_update_focus_status', {
269
271
  focusId,
270
272
  fields: {
271
273
  assignedAgentRoleId: null,
272
- ...(endedArm
273
- ? { armEndedReason: endedArm.reason, armEndedDetail: endedArm.detail }
274
- : {}),
274
+ armEndedReason: endedArm.reason,
275
+ armEndedDetail: endedArm.detail,
276
+ ...(opts.closeReviewWindow ? { reviewRequestedAt: null } : {}),
275
277
  },
276
278
  });
277
279
  }