@telora/daemon 0.23.47 → 0.23.54

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 (319) hide show
  1. package/build-info.json +4 -3
  2. package/dist/cli/open.d.ts +67 -12
  3. package/dist/cli/open.d.ts.map +1 -1
  4. package/dist/cli/open.js +164 -62
  5. package/dist/cli/open.js.map +1 -1
  6. package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
  7. package/dist/completion/review-exit/review-census-record.js +2 -0
  8. package/dist/completion/review-exit/review-census-record.js.map +1 -1
  9. package/dist/completion/state-cascade/failed-verdict-stranded-filing.d.ts +35 -0
  10. package/dist/completion/state-cascade/failed-verdict-stranded-filing.d.ts.map +1 -0
  11. package/dist/completion/state-cascade/failed-verdict-stranded-filing.js +93 -0
  12. package/dist/completion/state-cascade/failed-verdict-stranded-filing.js.map +1 -0
  13. package/dist/completion/state-cascade/review-approved-head-gate.d.ts.map +1 -1
  14. package/dist/completion/state-cascade/review-approved-head-gate.js +1 -0
  15. package/dist/completion/state-cascade/review-approved-head-gate.js.map +1 -1
  16. package/dist/completion/state-cascade/review-next-step.d.ts +19 -6
  17. package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
  18. package/dist/completion/state-cascade/review-next-step.js +6 -2
  19. package/dist/completion/state-cascade/review-next-step.js.map +1 -1
  20. package/dist/completion/state-cascade/review-request-gate.d.ts +5 -0
  21. package/dist/completion/state-cascade/review-request-gate.d.ts.map +1 -1
  22. package/dist/completion/state-cascade/review-request-gate.js +7 -1
  23. package/dist/completion/state-cascade/review-request-gate.js.map +1 -1
  24. package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts +137 -0
  25. package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts.map +1 -0
  26. package/dist/completion/state-cascade/review-verify-judgment-gate.js +98 -0
  27. package/dist/completion/state-cascade/review-verify-judgment-gate.js.map +1 -0
  28. package/dist/completion/state-cascade/standing-approval-convergence.d.ts +8 -2
  29. package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
  30. package/dist/completion/state-cascade/standing-approval-convergence.js +33 -7
  31. package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
  32. package/dist/completion/state-cascade/standing-approval-failed-verdict.d.ts +107 -0
  33. package/dist/completion/state-cascade/standing-approval-failed-verdict.d.ts.map +1 -0
  34. package/dist/completion/state-cascade/standing-approval-failed-verdict.js +121 -0
  35. package/dist/completion/state-cascade/standing-approval-failed-verdict.js.map +1 -0
  36. package/dist/completion/state-cascade/standing-approval-stranded.d.ts +29 -3
  37. package/dist/completion/state-cascade/standing-approval-stranded.d.ts.map +1 -1
  38. package/dist/completion/state-cascade/standing-approval-stranded.js +120 -7
  39. package/dist/completion/state-cascade/standing-approval-stranded.js.map +1 -1
  40. package/dist/completion/state-cascade/state-cascade.d.ts +14 -0
  41. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  42. package/dist/completion/state-cascade/state-cascade.js +15 -6
  43. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  44. package/dist/completion/team-exit/status-advance-phase.d.ts +7 -0
  45. package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
  46. package/dist/completion/team-exit/status-advance-phase.js +26 -17
  47. package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
  48. package/dist/composition/advance-precheck-context.d.ts.map +1 -1
  49. package/dist/composition/advance-precheck-context.js +3 -0
  50. package/dist/composition/advance-precheck-context.js.map +1 -1
  51. package/dist/composition/execution-migrations-context.d.ts.map +1 -1
  52. package/dist/composition/execution-migrations-context.js +1 -20
  53. package/dist/composition/execution-migrations-context.js.map +1 -1
  54. package/dist/composition/runtime-delivery-advance-context.d.ts +12 -3
  55. package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
  56. package/dist/composition/runtime-delivery-advance-context.js +36 -4
  57. package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
  58. package/dist/composition/standing-approval-context.d.ts.map +1 -1
  59. package/dist/composition/standing-approval-context.js +4 -0
  60. package/dist/composition/standing-approval-context.js.map +1 -1
  61. package/dist/composition/state-cascade-context.d.ts +9 -0
  62. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  63. package/dist/composition/state-cascade-context.js +21 -1
  64. package/dist/composition/state-cascade-context.js.map +1 -1
  65. package/dist/composition/verification-context.js +1 -1
  66. package/dist/composition/verify-feedback-context.d.ts +5 -1
  67. package/dist/composition/verify-feedback-context.d.ts.map +1 -1
  68. package/dist/composition/verify-feedback-context.js +8 -3
  69. package/dist/composition/verify-feedback-context.js.map +1 -1
  70. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  71. package/dist/delivery/delivery-lifecycle.js +3 -0
  72. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  73. package/dist/delivery/paused-revival.d.ts.map +1 -1
  74. package/dist/delivery/paused-revival.js +2 -1
  75. package/dist/delivery/paused-revival.js.map +1 -1
  76. package/dist/delivery/recorded-concerns.d.ts +5 -2
  77. package/dist/delivery/recorded-concerns.d.ts.map +1 -1
  78. package/dist/delivery/recorded-concerns.js +8 -4
  79. package/dist/delivery/recorded-concerns.js.map +1 -1
  80. package/dist/focus/focus-poller-auto-advance.d.ts +15 -0
  81. package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
  82. package/dist/focus/focus-poller-auto-advance.js +23 -15
  83. package/dist/focus/focus-poller-auto-advance.js.map +1 -1
  84. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  85. package/dist/focus/pending-spawn-review-next-step.js +10 -9
  86. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  87. package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
  88. package/dist/focus/ready-focus-team-work.js +2 -1
  89. package/dist/focus/ready-focus-team-work.js.map +1 -1
  90. package/dist/index.js +1 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/prompt-sections/execution-sections.d.ts +5 -0
  93. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  94. package/dist/prompt-sections/execution-sections.js +12 -2
  95. package/dist/prompt-sections/execution-sections.js.map +1 -1
  96. package/dist/prompt-sections/gate-verdict-section.d.ts.map +1 -1
  97. package/dist/prompt-sections/gate-verdict-section.js +3 -1
  98. package/dist/prompt-sections/gate-verdict-section.js.map +1 -1
  99. package/dist/prompt-sections/persona-sections.d.ts +10 -0
  100. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  101. package/dist/prompt-sections/persona-sections.js +21 -6
  102. package/dist/prompt-sections/persona-sections.js.map +1 -1
  103. package/dist/prompt-sections/prompt-listing.d.ts +33 -0
  104. package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
  105. package/dist/prompt-sections/prompt-listing.js +67 -13
  106. package/dist/prompt-sections/prompt-listing.js.map +1 -1
  107. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  108. package/dist/prompt-sections/routing-decider-sections.js +6 -2
  109. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  110. package/dist/prompt-sections/shared.js +1 -1
  111. package/dist/prompt-sections/shortfall-gap-lines.d.ts +32 -0
  112. package/dist/prompt-sections/shortfall-gap-lines.d.ts.map +1 -0
  113. package/dist/prompt-sections/shortfall-gap-lines.js +58 -0
  114. package/dist/prompt-sections/shortfall-gap-lines.js.map +1 -0
  115. package/dist/prompt-sections/shortfall-park-section.d.ts +7 -1
  116. package/dist/prompt-sections/shortfall-park-section.d.ts.map +1 -1
  117. package/dist/prompt-sections/shortfall-park-section.js +27 -0
  118. package/dist/prompt-sections/shortfall-park-section.js.map +1 -1
  119. package/dist/queries/api-client/shared.js +1 -1
  120. package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts +43 -16
  121. package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts.map +1 -1
  122. package/dist/queries/delivery-gate-state/delivery-gate-state.js +43 -11
  123. package/dist/queries/delivery-gate-state/delivery-gate-state.js.map +1 -1
  124. package/dist/queries/delivery-gate-state/shortfall-judgment-record.d.ts +56 -0
  125. package/dist/queries/delivery-gate-state/shortfall-judgment-record.d.ts.map +1 -0
  126. package/dist/queries/delivery-gate-state/shortfall-judgment-record.js +123 -0
  127. package/dist/queries/delivery-gate-state/shortfall-judgment-record.js.map +1 -0
  128. package/dist/queries/delivery-gate-state/verify-own-holds.d.ts.map +1 -1
  129. package/dist/queries/delivery-gate-state/verify-own-holds.js +2 -1
  130. package/dist/queries/delivery-gate-state/verify-own-holds.js.map +1 -1
  131. package/dist/queries/escalations/cause-key.d.ts +9 -1
  132. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  133. package/dist/queries/escalations/cause-key.js +16 -2
  134. package/dist/queries/escalations/cause-key.js.map +1 -1
  135. package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
  136. package/dist/queries/escalations/filing-observation.js +3 -0
  137. package/dist/queries/escalations/filing-observation.js.map +1 -1
  138. package/dist/queries/focus-review/focus-review-approval.d.ts.map +1 -1
  139. package/dist/queries/focus-review/focus-review-approval.js +1 -0
  140. package/dist/queries/focus-review/focus-review-approval.js.map +1 -1
  141. package/dist/queries/focuses/focuses.d.ts.map +1 -1
  142. package/dist/queries/focuses/focuses.js +8 -4
  143. package/dist/queries/focuses/focuses.js.map +1 -1
  144. package/dist/queries/verification/shortfall-rulings.d.ts.map +1 -1
  145. package/dist/queries/verification/shortfall-rulings.js +3 -1
  146. package/dist/queries/verification/shortfall-rulings.js.map +1 -1
  147. package/dist/queries/verification/verification.js +1 -1
  148. package/dist/session/session-lineage.d.ts.map +1 -1
  149. package/dist/session/session-lineage.js +1 -0
  150. package/dist/session/session-lineage.js.map +1 -1
  151. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  152. package/dist/spawn/prompt-assembly.js +13 -1
  153. package/dist/spawn/prompt-assembly.js.map +1 -1
  154. package/dist/supervision/agent-resolvable-promotion.d.ts +3 -2
  155. package/dist/supervision/agent-resolvable-promotion.d.ts.map +1 -1
  156. package/dist/supervision/agent-resolvable-promotion.js +3 -2
  157. package/dist/supervision/agent-resolvable-promotion.js.map +1 -1
  158. package/dist/supervision/escalation-clearing.d.ts +14 -1
  159. package/dist/supervision/escalation-clearing.d.ts.map +1 -1
  160. package/dist/supervision/escalation-clearing.js +28 -1
  161. package/dist/supervision/escalation-clearing.js.map +1 -1
  162. package/dist/supervision/escalation-suppression.js +1 -1
  163. package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
  164. package/dist/supervision/focus-delivery-aggregate-phase.js +1 -0
  165. package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
  166. package/dist/supervision/holds.d.ts.map +1 -1
  167. package/dist/supervision/holds.js +1 -0
  168. package/dist/supervision/holds.js.map +1 -1
  169. package/dist/supervision/null-role-spawn.d.ts.map +1 -1
  170. package/dist/supervision/null-role-spawn.js +1 -0
  171. package/dist/supervision/null-role-spawn.js.map +1 -1
  172. package/dist/supervision/stop-registry.d.ts +1 -0
  173. package/dist/supervision/stop-registry.d.ts.map +1 -1
  174. package/dist/supervision/stop-rows-delivery.d.ts +8 -0
  175. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  176. package/dist/supervision/stop-rows-delivery.js +28 -2
  177. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  178. package/dist/supervision/team-work.d.ts.map +1 -1
  179. package/dist/supervision/team-work.js +1 -0
  180. package/dist/supervision/team-work.js.map +1 -1
  181. package/dist/supervision/verify-gate-stall.d.ts.map +1 -1
  182. package/dist/supervision/verify-gate-stall.js +1 -0
  183. package/dist/supervision/verify-gate-stall.js.map +1 -1
  184. package/dist/testing/fixtures/api-client.js +1 -1
  185. package/dist/testing/fixtures/escalation-store.d.ts +35 -0
  186. package/dist/testing/fixtures/escalation-store.d.ts.map +1 -0
  187. package/dist/testing/fixtures/escalation-store.js +86 -0
  188. package/dist/testing/fixtures/escalation-store.js.map +1 -0
  189. package/dist/testing/fixtures/index.js +1 -1
  190. package/dist/testing/fixtures/recording-api-client.js +1 -1
  191. package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts +22 -0
  192. package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts.map +1 -0
  193. package/dist/testing/fixtures/shortfall-rework-hold-deps.js +44 -0
  194. package/dist/testing/fixtures/shortfall-rework-hold-deps.js.map +1 -0
  195. package/dist/testing/fixtures/verification-feedback-deps.d.ts +7 -2
  196. package/dist/testing/fixtures/verification-feedback-deps.d.ts.map +1 -1
  197. package/dist/testing/fixtures/verification-feedback-deps.js +15 -19
  198. package/dist/testing/fixtures/verification-feedback-deps.js.map +1 -1
  199. package/dist/types/index.js +1 -1
  200. package/dist/types/issue-description-budget.d.ts.map +1 -1
  201. package/dist/types/issue-description-budget.js +1 -0
  202. package/dist/types/issue-description-budget.js.map +1 -1
  203. package/dist/types/issue-status.d.ts +17 -0
  204. package/dist/types/issue-status.d.ts.map +1 -1
  205. package/dist/types/issue-status.js +23 -1
  206. package/dist/types/issue-status.js.map +1 -1
  207. package/dist/verify/effect-reconciliation/pending-injection-stamp.d.ts.map +1 -1
  208. package/dist/verify/effect-reconciliation/pending-injection-stamp.js +1 -0
  209. package/dist/verify/effect-reconciliation/pending-injection-stamp.js.map +1 -1
  210. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +18 -3
  211. package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
  212. package/dist/verify/effect-reconciliation/verify-reconciliation.js +26 -6
  213. package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
  214. package/dist/verify/effect-reconciliation/verify-restatement.d.ts +8 -0
  215. package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
  216. package/dist/verify/effect-reconciliation/verify-restatement.js +5 -2
  217. package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
  218. package/dist/verify/engine/verification-commit-sharing.d.ts +6 -0
  219. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  220. package/dist/verify/engine/verification-commit-sharing.js +34 -1
  221. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  222. package/dist/verify/engine/verification-deps.js +1 -1
  223. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  224. package/dist/verify/engine/verification-engine.js +12 -3
  225. package/dist/verify/engine/verification-engine.js.map +1 -1
  226. package/dist/verify/gate-config/verification-config.js +1 -1
  227. package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
  228. package/dist/verify/gate-verdicts/explicit-gate-outcome.d.ts.map +1 -1
  229. package/dist/verify/gate-verdicts/explicit-gate-outcome.js +2 -0
  230. package/dist/verify/gate-verdicts/explicit-gate-outcome.js.map +1 -1
  231. package/dist/verify/gate-verdicts/gate-run-registry.js +1 -1
  232. package/dist/verify/gate-verdicts/own-gate-verdict.d.ts +10 -0
  233. package/dist/verify/gate-verdicts/own-gate-verdict.d.ts.map +1 -1
  234. package/dist/verify/gate-verdicts/own-gate-verdict.js +3 -2
  235. package/dist/verify/gate-verdicts/own-gate-verdict.js.map +1 -1
  236. package/dist/verify/outcome-routing/shortfall-rework-issue.d.ts +101 -0
  237. package/dist/verify/outcome-routing/shortfall-rework-issue.d.ts.map +1 -0
  238. package/dist/verify/outcome-routing/shortfall-rework-issue.js +250 -0
  239. package/dist/verify/outcome-routing/shortfall-rework-issue.js.map +1 -0
  240. package/dist/verify/outcome-routing/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  241. package/dist/verify/outcome-routing/verification-evidence-unavailable-feedback.js +4 -1
  242. package/dist/verify/outcome-routing/verification-evidence-unavailable-feedback.js.map +1 -1
  243. package/dist/verify/outcome-routing/verification-feedback.d.ts +38 -7
  244. package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
  245. package/dist/verify/outcome-routing/verification-feedback.js +45 -46
  246. package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
  247. package/dist/verify/outcome-routing/verification-history-reset.d.ts +2 -1
  248. package/dist/verify/outcome-routing/verification-history-reset.d.ts.map +1 -1
  249. package/dist/verify/outcome-routing/verification-history-reset.js +5 -2
  250. package/dist/verify/outcome-routing/verification-history-reset.js.map +1 -1
  251. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts +2 -1
  252. package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts.map +1 -1
  253. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js +5 -1
  254. package/dist/verify/outcome-routing/verification-model-unavailable-hold.js.map +1 -1
  255. package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
  256. package/dist/verify/outcome-routing/verification-rework-issue.js +4 -1
  257. package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
  258. package/dist/verify/outcome-routing/verification-rework-messages.d.ts +8 -2
  259. package/dist/verify/outcome-routing/verification-rework-messages.d.ts.map +1 -1
  260. package/dist/verify/outcome-routing/verification-rework-messages.js +18 -7
  261. package/dist/verify/outcome-routing/verification-rework-messages.js.map +1 -1
  262. package/dist/verify/run-selection/default-on-guards.d.ts +15 -0
  263. package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
  264. package/dist/verify/run-selection/default-on-guards.js +18 -1
  265. package/dist/verify/run-selection/default-on-guards.js.map +1 -1
  266. package/dist/verify/run-selection/explicit-rearm.d.ts.map +1 -1
  267. package/dist/verify/run-selection/explicit-rearm.js +1 -0
  268. package/dist/verify/run-selection/explicit-rearm.js.map +1 -1
  269. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
  270. package/dist/verify/run-selection/pre-review-gate-dispatch.js +15 -6
  271. package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
  272. package/dist/verify/run-selection/reselection-log-line.d.ts +1 -1
  273. package/dist/verify/run-selection/reselection-log-line.d.ts.map +1 -1
  274. package/dist/verify/run-selection/reselection-log-line.js +6 -2
  275. package/dist/verify/run-selection/reselection-log-line.js.map +1 -1
  276. package/dist/verify/run-selection/unanswered-dispatch.d.ts +20 -0
  277. package/dist/verify/run-selection/unanswered-dispatch.d.ts.map +1 -0
  278. package/dist/verify/run-selection/unanswered-dispatch.js +85 -0
  279. package/dist/verify/run-selection/unanswered-dispatch.js.map +1 -0
  280. package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
  281. package/dist/verify/run-selection/verification-default-on.js +2 -1
  282. package/dist/verify/run-selection/verification-default-on.js.map +1 -1
  283. package/dist/verify/shortfalls/delivery-commit-set.d.ts.map +1 -1
  284. package/dist/verify/shortfalls/delivery-commit-set.js +2 -1
  285. package/dist/verify/shortfalls/delivery-commit-set.js.map +1 -1
  286. package/dist/verify/shortfalls/latest-shortfall-judgment.d.ts +24 -0
  287. package/dist/verify/shortfalls/latest-shortfall-judgment.d.ts.map +1 -0
  288. package/dist/verify/shortfalls/latest-shortfall-judgment.js +94 -0
  289. package/dist/verify/shortfalls/latest-shortfall-judgment.js.map +1 -0
  290. package/dist/verify/shortfalls/parked-shortfall-reuse.d.ts.map +1 -1
  291. package/dist/verify/shortfalls/parked-shortfall-reuse.js +20 -6
  292. package/dist/verify/shortfalls/parked-shortfall-reuse.js.map +1 -1
  293. package/dist/verify/shortfalls/shortfall-judgment-log.d.ts +12 -0
  294. package/dist/verify/shortfalls/shortfall-judgment-log.d.ts.map +1 -0
  295. package/dist/verify/shortfalls/shortfall-judgment-log.js +56 -0
  296. package/dist/verify/shortfalls/shortfall-judgment-log.js.map +1 -0
  297. package/dist/verify/shortfalls/shortfall-park-escalation.d.ts.map +1 -1
  298. package/dist/verify/shortfalls/shortfall-park-escalation.js +6 -2
  299. package/dist/verify/shortfalls/shortfall-park-escalation.js.map +1 -1
  300. package/dist/verify/shortfalls/shortfall-park.d.ts +9 -0
  301. package/dist/verify/shortfalls/shortfall-park.d.ts.map +1 -1
  302. package/dist/verify/shortfalls/shortfall-park.js +23 -19
  303. package/dist/verify/shortfalls/shortfall-park.js.map +1 -1
  304. package/dist/verify/shortfalls/shortfall-repeat.d.ts +14 -0
  305. package/dist/verify/shortfalls/shortfall-repeat.d.ts.map +1 -1
  306. package/dist/verify/shortfalls/shortfall-repeat.js +15 -1
  307. package/dist/verify/shortfalls/shortfall-repeat.js.map +1 -1
  308. package/dist/verify/shortfalls/shortfall-rework-hold.d.ts +66 -0
  309. package/dist/verify/shortfalls/shortfall-rework-hold.d.ts.map +1 -0
  310. package/dist/verify/shortfalls/shortfall-rework-hold.js +230 -0
  311. package/dist/verify/shortfalls/shortfall-rework-hold.js.map +1 -0
  312. package/dist/verify/shortfalls/shortfall-rulings.d.ts +40 -10
  313. package/dist/verify/shortfalls/shortfall-rulings.d.ts.map +1 -1
  314. package/dist/verify/shortfalls/shortfall-rulings.js +59 -15
  315. package/dist/verify/shortfalls/shortfall-rulings.js.map +1 -1
  316. package/dist/worktree/focus-worktree-state.d.ts.map +1 -1
  317. package/dist/worktree/focus-worktree-state.js +1 -0
  318. package/dist/worktree/focus-worktree-state.js.map +1 -1
  319. package/package.json +2 -2
