@telora/daemon 0.22.132 → 0.22.136

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 (549) hide show
  1. package/build-info.json +6 -3
  2. package/dist/audit/audit-hooks.d.ts +6 -2
  3. package/dist/audit/audit-hooks.d.ts.map +1 -1
  4. package/dist/audit/audit-hooks.js +12 -5
  5. package/dist/audit/audit-hooks.js.map +1 -1
  6. package/dist/audit/audit-phase.js +1 -1
  7. package/dist/audit/audit-phase.js.map +1 -1
  8. package/dist/backends/index.d.ts.map +1 -1
  9. package/dist/backends/index.js +1 -0
  10. package/dist/backends/index.js.map +1 -1
  11. package/dist/completion/completion-phase-registry.d.ts +4 -0
  12. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  13. package/dist/completion/completion-phase-registry.js +63 -18
  14. package/dist/completion/completion-phase-registry.js.map +1 -1
  15. package/dist/completion/exit-classification.d.ts.map +1 -1
  16. package/dist/completion/exit-classification.js +1 -0
  17. package/dist/completion/exit-classification.js.map +1 -1
  18. package/dist/completion/review-approved-head-gate.d.ts +53 -0
  19. package/dist/completion/review-approved-head-gate.d.ts.map +1 -0
  20. package/dist/completion/review-approved-head-gate.js +124 -0
  21. package/dist/completion/review-approved-head-gate.js.map +1 -0
  22. package/dist/completion/review-census-record.d.ts +52 -0
  23. package/dist/completion/review-census-record.d.ts.map +1 -0
  24. package/dist/completion/review-census-record.js +145 -0
  25. package/dist/completion/review-census-record.js.map +1 -0
  26. package/dist/completion/review-exit-deps.d.ts +5 -1
  27. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  28. package/dist/completion/review-exit-deps.js +7 -2
  29. package/dist/completion/review-exit-deps.js.map +1 -1
  30. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  31. package/dist/completion/review-exit-phase.js +29 -16
  32. package/dist/completion/review-exit-phase.js.map +1 -1
  33. package/dist/completion/review-exit-progress.d.ts +8 -0
  34. package/dist/completion/review-exit-progress.d.ts.map +1 -1
  35. package/dist/completion/review-exit-progress.js +14 -0
  36. package/dist/completion/review-exit-progress.js.map +1 -1
  37. package/dist/completion/review-exit-shortfall-park.d.ts +14 -0
  38. package/dist/completion/review-exit-shortfall-park.d.ts.map +1 -0
  39. package/dist/completion/review-exit-shortfall-park.js +52 -0
  40. package/dist/completion/review-exit-shortfall-park.js.map +1 -0
  41. package/dist/completion/review-exit-shortfall.js +1 -1
  42. package/dist/completion/review-exit-shortfall.js.map +1 -1
  43. package/dist/completion/review-exit-verdict-gate.d.ts +58 -0
  44. package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -1
  45. package/dist/completion/review-exit-verdict-gate.js +68 -8
  46. package/dist/completion/review-exit-verdict-gate.js.map +1 -1
  47. package/dist/completion/review-next-step.d.ts +15 -3
  48. package/dist/completion/review-next-step.d.ts.map +1 -1
  49. package/dist/completion/review-next-step.js +7 -2
  50. package/dist/completion/review-next-step.js.map +1 -1
  51. package/dist/completion/standing-approval-convergence.d.ts +68 -0
  52. package/dist/completion/standing-approval-convergence.d.ts.map +1 -0
  53. package/dist/completion/standing-approval-convergence.js +230 -0
  54. package/dist/completion/standing-approval-convergence.js.map +1 -0
  55. package/dist/completion/standing-approval-deps.d.ts +5 -0
  56. package/dist/completion/standing-approval-deps.d.ts.map +1 -0
  57. package/dist/completion/standing-approval-deps.js +37 -0
  58. package/dist/completion/standing-approval-deps.js.map +1 -0
  59. package/dist/completion/state-cascade.d.ts +11 -0
  60. package/dist/completion/state-cascade.d.ts.map +1 -1
  61. package/dist/completion/state-cascade.js +40 -1
  62. package/dist/completion/state-cascade.js.map +1 -1
  63. package/dist/completion/team-lifecycle.d.ts +14 -2
  64. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  65. package/dist/completion/team-lifecycle.js +36 -36
  66. package/dist/completion/team-lifecycle.js.map +1 -1
  67. package/dist/completion/terminated-work-reconcile.d.ts +3 -1
  68. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  69. package/dist/completion/terminated-work-reconcile.js +24 -11
  70. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  71. package/dist/delivery/delivery-advance-block.d.ts +6 -0
  72. package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
  73. package/dist/delivery/delivery-advance-block.js +29 -3
  74. package/dist/delivery/delivery-advance-block.js.map +1 -1
  75. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  76. package/dist/delivery/delivery-reconciler.js +4 -1
  77. package/dist/delivery/delivery-reconciler.js.map +1 -1
  78. package/dist/delivery/operator-hold.d.ts.map +1 -1
  79. package/dist/delivery/operator-hold.js +3 -1
  80. package/dist/delivery/operator-hold.js.map +1 -1
  81. package/dist/directive/directive-executor.d.ts.map +1 -1
  82. package/dist/directive/directive-executor.js +6 -0
  83. package/dist/directive/directive-executor.js.map +1 -1
  84. package/dist/directive/directive-queue.d.ts +8 -0
  85. package/dist/directive/directive-queue.d.ts.map +1 -1
  86. package/dist/directive/directive-queue.js +20 -0
  87. package/dist/directive/directive-queue.js.map +1 -1
  88. package/dist/directive/phase-sync.d.ts +5 -0
  89. package/dist/directive/phase-sync.d.ts.map +1 -1
  90. package/dist/directive/phase-sync.js +11 -1
  91. package/dist/directive/phase-sync.js.map +1 -1
  92. package/dist/directive/stranded-review-reroute.d.ts +37 -0
  93. package/dist/directive/stranded-review-reroute.d.ts.map +1 -0
  94. package/dist/directive/stranded-review-reroute.js +150 -0
  95. package/dist/directive/stranded-review-reroute.js.map +1 -0
  96. package/dist/focus/focus-engine.d.ts.map +1 -1
  97. package/dist/focus/focus-engine.js +15 -3
  98. package/dist/focus/focus-engine.js.map +1 -1
  99. package/dist/focus/focus-executor.d.ts.map +1 -1
  100. package/dist/focus/focus-executor.js +9 -65
  101. package/dist/focus/focus-executor.js.map +1 -1
  102. package/dist/focus/focus-lifecycle.d.ts +12 -0
  103. package/dist/focus/focus-lifecycle.d.ts.map +1 -1
  104. package/dist/focus/focus-lifecycle.js +66 -37
  105. package/dist/focus/focus-lifecycle.js.map +1 -1
  106. package/dist/focus/focus-phase.d.ts.map +1 -1
  107. package/dist/focus/focus-phase.js +6 -0
  108. package/dist/focus/focus-phase.js.map +1 -1
  109. package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
  110. package/dist/focus/focus-spawn-decision.js +1 -0
  111. package/dist/focus/focus-spawn-decision.js.map +1 -1
  112. package/dist/focus/focus-team-state.d.ts +10 -0
  113. package/dist/focus/focus-team-state.d.ts.map +1 -1
  114. package/dist/focus/focus-team-state.js +19 -1
  115. package/dist/focus/focus-team-state.js.map +1 -1
  116. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  117. package/dist/focus/listener-auto-advance.js +1 -0
  118. package/dist/focus/listener-auto-advance.js.map +1 -1
  119. package/dist/focus/listener-spawn.d.ts +10 -0
  120. package/dist/focus/listener-spawn.d.ts.map +1 -1
  121. package/dist/focus/listener-spawn.js +46 -4
  122. package/dist/focus/listener-spawn.js.map +1 -1
  123. package/dist/focus/listener-state.d.ts.map +1 -1
  124. package/dist/focus/listener-state.js +11 -1
  125. package/dist/focus/listener-state.js.map +1 -1
  126. package/dist/focus/listener.d.ts +42 -0
  127. package/dist/focus/listener.d.ts.map +1 -1
  128. package/dist/focus/listener.js +62 -33
  129. package/dist/focus/listener.js.map +1 -1
  130. package/dist/focus/pending-review-approved-head.d.ts +41 -0
  131. package/dist/focus/pending-review-approved-head.d.ts.map +1 -0
  132. package/dist/focus/pending-review-approved-head.js +198 -0
  133. package/dist/focus/pending-review-approved-head.js.map +1 -0
  134. package/dist/focus/pending-spawn-pass-deps.d.ts +5 -0
  135. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  136. package/dist/focus/pending-spawn-pass-deps.js +2 -1
  137. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  138. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  139. package/dist/focus/pending-spawn-review-next-step.js +26 -4
  140. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  141. package/dist/focus/review-spawn-coverage.d.ts +87 -0
  142. package/dist/focus/review-spawn-coverage.d.ts.map +1 -0
  143. package/dist/focus/review-spawn-coverage.js +104 -0
  144. package/dist/focus/review-spawn-coverage.js.map +1 -0
  145. package/dist/focus/session-health.d.ts +5 -2
  146. package/dist/focus/session-health.d.ts.map +1 -1
  147. package/dist/focus/session-health.js +2 -1
  148. package/dist/focus/session-health.js.map +1 -1
  149. package/dist/focus/session-process-reap.d.ts +50 -0
  150. package/dist/focus/session-process-reap.d.ts.map +1 -0
  151. package/dist/focus/session-process-reap.js +77 -0
  152. package/dist/focus/session-process-reap.js.map +1 -0
  153. package/dist/focus/unchanged-reviewed-head.d.ts +40 -0
  154. package/dist/focus/unchanged-reviewed-head.d.ts.map +1 -0
  155. package/dist/focus/unchanged-reviewed-head.js +84 -0
  156. package/dist/focus/unchanged-reviewed-head.js.map +1 -0
  157. package/dist/focus/verify-open-issues.d.ts +4 -19
  158. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  159. package/dist/focus/verify-open-issues.js +83 -41
  160. package/dist/focus/verify-open-issues.js.map +1 -1
  161. package/dist/git/focus-integration-sync.d.ts +61 -0
  162. package/dist/git/focus-integration-sync.d.ts.map +1 -0
  163. package/dist/git/focus-integration-sync.js +73 -0
  164. package/dist/git/focus-integration-sync.js.map +1 -0
  165. package/dist/git/focus-own-delta.d.ts +38 -0
  166. package/dist/git/focus-own-delta.d.ts.map +1 -0
  167. package/dist/git/focus-own-delta.js +193 -0
  168. package/dist/git/focus-own-delta.js.map +1 -0
  169. package/dist/git/index.d.ts +2 -0
  170. package/dist/git/index.d.ts.map +1 -1
  171. package/dist/git/index.js +4 -0
  172. package/dist/git/index.js.map +1 -1
  173. package/dist/git/merge.d.ts.map +1 -1
  174. package/dist/git/merge.js +11 -1
  175. package/dist/git/merge.js.map +1 -1
  176. package/dist/git/resolution-restore.d.ts +66 -0
  177. package/dist/git/resolution-restore.d.ts.map +1 -0
  178. package/dist/git/resolution-restore.js +331 -0
  179. package/dist/git/resolution-restore.js.map +1 -0
  180. package/dist/loops/engine.d.ts.map +1 -1
  181. package/dist/loops/engine.js.map +1 -1
  182. package/dist/merge/abandoned-merge-recovery.d.ts +72 -0
  183. package/dist/merge/abandoned-merge-recovery.d.ts.map +1 -0
  184. package/dist/merge/abandoned-merge-recovery.js +117 -0
  185. package/dist/merge/abandoned-merge-recovery.js.map +1 -0
  186. package/dist/merge/focus-merge.d.ts +19 -0
  187. package/dist/merge/focus-merge.d.ts.map +1 -1
  188. package/dist/merge/focus-merge.js +136 -99
  189. package/dist/merge/focus-merge.js.map +1 -1
  190. package/dist/merge/merge-back-activity.d.ts +11 -0
  191. package/dist/merge/merge-back-activity.d.ts.map +1 -0
  192. package/dist/merge/merge-back-activity.js +57 -0
  193. package/dist/merge/merge-back-activity.js.map +1 -0
  194. package/dist/merge/merge-back-conflict.d.ts +119 -0
  195. package/dist/merge/merge-back-conflict.d.ts.map +1 -0
  196. package/dist/merge/merge-back-conflict.js +178 -0
  197. package/dist/merge/merge-back-conflict.js.map +1 -0
  198. package/dist/merge/merge-back-followup.d.ts +109 -0
  199. package/dist/merge/merge-back-followup.d.ts.map +1 -0
  200. package/dist/merge/merge-back-followup.js +316 -0
  201. package/dist/merge/merge-back-followup.js.map +1 -0
  202. package/dist/merge/merge-back-loop.d.ts +2 -0
  203. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  204. package/dist/merge/merge-back-loop.js +14 -15
  205. package/dist/merge/merge-back-loop.js.map +1 -1
  206. package/dist/merge/merge-conflict-escalation.d.ts +12 -0
  207. package/dist/merge/merge-conflict-escalation.d.ts.map +1 -1
  208. package/dist/merge/merge-conflict-escalation.js +37 -2
  209. package/dist/merge/merge-conflict-escalation.js.map +1 -1
  210. package/dist/merge/merge-gate-coverage.d.ts.map +1 -1
  211. package/dist/merge/merge-gate-coverage.js +1 -0
  212. package/dist/merge/merge-gate-coverage.js.map +1 -1
  213. package/dist/prompt/prompt-listing.d.ts +5 -0
  214. package/dist/prompt/prompt-listing.d.ts.map +1 -1
  215. package/dist/prompt/prompt-listing.js +35 -0
  216. package/dist/prompt/prompt-listing.js.map +1 -1
  217. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  218. package/dist/prompt-sections/routing-decider-sections.js +2 -0
  219. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  220. package/dist/prompt-sections/shortfall-park-section.d.ts +43 -0
  221. package/dist/prompt-sections/shortfall-park-section.d.ts.map +1 -0
  222. package/dist/prompt-sections/shortfall-park-section.js +36 -0
  223. package/dist/prompt-sections/shortfall-park-section.js.map +1 -0
  224. package/dist/queries/agent-resolvable-promotion.d.ts +16 -2
  225. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  226. package/dist/queries/agent-resolvable-promotion.js +30 -3
  227. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  228. package/dist/queries/cause-key.d.ts +17 -22
  229. package/dist/queries/cause-key.d.ts.map +1 -1
  230. package/dist/queries/cause-key.js +50 -1
  231. package/dist/queries/cause-key.js.map +1 -1
  232. package/dist/queries/commit-attributions.d.ts +18 -0
  233. package/dist/queries/commit-attributions.d.ts.map +1 -0
  234. package/dist/queries/commit-attributions.js +39 -0
  235. package/dist/queries/commit-attributions.js.map +1 -0
  236. package/dist/queries/deliveries.d.ts.map +1 -1
  237. package/dist/queries/deliveries.js +3 -1
  238. package/dist/queries/deliveries.js.map +1 -1
  239. package/dist/queries/delivery-gate-state.d.ts +21 -5
  240. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  241. package/dist/queries/delivery-gate-state.js +35 -9
  242. package/dist/queries/delivery-gate-state.js.map +1 -1
  243. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  244. package/dist/queries/escalation-consumption.js +2 -1
  245. package/dist/queries/escalation-consumption.js.map +1 -1
  246. package/dist/queries/escalation-field-bounds.d.ts +48 -0
  247. package/dist/queries/escalation-field-bounds.d.ts.map +1 -0
  248. package/dist/queries/escalation-field-bounds.js +83 -0
  249. package/dist/queries/escalation-field-bounds.js.map +1 -0
  250. package/dist/queries/escalation-refusal.d.ts +88 -0
  251. package/dist/queries/escalation-refusal.d.ts.map +1 -0
  252. package/dist/queries/escalation-refusal.js +217 -0
  253. package/dist/queries/escalation-refusal.js.map +1 -0
  254. package/dist/queries/escalation-suppression.d.ts +6 -0
  255. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  256. package/dist/queries/escalation-suppression.js +4 -13
  257. package/dist/queries/escalation-suppression.js.map +1 -1
  258. package/dist/queries/escalations.d.ts +5 -13
  259. package/dist/queries/escalations.d.ts.map +1 -1
  260. package/dist/queries/escalations.js +25 -30
  261. package/dist/queries/escalations.js.map +1 -1
  262. package/dist/queries/filing-observation.d.ts.map +1 -1
  263. package/dist/queries/filing-observation.js +3 -1
  264. package/dist/queries/filing-observation.js.map +1 -1
  265. package/dist/queries/focus-review-approval.d.ts +2 -0
  266. package/dist/queries/focus-review-approval.d.ts.map +1 -1
  267. package/dist/queries/focus-review-approval.js +7 -2
  268. package/dist/queries/focus-review-approval.js.map +1 -1
  269. package/dist/queries/focuses.d.ts.map +1 -1
  270. package/dist/queries/focuses.js +2 -1
  271. package/dist/queries/focuses.js.map +1 -1
  272. package/dist/queries/incident-correlation.d.ts.map +1 -1
  273. package/dist/queries/incident-correlation.js +4 -1
  274. package/dist/queries/incident-correlation.js.map +1 -1
  275. package/dist/queries/misattributed-commits-record.d.ts +26 -0
  276. package/dist/queries/misattributed-commits-record.d.ts.map +1 -0
  277. package/dist/queries/misattributed-commits-record.js +5 -0
  278. package/dist/queries/misattributed-commits-record.js.map +1 -0
  279. package/dist/queries/reality-tree.d.ts.map +1 -1
  280. package/dist/queries/reality-tree.js +2 -1
  281. package/dist/queries/reality-tree.js.map +1 -1
  282. package/dist/queries/schemas.d.ts +3 -0
  283. package/dist/queries/schemas.d.ts.map +1 -1
  284. package/dist/queries/schemas.js +1 -0
  285. package/dist/queries/schemas.js.map +1 -1
  286. package/dist/queries/shared.js +1 -1
  287. package/dist/queries/shortfall-park-record.d.ts +48 -0
  288. package/dist/queries/shortfall-park-record.d.ts.map +1 -0
  289. package/dist/queries/shortfall-park-record.js +31 -0
  290. package/dist/queries/shortfall-park-record.js.map +1 -0
  291. package/dist/queries/shortfall-rulings.d.ts +71 -0
  292. package/dist/queries/shortfall-rulings.d.ts.map +1 -0
  293. package/dist/queries/shortfall-rulings.js +53 -0
  294. package/dist/queries/shortfall-rulings.js.map +1 -0
  295. package/dist/queries/verification.d.ts +20 -1
  296. package/dist/queries/verification.d.ts.map +1 -1
  297. package/dist/queries/verification.js +48 -8
  298. package/dist/queries/verification.js.map +1 -1
  299. package/dist/resolvers/index.d.ts +2 -2
  300. package/dist/resolvers/index.d.ts.map +1 -1
  301. package/dist/resolvers/index.js +1 -1
  302. package/dist/resolvers/index.js.map +1 -1
  303. package/dist/resolvers/shared/delivery-trailer.d.ts +99 -0
  304. package/dist/resolvers/shared/delivery-trailer.d.ts.map +1 -0
  305. package/dist/resolvers/shared/delivery-trailer.js +103 -0
  306. package/dist/resolvers/shared/delivery-trailer.js.map +1 -0
  307. package/dist/resolvers/shared/git-diff.d.ts +11 -84
  308. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  309. package/dist/resolvers/shared/git-diff.js +17 -84
  310. package/dist/resolvers/shared/git-diff.js.map +1 -1
  311. package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -1
  312. package/dist/resolvers/shared/review-window-commits.js +1 -0
  313. package/dist/resolvers/shared/review-window-commits.js.map +1 -1
  314. package/dist/session/session-lineage.d.ts.map +1 -1
  315. package/dist/session/session-lineage.js +1 -0
  316. package/dist/session/session-lineage.js.map +1 -1
  317. package/dist/shell/config.d.ts +2 -1
  318. package/dist/shell/config.d.ts.map +1 -1
  319. package/dist/shell/config.js +21 -4
  320. package/dist/shell/config.js.map +1 -1
  321. package/dist/shell/crash-recovery.d.ts +3 -7
  322. package/dist/shell/crash-recovery.d.ts.map +1 -1
  323. package/dist/shell/crash-recovery.js +28 -31
  324. package/dist/shell/crash-recovery.js.map +1 -1
  325. package/dist/shell/orphan-capture.d.ts +42 -0
  326. package/dist/shell/orphan-capture.d.ts.map +1 -0
  327. package/dist/shell/orphan-capture.js +53 -0
  328. package/dist/shell/orphan-capture.js.map +1 -0
  329. package/dist/shell/worker-pidfile.d.ts +22 -4
  330. package/dist/shell/worker-pidfile.d.ts.map +1 -1
  331. package/dist/shell/worker-pidfile.js +51 -13
  332. package/dist/shell/worker-pidfile.js.map +1 -1
  333. package/dist/spawn/helpers.d.ts +3 -0
  334. package/dist/spawn/helpers.d.ts.map +1 -1
  335. package/dist/spawn/helpers.js +28 -9
  336. package/dist/spawn/helpers.js.map +1 -1
  337. package/dist/spawn/lead-launch.d.ts +34 -0
  338. package/dist/spawn/lead-launch.d.ts.map +1 -0
  339. package/dist/spawn/lead-launch.js +34 -0
  340. package/dist/spawn/lead-launch.js.map +1 -0
  341. package/dist/spawn/lead-process-ownership.d.ts +91 -0
  342. package/dist/spawn/lead-process-ownership.d.ts.map +1 -0
  343. package/dist/spawn/lead-process-ownership.js +120 -0
  344. package/dist/spawn/lead-process-ownership.js.map +1 -0
  345. package/dist/spawn/lifecycle.d.ts +43 -3
  346. package/dist/spawn/lifecycle.d.ts.map +1 -1
  347. package/dist/spawn/lifecycle.js +75 -44
  348. package/dist/spawn/lifecycle.js.map +1 -1
  349. package/dist/spawn/liveness.d.ts.map +1 -1
  350. package/dist/spawn/liveness.js +5 -1
  351. package/dist/spawn/liveness.js.map +1 -1
  352. package/dist/spawn/one-shot-process-ownership.d.ts +48 -0
  353. package/dist/spawn/one-shot-process-ownership.d.ts.map +1 -0
  354. package/dist/spawn/one-shot-process-ownership.js +44 -0
  355. package/dist/spawn/one-shot-process-ownership.js.map +1 -0
  356. package/dist/spawn/process-group-kill.d.ts +79 -0
  357. package/dist/spawn/process-group-kill.d.ts.map +1 -0
  358. package/dist/spawn/process-group-kill.js +210 -0
  359. package/dist/spawn/process-group-kill.js.map +1 -0
  360. package/dist/spawn/process-spawn.d.ts +18 -1
  361. package/dist/spawn/process-spawn.d.ts.map +1 -1
  362. package/dist/spawn/process-spawn.js +51 -20
  363. package/dist/spawn/process-spawn.js.map +1 -1
  364. package/dist/spawn/resolution-budget.d.ts +38 -0
  365. package/dist/spawn/resolution-budget.d.ts.map +1 -0
  366. package/dist/spawn/resolution-budget.js +87 -0
  367. package/dist/spawn/resolution-budget.js.map +1 -0
  368. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  369. package/dist/spawn/review-hold-park.js +37 -5
  370. package/dist/spawn/review-hold-park.js.map +1 -1
  371. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  372. package/dist/spawn/spawn-cooldown.js +9 -0
  373. package/dist/spawn/spawn-cooldown.js.map +1 -1
  374. package/dist/spawn/untracked-lead-sweep.d.ts +29 -0
  375. package/dist/spawn/untracked-lead-sweep.d.ts.map +1 -0
  376. package/dist/spawn/untracked-lead-sweep.js +100 -0
  377. package/dist/spawn/untracked-lead-sweep.js.map +1 -0
  378. package/dist/spawn/worker-registry.d.ts.map +1 -1
  379. package/dist/spawn/worker-registry.js +4 -1
  380. package/dist/spawn/worker-registry.js.map +1 -1
  381. package/dist/spawn/worktree-session.d.ts.map +1 -1
  382. package/dist/spawn/worktree-session.js +8 -6
  383. package/dist/spawn/worktree-session.js.map +1 -1
  384. package/dist/testing/fixtures/exit-capture-verify.d.ts +41 -0
  385. package/dist/testing/fixtures/exit-capture-verify.d.ts.map +1 -0
  386. package/dist/testing/fixtures/exit-capture-verify.js +152 -0
  387. package/dist/testing/fixtures/exit-capture-verify.js.map +1 -0
  388. package/dist/testing/fixtures/index.js +1 -1
  389. package/dist/testing/fixtures/pending-spawn-world.d.ts +7 -0
  390. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  391. package/dist/testing/fixtures/pending-spawn-world.js +21 -1
  392. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  393. package/dist/testing/fixtures/stubborn-lead-process.d.ts +22 -0
  394. package/dist/testing/fixtures/stubborn-lead-process.d.ts.map +1 -0
  395. package/dist/testing/fixtures/stubborn-lead-process.js +68 -0
  396. package/dist/testing/fixtures/stubborn-lead-process.js.map +1 -0
  397. package/dist/types/config.d.ts +13 -0
  398. package/dist/types/config.d.ts.map +1 -1
  399. package/dist/types/focus.d.ts +7 -0
  400. package/dist/types/focus.d.ts.map +1 -1
  401. package/dist/types/index.js +1 -1
  402. package/dist/verify/commit-verdict-record.d.ts +13 -3
  403. package/dist/verify/commit-verdict-record.d.ts.map +1 -1
  404. package/dist/verify/commit-verdict-record.js +45 -25
  405. package/dist/verify/commit-verdict-record.js.map +1 -1
  406. package/dist/verify/credit-rearm.d.ts +18 -0
  407. package/dist/verify/credit-rearm.d.ts.map +1 -0
  408. package/dist/verify/credit-rearm.js +69 -0
  409. package/dist/verify/credit-rearm.js.map +1 -0
  410. package/dist/verify/delivery-commit-set.d.ts +10 -0
  411. package/dist/verify/delivery-commit-set.d.ts.map +1 -0
  412. package/dist/verify/delivery-commit-set.js +82 -0
  413. package/dist/verify/delivery-commit-set.js.map +1 -0
  414. package/dist/verify/explicit-rearm.d.ts.map +1 -1
  415. package/dist/verify/explicit-rearm.js +2 -0
  416. package/dist/verify/explicit-rearm.js.map +1 -1
  417. package/dist/verify/failure-signature.d.ts.map +1 -1
  418. package/dist/verify/failure-signature.js +1 -0
  419. package/dist/verify/failure-signature.js.map +1 -1
  420. package/dist/verify/gate-run-registry.d.ts.map +1 -1
  421. package/dist/verify/gate-run-registry.js +3 -0
  422. package/dist/verify/gate-run-registry.js.map +1 -1
  423. package/dist/verify/injection-stamp.d.ts +29 -0
  424. package/dist/verify/injection-stamp.d.ts.map +1 -0
  425. package/dist/verify/injection-stamp.js +139 -0
  426. package/dist/verify/injection-stamp.js.map +1 -0
  427. package/dist/verify/misattributed-commits-read.d.ts +31 -0
  428. package/dist/verify/misattributed-commits-read.d.ts.map +1 -0
  429. package/dist/verify/misattributed-commits-read.js +47 -0
  430. package/dist/verify/misattributed-commits-read.js.map +1 -0
  431. package/dist/verify/misattributed-commits.d.ts +52 -0
  432. package/dist/verify/misattributed-commits.d.ts.map +1 -0
  433. package/dist/verify/misattributed-commits.js +148 -0
  434. package/dist/verify/misattributed-commits.js.map +1 -0
  435. package/dist/verify/no-own-delta-verdict.d.ts +47 -0
  436. package/dist/verify/no-own-delta-verdict.d.ts.map +1 -0
  437. package/dist/verify/no-own-delta-verdict.js +74 -0
  438. package/dist/verify/no-own-delta-verdict.js.map +1 -0
  439. package/dist/verify/shortfall-park-escalation.d.ts +41 -0
  440. package/dist/verify/shortfall-park-escalation.d.ts.map +1 -0
  441. package/dist/verify/shortfall-park-escalation.js +177 -0
  442. package/dist/verify/shortfall-park-escalation.js.map +1 -0
  443. package/dist/verify/shortfall-park.d.ts +109 -0
  444. package/dist/verify/shortfall-park.d.ts.map +1 -0
  445. package/dist/verify/shortfall-park.js +208 -0
  446. package/dist/verify/shortfall-park.js.map +1 -0
  447. package/dist/verify/shortfall-repeat.d.ts +47 -16
  448. package/dist/verify/shortfall-repeat.d.ts.map +1 -1
  449. package/dist/verify/shortfall-repeat.js +77 -23
  450. package/dist/verify/shortfall-repeat.js.map +1 -1
  451. package/dist/verify/shortfall-rulings.d.ts +106 -0
  452. package/dist/verify/shortfall-rulings.d.ts.map +1 -0
  453. package/dist/verify/shortfall-rulings.js +118 -0
  454. package/dist/verify/shortfall-rulings.js.map +1 -0
  455. package/dist/verify/stall-detectors.d.ts.map +1 -1
  456. package/dist/verify/stall-detectors.js +10 -4
  457. package/dist/verify/stall-detectors.js.map +1 -1
  458. package/dist/verify/verification-attribution-base.d.ts +26 -0
  459. package/dist/verify/verification-attribution-base.d.ts.map +1 -0
  460. package/dist/verify/verification-attribution-base.js +127 -0
  461. package/dist/verify/verification-attribution-base.js.map +1 -0
  462. package/dist/verify/verification-attribution-deps.d.ts +32 -0
  463. package/dist/verify/verification-attribution-deps.d.ts.map +1 -0
  464. package/dist/verify/verification-attribution-deps.js +209 -0
  465. package/dist/verify/verification-attribution-deps.js.map +1 -0
  466. package/dist/verify/verification-baseline.d.ts +6 -0
  467. package/dist/verify/verification-baseline.d.ts.map +1 -1
  468. package/dist/verify/verification-baseline.js +27 -11
  469. package/dist/verify/verification-baseline.js.map +1 -1
  470. package/dist/verify/verification-commit-sharing.d.ts.map +1 -1
  471. package/dist/verify/verification-commit-sharing.js +30 -8
  472. package/dist/verify/verification-commit-sharing.js.map +1 -1
  473. package/dist/verify/verification-config.d.ts.map +1 -1
  474. package/dist/verify/verification-config.js +2 -0
  475. package/dist/verify/verification-config.js.map +1 -1
  476. package/dist/verify/verification-default-on.d.ts +3 -0
  477. package/dist/verify/verification-default-on.d.ts.map +1 -1
  478. package/dist/verify/verification-default-on.js +5 -1
  479. package/dist/verify/verification-default-on.js.map +1 -1
  480. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  481. package/dist/verify/verification-deps-default.js +61 -120
  482. package/dist/verify/verification-deps-default.js.map +1 -1
  483. package/dist/verify/verification-deps.d.ts +26 -4
  484. package/dist/verify/verification-deps.d.ts.map +1 -1
  485. package/dist/verify/verification-deterministic.d.ts +15 -0
  486. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  487. package/dist/verify/verification-deterministic.js +1 -12
  488. package/dist/verify/verification-deterministic.js.map +1 -1
  489. package/dist/verify/verification-engine.d.ts +9 -6
  490. package/dist/verify/verification-engine.d.ts.map +1 -1
  491. package/dist/verify/verification-engine.js +43 -62
  492. package/dist/verify/verification-engine.js.map +1 -1
  493. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
  494. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  495. package/dist/verify/verification-evidence-unavailable-feedback.js +19 -1
  496. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  497. package/dist/verify/verification-failure-parser.d.ts +57 -1
  498. package/dist/verify/verification-failure-parser.d.ts.map +1 -1
  499. package/dist/verify/verification-failure-parser.js +116 -10
  500. package/dist/verify/verification-failure-parser.js.map +1 -1
  501. package/dist/verify/verification-feedback.d.ts +60 -43
  502. package/dist/verify/verification-feedback.d.ts.map +1 -1
  503. package/dist/verify/verification-feedback.js +115 -120
  504. package/dist/verify/verification-feedback.js.map +1 -1
  505. package/dist/verify/verification-history-reset.d.ts +2 -1
  506. package/dist/verify/verification-history-reset.d.ts.map +1 -1
  507. package/dist/verify/verification-history-reset.js +4 -2
  508. package/dist/verify/verification-history-reset.js.map +1 -1
  509. package/dist/verify/verification-rework-issue.d.ts +87 -0
  510. package/dist/verify/verification-rework-issue.d.ts.map +1 -0
  511. package/dist/verify/verification-rework-issue.js +212 -0
  512. package/dist/verify/verification-rework-issue.js.map +1 -0
  513. package/dist/verify/verification-rework-messages.d.ts.map +1 -1
  514. package/dist/verify/verification-rework-messages.js +10 -0
  515. package/dist/verify/verification-rework-messages.js.map +1 -1
  516. package/dist/verify/verify-gate-stall.d.ts +2 -0
  517. package/dist/verify/verify-gate-stall.d.ts.map +1 -1
  518. package/dist/verify/verify-gate-stall.js +35 -9
  519. package/dist/verify/verify-gate-stall.js.map +1 -1
  520. package/dist/verify/verify-restatement.d.ts.map +1 -1
  521. package/dist/verify/verify-restatement.js +9 -2
  522. package/dist/verify/verify-restatement.js.map +1 -1
  523. package/dist/worktree/capture-attribution-read.d.ts +47 -0
  524. package/dist/worktree/capture-attribution-read.d.ts.map +1 -0
  525. package/dist/worktree/capture-attribution-read.js +98 -0
  526. package/dist/worktree/capture-attribution-read.js.map +1 -0
  527. package/dist/worktree/capture-attribution.d.ts +26 -0
  528. package/dist/worktree/capture-attribution.d.ts.map +1 -0
  529. package/dist/worktree/capture-attribution.js +111 -0
  530. package/dist/worktree/capture-attribution.js.map +1 -0
  531. package/dist/worktree/index.d.ts.map +1 -1
  532. package/dist/worktree/index.js +2 -1
  533. package/dist/worktree/index.js.map +1 -1
  534. package/dist/worktree/provision.d.ts.map +1 -1
  535. package/dist/worktree/provision.js +23 -6
  536. package/dist/worktree/provision.js.map +1 -1
  537. package/dist/worktree/safety.d.ts +14 -4
  538. package/dist/worktree/safety.d.ts.map +1 -1
  539. package/dist/worktree/safety.js +37 -7
  540. package/dist/worktree/safety.js.map +1 -1
  541. package/dist/worktree/scratch-guard.d.ts +53 -2
  542. package/dist/worktree/scratch-guard.d.ts.map +1 -1
  543. package/dist/worktree/scratch-guard.js +115 -30
  544. package/dist/worktree/scratch-guard.js.map +1 -1
  545. package/dist/worktree/unmerged-capture-escalation.d.ts +52 -0
  546. package/dist/worktree/unmerged-capture-escalation.d.ts.map +1 -0
  547. package/dist/worktree/unmerged-capture-escalation.js +64 -0
  548. package/dist/worktree/unmerged-capture-escalation.js.map +1 -0
  549. package/package.json +2 -2
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Bound every daemon escalation text field below the server's field limit.
3
+ *
4
+ * The escalation create endpoint (supabase/functions/_shared/validation.ts
5
+ * validateEscalationFields) refuses a description, whatWasTried or helpNeeded
6
+ * longer than ESCALATION_FIELD_MAX with a validation error that no resubmission
7
+ * can clear. Detector text embeds gate state -- failing-test lists, shortfall
8
+ * reasons, gate_state JSON -- whose length grows with the product's test suite,
9
+ * so a producer that composes blind sooner or later composes past the cap, and
10
+ * the filing (and the signal it carries) is lost. The chokepoint
11
+ * (queries/escalations.ts createEscalation) therefore fits EVERY field it sends
12
+ * through boundEscalationFields, whatever produced it.
13
+ *
14
+ * An over-cap field keeps its HEAD (where producers state the delivery and the
15
+ * cause) and its TAIL (where they point at the full detail, e.g. a log path),
16
+ * cuts the middle, and says so in-line: that it was shortened, from how many
17
+ * characters, and where the full text is. Producers that can summarize better
18
+ * than a middle cut (verify/verify-gate-stall.ts) fit themselves first; this is
19
+ * the floor no path can go under.
20
+ *
21
+ * Pure; no imports.
22
+ */
23
+ /** The server-side cap on each escalation text field (description, whatWasTried, helpNeeded). */
24
+ export declare const ESCALATION_FIELD_MAX = 5000;
25
+ /** The description cap. The same number as every other field; named for producers that fit a description. */
26
+ export declare const ESCALATION_DESCRIPTION_MAX = 5000;
27
+ /** The in-line note an over-cap field carries in place of its cut middle. */
28
+ export declare function shortenedMarker(originalLength: number, cap?: number): string;
29
+ /**
30
+ * Pure: fit one field under `cap`. A field at or under the cap is returned
31
+ * unchanged; an over-cap field keeps its head and tail around shortenedMarker.
32
+ * The result's length is always <= cap.
33
+ */
34
+ export declare function boundEscalationField(text: string, cap?: number): string;
35
+ /** The text fields a filing sends. */
36
+ export interface EscalationTextFields {
37
+ description: string;
38
+ whatWasTried: string | undefined;
39
+ helpNeeded: string | undefined;
40
+ }
41
+ /** The bounded fields, plus the original length of each field that had to be shortened. */
42
+ export interface BoundedEscalationFields extends EscalationTextFields {
43
+ /** field name -> original length, for every field that was shortened; empty when none was. */
44
+ shortened: Record<string, number>;
45
+ }
46
+ /** Pure: fit every text field of a filing under `cap`, recording which were shortened. */
47
+ export declare function boundEscalationFields(fields: EscalationTextFields, cap?: number): BoundedEscalationFields;
48
+ //# sourceMappingURL=escalation-field-bounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escalation-field-bounds.d.ts","sourceRoot":"","sources":["../../src/queries/escalation-field-bounds.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iGAAiG;AACjG,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,6GAA6G;AAC7G,eAAO,MAAM,0BAA0B,OAAuB,CAAC;AAK/D,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,GAAE,MAA6B,GAAG,MAAM,CAMlG;AASD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAA6B,GAAG,MAAM,CAU7F;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,2FAA2F;AAC3F,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,0FAA0F;AAC1F,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,oBAAoB,EAC5B,GAAG,GAAE,MAA6B,GACjC,uBAAuB,CAazB"}
@@ -0,0 +1,83 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/queries/escalation-field-bounds.test.ts,
3
+ // packages/daemon/src/queries/escalation-refusal.test.ts,
4
+ // packages/daemon/src/queries/filing-chokepoint.test.ts, packages/daemon/src/verify/stall-detectors.test.ts
5
+ // PINNED-BY-END
6
+ /**
7
+ * Bound every daemon escalation text field below the server's field limit.
8
+ *
9
+ * The escalation create endpoint (supabase/functions/_shared/validation.ts
10
+ * validateEscalationFields) refuses a description, whatWasTried or helpNeeded
11
+ * longer than ESCALATION_FIELD_MAX with a validation error that no resubmission
12
+ * can clear. Detector text embeds gate state -- failing-test lists, shortfall
13
+ * reasons, gate_state JSON -- whose length grows with the product's test suite,
14
+ * so a producer that composes blind sooner or later composes past the cap, and
15
+ * the filing (and the signal it carries) is lost. The chokepoint
16
+ * (queries/escalations.ts createEscalation) therefore fits EVERY field it sends
17
+ * through boundEscalationFields, whatever produced it.
18
+ *
19
+ * An over-cap field keeps its HEAD (where producers state the delivery and the
20
+ * cause) and its TAIL (where they point at the full detail, e.g. a log path),
21
+ * cuts the middle, and says so in-line: that it was shortened, from how many
22
+ * characters, and where the full text is. Producers that can summarize better
23
+ * than a middle cut (verify/verify-gate-stall.ts) fit themselves first; this is
24
+ * the floor no path can go under.
25
+ *
26
+ * Pure; no imports.
27
+ */
28
+ /** The server-side cap on each escalation text field (description, whatWasTried, helpNeeded). */
29
+ export const ESCALATION_FIELD_MAX = 5000;
30
+ /** The description cap. The same number as every other field; named for producers that fit a description. */
31
+ export const ESCALATION_DESCRIPTION_MAX = ESCALATION_FIELD_MAX;
32
+ /** Share of the kept budget given to the head; the rest keeps the tail. */
33
+ const HEAD_SHARE = 0.7;
34
+ /** The in-line note an over-cap field carries in place of its cut middle. */
35
+ export function shortenedMarker(originalLength, cap = ESCALATION_FIELD_MAX) {
36
+ return (`\n\n[... shortened by the daemon to fit the ${cap}-character escalation field limit ` +
37
+ `(original ${originalLength} characters); the full text was written to the daemon log ` +
38
+ `(telora-daemon logs) when this escalation was filed ...]\n\n`);
39
+ }
40
+ /** True when index `i` would split a UTF-16 surrogate pair. */
41
+ function splitsSurrogatePair(text, i) {
42
+ if (i <= 0 || i >= text.length)
43
+ return false;
44
+ const prev = text.charCodeAt(i - 1);
45
+ return prev >= 0xd800 && prev <= 0xdbff;
46
+ }
47
+ /**
48
+ * Pure: fit one field under `cap`. A field at or under the cap is returned
49
+ * unchanged; an over-cap field keeps its head and tail around shortenedMarker.
50
+ * The result's length is always <= cap.
51
+ */
52
+ export function boundEscalationField(text, cap = ESCALATION_FIELD_MAX) {
53
+ if (text.length <= cap)
54
+ return text;
55
+ const marker = shortenedMarker(text.length, cap);
56
+ const budget = cap - marker.length;
57
+ if (budget <= 0)
58
+ return marker.slice(0, cap);
59
+ let head = Math.ceil(budget * HEAD_SHARE);
60
+ if (splitsSurrogatePair(text, head))
61
+ head -= 1;
62
+ let tailStart = text.length - (budget - head);
63
+ if (splitsSurrogatePair(text, tailStart))
64
+ tailStart += 1;
65
+ return `${text.slice(0, head)}${marker}${text.slice(tailStart)}`;
66
+ }
67
+ /** Pure: fit every text field of a filing under `cap`, recording which were shortened. */
68
+ export function boundEscalationFields(fields, cap = ESCALATION_FIELD_MAX) {
69
+ const shortened = {};
70
+ const fit = (name, value) => {
71
+ if (value === undefined || value.length <= cap)
72
+ return value;
73
+ shortened[name] = value.length;
74
+ return boundEscalationField(value, cap);
75
+ };
76
+ return {
77
+ description: fit('description', fields.description),
78
+ whatWasTried: fit('whatWasTried', fields.whatWasTried),
79
+ helpNeeded: fit('helpNeeded', fields.helpNeeded),
80
+ shortened,
81
+ };
82
+ }
83
+ //# sourceMappingURL=escalation-field-bounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escalation-field-bounds.js","sourceRoot":"","sources":["../../src/queries/escalation-field-bounds.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,4DAA4D;AAC5D,8GAA8G;AAC9G,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,6GAA6G;AAC7G,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAE/D,2EAA2E;AAC3E,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,cAAsB,EAAE,MAAc,oBAAoB;IACxF,OAAO,CACL,+CAA+C,GAAG,oCAAoC;QACtF,aAAa,cAAc,4DAA4D;QACvF,8DAA8D,CAC/D,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,mBAAmB,CAAC,IAAY,EAAE,CAAS;IAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc,oBAAoB;IACnF,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC1C,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,IAAI,IAAI,CAAC,CAAC;IAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,IAAI,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,SAAS,IAAI,CAAC,CAAC;IACzD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AACnE,CAAC;AAeD,0FAA0F;AAC1F,MAAM,UAAU,qBAAqB,CACnC,MAA4B,EAC5B,MAAc,oBAAoB;IAElC,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,CAA+B,IAAY,EAAE,KAAQ,EAAK,EAAE;QACtE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,KAAK,CAAC;QAC7D,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/B,OAAO,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAM,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC;QACtD,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;QAChD,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,88 @@
1
+ import type { CallApiDeps } from './shared.js';
2
+ /** Longest server reason / original-text head the refusal record quotes. */
3
+ export declare const REFUSAL_REASON_MAX = 500;
4
+ export declare const REFUSAL_HEAD_MAX = 1500;
5
+ /** Health-event code for a refused escalation filing. */
6
+ export declare const ESCALATION_FILING_REFUSED_CODE = "escalation.filing_refused";
7
+ /** The escalation_create fields the chokepoint sends. */
8
+ export interface EscalationCreateFields {
9
+ reasonType: string;
10
+ description: string;
11
+ whatWasTried?: string;
12
+ helpNeeded?: string;
13
+ escalationKind?: string;
14
+ metadata?: Record<string, unknown>;
15
+ productId?: string;
16
+ focusId?: string;
17
+ deliveryId?: string;
18
+ targetProductId?: string;
19
+ disposition?: string;
20
+ }
21
+ /** One remembered refusal. */
22
+ export interface FilingRefusal {
23
+ statusCode: number;
24
+ reason: string;
25
+ refusedAt: string;
26
+ /** The refusal record's escalation id once filed; null while unfiled, or when it was itself refused. */
27
+ recordEscalationId: string | null;
28
+ /** 'pending' = not yet filed (retried on the next identical filing); 'filed'; 'refused' = the record itself was refused. */
29
+ recordState: 'pending' | 'filed' | 'refused';
30
+ }
31
+ /** What the write produced. */
32
+ export interface SendEscalationCreateResult {
33
+ escalationId: string | null;
34
+ /** Set when the filing was refused (now or on an earlier identical attempt); escalationId is then the refusal record's. */
35
+ refusal?: FilingRefusal;
36
+ }
37
+ export type FilingRefusalMemory = Map<string, FilingRefusal>;
38
+ /** A health event as the daemon-core buffer takes it. */
39
+ export interface RefusalHealthEvent {
40
+ severity: 'error';
41
+ source: string;
42
+ code: string;
43
+ message: string;
44
+ productId?: string;
45
+ }
46
+ export interface SendEscalationCreateDeps extends CallApiDeps {
47
+ refusalMemory?: FilingRefusalMemory;
48
+ emitHealthEvent?: (event: RefusalHealthEvent) => void | Promise<void>;
49
+ now?: () => string;
50
+ }
51
+ /**
52
+ * Pure: whether a failed write is a refusal no identical resubmission can clear.
53
+ * Follows daemon-core's own retryability semantics (resilience.ts
54
+ * classifyHttpStatus): a server response whose status is 4xx and that the client
55
+ * marked non-retryable -- 400, 401, 403, 404, 409, 413, 422, ... -- or a CHECK
56
+ * violation. 429 is marked retryable there and stays transient, as do network
57
+ * errors, 5xx, and a ReadOnlyModeError (503, non-retryable but not a refusal of the
58
+ * content). Duck-typed over daemon-core's ApiError: this module takes no
59
+ * daemon-core value import (see queries/escalations.ts).
60
+ */
61
+ export declare function isNonTransientRefusal(err: unknown): err is Error & {
62
+ statusCode: number;
63
+ };
64
+ /**
65
+ * Pure: the content fingerprint -- everything the server judges: the text fields,
66
+ * kind, disposition, anchors and the metadata bag (canonicalized), minus only the
67
+ * per-tick metadata the chokepoint re-stamps. A corrected metadata value is a
68
+ * different filing and is sent again.
69
+ */
70
+ export declare function filingFingerprint(fields: EscalationCreateFields): string;
71
+ /** Pure: who the filing was for, for the log line and the health event. */
72
+ export declare function filingSubject(fields: EscalationCreateFields): string;
73
+ /**
74
+ * Pure: the minimal, fixed-size record filed in place of a refused filing. It keeps
75
+ * the kind, anchors, disposition, cause key and incident key (so dedup and incident
76
+ * correlation still see the condition), quotes the server's reason and the head of
77
+ * the refused description (which names the delivery and the cause), and says where
78
+ * the full text is. Every field is far under the server's field limits.
79
+ */
80
+ export declare function refusalRecordFields(fields: EscalationCreateFields, refusal: FilingRefusal): EscalationCreateFields;
81
+ type CreateCall = NonNullable<CallApiDeps['callApi']>;
82
+ /**
83
+ * The chokepoint's escalation_create write, with non-transient refusal memory (see
84
+ * the module header). Throws only a transient failure.
85
+ */
86
+ export declare function sendEscalationCreate(call: CreateCall, issueId: string | null, fields: EscalationCreateFields, deps?: SendEscalationCreateDeps): Promise<SendEscalationCreateResult>;
87
+ export {};
88
+ //# sourceMappingURL=escalation-refusal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escalation-refusal.d.ts","sourceRoot":"","sources":["../../src/queries/escalation-refusal.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,yDAAyD;AACzD,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAK1E,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8BAA8B;AAC9B,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,4HAA4H;IAC5H,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;CAC9C;AAED,+BAA+B;AAC/B,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2HAA2H;IAC3H,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAK7D,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,KAAK,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAMzF;AAiBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAWxE;AAMD,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAMpE;AAKD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa,GAAG,sBAAsB,CAgBlH;AAmBD,KAAK,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AA0BtD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,sBAAsB,EAC9B,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAsCrC"}
@@ -0,0 +1,217 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/queries/escalation-refusal.test.ts
3
+ // PINNED-BY-END
4
+ /**
5
+ * A filing the server refuses for a non-transient reason is sent once, logged
6
+ * once, and surfaced to an operator -- never resubmitted identically every tick.
7
+ *
8
+ * Incident (daemon v0.22.132, 2026-09-16..17): the verify-gate stall detector's
9
+ * escalation was refused ("escalation description exceeds maximum length of 5000
10
+ * characters"); the refusal is a non-retryable 400, so withRetry threw at once, the
11
+ * detector downgraded it to a warn, and the next ~30s tick rebuilt and resubmitted
12
+ * the same text -- 181 refused filings, and an empty inbox while a delivery looped.
13
+ * Bounding the fields (queries/escalation-field-bounds.ts) removes that particular
14
+ * refusal; this module removes the loop for ANY refusal no resubmission can clear.
15
+ *
16
+ * sendEscalationCreate is the chokepoint's one escalation_create write
17
+ * (queries/escalations.ts createEscalation, and so the spool drain too):
18
+ *
19
+ * - A transient failure (network, timeout, 5xx, read-only mode) is rethrown
20
+ * unchanged -- the caller's retry and the next tick still apply.
21
+ * - A non-transient refusal (any non-retryable 4xx, or a CHECK violation) is remembered
22
+ * by the filing's content fingerprint, logged ONCE at error level naming the
23
+ * server's reason and the delivery/focus, and emitted as an error health event
24
+ * (heartbeat metadata -> the dashboard). A minimal, fixed-size record of the
25
+ * refusal is then filed in its place with the same kind, anchors, cause key and
26
+ * incident key, so the inbox carries the condition and the open row keeps the
27
+ * cause-keyed detector from filing again.
28
+ * - A later filing with the same fingerprint is not sent. If its refusal record
29
+ * is still unfiled (a transient failure), only the record is retried.
30
+ *
31
+ * The memory is in-process: after a restart a refused filing is sent once more,
32
+ * and its refusal record's open row (cause key / incident key) is what keeps the
33
+ * detector quiet across the restart.
34
+ */
35
+ import { createHash } from 'node:crypto';
36
+ import { createLogger } from '../shell/log.js';
37
+ const log = createLogger({ module: 'escalations' });
38
+ /** Longest server reason / original-text head the refusal record quotes. */
39
+ export const REFUSAL_REASON_MAX = 500;
40
+ export const REFUSAL_HEAD_MAX = 1500;
41
+ /** Health-event code for a refused escalation filing. */
42
+ export const ESCALATION_FILING_REFUSED_CODE = 'escalation.filing_refused';
43
+ /** Bound on remembered fingerprints; the oldest is forgotten first. */
44
+ const REFUSAL_MEMORY_MAX = 500;
45
+ /** The process-wide memory. Tests pass their own through deps. */
46
+ const processMemory = new Map();
47
+ /**
48
+ * Pure: whether a failed write is a refusal no identical resubmission can clear.
49
+ * Follows daemon-core's own retryability semantics (resilience.ts
50
+ * classifyHttpStatus): a server response whose status is 4xx and that the client
51
+ * marked non-retryable -- 400, 401, 403, 404, 409, 413, 422, ... -- or a CHECK
52
+ * violation. 429 is marked retryable there and stays transient, as do network
53
+ * errors, 5xx, and a ReadOnlyModeError (503, non-retryable but not a refusal of the
54
+ * content). Duck-typed over daemon-core's ApiError: this module takes no
55
+ * daemon-core value import (see queries/escalations.ts).
56
+ */
57
+ export function isNonTransientRefusal(err) {
58
+ if (!(err instanceof Error))
59
+ return false;
60
+ const e = err;
61
+ if (e.isRetryable === true)
62
+ return false;
63
+ if (e.name === 'SchemaConstraintViolation')
64
+ return true;
65
+ return typeof e.statusCode === 'number' && e.statusCode >= 400 && e.statusCode < 500;
66
+ }
67
+ /**
68
+ * Metadata the chokepoint re-stamps on every attempt with per-tick values
69
+ * (incident symptoms carry observed_at), so it is not part of the content identity.
70
+ */
71
+ const VOLATILE_METADATA_KEYS = new Set(['symptoms']);
72
+ /** Pure: JSON with object keys sorted at every depth, so equal content hashes equally. */
73
+ function canonicalJson(value) {
74
+ return JSON.stringify(value, (_key, v) => {
75
+ if (v === null || typeof v !== 'object' || Array.isArray(v))
76
+ return v;
77
+ const obj = v;
78
+ return Object.fromEntries(Object.keys(obj).sort().map((k) => [k, obj[k]]));
79
+ });
80
+ }
81
+ /**
82
+ * Pure: the content fingerprint -- everything the server judges: the text fields,
83
+ * kind, disposition, anchors and the metadata bag (canonicalized), minus only the
84
+ * per-tick metadata the chokepoint re-stamps. A corrected metadata value is a
85
+ * different filing and is sent again.
86
+ */
87
+ export function filingFingerprint(fields) {
88
+ const metadata = fields.metadata
89
+ ? Object.fromEntries(Object.entries(fields.metadata).filter(([k]) => !VOLATILE_METADATA_KEYS.has(k)))
90
+ : null;
91
+ const identity = [
92
+ fields.reasonType, fields.escalationKind ?? null, fields.disposition ?? null,
93
+ fields.productId ?? null, fields.focusId ?? null, fields.deliveryId ?? null, fields.targetProductId ?? null,
94
+ fields.description, fields.whatWasTried ?? null, fields.helpNeeded ?? null,
95
+ metadata,
96
+ ];
97
+ return createHash('sha256').update(canonicalJson(identity)).digest('hex');
98
+ }
99
+ function clip(text, max) {
100
+ return text.length <= max ? text : `${text.slice(0, max - 3)}...`;
101
+ }
102
+ /** Pure: who the filing was for, for the log line and the health event. */
103
+ export function filingSubject(fields) {
104
+ const parts = [
105
+ fields.deliveryId ? `delivery ${fields.deliveryId}` : null,
106
+ fields.focusId ? `focus ${fields.focusId}` : null,
107
+ ].filter((p) => p !== null);
108
+ return parts.length ? parts.join(', ') : 'no delivery or focus anchor';
109
+ }
110
+ /** Metadata keys the refusal record keeps: the ones that tie it to its cause and incident. */
111
+ const RECORD_METADATA_KEYS = ['cause', 'cause_key', 'original_cause_key', 'incident_key', 'symptoms', 'observation'];
112
+ /**
113
+ * Pure: the minimal, fixed-size record filed in place of a refused filing. It keeps
114
+ * the kind, anchors, disposition, cause key and incident key (so dedup and incident
115
+ * correlation still see the condition), quotes the server's reason and the head of
116
+ * the refused description (which names the delivery and the cause), and says where
117
+ * the full text is. Every field is far under the server's field limits.
118
+ */
119
+ export function refusalRecordFields(fields, refusal) {
120
+ const kept = {};
121
+ for (const k of RECORD_METADATA_KEYS)
122
+ if (fields.metadata?.[k] !== undefined)
123
+ kept[k] = fields.metadata[k];
124
+ return {
125
+ ...fields,
126
+ description: `The daemon's ${fields.escalationKind ?? 'unkinded'} escalation for ${filingSubject(fields)} was refused by ` +
127
+ `the server (${refusal.statusCode}: ${clip(refusal.reason, REFUSAL_REASON_MAX)}), so this shortened record ` +
128
+ `of it is filed instead and the refused text is not resubmitted. The full refused filing was written to the ` +
129
+ `daemon log (telora-daemon logs) at ${refusal.refusedAt}. It began:\n\n${clip(fields.description, REFUSAL_HEAD_MAX)}`,
130
+ whatWasTried: 'The daemon sent the filing once; the server refused it for a reason no identical resubmission can clear, ' +
131
+ 'so it was not retried.',
132
+ helpNeeded: fields.helpNeeded === undefined ? undefined : clip(fields.helpNeeded, REFUSAL_HEAD_MAX),
133
+ metadata: { ...kept, filing_refused: { status_code: refusal.statusCode, reason: clip(refusal.reason, REFUSAL_REASON_MAX), refused_at: refusal.refusedAt } },
134
+ };
135
+ }
136
+ async function defaultEmitHealthEvent(event) {
137
+ // Deferred: the daemon-core value import behind this seam is only needed on a
138
+ // refusal, and a static one would poison mock-loaded tests that import the chokepoint.
139
+ const { healthEvents } = await import('../shell/health-events.js');
140
+ healthEvents.emit({ ...event, timestamp: new Date().toISOString() });
141
+ }
142
+ function remember(memory, fingerprint, refusal) {
143
+ memory.delete(fingerprint);
144
+ memory.set(fingerprint, refusal);
145
+ while (memory.size > REFUSAL_MEMORY_MAX) {
146
+ const oldest = memory.keys().next().value;
147
+ if (oldest === undefined)
148
+ break;
149
+ memory.delete(oldest);
150
+ }
151
+ }
152
+ async function create(call, issueId, fields) {
153
+ const res = await call('escalation_create', { issueId, fields });
154
+ return res.escalation?.id ?? null;
155
+ }
156
+ /** File the refusal record for `refusal`; a transient failure leaves it pending, a refusal of the record ends it. */
157
+ async function fileRefusalRecord(call, issueId, fields, refusal) {
158
+ try {
159
+ refusal.recordEscalationId = await create(call, issueId, refusalRecordFields(fields, refusal));
160
+ refusal.recordState = 'filed';
161
+ log.info(`[escalations] filed the refusal record ${refusal.recordEscalationId ?? '(no id)'} for the refused ${fields.escalationKind ?? 'unkinded'} filing (${filingSubject(fields)})`);
162
+ }
163
+ catch (err) {
164
+ if (!isNonTransientRefusal(err))
165
+ throw err;
166
+ refusal.recordState = 'refused';
167
+ log.error(`[escalations] the server also refused the refusal record for the ${fields.escalationKind ?? 'unkinded'} filing (${filingSubject(fields)}): ${err.message}; the refusal stays visible as the ${ESCALATION_FILING_REFUSED_CODE} health event`);
168
+ }
169
+ return { escalationId: refusal.recordEscalationId, refusal };
170
+ }
171
+ /**
172
+ * The chokepoint's escalation_create write, with non-transient refusal memory (see
173
+ * the module header). Throws only a transient failure.
174
+ */
175
+ export async function sendEscalationCreate(call, issueId, fields, deps = {}) {
176
+ const memory = deps.refusalMemory ?? processMemory;
177
+ const fingerprint = filingFingerprint(fields);
178
+ const known = memory.get(fingerprint);
179
+ if (known) {
180
+ if (known.recordState === 'pending')
181
+ return fileRefusalRecord(call, issueId, fields, known);
182
+ log.debug(`[escalations] not resubmitting a ${fields.escalationKind ?? 'unkinded'} filing the server refused at ${known.refusedAt} (${filingSubject(fields)})`);
183
+ return { escalationId: known.recordEscalationId, refusal: known };
184
+ }
185
+ try {
186
+ return { escalationId: await create(call, issueId, fields) };
187
+ }
188
+ catch (err) {
189
+ if (!isNonTransientRefusal(err))
190
+ throw err;
191
+ const refusal = {
192
+ statusCode: err.statusCode ?? 400,
193
+ reason: err.message,
194
+ refusedAt: (deps.now ?? (() => new Date().toISOString()))(),
195
+ recordEscalationId: null,
196
+ recordState: 'pending',
197
+ };
198
+ remember(memory, fingerprint, refusal);
199
+ const message = `The server refused the daemon's ${fields.escalationKind ?? 'unkinded'} escalation for ${filingSubject(fields)} ` +
200
+ `(${refusal.statusCode}: ${clip(refusal.reason, REFUSAL_REASON_MAX)}); it will not be resubmitted with identical content.`;
201
+ log.error(`[escalations] ${message} Refused filing: ${JSON.stringify(fields)}`);
202
+ try {
203
+ await (deps.emitHealthEvent ?? defaultEmitHealthEvent)({
204
+ severity: 'error',
205
+ source: 'escalations',
206
+ code: ESCALATION_FILING_REFUSED_CODE,
207
+ message,
208
+ ...(fields.productId ? { productId: fields.productId } : {}),
209
+ });
210
+ }
211
+ catch (emitErr) {
212
+ log.warn(`[escalations] could not emit the ${ESCALATION_FILING_REFUSED_CODE} health event: ${emitErr.message}`);
213
+ }
214
+ return fileRefusalRecord(call, issueId, fields, refusal);
215
+ }
216
+ }
217
+ //# sourceMappingURL=escalation-refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escalation-refusal.js","sourceRoot":"","sources":["../../src/queries/escalation-refusal.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,12 @@ export interface FileEscalationIdempotentResult {
88
88
  * failed before this row was filed; null otherwise.
