@telora/daemon 0.22.293 → 0.23.0

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 (456) hide show
  1. package/build-info.json +13 -3
  2. package/dist/audit/audit-floor-policy.js +1 -1
  3. package/dist/audit/audit-floor-policy.js.map +1 -1
  4. package/dist/audit/audit-prompt.d.ts.map +1 -1
  5. package/dist/audit/audit-prompt.js +21 -14
  6. package/dist/audit/audit-prompt.js.map +1 -1
  7. package/dist/completion/completion-event/event.d.ts +7 -0
  8. package/dist/completion/completion-event/event.d.ts.map +1 -1
  9. package/dist/completion/completion-event/event.js.map +1 -1
  10. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts +9 -1
  11. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts.map +1 -1
  12. package/dist/completion/review-cycle-budget/review-cycle-cap.js +2 -1
  13. package/dist/completion/review-cycle-budget/review-cycle-cap.js.map +1 -1
  14. package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
  15. package/dist/completion/review-exit/review-census-record.js +1 -0
  16. package/dist/completion/review-exit/review-census-record.js.map +1 -1
  17. package/dist/completion/review-exit/review-exit-deps.d.ts +3 -0
  18. package/dist/completion/review-exit/review-exit-deps.d.ts.map +1 -1
  19. package/dist/completion/review-exit/review-exit-deps.js +1 -1
  20. package/dist/completion/review-exit/review-exit-evidence.d.ts +10 -0
  21. package/dist/completion/review-exit/review-exit-evidence.d.ts.map +1 -1
  22. package/dist/completion/review-exit/review-exit-evidence.js +12 -2
  23. package/dist/completion/review-exit/review-exit-evidence.js.map +1 -1
  24. package/dist/completion/review-exit/review-exit-falsifiers.d.ts +72 -0
  25. package/dist/completion/review-exit/review-exit-falsifiers.d.ts.map +1 -0
  26. package/dist/completion/review-exit/review-exit-falsifiers.js +84 -0
  27. package/dist/completion/review-exit/review-exit-falsifiers.js.map +1 -0
  28. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  29. package/dist/completion/review-exit/review-exit-phase.js +15 -10
  30. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  31. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +17 -1
  32. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
  33. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +21 -0
  34. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
  35. package/dist/completion/state-cascade/review-next-step.d.ts +11 -0
  36. package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
  37. package/dist/completion/state-cascade/review-next-step.js +6 -3
  38. package/dist/completion/state-cascade/review-next-step.js.map +1 -1
  39. package/dist/completion/state-cascade/standing-approval-convergence.d.ts +10 -2
  40. package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
  41. package/dist/completion/state-cascade/standing-approval-convergence.js +64 -34
  42. package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
  43. package/dist/completion/state-cascade/standing-approval-stranded.d.ts +39 -0
  44. package/dist/completion/state-cascade/standing-approval-stranded.d.ts.map +1 -0
  45. package/dist/completion/state-cascade/standing-approval-stranded.js +142 -0
  46. package/dist/completion/state-cascade/standing-approval-stranded.js.map +1 -0
  47. package/dist/completion/state-cascade/state-cascade.d.ts +8 -0
  48. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  49. package/dist/completion/state-cascade/state-cascade.js +2 -0
  50. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  51. package/dist/completion/team-exit/status-advance-phase.d.ts +6 -0
  52. package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
  53. package/dist/completion/team-exit/status-advance-phase.js +12 -9
  54. package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
  55. package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
  56. package/dist/completion/team-exit/team-completion.js +1 -0
  57. package/dist/completion/team-exit/team-completion.js.map +1 -1
  58. package/dist/completion/team-exit/terminated-work-reconcile.d.ts +6 -0
  59. package/dist/completion/team-exit/terminated-work-reconcile.d.ts.map +1 -1
  60. package/dist/completion/team-exit/terminated-work-reconcile.js +5 -7
  61. package/dist/completion/team-exit/terminated-work-reconcile.js.map +1 -1
  62. package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
  63. package/dist/completion/team-outcome/apply-close.js +1 -0
  64. package/dist/completion/team-outcome/apply-close.js.map +1 -1
  65. package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
  66. package/dist/completion/team-outcome/apply-turn.js +13 -7
  67. package/dist/completion/team-outcome/apply-turn.js.map +1 -1
  68. package/dist/completion/team-outcome/decide-close-rows.d.ts.map +1 -1
  69. package/dist/completion/team-outcome/decide-close-rows.js +2 -7
  70. package/dist/completion/team-outcome/decide-close-rows.js.map +1 -1
  71. package/dist/completion/team-outcome/decide-turn-entry-rows.d.ts.map +1 -1
  72. package/dist/completion/team-outcome/decide-turn-entry-rows.js +5 -1
  73. package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
  74. package/dist/completion/team-outcome/exit-pipeline-state.d.ts +5 -0
  75. package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
  76. package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
  77. package/dist/completion/team-outcome/work-facts.d.ts +7 -1
  78. package/dist/completion/team-outcome/work-facts.d.ts.map +1 -1
  79. package/dist/completion/team-outcome/work-facts.js +9 -4
  80. package/dist/completion/team-outcome/work-facts.js.map +1 -1
  81. package/dist/composition/advance-precheck-context.d.ts.map +1 -1
  82. package/dist/composition/advance-precheck-context.js +1 -0
  83. package/dist/composition/advance-precheck-context.js.map +1 -1
  84. package/dist/composition/commit-gate-context.d.ts.map +1 -1
  85. package/dist/composition/commit-gate-context.js +2 -1
  86. package/dist/composition/commit-gate-context.js.map +1 -1
  87. package/dist/composition/completion-event-context.d.ts.map +1 -1
  88. package/dist/composition/completion-event-context.js +4 -0
  89. package/dist/composition/completion-event-context.js.map +1 -1
  90. package/dist/composition/daemon-contexts.js +1 -1
  91. package/dist/composition/execution-directive-context.d.ts.map +1 -1
  92. package/dist/composition/execution-directive-context.js +1 -0
  93. package/dist/composition/execution-directive-context.js.map +1 -1
  94. package/dist/composition/execution-resolver-context.d.ts.map +1 -1
  95. package/dist/composition/execution-resolver-context.js +2 -1
  96. package/dist/composition/execution-resolver-context.js.map +1 -1
  97. package/dist/composition/execution-spawn-context.d.ts +1 -1
  98. package/dist/composition/execution-spawn-context.d.ts.map +1 -1
  99. package/dist/composition/execution-spawn-context.js +6 -3
  100. package/dist/composition/execution-spawn-context.js.map +1 -1
  101. package/dist/composition/reopening-falsifier-context.d.ts +9 -0
  102. package/dist/composition/reopening-falsifier-context.d.ts.map +1 -0
  103. package/dist/composition/reopening-falsifier-context.js +82 -0
  104. package/dist/composition/reopening-falsifier-context.js.map +1 -0
  105. package/dist/composition/review-exit-context.d.ts.map +1 -1
  106. package/dist/composition/review-exit-context.js +5 -2
  107. package/dist/composition/review-exit-context.js.map +1 -1
  108. package/dist/composition/runtime-contexts.d.ts.map +1 -1
  109. package/dist/composition/runtime-contexts.js +4 -3
  110. package/dist/composition/runtime-contexts.js.map +1 -1
  111. package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
  112. package/dist/composition/runtime-delivery-advance-context.js +4 -0
  113. package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
  114. package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
  115. package/dist/composition/runtime-spawn-pass-context.js +5 -1
  116. package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
  117. package/dist/composition/spawn-pass-deps.d.ts.map +1 -1
  118. package/dist/composition/spawn-pass-deps.js +4 -0
  119. package/dist/composition/spawn-pass-deps.js.map +1 -1
  120. package/dist/composition/standing-approval-context.d.ts.map +1 -1
  121. package/dist/composition/standing-approval-context.js +5 -0
  122. package/dist/composition/standing-approval-context.js.map +1 -1
  123. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  124. package/dist/composition/state-cascade-context.js +7 -2
  125. package/dist/composition/state-cascade-context.js.map +1 -1
  126. package/dist/config/live-daemon-config.d.ts.map +1 -1
  127. package/dist/config/live-daemon-config.js +2 -0
  128. package/dist/config/live-daemon-config.js.map +1 -1
  129. package/dist/daemon-state/focus-team-state.js +1 -1
  130. package/dist/delivery/commit-verdict-hold.d.ts +12 -0
  131. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
  132. package/dist/delivery/commit-verdict-hold.js +11 -0
  133. package/dist/delivery/commit-verdict-hold.js.map +1 -1
  134. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  135. package/dist/delivery/delivery-lifecycle.js +1 -0
  136. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  137. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
  138. package/dist/delivery/delivery-reconciler-apply.js +10 -2
  139. package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
  140. package/dist/delivery/delivery-reconciler.d.ts +33 -18
  141. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  142. package/dist/delivery/delivery-reconciler.js +33 -23
  143. package/dist/delivery/delivery-reconciler.js.map +1 -1
  144. package/dist/delivery/recorded-concerns.d.ts +57 -0
  145. package/dist/delivery/recorded-concerns.d.ts.map +1 -0
  146. package/dist/delivery/recorded-concerns.js +45 -0
  147. package/dist/delivery/recorded-concerns.js.map +1 -0
  148. package/dist/directive/directive-queue.d.ts +13 -0
  149. package/dist/directive/directive-queue.d.ts.map +1 -1
  150. package/dist/directive/directive-queue.js +19 -1
  151. package/dist/directive/directive-queue.js.map +1 -1
  152. package/dist/directive/phase-sync.d.ts +10 -0
  153. package/dist/directive/phase-sync.d.ts.map +1 -1
  154. package/dist/directive/phase-sync.js +11 -0
  155. package/dist/directive/phase-sync.js.map +1 -1
  156. package/dist/focus/closed-review-window.d.ts +26 -0
  157. package/dist/focus/closed-review-window.d.ts.map +1 -0
  158. package/dist/focus/closed-review-window.js +62 -0
  159. package/dist/focus/closed-review-window.js.map +1 -0
  160. package/dist/focus/daemon-contexts.js +1 -1
  161. package/dist/focus/directive-executor.d.ts.map +1 -1
  162. package/dist/focus/directive-executor.js +3 -8
  163. package/dist/focus/directive-executor.js.map +1 -1
  164. package/dist/focus/focus-executor.js +2 -2
  165. package/dist/focus/focus-executor.js.map +1 -1
  166. package/dist/focus/focus-poller-auto-advance.d.ts +7 -0
  167. package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
  168. package/dist/focus/focus-poller-auto-advance.js +8 -6
  169. package/dist/focus/focus-poller-auto-advance.js.map +1 -1
  170. package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
  171. package/dist/focus/focus-poller-spawn.js +39 -28
  172. package/dist/focus/focus-poller-spawn.js.map +1 -1
  173. package/dist/focus/focus-poller-state.d.ts.map +1 -1
  174. package/dist/focus/focus-poller-state.js +2 -0
  175. package/dist/focus/focus-poller-state.js.map +1 -1
  176. package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
  177. package/dist/focus/pending-review-approved-head.js +2 -0
  178. package/dist/focus/pending-review-approved-head.js.map +1 -1
  179. package/dist/focus/pending-spawn-pass-deps.d.ts +3 -0
  180. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  181. package/dist/focus/pending-spawn-pass-deps.js +1 -0
  182. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  183. package/dist/focus/pending-spawn-review-next-step.d.ts +3 -0
  184. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  185. package/dist/focus/pending-spawn-review-next-step.js +3 -0
  186. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  187. package/dist/focus/ready-focus-team-work.d.ts +8 -0
  188. package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
  189. package/dist/focus/ready-focus-team-work.js +5 -1
  190. package/dist/focus/ready-focus-team-work.js.map +1 -1
  191. package/dist/focus/stranded-review-reroute.d.ts +32 -1
  192. package/dist/focus/stranded-review-reroute.d.ts.map +1 -1
  193. package/dist/focus/stranded-review-reroute.js +50 -1
  194. package/dist/focus/stranded-review-reroute.js.map +1 -1
  195. package/dist/focus/verify-open-issues.d.ts +7 -0
  196. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  197. package/dist/focus/verify-open-issues.js +8 -4
  198. package/dist/focus/verify-open-issues.js.map +1 -1
  199. package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -1
  200. package/dist/focus-stage-lifecycle/ratify-bar-gate.js +4 -3
  201. package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -1
  202. package/dist/nexus/intake-prompt-sections.js +3 -3
  203. package/dist/nexus/intake-prompt-sections.js.map +1 -1
  204. package/dist/prd/arm-readiness.d.ts +49 -74
  205. package/dist/prd/arm-readiness.d.ts.map +1 -1
  206. package/dist/prd/arm-readiness.js +48 -196
  207. package/dist/prd/arm-readiness.js.map +1 -1
  208. package/dist/prd/frontier-arming.d.ts.map +1 -1
  209. package/dist/prd/frontier-arming.js +0 -2
  210. package/dist/prd/frontier-arming.js.map +1 -1
  211. package/dist/prd/scoping-prompt.js +3 -3
  212. package/dist/prd/scoping-prompt.js.map +1 -1
  213. package/dist/prompt/focus-prompt-builder.d.ts +9 -2
  214. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  215. package/dist/prompt/focus-prompt-builder.js +19 -8
  216. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  217. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  218. package/dist/prompt/team-prompt-base.js +2 -1
  219. package/dist/prompt/team-prompt-base.js.map +1 -1
  220. package/dist/prompt-sections/execution-sections.d.ts +7 -1
  221. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  222. package/dist/prompt-sections/execution-sections.js +41 -22
  223. package/dist/prompt-sections/execution-sections.js.map +1 -1
  224. package/dist/prompt-sections/persona-sections.d.ts +6 -0
  225. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  226. package/dist/prompt-sections/persona-sections.js +30 -1
  227. package/dist/prompt-sections/persona-sections.js.map +1 -1
  228. package/dist/prompt-sections/prompt-listing.d.ts +21 -0
  229. package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
  230. package/dist/prompt-sections/prompt-listing.js +35 -0
  231. package/dist/prompt-sections/prompt-listing.js.map +1 -1
  232. package/dist/prompt-sections/role-sections.d.ts.map +1 -1
  233. package/dist/prompt-sections/role-sections.js +9 -6
  234. package/dist/prompt-sections/role-sections.js.map +1 -1
  235. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  236. package/dist/prompt-sections/routing-decider-sections.js +2 -0
  237. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  238. package/dist/prompt-sections/shared.d.ts +7 -0
  239. package/dist/prompt-sections/shared.d.ts.map +1 -1
  240. package/dist/prompt-sections/shared.js +1 -1
  241. package/dist/prompt-sections/shared.js.map +1 -1
  242. package/dist/queries/api-client/shared.js +1 -1
  243. package/dist/queries/deliveries/issues.d.ts.map +1 -1
  244. package/dist/queries/deliveries/issues.js +1 -0
  245. package/dist/queries/deliveries/issues.js.map +1 -1
  246. package/dist/queries/escalations/cause-key.d.ts +11 -0
  247. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  248. package/dist/queries/escalations/cause-key.js +15 -0
  249. package/dist/queries/escalations/cause-key.js.map +1 -1
  250. package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
  251. package/dist/queries/escalations/escalation-consumption.js +1 -0
  252. package/dist/queries/escalations/escalation-consumption.js.map +1 -1
  253. package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
  254. package/dist/queries/escalations/filing-observation.js +1 -0
  255. package/dist/queries/escalations/filing-observation.js.map +1 -1
  256. package/dist/queries/focus-review/criterion-reopenings.d.ts +62 -0
  257. package/dist/queries/focus-review/criterion-reopenings.d.ts.map +1 -0
  258. package/dist/queries/focus-review/criterion-reopenings.js +67 -0
  259. package/dist/queries/focus-review/criterion-reopenings.js.map +1 -0
  260. package/dist/queries/focus-review/recorded-concern-ids.d.ts +47 -0
  261. package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -0
  262. package/dist/queries/focus-review/recorded-concern-ids.js +33 -0
  263. package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -0
  264. package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
  265. package/dist/queries/focus-review/review-finding-facts.js +5 -1
  266. package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
  267. package/dist/queries/focuses/arm-covered-targets.d.ts +10 -1
  268. package/dist/queries/focuses/arm-covered-targets.d.ts.map +1 -1
  269. package/dist/queries/focuses/arm-covered-targets.js +9 -0
  270. package/dist/queries/focuses/arm-covered-targets.js.map +1 -1
  271. package/dist/queries/focuses/ended-arm.d.ts +12 -0
  272. package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
  273. package/dist/queries/focuses/focus-criteria-standing.d.ts +17 -0
  274. package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
  275. package/dist/queries/focuses/focus-criteria-standing.js +29 -1
  276. package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
  277. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  278. package/dist/queries/focuses/focus-discovery.js +2 -1
  279. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  280. package/dist/queries/verification/verification.js +1 -1
  281. package/dist/reality/injection-writeback.d.ts +5 -4
  282. package/dist/reality/injection-writeback.d.ts.map +1 -1
  283. package/dist/reality/injection-writeback.js +3 -2
  284. package/dist/reality/injection-writeback.js.map +1 -1
  285. package/dist/reality/reality-writeback.d.ts +13 -12
  286. package/dist/reality/reality-writeback.d.ts.map +1 -1
  287. package/dist/reality/reality-writeback.js +5 -5
  288. package/dist/reality/reality-writeback.js.map +1 -1
  289. package/dist/resolvers/assembly-engine.js +1 -1
  290. package/dist/resolvers/compose/focus-injections-compose.d.ts.map +1 -1
  291. package/dist/resolvers/compose/focus-injections-compose.js +3 -2
  292. package/dist/resolvers/compose/focus-injections-compose.js.map +1 -1
  293. package/dist/resolvers/compose/loop-delivery-index-compose.d.ts +10 -0
  294. package/dist/resolvers/compose/loop-delivery-index-compose.d.ts.map +1 -1
  295. package/dist/resolvers/compose/loop-delivery-index-compose.js +15 -3
  296. package/dist/resolvers/compose/loop-delivery-index-compose.js.map +1 -1
  297. package/dist/resolvers/delivery-listing.d.ts +7 -0
  298. package/dist/resolvers/delivery-listing.d.ts.map +1 -1
  299. package/dist/resolvers/delivery-listing.js +26 -4
  300. package/dist/resolvers/delivery-listing.js.map +1 -1
  301. package/dist/resolvers/focus-anchoring-injections.d.ts +0 -24
  302. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  303. package/dist/resolvers/focus-anchoring-injections.js +38 -28
  304. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  305. package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
  306. package/dist/resolvers/focus-criteria-standing.js +19 -8
  307. package/dist/resolvers/focus-criteria-standing.js.map +1 -1
  308. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  309. package/dist/resolvers/loop-delivery-index.js +9 -1
  310. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  311. package/dist/resolvers/shared/loop.d.ts +17 -0
  312. package/dist/resolvers/shared/loop.d.ts.map +1 -1
  313. package/dist/resolvers/shared/loop.js.map +1 -1
  314. package/dist/security/security-auto-inject.d.ts +19 -5
  315. package/dist/security/security-auto-inject.d.ts.map +1 -1
  316. package/dist/security/security-auto-inject.js +21 -6
  317. package/dist/security/security-auto-inject.js.map +1 -1
  318. package/dist/session/session-lineage.d.ts +29 -9
  319. package/dist/session/session-lineage.d.ts.map +1 -1
  320. package/dist/session/session-lineage.js +33 -8
  321. package/dist/session/session-lineage.js.map +1 -1
  322. package/dist/spawn/directive-dispatch.d.ts.map +1 -1
  323. package/dist/spawn/directive-dispatch.js +1 -0
  324. package/dist/spawn/directive-dispatch.js.map +1 -1
  325. package/dist/spawn/idle-work-stamp.d.ts +7 -0
  326. package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
  327. package/dist/spawn/idle-work-stamp.js +2 -1
  328. package/dist/spawn/idle-work-stamp.js.map +1 -1
  329. package/dist/spawn/lead-continuation.d.ts +7 -0
  330. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  331. package/dist/spawn/lead-continuation.js +5 -2
  332. package/dist/spawn/lead-continuation.js.map +1 -1
  333. package/dist/spawn/loop-llm-client.d.ts +10 -1
  334. package/dist/spawn/loop-llm-client.d.ts.map +1 -1
  335. package/dist/spawn/loop-llm-client.js +15 -7
  336. package/dist/spawn/loop-llm-client.js.map +1 -1
  337. package/dist/spawn/model-id-guards.d.ts +9 -4
  338. package/dist/spawn/model-id-guards.d.ts.map +1 -1
  339. package/dist/spawn/model-id-guards.js +11 -4
  340. package/dist/spawn/model-id-guards.js.map +1 -1
  341. package/dist/spawn/prompt-assembly.d.ts +2 -0
  342. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  343. package/dist/spawn/prompt-assembly.js +3 -1
  344. package/dist/spawn/prompt-assembly.js.map +1 -1
  345. package/dist/spawn/review-hold-park.d.ts +4 -2
  346. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  347. package/dist/spawn/review-hold-park.js +9 -5
  348. package/dist/spawn/review-hold-park.js.map +1 -1
  349. package/dist/spawn/worktree-session.d.ts +14 -3
  350. package/dist/spawn/worktree-session.d.ts.map +1 -1
  351. package/dist/spawn/worktree-session.js +13 -3
  352. package/dist/spawn/worktree-session.js.map +1 -1
  353. package/dist/supervision/agent-resolvable-promotion.d.ts +14 -2
  354. package/dist/supervision/agent-resolvable-promotion.d.ts.map +1 -1
  355. package/dist/supervision/agent-resolvable-promotion.js +24 -3
  356. package/dist/supervision/agent-resolvable-promotion.js.map +1 -1
  357. package/dist/supervision/escalation-filing.js +1 -1
  358. package/dist/supervision/escalation-suppression.js +1 -1
  359. package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
  360. package/dist/supervision/focus-delivery-aggregate-phase.js +1 -0
  361. package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
  362. package/dist/supervision/spawn-cooldown.js +1 -1
  363. package/dist/supervision/stop-registry.d.ts +1 -0
  364. package/dist/supervision/stop-registry.d.ts.map +1 -1
  365. package/dist/supervision/stop-rows-delivery.d.ts +6 -0
  366. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  367. package/dist/supervision/stop-rows-delivery.js +20 -0
  368. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  369. package/dist/supervision/team-work.d.ts +15 -1
  370. package/dist/supervision/team-work.d.ts.map +1 -1
  371. package/dist/supervision/team-work.js +7 -2
  372. package/dist/supervision/team-work.js.map +1 -1
  373. package/dist/templates/agents-md.d.ts.map +1 -1
  374. package/dist/templates/agents-md.js +1 -0
  375. package/dist/templates/agents-md.js.map +1 -1
  376. package/dist/templates/claude-md.d.ts +1 -1
  377. package/dist/templates/claude-md.d.ts.map +1 -1
  378. package/dist/templates/claude-md.js +12 -0
  379. package/dist/templates/claude-md.js.map +1 -1
  380. package/dist/testing/arm-coverage-model.d.ts +13 -0
  381. package/dist/testing/arm-coverage-model.d.ts.map +1 -1
  382. package/dist/testing/arm-coverage-model.js +118 -9
  383. package/dist/testing/arm-coverage-model.js.map +1 -1
  384. package/dist/testing/fixtures/api-client.js +1 -1
  385. package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
  386. package/dist/testing/fixtures/approved-head-inert-deps.js +1 -0
  387. package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
  388. package/dist/testing/fixtures/completion-event-deps.d.ts +1 -1
  389. package/dist/testing/fixtures/completion-event-deps.d.ts.map +1 -1
  390. package/dist/testing/fixtures/completion-event-deps.js +1 -0
  391. package/dist/testing/fixtures/completion-event-deps.js.map +1 -1
  392. package/dist/testing/fixtures/index.js +1 -1
  393. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  394. package/dist/testing/fixtures/pending-spawn-world.js +3 -0
  395. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  396. package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
  397. package/dist/testing/fixtures/process-close-context.js +1 -0
  398. package/dist/testing/fixtures/process-close-context.js.map +1 -1
  399. package/dist/testing/fixtures/recording-api-client.js +1 -1
  400. package/dist/testing/fixtures/review-exit-deps.js +1 -1
  401. package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
  402. package/dist/testing/fixtures/session-wire.js +2 -1
  403. package/dist/testing/fixtures/session-wire.js.map +1 -1
  404. package/dist/types/index.js +1 -1
  405. package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
  406. package/dist/verify/attribution/verification-baseline-run.js +2 -1
  407. package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
  408. package/dist/verify/effect-reconciliation/recorded-targets.d.ts +14 -0
  409. package/dist/verify/effect-reconciliation/recorded-targets.d.ts.map +1 -1
  410. package/dist/verify/effect-reconciliation/recorded-targets.js +20 -0
  411. package/dist/verify/effect-reconciliation/recorded-targets.js.map +1 -1
  412. package/dist/verify/effect-reconciliation/verify-restatement.d.ts +15 -1
  413. package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
  414. package/dist/verify/effect-reconciliation/verify-restatement.js +93 -59
  415. package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
  416. package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
  417. package/dist/verify/engine/reconciliation-step.js +4 -1
  418. package/dist/verify/engine/reconciliation-step.js.map +1 -1
  419. package/dist/verify/falsifier/falsifier-command.d.ts +37 -0
  420. package/dist/verify/falsifier/falsifier-command.d.ts.map +1 -0
  421. package/dist/verify/falsifier/falsifier-command.js +40 -0
  422. package/dist/verify/falsifier/falsifier-command.js.map +1 -0
  423. package/dist/verify/falsifier/falsifier-run.d.ts +47 -0
  424. package/dist/verify/falsifier/falsifier-run.d.ts.map +1 -0
  425. package/dist/verify/falsifier/falsifier-run.js +117 -0
  426. package/dist/verify/falsifier/falsifier-run.js.map +1 -0
  427. package/dist/verify/falsifier/falsifier-verdict.d.ts +52 -0
  428. package/dist/verify/falsifier/falsifier-verdict.d.ts.map +1 -0
  429. package/dist/verify/falsifier/falsifier-verdict.js +61 -0
  430. package/dist/verify/falsifier/falsifier-verdict.js.map +1 -0
  431. package/dist/verify/gate-config/commit-gate-configured.d.ts +2 -0
  432. package/dist/verify/gate-config/commit-gate-configured.d.ts.map +1 -1
  433. package/dist/verify/gate-config/commit-gate-configured.js.map +1 -1
  434. package/dist/verify/shortfalls/each-table.d.ts +45 -0
  435. package/dist/verify/shortfalls/each-table.d.ts.map +1 -0
  436. package/dist/verify/shortfalls/each-table.js +219 -0
  437. package/dist/verify/shortfalls/each-table.js.map +1 -0
  438. package/dist/verify/shortfalls/each-title-render.d.ts +67 -0
  439. package/dist/verify/shortfalls/each-title-render.d.ts.map +1 -0
  440. package/dist/verify/shortfalls/each-title-render.js +473 -0
  441. package/dist/verify/shortfalls/each-title-render.js.map +1 -0
  442. package/dist/verify/shortfalls/generated-test-titles.d.ts +18 -0
  443. package/dist/verify/shortfalls/generated-test-titles.d.ts.map +1 -0
  444. package/dist/verify/shortfalls/generated-test-titles.js +232 -0
  445. package/dist/verify/shortfalls/generated-test-titles.js.map +1 -0
  446. package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
  447. package/dist/verify/shortfalls/pre-judge-rulings.js +2 -1
  448. package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
  449. package/dist/verify/shortfalls/ruling-evidence-resolution.d.ts.map +1 -1
  450. package/dist/verify/shortfalls/ruling-evidence-resolution.js +6 -2
  451. package/dist/verify/shortfalls/ruling-evidence-resolution.js.map +1 -1
  452. package/dist/worktree/verify-hold-facts.d.ts +2 -0
  453. package/dist/worktree/verify-hold-facts.d.ts.map +1 -1
  454. package/dist/worktree/verify-hold-facts.js +1 -0
  455. package/dist/worktree/verify-hold-facts.js.map +1 -1
  456. package/package.json +2 -2