@@ -1,8 +1,11 @@
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/state-cascade/standing-approval-convergence.test.ts,
3
+ // packages/daemon/src/completion/state-cascade/standing-approval-failed-verdict.test.ts,
3
4
  // packages/daemon/src/completion/state-cascade/standing-approval-stranded.test.ts,
4
5
  // packages/daemon/src/composition/review-holds-context.test.ts,
5
6
  // packages/daemon/src/integration/approved-head-hold-release-regression.test.ts,
7
+ // packages/daemon/src/integration/failed-verdict-ruling-rejudge-regression.test.ts,
8
+ // packages/daemon/src/integration/last-shortfall-judgment-round-trip.test.ts,
6
9
  // packages/daemon/src/integration/merge-back-approved-head-regression.test.ts,
7
10
  // packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
8
11
  // packages/daemon/src/integration/standing-approval-release-regression.test.ts
@@ -65,6 +68,15 @@
65
68
  * the identical reason across consecutive polls is reported ONCE, anchored to it
66
69
  * (completion/state-cascade/standing-approval-stranded.ts).
67
70
  *
71
+ * A FAILED verdict at the approved head is examined on the same poll, never
72
+ * converged (completion/state-cascade/standing-approval-failed-verdict.ts): a verify
73
+ * delivery whose latest verify judgment of the approved commit is a shortfall
74
+ * failure, with no verify run, park, new ruling or owed work answering for it, is
75
+ * declined `failed_verdict` and counted by the same stranded streak. Once a
76
+ * delivery's stranding ends -- this pass converged it, or it left verify -- its
77
+ * open stranded filing is resolved (standing-approval-stranded.ts
78
+ * resolveClearedStrands).
79
+ *
68
80
  * FAILS CLOSED: an unreadable head, approval, census, issue list, workflow or hold
