@telora/daemon 0.22.104 → 0.22.132

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 (482) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/commit-verdict-release.d.ts +49 -0
  3. package/dist/completion/commit-verdict-release.d.ts.map +1 -0
  4. package/dist/completion/commit-verdict-release.js +240 -0
  5. package/dist/completion/commit-verdict-release.js.map +1 -0
  6. package/dist/completion/completion-phase-registry.d.ts +10 -4
  7. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  8. package/dist/completion/completion-phase-registry.js +19 -7
  9. package/dist/completion/completion-phase-registry.js.map +1 -1
  10. package/dist/completion/detector.d.ts.map +1 -1
  11. package/dist/completion/detector.js +1 -0
  12. package/dist/completion/detector.js.map +1 -1
  13. package/dist/completion/event-entry-phases.d.ts +6 -3
  14. package/dist/completion/event-entry-phases.d.ts.map +1 -1
  15. package/dist/completion/event-entry-phases.js +135 -76
  16. package/dist/completion/event-entry-phases.js.map +1 -1
  17. package/dist/completion/event-phases.d.ts +24 -3
  18. package/dist/completion/event-phases.d.ts.map +1 -1
  19. package/dist/completion/event-phases.js +9 -9
  20. package/dist/completion/event-phases.js.map +1 -1
  21. package/dist/completion/event.d.ts +8 -0
  22. package/dist/completion/event.d.ts.map +1 -1
  23. package/dist/completion/event.js +47 -21
  24. package/dist/completion/event.js.map +1 -1
  25. package/dist/completion/exit-classification.d.ts.map +1 -1
  26. package/dist/completion/exit-classification.js +1 -0
  27. package/dist/completion/exit-classification.js.map +1 -1
  28. package/dist/completion/merge-phase.d.ts +21 -9
  29. package/dist/completion/merge-phase.d.ts.map +1 -1
  30. package/dist/completion/merge-phase.js +35 -10
  31. package/dist/completion/merge-phase.js.map +1 -1
  32. package/dist/completion/review-auto-approval-record.d.ts +19 -0
  33. package/dist/completion/review-auto-approval-record.d.ts.map +1 -0
  34. package/dist/completion/review-auto-approval-record.js +102 -0
  35. package/dist/completion/review-auto-approval-record.js.map +1 -0
  36. package/dist/completion/review-cycle-cap.d.ts +62 -0
  37. package/dist/completion/review-cycle-cap.d.ts.map +1 -0
  38. package/dist/completion/review-cycle-cap.js +180 -0
  39. package/dist/completion/review-cycle-cap.js.map +1 -0
  40. package/dist/completion/review-exit-deps.d.ts +17 -2
  41. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  42. package/dist/completion/review-exit-deps.js +19 -2
  43. package/dist/completion/review-exit-deps.js.map +1 -1
  44. package/dist/completion/review-exit-escalations.d.ts +45 -23
  45. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  46. package/dist/completion/review-exit-escalations.js +15 -74
  47. package/dist/completion/review-exit-escalations.js.map +1 -1
  48. package/dist/completion/review-exit-evidence.d.ts +9 -0
  49. package/dist/completion/review-exit-evidence.d.ts.map +1 -1
  50. package/dist/completion/review-exit-evidence.js +4 -1
  51. package/dist/completion/review-exit-evidence.js.map +1 -1
  52. package/dist/completion/review-exit-foreign-findings.d.ts +151 -0
  53. package/dist/completion/review-exit-foreign-findings.d.ts.map +1 -0
  54. package/dist/completion/review-exit-foreign-findings.js +474 -0
  55. package/dist/completion/review-exit-foreign-findings.js.map +1 -0
  56. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  57. package/dist/completion/review-exit-phase.js +71 -64
  58. package/dist/completion/review-exit-phase.js.map +1 -1
  59. package/dist/completion/review-exit-progress.d.ts +20 -0
  60. package/dist/completion/review-exit-progress.d.ts.map +1 -1
  61. package/dist/completion/review-exit-progress.js +28 -19
  62. package/dist/completion/review-exit-progress.js.map +1 -1
  63. package/dist/completion/review-exit-rehoming.d.ts +5 -0
  64. package/dist/completion/review-exit-rehoming.d.ts.map +1 -1
  65. package/dist/completion/review-exit-rehoming.js.map +1 -1
  66. package/dist/completion/review-exit-verdict-gate.d.ts +202 -0
  67. package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -0
  68. package/dist/completion/review-exit-verdict-gate.js +228 -0
  69. package/dist/completion/review-exit-verdict-gate.js.map +1 -0
  70. package/dist/completion/review-next-step.d.ts +62 -0
  71. package/dist/completion/review-next-step.d.ts.map +1 -0
  72. package/dist/completion/review-next-step.js +63 -0
  73. package/dist/completion/review-next-step.js.map +1 -0
  74. package/dist/completion/session-hold-sweep-deps.d.ts +17 -0
  75. package/dist/completion/session-hold-sweep-deps.d.ts.map +1 -0
  76. package/dist/completion/session-hold-sweep-deps.js +89 -0
  77. package/dist/completion/session-hold-sweep-deps.js.map +1 -0
  78. package/dist/completion/session-hold.d.ts +180 -0
  79. package/dist/completion/session-hold.d.ts.map +1 -0
  80. package/dist/completion/session-hold.js +238 -0
  81. package/dist/completion/session-hold.js.map +1 -0
  82. package/dist/completion/state-cascade.d.ts +19 -0
  83. package/dist/completion/state-cascade.d.ts.map +1 -1
  84. package/dist/completion/state-cascade.js +85 -31
  85. package/dist/completion/state-cascade.js.map +1 -1
  86. package/dist/completion/team-lifecycle.d.ts +35 -2
  87. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  88. package/dist/completion/team-lifecycle.js +165 -94
  89. package/dist/completion/team-lifecycle.js.map +1 -1
  90. package/dist/completion/team-phase.d.ts +27 -15
  91. package/dist/completion/team-phase.d.ts.map +1 -1
  92. package/dist/completion/team-phase.js +34 -15
  93. package/dist/completion/team-phase.js.map +1 -1
  94. package/dist/delivery/commit-verdict-hold.d.ts +55 -0
  95. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -0
  96. package/dist/delivery/commit-verdict-hold.js +118 -0
  97. package/dist/delivery/commit-verdict-hold.js.map +1 -0
  98. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  99. package/dist/directive/directive-dispatch.js +10 -3
  100. package/dist/directive/directive-dispatch.js.map +1 -1
  101. package/dist/directive/directive-executor.d.ts.map +1 -1
  102. package/dist/directive/directive-executor.js +1 -0
  103. package/dist/directive/directive-executor.js.map +1 -1
  104. package/dist/directive/directive-queue.d.ts.map +1 -1
  105. package/dist/directive/directive-queue.js +6 -1
  106. package/dist/directive/directive-queue.js.map +1 -1
  107. package/dist/directive/phase-sync.d.ts +29 -2
  108. package/dist/directive/phase-sync.d.ts.map +1 -1
  109. package/dist/directive/phase-sync.js +30 -6
  110. package/dist/directive/phase-sync.js.map +1 -1
  111. package/dist/drift/artifact-ref-shape.d.ts +34 -0
  112. package/dist/drift/artifact-ref-shape.d.ts.map +1 -0
  113. package/dist/drift/artifact-ref-shape.js +94 -0
  114. package/dist/drift/artifact-ref-shape.js.map +1 -0
  115. package/dist/drift/drift-eval-loop.d.ts +7 -0
  116. package/dist/drift/drift-eval-loop.d.ts.map +1 -1
  117. package/dist/drift/drift-eval-loop.js +34 -5
  118. package/dist/drift/drift-eval-loop.js.map +1 -1
  119. package/dist/drift/drift-evaluator.d.ts.map +1 -1
  120. package/dist/drift/drift-evaluator.js +8 -3
  121. package/dist/drift/drift-evaluator.js.map +1 -1
  122. package/dist/focus/awaiting-slot.d.ts +34 -0
  123. package/dist/focus/awaiting-slot.d.ts.map +1 -0
  124. package/dist/focus/awaiting-slot.js +26 -0
  125. package/dist/focus/awaiting-slot.js.map +1 -0
  126. package/dist/focus/focus-lifecycle.js +2 -2
  127. package/dist/focus/focus-lifecycle.js.map +1 -1
  128. package/dist/focus/focus-phase.d.ts.map +1 -1
  129. package/dist/focus/focus-phase.js +3 -1
  130. package/dist/focus/focus-phase.js.map +1 -1
  131. package/dist/focus/focus-spawn-decision.d.ts +62 -0
  132. package/dist/focus/focus-spawn-decision.d.ts.map +1 -0
  133. package/dist/focus/focus-spawn-decision.js +41 -0
  134. package/dist/focus/focus-spawn-decision.js.map +1 -0
  135. package/dist/focus/focus-team-state.d.ts.map +1 -1
  136. package/dist/focus/focus-team-state.js +1 -13
  137. package/dist/focus/focus-team-state.js.map +1 -1
  138. package/dist/focus/listener-spawn.d.ts +16 -55
  139. package/dist/focus/listener-spawn.d.ts.map +1 -1
  140. package/dist/focus/listener-spawn.js +102 -64
  141. package/dist/focus/listener-spawn.js.map +1 -1
  142. package/dist/focus/listener-state.d.ts.map +1 -1
  143. package/dist/focus/listener-state.js +4 -1
  144. package/dist/focus/listener-state.js.map +1 -1
  145. package/dist/focus/listener.d.ts +41 -2
  146. package/dist/focus/listener.d.ts.map +1 -1
  147. package/dist/focus/listener.js +135 -83
  148. package/dist/focus/listener.js.map +1 -1
  149. package/dist/focus/pending-spawn-pass-deps.d.ts +69 -0
  150. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -0
  151. package/dist/focus/pending-spawn-pass-deps.js +34 -0
  152. package/dist/focus/pending-spawn-pass-deps.js.map +1 -0
  153. package/dist/focus/pending-spawn-review-next-step.d.ts +83 -0
  154. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -0
  155. package/dist/focus/pending-spawn-review-next-step.js +325 -0
  156. package/dist/focus/pending-spawn-review-next-step.js.map +1 -0
  157. package/dist/focus/review-cycle-cap-hold.d.ts +132 -0
  158. package/dist/focus/review-cycle-cap-hold.d.ts.map +1 -0
  159. package/dist/focus/review-cycle-cap-hold.js +178 -0
  160. package/dist/focus/review-cycle-cap-hold.js.map +1 -0
  161. package/dist/focus/team-actionable-work.js +2 -2
  162. package/dist/focus/verify-open-issues.d.ts +22 -0
  163. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  164. package/dist/focus/verify-open-issues.js +118 -57
  165. package/dist/focus/verify-open-issues.js.map +1 -1
  166. package/dist/focus/verify-routing-passes.d.ts +32 -0
  167. package/dist/focus/verify-routing-passes.d.ts.map +1 -0
  168. package/dist/focus/verify-routing-passes.js +18 -0
  169. package/dist/focus/verify-routing-passes.js.map +1 -0
  170. package/dist/git/index.d.ts.map +1 -1
  171. package/dist/git/index.js +9 -5
  172. package/dist/git/index.js.map +1 -1
  173. package/dist/merge/focus-merge.d.ts +16 -2
  174. package/dist/merge/focus-merge.d.ts.map +1 -1
  175. package/dist/merge/focus-merge.js +53 -30
  176. package/dist/merge/focus-merge.js.map +1 -1
  177. package/dist/merge/merge-back-loop.d.ts +5 -0
  178. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  179. package/dist/merge/merge-back-loop.js +17 -8
  180. package/dist/merge/merge-back-loop.js.map +1 -1
  181. package/dist/merge/merge-gate-coverage.d.ts +94 -0
  182. package/dist/merge/merge-gate-coverage.d.ts.map +1 -0
  183. package/dist/merge/merge-gate-coverage.js +217 -0
  184. package/dist/merge/merge-gate-coverage.js.map +1 -0
  185. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  186. package/dist/prompt/focus-prompt-builder.js +6 -0
  187. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  188. package/dist/prompt/prompt-listing.d.ts.map +1 -1
  189. package/dist/prompt/prompt-listing.js +8 -0
  190. package/dist/prompt/prompt-listing.js.map +1 -1
  191. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  192. package/dist/prompt/team-prompt-base.js +5 -1
  193. package/dist/prompt/team-prompt-base.js.map +1 -1
  194. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  195. package/dist/prompt-sections/execution-sections.js +14 -39
  196. package/dist/prompt-sections/execution-sections.js.map +1 -1
  197. package/dist/prompt-sections/gate-ownership.d.ts +36 -0
  198. package/dist/prompt-sections/gate-ownership.d.ts.map +1 -0
  199. package/dist/prompt-sections/gate-ownership.js +68 -0
  200. package/dist/prompt-sections/gate-ownership.js.map +1 -0
  201. package/dist/prompt-sections/gate-verdict-section.d.ts +58 -0
  202. package/dist/prompt-sections/gate-verdict-section.d.ts.map +1 -0
  203. package/dist/prompt-sections/gate-verdict-section.js +88 -0
  204. package/dist/prompt-sections/gate-verdict-section.js.map +1 -0
  205. package/dist/prompt-sections/persona-sections.d.ts +10 -0
  206. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  207. package/dist/prompt-sections/persona-sections.js +35 -11
  208. package/dist/prompt-sections/persona-sections.js.map +1 -1
  209. package/dist/prompt-sections/shared.js +1 -1
  210. package/dist/prompt-sections/shared.js.map +1 -1
  211. package/dist/queries/agent-resolvable-promotion.d.ts +6 -3
  212. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  213. package/dist/queries/agent-resolvable-promotion.js +20 -9
  214. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  215. package/dist/queries/deliveries.d.ts +46 -4
  216. package/dist/queries/deliveries.d.ts.map +1 -1
  217. package/dist/queries/deliveries.js +69 -16
  218. package/dist/queries/deliveries.js.map +1 -1
  219. package/dist/queries/delivery-gate-state.d.ts +151 -1
  220. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  221. package/dist/queries/delivery-gate-state.js +95 -14
  222. package/dist/queries/delivery-gate-state.js.map +1 -1
  223. package/dist/queries/delivery-write-discipline.d.ts +65 -0
  224. package/dist/queries/delivery-write-discipline.d.ts.map +1 -0
  225. package/dist/queries/delivery-write-discipline.js +101 -0
  226. package/dist/queries/delivery-write-discipline.js.map +1 -0
  227. package/dist/queries/escalation-consumption.d.ts +11 -0
  228. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  229. package/dist/queries/escalation-consumption.js +22 -0
  230. package/dist/queries/escalation-consumption.js.map +1 -1
  231. package/dist/queries/escalation-spool.d.ts +75 -0
  232. package/dist/queries/escalation-spool.d.ts.map +1 -0
  233. package/dist/queries/escalation-spool.js +232 -0
  234. package/dist/queries/escalation-spool.js.map +1 -0
  235. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  236. package/dist/queries/escalation-suppression.js +2 -0
  237. package/dist/queries/escalation-suppression.js.map +1 -1
  238. package/dist/queries/escalations.js +1 -1
  239. package/dist/queries/filing-observation.d.ts.map +1 -1
  240. package/dist/queries/filing-observation.js +2 -0
  241. package/dist/queries/filing-observation.js.map +1 -1
  242. package/dist/queries/focus-discovery.d.ts +4 -4
  243. package/dist/queries/focus-discovery.d.ts.map +1 -1
  244. package/dist/queries/focus-discovery.js +1 -0
  245. package/dist/queries/focus-discovery.js.map +1 -1
  246. package/dist/queries/focus-review-approval.d.ts +84 -0
  247. package/dist/queries/focus-review-approval.d.ts.map +1 -0
  248. package/dist/queries/focus-review-approval.js +158 -0
  249. package/dist/queries/focus-review-approval.js.map +1 -0
  250. package/dist/queries/focuses.d.ts +6 -5
  251. package/dist/queries/focuses.d.ts.map +1 -1
  252. package/dist/queries/focuses.js +9 -5
  253. package/dist/queries/focuses.js.map +1 -1
  254. package/dist/queries/incident-correlation.d.ts +5 -4
  255. package/dist/queries/incident-correlation.d.ts.map +1 -1
  256. package/dist/queries/incident-correlation.js +11 -5
  257. package/dist/queries/incident-correlation.js.map +1 -1
  258. package/dist/queries/issues.d.ts.map +1 -1
  259. package/dist/queries/issues.js +2 -1
  260. package/dist/queries/issues.js.map +1 -1
  261. package/dist/queries/loop-refusal-observation.d.ts +64 -0
  262. package/dist/queries/loop-refusal-observation.d.ts.map +1 -0
  263. package/dist/queries/loop-refusal-observation.js +137 -0
  264. package/dist/queries/loop-refusal-observation.js.map +1 -0
  265. package/dist/queries/schemas.d.ts +9 -0
  266. package/dist/queries/schemas.d.ts.map +1 -1
  267. package/dist/queries/schemas.js +11 -3
  268. package/dist/queries/schemas.js.map +1 -1
  269. package/dist/queries/shared.js +1 -1
  270. package/dist/queries/verification.d.ts.map +1 -1
  271. package/dist/queries/verification.js +1 -15
  272. package/dist/queries/verification.js.map +1 -1
  273. package/dist/queries/wire-contract.generated.d.ts +3 -0
  274. package/dist/queries/wire-contract.generated.d.ts.map +1 -1
  275. package/dist/queries/wire-contract.generated.js +3 -0
  276. package/dist/queries/wire-contract.generated.js.map +1 -1
  277. package/dist/resolvers/assembly-engine.d.ts.map +1 -1
  278. package/dist/resolvers/assembly-engine.js +3 -1
  279. package/dist/resolvers/assembly-engine.js.map +1 -1
  280. package/dist/resolvers/git-diff-against-base.d.ts +5 -2
  281. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  282. package/dist/resolvers/git-diff-against-base.js +121 -39
  283. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  284. package/dist/resolvers/shared/git-diff.d.ts +2 -0
  285. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  286. package/dist/resolvers/shared/git-diff.js +5 -1
  287. package/dist/resolvers/shared/git-diff.js.map +1 -1
  288. package/dist/resolvers/shared/review-window-commits.d.ts +96 -0
  289. package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -0
  290. package/dist/resolvers/shared/review-window-commits.js +262 -0
  291. package/dist/resolvers/shared/review-window-commits.js.map +1 -0
  292. package/dist/session/session-lineage.d.ts.map +1 -1
  293. package/dist/session/session-lineage.js +4 -1
  294. package/dist/session/session-lineage.js.map +1 -1
  295. package/dist/shell/fail-stop.d.ts +18 -0
  296. package/dist/shell/fail-stop.d.ts.map +1 -0
  297. package/dist/shell/fail-stop.js +53 -0
  298. package/dist/shell/fail-stop.js.map +1 -0
  299. package/dist/shell/graceful-shutdown.d.ts +48 -0
  300. package/dist/shell/graceful-shutdown.d.ts.map +1 -0
  301. package/dist/shell/graceful-shutdown.js +152 -0
  302. package/dist/shell/graceful-shutdown.js.map +1 -0
  303. package/dist/shell/heartbeat.d.ts.map +1 -1
  304. package/dist/shell/heartbeat.js +5 -4
  305. package/dist/shell/heartbeat.js.map +1 -1
  306. package/dist/shell/log.d.ts.map +1 -1
  307. package/dist/shell/log.js +4 -1
  308. package/dist/shell/log.js.map +1 -1
  309. package/dist/shell/stop-request.d.ts.map +1 -1
  310. package/dist/shell/stop-request.js +2 -1
  311. package/dist/shell/stop-request.js.map +1 -1
  312. package/dist/shell/unified-shell.d.ts.map +1 -1
  313. package/dist/shell/unified-shell.js +41 -114
  314. package/dist/shell/unified-shell.js.map +1 -1
  315. package/dist/spawn/lifecycle.d.ts +12 -0
  316. package/dist/spawn/lifecycle.d.ts.map +1 -1
  317. package/dist/spawn/lifecycle.js +25 -21
  318. package/dist/spawn/lifecycle.js.map +1 -1
  319. package/dist/spawn/prompt-assembly.d.ts +19 -1
  320. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  321. package/dist/spawn/prompt-assembly.js +70 -21
  322. package/dist/spawn/prompt-assembly.js.map +1 -1
  323. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  324. package/dist/spawn/review-hold-park.js +18 -8
  325. package/dist/spawn/review-hold-park.js.map +1 -1
  326. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  327. package/dist/spawn/spawn-cooldown.js +4 -0
  328. package/dist/spawn/spawn-cooldown.js.map +1 -1
  329. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  330. package/dist/spawn/spawn-decision.js +2 -1
  331. package/dist/spawn/spawn-decision.js.map +1 -1
  332. package/dist/spawn/worktree-session.d.ts +6 -0
  333. package/dist/spawn/worktree-session.d.ts.map +1 -1
  334. package/dist/spawn/worktree-session.js +15 -2
  335. package/dist/spawn/worktree-session.js.map +1 -1
  336. package/dist/testing/fixtures/index.d.ts +10 -1
  337. package/dist/testing/fixtures/index.d.ts.map +1 -1
  338. package/dist/testing/fixtures/index.js +59 -1
  339. package/dist/testing/fixtures/index.js.map +1 -1
  340. package/dist/testing/fixtures/pending-spawn-world.d.ts +34 -0
  341. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -0
  342. package/dist/testing/fixtures/pending-spawn-world.js +92 -0
  343. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -0
  344. package/dist/types/index.js +1 -1
  345. package/dist/verify/commit-gate-configured.d.ts +86 -0
  346. package/dist/verify/commit-gate-configured.d.ts.map +1 -0
  347. package/dist/verify/commit-gate-configured.js +234 -0
  348. package/dist/verify/commit-gate-configured.js.map +1 -0
  349. package/dist/verify/commit-verdict-record.d.ts +98 -0
  350. package/dist/verify/commit-verdict-record.d.ts.map +1 -0
  351. package/dist/verify/commit-verdict-record.js +297 -0
  352. package/dist/verify/commit-verdict-record.js.map +1 -0
  353. package/dist/verify/explicit-gate-outcome.d.ts +161 -0
  354. package/dist/verify/explicit-gate-outcome.d.ts.map +1 -0
  355. package/dist/verify/explicit-gate-outcome.js +215 -0
  356. package/dist/verify/explicit-gate-outcome.js.map +1 -0
  357. package/dist/verify/explicit-rearm.d.ts +27 -0
  358. package/dist/verify/explicit-rearm.d.ts.map +1 -0
  359. package/dist/verify/explicit-rearm.js +161 -0
  360. package/dist/verify/explicit-rearm.js.map +1 -0
  361. package/dist/verify/explicit-run-ledger.d.ts +26 -0
  362. package/dist/verify/explicit-run-ledger.d.ts.map +1 -0
  363. package/dist/verify/explicit-run-ledger.js +93 -0
  364. package/dist/verify/explicit-run-ledger.js.map +1 -0
  365. package/dist/verify/failure-signature.d.ts.map +1 -1
  366. package/dist/verify/failure-signature.js +5 -1
  367. package/dist/verify/failure-signature.js.map +1 -1
  368. package/dist/verify/gate-run-registry.d.ts +105 -0
  369. package/dist/verify/gate-run-registry.d.ts.map +1 -0
  370. package/dist/verify/gate-run-registry.js +111 -0
  371. package/dist/verify/gate-run-registry.js.map +1 -0
  372. package/dist/verify/gate-verdict-source.d.ts +68 -0
  373. package/dist/verify/gate-verdict-source.d.ts.map +1 -0
  374. package/dist/verify/gate-verdict-source.js +143 -0
  375. package/dist/verify/gate-verdict-source.js.map +1 -0
  376. package/dist/verify/judged-commit-gate.d.ts +11 -0
  377. package/dist/verify/judged-commit-gate.d.ts.map +1 -0
  378. package/dist/verify/judged-commit-gate.js +48 -0
  379. package/dist/verify/judged-commit-gate.js.map +1 -0
  380. package/dist/verify/rework-judgment.d.ts +58 -0
  381. package/dist/verify/rework-judgment.d.ts.map +1 -0
  382. package/dist/verify/rework-judgment.js +54 -0
  383. package/dist/verify/rework-judgment.js.map +1 -0
  384. package/dist/verify/verification-attribution.d.ts +105 -0
  385. package/dist/verify/verification-attribution.d.ts.map +1 -0
  386. package/dist/verify/verification-attribution.js +322 -0
  387. package/dist/verify/verification-attribution.js.map +1 -0
  388. package/dist/verify/verification-baseline-run.d.ts +123 -0
  389. package/dist/verify/verification-baseline-run.d.ts.map +1 -0
  390. package/dist/verify/verification-baseline-run.js +386 -0
  391. package/dist/verify/verification-baseline-run.js.map +1 -0
  392. package/dist/verify/verification-baseline.d.ts +79 -33
  393. package/dist/verify/verification-baseline.d.ts.map +1 -1
  394. package/dist/verify/verification-baseline.js +99 -106
  395. package/dist/verify/verification-baseline.js.map +1 -1
  396. package/dist/verify/verification-checkout.d.ts +13 -0
  397. package/dist/verify/verification-checkout.d.ts.map +1 -1
  398. package/dist/verify/verification-checkout.js +39 -2
  399. package/dist/verify/verification-checkout.js.map +1 -1
  400. package/dist/verify/verification-commit-sharing.d.ts +84 -0
  401. package/dist/verify/verification-commit-sharing.d.ts.map +1 -0
  402. package/dist/verify/verification-commit-sharing.js +416 -0
  403. package/dist/verify/verification-commit-sharing.js.map +1 -0
  404. package/dist/verify/verification-config.d.ts.map +1 -1
  405. package/dist/verify/verification-config.js +12 -2
  406. package/dist/verify/verification-config.js.map +1 -1
  407. package/dist/verify/verification-default-on.d.ts +27 -11
  408. package/dist/verify/verification-default-on.d.ts.map +1 -1
  409. package/dist/verify/verification-default-on.js +159 -29
  410. package/dist/verify/verification-default-on.js.map +1 -1
  411. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  412. package/dist/verify/verification-deps-default.js +49 -42
  413. package/dist/verify/verification-deps-default.js.map +1 -1
  414. package/dist/verify/verification-deps.d.ts +69 -4
  415. package/dist/verify/verification-deps.d.ts.map +1 -1
  416. package/dist/verify/verification-deterministic.d.ts +15 -2
  417. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  418. package/dist/verify/verification-deterministic.js +12 -3
  419. package/dist/verify/verification-deterministic.js.map +1 -1
  420. package/dist/verify/verification-diagnostics.d.ts +16 -0
  421. package/dist/verify/verification-diagnostics.d.ts.map +1 -0
  422. package/dist/verify/verification-diagnostics.js +219 -0
  423. package/dist/verify/verification-diagnostics.js.map +1 -0
  424. package/dist/verify/verification-engine.d.ts +12 -8
  425. package/dist/verify/verification-engine.d.ts.map +1 -1
  426. package/dist/verify/verification-engine.js +110 -92
  427. package/dist/verify/verification-engine.js.map +1 -1
  428. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
  429. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  430. package/dist/verify/verification-evidence-unavailable-feedback.js +14 -4
  431. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  432. package/dist/verify/verification-failure-parser.d.ts +37 -3
  433. package/dist/verify/verification-failure-parser.d.ts.map +1 -1
  434. package/dist/verify/verification-failure-parser.js +66 -3
  435. package/dist/verify/verification-failure-parser.js.map +1 -1
  436. package/dist/verify/verification-feedback.d.ts +21 -34
  437. package/dist/verify/verification-feedback.d.ts.map +1 -1
  438. package/dist/verify/verification-feedback.js +37 -88
  439. package/dist/verify/verification-feedback.js.map +1 -1
  440. package/dist/verify/verification-gate-stages.d.ts +110 -0
  441. package/dist/verify/verification-gate-stages.d.ts.map +1 -0
  442. package/dist/verify/verification-gate-stages.js +179 -0
  443. package/dist/verify/verification-gate-stages.js.map +1 -0
  444. package/dist/verify/verification-history-reset.d.ts +61 -0
  445. package/dist/verify/verification-history-reset.d.ts.map +1 -0
  446. package/dist/verify/verification-history-reset.js +90 -0
  447. package/dist/verify/verification-history-reset.js.map +1 -0
  448. package/dist/verify/verification-manifest.d.ts.map +1 -1
  449. package/dist/verify/verification-manifest.js +2 -1
  450. package/dist/verify/verification-manifest.js.map +1 -1
  451. package/dist/verify/verification-rework-messages.d.ts +19 -0
  452. package/dist/verify/verification-rework-messages.d.ts.map +1 -0
  453. package/dist/verify/verification-rework-messages.js +52 -0
  454. package/dist/verify/verification-rework-messages.js.map +1 -0
  455. package/dist/worktree/install-inputs.d.ts +89 -0
  456. package/dist/worktree/install-inputs.d.ts.map +1 -0
  457. package/dist/worktree/install-inputs.js +625 -0
  458. package/dist/worktree/install-inputs.js.map +1 -0
  459. package/dist/worktree/install-script-effects.d.ts +30 -0
  460. package/dist/worktree/install-script-effects.d.ts.map +1 -0
  461. package/dist/worktree/install-script-effects.js +524 -0
  462. package/dist/worktree/install-script-effects.js.map +1 -0
  463. package/dist/worktree/install-script-tokens.d.ts +57 -0
  464. package/dist/worktree/install-script-tokens.d.ts.map +1 -0
  465. package/dist/worktree/install-script-tokens.js +299 -0
  466. package/dist/worktree/install-script-tokens.js.map +1 -0
  467. package/dist/worktree/provision.d.ts +27 -4
  468. package/dist/worktree/provision.d.ts.map +1 -1
  469. package/dist/worktree/provision.js +46 -7
  470. package/dist/worktree/provision.js.map +1 -1
  471. package/dist/worktree/safety.d.ts +11 -0
  472. package/dist/worktree/safety.d.ts.map +1 -1
  473. package/dist/worktree/safety.js +20 -3
  474. package/dist/worktree/safety.js.map +1 -1
  475. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  476. package/dist/worktree/verify-interlock.js +3 -1
  477. package/dist/worktree/verify-interlock.js.map +1 -1
  478. package/dist/worktree/worktree-package-provisioning.d.ts +75 -0
  479. package/dist/worktree/worktree-package-provisioning.d.ts.map +1 -0
  480. package/dist/worktree/worktree-package-provisioning.js +362 -0
  481. package/dist/worktree/worktree-package-provisioning.js.map +1 -0
  482. package/package.json +1 -1