89
89
  */
90
90
  incidentEscalationId?: string | null;
91
+ /**
92
+ * Whether the server refused the filing non-transiently (queries/escalation-refusal.ts):
93
+ * filed is then false, and escalationId is the refusal record filed in its place (null
94
+ * while unfiled or itself refused).
95
+ */
96
+ refused?: boolean;
91
97
  }
92
98
  /**
93
99
  * File an escalation ONLY if its cause key is not already suppressed (open,
@@ -1 +1 @@
1
- {"version":3,"file":"escalation-suppression.d.ts","sourceRoot":"","sources":["../../src/queries/escalation-suppression.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAYtF;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,wEAAwE;IACxE,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;CAC5C;AAiCD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK5F;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,EAC/B,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,oDAAoD;AACpD,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;IAC5E,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,mFAAmF;IACnF,UAAU,EAAE,OAAO,CAAC;IACpB,wGAAwG;IACxG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,8BAA8B,EACtC,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAqBzC"}
1
+ {"version":3,"file":"escalation-suppression.d.ts","sourceRoot":"","sources":["../../src/queries/escalation-suppression.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAYtF;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,wEAAwE;IACxE,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;CAC5C;AAiCD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK5F;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,EAC/B,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,oDAAoD;AACpD,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;IAC5E,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,mFAAmF;IACnF,UAAU,EAAE,OAAO,CAAC;IACpB,wGAAwG;IACxG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,8BAA8B,EACtC,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAuBzC"}
@@ -1,16 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/completion/machine-remediable-demotion.test.ts,
3
- // packages/daemon/src/drift/drift-eval-loop.test.ts,
4
- // packages/daemon/src/integration/resolution-class-routing-flow.test.ts,
5
- // packages/daemon/src/integration/verification-history-round-trip.test.ts,
6
- // packages/daemon/src/queries/escalation-cause-key.test.ts,
7
- // packages/daemon/src/queries/escalation-noise-regressions.test.ts,
8
- // packages/daemon/src/queries/filing-chokepoint.test.ts,
9
- // packages/daemon/src/queries/incident-correlation.test.ts,
10
- // packages/daemon/src/queries/loop-refusal-observation.test.ts,
11
- // packages/daemon/src/spawn/spawn-cooldown.test.ts, packages/daemon/src/verify/shortfall-routing.test.ts,
12
- // packages/daemon/src/verify/stall-detectors.test.ts,
13
- // packages/daemon/src/verify/unreviewed-settle-detector.test.ts
2
+ // Pinned by: 22 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/queries/escalation-suppression.ts
14
3
  // PINNED-BY-END
15
4
  /**
16
5
  * Cause-keyed escalation suppression + idempotent filing.
@@ -126,12 +115,14 @@ export async function fileEscalationIdempotent(params, deps = {}) {
126
115
  };
127
116
  const created = await (deps.createEscalation ?? createEscalation)(keyed, deps.callApi ? { callApi: deps.callApi } : {});
128
117
  const correlated = created.correlated === true;
118
+ const refused = created.refusal !== undefined;
129
119
  return {
130
- filed: !correlated,
120
+ filed: !correlated && !refused,
131
121
  suppressed: false,
132
122
  escalationId: correlated ? null : created.escalationId,
133
123
  correlated,
134
124
  incidentEscalationId: created.incidentEscalationId ?? null,
125
+ refused,
135
126
  };
136
127
  }
137
128
  //# sourceMappingURL=escalation-suppression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"escalation-suppression.js","sourceRoot":"","sources":["../../src/queries/escalation-suppression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escalation-suppression.js","sourceRoot":"","sources":["../../src/queries/escalation-suppression.ts"],"names":[],"mappings":"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"}
@@ -13,18 +13,8 @@ import type { EscalationResolutionClass } from '@telora/daemon-core';
13
13
  import { type CallApiDeps } from './shared.js';
14
14
  import { resolveProvenance, type EscalationAnchor } from '../completion/escalation-provenance.js';
15
15
  import { type HumanAct } from './filing-observation.js';
16
+ import { type FilingRefusal, type SendEscalationCreateDeps } from './escalation-refusal.js';
16
17
  import { type IncidentRow, type SymptomClearing } from './incident-correlation.js';
17
- /**
18
- * The escalation `description` hard cap enforced server-side by
19
- * supabase/functions/_shared/validation.ts (validateMaxLength(description, 5000)).
20
- * Every daemon-side producer that composes a description MUST fit it under this
21
- * ONE number rather than compose blind and let the edge reject on length --
22
- * the disagreement that let an over-cap description be re-submitted forever
23
- * (Nexus notifications, and the former agent_resolvable promotion refile, which
24
- * the daemon no longer files). The Nexus producer (nexus/return.ts) imports it
25
- * from here so producer and server agree on the limit.
26
- */
27
- export declare const ESCALATION_DESCRIPTION_MAX = 5000;
28
18
  /**
29
19
  * Parameters for creating an escalation request.
30
20
  */