@@ -1,5 +1,6 @@
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-stranded.test.ts,
3
4
  // packages/daemon/src/composition/review-holds-context.test.ts,
4
5
  // packages/daemon/src/integration/approved-head-hold-release-regression.test.ts,
5
6
  // packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
@@ -29,16 +30,23 @@
29
30
  * (isHeadAlreadyApproved: both known, same commit) -- a moved head or a revoked
30
31
  * approval is review eligibility's business, not this pass's;
31
32
  * - the newest census of that commit is not an approving one, or does not name the
32
- * delivery at its current iteration count (a delivery that reached verify after
33
- * the approval, or was sent back to coding since, was never judged by it);
33
+ * delivery at all (a delivery that reached verify after the approval was never
34
+ * judged by it). A census that named it at an EARLIER iteration still covers it:
35
+ * the head is the approved commit, so a verify bounce that re-queued it since
36
+ * (a late verify failure at that same commit, which raises the iteration
37
+ * count) changed no code the review judged. A re-code that COMMITTED moves the
38
+ * head, and the head check above refuses it;
34
39
  * - the delivery has no durable verify PASS (org_nodes.verification_outcome) or
35
- * its gate_state carries any hold or failure detail (gateStateHoldsNothing);
40
+ * its gate_state carries any hold or failure detail (gateStateHoldsNothing), or
41
+ * a verify run for it is still in flight (a `passed` outcome survives from an
42
+ * earlier run; the verdict is not final until that run ends);
36
43
  * - a review session is live on the focus (its exit owns routing).
