@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":"escalation-consumption.d.ts","sourceRoot":"","sources":["../../../src/queries/escalations/escalation-consumption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escalation-consumption.d.ts","sourceRoot":"","sources":["../../../src/queries/escalations/escalation-consumption.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAiC,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE/G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED,sEAAsE;AACtE,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,GAAG,OAAO,CAE/F;AAUD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAErD,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC3C;AAgCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,UAAU,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC/F,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,oBAAoB,CAAC,CAe/D;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CAO5E;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,SAAM,GACV,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAM7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,4BAA4B,EAAE,GAC5C,mBAAmB,EAAE,CAqBvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAMhC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,4BAA4B,EAAE,GAC5C,sBAAsB,EAAE,CAkB1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,6BAA6B,IAChD,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAYnC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,4BAA4B,EAAE,GAAG,cAAc,EAAE,CASjG;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAO/E;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAOzC;AAED,wFAAwF;AACxF,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,UAAU,sBAAuB,SAAQ,4BAA4B;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,sBAAsB,EAAE,GACtC,wBAAwB,EAAE,CAqB5B;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,IACrD,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAOrC"}
@@ -31,6 +31,14 @@ import { callApi } from '../api-client/shared.js';
31
31
  import { DISPOSITION_AGENT_RESOLVABLE, DISPOSITION_NEEDS_INTENT, OPEN_ESCALATION_STATUSES } from './escalation-dispositions.js';
32
32
  import { readHumanAct, readObservation } from './filing-observation.js';
33
33
  import { isMachineLaneRow, readIncidentKey, readSymptoms } from './incident-record.js';
34
+ /**
35
+ * Pure: whether a row belongs to the Tower supervisor's lane (routed to it at
36
+ * filing). The routing decider keeps the daemon-filed observations; the
37
+ * supervisor takes team-filed escalations (docs/daemon/invariants-review-and-arm.md).
38
+ */
39
+ export function isTowerRoutedRow(row) {
40
+ return typeof row.towerState === 'string' && row.towerState !== '';
41
+ }
34
42
  /** Pure: the optional observation + metadata fields an item carries from its row. */
