@telora/daemon 0.24.25 → 0.24.29

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 (433) hide show
  1. package/build-info.json +10 -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/nexus/escalation-bridge.d.ts.map +1 -1
  179. package/dist/nexus/escalation-bridge.js +2 -1
  180. package/dist/nexus/escalation-bridge.js.map +1 -1
  181. package/dist/nexus/file-escalation.d.ts.map +1 -1
  182. package/dist/nexus/file-escalation.js +1 -0
  183. package/dist/nexus/file-escalation.js.map +1 -1
  184. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  185. package/dist/prompt-sections/persona-sections.js +4 -1
  186. package/dist/prompt-sections/persona-sections.js.map +1 -1
  187. package/dist/prompt-sections/qa-author-section.d.ts.map +1 -1
  188. package/dist/prompt-sections/qa-author-section.js +18 -1
  189. package/dist/prompt-sections/qa-author-section.js.map +1 -1
  190. package/dist/prompt-sections/scoping-sections.d.ts +0 -12
  191. package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
  192. package/dist/prompt-sections/scoping-sections.js +16 -2
  193. package/dist/prompt-sections/scoping-sections.js.map +1 -1
  194. package/dist/prompts/bounded-universals.d.ts +13 -0
  195. package/dist/prompts/bounded-universals.d.ts.map +1 -0
  196. package/dist/prompts/bounded-universals.js +32 -0
  197. package/dist/prompts/bounded-universals.js.map +1 -0
  198. package/dist/queries/api-client/shared.d.ts +2 -1
  199. package/dist/queries/api-client/shared.d.ts.map +1 -1
  200. package/dist/queries/api-client/shared.js +31 -1
  201. package/dist/queries/api-client/shared.js.map +1 -1
  202. package/dist/queries/deliveries/deliveries.js +1 -1
  203. package/dist/queries/deliveries/issues.d.ts.map +1 -1
  204. package/dist/queries/deliveries/issues.js +1 -0
  205. package/dist/queries/deliveries/issues.js.map +1 -1
  206. package/dist/queries/delivery-gate-state/delivery-gate-state.js +1 -1
  207. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts +24 -2
  208. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts.map +1 -1
  209. package/dist/queries/delivery-gate-state/verify-own-holds.js.map +1 -1
  210. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  211. package/dist/queries/escalations/cause-key.js +1 -0
  212. package/dist/queries/escalations/cause-key.js.map +1 -1
  213. package/dist/queries/escalations/escalation-consumption.d.ts +13 -0
  214. package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
  215. package/dist/queries/escalations/escalation-consumption.js +12 -2
  216. package/dist/queries/escalations/escalation-consumption.js.map +1 -1
  217. package/dist/queries/escalations/escalations.d.ts.map +1 -1
  218. package/dist/queries/escalations/escalations.js +2 -1
  219. package/dist/queries/escalations/escalations.js.map +1 -1
  220. package/dist/queries/escalations/tower-escalations.d.ts +82 -0
  221. package/dist/queries/escalations/tower-escalations.d.ts.map +1 -0
  222. package/dist/queries/escalations/tower-escalations.js +97 -0
  223. package/dist/queries/escalations/tower-escalations.js.map +1 -0
  224. package/dist/queries/focus-review/recorded-concern-ids.d.ts +48 -11
  225. package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -1
  226. package/dist/queries/focus-review/recorded-concern-ids.js +42 -12
  227. package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -1
  228. package/dist/queries/focus-review/review-criterion-verdicts.d.ts +37 -0
  229. package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -0
  230. package/dist/queries/focus-review/review-criterion-verdicts.js +64 -0
  231. package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -0
  232. package/dist/queries/focus-review/review-finding-facts.d.ts +18 -6
  233. package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
  234. package/dist/queries/focus-review/review-finding-facts.js +21 -8
  235. package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
  236. package/dist/queries/focuses/ended-arm.d.ts +56 -13
  237. package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
  238. package/dist/queries/focuses/ended-arm.js +40 -14
  239. package/dist/queries/focuses/ended-arm.js.map +1 -1
  240. package/dist/queries/focuses/focus-criteria-standing.d.ts +12 -0
  241. package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
  242. package/dist/queries/focuses/focus-criteria-standing.js +13 -0
  243. package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
  244. package/dist/queries/focuses/focus-discovery.d.ts +14 -3
  245. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  246. package/dist/queries/focuses/focus-discovery.js +2 -19
  247. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  248. package/dist/queries/focuses/focuses.d.ts +15 -12
  249. package/dist/queries/focuses/focuses.d.ts.map +1 -1
  250. package/dist/queries/focuses/focuses.js +15 -13
  251. package/dist/queries/focuses/focuses.js.map +1 -1
  252. package/dist/queries/sessions/sessions.d.ts.map +1 -1
  253. package/dist/queries/sessions/sessions.js +2 -1
  254. package/dist/queries/sessions/sessions.js.map +1 -1
  255. package/dist/queries/tower-decisions/tower-decisions.d.ts +103 -0
  256. package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -0
  257. package/dist/queries/tower-decisions/tower-decisions.js +138 -0
  258. package/dist/queries/tower-decisions/tower-decisions.js.map +1 -0
  259. package/dist/queries/verification/verification.js +1 -1
  260. package/dist/queries/wire-schemas/schemas.d.ts +2 -0
  261. package/dist/queries/wire-schemas/schemas.d.ts.map +1 -1
  262. package/dist/queries/wire-schemas/schemas.js +8 -2
  263. package/dist/queries/wire-schemas/schemas.js.map +1 -1
  264. package/dist/queries/workstation-intervals/workstation-intervals.d.ts +52 -0
  265. package/dist/queries/workstation-intervals/workstation-intervals.d.ts.map +1 -0
  266. package/dist/queries/workstation-intervals/workstation-intervals.js +49 -0
  267. package/dist/queries/workstation-intervals/workstation-intervals.js.map +1 -0
  268. package/dist/resolvers/escalation-answers.d.ts +31 -0
  269. package/dist/resolvers/escalation-answers.d.ts.map +1 -1
  270. package/dist/resolvers/escalation-answers.js +31 -17
  271. package/dist/resolvers/escalation-answers.js.map +1 -1
  272. package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
  273. package/dist/resolvers/focus-criteria-standing.js +20 -0
  274. package/dist/resolvers/focus-criteria-standing.js.map +1 -1
  275. package/dist/shell/unified-engine-lifecycle.d.ts +11 -1
  276. package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -1
  277. package/dist/shell/unified-engine-lifecycle.js +10 -1
  278. package/dist/shell/unified-engine-lifecycle.js.map +1 -1
  279. package/dist/spawn/directive-dispatch.d.ts.map +1 -1
  280. package/dist/spawn/directive-dispatch.js +1 -0
  281. package/dist/spawn/directive-dispatch.js.map +1 -1
  282. package/dist/spawn/lead-continuation.d.ts +4 -3
  283. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  284. package/dist/spawn/lead-continuation.js.map +1 -1
  285. package/dist/spawn/live-answer-delivery.d.ts +53 -0
  286. package/dist/spawn/live-answer-delivery.d.ts.map +1 -0
  287. package/dist/spawn/live-answer-delivery.js +26 -0
  288. package/dist/spawn/live-answer-delivery.js.map +1 -0
  289. package/dist/spawn/routing-decider-spawn.d.ts +64 -2
  290. package/dist/spawn/routing-decider-spawn.d.ts.map +1 -1
  291. package/dist/spawn/routing-decider-spawn.js +65 -20
  292. package/dist/spawn/routing-decider-spawn.js.map +1 -1
  293. package/dist/spawn/worktree-session.d.ts +7 -5
  294. package/dist/spawn/worktree-session.d.ts.map +1 -1
  295. package/dist/spawn/worktree-session.js +11 -7
  296. package/dist/spawn/worktree-session.js.map +1 -1
  297. package/dist/supervision/escalation-filing.js +1 -1
  298. package/dist/supervision/incident-correlation.d.ts +4 -1
  299. package/dist/supervision/incident-correlation.d.ts.map +1 -1
  300. package/dist/supervision/incident-correlation.js +7 -2
  301. package/dist/supervision/incident-correlation.js.map +1 -1
  302. package/dist/supervision/review-cycle-cap-hold.d.ts +11 -5
  303. package/dist/supervision/review-cycle-cap-hold.d.ts.map +1 -1
  304. package/dist/supervision/review-cycle-cap-hold.js +29 -11
  305. package/dist/supervision/review-cycle-cap-hold.js.map +1 -1
  306. package/dist/supervision/review-loop-detector.d.ts +48 -0
  307. package/dist/supervision/review-loop-detector.d.ts.map +1 -0
  308. package/dist/supervision/review-loop-detector.js +13 -0
  309. package/dist/supervision/review-loop-detector.js.map +1 -0
  310. package/dist/supervision/review-loop-hold.d.ts +29 -0
  311. package/dist/supervision/review-loop-hold.d.ts.map +1 -0
  312. package/dist/supervision/review-loop-hold.js +99 -0
  313. package/dist/supervision/review-loop-hold.js.map +1 -0
  314. package/dist/supervision/stall-detector-config.d.ts +8 -0
  315. package/dist/supervision/stall-detector-config.d.ts.map +1 -1
  316. package/dist/supervision/stall-detector-config.js +14 -3
  317. package/dist/supervision/stall-detector-config.js.map +1 -1
  318. package/dist/supervision/stop-registry.d.ts +4 -0
  319. package/dist/supervision/stop-registry.d.ts.map +1 -1
  320. package/dist/supervision/stop-registry.js +3 -1
  321. package/dist/supervision/stop-registry.js.map +1 -1
  322. package/dist/supervision/stop-rows-delivery.d.ts +10 -0
  323. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  324. package/dist/supervision/stop-rows-delivery.js +29 -0
  325. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  326. package/dist/supervision/stop-rows-review-loop.d.ts +35 -0
  327. package/dist/supervision/stop-rows-review-loop.d.ts.map +1 -0
  328. package/dist/supervision/stop-rows-review-loop.js +150 -0
  329. package/dist/supervision/stop-rows-review-loop.js.map +1 -0
  330. package/dist/supervision/stop-rows-team-session.d.ts +1 -1
  331. package/dist/supervision/stop-rows-team-session.d.ts.map +1 -1
  332. package/dist/supervision/stop-rows-team-session.js.map +1 -1
  333. package/dist/supervision/unreviewed-settle-detector.d.ts +7 -2
  334. package/dist/supervision/unreviewed-settle-detector.d.ts.map +1 -1
  335. package/dist/supervision/unreviewed-settle-detector.js +15 -2
  336. package/dist/supervision/unreviewed-settle-detector.js.map +1 -1
  337. package/dist/templates/agents-md.d.ts.map +1 -1
  338. package/dist/templates/agents-md.js +1 -0
  339. package/dist/templates/agents-md.js.map +1 -1
  340. package/dist/templates/claude-md.d.ts +1 -1
  341. package/dist/templates/claude-md.d.ts.map +1 -1
  342. package/dist/templates/claude-md.js +12 -0
  343. package/dist/templates/claude-md.js.map +1 -1
  344. package/dist/testing/fixtures/api-client.js +1 -1
  345. package/dist/testing/fixtures/index.js +1 -1
  346. package/dist/testing/fixtures/pending-spawn-world.d.ts +4 -0
  347. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  348. package/dist/testing/fixtures/pending-spawn-world.js +15 -2
  349. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  350. package/dist/testing/fixtures/recording-api-client.js +1 -1
  351. package/dist/testing/fixtures/review-exit-deps.d.ts.map +1 -1
  352. package/dist/testing/fixtures/review-exit-deps.js +3 -1
  353. package/dist/testing/fixtures/review-exit-deps.js.map +1 -1
  354. package/dist/testing/fixtures/review-loop.d.ts +19 -0
  355. package/dist/testing/fixtures/review-loop.d.ts.map +1 -0
  356. package/dist/testing/fixtures/review-loop.js +30 -0
  357. package/dist/testing/fixtures/review-loop.js.map +1 -0
  358. package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts.map +1 -1
  359. package/dist/testing/fixtures/shortfall-rework-hold-deps.js +1 -0
  360. package/dist/testing/fixtures/shortfall-rework-hold-deps.js.map +1 -1
  361. package/dist/testing/fixtures/tower-loop.d.ts +28 -0
  362. package/dist/testing/fixtures/tower-loop.d.ts.map +1 -0
  363. package/dist/testing/fixtures/tower-loop.js +83 -0
  364. package/dist/testing/fixtures/tower-loop.js.map +1 -0
  365. package/dist/tower/tower-escalation-gather.d.ts +33 -0
  366. package/dist/tower/tower-escalation-gather.d.ts.map +1 -0
  367. package/dist/tower/tower-escalation-gather.js +38 -0
  368. package/dist/tower/tower-escalation-gather.js.map +1 -0
  369. package/dist/tower/tower-escalation-prompt.d.ts +62 -0
  370. package/dist/tower/tower-escalation-prompt.d.ts.map +1 -0
  371. package/dist/tower/tower-escalation-prompt.js +130 -0
  372. package/dist/tower/tower-escalation-prompt.js.map +1 -0
  373. package/dist/tower/tower-escalation-routing.d.ts +49 -0
  374. package/dist/tower/tower-escalation-routing.d.ts.map +1 -0
  375. package/dist/tower/tower-escalation-routing.js +53 -0
  376. package/dist/tower/tower-escalation-routing.js.map +1 -0
  377. package/dist/tower/tower-escalation-session.d.ts +149 -0
  378. package/dist/tower/tower-escalation-session.d.ts.map +1 -0
  379. package/dist/tower/tower-escalation-session.js +238 -0
  380. package/dist/tower/tower-escalation-session.js.map +1 -0
  381. package/dist/tower/tower-supervisor-history.d.ts +129 -0
  382. package/dist/tower/tower-supervisor-history.d.ts.map +1 -0
  383. package/dist/tower/tower-supervisor-history.js +217 -0
  384. package/dist/tower/tower-supervisor-history.js.map +1 -0
  385. package/dist/tower/tower-supervisor-prompt.d.ts +21 -0
  386. package/dist/tower/tower-supervisor-prompt.d.ts.map +1 -0
  387. package/dist/tower/tower-supervisor-prompt.js +205 -0
  388. package/dist/tower/tower-supervisor-prompt.js.map +1 -0
  389. package/dist/tower/tower-supervisor-session.d.ts +220 -0
  390. package/dist/tower/tower-supervisor-session.d.ts.map +1 -0
  391. package/dist/tower/tower-supervisor-session.js +307 -0
  392. package/dist/tower/tower-supervisor-session.js.map +1 -0
  393. package/dist/tower/tower-supervisor.d.ts +86 -0
  394. package/dist/tower/tower-supervisor.d.ts.map +1 -0
  395. package/dist/tower/tower-supervisor.js +8 -0
  396. package/dist/tower/tower-supervisor.js.map +1 -0
  397. package/dist/types/index.js +1 -1
  398. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
  399. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +11 -0
  400. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
  401. package/dist/verify/effect-reconciliation/verify-reconciliation.js +35 -2
  402. package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
  403. package/dist/verify/effect-reconciliation/verify-restatement.d.ts +4 -0
  404. package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
  405. package/dist/verify/effect-reconciliation/verify-restatement.js +3 -3
  406. package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
  407. package/dist/verify/engine/reconciliation-step.d.ts +9 -2
  408. package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
  409. package/dist/verify/engine/reconciliation-step.js +26 -3
  410. package/dist/verify/engine/reconciliation-step.js.map +1 -1
  411. package/dist/verify/outcome-routing/incurable-model-hold.d.ts +2 -0
  412. package/dist/verify/outcome-routing/incurable-model-hold.d.ts.map +1 -1
  413. package/dist/verify/outcome-routing/incurable-model-hold.js +21 -6
  414. package/dist/verify/outcome-routing/incurable-model-hold.js.map +1 -1
  415. package/dist/verify/outcome-routing/repeating-model-hold.d.ts.map +1 -1
  416. package/dist/verify/outcome-routing/repeating-model-hold.js +13 -7
  417. package/dist/verify/outcome-routing/repeating-model-hold.js.map +1 -1
  418. package/dist/verify/outcome-routing/unjudged-node-hold.d.ts +31 -0
  419. package/dist/verify/outcome-routing/unjudged-node-hold.d.ts.map +1 -0
  420. package/dist/verify/outcome-routing/unjudged-node-hold.js +134 -0
  421. package/dist/verify/outcome-routing/unjudged-node-hold.js.map +1 -0
  422. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts +4 -0
  423. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts.map +1 -1
  424. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js +25 -8
  425. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js.map +1 -1
  426. package/dist/verify/outcome-routing/verification-rework-issue.d.ts +4 -4
  427. package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
  428. package/dist/verify/outcome-routing/verification-rework-issue.js +16 -6
  429. package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
  430. package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
  431. package/dist/verify/shortfalls/pre-judge-rulings.js +1 -0
  432. package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
  433. package/package.json +3 -3