37
44
  *
38
45
  * Every candidate then crosses the SAME machinery the review exit's report-backed
39
46
  * done crosses, in its order (completion/review-exit/review-exit-phase.ts):
40
47
  * resolveReconciledWrite with the standing approval as the approved report
41
- * (blocking open work -> not done, left for the open-work pass), the operator-hold
48
+ * (blocking open work -> not done, left for the open-work pass; a recorded concern,
49
+ * delivery/recorded-concerns.ts, is not blocking), the operator-hold
42
50
  * gate (resolveOperatorHold), the external-hold gate (resolveExternalHold), the
43
51
  * shortfall-proposal hold (resolveShortfallHold) and the commit-verdict gate's done
44
52
  * read (readDoneRouteVerdict: a PASSING verdict, or no gate configured, for the
@@ -52,7 +60,9 @@
52
60
  * those markers are cleared by the review spawn park and the review exit, and no
53
61
  * review runs at an approved head -- a marker would strand the delivery after its
54
62
  * hold lifted. This pass writes nothing for a hold and re-reads every hold on the
55
- * next poll instead (one log line per delivery per reason).
63
+ * next poll instead (one log line per delivery per reason). A delivery declined for
64
+ * the identical reason across consecutive polls is reported ONCE, anchored to it
65
+ * (completion/state-cascade/standing-approval-stranded.ts).
56
66
  *
57
67
  * FAILS CLOSED: an unreadable head, approval, census, issue list, workflow or hold
58
68
  * leaves the delivery in verify; the next poll retries. A read failure is never
@@ -68,13 +78,15 @@
68
78
  import { DELIVERY_STATUS } from '@telora/daemon-core';
69
79
  import { sameCommit } from '../../queries/focus-review/focus-review-approval.js';
70
80
  import { resolveReconciledWrite } from '../../delivery/delivery-reconciler-apply.js';
81
+ import { toReconcilerIssues } from '../../delivery/recorded-concerns.js';
71
82
  import { resolveOperatorHold, describeOperatorHold } from '../../delivery/operator-hold.js';
72
83
  import { resolveExternalHold, describeExternalHold } from '../../delivery/external-hold.js';
73
84
  import { resolveShortfallHold, describeShortfallHold } from '../review-exit-holds/review-exit-shortfall.js';
74
- import { readDoneRouteVerdict } from '../review-exit-holds/review-exit-verdict-gate.js';
85
+ import { readDoneRouteVerdict, verifyRunHoldsDone } from '../review-exit-holds/review-exit-verdict-gate.js';
75
86
  import { isHeadAlreadyApproved } from './review-approved-head-gate.js';
76
87
  import { readShortfallPark } from '../../queries/delivery-gate-state/delivery-gate-state.js';
77
88
  import { createLogger } from '../../log/daemon-log.js';
89
+ import { reportStandingApprovalDeclines, } from './standing-approval-stranded.js';
78
90
  const log = createLogger({ module: 'state-cascade' });
79
91
  /** gate_state keys that record a verify failure or a hold (never a pass). */
80
92
  const HOLD_OR_FAILURE_KEYS = [
@@ -110,7 +122,9 @@ export function isStandingApprovalCandidate(d) {
110
122
  }
111
123
  /**
112
124
  * Whether the newest census of `approvedSha` is an approving one naming the
113
- * delivery at its current re-code iteration. Pure.
125
+ * delivery at its current re-code iteration or an earlier one (a verify bounce at
126
+ * the unchanged approved commit raises the count without changing the code the
127
+ * review judged; the caller has already required head == approved commit). Pure.
114
128
  */
115
129
  export function censusCoversDelivery(censuses, approvedSha, delivery) {
116
130
  const newest = censuses
@@ -118,7 +132,7 @@ export function censusCoversDelivery(censuses, approvedSha, delivery) {
118
132
  .reduce((a, c) => (a === null || Date.parse(c.recordedAt) > Date.parse(a.recordedAt) ? c : a), null);
119
133
  if (!newest?.approving)
120
134
  return false;
121
- return newest.verifyDeliveries.some((v) => v.id === delivery.id && v.iterationCount === (delivery.iterationCount ?? 0));
135
+ return newest.verifyDeliveries.some((v) => v.id === delivery.id && v.iterationCount <= (delivery.iterationCount ?? 0));
122
136
  }
123
137
  /** The last hold reason logged per delivery (one line per delivery per reason, not one per poll). */
124
138
  const lastLoggedReason = new Map();
@@ -134,37 +148,42 @@ function logHeldOnce(focus, d, sha, reason) {
134
148
  `but does not converge on the standing approval: ${reason}. Left in verify; re-read next poll.`);
135
149
  }
136
150
  /**
137
- * The reason the review exit's done gates withhold `d`, or null when every gate lets
138
- * it through. `shortfall` is the focus-scoped proposal read, taken once per pass.
151
+ * Why the review exit's done gates withhold `d`, or null when every gate lets it
152
+ * through. `held.shortfall` (the focus-scoped proposal read) and `held.concernIds`
153
+ * (the recorded concerns) are taken once per pass.
139
154
  */
140
- async function doneWithheldBy(deps, focus, d, approvedSha, shortfall) {
155
+ async function doneWithheldBy(deps, focus, d, approvedSha, held) {
156
+ const { shortfall, concernIds } = held;
141
157
  const issues = await deps.getDeliveryIssues(d.id);
142
158
  const decision = resolveReconciledWrite({
143
159
  input: {
144
160
  currentStatus: DELIVERY_STATUS.VERIFY,
145
- issues: issues.map((i) => ({ status: i.status, issueType: i.issueType })),
161
+ issues: toReconcilerIssues(issues, concernIds),
146
162
  gitState: { worktreeCommitted: true },
147
163
  guardVerdict: null,
148
164
  // The standing approval is the approved report this delivery's review stamped.
149
165
  reviewState: { reviewRequested: true, reportExists: true, sessionType: 'review', succeeded: true, outcome: 'approved', inspected: true },
150
166
  },
151
167
  });
152
- if (decision.target !== DELIVERY_STATUS.DONE)
153
- return `the reconciler routes it to ${decision.target} (${decision.result.reason})`;
168
+ if (decision.target !== DELIVERY_STATUS.DONE) {
169
+ return { kind: 'reconciler', reason: `the reconciler routes it to ${decision.target} (${decision.result.reason})` };
170
+ }
154
171
  const operatorHold = await resolveOperatorHold(deps, d.id, focus.focusId);
155
172
  if (operatorHold.held)
156
- return describeOperatorHold(operatorHold);
173
+ return { kind: 'operator_hold', reason: describeOperatorHold(operatorHold) };
157
174
  const externalHold = await resolveExternalHold(deps, d.id, d.gateState, deps.evaluateExternalCondition, deps.externalHoldClock);
158
175
  if (externalHold.held)
159
- return describeExternalHold(externalHold);
176
+ return { kind: 'external_hold', reason: describeExternalHold(externalHold) };
160
177
  if (!shortfall.clear)
161
- return describeShortfallHold(shortfall);
178
+ return { kind: 'shortfall_hold', reason: describeShortfallHold(shortfall) };
179
+ if (verifyRunHoldsDone(deps, d.id))
180
+ return { kind: 'verdict', reason: 'a verify run for it is still in flight' };
162
181
  const verdict = await readDoneRouteVerdict(deps, { ...focus, currentBranchTip: approvedSha }, { read_only: focus.readOnly }, d);
163
182
  if (verdict.state !== 'passed' && verdict.state !== 'unconfigured') {
164
- return `the gate verdict for ${(verdict.sha ?? '<unreadable>').slice(0, 12)} is ${verdict.state}`;
183
+ return { kind: 'verdict', reason: `the gate verdict for ${(verdict.sha ?? '<unreadable>').slice(0, 12)} is ${verdict.state}` };
165
184
  }
166
185
  if (verdict.sha === null || !sameCommit(verdict.sha, approvedSha)) {
167
- return `the judged commit ${(verdict.sha ?? '<unreadable>').slice(0, 12)} is not the approved commit`;
186
+ return { kind: 'verdict', reason: `the judged commit ${(verdict.sha ?? '<unreadable>').slice(0, 12)} is not the approved commit` };
168
187
  }
169
188
  return null;
170
189
  }
@@ -190,27 +209,41 @@ export async function convergeOnStandingApproval(focus, deliveries, deps) {
190
209
  for (const d of deliveries)
191
210
  if (!candidates.includes(d))
192
211
  lastLoggedReason.delete(d.id);
193
- if (candidates.length === 0 || deps.isReviewSessionActive(focus.focusId))
212
+ const seen = deliveries.map((d) => d.id);
213
+ if (candidates.length === 0 || deps.isReviewSessionActive(focus.focusId)) {
214
+ await reportStandingApprovalDeclines(focus, null, seen, [], deps.fileStrandedEscalation);
194
215
  return outcome;
216
+ }
195
217
  const approvedSha = await readApprovedHead(deps, focus);
196
- if (approvedSha === null)
218
+ if (approvedSha === null) {
219
+ await reportStandingApprovalDeclines(focus, null, seen, [], deps.fileStrandedEscalation);
197
220
  return outcome;
221
+ }
222
+ const declines = [];
223
+ const decline = (d, { kind, reason }) => {
224
+ outcome.held.push({ deliveryId: d.id, reason });
225
+ declines.push({ deliveryId: d.id, deliveryName: d.name, kind, reason });
226
+ logHeldOnce(focus, d, approvedSha, reason);
227
+ };
198
228
  const censuses = deps.listReviewCensuses();
199
229
  const covered = candidates.filter((d) => censusCoversDelivery(censuses, approvedSha, d));
200
230
  for (const d of candidates.filter((c) => !covered.includes(c))) {
201
- const reason = 'no approving review of that commit saw it in verify at its current iteration';
202
- outcome.held.push({ deliveryId: d.id, reason });
203
- logHeldOnce(focus, d, approvedSha, reason);
231
+ decline(d, { kind: 'census', reason: 'no approving review of that commit saw it in verify' });
204
232
  }
205
- if (covered.length === 0)
206
- return outcome;
233
+ if (covered.length > 0)
234
+ await convergeCovered(focus, covered, deps, approvedSha, outcome, decline);
235
+ await reportStandingApprovalDeclines(focus, approvedSha, seen, declines, deps.fileStrandedEscalation);
236
+ return outcome;
237
+ }
238
+ /** Cross each census-covered candidate through the done gates, writing done for every one they let through. */
239
+ async function convergeCovered(focus, covered, deps, approvedSha, outcome, decline) {
207
240
  const shortfall = await resolveShortfallHold(deps, focus.focusId, focus.focusName);
241
+ const concernIds = await deps.readRecordedConcernIds(focus.focusId);
208
242
  for (const d of covered) {
209
243
  try {
210
- const reason = await doneWithheldBy(deps, focus, d, approvedSha, shortfall);
211
- if (reason !== null) {
212
- outcome.held.push({ deliveryId: d.id, reason });
213
- logHeldOnce(focus, d, approvedSha, reason);
244
+ const withheld = await doneWithheldBy(deps, focus, d, approvedSha, { shortfall, concernIds });
245
+ if (withheld !== null) {
246
+ decline(d, withheld);
214
247
  continue;
215
248
  }
216
249
  const doneStage = (await deps.fetchEffectiveWorkflow(d.id)).stages.find((s) => s.name === DELIVERY_STATUS.DONE);
@@ -224,11 +257,8 @@ export async function convergeOnStandingApproval(focus, deliveries, deps) {
224
257
  `of that commit, whose review saw it in verify); verify passed and no hold stands. No review run, no approval written.`);
225
258
  }
226
259
  catch (err) {
227
- const reason = `a read or write failed (${err.message})`;
228
- outcome.held.push({ deliveryId: d.id, reason });
229
- logHeldOnce(focus, d, approvedSha, reason);
260
+ decline(d, { kind: 'read_failed', reason: `a read or write failed (${err.message})` });
230
261
  }
231
262
  }
232
- return outcome;
233
263
  }
234
264
  //# sourceMappingURL=standing-approval-convergence.js.map
@@ -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,39 @@
1
+ import type { FileEscalationIdempotentParams, FileEscalationIdempotentResult } from '../../supervision/escalation-suppression.js';
2
+ /** Consecutive passes with the identical decline before the delivery is filed, and between asks after (~2.5 min at the 30s poll). */
3
+ export declare const STANDING_APPROVAL_STRANDED_POLLS = 5;
4
+ /** The filing's escalation_kind (see the module header for why this existing kind). */
5
+ export declare const STANDING_APPROVAL_STRANDED_KIND = "verify_gate_unclearable";
6
+ /** metadata.diagnosis of the filing (its cause namespace). */
7
+ export declare const STANDING_APPROVAL_STRANDED_DIAGNOSIS = "standing_approval_unconverged";
8
+ /** 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
+ /** One decline a pass made. */
11
+ export interface StandingApprovalDecline {
12
+ deliveryId: string;
13
+ deliveryName: string;
14
+ kind: StandingApprovalDeclineKind;
15
+ reason: string;
16
+ }
17
+ /** The focus the filing is anchored under. */
18
+ export interface StrandedFocus {
19
+ organizationId: string;
20
+ productId: string;
21
+ focusId: string;
22
+ focusName: string;
23
+ }
24
+ /** The idempotent filer (supervision/escalation-suppression.ts fileEscalationIdempotent in production). */
25
+ export type StrandedEscalationFiler = (params: FileEscalationIdempotentParams) => Promise<FileEscalationIdempotentResult>;
26
+ /** Test seam: forget every streak. */
27
+ export declare function __resetStandingApprovalStrandedForTests(): void;
28
+ /** The cause key: one filing per delivery per approved commit. Pure. */
29
+ export declare function strandedCauseKey(deliveryId: string, approvedSha: string): string;
30
+ /** The filing for one stranded delivery. Pure. */
31
+ export declare function buildStrandedEscalation(focus: StrandedFocus, decline: StandingApprovalDecline, approvedSha: string, polls: number): FileEscalationIdempotentParams;
32
+ /**
33
+ * Record one pass's declines and ask the idempotent gate to file each delivery
34
+ * whose identical decline has run STANDING_APPROVAL_STRANDED_POLLS passes since it
35
+ * began or since the gate was last asked. `seen` is every delivery the pass looked
36
+ * at: one not declined this pass loses its streak. Never throws.
37
+ */
38
+ export declare function reportStandingApprovalDeclines(focus: StrandedFocus, approvedSha: string | null, seen: readonly string[], declines: readonly StandingApprovalDecline[], file: StrandedEscalationFiler | undefined): Promise<string[]>;
39
+ //# sourceMappingURL=standing-approval-stranded.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,142 @@
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-stranded.test.ts
3
+ // PINNED-BY-END
4
+ /**
5
+ * A delivery the standing-approval convergence keeps declining for the SAME reason
6
+ * is reported ONCE, anchored to the delivery -- not only logged every poll.
7
+ *
8
+ * completion/state-cascade/standing-approval-convergence.ts leaves a passed verify
9
+ * delivery at an approved head in verify when a fact is missing (no census names
10
+ * it, a gate withholds done, a read fails) and re-reads next poll. Most of those
11
+ * clear on their own within a poll or two. One that does NOT is a stranded
12
+ * delivery: no review opens at an approved head, so nothing else will ever move
13
+ * it, and a log line is not something a human sees.
14
+ *
15
+ * So each pass reports its declines here. A delivery declined for the identical
16
+ * reason on STANDING_APPROVAL_STRANDED_POLLS consecutive passes is filed through
17
+ * the cause-keyed idempotent gate, keyed on the delivery and the approved commit
18
+ * (queries/escalations/cause-key.ts standingApprovalStrandedCauseKey).
19
+ *
20
+ * HOW IT REACHES A HUMAN. The daemon files no human-facing row
21
+ * (supervision/filing-route.ts): the filing proposes needs_operator with the human
22
+ * act that closes it, and lands as a machine-lane observation carrying both. The
23
+ * promotion sweep hands that observation to a routing decider IMMEDIATELY on the
24
+ * delivery_stranded basis (supervision/agent-resolvable-promotion.ts
25
+ * isDeliveryStrandedObservation, keyed on this cause key -- on the row, or on a
26
+ * symptom the incident reducer attached to the delivery's open row), and the
27
+ * decider -- the one agent that makes a filing human-facing -- files the ONE
28
+ * needs_operator escalation naming the act.
29
+ *
30
+ * ONE ROW WHILE IT IS OPEN. Every STANDING_APPROVAL_STRANDED_POLLS passes of an
31
+ * unbroken strand, the gate is asked again: an open (or dismissed) row with the
32
+ * key suppresses it, so nothing is re-filed while the escalation stands -- across
33
+ * polls and daemon restarts alike, since the row, not this process, is the memory.
34
+ * Once that row is resolved and the delivery is still stranded, the next ask files
35
+ * again. A delivery that converges, stops being a candidate, or changes reason
36
+ * starts its count over.
37
+ *
38
+ * Two declines are never filed: an operator hold (the open hold IS the human
39
+ * signal) and an external hold (a declared wait on another product's request,
40
+ * which clears itself). The kind is verify_gate_unclearable, whose self-report
41
+ * exclusion (supervision/holds.ts SELF_REPORT_STALL_HOLD_KINDS) keeps this row
42
+ * from becoming an operator hold on the very delivery it reports.
43
+ *
44
+ * Best-effort: a failed filing is logged and retried on a later pass; it never
45
+ * changes what the convergence decided.
46
+ *
47
+ * @module completion/state-cascade/standing-approval-stranded
48
+ */
49
+ import { ESCALATION_DISPOSITIONS, ESCALATION_REASONS } from '@telora/daemon-core';
50
+ import { STANDING_APPROVAL_STRANDED_CAUSE, standingApprovalStrandedCauseKey } from '../../queries/escalations/cause-key.js';
51
+ import { createLogger } from '../../log/daemon-log.js';
52
+ const log = createLogger({ module: 'state-cascade' });
53
+ /** Consecutive passes with the identical decline before the delivery is filed, and between asks after (~2.5 min at the 30s poll). */
54
+ export const STANDING_APPROVAL_STRANDED_POLLS = 5;
55
+ /** The filing's escalation_kind (see the module header for why this existing kind). */
56
+ export const STANDING_APPROVAL_STRANDED_KIND = 'verify_gate_unclearable';
57
+ /** metadata.diagnosis of the filing (its cause namespace). */
58
+ export const STANDING_APPROVAL_STRANDED_DIAGNOSIS = STANDING_APPROVAL_STRANDED_CAUSE;
59
+ /** Decline kinds that are never filed: each already is the human signal or a self-clearing declared wait. */
60
+ const NEVER_FILED = new Set(['operator_hold', 'external_hold']);
61
+ /** Per-delivery streak of the identical decline since it began, or since the gate was last asked. */
62
+ const streaks = new Map();
63
+ /** Test seam: forget every streak. */
64
+ export function __resetStandingApprovalStrandedForTests() {
65
+ streaks.clear();
66
+ }
67
+ /** The cause key: one filing per delivery per approved commit. Pure. */
68
+ export function strandedCauseKey(deliveryId, approvedSha) {
69
+ return standingApprovalStrandedCauseKey(deliveryId, approvedSha);
70
+ }
71
+ /** The filing for one stranded delivery. Pure. */
72
+ export function buildStrandedEscalation(focus, decline, approvedSha, polls) {
73
+ const sha = approvedSha.slice(0, 12);
74
+ const act = `Decide delivery "${decline.deliveryName}" on focus "${focus.focusName}": it passed verify at ${sha}, the ` +
75
+ `commit the focus's standing approval judged, but cannot converge to done because ${decline.reason}. Clear ` +
76
+ `that cause, or move the delivery to done or back to coding.`;
77
+ return {
78
+ causeKey: strandedCauseKey(decline.deliveryId, approvedSha),
79
+ organizationId: focus.organizationId,
80
+ sessionId: '',
81
+ issueId: null,
82
+ reasonType: ESCALATION_REASONS.ERROR_ENCOUNTERED,
83
+ disposition: ESCALATION_DISPOSITIONS.NEEDS_OPERATOR,
84
+ humanAct: { kind: 'unreachable_capability', act },
85
+ anchor: { deliveryId: decline.deliveryId, focusId: focus.focusId },
86
+ productId: focus.productId,
87
+ escalationKind: STANDING_APPROVAL_STRANDED_KIND,
88
+ description: `Delivery "${decline.deliveryName}" is stranded in verify on focus "${focus.focusName}". It passed verify at ` +
89
+ `${sha}, the commit the focus's current approval judged, and the daemon declined to converge it to done on ` +
90
+ `that approval on at least ${polls} consecutive polls for the same reason: ${decline.reason}.\n\n` +
91
+ `No review opens at a head an approval already judged, so no daemon pass will move this delivery while ` +
92
+ `that reason stands.`,
93
+ whatWasTried: `Standing-approval convergence re-read every hold on each poll (at least ${polls} consecutive) and declined each time ` +
94
+ `for the identical reason.`,
95
+ helpNeeded: act,
96
+ metadata: {
97
+ cause: STANDING_APPROVAL_STRANDED_KIND,
98
+ diagnosis: STANDING_APPROVAL_STRANDED_DIAGNOSIS,
99
+ deliveryName: decline.deliveryName,
100
+ approvedSha,
101
+ declineKind: decline.kind,
102
+ reason: decline.reason,
103
+ consecutivePolls: polls,
104
+ },
105
+ };
106
+ }
107
+ /**
108
+ * Record one pass's declines and ask the idempotent gate to file each delivery
109
+ * whose identical decline has run STANDING_APPROVAL_STRANDED_POLLS passes since it
110
+ * began or since the gate was last asked. `seen` is every delivery the pass looked
111
+ * at: one not declined this pass loses its streak. Never throws.
112
+ */
113
+ export async function reportStandingApprovalDeclines(focus, approvedSha, seen, declines, file) {
114
+ const declined = new Map(declines.map((d) => [d.deliveryId, d]));
115
+ for (const id of seen)
116
+ if (!declined.has(id))
117
+ streaks.delete(id);
118
+ const filed = [];
119
+ for (const d of declines) {
120
+ const prior = streaks.get(d.deliveryId);
121
+ const streak = { reason: d.reason, count: prior?.reason === d.reason ? prior.count + 1 : 1 };
122
+ streaks.set(d.deliveryId, streak);
123
+ if (streak.count < STANDING_APPROVAL_STRANDED_POLLS || NEVER_FILED.has(d.kind))
124
+ continue;
125
+ if (approvedSha === null || file === undefined)
126
+ continue;
127
+ // Asked now; the next ask is STANDING_APPROVAL_STRANDED_POLLS passes on. The open row suppresses it, a resolved one does not.
128
+ streaks.set(d.deliveryId, { reason: d.reason, count: 0 });
129
+ try {
130
+ const result = await file(buildStrandedEscalation(focus, d, approvedSha, streak.count));
131
+ if (result.filed) {
132
+ filed.push(d.deliveryId);
133
+ log.info(`[state-cascade] Delivery "${d.deliveryName}" on "${focus.focusName}" is stranded at the approved head ${approvedSha.slice(0, 12)} (${d.reason}); filed its one escalation.`);
134
+ }
135
+ }
136
+ catch (err) {
137
+ log.warn(`[state-cascade] failed to file the stranded-delivery escalation for "${d.deliveryName}": ${err.message}`);
138
+ }
139
+ }
140
+ return filed;
141
+ }
142
+ //# sourceMappingURL=standing-approval-stranded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standing-approval-stranded.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-stranded.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { type ReviewCycleCapHoldDeps } from '../../supervision/review-cycle-cap-
12
12
  import { type BreakerHoldDeps, type BreakerHoldReading } from '../review-cycle-budget/review-breaker-hold.js';
13
13
  import { type ReviewHeadApproval, type ReviewHeadApprovalReadDeps } from './review-approved-head-gate.js';
14
14
  import { type StandingApprovalDeps } from './standing-approval-convergence.js';
15
+ import { type RecordedConcernReader } from '../../delivery/recorded-concerns.js';
15
16
  /** Injectable dependencies for cascade functions (testing). */
16
17
  export interface CascadeDeps {
17
18
  getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
@@ -57,6 +58,13 @@ export interface CascadeDeps {
57
58
  * deps object omitting it behaves as before (no hold).
58
59
  */
59
60
  isReviewCycleCapHeld?: (focusId: string) => Promise<boolean>;
61
+ /**
62
+ * The focus's recorded concern ids (delivery/recorded-concerns.ts): a recorded
63
+ * concern on a verify delivery is not open work, so it does not keep the review
64
+ * window shut. Optional like its siblings: a partial test deps object omitting it
65
+ * counts every open issue as work, as before. Production always binds it.
66
+ */
67
+ readRecordedConcernIds?: RecordedConcernReader;
60
68
  /**
61
69
  * The focus's issues, read by checkAutoReview for the open-work half of the
62
70
  * shared review-next-step decision (completion/state-cascade/review-next-step.ts) -- read
@@ -1 +1 @@
1
- {"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/state-cascade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/state-cascade.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ import { resolveReviewCycleCapHold } from '../../supervision/review-cycle-cap-ho
63
63
  import { readBreakerHold, describeBreakerHold, } from '../review-cycle-budget/review-breaker-hold.js';
64
64
  import { declinesReviewAtApprovedHead, readReviewHeadApproval, } from './review-approved-head-gate.js';
65
65
  import { convergeOnStandingApproval } from './standing-approval-convergence.js';
66
+ import { NO_RECORDED_CONCERNS } from '../../delivery/recorded-concerns.js';
66
67
  import { createLogger } from '../../log/daemon-log.js';
67
68
  const log = createLogger({ module: 'state-cascade' });
68
69
  /**
@@ -233,6 +234,7 @@ export async function checkAutoReview(focusId, phase, pipelineConfig, reviewRequ
233
234
  deliveries,
234
235
  pipelineConfig,
235
236
  readIssues: async () => (deps.getFocusIssues ? deps.getFocusIssues(focusId) : []),
237
+ readConcernIds: async () => (deps.readRecordedConcernIds ? deps.readRecordedConcernIds(focusId) : NO_RECORDED_CONCERNS),
236
238
  });
237
239
  if (next.step === 'not_converged')
238
240
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"state-cascade.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/state-cascade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-cascade.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/state-cascade.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { type EnsureWorktreeCommittedDeps } from '../../delivery/delivery-advanc
16
16
  import { type AdvanceHoldRecorder } from '../../delivery/advance-hold.js';
17
17
  import type { StageAdvanceResult } from '../../delivery/delivery-lifecycle.js';
18
18
  import type { ReconcilerIssue } from '../../delivery/delivery-reconciler.js';
19
+ import { type RecordedConcernReader } from '../../delivery/recorded-concerns.js';
19
20
  /**
20
21
  * External dependencies for advanceDeliveryStatuses; production binds them at
21
22
  * the composition root (composition/completion-event-context.ts buildAdvanceDeliveryDeps).
@@ -55,6 +56,8 @@ export interface AdvanceDeliveryDeps {
55
56
  }) => Promise<StageAdvanceResult>;
56
57
  /** Record a precheck refusal on the delivery's gate_state (delivery/advance-hold.ts, composition root). */
57
58
  recordAdvanceHold: AdvanceHoldRecorder;
59
+ /** The focus's recorded concern ids (delivery/recorded-concerns.ts), read once per pass; fail-closed to empty. */
60
+ readRecordedConcernIds: RecordedConcernReader;
58
61
  }
59
62
  /**
60
63
  * Advance delivery statuses after team completion.
@@ -68,6 +71,9 @@ export interface AdvanceDeliveryDeps {
68
71
  * For each delivery in 'coding' status:
69
72
  * - All issues Done (or no issues): advance via workflow (coding -> verify -> done)
70
73
  * - Open issues remain: re-queue to 'queued' so the next team session picks it up
74
+ *
75
+ * "Open" is BLOCKING open work: a recorded concern (delivery/recorded-concerns.ts)
76
+ * is not owed, so a delivery whose only open work is concerns advances to verify.
71
77
  */
72
78
  export declare function advanceDeliveryStatuses(config: DaemonConfig, teamState: FocusTeamState, sessionId: string, deps: AdvanceDeliveryDeps): Promise<void>;
73
79
  //# sourceMappingURL=status-advance-phase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-advance-phase.d.ts","sourceRoot":"","sources":["../../../src/completion/team-exit/status-advance-phase.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAwC,KAAK,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAClI,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAc7E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6GAA6G;IAC7G,eAAe,EAAE,2BAA2B,CAAC;IAC7C,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5H,uBAAuB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;QACpC,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,0FAA0F;QAC1F,cAAc,EAAE,OAAO,CAAC;KACzB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClC,2GAA2G;IAC3G,iBAAiB,EAAE,mBAAmB,CAAC;CACxC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAyMf"}
1
+ {"version":3,"file":"status-advance-phase.d.ts","sourceRoot":"","sources":["../../../src/completion/team-exit/status-advance-phase.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAwC,KAAK,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAClI,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAcrG;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6GAA6G;IAC7G,eAAe,EAAE,2BAA2B,CAAC;IAC7C,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5H,uBAAuB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;QACpC,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,0FAA0F;QAC1F,cAAc,EAAE,OAAO,CAAC;KACzB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClC,2GAA2G;IAC3G,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,kHAAkH;IAClH,sBAAsB,EAAE,qBAAqB,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAuMf"}