35
43
  function observationFields(metadata) {
36
44
  const observation = readObservation(metadata);
@@ -145,7 +153,8 @@ export function toAgentResolvableItems(rows) {
145
153
  const humanLane = openHumanLaneByIncident(rows);
146
154
  return rows
147
155
  .filter((e) => (!e.status || OPEN_ESCALATION_STATUSES.has(e.status)) &&
148
- e.disposition === DISPOSITION_AGENT_RESOLVABLE)
156
+ e.disposition === DISPOSITION_AGENT_RESOLVABLE &&
157
+ !isTowerRoutedRow(e))
149
158
  .map((e) => {
150
159
  const key = readIncidentKey(e.metadata);
151
160
  const pending = key ? humanLane.get(key) : undefined;
@@ -192,7 +201,8 @@ export async function listOpenAgentResolvableForFocus(focusId) {
192
201
  export function toOrgAgentResolvableItems(rows) {
193
202
  return rows
194
203
  .filter((e) => (!e.status || OPEN_ESCALATION_STATUSES.has(e.status)) &&
195
- e.disposition === DISPOSITION_AGENT_RESOLVABLE)
204
+ e.disposition === DISPOSITION_AGENT_RESOLVABLE &&
205
+ !isTowerRoutedRow(e))
196
206
  .map((e) => ({
197
207
  id: e.id,
198
208
  escalationKind: e.escalationKind ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"escalation-consumption.js","sourceRoot":"","sources":["../../../src/queries/escalations/escalation-consumption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escalation-consumption.js","sourceRoot":"","sources":["../../../src/queries/escalations/escalation-consumption.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * The Tower supervisor's escalation reads and the daemon's hand-off write
3
+ * (product-api handlers/tower-escalation-handlers.ts, migration
4
+ * 20261020155839):
5
+ *
6
+ * listTowerPendingEscalations -- escalation_list { towerState: 'pending' }:
7
+ * the org's open team escalations routed to the
8
+ * supervisor at filing, full detail.
9
+ * readTowerEscalation -- escalation_get: where one row stands now (the
10
+ * read after a supervisor session exits).
11
+ * deferTowerEscalation -- daemon_escalation_tower_defer: hand a pending
12
+ * row to the operator, recording
13
+ * escalation_deferred (decided by the daemon).
14
+ *
15
+ * The pending read re-checks towerState CLIENT-SIDE: an edge that predates the
16
+ * column ignores the unknown filter and answers every open row, and every one of
17
+ * those must read as not routed rather than as owed a supervisor.
18
+ *
19
+ * @module queries/escalations/tower-escalations
20
+ */
21
+ import { z } from 'zod';
22
+ /** A team escalation the supervisor owes a decision. */
23
+ export interface TowerPendingEscalation {
24
+ escalationId: string;
25
+ focusId: string | null;
26
+ productId: string | null;
27
+ deliveryId: string | null;
28
+ issueId: string | null;
29
+ disposition: string | null;
30
+ reasonType: string;
31
+ status: string;
32
+ description: string;
33
+ whatWasTried: string | null;
34
+ helpNeeded: string | null;
35
+ metadata: Record<string, unknown>;
36
+ createdAt: string;
37
+ towerRoutedAt: string | null;
38
+ }
39
+ /** Where one routed escalation stands. */
40
+ export interface TowerEscalationState {
41
+ escalationId: string;
42
+ status: string;
43
+ towerState: string | null;
44
+ answeredAt: string | null;
45
+ }
46
+ declare const RowSchema: z.ZodObject<{
47
+ id: z.ZodString;
48
+ reasonType: z.ZodString;
49
+ status: z.ZodString;
50
+ disposition: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ focusId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ productId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ deliveryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ issueId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ whatWasTried: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ helpNeeded: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
59
+ createdAt: z.ZodString;
60
+ towerState: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ towerRoutedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ answeredAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
+ }, z.core.$loose>;
64
+ /** Pure: the open rows of a list answer that are pending on the supervisor. */
65
+ export declare function toTowerPendingEscalations(rows: ReadonlyArray<z.infer<typeof RowSchema>>): TowerPendingEscalation[];
66
+ /** The org's open team escalations pending on the Tower supervisor, oldest routed first. */
67
+ export declare function listTowerPendingEscalations(): Promise<TowerPendingEscalation[]>;
68
+ /** Where one escalation stands now. */
69
+ export declare function readTowerEscalation(escalationId: string): Promise<TowerEscalationState>;
70
+ /** What the daemon hands to the operator, and why. */
71
+ export interface TowerDeferral {
72
+ escalationId: string;
73
+ summary: string;
74
+ rationale: string;
75
+ evidence: Record<string, unknown>;
76
+ }
77
+ /** Hand a pending escalation to the operator, recording escalation_deferred (decided by the daemon). */
78
+ export declare function deferTowerEscalation(deferral: TowerDeferral): Promise<{
79
+ towerDecisionId: string | null;
80
+ }>;
81
+ export {};
82
+ //# sourceMappingURL=tower-escalations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tower-escalations.d.ts","sourceRoot":"","sources":["../../../src/queries/escalations/tower-escalations.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;iBAiBC,CAAC;AAQjB,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC,GAAG,sBAAsB,EAAE,CAmBlH;AAED,4FAA4F;AAC5F,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAQrF;AAED,uCAAuC;AACvC,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAQ7F;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wGAAwG;AACxG,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAG/G"}
@@ -0,0 +1,97 @@
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/tower-escalation-context.test.ts,
3
+ // packages/daemon/src/queries/escalations/tower-escalations.test.ts,
4
+ // packages/daemon/src/tower/tower-escalation-prompt.test.ts,
5
+ // packages/daemon/src/tower/tower-escalation-session.test.ts
6
+ // PINNED-BY-END
7
+ /**
8
+ * The Tower supervisor's escalation reads and the daemon's hand-off write
9
+ * (product-api handlers/tower-escalation-handlers.ts, migration
10
+ * 20261020155839):
11
+ *
12
+ * listTowerPendingEscalations -- escalation_list { towerState: 'pending' }:
13
+ * the org's open team escalations routed to the
14
+ * supervisor at filing, full detail.
15
+ * readTowerEscalation -- escalation_get: where one row stands now (the
16
+ * read after a supervisor session exits).
17
+ * deferTowerEscalation -- daemon_escalation_tower_defer: hand a pending
18
+ * row to the operator, recording
19
+ * escalation_deferred (decided by the daemon).
20
+ *
21
+ * The pending read re-checks towerState CLIENT-SIDE: an edge that predates the
22
+ * column ignores the unknown filter and answers every open row, and every one of
23
+ * those must read as not routed rather than as owed a supervisor.
24
+ *
25
+ * @module queries/escalations/tower-escalations
26
+ */
27
+ import { z } from 'zod';
28
+ import { callApiValidated } from '../api-client/shared.js';
29
+ const RowSchema = z.object({
30
+ id: z.string(),
31
+ reasonType: z.string(),
32
+ status: z.string(),
33
+ disposition: z.string().nullable().optional(),
34
+ focusId: z.string().nullable().optional(),
35
+ productId: z.string().nullable().optional(),
36
+ deliveryId: z.string().nullable().optional(),
37
+ issueId: z.string().nullable().optional(),
38
+ description: z.string().nullable().optional(),
39
+ whatWasTried: z.string().nullable().optional(),
40
+ helpNeeded: z.string().nullable().optional(),
41
+ metadata: z.record(z.string(), z.unknown()).nullable().optional(),
42
+ createdAt: z.string(),
43
+ towerState: z.string().nullable().optional(),
44
+ towerRoutedAt: z.string().nullable().optional(),
45
+ answeredAt: z.string().nullable().optional(),
46
+ }).passthrough();
47
+ const ListSchema = z.object({ escalations: z.array(RowSchema) }).passthrough();
48
+ const GetSchema = z.object({ escalation: RowSchema }).passthrough();
49
+ const DeferSchema = z.object({ towerDecisionId: z.string().nullable().optional() }).passthrough();
50
+ const OPEN = new Set(['pending', 'in_review']);
51
+ /** Pure: the open rows of a list answer that are pending on the supervisor. */
52
+ export function toTowerPendingEscalations(rows) {
53
+ return rows
54
+ .filter((r) => r.towerState === 'pending' && OPEN.has(r.status))
55
+ .map((r) => ({
56
+ escalationId: r.id,
57
+ focusId: r.focusId ?? null,
58
+ productId: r.productId ?? null,
59
+ deliveryId: r.deliveryId ?? null,
60
+ issueId: r.issueId ?? null,
61
+ disposition: r.disposition ?? null,
62
+ reasonType: r.reasonType,
63
+ status: r.status,
64
+ description: r.description ?? '',
65
+ whatWasTried: r.whatWasTried ?? null,
66
+ helpNeeded: r.helpNeeded ?? null,
67
+ metadata: r.metadata ?? {},
68
+ createdAt: r.createdAt,
69
+ towerRoutedAt: r.towerRoutedAt ?? null,
70
+ }));
71
+ }
72
+ /** The org's open team escalations pending on the Tower supervisor, oldest routed first. */
73
+ export async function listTowerPendingEscalations() {
74
+ const res = await callApiValidated('escalation_list', ListSchema, {
75
+ fields: { towerState: 'pending', statuses: ['pending', 'in_review'] },
76
+ limit: 200,
77
+ detail: 'full',
78
+ });
79
+ return toTowerPendingEscalations(res.escalations)
80
+ .sort((a, b) => (a.towerRoutedAt ?? a.createdAt).localeCompare(b.towerRoutedAt ?? b.createdAt));
81
+ }
82
+ /** Where one escalation stands now. */
83
+ export async function readTowerEscalation(escalationId) {
84
+ const res = await callApiValidated('escalation_get', GetSchema, { escalationId, detail: 'full' });
85
+ return {
86
+ escalationId: res.escalation.id,
87
+ status: res.escalation.status,
88
+ towerState: res.escalation.towerState ?? null,
89
+ answeredAt: res.escalation.answeredAt ?? null,
90
+ };
91
+ }
92
+ /** Hand a pending escalation to the operator, recording escalation_deferred (decided by the daemon). */
93
+ export async function deferTowerEscalation(deferral) {
94
+ const res = await callApiValidated('daemon_escalation_tower_defer', DeferSchema, { ...deferral });
95
+ return { towerDecisionId: res.towerDecisionId ?? null };
96
+ }
97
+ //# sourceMappingURL=tower-escalations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tower-escalations.js","sourceRoot":"","sources":["../../../src/queries/escalations/tower-escalations.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,24 @@
1
1
  /**
2
- * The RECORDED CONCERNS of a focus, as pure functions over its review-finding
3
- * facts (queries/focus-review/review-finding-facts.ts): a concern is a
4
- * review-filed finding recorded with class `concern`. It is recorded for the
5
- * human and the next arm and is never the running team's work.
2
+ * THE review-finding rule, daemon side, and the RECORDED CONCERNS of a focus as
3
+ * pure functions over its review-finding facts
4
+ * (queries/focus-review/review-finding-facts.ts).
5
+ *
6
+ * A finding blocks only when a not_met acceptance criterion names it. Every
7
+ * other issue a review files is a CONCERN: recorded for the human and the
8
+ * next arm, never the running team's work, never holding its delivery.
9
+ *
10
+ * findingClassOf is a hand MIRROR of the canonical
11
+ * supabase/functions/_shared/review-finding-class.ts findingClassOf (the daemon
12
+ * cannot import the Deno tree at runtime); review-finding-class-parity.test.ts
13
+ * runs both over one case matrix and fails on the first disagreement. Every
14
+ * daemon reader classifies through it: the live delivery writers
15
+ * (delivery/recorded-concerns.ts), the review exit
16
+ * (completion/review-exit/review-defect-detector.ts isBlockingReviewFinding),
17
+ * the team prompt's listing and the ended-arm summary.
18
+ *
19
+ * A daemon-filed rework Bug (gate or shortfall) is never a review finding,
20
+ * whatever session it was credited to (isDaemonReworkIssue): it is owed work by
21
+ * construction.
6
22
  *
7
23
  * Kept apart from the facts READ so a pure caller (the team prompt's listing,
8
24
  * the reconcile writers) does not import the API client.
@@ -10,17 +26,38 @@
10
26
  * @module queries/focus-review/recorded-concern-ids
11
27
  */
12
28
  import type { ReviewFindingClass } from './review-finding-facts.js';
29
+ /**
30
+ * MIRROR of _shared/review-finding-class.ts findingClassOf. The class of one
31
+ * issue under the rule: null = not a review finding (ordinary owed work);
32
+ * 'blocking' = review-filed and recorded blocking (a not_met criterion names
33
+ * it); 'concern' = review-filed and anything else -- recorded concern, or no
34
+ * class reached the reader (an older edge's link-less review). Pure.
35
+ */
36
+ export declare function findingClassOf(issueId: string, reviewFiledIds: ReadonlySet<string>, findingClasses: ReadonlyMap<string, ReviewFindingClass>): ReviewFindingClass | null;
37
+ /** MIRROR of _shared/review-finding-class.ts isBlockingFinding: only a recorded 'blocking' blocks. Pure. */
38
+ export declare function isBlockingFinding(issueId: string, findingClasses: ReadonlyMap<string, ReviewFindingClass>): boolean;
39
+ /**
40
+ * Whether an issue is a daemon-filed rework Bug -- a failed gate's
41
+ * (isGateReworkIssue) or a verify shortfall's (isShortfallReworkIssue). Such a
42
+ * Bug is owed work by construction and is never a review finding, even when an
43
+ * older edge credited it to a review session that was live when it was filed.
44
+ * An issue whose title is not known is not one. Pure.
45
+ */
46
+ export declare function isDaemonReworkIssue(issue: {
47
+ title?: string | null;
48
+ }): boolean;
13
49
  /** The facts as the pure helpers below read them (a FocusReviewFindingFacts, or the review exit's id set + classes). */
14
50
  export interface ReviewFindingFactsView {
15
51
  issueIds: Iterable<string>;
16
52
  findingClasses: ReadonlyMap<string, ReviewFindingClass>;
17
53
  }
18
54
  /**
19
- * Pure: the ids of the RECORDED CONCERNS among the facts -- review-filed (in
20
- * `issueIds`) AND recorded with class `concern`. An issue with no recorded class
21
- * is NOT a concern: it stays owed work, exactly as before classes were recorded.
22
- * A concern is recorded for the human and the next arm; it is not the running
23
- * team's work (prompt-sections/prompt-listing.ts splitRecordedConcerns).
55
+ * Pure: the ids of the RECORDED CONCERNS among the facts -- every review-filed
56
+ * id (in `issueIds`) findingClassOf calls a concern: anything no not_met
57
+ * criterion names, an id with no class included. A concern is recorded for the
58
+ * human and the next arm; it is not the running team's work
59
+ * (prompt-sections/prompt-listing.ts splitRecordedConcerns). A caller holding
60
+ * the issues' titles also drops daemon rework Bugs (isDaemonReworkIssue).
24
61
  */
25
62
  export declare function recordedConcernIds(facts: ReviewFindingFactsView): Set<string>;
26
63
  /** One open recorded concern, as a human-facing summary names it. */
@@ -34,8 +71,8 @@ export interface OpenConcernSummary {
34
71
  * Pure: every OPEN recorded concern among `issues`, by key and title -- the
35
72
  * "Open concerns (recorded by review, not worked by this arm)" list a human reads
36
73
  * when the armed run ends (queries/focuses/ended-arm.ts `openConcerns`). Closed
37
- * concerns (Done / Verified / In Review / Cancelled ...) are not listed; an issue
38
- * with no recorded class is not a concern.
74
+ * concerns (Done / Verified / In Review / Cancelled ...) are not listed, nor is a
75
+ * daemon rework Bug.
39
76
  */
40
77
  export declare function openRecordedConcerns(issues: ReadonlyArray<{
41
78
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"recorded-concern-ids.d.ts","sourceRoot":"","sources":["../../../src/queries/focus-review/recorded-concern-ids.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wHAAwH;AACxH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,CAM7E;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,EAC7G,KAAK,EAAE,sBAAsB,GAC5B,kBAAkB,EAAE,CAKtB"}
1
+ {"version":3,"file":"recorded-concern-ids.d.ts","sourceRoot":"","sources":["../../../src/queries/focus-review/recorded-concern-ids.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,EACnC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACtD,kBAAkB,GAAG,IAAI,CAG3B;AAED,4GAA4G;AAC5G,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACtD,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAG7E;AAED,wHAAwH;AACxH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACzD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,CAO7E;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,EAC7G,KAAK,EAAE,sBAAsB,GAC5B,kBAAkB,EAAE,CAKtB"}
@@ -1,18 +1,48 @@
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/prompt/recorded-concerns-not-owed-work.test.ts
2
+ // Pinned by: packages/daemon/src/prompt/recorded-concerns-not-owed-work.test.ts,
3
+ // packages/daemon/src/queries/focus-review/review-finding-class-parity.test.ts
3
4
  // PINNED-BY-END
4
- import { OPEN_ISSUE_STATUSES } from '../../types/issue-status.js';
5
+ import { OPEN_ISSUE_STATUSES, isGateReworkIssue, isShortfallReworkIssue } from '../../types/issue-status.js';
5
6
  /**
6
- * Pure: the ids of the RECORDED CONCERNS among the facts -- review-filed (in
7
- * `issueIds`) AND recorded with class `concern`. An issue with no recorded class
8
- * is NOT a concern: it stays owed work, exactly as before classes were recorded.
9
- * A concern is recorded for the human and the next arm; it is not the running
10
- * team's work (prompt-sections/prompt-listing.ts splitRecordedConcerns).
7
+ * MIRROR of _shared/review-finding-class.ts findingClassOf. The class of one
8
+ * issue under the rule: null = not a review finding (ordinary owed work);
9
+ * 'blocking' = review-filed and recorded blocking (a not_met criterion names
10
+ * it); 'concern' = review-filed and anything else -- recorded concern, or no
11
+ * class reached the reader (an older edge's link-less review). Pure.
12
+ */
13
+ export function findingClassOf(issueId, reviewFiledIds, findingClasses) {
14
+ if (!reviewFiledIds.has(issueId))
15
+ return null;
16
+ return findingClasses.get(issueId) === 'blocking' ? 'blocking' : 'concern';
17
+ }
18
+ /** MIRROR of _shared/review-finding-class.ts isBlockingFinding: only a recorded 'blocking' blocks. Pure. */
19
+ export function isBlockingFinding(issueId, findingClasses) {
20
+ return findingClasses.get(issueId) === 'blocking';
21
+ }
22
+ /**
23
+ * Whether an issue is a daemon-filed rework Bug -- a failed gate's
24
+ * (isGateReworkIssue) or a verify shortfall's (isShortfallReworkIssue). Such a
25
+ * Bug is owed work by construction and is never a review finding, even when an
26
+ * older edge credited it to a review session that was live when it was filed.
27
+ * An issue whose title is not known is not one. Pure.
28
+ */
29
+ export function isDaemonReworkIssue(issue) {
30
+ const title = issue.title;
31
+ return typeof title === 'string' && (isGateReworkIssue({ title }) || isShortfallReworkIssue({ title }));
32
+ }
33
+ /**
34
+ * Pure: the ids of the RECORDED CONCERNS among the facts -- every review-filed
35
+ * id (in `issueIds`) findingClassOf calls a concern: anything no not_met
36
+ * criterion names, an id with no class included. A concern is recorded for the
37
+ * human and the next arm; it is not the running team's work
38
+ * (prompt-sections/prompt-listing.ts splitRecordedConcerns). A caller holding
39
+ * the issues' titles also drops daemon rework Bugs (isDaemonReworkIssue).
11
40
  */
12
41
  export function recordedConcernIds(facts) {
42
+ const filed = new Set(facts.issueIds);
13
43
  const concerns = new Set();
14
- for (const id of facts.issueIds) {
15
- if (facts.findingClasses.get(id) === 'concern')
44
+ for (const id of filed) {
45
+ if (findingClassOf(id, filed, facts.findingClasses) === 'concern')
16
46
  concerns.add(id);
17
47
  }
18
48
  return concerns;
@@ -21,13 +51,13 @@ export function recordedConcernIds(facts) {
21
51
  * Pure: every OPEN recorded concern among `issues`, by key and title -- the
22
52
  * "Open concerns (recorded by review, not worked by this arm)" list a human reads
23
53
  * when the armed run ends (queries/focuses/ended-arm.ts `openConcerns`). Closed
24
- * concerns (Done / Verified / In Review / Cancelled ...) are not listed; an issue
25
- * with no recorded class is not a concern.
54
+ * concerns (Done / Verified / In Review / Cancelled ...) are not listed, nor is a
55
+ * daemon rework Bug.
26
56
  */
27
57
  export function openRecordedConcerns(issues, facts) {
28
58
  const concernIds = recordedConcernIds(facts);
29
59
  return issues
30
- .filter((i) => concernIds.has(i.id) && OPEN_ISSUE_STATUSES.has(i.status))
60
+ .filter((i) => concernIds.has(i.id) && !isDaemonReworkIssue(i) && OPEN_ISSUE_STATUSES.has(i.status))
31
61
  .map((i) => ({ id: i.id, key: i.key, title: i.title, deliveryId: i.deliveryId ?? null }));
32
62
  }
33
63
  //# sourceMappingURL=recorded-concern-ids.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recorded-concern-ids.js","sourceRoot":"","sources":["../../../src/queries/focus-review/recorded-concern-ids.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gFAAgF;AAChF,gBAAgB;AAehB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAQlE;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA6B;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA6G,EAC7G,KAA6B;IAE7B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"recorded-concern-ids.js","sourceRoot":"","sources":["../../../src/queries/focus-review/recorded-concern-ids.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iFAAiF;AACjF,iFAAiF;AACjF,gBAAgB;AA+BhB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE7G;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,cAAmC,EACnC,cAAuD;IAEvD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,cAAuD;IAEvD,OAAO,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAgC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1G,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA6B;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,SAAS;YAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA6G,EAC7G,KAA6B;IAE7B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACnG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC"}
@@ -0,0 +1,37 @@
1
+ /** The action this module calls. */
2
+ export declare const LIST_REVIEW_CRITERION_VERDICTS_ACTION = "daemon_list_review_criterion_verdicts";
3
+ /** A review's verdict on one criterion (one element of focus_reviews.criterion_verdicts). */
4
+ export interface CriterionVerdictRecord {
5
+ /** `node:<uuid>` for a tree criterion, `text:<normalized>` for a declared one. */
6
+ criterionKey: string;
7
+ nodeId: string | null;
8
+ source: 'tree' | 'delivery' | 'focus';
9
+ criterion: string;
10
+ verdict: 'met' | 'not_met' | 'excused';
11
+ /** The issues a not_met verdict names. */
12
+ issueIds: string[];
13
+ }
14
+ /** One completed, verdict-bearing review under the arm. */
15
+ export interface ReviewVerdictRecord {
16
+ reviewId: string;
17
+ completedAt: string;
18
+ outcome: string;
19
+ criterionVerdicts: CriterionVerdictRecord[];
20
+ /**
21
+ * The agreed criteria the review left WITHOUT a verdict, by criterion key (a
22
+ * gaps_found may leave some). [] when it judged every criterion -- and on an
23
+ * older edge or a review stored before the edge recorded them, which
24
+ * therefore read as fully judged.
25
+ */
26
+ unjudgedCriterionKeys?: string[];
27
+ /** The review's stored blocking set; null = its not_met verdicts named no issue (nothing blocks). */
28
+ blockingIssueIds: string[] | null;
29
+ createdIssueIds: string[];
30
+ /** The focus-branch commit the review judged; absent/null when unrecorded or on an older edge. */
31
+ reviewedSha?: string | null;
32
+ /** The review's summary markdown (each verdict's reasoning); absent/null when none or on an older edge. */
33
+ summary?: string | null;
34
+ }
35
+ /** The focus's verdict-bearing reviews since its arm, newest first, at most `limit`. Throws on failure. */
36
+ export declare function listReviewCriterionVerdicts(focusId: string, limit: number): Promise<ReviewVerdictRecord[]>;
37
+ //# sourceMappingURL=review-criterion-verdicts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-criterion-verdicts.d.ts","sourceRoot":"","sources":["../../../src/queries/focus-review/review-criterion-verdicts.ts"],"names":[],"mappings":"AA2BA,oCAAoC;AACpC,eAAO,MAAM,qCAAqC,0CAA0C,CAAC;AAE7F,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,qGAAqG;IACrG,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAyBD,2GAA2G;AAC3G,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiBhH"}
@@ -0,0 +1,64 @@
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/review-cycle-budget/review-cycle-cap-regression.test.ts,
3
+ // packages/daemon/src/completion/review-cycle-budget/review-loop-detection.test.ts,
4
+ // packages/daemon/src/queries/focus-review/review-criterion-verdicts.test.ts,
5
+ // packages/daemon/src/supervision/review-loop-detector.test.ts,
6
+ // packages/daemon/src/tower/tower-supervisor.test.ts
7
+ // PINNED-BY-END
8
+ /**
9
+ * The read of a focus's per-criterion review verdicts: product-api
10
+ * `daemon_list_review_criterion_verdicts`, which answers the focus's
11
+ * verdict-bearing reviews completed since the arm instant, NEWEST FIRST, each
12
+ * with focus_reviews.criterion_verdicts and its stored blocking / created
13
+ * issue ids. A focus with no arm stamp answers none (the history starts at the
14
+ * arm, as the criterion-reopening history does).
15
+ *
16
+ * The review-loop detector decides on it
17
+ * (supervision/review-loop-detector.ts). Throws on a failed call or a
18
+ * malformed answer; the caller (completion/review-cycle-budget/review-loop-detection.ts)
19
+ * owns swallowing it.
20
+ *
21
+ * @module queries/focus-review/review-criterion-verdicts
22
+ */
23
+ import { z } from 'zod';
24
+ import { callApiValidated } from '../api-client/shared.js';
25
+ /** The action this module calls. */
26
+ export const LIST_REVIEW_CRITERION_VERDICTS_ACTION = 'daemon_list_review_criterion_verdicts';
27
+ const VerdictSchema = z.object({
28
+ criterionKey: z.string(),
29
+ nodeId: z.string().nullable(),
30
+ source: z.enum(['tree', 'delivery', 'focus']),
31
+ criterion: z.string(),
32
+ verdict: z.enum(['met', 'not_met', 'excused']),
33
+ issueIds: z.array(z.string()),
34
+ }).passthrough();
35
+ const ReviewSchema = z.object({
36
+ reviewId: z.string(),
37
+ completedAt: z.string(),
38
+ outcome: z.string(),
39
+ criterionVerdicts: z.array(VerdictSchema),
40
+ unjudgedCriterionKeys: z.array(z.string()).optional(),
41
+ blockingIssueIds: z.array(z.string()).nullable(),
42
+ createdIssueIds: z.array(z.string()),
43
+ reviewedSha: z.string().nullable().optional(),
44
+ summary: z.string().nullable().optional(),
45
+ }).passthrough();
46
+ const ResponseSchema = z.object({ reviews: z.array(ReviewSchema) }).passthrough();
47
+ /** The focus's verdict-bearing reviews since its arm, newest first, at most `limit`. Throws on failure. */
48
+ export async function listReviewCriterionVerdicts(focusId, limit) {
49
+ const res = await callApiValidated(LIST_REVIEW_CRITERION_VERDICTS_ACTION, ResponseSchema, { focusId, limit });
50
+ return res.reviews.map((r) => ({
51
+ reviewId: r.reviewId,
52
+ completedAt: r.completedAt,
53
+ outcome: r.outcome,
54
+ criterionVerdicts: r.criterionVerdicts.map((v) => ({
55
+ criterionKey: v.criterionKey, nodeId: v.nodeId, source: v.source, criterion: v.criterion, verdict: v.verdict, issueIds: v.issueIds,
56
+ })),
57
+ unjudgedCriterionKeys: r.unjudgedCriterionKeys ?? [],
58
+ blockingIssueIds: r.blockingIssueIds,
59
+ createdIssueIds: r.createdIssueIds,
60
+ reviewedSha: r.reviewedSha ?? null,
61
+ summary: r.summary ?? null,
62
+ }));
63
+ }
64
+ //# sourceMappingURL=review-criterion-verdicts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-criterion-verdicts.js","sourceRoot":"","sources":["../../../src/queries/focus-review/review-criterion-verdicts.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,17 @@
7
7
  * `focus_review_filed_issue_ids` returns `issueIds: string[]` and, from the edge
8
8
  * that records finding classes on, `findingClasses: Record<issueId,
9
9
  * 'blocking' | 'concern'>`. An OLDER edge omits `findingClasses`; that reads as
10
- * an empty map, so every finding falls back to the priority rule
11
- * (completion/review-exit/review-defect-detector.ts isBlockingReviewFinding). An issue
12
- * absent from the map likewise has no recorded fact.
10
+ * an empty map, and under the one rule (recorded-concern-ids.ts findingClassOf)
11
+ * every review-filed issue with no recorded 'blocking' is a concern -- the
12
+ * absence of a naming is never a naming.
13
13
  *
14
- * The response is validated (zod) -- a malformed class value throws, and the
15
- * caller's best-effort read degrades exactly as a failed id read does.
14
+ * The response is validated (zod) -- a malformed class value throws.
15
+ *
16
+ * A READ THAT FAILS THROWS. No earlier answer stands in for it: the facts
17
+ * change whenever a review is recorded, and facts kept from before that review
18
+ * can call a finding it re-judged blocking a concern. Every reader that cannot
19
+ * read the classes DEFERS its decision instead (delivery/recorded-concerns.ts;
20
+ * the review exit's findingFactsUnreadable).
16
21
  *
17
22
  * @module queries/focus-review/review-finding-facts
18
23
  */
@@ -39,6 +44,13 @@ export interface FocusReviewFindingFacts {
39
44
  }
40
45
  /** Pure: normalize a validated response (missing keys -> empty). Exported for tests. */
41
46
  export declare function toReviewFindingFacts(response: z.infer<typeof FocusReviewFindingFactsResponseSchema>): FocusReviewFindingFacts;
42
- /** Read the focus-wide review-filed issue ids AND their recorded finding classes. */
47
+ /** The wire shape of focus_review_filed_issue_ids. */
48
+ export type FocusReviewFindingFactsResponse = z.infer<typeof FocusReviewFindingFactsResponseSchema>;
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 declare function readFocusReviewFindingFactsVia(focusId: string, read: (focusId: string) => Promise<FocusReviewFindingFactsResponse>): Promise<FocusReviewFindingFacts>;
54
+ /** Read the focus-wide review-filed issue ids AND their recorded finding classes over the API. */
43
55
  export declare function getFocusReviewFindingFacts(focusId: string): Promise<FocusReviewFindingFacts>;
44
56
  //# sourceMappingURL=review-finding-facts.d.ts.map