@@ -1,6 +1,7 @@
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
- // packages/daemon/src/supervision/review-cycle-cap-hold.test.ts
3
+ // packages/daemon/src/supervision/review-cycle-cap-hold.test.ts,
4
+ // packages/daemon/src/supervision/review-loop-hold.test.ts
4
5
  // PINNED-BY-END
5
6
  /**
6
7
  * The spawn-gate half of the spent review budget: a focus whose
@@ -37,6 +38,13 @@
37
38
  * poll, so a transient failure delays one poll instead of billing a pass the
38
39
  * budget exists to prevent.
39
40
  *
41
+ * THE HELD REVIEW LOOP rejoins here (the read the async signature was kept
42
+ * for): after the budget, every resolver below consults the review_loop_held
43
+ * row (supervision/review-loop-hold.ts) -- a focus whose review loop the review
44
+ * exit detected as non-converging is held by the same gates, the same way,
45
+ * until its loop is resolved. Two rows, one gate surface: the budget decides
46
+ * first, and its log line names it; the loop hold logs its own.
47
+ *
40
48
  * History: docs/daemon/history-team-lifecycle.md (supervision/review-cycle-cap-hold.ts).
41
49
  *
42
50
  * @module supervision/review-cycle-cap-hold
@@ -44,6 +52,7 @@
44
52
  import { safetyGateFailsClosed } from '../workflow/gate-failure-policy.js';
45
53
  import { createLogger } from '../log/daemon-log.js';
46
54
  import { evaluateStop } from './stop-registry.js';
55
+ import { createProductReviewLoopHoldReader, resolveReviewLoopHold } from './review-loop-hold.js';
47
56
  const log = createLogger({ module: 'focus' });
48
57
  /** Pure: whether the spent review budget holds the focus. An unreadable count holds. */