@@ -1,6 +1,14 @@
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/integration/verification-history-round-trip.test.ts,
2
+ // Pinned by: packages/daemon/src/integration/delivery-gate-write-interleaving.test.ts,
3
+ // packages/daemon/src/integration/explicit-gate-outcome-restart.test.ts,
4
+ // packages/daemon/src/integration/explicit-verdict-departure-during-removal.test.ts,
5
+ // packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
6
+ // packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
7
+ // packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
8
+ // packages/daemon/src/integration/verification-history-round-trip.test.ts,
9
+ // packages/daemon/src/integration/verification-rework-resume-verdict.test.ts,
3
10
  // packages/daemon/src/verify/shortfall-routing.test.ts, packages/daemon/src/verify/stall-detectors.test.ts,
11
+ // packages/daemon/src/verify/verification-commit-sharing.test.ts,
4
12
  // packages/daemon/src/verify/verification-default-on.test.ts,
5
13
  // packages/daemon/src/verify/verification-feedback.test.ts,
6
14
  // packages/daemon/src/verify/verify-evidence-unavailable.test.ts
@@ -32,8 +40,8 @@
32
40
  * @module verification-feedback
33
41
  */
34
42
  import { DELIVERY_STATUS, ESCALATION_REASONS, ESCALATION_DISPOSITIONS, sendMessage, withRetry, } from '@telora/daemon-core';