69
81
  * leaves the delivery in verify; the next poll retries. A read failure is never
70
82
  * converted into done.
@@ -87,7 +99,8 @@ import { readDoneRouteVerdict, verifyRunHoldsDone, } from '../review-exit-holds/
87
99
  import { isHeadAlreadyApproved } from './review-approved-head-gate.js';
88
100
  import { readShortfallPark } from '../../queries/delivery-gate-state/delivery-gate-state.js';
89
101
  import { createLogger } from '../../log/daemon-log.js';
90
- import { reportStandingApprovalDeclines, } from './standing-approval-stranded.js';
102
+ import { reportStandingApprovalDeclines, resolveClearedStrands, } from './standing-approval-stranded.js';
103
+ import { examineFailedVerdicts, failedVerdictCandidates, forgetFailedVerdictNotes, } from './standing-approval-failed-verdict.js';
91
104
  const log = createLogger({ module: 'state-cascade' });
92
105
  /** gate_state keys that record a verify failure or a hold (never a pass). */
93
106
  const HOLD_OR_FAILURE_KEYS = [
@@ -140,6 +153,7 @@ const lastLoggedReason = new Map();
140
153
  /** Test seam: forget logged hold reasons. */
141
154
  export function __resetStandingApprovalConvergenceForTests() {
142
155
  lastLoggedReason.clear();
156
+ forgetFailedVerdictNotes();
143
157
  }
144
158
  function logHeldOnce(focus, d, sha, reason) {
145
159
  if (lastLoggedReason.get(d.id) === reason)
@@ -212,22 +226,23 @@ async function readApprovedHead(deps, focus) {
212
226
  }
213
227
  /**
214
228
  * Converge every covered, passed, unheld verify delivery of the focus on its
215
- * standing approval (see the module header). Never throws.
229
+ * standing approval, and examine every failed-verdict one (see the module header).
230
+ * Never throws.
216
231
  */
217
232
  export async function convergeOnStandingApproval(focus, deliveries, deps) {
218
233
  const outcome = { converged: [], held: [] };
219
234
  const candidates = deliveries.filter(isStandingApprovalCandidate);
235
+ const failed = failedVerdictCandidates(deliveries);
220
236
  for (const d of deliveries)
221
237
  if (!candidates.includes(d))
222
238
  lastLoggedReason.delete(d.id);
223
239
  const seen = deliveries.map((d) => d.id);
224
- if (candidates.length === 0 || deps.isReviewSessionActive(focus.focusId)) {
225
- await reportStandingApprovalDeclines(focus, null, seen, [], deps.fileStrandedEscalation);
226
- return outcome;
227
- }
228
- const approved = await readApprovedHead(deps, focus);
240
+ const approved = (candidates.length === 0 && failed.length === 0) || deps.isReviewSessionActive(focus.focusId)
241
+ ? null
242
+ : await readApprovedHead(deps, focus);
229
243
  if (approved === null) {
230
244
  await reportStandingApprovalDeclines(focus, null, seen, [], deps.fileStrandedEscalation);
245
+ await resolveClearedStrands(focus, deliveries, [], null, deps.resolveStrandedEscalations);
231
246
  return outcome;
232
247
  }
233
248
  const { approvedSha } = approved;
@@ -244,9 +259,20 @@ export async function convergeOnStandingApproval(focus, deliveries, deps) {
244
259
  }
245
260
  if (covered.length > 0)
246
261
  await convergeCovered(focus, covered, deps, approved, outcome, decline);
262
+ if (failed.length > 0)
263
+ declines.push(...await examineFailed(focus, failed, deps, approved, outcome));
247
264
  await reportStandingApprovalDeclines(focus, approvedSha, seen, declines, deps.fileStrandedEscalation);
265
+ await resolveClearedStrands(focus, deliveries, outcome.converged, approvedSha, deps.resolveStrandedEscalations);
248
266
  return outcome;
249
267
  }
268
+ /** Examine the failed-verdict candidates at the approved head; each counted one is also reported as held. */
269
+ async function examineFailed(focus, failed, deps, approved, outcome) {
270
+ const head = { approvedSha: approved.approvedSha, advanceHead: approved.advance?.head ?? null };
271
+ const declines = await examineFailedVerdicts(focus, failed, head, deps, () => deps.readRecordedConcernIds(focus.focusId));
272
+ for (const d of declines)
273
+ outcome.held.push({ deliveryId: d.deliveryId, reason: d.reason });
274
+ return declines;
275
+ }
250
276
  /** Cross each census-covered candidate through the done gates, writing done for every one they let through. */
251
277
  async function convergeCovered(focus, covered, deps, approved, outcome, decline) {
252
278
  const shortfall = await resolveShortfallHold(deps, focus.focusId, focus.focusName);
@@ -1 +1 @@
1
- {"version":3,"file":"standing-approval-convergence.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-convergence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standing-approval-convergence.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-convergence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The standing-approval pass's BACKSTOP for a FAILED verdict: a verify delivery
3
+ * whose latest verify judgment of the already-approved focus head is a failure is
4
+ * examined on every cascade poll and, when nothing will move it, reported as a
5
+ * decline that the stranded counter files after the same
6
+ * STANDING_APPROVAL_STRANDED_POLLS identical polls as a passed one
7
+ * (completion/state-cascade/standing-approval-stranded.ts), naming each held node
8
+ * (completion/state-cascade/failed-verdict-stranded-filing.ts).
9
+ *
10
+ * WHY. completion/state-cascade/standing-approval-convergence.ts examined only a
11
+ * delivery whose recorded verify outcome is `passed`. A failed one at an approved
12
+ * head has no other mover: review does not reopen at that head
13
+ * (completion/state-cascade/review-approved-head-gate.ts), verify does not judge an
14
+ * unchanged commit again on its own, and an approval does not cover a failed
15
+ * verdict, so it never converges -- and the convergence's candidate filter dropped
16
+ * it before the stranded counter ever saw it, so nothing was filed either.
17
+ *
18
+ * WHAT IS READ AS "FAILED AT THE APPROVED HEAD", in order:
19
+ * 1. verify/shortfalls/latest-shortfall-judgment.ts readFailedShortfallJudgment:
20
+ * the delivery sits in verify, unparked; its row's verification_outcome is
21
+ * 'failed' or unrecorded (null -- the edge resets a failure on its re-work
22
+ * round trip); no deterministic-failure, blind-evidence or awaited-model
23
+ * detail stands live; and its latest shortfall judgment is the LIVE
24
+ * gate_state.shortfallReconciliation, else the KEPT
25
+ * verificationHistory.lastShortfallJudgment, naming at least one node;
26
+ * 2. that judgment's commit (its judgedSha: the commit its re-work writer
27
+ * stamped, else its gate verdict's sha) is the approved commit, or the head
28
+ * a foreign-only advance moved past it. A judgment naming no commit, or
29
+ * another commit, is not about this head (a later commit is judged at the
30
+ * focus's pre-review run).
31
+ * The row's outcome is never read alone: it names no commit.
32
+ *
33
+ * NEVER CONVERGES. A failed verdict is not covered by an approval; this pass only
34
+ * reports it. Its done gates are not crossed.
35
+ *
36
+ * NOT COUNTED -- something already answers for the delivery, and the identical-poll
37
+ * count starts over like any other change of state:
38
+ * - a verify run is selected or in flight for it (isGateRunSelected): verify is
39
+ * judging it now;
40
+ * - it is PARKED: the park filed its one escalation
41
+ * (verify/shortfalls/shortfall-park-escalation.ts) and a ruling releases it
42
+ * (rule 1 above reads no park);
43
+ * - a ruling the judgment did not apply is in force (shortfall-park.ts
44
+ * rulingRecordedSince against the fingerprint its repeat record carries): it
45
+ * awaits re-judgement, which the ruling re-arm selects
46
+ * (verify/shortfalls/shortfall-rulings.ts);
47
+ * - it owes open work (delivery/recorded-concerns.ts splitOpenWork over its work
48
+ * issues): a coding pass is next, and the live open-work pass routes it.
49
+ * An unreadable input (its issues, or its rulings) decides nothing: like the
50
+ * passed path's, the delivery is declined `read_failed`, counted and filed after
51
+ * the same polls -- still naming the held nodes -- so a read that never comes back
52
+ * does not hide it.
53
+ *
54
+ * THE SIGNATURE the streak compares is the approved commit, the row's outcome and
55
+ * the judgment (when it held, the commit it judged, and per node its id, its
56
+ * unjudged discriminator and its reason): a new head, a changed outcome or a new
57
+ * judgment starts the count over.
58
+ *
59
+ * History: docs/daemon/history-team-lifecycle.md (completion/state-cascade/standing-approval-failed-verdict.ts).
60
+ *
61
+ * @module completion/state-cascade/standing-approval-failed-verdict
62
+ */
63
+ import type { FocusDeliveryInfo } from '../../types/index.js';
64
+ import type { getDeliveryIssues } from '../../queries/deliveries/issues.js';
65
+ import { type FailedShortfallJudgment } from '../../verify/shortfalls/latest-shortfall-judgment.js';
66
+ import type { ShortfallRulingsReader } from '../../verify/shortfalls/shortfall-rulings.js';
67
+ import type { StandingApprovalDecline } from './standing-approval-stranded.js';
68
+ /** The reads the examination takes (a slice of StandingApprovalDeps). */
69
+ export interface FailedVerdictDeps {
70
+ /** Whether a verify run for the delivery is selected or in flight. Absent: none is. */
71
+ isGateRunSelected?: (deliveryId: string) => boolean;
72
+ getDeliveryIssues: typeof getDeliveryIssues;
73
+ /** The delivery's active shortfall rulings and their fingerprint. Absent: none are known. */
74
+ readShortfallRulings?: ShortfallRulingsReader;
75
+ }
76
+ /** A verify delivery whose latest judgment is a shortfall failure, before its commit is compared with the head. */
77
+ export interface FailedVerdictCandidate {
78
+ delivery: FocusDeliveryInfo;
79
+ failed: FailedShortfallJudgment;
80
+ }
81
+ /** The approved commit, and the head a foreign-only advance moved past it (null when none). */
82
+ export interface FailedVerdictHead {
83
+ approvedSha: string;
84
+ advanceHead: string | null;
85
+ }
86
+ /** The focus the examination logs under. */
87
+ interface FailedVerdictFocus {
88
+ focusId: string;
89
+ focusName: string;
90
+ }
91
+ /**
92
+ * The deliveries whose latest verify judgment is a shortfall failure (rule 1 of
93
+ * the module header); every other delivery's logged state is forgotten.
94
+ */
95
+ export declare function failedVerdictCandidates(deliveries: readonly FocusDeliveryInfo[]): FailedVerdictCandidate[];
96
+ /** What the streak compares for a failed-verdict decline (module header, THE SIGNATURE). Pure. */
97
+ export declare function failedVerdictSignature(failed: FailedShortfallJudgment, approvedSha: string): string;
98
+ /** Forget every logged state (the convergence's test seam calls it). */
99
+ export declare function forgetFailedVerdictNotes(): void;
100
+ /**
101
+ * Examine each failed-verdict candidate at the approved head and return the
102
+ * declines to count (module header). `readConcernIds` is called at most once.
103
+ * Never throws: a read that fails is a `read_failed` decline.
104
+ */
105
+ export declare function examineFailedVerdicts(focus: FailedVerdictFocus, candidates: readonly FailedVerdictCandidate[], head: FailedVerdictHead, deps: FailedVerdictDeps, readConcernIds: () => Promise<ReadonlySet<string>>): Promise<StandingApprovalDecline[]>;
106
+ export {};
107
+ //# sourceMappingURL=standing-approval-failed-verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standing-approval-failed-verdict.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-failed-verdict.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAI5E,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAEjI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAM/E,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,mHAAmH;AACnH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,+FAA+F;AAC/F,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,4CAA4C;AAC5C,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,sBAAsB,EAAE,CAQ1G;AASD,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGnG;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAkDD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,SAAS,sBAAsB,EAAE,EAC7C,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,cAAc,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GACjD,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAgCpC"}
@@ -0,0 +1,121 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/completion/state-cascade/standing-approval-failed-verdict.test.ts
3
+ // PINNED-BY-END
4
+ import { filterWorkIssues } from '../../types/issue-status.js';
5
+ import { splitOpenWork } from '../../delivery/recorded-concerns.js';
6
+ import { sameCommit } from '../../queries/focus-review/focus-review-approval.js';
7
+ import { readFailedShortfallJudgment } from '../../verify/shortfalls/latest-shortfall-judgment.js';
8
+ import { rulingRecordedSince } from '../../verify/shortfalls/shortfall-park.js';
9
+ import { createLogger } from '../../log/daemon-log.js';
10
+ const log = createLogger({ module: 'state-cascade' });
11
+ /** deliveryId -> the last state logged for it (one line per delivery per state, not one per poll). */
12
+ const lastNoted = new Map();
13
+ /**
14
+ * The deliveries whose latest verify judgment is a shortfall failure (rule 1 of
15
+ * the module header); every other delivery's logged state is forgotten.
16
+ */
17
+ export function failedVerdictCandidates(deliveries) {
18
+ const out = [];
19
+ for (const delivery of deliveries) {
20
+ const failed = readFailedShortfallJudgment(delivery);
21
+ if (failed !== null)
22
+ out.push({ delivery, failed });
23
+ else
24
+ lastNoted.delete(delivery.id);
25
+ }
26
+ return out;
27
+ }
28
+ /** The judged commit when it is the approved head (rule 2), else null. Pure. */
29
+ function judgedAtHead(failed, head) {
30
+ const sha = failed.judgment.judgedSha;
31
+ if (sha === undefined || sha === '')
32
+ return null;
33
+ return sameCommit(sha, head.approvedSha) || (head.advanceHead !== null && sameCommit(sha, head.advanceHead)) ? sha : null;
34
+ }
35
+ /** What the streak compares for a failed-verdict decline (module header, THE SIGNATURE). Pure. */
36
+ export function failedVerdictSignature(failed, approvedSha) {
37
+ const nodes = failed.judgment.nodes.map((n) => `${n.nodeId}:${n.unjudged ?? ''}:${n.reason}`).join(';');
38
+ return `failed_verdict|${approvedSha}|${failed.outcome ?? 'unrecorded'}|${failed.judgment.judgedSha ?? ''}|${failed.judgment.heldAt}|${nodes}`;
39
+ }
40
+ /** Forget every logged state (the convergence's test seam calls it). */
41
+ export function forgetFailedVerdictNotes() {
42
+ lastNoted.clear();
43
+ }
44
+ function noteOnce(d, state, line) {
45
+ if (lastNoted.get(d.id) === state)
46
+ return;
47
+ lastNoted.set(d.id, state);
48
+ log.info(line());
49
+ }
50
+ /** Why `d` is not counted this poll (module header, NOT COUNTED), or null when nothing answers for it. */
51
+ async function answeredBy(d, failed, deps, concernIds) {
52
+ if (deps.isGateRunSelected?.(d.id) === true)
53
+ return 'a verify run for it is in flight';
54
+ if (deps.readShortfallRulings) {
55
+ const { fingerprint } = await deps.readShortfallRulings(d.id);
56
+ if (rulingRecordedSince(failed.appliedRulings, fingerprint))
57
+ return 'a ruling verify did not apply is in force; it awaits re-judgement';
58
+ }
59
+ const work = filterWorkIssues(await deps.getDeliveryIssues(d.id));
60
+ if (splitOpenWork(work, await concernIds()).owed.length > 0)
61
+ return 'it owes open work; a coding pass is next';
62
+ return null;
63
+ }
64
+ /** The decline for one counted delivery: its judgment, held at the approved head. */
65
+ function declineOf(d, failed, judgedSha, approvedSha, readFailure) {
66
+ const payload = {
67
+ heldAt: failed.judgment.heldAt, judgedSha, outcome: failed.outcome, nodes: failed.judgment.nodes,
68
+ };
69
+ const ids = failed.judgment.nodes.map((n) => n.nodeId).join(', ');
70
+ if (readFailure !== null) {
71
+ return { deliveryId: d.id, deliveryName: d.name, kind: 'read_failed', reason: `a read failed (${readFailure})`, failed: payload };
72
+ }
73
+ return {
74
+ deliveryId: d.id,
75
+ deliveryName: d.name,
76
+ kind: 'failed_verdict',
77
+ reason: `verify's latest judgment of ${approvedSha.slice(0, 12)} is a failure on node(s) ${ids}`,
78
+ signature: failedVerdictSignature(failed, approvedSha),
79
+ failed: payload,
80
+ };
81
+ }
82
+ /**
83
+ * Examine each failed-verdict candidate at the approved head and return the
84
+ * declines to count (module header). `readConcernIds` is called at most once.
85
+ * Never throws: a read that fails is a `read_failed` decline.
86
+ */
87
+ export async function examineFailedVerdicts(focus, candidates, head, deps, readConcernIds) {
88
+ let concerns;
89
+ const concernIds = () => (concerns ??= readConcernIds());
90
+ const declines = [];
91
+ for (const { delivery: d, failed } of candidates) {
92
+ const judgedSha = judgedAtHead(failed, head);
93
+ if (judgedSha === null) {
94
+ lastNoted.delete(d.id);
95
+ continue;
96
+ }
97
+ let answered;
98
+ try {
99
+ answered = await answeredBy(d, failed, deps, concernIds);
100
+ }
101
+ catch (err) {
102
+ const decline = declineOf(d, failed, judgedSha, head.approvedSha, err.message);
103
+ noteOnce(d, decline.reason, () => `[state-cascade] Delivery "${d.name}" on "${focus.focusName}" failed verify at the approved head ` +
104
+ `${head.approvedSha.slice(0, 12)} and could not be examined this poll: ${decline.reason}. Left in verify; re-read next poll.`);
105
+ declines.push(decline);
106
+ continue;
107
+ }
108
+ if (answered !== null) {
109
+ noteOnce(d, `answered:${answered}`, () => `[state-cascade] Delivery "${d.name}" on "${focus.focusName}" failed verify at the ` +
110
+ `approved head ${head.approvedSha.slice(0, 12)}; not stranded: ${answered}.`);
111
+ continue;
112
+ }
113
+ const decline = declineOf(d, failed, judgedSha, head.approvedSha, null);
114
+ noteOnce(d, decline.signature ?? decline.reason, () => `[state-cascade] Delivery "${d.name}" on "${focus.focusName}": ${decline.reason}, ` +
115
+ 'and nothing re-judges it -- no verify run, no park, no ruling since that judgment, no owed work. Left in verify; ' +
116
+ 'filed as stranded if it stands for the stranded poll count. A shortfall ruling on those nodes, or a new delivery commit, moves it.');
117
+ declines.push(decline);
118
+ }
119
+ return declines;
120
+ }
121
+ //# sourceMappingURL=standing-approval-failed-verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standing-approval-failed-verdict.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-failed-verdict.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { FileEscalationIdempotentParams, FileEscalationIdempotentResult } from '../../supervision/escalation-suppression.js';
2
+ import { type StrandedFailedJudgment } from './failed-verdict-stranded-filing.js';
2
3
  /** Consecutive passes with the identical decline before the delivery is filed, and between asks after (~2.5 min at the 30s poll). */
3
4
  export declare const STANDING_APPROVAL_STRANDED_POLLS = 5;
4
5
  /** The filing's escalation_kind (see the module header for why this existing kind). */
@@ -6,13 +7,17 @@ export declare const STANDING_APPROVAL_STRANDED_KIND = "verify_gate_unclearable"
6
7
  /** metadata.diagnosis of the filing (its cause namespace). */
7
8
  export declare const STANDING_APPROVAL_STRANDED_DIAGNOSIS = "standing_approval_unconverged";
8
9
  /** Why a pass declined a delivery: the class decides whether it is ever filed. */
9
- export type StandingApprovalDeclineKind = 'census' | 'reconciler' | 'operator_hold' | 'external_hold' | 'shortfall_hold' | 'verdict' | 'read_failed';
10
+ export type StandingApprovalDeclineKind = 'census' | 'reconciler' | 'operator_hold' | 'external_hold' | 'shortfall_hold' | 'verdict' | 'read_failed' | 'failed_verdict';
10
11
  /** One decline a pass made. */
11
12
  export interface StandingApprovalDecline {
12
13
  deliveryId: string;
13
14
  deliveryName: string;
14
15
  kind: StandingApprovalDeclineKind;
15
16
  reason: string;
17
+ /** What the identical-poll streak compares; the reason when absent. */
18
+ signature?: string;
19
+ /** The failed verify judgment that holds it (a failed-verdict decline, or a failed one the pass could not examine). */
20
+ failed?: StrandedFailedJudgment;
16
21
  }
17
22
  /** The focus the filing is anchored under. */
18
23
  export interface StrandedFocus {
@@ -23,11 +28,19 @@ export interface StrandedFocus {
23
28
  }
24
29
  /** The idempotent filer (supervision/escalation-suppression.ts fileEscalationIdempotent in production). */
25
30
  export type StrandedEscalationFiler = (params: FileEscalationIdempotentParams) => Promise<FileEscalationIdempotentResult>;
26
- /** Test seam: forget every streak. */
31
+ /**
32
+ * Resolves the open rows carrying any of `causeKeys` on the focus and retires the
33
+ * keys where they were absorbed as symptoms; returns the count resolved
34
+ * (supervision/escalation-clearing.ts resolveOpenEscalationsOfCause in production).
35
+ */
36
+ export type StrandedEscalationResolver = (focusId: string, causeKeys: readonly string[], notes: string) => Promise<number>;
37
+ /** Test seam: forget every streak and every ask. */
27
38
  export declare function __resetStandingApprovalStrandedForTests(): void;
28
39
  /** The cause key: one filing per delivery per approved commit. Pure. */
29
40
  export declare function strandedCauseKey(deliveryId: string, approvedSha: string): string;
30
- /** The filing for one stranded delivery. Pure. */
41
+ /** Every stranded cause key a delivery can carry at an approved commit: the passed and the failed-verdict filing. Pure. */
42
+ export declare function strandedCauseKeys(deliveryId: string, approvedSha: string): string[];
43
+ /** The filing for one stranded delivery: the failed-verdict variant when a failed judgment holds it. Pure. */
31
44
  export declare function buildStrandedEscalation(focus: StrandedFocus, decline: StandingApprovalDecline, approvedSha: string, polls: number): FileEscalationIdempotentParams;
32
45
  /**
33
46
  * Record one pass's declines and ask the idempotent gate to file each delivery
@@ -36,4 +49,17 @@ export declare function buildStrandedEscalation(focus: StrandedFocus, decline: S
36
49
  * at: one not declined this pass loses its streak. Never throws.
37
50
  */
38
51
  export declare function reportStandingApprovalDeclines(focus: StrandedFocus, approvedSha: string | null, seen: readonly string[], declines: readonly StandingApprovalDecline[], file: StrandedEscalationFiler | undefined): Promise<string[]>;
52
+ /** The delivery fields the close half reads. */
53
+ export interface StrandedDeliveryState {
54
+ id: string;
55
+ name: string;
56
+ executionStatus: string | null;
57
+ }
58
+ /**
59
+ * The close half (module header): resolve the open stranded rows of every
60
+ * delivery whose stranding ended -- `converged` by this pass at `approvedSha`, or
61
+ * one the gate was asked about that now sits outside verify. A resolve that
62
+ * fails is retried on the next pass. Returns the count resolved. Never throws.
63
+ */
64
+ export declare function resolveClearedStrands(focus: StrandedFocus, deliveries: readonly StrandedDeliveryState[], converged: readonly string[], approvedSha: string | null, resolve: StrandedEscalationResolver | undefined): Promise<number>;
39
65
  //# sourceMappingURL=standing-approval-stranded.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standing-approval-stranded.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-stranded.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EACV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,6CAA6C,CAAC;AAMrD,qIAAqI;AACrI,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,uFAAuF;AACvF,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,8DAA8D;AAC9D,eAAO,MAAM,oCAAoC,kCAAmC,CAAC;AAErF,kFAAkF;AAClF,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,GAAG,SAAS,GAAG,aAAa,CAAC;AAK/G,+BAA+B;AAC/B,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,2BAA2B,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2GAA2G;AAC3G,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAO1H,sCAAsC;AACtC,wBAAgB,uCAAuC,IAAI,IAAI,CAE9D;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,kDAAkD;AAClD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,uBAAuB,EAChC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,8BAA8B,CAqChC;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,EAAE,SAAS,uBAAuB,EAAE,EAC5C,IAAI,EAAE,uBAAuB,GAAG,SAAS,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnB"}
1
+ {"version":3,"file":"standing-approval-stranded.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-stranded.ts"],"names":[],"mappings":"AAyEA,OAAO,KAAK,EACV,8BAA8B,EAC9B,8BAA8B,EAC/B,MAAM,6CAA6C,CAAC;AAMrD,OAAO,EAAgC,KAAK,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAKhH,qIAAqI;AACrI,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,uFAAuF;AACvF,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,8DAA8D;AAC9D,eAAO,MAAM,oCAAoC,kCAAmC,CAAC;AAErF,kFAAkF;AAClF,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,GAAG,SAAS,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAKlI,+BAA+B;AAC/B,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,2BAA2B,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uHAAuH;IACvH,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2GAA2G;AAC3G,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,8BAA8B,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAE1H;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAU3H,oDAAoD;AACpD,wBAAgB,uCAAuC,IAAI,IAAI,CAG9D;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,2HAA2H;AAC3H,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnF;AAyCD,8GAA8G;AAC9G,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,uBAAuB,EAChC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,8BAA8B,CAsChC;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,EAAE,SAAS,uBAAuB,EAAE,EAC5C,IAAI,EAAE,uBAAuB,GAAG,SAAS,GACxC,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAUD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAC5C,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,0BAA0B,GAAG,SAAS,GAC9C,OAAO,CAAC,MAAM,CAAC,CA2BjB"}