49
58
  export function isReviewCycleCapHeld(facts) {
@@ -65,15 +74,8 @@ const heldLoggedFocuses = new Set();
65
74
  export function __resetReviewCycleCapHoldLog() {
66
75
  heldLoggedFocuses.clear();
67
76
  }
68
- /**
69
- * Resolve the backstop for a focus whose review_cycle_count the caller already
70
- * read (null when it could not), and log the held edge once per episode.
71
- *
72
- * Async because every gate calls it in an await position and the un-arm that
73
- * normally precedes it is the asynchronous half of the same decision; keeping
74
- * the signature lets a future read rejoin here without touching four gates.
75
- */
76
- export async function resolveReviewCycleCapHold(focus, deps) {
77
+ /** The budget half alone: decide on the count the caller read and log the held edge once per episode. */
78
+ function resolveBudgetHold(focus, deps) {
77
79
  const facts = readReviewCycleCapFacts(focus, deps);
78
80
  const held = isReviewCycleCapHeld(facts);
79
81
  if (!held) {
@@ -87,6 +89,19 @@ export async function resolveReviewCycleCapHold(focus, deps) {
87
89
  }
88
90
  return held;
89
91
  }
92
+ /**
93
+ * Resolve the backstop for a focus whose review_cycle_count the caller already
94
+ * read (null when it could not) -- the spent budget, then the held review loop
95
+ * -- logging each held edge once per episode.
96
+ *
97
+ * Async because every gate calls it in an await position; the held-loop read
98
+ * (supervision/review-loop-hold.ts) is the read that signature was kept for.
99
+ */
100
+ export async function resolveReviewCycleCapHold(focus, deps) {
101
+ if (resolveBudgetHold(focus, deps))
102
+ return true;
103
+ return resolveReviewLoopHold(focus, deps.reviewLoopHold);
104
+ }
90
105
  /**
91
106
  * A backstop reader for the ready-focus spawn gate. getReadyFocuses rows do not
92
107
  * carry review_cycle_count, so the count comes from the active-focus read --
@@ -107,10 +122,13 @@ export function createReadyFocusCapHoldReader(organizationId, deps) {
107
122
  }
108
123
  return counts;
109
124
  };
125
+ const readLoopHold = createProductReviewLoopHoldReader(deps.reviewLoopHold);
110
126
  return async (focus) => {
111
127
  const counts = await readCounts(focus.product_id);
112
128
  const reviewCycleCount = counts?.get(focus.focus_id) ?? null;
113
- return resolveReviewCycleCapHold({ focusId: focus.focus_id, focusName: focus.focus_name, reviewCycleCount }, deps);
129
+ if (resolveBudgetHold({ focusId: focus.focus_id, focusName: focus.focus_name, reviewCycleCount }, deps))
130
+ return true;
131
+ return readLoopHold(focus);
114
132
  };
115
133
  }
116
134
  //# sourceMappingURL=review-cycle-cap-hold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-cycle-cap-hold.js","sourceRoot":"","sources":["../../src/supervision/review-cycle-cap-hold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-cycle-cap-hold.js","sourceRoot":"","sources":["../../src/supervision/review-cycle-cap-hold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * THE NON-CONVERGING REVIEW LOOP: one criterion failing alone, review after
3
+ * review, each review naming a new blocking finding against it.
4
+ *
5
+ * Tinker Tailor f114 ran nine consecutive reviews that each judged every other
6
+ * criterion met and filed one new blocking Bug against the same criterion. The
7
+ * coding pass fixed each Bug and the next review found the next one: the
8
+ * criterion was unbounded, so the loop could not converge, and nothing saw it
9
+ * until the review budget (TELORA_REVIEW_CYCLE_CAP) ended the run. The loop is
10
+ * a judgement call -- is the criterion unbounded, or is the work really short?
11
+ * -- and the operator ruled a Tower supervisor makes it, not the operator. This
12
+ * module SEES the loop, so the review exit can hold it and call the supervisor
13
+ * (completion/review-cycle-budget/review-loop-detection.ts).
14
+ *
15
+ * THE RULE. On the N most recent consecutive verdict-bearing reviews under the
16
+ * arm (N = TELORA_REVIEW_LOOP_THRESHOLD, default 3):
17
+ * - exactly ONE criterion key is not_met, and it is the SAME key on all N;
18
+ * - every other criterion is met or excused (implied: a verdict is one of
19
+ * the three);
20
+ * - each of the N reviews names at least one BLOCKING issue against that
21
+ * criterion (an issue its not_met verdict names that is in the review's
22
+ * stored blocking set) that no EARLIER of the N reviews named.
23
+ * Fewer than N reviews, a second unmet criterion, a review whose verdicts
24
+ * name no criterion at all (a row from before focus_reviews.criterion_verdicts),
25
+ * a review re-naming only findings an earlier one named, or a review whose
26
+ * not_met names no blocking issue: no loop. The last two matter: a criterion
27
+ * whose one finding is simply not fixed yet is not a loop -- the coding pass
28
+ * still owes that finding -- and a reopening nobody demonstrated blocks
29
+ * nothing, so it moves nothing.
30
+ *
31
+ * Criterion identity is the criterion-reopenings identity (`node:<uuid>` /
32
+ * `text:<normalized>`), stored by focus_review_complete; the rule only compares
33
+ * keys. The decision itself is the review_loop_detected stop row
34
+ * (supervision/stop-rows-review-loop.ts); this module asks the registry.
35
+ *
36
+ * Pure: no I/O.
37
+ *
38
+ * @module supervision/review-loop-detector
39
+ */
40
+ import type { ReviewVerdictRecord } from '../queries/focus-review/review-criterion-verdicts.js';
41
+ import type { ReviewLoopDetection } from './stop-rows-review-loop.js';
42
+ /**
43
+ * Detect a non-converging loop over the focus's reviews since the arm, given
44
+ * NEWEST FIRST. `threshold` below 2 is read as 2 (one failing review is not a
45
+ * loop). Returns the loop (its reviews oldest first), or null.
46
+ */
47
+ export declare function detectNonConvergingReviewLoop(reviewsNewestFirst: readonly ReviewVerdictRecord[], threshold: number): ReviewLoopDetection | null;
48
+ //# sourceMappingURL=review-loop-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-loop-detector.d.ts","sourceRoot":"","sources":["../../src/supervision/review-loop-detector.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAEhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,EAClD,SAAS,EAAE,MAAM,GAChB,mBAAmB,GAAG,IAAI,CAE5B"}
@@ -0,0 +1,13 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/supervision/review-loop-detector.test.ts
3
+ // PINNED-BY-END
4
+ import { evaluateStop } from './stop-registry.js';
5
+ /**
6
+ * Detect a non-converging loop over the focus's reviews since the arm, given
7
+ * NEWEST FIRST. `threshold` below 2 is read as 2 (one failing review is not a
8
+ * loop). Returns the loop (its reviews oldest first), or null.
9
+ */
10
+ export function detectNonConvergingReviewLoop(reviewsNewestFirst, threshold) {
11
+ return evaluateStop('review_loop_detected', { reviewsNewestFirst, threshold });
12
+ }
13
+ //# sourceMappingURL=review-loop-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-loop-detector.js","sourceRoot":"","sources":["../../src/supervision/review-loop-detector.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,gBAAgB;AA2ChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,kBAAkD,EAClD,SAAiB;IAEjB,OAAO,YAAY,CAAC,sBAAsB,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { OpenReviewLoop } from '../queries/tower-decisions/tower-decisions.js';
2
+ /** The open-loop read (production: queries/tower-decisions listOpenReviewLoops, bound at the composition root). */
3
+ export interface ReviewLoopHoldDeps {
4
+ listOpenReviewLoops: (scope: {
5
+ focusId: string;
6
+ } | {
7
+ productId: string | null;
8
+ }) => Promise<OpenReviewLoop[]>;
9
+ }
10
+ /** Pure: whether a focus's open loops (null = the read failed) hold it. */
11
+ export declare function isReviewLoopHeld(openLoopIds: readonly string[] | null): boolean;
12
+ /** Test seam: clear the per-episode log throttle. */
13
+ export declare function __resetReviewLoopHoldLog(): void;
14
+ /** Resolve the hold for one focus (one read). */
15
+ export declare function resolveReviewLoopHold(focus: {
16
+ focusId: string;
17
+ focusName: string;
18
+ }, deps: ReviewLoopHoldDeps): Promise<boolean>;
19
+ /**
20
+ * A hold reader for the ready-focus gate: the open loops are read once per
21
+ * product for the reader's lifetime (create one per poll). A failed read holds
22
+ * every focus of that product.
23
+ */
24
+ export declare function createProductReviewLoopHoldReader(deps: ReviewLoopHoldDeps): (focus: {
25
+ focus_id: string;
26
+ focus_name: string;
27
+ product_id: string | null;
28
+ }) => Promise<boolean>;
29
+ //# sourceMappingURL=review-loop-hold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-loop-hold.d.ts","sourceRoot":"","sources":["../../src/supervision/review-loop-hold.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAIpF,mHAAmH;AACnH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC/G;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAE/E;AAKD,qDAAqD;AACrD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAoBD,iDAAiD;AACjD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC7C,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,kBAAkB,GACvB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAsBlG"}
@@ -0,0 +1,99 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/supervision/review-loop-hold.test.ts
3
+ // PINNED-BY-END
4
+ /**
5
+ * The spawn-gate hold of a non-converging review loop: a focus carrying an
6
+ * OPEN loop_detected decision (recorded under its current arm, no
7
+ * loop_resolved naming it) spawns no coding or review pass. The condition is
8
+ * the review_loop_held stop-registry row (supervision/stop-rows-review-spawn.ts).
9
+ *
10
+ * The review exit records the decision when it detects the loop
11
+ * (completion/review-cycle-budget/review-loop-detection.ts) and hands it to
12
+ * the Tower supervisor; this module is what makes the record HOLD. It never
13
+ * un-arms the focus and spends no review cycle: the loop waits for a decision,
14
+ * not for a human to grant a budget.
15
+ *
16
+ * Read by the same gates, through the same resolver, as the spent review
17
+ * budget: supervision/review-cycle-cap-hold.ts resolveReviewCycleCapHold and
18
+ * createReadyFocusCapHoldReader consult it after the budget, so the ready-focus
19
+ * gate, the pending-directive pass, the tower's demand probe and the
20
+ * auto-review window hold on a loop exactly as they hold on a spent budget --
21
+ * the read the cap hold's async signature was kept for.
22
+ *
23
+ * Fails CLOSED: an unreadable decision record holds. Same reasoning as the
24
+ * budget's count read (workflow/gate-failure-policy.ts, safety class): the
25
+ * read repeats every poll, so a transient failure delays one poll, while a
26
+ * fail-open read would spawn the very pass the loop is held against. A server
27
+ * that predates the record answers `unknown_action`, which the query reads as
28
+ * no loops (queries/tower-decisions/tower-decisions.ts) -- no loop can exist
29
+ * there, so nothing is held for one.
30
+ *
31
+ * @module supervision/review-loop-hold
32
+ */
33
+ import { safetyGateFailsClosed } from '../workflow/gate-failure-policy.js';
34
+ import { createLogger } from '../log/daemon-log.js';
35
+ import { evaluateStop } from './stop-registry.js';
36
+ const log = createLogger({ module: 'focus' });
37
+ /** Pure: whether a focus's open loops (null = the read failed) hold it. */
38
+ export function isReviewLoopHeld(openLoopIds) {
39
+ return evaluateStop('review_loop_held', { openLoopIds });
40
+ }
41
+ /** Focuses whose held episode was already logged (one line per episode, not per poll). */
42
+ const heldLoggedFocuses = new Set();
43
+ /** Test seam: clear the per-episode log throttle. */
44
+ export function __resetReviewLoopHoldLog() {
45
+ heldLoggedFocuses.clear();
46
+ }
47
+ /** Decide and log (once per held episode) for a focus whose open loops were read. */
48
+ function decideAndLog(focus, openLoopIds) {
49
+ const held = isReviewLoopHeld(openLoopIds);
50
+ if (!held) {
51
+ heldLoggedFocuses.delete(focus.focusId);
52
+ }
53
+ else if (!heldLoggedFocuses.has(focus.focusId)) {
54
+ heldLoggedFocuses.add(focus.focusId);
55
+ log.info(`[review-loop-hold] "${focus.focusName}" is held by ` +
56
+ (openLoopIds === null
57
+ ? 'an unreadable decision record (fail closed)'
58
+ : `${openLoopIds.length} open non-converging review loop(s) (${openLoopIds.map((id) => id.slice(0, 8)).join(', ')})`) +
59
+ `: no coding or review pass spawns until a loop_resolved decision names each loop, or a new arm. The focus stays armed.`);
60
+ }
61
+ return held;
62
+ }
63
+ /** Resolve the hold for one focus (one read). */
64
+ export async function resolveReviewLoopHold(focus, deps) {
65
+ const ids = await deps.listOpenReviewLoops({ focusId: focus.focusId })
66
+ .then((loops) => loops.map((l) => l.towerDecisionId))
67
+ .catch((err) => safetyGateFailsClosed(`review-loop-hold read (focus ${focus.focusId.slice(0, 8)})`, err, null));
68
+ return decideAndLog(focus, ids);
69
+ }
70
+ /**
71
+ * A hold reader for the ready-focus gate: the open loops are read once per
72
+ * product for the reader's lifetime (create one per poll). A failed read holds
73
+ * every focus of that product.
74
+ */
75
+ export function createProductReviewLoopHoldReader(deps) {
76
+ const byProduct = new Map();
77
+ const read = (productId) => {
78
+ const key = productId ?? '';
79
+ let loops = byProduct.get(key);
80
+ if (!loops) {
81
+ loops = deps.listOpenReviewLoops({ productId })
82
+ .then((rows) => {
83
+ const map = new Map();
84
+ for (const r of rows)
85
+ map.set(r.focusId, [...(map.get(r.focusId) ?? []), r.towerDecisionId]);
86
+ return map;
87
+ })
88
+ .catch((err) => safetyGateFailsClosed(`review-loop-hold read (product ${key || '<none>'})`, err, null));
89
+ byProduct.set(key, loops);
90
+ }
91
+ return loops;
92
+ };
93
+ return async (focus) => {
94
+ const map = await read(focus.product_id);
95
+ const ids = map === null ? null : (map.get(focus.focus_id) ?? []);
96
+ return decideAndLog({ focusId: focus.focus_id, focusName: focus.focus_name }, ids);
97
+ };
98
+ }
99
+ //# sourceMappingURL=review-loop-hold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-loop-hold.js","sourceRoot":"","sources":["../../src/supervision/review-loop-hold.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,14 @@ export declare function resolveReviewCycleCap(): number;
12
12
  export declare function resolveIdleTeamStallHours(): number;
13
13
  /** Resolve the review-exit hand-off cap (env override or default 3). */
14
14
  export declare function resolveReviewHandoffCap(): number;
15
+ /**
16
+ * Resolve the non-converging review-loop threshold (env override or default 3):
17
+ * the consecutive reviews on which ONE criterion fails alone before the daemon
18
+ * holds the loop and calls the Tower supervisor
19
+ * (supervision/review-loop-detector.ts). Never below 2: one failing review is
20
+ * not a loop. Read raw pending the daemon-core republish that carries the field.
21
+ */
22
+ export declare function resolveReviewLoopThreshold(): number;
15
23
  /** Resolve the review-liveness window in minutes (env override or default 15). */
16
24
  export declare function resolveReviewLivenessWindowMinutes(): number;
17
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"stall-detector-config.d.ts","sourceRoot":"","sources":["../../src/supervision/stall-detector-config.ts"],"names":[],"mappings":"AAqCA,uEAAuE;AACvE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wFAAwF;AACxF,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AASD,wEAAwE;AACxE,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,kFAAkF;AAClF,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAE5D;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,4FAA4F;AAC5F,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD"}
1
+ {"version":3,"file":"stall-detector-config.d.ts","sourceRoot":"","sources":["../../src/supervision/stall-detector-config.ts"],"names":[],"mappings":"AAsCA,uEAAuE;AACvE,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wFAAwF;AACxF,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AASD,wEAAwE;AACxE,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,kFAAkF;AAClF,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAE5D;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,4FAA4F;AAC5F,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,IAAI,MAAM,CAE1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD"}
@@ -1,7 +1,8 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/completion/completion-event/stall-guard-time-floor.test.ts,
3
3
  // packages/daemon/src/focus/focus-poller-auto-advance-teamless-wedge.test.ts,
4
- // packages/daemon/src/supervision/stall-detectors-clock-wiring.test.ts
4
+ // packages/daemon/src/supervision/stall-detectors-clock-wiring.test.ts,
5
+ // packages/daemon/src/tower/tower-supervisor.test.ts
5
6
  // PINNED-BY-END
6
7
  /**
7
8
  * Single in-daemon source for the stall-detector thresholds.
@@ -52,7 +53,7 @@ export function resolveReviewCycleCap() {
52
53
  export function resolveIdleTeamStallHours() {
53
54
  return loadEnvConfig().TELORA_IDLE_TEAM_STALL_HOURS;
54
55
  }
55
- // NOTE: the four resolvers below read process.env RAW (via rawPositiveNumber)
56
+ // NOTE: the resolvers below read process.env RAW (via rawPositiveNumber)
56
57
  // rather than loadEnvConfig() because their knobs are PENDING a daemon-core
57
58
  // republish (see rawPositiveNumber). The canonical declarations already live in
58
59
  // packages/daemon-core/src/env-config.ts; switch these to loadEnvConfig() and
@@ -60,7 +61,17 @@ export function resolveIdleTeamStallHours() {
60
61
  // is republished + pinned.
61
62
  /** Resolve the review-exit hand-off cap (env override or default 3). */
62
63
  export function resolveReviewHandoffCap() {
63
- return parsePositive(process.env.TELORA_REVIEW_HANDOFF_CAP, 3);
64
+ return loadEnvConfig().TELORA_REVIEW_HANDOFF_CAP;
65
+ }
66
+ /**
67
+ * Resolve the non-converging review-loop threshold (env override or default 3):
68
+ * the consecutive reviews on which ONE criterion fails alone before the daemon
69
+ * holds the loop and calls the Tower supervisor
70
+ * (supervision/review-loop-detector.ts). Never below 2: one failing review is
71
+ * not a loop. Read raw pending the daemon-core republish that carries the field.
72
+ */
73
+ export function resolveReviewLoopThreshold() {
74
+ return Math.max(2, Math.floor(parsePositive(process.env.TELORA_REVIEW_LOOP_THRESHOLD, 3)));
64
75
  }
65
76
  /** Resolve the review-liveness window in minutes (env override or default 15). */
66
77
  export function resolveReviewLivenessWindowMinutes() {
@@ -1 +1 @@
1
- {"version":3,"file":"stall-detector-config.js","sourceRoot":"","sources":["../../src/supervision/stall-detector-config.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,6FAA6F;AAC7F,gFAAgF;AAChF,yEAAyE;AACzE,gBAAgB;AAEhB;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAC,GAAuB,EAAE,QAAgB;IAC9D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,EAAE,CAAC,kCAAkC,CAAC;AAC5D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,6BAA6B;IAC3C,OAAO,aAAa,EAAE,CAAC,gCAAgC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,aAAa,EAAE,CAAC,uBAAuB,CAAC;AACjD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,yBAAyB;IACvC,OAAO,aAAa,EAAE,CAAC,4BAA4B,CAAC;AACtD,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,2BAA2B;AAE3B,wEAAwE;AACxE,MAAM,UAAU,uBAAuB;IACrC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kCAAkC;IAChD,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC;IACjD,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,2BAA2B;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,2BAA2B;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"stall-detector-config.js","sourceRoot":"","sources":["../../src/supervision/stall-detector-config.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,6FAA6F;AAC7F,gFAAgF;AAChF,0EAA0E;AAC1E,uDAAuD;AACvD,gBAAgB;AAEhB;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAC,GAAuB,EAAE,QAAgB;IAC9D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,EAAE,CAAC,kCAAkC,CAAC;AAC5D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,6BAA6B;IAC3C,OAAO,aAAa,EAAE,CAAC,gCAAgC,CAAC;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,aAAa,EAAE,CAAC,uBAAuB,CAAC;AACjD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,yBAAyB;IACvC,OAAO,aAAa,EAAE,CAAC,4BAA4B,CAAC;AACtD,CAAC;AAED,yEAAyE;AACzE,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,2BAA2B;AAE3B,wEAAwE;AACxE,MAAM,UAAU,uBAAuB;IACrC,OAAO,aAAa,EAAE,CAAC,yBAAyB,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kCAAkC;IAChD,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC;IACjD,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,2BAA2B;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,2BAA2B;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -70,6 +70,9 @@ export declare const STOP_REGISTRY: {
70
70
  readonly review_handoff_breaker_hold: StopRow<import("./stop-rows-review-spawn.js").ReviewHandoffBreakerHoldFacts, boolean>;
71
71
  readonly review_spawn_coverage_guard: StopRow<import("./stop-rows-review-spawn.js").ReviewSpawnCoverageGuardFacts, boolean>;
72
72
  readonly review_hold_park: StopRow<import("./stop-rows-review-spawn.js").ReviewHoldParkFacts, boolean>;
73
+ } & {
74
+ readonly review_loop_detected: StopRow<import("./stop-rows-review-loop.js").ReviewLoopDetectionFacts, import("./stop-rows-review-loop.js").ReviewLoopDetection | null>;
75
+ readonly review_loop_held: StopRow<import("./stop-rows-review-loop.js").ReviewLoopHeldFacts, boolean>;
73
76
  } & {
74
77
  readonly operator_hold: StopRow<import("./stop-rows-delivery.js").OperatorHoldFacts, boolean>;
75
78
  readonly operator_hold_escalation: StopRow<import("./stop-rows-delivery.js").OperatorHoldEscalationFacts, import("./stop-rows-delivery.js").OperatorHoldEscalationVerdict>;
@@ -82,6 +85,7 @@ export declare const STOP_REGISTRY: {
82
85
  readonly advance_hold: StopRow<import("./stop-rows-delivery.js").AdvanceHoldFacts, import("./stop-rows-delivery.js").AdvanceHoldVerdict>;
83
86
  readonly model_unavailable_verify_hold: StopRow<import("./stop-rows-delivery.js").ModelUnavailableVerifyHoldFacts, boolean>;
84
87
  readonly incurable_model_hold: StopRow<import("./stop-rows-delivery.js").IncurableModelHoldFacts, boolean>;
88
+ readonly unjudged_rejudge_limit: StopRow<import("./stop-rows-delivery.js").UnjudgedRejudgeLimitFacts, boolean>;
85
89
  readonly model_unavailable_done_hold: StopRow<import("./stop-rows-delivery.js").ModelUnavailableDoneHoldFacts, boolean>;
86
90
  readonly verify_run_in_flight_done_hold: StopRow<import("./stop-rows-delivery.js").VerifyRunInFlightDoneHoldFacts, boolean>;
87
91
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"stop-registry.d.ts","sourceRoot":"","sources":["../../src/supervision/stop-registry.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAYnE,8CAA8C;AAC9C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;AACxC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAEtF,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAEjD,uCAAuC;AACvC,wBAAgB,YAAY,IAAI,SAAS,UAAU,EAAE,CAEpD;AAED,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAI1E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAEpF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAK7F;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAGjF;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;CAAE,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE,CAQxE"}
1
+ {"version":3,"file":"stop-registry.d.ts","sourceRoot":"","sources":["../../src/supervision/stop-registry.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAanE,8CAA8C;AAC9C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;AACxC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAEtF,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAEjD,uCAAuC;AACvC,wBAAgB,YAAY,IAAI,SAAS,UAAU,EAAE,CAEpD;AAED,2DAA2D;AAC3D,MAAM,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAI1E;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAEpF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAK7F;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAGjF;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;CAAE,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE,CAQxE"}
@@ -1,6 +1,7 @@
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/completion-event/stall-termination-authority.test.ts,
3
3
  // packages/daemon/src/focus-stage-lifecycle/ratify-bar-gate.test.ts,
4
+ // packages/daemon/src/supervision/review-loop-detector.test.ts,
4
5
  // packages/daemon/src/supervision/stop-inventory.test.ts,
5
6
  // packages/daemon/src/supervision/stop-progress-record.test.ts,
6
7
  // packages/daemon/src/supervision/stop-registry.test.ts
@@ -34,13 +35,14 @@ import { COMPLETION_STALL_STOP_ROWS } from './stop-rows-completion-stall.js';
34
35
  import { TEAM_SESSION_STOP_ROWS } from './stop-rows-team-session.js';
35
36
  import { SPAWN_STOP_ROWS } from './stop-rows-spawn.js';
36
37
  import { REVIEW_SPAWN_STOP_ROWS } from './stop-rows-review-spawn.js';
38
+ import { REVIEW_LOOP_STOP_ROWS } from './stop-rows-review-loop.js';
37
39
  import { DELIVERY_STOP_ROWS } from './stop-rows-delivery.js';
38
40
  import { VERIFY_RERUN_STOP_ROWS } from './stop-rows-verify-rerun.js';
39
41
  import { FOCUS_HEALTH_STOP_ROWS } from './stop-rows-focus-health.js';
40
42
  import { TEAM_REGISTRATION_STOP_ROWS } from './stop-rows-team-registration.js';
41
43
  import { WORK_HOLD_STOP_ROWS } from './stop-rows-work-holds.js';
42
44
  /** Every registered stop, keyed by row id. */
43
- export const STOP_REGISTRY = combineStopRowTables(TEAM_STALL_STOP_ROWS, COMPLETION_STALL_STOP_ROWS, TEAM_SESSION_STOP_ROWS, SPAWN_STOP_ROWS, REVIEW_SPAWN_STOP_ROWS, DELIVERY_STOP_ROWS, VERIFY_RERUN_STOP_ROWS, FOCUS_HEALTH_STOP_ROWS, TEAM_REGISTRATION_STOP_ROWS, WORK_HOLD_STOP_ROWS);
45
+ export const STOP_REGISTRY = combineStopRowTables(TEAM_STALL_STOP_ROWS, COMPLETION_STALL_STOP_ROWS, TEAM_SESSION_STOP_ROWS, SPAWN_STOP_ROWS, REVIEW_SPAWN_STOP_ROWS, REVIEW_LOOP_STOP_ROWS, DELIVERY_STOP_ROWS, VERIFY_RERUN_STOP_ROWS, FOCUS_HEALTH_STOP_ROWS, TEAM_REGISTRATION_STOP_ROWS, WORK_HOLD_STOP_ROWS);
44
46
  /** Every row, in declaration order. */
45
47
  export function listStopRows() {
46
48
  return Object.values(STOP_REGISTRY);
@@ -1 +1 @@
1
- {"version":3,"file":"stop-registry.js","sourceRoot":"","sources":["../../src/supervision/stop-registry.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,kGAAkG;AAClG,uEAAuE;AACvE,4DAA4D;AAC5D,kEAAkE;AAClE,0DAA0D;AAC1D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,oBAAoB,EAAgB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,CACpB,CAAC;AAUF,uCAAuC;AACvC,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAqC,CAAC;AAC1E,CAAC;AAKD,IAAI,kBAAkB,GAAkC,IAAI,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAuC;IAC5E,kBAAkB,GAAG,QAAQ,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAmB,EAAK,EAAE,KAAqB;IACzE,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAyD,CAAC;IACtF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,kBAAkB,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,SAAS,CAAmB,EAAK,EAAE,KAAqB;IACtE,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAyD,CAAC;IACtF,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,SAAwB;IACpD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAa,EAAE,CAAC;QACxD,IAAI,CAAC,CAAC,EAAE,IAAI,SAAS,CAAC;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAA2B,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"stop-registry.js","sourceRoot":"","sources":["../../src/supervision/stop-registry.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,kGAAkG;AAClG,uEAAuE;AACvE,kEAAkE;AAClE,4DAA4D;AAC5D,kEAAkE;AAClE,0DAA0D;AAC1D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,oBAAoB,EAAgB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAC/C,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,CACpB,CAAC;AAUF,uCAAuC;AACvC,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAqC,CAAC;AAC1E,CAAC;AAKD,IAAI,kBAAkB,GAAkC,IAAI,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAuC;IAC5E,kBAAkB,GAAG,QAAQ,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAmB,EAAK,EAAE,KAAqB;IACzE,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAyD,CAAC;IACtF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,kBAAkB,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,SAAS,CAAmB,EAAK,EAAE,KAAqB;IACtE,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAyD,CAAC;IACtF,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,SAAwB;IACpD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAa,EAAE,CAAC;QACxD,IAAI,CAAC,CAAC,EAAE,IAAI,SAAS,CAAC;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAA2B,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -85,6 +85,15 @@ export interface IncurableModelHoldFacts {
85
85
  */
86
86
  inputChangeProven: boolean;
87
87
  }
88
+ /** Facts for re-holding an unjudged-node hold at its re-judge limit without a judge call. */
89
+ export interface UnjudgedRejudgeLimitFacts {
90
+ /** The standing unjudged hold has re-formed UNJUDGED_REJUDGE_LIMIT times on one input (verify/outcome-routing/unjudged-node-hold.ts). */
91
+ rejudgeLimitReached: boolean;
92
+ /** The hold recorded the input it was judged against. */
93
+ inputRecorded: boolean;
94
+ /** The current input was READ and differs from the recorded one. An unreadable current input proves no change. */
95
+ inputChangeProven: boolean;
96
+ }
88
97
  /** Facts for the review exit's done route. */
89
98
  export interface ModelUnavailableDoneHoldFacts {
90
99
  /** gate_state records the model-unavailable hold (queries/delivery-gate-state/verify-own-holds.ts). */
@@ -114,6 +123,7 @@ export declare const DELIVERY_STOP_ROWS: {
114
123
  readonly advance_hold: import("./stop-row.js").StopRow<AdvanceHoldFacts, AdvanceHoldVerdict>;
115
124
  readonly model_unavailable_verify_hold: import("./stop-row.js").StopRow<ModelUnavailableVerifyHoldFacts, boolean>;
116
125
  readonly incurable_model_hold: import("./stop-row.js").StopRow<IncurableModelHoldFacts, boolean>;
126
+ readonly unjudged_rejudge_limit: import("./stop-row.js").StopRow<UnjudgedRejudgeLimitFacts, boolean>;
117
127
  readonly model_unavailable_done_hold: import("./stop-row.js").StopRow<ModelUnavailableDoneHoldFacts, boolean>;
118
128
  readonly verify_run_in_flight_done_hold: import("./stop-row.js").StopRow<VerifyRunInFlightDoneHoldFacts, boolean>;
119
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stop-rows-delivery.d.ts","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"AA8BA,mGAAmG;AACnG,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,eAAe,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,gGAAgG;AAChG,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0FAA0F;IAC1F,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,oFAAoF;AACpF,MAAM,WAAW,2BAA2B;IAC1C,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,6FAA6F;IAC7F,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mEAAmE;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mEAAmE;IACnE,UAAU,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7C,2DAA2D;IAC3D,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0FAA0F;IAC1F,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,6FAA6F;AAC7F,MAAM,MAAM,6BAA6B,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC;AAE/F,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,iBAAiB,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;CACpD;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAC7C,gGAAgG;IAChG,OAAO,EAAE,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,6EAA6E;IAC7E,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mDAAmD;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,sFAAsF;IACtF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,IAAI,CAAC;AAEpF,kDAAkD;AAClD,MAAM,WAAW,+BAA+B;IAC9C,oGAAoG;IACpG,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,iFAAiF;AACjF,MAAM,WAAW,uBAAuB;IACtC,gHAAgH;IAChH,aAAa,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,8CAA8C;AAC9C,MAAM,WAAW,6BAA6B;IAC5C,uGAAuG;IACvG,4BAA4B,EAAE,OAAO,CAAC;CACvC;AAED,oFAAoF;AACpF,MAAM,WAAW,8BAA8B;IAC7C,6HAA6H;IAC7H,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAoLD,4IAA4I;AAC5I,MAAM,WAAW,wBAAwB;IACvC,4GAA4G;IAC5G,QAAQ,EAAE,OAAO,CAAC;IAClB,oHAAoH;IACpH,YAAY,EAAE,OAAO,CAAC;CACvB;AAwND,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAAqF,CAAC"}
1
+ {"version":3,"file":"stop-rows-delivery.d.ts","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}
@@ -340,6 +340,35 @@ const GATE_ROUTE_HOLD_ROWS = {
340
340
  ],
341
341
  },
342
342
  }),
343
+ unjudged_rejudge_limit: booleanStopRow({
344
+ id: 'unjudged_rejudge_limit',
345
+ kind: 'cap',
346
+ stopsOn: 'verify_node_unjudged_at_rejudge_limit',
347
+ enforcedBy: 'verify/outcome-routing/incurable-model-hold.ts',
348
+ condition: 'A delivery holds an unjudged-node verify hold (the judge ran but left a node without a judgment: its answer ' +
349
+ 'never parsed, or the reconciliation failed) that has re-formed UNJUDGED_REJUDGE_LIMIT times in a row on one ' +
350
+ 'judged input, and no change to that input has been observed (an unreadable current input observes none).',
351
+ factsRead: [
352
+ 'delivery gate_state.modelUnavailable (kind unjudged, reformCount, judgedAgainst)',
353
+ "the delivery's current commit-set fingerprint",
354
+ "the delivery's current rulings fingerprint (operator rulings and approving-review verdicts)",
355
+ 'the fingerprint of the question the judge is asked (every declared statement it is handed)',
356
+ ],
357
+ effect: 'The dispatch re-holds the delivery at its own status with NO judge call (no rework, no verify_failed, no ' +
358
+ 'iteration); the limit is surfaced once as its own verify_node_unjudged escalation naming each node\'s parse ' +
359
+ 'error and raw answer tail.',
360
+ releaser: 'A new commit on the delivery, a new shortfall ruling, a new approving review, or an edit of a declared statement the judge is handed.',
361
+ releaseCondition: 'A successful read of the commit-set, rulings and question fingerprints differs from the recorded one.',
362
+ evaluate: ({ rejudgeLimitReached, inputRecorded, inputChangeProven }) => rejudgeLimitReached && inputRecorded && !inputChangeProven,
363
+ characterization: {
364
+ trigger: [{ rejudgeLimitReached: true, inputRecorded: true, inputChangeProven: false }],
365
+ release: [
366
+ { rejudgeLimitReached: true, inputRecorded: true, inputChangeProven: true },
367
+ { rejudgeLimitReached: true, inputRecorded: false, inputChangeProven: false },
368
+ { rejudgeLimitReached: false, inputRecorded: true, inputChangeProven: false },
369
+ ],
370
+ },
371
+ }),
343
372
  model_unavailable_done_hold: booleanStopRow({
344
373
  id: 'model_unavailable_done_hold',
345
374
  kind: 'hold',
@@ -1 +1 @@
1
- {"version":3,"file":"stop-rows-delivery.js","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop-rows-delivery.js","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}