35
- import { getDeliveryGateRecord, getDeliveryGateState, updateDeliveryStatus, } from '../queries/deliveries.js';
36
- import { carryVerificationHistory, clearVerificationHistory, judgedFailedSha, readVerificationHistory, } from '../queries/delivery-gate-state.js';
43
+ import { getDeliveryGateState, updateDeliveryStatus, } from '../queries/deliveries.js';
44
+ import { carryVerificationHistory, judgedFailedSha, } from '../queries/delivery-gate-state.js';
37
45
  import { resolveReconciledWrite } from '../delivery/delivery-reconciler-apply.js';
38
46
  import { getActiveTeams } from '../focus/focus-team-state.js';
39
47
  import { fileEscalationIdempotent as defaultFileEscalationIdempotent, } from '../queries/escalation-suppression.js';
@@ -43,6 +51,9 @@ import { parseFailingTests } from './verification-failure-parser.js';
43
51
  import { computeFailureSignatureRecord, defaultFailureSignatureDeps, } from './failure-signature.js';
44
52
  import { classifyShortfallRepeat, } from './shortfall-repeat.js';
45
53
  import { createLogger } from '../shell/log.js';
54
+ import { gateVerdictFromRun, judgedShaOfRun, readJudgedCommitGateVerdict, } from './gate-verdict-source.js';
55
+ import { reworkDetailVerdict, stampReworkJudgment } from './rework-judgment.js';
56
+ import { buildFailureInjectMessage, buildShortfallInjectMessage } from './verification-rework-messages.js';
46
57
  /**
47
58
  * escalation_kind for an unclearable shortfall. REUSES the iteration-cap
48
59
  * detector's kind + per-delivery cause key on purpose: both say "this delivery's
@@ -72,29 +83,6 @@ export function buildVerificationFailureGateState(detail) {
72
83
  verification: detail,
73
84
  };
74
85
  }
75
- /** Build the failure message injected into a live team session. Pure -- exported for testing. */
76
- export function buildFailureInjectMessage(deliveryName, detail) {
77
- const lines = [
78
- `VERIFICATION FAILED for delivery "${deliveryName}".`,
79
- '',
80
- detail.exitCode != null ? `Exit code: ${detail.exitCode}` : 'Exit code: (unknown)',
81
- detail.logPath ? `Full log: ${detail.logPath}` : 'Full log: (not captured)',
82
- ];
83
- if (detail.failingTests.length > 0) {
84
- lines.push('', `Failing tests (${detail.failingTests.length}):`);
85
- for (const t of detail.failingTests.slice(0, 50))
86
- lines.push(`- ${t}`);
87
- if (detail.failingTests.length > 50) {
88
- lines.push(`- ... and ${detail.failingTests.length - 50} more (see full log)`);
89
- }
90
- }
91
- else {
92
- lines.push('', 'Failing tests could not be parsed from the run output -- read the full log.');
93
- }
94
- lines.push('', 'Fix the failing tests for the files you changed, then commit. The daemon re-verifies ' +
95
- 'at the coding -> verify edge -- do NOT run the whole-repo suite yourself.');
96
- return lines.join('\n');
97
- }
98
86
  const defaultDeps = () => ({
99
87
  writeGateState: async (deliveryId, gateState, organizationId) => {
100
88
  // Write gate_state WITHOUT changing execution_status (stays verify) -- same
@@ -145,6 +133,7 @@ export async function deliverVerificationFailureFeedback(v, result, organization
145
133
  const priorGateState = await readPriorGateStateBestEffort(d, v.deliveryId);
146
134
  const signature = computeFailureSignatureRecord(v.deliveryId, result, failingTests, priorGateState, d);
147
135
  const failedAtSha = judgedFailedSha(result); // durable key of the HEAD re-verify guard
136
+ const gateVerdict = gateVerdictFromRun(result); // what the re-work message shows the team
148
137
  const detail = {
149
138
  failingTests,
150
139
  ...(result.preExisting ? { preExisting: result.preExisting } : {}),
@@ -154,8 +143,11 @@ export async function deliverVerificationFailureFeedback(v, result, organization
154
143
  failureSignature: signature.failureSignature,
155
144
  signatureRun: signature.signatureRun,
156
145
  ...(failedAtSha ? { failedAtSha } : {}),
146
+ ...(gateVerdict ? { gateVerdict } : {}),
157
147
  };
158
- const gateState = carryVerificationHistory(priorGateState, buildVerificationFailureGateState(detail));
148
+ // The judged commit rides the history with THIS run's own verdict beside it, so a
149
+ // later resume shows that verdict without reading any record (rework-judgment.ts).
150
+ const gateState = stampReworkJudgment(carryVerificationHistory(priorGateState, buildVerificationFailureGateState(detail)), { judgedSha: judgedShaOfRun(result), runVerdict: gateVerdict }, detail.failedAt);
159
151
  // Route verify -> verify_failed through the reconciler (gaps_found +
160
152
  // fromStatus 'verify'), the SAME choke point the shortfall path uses.
161
153
  const decision = d.resolveReconciledWrite({
@@ -212,24 +204,6 @@ export function buildShortfallGateState(detail) {
212
204
  shortfallReconciliation: detail,
213
205
  };
214
206
  }
215
- /** Build the message injected into a live team for a shortfall hold. Pure -- exported for testing. */
216
- export function buildShortfallInjectMessage(deliveryName, detail) {
217
- const lines = [
218
- `VERIFY HELD for delivery "${deliveryName}": the achieved outcome falls short of the declared desired effect.`,
219
- '',
220
- 'This is NOT a failing-test failure -- the deterministic check is not the blocker. The verify ' +
221
- 'reconciliation compared what your diff delivered against the declared intent for each targeted ' +
222
- 'node and found a gap. Close the gap in the diff, then commit.',
223
- '',
224
- `Declared-vs-achieved gap(s) (${detail.shortfalls.length}):`,
225
- ];
226
- for (const s of detail.shortfalls) {
227
- lines.push(`- node ${s.nodeId}`, ` declared: ${s.declared}`, ` achieved: ${s.achieved}`, ` shortfall: ${s.reason}`);
228
- if (s.diffCitation)
229
- lines.push(` diff citation: ${s.diffCitation}`);
230
- }
231
- return lines.join('\n');
232
- }
233
207
  /**
234
208
  * Deliver failure feedback for a verify-SHORTFALL reconciliation hold: write
235
209
  * gate_state under the shortfall guard (never the deterministic guard) and
@@ -281,6 +255,7 @@ export const defaultRequeueDeps = () => ({
281
255
  },
282
256
  resolveReconciledWrite,
283
257
  readPriorGateState: (deliveryId) => getDeliveryGateState(deliveryId),
258
+ readGateVerdict: (target) => readJudgedCommitGateVerdict(target),
284
259
  });
285
260
  /**
286
261
  * Read the prior gate_state; null (logged) when the read fails. A read we could
@@ -324,7 +299,12 @@ export async function readPriorGateStateBestEffort(d, deliveryId) {
324
299
  */
325
300
  export async function requeueShortfallAsRework(v, shortfalls, organizationId, deps = {}, opts = {}) {
326
301
  const d = { ...defaultRequeueDeps(), ...deps };
302
+ // Usually a pass: a shortfall is judged only after the gate passed. Carried so
303
+ // the team is told the checks passed and the gap, not a check, holds it: the
304
+ // verdict THIS shortfall's run rendered for the commit it judged, never the HEAD's.
305
+ const gateVerdict = reworkDetailVerdict(d, v, opts);
327
306
  const detail = {
307
+ ...(gateVerdict ? { gateVerdict } : {}),
328
308
  heldAt: d.now(),
329
309
  shortfalls: shortfalls.map((s) => ({
330
310
  nodeId: s.nodeId,
@@ -338,8 +318,9 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, de
338
318
  // identical (unclearable) one.
339
319
  ...(opts.repeat ? { repeat: opts.repeat } : {}),
340
320
  };
341
- // Carry the prior failure-signature run forward (the shortfall supersedes only its own repeat).
342
- const gateState = carryVerificationHistory(opts.priorGateState ?? null, buildShortfallGateState(detail));
321
+ // Carry the prior failure-signature run forward (the shortfall supersedes only
322
+ // its own repeat); the judged commit is replaced by this run's, with its verdict.
323
+ const gateState = stampReworkJudgment(carryVerificationHistory(opts.priorGateState ?? null, buildShortfallGateState(detail)), opts, detail.heldAt);
343
324
  const decision = d.resolveReconciledWrite({
344
325
  input: {
345
326
  currentStatus: DELIVERY_STATUS.VERIFY,
@@ -458,7 +439,7 @@ export async function escalateUnclearableShortfall(v, shortfalls, repeat, organi
458
439
  repeat,
459
440
  unclearableClaim: true,
460
441
  };
461
- const gateState = carryVerificationHistory(opts.priorGateState ?? null, buildUnclearableShortfallGateState(detail));
442
+ const gateState = stampReworkJudgment(carryVerificationHistory(opts.priorGateState ?? null, buildUnclearableShortfallGateState(detail)), opts, detail.heldAt);
462
443
  // Hold the delivery in verify under the blocking gate_state WITHOUT a status
463
444
  // transition: no verify_failed, so the iteration_count does not climb and no
464
445
  // coding cycle respawns. The gate holds it out of done; re-queuing stops here.
@@ -530,8 +511,10 @@ const defaultRouteDeps = () => ({
530
511
  * This is the sole shortfall entry point the verification engine calls; the
531
512
  * genuine-vs-defect fork lives here, not at the call site. Best-effort.
532
513
  */
533
- export async function routeShortfallOutcome(v, shortfalls, organizationId, deps = {}) {
514
+ export async function routeShortfallOutcome(v, shortfalls, organizationId, deps = {}, opts = {}) {
534
515
  const d = { ...defaultRouteDeps(), ...deps };
516
+ // The commit the shortfall's run judged and the verdict it rendered there; both
517
+ // branches stamp them (no sha: the run judged none).
535
518
  // The prior repeat is live on a still-held shortfall gate, or carried forward
536
519
  // under verificationHistory after the coding -> verify advance cleared it. A
537
520
  // read failure falls back to "no prior": the count resets and routing stays
@@ -539,49 +522,15 @@ export async function routeShortfallOutcome(v, shortfalls, organizationId, deps
539
522
  const priorGateState = await readPriorGateStateBestEffort(d, v.deliveryId);
540
523
  const { repeat, unclearable } = classifyShortfallRepeat(priorGateState, shortfalls, d.threshold);
541
524
  if (unclearable) {
542
- await escalateUnclearableShortfall(v, shortfalls, repeat, organizationId, d, { priorGateState });
525
+ await escalateUnclearableShortfall(v, shortfalls, repeat, organizationId, d, { ...opts, priorGateState });
543
526
  return { routed: 'unclearable', repeat };
544
527
  }
545
- await requeueShortfallAsRework(v, shortfalls, organizationId, d, { repeat, priorGateState });
528
+ await requeueShortfallAsRework(v, shortfalls, organizationId, d, { ...opts, repeat, priorGateState });
546
529
  return { routed: 'rework', repeat };
547
530
  }
548
- const defaultResetDeps = () => ({
549
- readGateRecord: (deliveryId) => getDeliveryGateRecord(deliveryId),
550
- writeGateStateAtStatus: async (deliveryId, executionStatus, gateState) => {
551
- await updateDeliveryStatus(deliveryId, executionStatus, undefined, gateState, undefined, undefined);
552
- },
553
- });
554
- /** A delivery that stopped cycling keeps its (now inert) history -- no write. */
555
- const HISTORY_RESET_SKIPPED_STATUSES = new Set([DELIVERY_STATUS.DONE, DELIVERY_STATUS.CANCELLED]);
556
- /**
557
- * Reset a delivery's verification history on a verify PASS. The failure-signature
558
- * run and the shortfall repeat count CONSECUTIVE rejections, and a pass breaks
559
- * the streak. So a delivery that passes and is later routed back must start
560
- * fresh, not extend a pre-pass run.
561
- *
562
- * Writes only when there is history to drop, at the row's OWN status (read in
563
- * the same row read), so the gate-only write never moves the delivery. A done
564
- * or cancelled delivery is left alone. clearVerificationHistory keeps any hold
565
- * or live verdict and returns a history-only gate to null. Best-effort: never
566
- * throws. Returns whether a reset was written.
567
- */
568
- export async function resetVerificationHistoryOnPass(deliveryId, deps = {}) {
569
- const d = { ...defaultResetDeps(), ...deps };
570
- try {
571
- const row = await d.readGateRecord(deliveryId);
572
- if (!row?.executionStatus || HISTORY_RESET_SKIPPED_STATUSES.has(row.executionStatus))
573
- return false;
574
- const history = readVerificationHistory(row.gateState);
575
- if (!history.signatureRun && !history.shortfallRepeat && !history.failedAtSha)
576
- return false;
577
- await d.writeGateStateAtStatus(deliveryId, row.executionStatus, clearVerificationHistory(row.gateState));
578
- return true;
579
- }
580
- catch (err) {
581
- log.warn(`failed to reset verification history for delivery ${deliveryId}:`, err.message);
582
- return false;
583
- }
584
- }
531
+ // The verify-PASS history reset (resetVerificationHistoryOnPass) lives in
532
+ // verification-history-reset.ts; re-exported here for existing importers.
533
+ export { resetVerificationHistoryOnPass, } from './verification-history-reset.js';
585
534
  // The evidence-unavailable instrument-fault re-work re-entry
586
535
  // (EVIDENCE_UNAVAILABLE_GUARD / buildEvidenceUnavailableGateState /
587
536
  // buildEvidenceUnavailableInjectMessage / requeueEvidenceUnavailableAsRework)
@@ -1 +1 @@
1
- {"version":3,"file":"verification-feedback.js","sourceRoot":"","sources":["../../src/verify/verification-feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-feedback.js","sourceRoot":"","sources":["../../src/verify/verification-feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Per-stage outcomes of an npm `&&`-chain gate run, read from its log.
3
+ *
4
+ * Baseline attribution used to compare only parsed failing-test ids, so a red in
5
+ * a stage that runs no tests (a lint, a ratchet, a typecheck) parsed to zero ids
6
+ * and could not be told apart from a crash -- even when the very same stage fails
7
+ * on the focus base (2026-09-14: lint:hooks-index drift inherited through an
8
+ * integration merge sent a delivery to re-work). Attribution needs to know WHICH
9
+ * stage failed, which stages passed before it, and which never ran after it. This
10
+ * module answers that from the log alone, so it works for any product's gate and
11
+ * hard-codes no stage names.
12
+ *
13
+ * What the log carries. npm prints, for every script it starts,
14
+ * > <package>@<version> <script>
15
+ * > <the script's command line>
16
+ * and nothing when a script ends. A gate command `npm run <gate>` therefore opens
17
+ * with its own header, whose command line is the chain. Every `npm run <name>`
18
+ * segment of a chain whose own command line is again a pure chain is DESCENDED
19
+ * into (lint:all is itself a chain of ~50 linters), so a red is located at the
20
+ * innermost chain step, not at the whole wrapper stage: that is what lets the
21
+ * steps after it be run. A segment whose command is anything else is ATOMIC.
22
+ * A trailing `echo TELORA_GATE_COMPLETE:<name>` segment is the completion
23
+ * sentinel, not a stage.
24
+ *
25
+ * Walking the headers in order against a stack of chains: a header that starts
26
+ * the next expected segment of some chain on the stack means every stage above
27
+ * that chain finished green (`&&` moved on). A header nothing expects is the
28
+ * nested output of an atomic stage (check:types-drift spawns an npm script of its
29
+ * own). For a failed run the last started stage is the red; the segments not yet
30
+ * started, innermost chain first, are the CONTINUATION -- re-runnable as-is from
31
+ * the gate's cwd.
32
+ *
33
+ * Fail closed. Any shape this model cannot vouch for yields null, and a null
34
+ * outcome demotes nothing (the caller behaves exactly as before stages existed):
35
+ * a gate command other than a bare `npm run <gate>`, a chain segment that is not
36
+ * `npm run <name>` (optionally `--prefix <dir>`), a header that contradicts the
37
+ * chain, a finished run whose sentinel is missing, a failed run that printed its
38
+ * sentinel, or a run with no exit status (killed).
39
+ *
40
+ * Known imprecision, both sides alike: npm prints no end marker, so when a stage
41
+ * passes and the NEXT one fails before printing a header (a missing script), the
42
+ * earlier stage is read as the red. A red read one stage early is still followed
43
+ * by a continuation that re-runs the real failing step at the same commit, so it
44
+ * is re-exposed rather than hidden. Pure -- no I/O.
45
+ *
46
+ * @module verify/verification-gate-stages
47
+ */
48
+ /** A step of a gate chain, re-runnable on its own from the gate's cwd. */
49
+ export interface GateSegment {
50
+ /** The segment's text in the chain (e.g. `npm run lint --prefix packages/daemon`). */
51
+ text: string;
52
+ /** Stage label: the script (with its `--prefix`), nested under its chain's label by ` > `. */
53
+ label: string;
54
+ /** The npm script the segment runs; null for the completion sentinel. */
55
+ script: string | null;
56
+ /** The `--prefix` package dir, when the segment runs another package's script. */
57
+ prefix: string | null;
58
+ /** The sentinel line the segment echoes; null for a script segment. */
59
+ sentinel: string | null;
60
+ }
61
+ /** What a gate run did, stage by stage (the part a baseline cache entry records). */
62
+ export interface GateStageOutcome {
63
+ /** Labels of the stages that ran and passed, in the order they finished. */
64
+ ran: string[];
65
+ /** Label of the stage that failed; null when the whole chain passed. */
66
+ failedStage: string | null;
67
+ /** Labels of the stages that never started because an earlier one failed. */
68
+ notRun: string[];
69
+ }
70
+ /** A parsed run: its outcome plus what re-running the never-run stages needs. */
71
+ export interface ParsedGateRun extends GateStageOutcome {
72
+ /** The gate's own package, as npm printed it (keys header matching in a continuation). */
73
+ package: string;
74
+ /** The never-started segments in chain order, innermost chain first (sentinel included). */
75
+ continuation: GateSegment[];
76
+ /**
77
+ * The failed stage's own log segment (ANSI-stripped lines after its header, to
78
+ * the end of the log); [] for a passing run. Its diagnostics are what tell two
79
+ * reds of the same stage apart (verify/verification-diagnostics.ts).
80
+ */
81
+ failedStageOutput: string[];
82
+ }
83
+ /**
84
+ * Backstop on how many red stages one gate is walked past (a continuation per
85
+ * red, on either side). Each round's red is strictly later in the gate's finite
86
+ * chain, so a real log settles long before this; it only bounds a log that
87
+ * would not.
88
+ */
89
+ export declare const MAX_STAGE_ROUNDS = 64;
90
+ /**
91
+ * Split a command line into chain segments, or null when it is not a pure chain
92
+ * of `npm run <name>` steps (a sentinel echo is allowed as the last step).
93
+ */
94
+ export declare function parseChainSegments(command: string, parentLabel: string): GateSegment[] | null;
95
+ /**
96
+ * Stage outcomes of a run of `gateCommand` (a bare `npm run <gate>`), or null
97
+ * when the log does not vouch for them (module doc).
98
+ */
99
+ export declare function parseGateRunStages(log: string, exitCode: number | null | undefined, gateCommand: string): ParsedGateRun | null;
100
+ /**
101
+ * Stage outcomes of a CONTINUATION run: `segments` (a parsed run's continuation)
102
+ * joined by ` && ` and run directly, so no gate header opens the log. Labels stay
103
+ * those of the original gate, so they compare against the base's outcome.
104
+ */
105
+ export declare function parseContinuationStages(log: string, exitCode: number | null | undefined, segments: readonly GateSegment[], gatePackage: string): ParsedGateRun | null;
106
+ /** The command a continuation runs: the segments' own text, chained as the gate chained them. */
107
+ export declare function continuationCommand(segments: readonly GateSegment[]): string;
108
+ /** True when a parsed run's continuation still has a stage to run. */
109
+ export declare function hasStageToContinue(run: Pick<ParsedGateRun, 'continuation'>): boolean;
110
+ //# sourceMappingURL=verification-gate-stages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-gate-stages.d.ts","sourceRoot":"","sources":["../../src/verify/verification-gate-stages.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,wEAAwE;IACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAWnC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAoB7F;AAsHD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAU9H;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,IAAI,CAItB;AAED,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAE5E;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,OAAO,CAEpF"}
@@ -0,0 +1,179 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/verify/verification-attribution.test.ts,
3
+ // packages/daemon/src/verify/verification-gate-stages.test.ts
4
+ // PINNED-BY-END
5
+ /**
6
+ * Backstop on how many red stages one gate is walked past (a continuation per
7
+ * red, on either side). Each round's red is strictly later in the gate's finite
8
+ * chain, so a real log settles long before this; it only bounds a log that
9
+ * would not.
10
+ */
11
+ export const MAX_STAGE_ROUNDS = 64;
12
+ const ESC = String.fromCharCode(27);
13
+ const ANSI_RE = new RegExp(`${ESC}\\[[0-9;?]*[A-Za-z]`, 'g');
14
+ /** npm's per-script header: "> <name>@<version> <script>" (name may be scoped). */
15
+ const NPM_HEADER_RE = /^> ((?:@[^\s@/]+\/)?[^\s@]+)@\S+ (\S+)$/;
16
+ const SCRIPT_NAME = '[A-Za-z0-9][A-Za-z0-9:._-]*';
17
+ const NPM_RUN_SEGMENT_RE = new RegExp(`^npm run (${SCRIPT_NAME})(?: --prefix ([A-Za-z0-9._/-]+))?$`);
18
+ const SENTINEL_SEGMENT_RE = /^echo (TELORA_GATE_COMPLETE:[A-Za-z0-9._-]+)$/;
19
+ const GATE_COMMAND_RE = new RegExp(`^npm run (${SCRIPT_NAME})$`);
20
+ /**
21
+ * Split a command line into chain segments, or null when it is not a pure chain
22
+ * of `npm run <name>` steps (a sentinel echo is allowed as the last step).
23
+ */
24
+ export function parseChainSegments(command, parentLabel) {
25
+ const parts = command.trim().split(/\s+&&\s+/);
26
+ const segments = [];
27
+ for (const [index, raw] of parts.entries()) {
28
+ const part = raw.trim();
29
+ const run = NPM_RUN_SEGMENT_RE.exec(part);
30
+ if (run) {
31
+ const prefix = run[2] ?? null;
32
+ const name = prefix ? `${run[1]} --prefix ${prefix}` : run[1];
33
+ segments.push({ text: part, label: parentLabel ? `${parentLabel} > ${name}` : name, script: run[1], prefix, sentinel: null });
34
+ continue;
35
+ }
36
+ const sentinel = SENTINEL_SEGMENT_RE.exec(part);
37
+ if (sentinel && index === parts.length - 1) {
38
+ segments.push({ text: part, label: sentinel[1], script: null, prefix: null, sentinel: sentinel[1] });
39
+ continue;
40
+ }
41
+ return null;
42
+ }
43
+ return segments.some((segment) => segment.script !== null) ? segments : null;
44
+ }
45
+ /** Every npm script header in the log, with the command line printed under it. */
46
+ function readScriptHeaders(lines) {
47
+ const headers = [];
48
+ for (let index = 0; index < lines.length; index++) {
49
+ const header = NPM_HEADER_RE.exec(lines[index]);
50
+ if (!header)
51
+ continue;
52
+ const next = lines[index + 1];
53
+ const command = next !== undefined && next.startsWith('> ') ? next.slice(2).trim() : null;
54
+ if (command !== null)
55
+ index += 1; // the command line is not a header
56
+ headers.push({ pkg: header[1], script: header[2], command, bodyStart: index + 1 });
57
+ }
58
+ return headers;
59
+ }
60
+ const pendingSegments = (frame) => (frame.segments ? frame.segments.slice(frame.next) : []);
61
+ const chainFinished = (frame) => pendingSegments(frame).every((segment) => segment.script === null);
62
+ /**
63
+ * Does header `h` start `segment` of a chain run by package `chainPkg`? A plain
64
+ * segment runs the chain's own package; a `--prefix` one runs another.
65
+ */
66
+ function startsSegment(segment, h, chainPkg) {
67
+ if (!segment || segment.script !== h.script)
68
+ return false;
69
+ return segment.prefix === null ? h.pkg === chainPkg : h.pkg !== chainPkg;
70
+ }
71
+ /** Advance the stack by one header; false when the header contradicts the chains. */
72
+ function applyHeader(stack, ran, h) {
73
+ let at = stack.length - 1;
74
+ while (at >= 0 && !startsSegment(stack[at].segments?.[stack[at].next], h, stack[at].pkg))
75
+ at--;
76
+ // Nothing expects it: the nested output of an atomic stage, or a contradiction.
77
+ if (at < 0)
78
+ return stack[stack.length - 1].segments === null;
79
+ for (let index = stack.length - 1; index > at; index--) {
80
+ if (!chainFinished(stack[index]))
81
+ return false; // a chain moved on past an unfinished one
82
+ ran.push(stack[index].label);
83
+ }
84
+ stack.length = at + 1;
85
+ const parent = stack[at];
86
+ const segment = parent.segments[parent.next];
87
+ parent.next += 1;
88
+ // Descend only into a same-package chain: a prefixed package's steps are not
89
+ // re-runnable from the gate's cwd by their bare text.
90
+ const segments = segment.prefix === null && h.command !== null ? parseChainSegments(h.command, segment.label) : null;
91
+ stack.push({ label: segment.label, pkg: h.pkg, segments, next: 0, bodyStart: h.bodyStart });
92
+ return true;
93
+ }
94
+ /** Read the walked stack into an outcome, or null when the exit status contradicts it. */
95
+ function settleRun(lines, stack, ran, exitCode, sentinelSeen) {
96
+ const pkg = stack[0].pkg;
97
+ if (exitCode === 0) {
98
+ if (sentinelSeen === false || !stack.every(chainFinished))
99
+ return null;
100
+ const finished = [...ran, ...stack.slice(1).reverse().map((frame) => frame.label)];
101
+ return { package: pkg, ran: finished, failedStage: null, notRun: [], continuation: [], failedStageOutput: [] };
102
+ }
103
+ if (typeof exitCode !== 'number' || sentinelSeen === true)
104
+ return null;
105
+ const top = stack[stack.length - 1];
106
+ let failedStage;
107
+ let continuation;
108
+ if (top.segments === null) {
109
+ failedStage = top.label;
110
+ continuation = [];
111
+ }
112
+ else {
113
+ // A chain whose next step printed no header: that step could not start.
114
+ const blocked = top.segments[top.next];
115
+ if (!blocked || blocked.script === null)
116
+ return null;
117
+ failedStage = blocked.label;
118
+ continuation = top.segments.slice(top.next + 1);
119
+ }
120
+ // Then every enclosing chain's untouched steps, innermost first.
121
+ for (let index = stack.length - 2; index >= 0; index--)
122
+ continuation.push(...pendingSegments(stack[index]));
123
+ const notRun = continuation.filter((segment) => segment.script !== null).map((segment) => segment.label);
124
+ // A blocked chain step printed no header of its own: its output follows the chain's header.
125
+ return { package: pkg, ran, failedStage, notRun, continuation, failedStageOutput: lines.slice(top.bodyStart) };
126
+ }
127
+ /** Walk the headers against a root chain; the sentinel is the root chain's own. */
128
+ function walkChain(lines, headers, root, exitCode) {
129
+ const stack = [root];
130
+ const ran = [];
131
+ for (const h of headers) {
132
+ if (!applyHeader(stack, ran, h))
133
+ return null;
134
+ }
135
+ const sentinel = root.segments?.find((segment) => segment.sentinel !== null)?.sentinel ?? null;
136
+ const sentinelSeen = sentinel === null ? null : lines.some((line) => line.trim() === sentinel);
137
+ return settleRun(lines, stack, ran, exitCode, sentinelSeen);
138
+ }
139
+ function logLines(log) {
140
+ return (typeof log === 'string' ? log : '').replace(ANSI_RE, '').split(/\r?\n/).map((line) => line.trimEnd());
141
+ }
142
+ /**
143
+ * Stage outcomes of a run of `gateCommand` (a bare `npm run <gate>`), or null
144
+ * when the log does not vouch for them (module doc).
145
+ */
146
+ export function parseGateRunStages(log, exitCode, gateCommand) {
147
+ const gate = GATE_COMMAND_RE.exec(gateCommand.trim());
148
+ if (!gate)
149
+ return null;
150
+ const lines = logLines(log);
151
+ const headers = readScriptHeaders(lines);
152
+ const root = headers[0];
153
+ if (!root || root.script !== gate[1] || root.command === null)
154
+ return null;
155
+ const segments = parseChainSegments(root.command, '');
156
+ if (!segments)
157
+ return null;
158
+ return walkChain(lines, headers.slice(1), { label: '', pkg: root.pkg, segments, next: 0, bodyStart: root.bodyStart }, exitCode);
159
+ }
160
+ /**
161
+ * Stage outcomes of a CONTINUATION run: `segments` (a parsed run's continuation)
162
+ * joined by ` && ` and run directly, so no gate header opens the log. Labels stay
163
+ * those of the original gate, so they compare against the base's outcome.
164
+ */
165
+ export function parseContinuationStages(log, exitCode, segments, gatePackage) {
166
+ if (!segments.some((segment) => segment.script !== null))
167
+ return null;
168
+ const lines = logLines(log);
169
+ return walkChain(lines, readScriptHeaders(lines), { label: '', pkg: gatePackage, segments: [...segments], next: 0, bodyStart: 0 }, exitCode);
170
+ }
171
+ /** The command a continuation runs: the segments' own text, chained as the gate chained them. */
172
+ export function continuationCommand(segments) {
173
+ return segments.map((segment) => segment.text).join(' && ');
174
+ }
175
+ /** True when a parsed run's continuation still has a stage to run. */
176
+ export function hasStageToContinue(run) {
177
+ return run.continuation.some((segment) => segment.script !== null);
178
+ }
179
+ //# sourceMappingURL=verification-gate-stages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-gate-stages.js","sourceRoot":"","sources":["../../src/verify/verification-gate-stages.ts"],"names":[],"mappings":"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"}