@@ -94,9 +84,9 @@ export interface CreateEscalationParams {
94
84
  * (derives the anchor's product/focus/delivery columns). Tests inject fakes THROUGH
95
85
  * deps, registering ZERO mock.module; production callers pass nothing.
96
86
  */
97
- export interface CreateEscalationDeps extends CallApiDeps {
87
+ export interface CreateEscalationDeps extends SendEscalationCreateDeps {
98
88
  resolveProvenance?: typeof resolveProvenance;
99
- /** ISO-8601 clock for the symptom's observed_at. */
89
+ /** ISO-8601 clock for the symptom's observed_at (and a refusal's refused_at). */
100
90
  now?: () => string;
101
91
  }
102
92
  /** Outcome of a filing through the chokepoint. */
@@ -107,6 +97,8 @@ export interface CreateEscalationResult {
107
97
  correlated?: boolean;
108
98
  /** The lane row it correlated onto, or whose attach failed before this row was filed; else null. */
109
99
  incidentEscalationId?: string | null;
100
+ /** Set when the server refused the filing non-transiently (queries/escalation-refusal.ts); escalationId is then its refusal record's. */
101
+ refusal?: FilingRefusal;
110
102
  }
111
103
  /**
112
104
  * Create an escalation request -- the single filing chokepoint. Provenance is
@@ -1 +1 @@
1
- {"version":3,"file":"escalations.d.ts","sourceRoot":"","sources":["../../src/queries/escalations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escalations.d.ts","sourceRoot":"","sources":["../../src/queries/escalations.ts"],"names":[],"mappings":"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"}