@telora/daemon 0.22.293 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/build-info.json +13 -3
  2. package/dist/audit/audit-floor-policy.js +1 -1
  3. package/dist/audit/audit-floor-policy.js.map +1 -1
  4. package/dist/audit/audit-prompt.d.ts.map +1 -1
  5. package/dist/audit/audit-prompt.js +21 -14
  6. package/dist/audit/audit-prompt.js.map +1 -1
  7. package/dist/completion/completion-event/event.d.ts +7 -0
  8. package/dist/completion/completion-event/event.d.ts.map +1 -1
  9. package/dist/completion/completion-event/event.js.map +1 -1
  10. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts +9 -1
  11. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts.map +1 -1
  12. package/dist/completion/review-cycle-budget/review-cycle-cap.js +2 -1
  13. package/dist/completion/review-cycle-budget/review-cycle-cap.js.map +1 -1
  14. package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
  15. package/dist/completion/review-exit/review-census-record.js +1 -0
  16. package/dist/completion/review-exit/review-census-record.js.map +1 -1
  17. package/dist/completion/review-exit/review-exit-deps.d.ts +3 -0
  18. package/dist/completion/review-exit/review-exit-deps.d.ts.map +1 -1
  19. package/dist/completion/review-exit/review-exit-deps.js +1 -1
  20. package/dist/completion/review-exit/review-exit-evidence.d.ts +10 -0
  21. package/dist/completion/review-exit/review-exit-evidence.d.ts.map +1 -1
  22. package/dist/completion/review-exit/review-exit-evidence.js +12 -2
  23. package/dist/completion/review-exit/review-exit-evidence.js.map +1 -1
  24. package/dist/completion/review-exit/review-exit-falsifiers.d.ts +72 -0
  25. package/dist/completion/review-exit/review-exit-falsifiers.d.ts.map +1 -0
  26. package/dist/completion/review-exit/review-exit-falsifiers.js +84 -0
  27. package/dist/completion/review-exit/review-exit-falsifiers.js.map +1 -0
  28. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  29. package/dist/completion/review-exit/review-exit-phase.js +15 -10
  30. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  31. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +17 -1
  32. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
  33. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +21 -0
  34. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
  35. package/dist/completion/state-cascade/review-next-step.d.ts +11 -0
  36. package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
  37. package/dist/completion/state-cascade/review-next-step.js +6 -3
  38. package/dist/completion/state-cascade/review-next-step.js.map +1 -1
  39. package/dist/completion/state-cascade/standing-approval-convergence.d.ts +10 -2
  40. package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
  41. package/dist/completion/state-cascade/standing-approval-convergence.js +64 -34
  42. package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
  43. package/dist/completion/state-cascade/standing-approval-stranded.d.ts +39 -0
  44. package/dist/completion/state-cascade/standing-approval-stranded.d.ts.map +1 -0
  45. package/dist/completion/state-cascade/standing-approval-stranded.js +142 -0
  46. package/dist/completion/state-cascade/standing-approval-stranded.js.map +1 -0
  47. package/dist/completion/state-cascade/state-cascade.d.ts +8 -0
  48. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  49. package/dist/completion/state-cascade/state-cascade.js +2 -0
  50. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  51. package/dist/completion/team-exit/status-advance-phase.d.ts +6 -0
  52. package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
  53. package/dist/completion/team-exit/status-advance-phase.js +12 -9
  54. package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
  55. package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
  56. package/dist/completion/team-exit/team-completion.js +1 -0
  57. package/dist/completion/team-exit/team-completion.js.map +1 -1
  58. package/dist/completion/team-exit/terminated-work-reconcile.d.ts +6 -0
  59. package/dist/completion/team-exit/terminated-work-reconcile.d.ts.map +1 -1
  60. package/dist/completion/team-exit/terminated-work-reconcile.js +5 -7
  61. package/dist/completion/team-exit/terminated-work-reconcile.js.map +1 -1
  62. package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
  63. package/dist/completion/team-outcome/apply-close.js +1 -0
  64. package/dist/completion/team-outcome/apply-close.js.map +1 -1
  65. package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
  66. package/dist/completion/team-outcome/apply-turn.js +13 -7
  67. package/dist/completion/team-outcome/apply-turn.js.map +1 -1
  68. package/dist/completion/team-outcome/decide-close-rows.d.ts.map +1 -1
  69. package/dist/completion/team-outcome/decide-close-rows.js +2 -7
  70. package/dist/completion/team-outcome/decide-close-rows.js.map +1 -1
  71. package/dist/completion/team-outcome/decide-turn-entry-rows.d.ts.map +1 -1
  72. package/dist/completion/team-outcome/decide-turn-entry-rows.js +5 -1
  73. package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
  74. package/dist/completion/team-outcome/exit-pipeline-state.d.ts +5 -0
  75. package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
  76. package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
  77. package/dist/completion/team-outcome/work-facts.d.ts +7 -1
  78. package/dist/completion/team-outcome/work-facts.d.ts.map +1 -1
  79. package/dist/completion/team-outcome/work-facts.js +9 -4
  80. package/dist/completion/team-outcome/work-facts.js.map +1 -1
  81. package/dist/composition/advance-precheck-context.d.ts.map +1 -1
  82. package/dist/composition/advance-precheck-context.js +1 -0
  83. package/dist/composition/advance-precheck-context.js.map +1 -1
  84. package/dist/composition/commit-gate-context.d.ts.map +1 -1
  85. package/dist/composition/commit-gate-context.js +2 -1
  86. package/dist/composition/commit-gate-context.js.map +1 -1
  87. package/dist/composition/completion-event-context.d.ts.map +1 -1
  88. package/dist/composition/completion-event-context.js +4 -0
  89. package/dist/composition/completion-event-context.js.map +1 -1
  90. package/dist/composition/daemon-contexts.js +1 -1
  91. package/dist/composition/execution-directive-context.d.ts.map +1 -1
  92. package/dist/composition/execution-directive-context.js +1 -0
  93. package/dist/composition/execution-directive-context.js.map +1 -1
  94. package/dist/composition/execution-resolver-context.d.ts.map +1 -1
  95. package/dist/composition/execution-resolver-context.js +2 -1
  96. package/dist/composition/execution-resolver-context.js.map +1 -1
  97. package/dist/composition/execution-spawn-context.d.ts +1 -1
  98. package/dist/composition/execution-spawn-context.d.ts.map +1 -1
  99. package/dist/composition/execution-spawn-context.js +6 -3
  100. package/dist/composition/execution-spawn-context.js.map +1 -1
  101. package/dist/composition/reopening-falsifier-context.d.ts +9 -0
  102. package/dist/composition/reopening-falsifier-context.d.ts.map +1 -0
  103. package/dist/composition/reopening-falsifier-context.js +82 -0
  104. package/dist/composition/reopening-falsifier-context.js.map +1 -0
  105. package/dist/composition/review-exit-context.d.ts.map +1 -1
  106. package/dist/composition/review-exit-context.js +5 -2
  107. package/dist/composition/review-exit-context.js.map +1 -1
  108. package/dist/composition/runtime-contexts.d.ts.map +1 -1
  109. package/dist/composition/runtime-contexts.js +4 -3
  110. package/dist/composition/runtime-contexts.js.map +1 -1
  111. package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
  112. package/dist/composition/runtime-delivery-advance-context.js +4 -0
  113. package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
  114. package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
  115. package/dist/composition/runtime-spawn-pass-context.js +5 -1
  116. package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
  117. package/dist/composition/spawn-pass-deps.d.ts.map +1 -1
  118. package/dist/composition/spawn-pass-deps.js +4 -0
  119. package/dist/composition/spawn-pass-deps.js.map +1 -1
  120. package/dist/composition/standing-approval-context.d.ts.map +1 -1
  121. package/dist/composition/standing-approval-context.js +5 -0
  122. package/dist/composition/standing-approval-context.js.map +1 -1
  123. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  124. package/dist/composition/state-cascade-context.js +7 -2
  125. package/dist/composition/state-cascade-context.js.map +1 -1
  126. package/dist/config/live-daemon-config.d.ts.map +1 -1
  127. package/dist/config/live-daemon-config.js +2 -0
  128. package/dist/config/live-daemon-config.js.map +1 -1
  129. package/dist/daemon-state/focus-team-state.js +1 -1
  130. package/dist/delivery/commit-verdict-hold.d.ts +12 -0
  131. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
  132. package/dist/delivery/commit-verdict-hold.js +11 -0
  133. package/dist/delivery/commit-verdict-hold.js.map +1 -1
  134. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  135. package/dist/delivery/delivery-lifecycle.js +1 -0
  136. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  137. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
  138. package/dist/delivery/delivery-reconciler-apply.js +10 -2
  139. package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
  140. package/dist/delivery/delivery-reconciler.d.ts +33 -18
  141. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  142. package/dist/delivery/delivery-reconciler.js +33 -23
  143. package/dist/delivery/delivery-reconciler.js.map +1 -1
  144. package/dist/delivery/recorded-concerns.d.ts +57 -0
  145. package/dist/delivery/recorded-concerns.d.ts.map +1 -0
  146. package/dist/delivery/recorded-concerns.js +45 -0
  147. package/dist/delivery/recorded-concerns.js.map +1 -0
  148. package/dist/directive/directive-queue.d.ts +13 -0
  149. package/dist/directive/directive-queue.d.ts.map +1 -1
  150. package/dist/directive/directive-queue.js +19 -1
  151. package/dist/directive/directive-queue.js.map +1 -1
  152. package/dist/directive/phase-sync.d.ts +10 -0
  153. package/dist/directive/phase-sync.d.ts.map +1 -1
  154. package/dist/directive/phase-sync.js +11 -0
  155. package/dist/directive/phase-sync.js.map +1 -1
  156. package/dist/focus/closed-review-window.d.ts +26 -0
  157. package/dist/focus/closed-review-window.d.ts.map +1 -0
  158. package/dist/focus/closed-review-window.js +62 -0
  159. package/dist/focus/closed-review-window.js.map +1 -0
  160. package/dist/focus/daemon-contexts.js +1 -1
  161. package/dist/focus/directive-executor.d.ts.map +1 -1
  162. package/dist/focus/directive-executor.js +3 -8
  163. package/dist/focus/directive-executor.js.map +1 -1
  164. package/dist/focus/focus-executor.js +2 -2
  165. package/dist/focus/focus-executor.js.map +1 -1
  166. package/dist/focus/focus-poller-auto-advance.d.ts +7 -0
  167. package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
  168. package/dist/focus/focus-poller-auto-advance.js +8 -6
  169. package/dist/focus/focus-poller-auto-advance.js.map +1 -1
  170. package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
  171. package/dist/focus/focus-poller-spawn.js +39 -28
  172. package/dist/focus/focus-poller-spawn.js.map +1 -1
  173. package/dist/focus/focus-poller-state.d.ts.map +1 -1
  174. package/dist/focus/focus-poller-state.js +2 -0
  175. package/dist/focus/focus-poller-state.js.map +1 -1
  176. package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
  177. package/dist/focus/pending-review-approved-head.js +2 -0
  178. package/dist/focus/pending-review-approved-head.js.map +1 -1
  179. package/dist/focus/pending-spawn-pass-deps.d.ts +3 -0
  180. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  181. package/dist/focus/pending-spawn-pass-deps.js +1 -0
  182. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  183. package/dist/focus/pending-spawn-review-next-step.d.ts +3 -0
  184. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  185. package/dist/focus/pending-spawn-review-next-step.js +3 -0
  186. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  187. package/dist/focus/ready-focus-team-work.d.ts +8 -0
  188. package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
  189. package/dist/focus/ready-focus-team-work.js +5 -1
  190. package/dist/focus/ready-focus-team-work.js.map +1 -1
  191. package/dist/focus/stranded-review-reroute.d.ts +32 -1
  192. package/dist/focus/stranded-review-reroute.d.ts.map +1 -1
  193. package/dist/focus/stranded-review-reroute.js +50 -1
  194. package/dist/focus/stranded-review-reroute.js.map +1 -1
  195. package/dist/focus/verify-open-issues.d.ts +7 -0
  196. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  197. package/dist/focus/verify-open-issues.js +8 -4
  198. package/dist/focus/verify-open-issues.js.map +1 -1
  199. package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -1
  200. package/dist/focus-stage-lifecycle/ratify-bar-gate.js +4 -3
  201. package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -1
  202. package/dist/nexus/intake-prompt-sections.js +3 -3
  203. package/dist/nexus/intake-prompt-sections.js.map +1 -1
  204. package/dist/prd/arm-readiness.d.ts +49 -74
  205. package/dist/prd/arm-readiness.d.ts.map +1 -1
  206. package/dist/prd/arm-readiness.js +48 -196
  207. package/dist/prd/arm-readiness.js.map +1 -1
  208. package/dist/prd/frontier-arming.d.ts.map +1 -1
  209. package/dist/prd/frontier-arming.js +0 -2
  210. package/dist/prd/frontier-arming.js.map +1 -1
  211. package/dist/prd/scoping-prompt.js +3 -3
  212. package/dist/prd/scoping-prompt.js.map +1 -1
  213. package/dist/prompt/focus-prompt-builder.d.ts +9 -2
  214. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  215. package/dist/prompt/focus-prompt-builder.js +19 -8
  216. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  217. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  218. package/dist/prompt/team-prompt-base.js +2 -1
  219. package/dist/prompt/team-prompt-base.js.map +1 -1
  220. package/dist/prompt-sections/execution-sections.d.ts +7 -1
  221. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  222. package/dist/prompt-sections/execution-sections.js +41 -22
  223. package/dist/prompt-sections/execution-sections.js.map +1 -1
  224. package/dist/prompt-sections/persona-sections.d.ts +6 -0
  225. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  226. package/dist/prompt-sections/persona-sections.js +30 -1
  227. package/dist/prompt-sections/persona-sections.js.map +1 -1
  228. package/dist/prompt-sections/prompt-listing.d.ts +21 -0
  229. package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
  230. package/dist/prompt-sections/prompt-listing.js +35 -0
  231. package/dist/prompt-sections/prompt-listing.js.map +1 -1
  232. package/dist/prompt-sections/role-sections.d.ts.map +1 -1
  233. package/dist/prompt-sections/role-sections.js +9 -6
  234. package/dist/prompt-sections/role-sections.js.map +1 -1
  235. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  236. package/dist/prompt-sections/routing-decider-sections.js +2 -0
  237. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  238. package/dist/prompt-sections/shared.d.ts +7 -0
  239. package/dist/prompt-sections/shared.d.ts.map +1 -1
  240. package/dist/prompt-sections/shared.js +1 -1
  241. package/dist/prompt-sections/shared.js.map +1 -1
  242. package/dist/queries/api-client/shared.js +1 -1
  243. package/dist/queries/deliveries/issues.d.ts.map +1 -1
  244. package/dist/queries/deliveries/issues.js +1 -0
  245. package/dist/queries/deliveries/issues.js.map +1 -1
  246. package/dist/queries/escalations/cause-key.d.ts +11 -0
  247. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  248. package/dist/queries/escalations/cause-key.js +15 -0
  249. package/dist/queries/escalations/cause-key.js.map +1 -1
  250. package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
  251. package/dist/queries/escalations/escalation-consumption.js +1 -0
  252. package/dist/queries/escalations/escalation-consumption.js.map +1 -1
  253. package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
  254. package/dist/queries/escalations/filing-observation.js +1 -0
  255. package/dist/queries/escalations/filing-observation.js.map +1 -1
  256. package/dist/queries/focus-review/criterion-reopenings.d.ts +62 -0
  257. package/dist/queries/focus-review/criterion-reopenings.d.ts.map +1 -0
  258. package/dist/queries/focus-review/criterion-reopenings.js +67 -0
  259. package/dist/queries/focus-review/criterion-reopenings.js.map +1 -0
  260. package/dist/queries/focus-review/recorded-concern-ids.d.ts +47 -0
  261. package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -0
  262. package/dist/queries/focus-review/recorded-concern-ids.js +33 -0
  263. package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -0
  264. package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
  265. package/dist/queries/focus-review/review-finding-facts.js +5 -1
  266. package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
  267. package/dist/queries/focuses/arm-covered-targets.d.ts +10 -1
  268. package/dist/queries/focuses/arm-covered-targets.d.ts.map +1 -1
  269. package/dist/queries/focuses/arm-covered-targets.js +9 -0
  270. package/dist/queries/focuses/arm-covered-targets.js.map +1 -1
  271. package/dist/queries/focuses/ended-arm.d.ts +12 -0
  272. package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
  273. package/dist/queries/focuses/focus-criteria-standing.d.ts +17 -0
  274. package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
  275. package/dist/queries/focuses/focus-criteria-standing.js +29 -1
  276. package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
  277. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  278. package/dist/queries/focuses/focus-discovery.js +2 -1
  279. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  280. package/dist/queries/verification/verification.js +1 -1
  281. package/dist/reality/injection-writeback.d.ts +5 -4
  282. package/dist/reality/injection-writeback.d.ts.map +1 -1
  283. package/dist/reality/injection-writeback.js +3 -2
  284. package/dist/reality/injection-writeback.js.map +1 -1
  285. package/dist/reality/reality-writeback.d.ts +13 -12
  286. package/dist/reality/reality-writeback.d.ts.map +1 -1
  287. package/dist/reality/reality-writeback.js +5 -5
  288. package/dist/reality/reality-writeback.js.map +1 -1
  289. package/dist/resolvers/assembly-engine.js +1 -1
  290. package/dist/resolvers/compose/focus-injections-compose.d.ts.map +1 -1
  291. package/dist/resolvers/compose/focus-injections-compose.js +3 -2
  292. package/dist/resolvers/compose/focus-injections-compose.js.map +1 -1
  293. package/dist/resolvers/compose/loop-delivery-index-compose.d.ts +10 -0
  294. package/dist/resolvers/compose/loop-delivery-index-compose.d.ts.map +1 -1
  295. package/dist/resolvers/compose/loop-delivery-index-compose.js +15 -3
  296. package/dist/resolvers/compose/loop-delivery-index-compose.js.map +1 -1
  297. package/dist/resolvers/delivery-listing.d.ts +7 -0
  298. package/dist/resolvers/delivery-listing.d.ts.map +1 -1
  299. package/dist/resolvers/delivery-listing.js +26 -4
  300. package/dist/resolvers/delivery-listing.js.map +1 -1
  301. package/dist/resolvers/focus-anchoring-injections.d.ts +0 -24
  302. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  303. package/dist/resolvers/focus-anchoring-injections.js +38 -28
  304. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  305. package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
  306. package/dist/resolvers/focus-criteria-standing.js +19 -8
  307. package/dist/resolvers/focus-criteria-standing.js.map +1 -1
  308. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  309. package/dist/resolvers/loop-delivery-index.js +9 -1
  310. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  311. package/dist/resolvers/shared/loop.d.ts +17 -0
  312. package/dist/resolvers/shared/loop.d.ts.map +1 -1
  313. package/dist/resolvers/shared/loop.js.map +1 -1
  314. package/dist/security/security-auto-inject.d.ts +19 -5
  315. package/dist/security/security-auto-inject.d.ts.map +1 -1
  316. package/dist/security/security-auto-inject.js +21 -6
  317. package/dist/security/security-auto-inject.js.map +1 -1
  318. package/dist/session/session-lineage.d.ts +29 -9
  319. package/dist/session/session-lineage.d.ts.map +1 -1
  320. package/dist/session/session-lineage.js +33 -8
  321. package/dist/session/session-lineage.js.map +1 -1
  322. package/dist/spawn/directive-dispatch.d.ts.map +1 -1
  323. package/dist/spawn/directive-dispatch.js +1 -0
  324. package/dist/spawn/directive-dispatch.js.map +1 -1
  325. package/dist/spawn/idle-work-stamp.d.ts +7 -0
  326. package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
  327. package/dist/spawn/idle-work-stamp.js +2 -1
  328. package/dist/spawn/idle-work-stamp.js.map +1 -1
  329. package/dist/spawn/lead-continuation.d.ts +7 -0
  330. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  331. package/dist/spawn/lead-continuation.js +5 -2
  332. package/dist/spawn/lead-continuation.js.map +1 -1
  333. package/dist/spawn/loop-llm-client.d.ts +10 -1
  334. package/dist/spawn/loop-llm-client.d.ts.map +1 -1
  335. package/dist/spawn/loop-llm-client.js +15 -7
  336. package/dist/spawn/loop-llm-client.js.map +1 -1
  337. package/dist/spawn/model-id-guards.d.ts +9 -4
  338. package/dist/spawn/model-id-guards.d.ts.map +1 -1
  339. package/dist/spawn/model-id-guards.js +11 -4
  340. package/dist/spawn/model-id-guards.js.map +1 -1
  341. package/dist/spawn/prompt-assembly.d.ts +2 -0
  342. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  343. package/dist/spawn/prompt-assembly.js +3 -1
  344. package/dist/spawn/prompt-assembly.js.map +1 -1
  345. package/dist/spawn/review-hold-park.d.ts +4 -2
  346. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  347. package/dist/spawn/review-hold-park.js +9 -5
  348. package/dist/spawn/review-hold-park.js.map +1 -1
  349. package/dist/spawn/worktree-session.d.ts +14 -3
  350. package/dist/spawn/worktree-session.d.ts.map +1 -1
  351. package/dist/spawn/worktree-session.js +13 -3
  352. package/dist/spawn/worktree-session.js.map +1 -1
  353. package/dist/supervision/agent-resolvable-promotion.d.ts +14 -2
  354. package/dist/supervision/agent-resolvable-promotion.d.ts.map +1 -1
  355. package/dist/supervision/agent-resolvable-promotion.js +24 -3
  356. package/dist/supervision/agent-resolvable-promotion.js.map +1 -1
  357. package/dist/supervision/escalation-filing.js +1 -1
  358. package/dist/supervision/escalation-suppression.js +1 -1
  359. package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
  360. package/dist/supervision/focus-delivery-aggregate-phase.js +1 -0
  361. package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
  362. package/dist/supervision/spawn-cooldown.js +1 -1
  363. package/dist/supervision/stop-registry.d.ts +1 -0
  364. package/dist/supervision/stop-registry.d.ts.map +1 -1
  365. package/dist/supervision/stop-rows-delivery.d.ts +6 -0
  366. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  367. package/dist/supervision/stop-rows-delivery.js +20 -0
  368. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  369. package/dist/supervision/team-work.d.ts +15 -1
  370. package/dist/supervision/team-work.d.ts.map +1 -1
  371. package/dist/supervision/team-work.js +7 -2
  372. package/dist/supervision/team-work.js.map +1 -1
  373. package/dist/templates/agents-md.d.ts.map +1 -1
  374. package/dist/templates/agents-md.js +1 -0
  375. package/dist/templates/agents-md.js.map +1 -1
  376. package/dist/templates/claude-md.d.ts +1 -1
  377. package/dist/templates/claude-md.d.ts.map +1 -1
  378. package/dist/templates/claude-md.js +12 -0
  379. package/dist/templates/claude-md.js.map +1 -1
  380. package/dist/testing/arm-coverage-model.d.ts +13 -0
  381. package/dist/testing/arm-coverage-model.d.ts.map +1 -1
  382. package/dist/testing/arm-coverage-model.js +118 -9
  383. package/dist/testing/arm-coverage-model.js.map +1 -1
  384. package/dist/testing/fixtures/api-client.js +1 -1
  385. package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
  386. package/dist/testing/fixtures/approved-head-inert-deps.js +1 -0
  387. package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
  388. package/dist/testing/fixtures/completion-event-deps.d.ts +1 -1
  389. package/dist/testing/fixtures/completion-event-deps.d.ts.map +1 -1
  390. package/dist/testing/fixtures/completion-event-deps.js +1 -0
  391. package/dist/testing/fixtures/completion-event-deps.js.map +1 -1
  392. package/dist/testing/fixtures/index.js +1 -1
  393. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  394. package/dist/testing/fixtures/pending-spawn-world.js +3 -0
  395. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  396. package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
  397. package/dist/testing/fixtures/process-close-context.js +1 -0
  398. package/dist/testing/fixtures/process-close-context.js.map +1 -1
  399. package/dist/testing/fixtures/recording-api-client.js +1 -1
  400. package/dist/testing/fixtures/review-exit-deps.js +1 -1
  401. package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
  402. package/dist/testing/fixtures/session-wire.js +2 -1
  403. package/dist/testing/fixtures/session-wire.js.map +1 -1
  404. package/dist/types/index.js +1 -1
  405. package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
  406. package/dist/verify/attribution/verification-baseline-run.js +2 -1
  407. package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
  408. package/dist/verify/effect-reconciliation/recorded-targets.d.ts +14 -0
  409. package/dist/verify/effect-reconciliation/recorded-targets.d.ts.map +1 -1
  410. package/dist/verify/effect-reconciliation/recorded-targets.js +20 -0
  411. package/dist/verify/effect-reconciliation/recorded-targets.js.map +1 -1
  412. package/dist/verify/effect-reconciliation/verify-restatement.d.ts +15 -1
  413. package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
  414. package/dist/verify/effect-reconciliation/verify-restatement.js +93 -59
  415. package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
  416. package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
  417. package/dist/verify/engine/reconciliation-step.js +4 -1
  418. package/dist/verify/engine/reconciliation-step.js.map +1 -1
  419. package/dist/verify/falsifier/falsifier-command.d.ts +37 -0
  420. package/dist/verify/falsifier/falsifier-command.d.ts.map +1 -0
  421. package/dist/verify/falsifier/falsifier-command.js +40 -0
  422. package/dist/verify/falsifier/falsifier-command.js.map +1 -0
  423. package/dist/verify/falsifier/falsifier-run.d.ts +47 -0
  424. package/dist/verify/falsifier/falsifier-run.d.ts.map +1 -0
  425. package/dist/verify/falsifier/falsifier-run.js +117 -0
  426. package/dist/verify/falsifier/falsifier-run.js.map +1 -0
  427. package/dist/verify/falsifier/falsifier-verdict.d.ts +52 -0
  428. package/dist/verify/falsifier/falsifier-verdict.d.ts.map +1 -0
  429. package/dist/verify/falsifier/falsifier-verdict.js +61 -0
  430. package/dist/verify/falsifier/falsifier-verdict.js.map +1 -0
  431. package/dist/verify/gate-config/commit-gate-configured.d.ts +2 -0
  432. package/dist/verify/gate-config/commit-gate-configured.d.ts.map +1 -1
  433. package/dist/verify/gate-config/commit-gate-configured.js.map +1 -1
  434. package/dist/verify/shortfalls/each-table.d.ts +45 -0
  435. package/dist/verify/shortfalls/each-table.d.ts.map +1 -0
  436. package/dist/verify/shortfalls/each-table.js +219 -0
  437. package/dist/verify/shortfalls/each-table.js.map +1 -0
  438. package/dist/verify/shortfalls/each-title-render.d.ts +67 -0
  439. package/dist/verify/shortfalls/each-title-render.d.ts.map +1 -0
  440. package/dist/verify/shortfalls/each-title-render.js +473 -0
  441. package/dist/verify/shortfalls/each-title-render.js.map +1 -0
  442. package/dist/verify/shortfalls/generated-test-titles.d.ts +18 -0
  443. package/dist/verify/shortfalls/generated-test-titles.d.ts.map +1 -0
  444. package/dist/verify/shortfalls/generated-test-titles.js +232 -0
  445. package/dist/verify/shortfalls/generated-test-titles.js.map +1 -0
  446. package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
  447. package/dist/verify/shortfalls/pre-judge-rulings.js +2 -1
  448. package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
  449. package/dist/verify/shortfalls/ruling-evidence-resolution.d.ts.map +1 -1
  450. package/dist/verify/shortfalls/ruling-evidence-resolution.js +6 -2
  451. package/dist/verify/shortfalls/ruling-evidence-resolution.js.map +1 -1
  452. package/dist/worktree/verify-hold-facts.d.ts +2 -0
  453. package/dist/worktree/verify-hold-facts.d.ts.map +1 -1
  454. package/dist/worktree/verify-hold-facts.js +1 -0
  455. package/dist/worktree/verify-hold-facts.js.map +1 -1
  456. package/package.json +2 -2
@@ -0,0 +1,40 @@
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/falsifier/falsifier-run.test.ts
3
+ // PINNED-BY-END
4
+ const DAEMON_PREFIX = 'packages/daemon/';
5
+ const DAEMON_TEST = /^packages\/daemon\/src\/.+\.test\.ts$/;
6
+ const ROOT_VITEST = /^src\/.+\.test\.tsx?$/;
7
+ /** Quote one argument for `sh -c`. */
8
+ export function shellQuote(value) {
9
+ return `'${value.replace(/'/g, `'\\''`)}'`;
10
+ }
11
+ /** Escape a literal test title for use as a regular expression (node --test-name-pattern). */
12
+ function escapeRegExp(value) {
13
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
14
+ }
15
+ /**
16
+ * The command that runs the falsifier, or null when its path names no runner
17
+ * this daemon knows. A path with `..` or a leading `/` never resolves.
18
+ */
19
+ export function resolveFalsifierCommand(testPath, testName) {
20
+ const path = testPath.trim();
21
+ if (path === '' || path.startsWith('/') || path.split('/').includes('..'))
22
+ return null;
23
+ if (DAEMON_TEST.test(path)) {
24
+ const rel = path.slice(DAEMON_PREFIX.length);
25
+ const pattern = testName ? [shellQuote(`--test-name-pattern=${escapeRegExp(testName)}`)] : [];
26
+ return {
27
+ command: ['cd', shellQuote('packages/daemon'), '&&', 'node', 'scripts/run-tests.mjs', '--test-reporter=tap', ...pattern, shellQuote(rel)].join(' '),
28
+ runner: 'daemon-node-test',
29
+ };
30
+ }
31
+ if (ROOT_VITEST.test(path)) {
32
+ const name = testName ? ['-t', shellQuote(testName)] : [];
33
+ return {
34
+ command: ['npx', 'vitest', 'run', '--reporter=tap', shellQuote(path), ...name].join(' '),
35
+ runner: 'vitest',
36
+ };
37
+ }
38
+ return null;
39
+ }
40
+ //# sourceMappingURL=falsifier-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falsifier-command.js","sourceRoot":"","sources":["../../../src/verify/falsifier/falsifier-command.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,gBAAgB;AAiChB,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAC5D,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAE5C,sCAAsC;AACtC,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,8FAA8F;AAC9F,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,QAAiB;IACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAuB,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO;YACL,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,GAAG,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACnJ,MAAM,EAAE,kBAAkB;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxF,MAAM,EAAE,QAAQ;SACjB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { type FalsifierRunOutput } from './falsifier-verdict.js';
2
+ /** The falsifier a reopening names. */
3
+ export interface FalsifierRef {
4
+ testPath: string;
5
+ testName?: string;
6
+ }
7
+ /** What the run needs to know about one pending reopening. */
8
+ export interface FalsifierRunRequest {
9
+ focusId: string;
10
+ /** Names the checkout directory (unique per review + criterion). */
11
+ checkoutKey: string;
12
+ falsifier: FalsifierRef | null;
13
+ /** The commit the earlier review judged the criterion met at. */
14
+ judgedSha: string | null;
15
+ }
16
+ /** The answer written back as the reopening's outcome. */
17
+ export interface FalsifierOutcome {
18
+ status: 'demonstrated' | 'not_demonstrated';
19
+ reason: string;
20
+ }
21
+ /** A provisioned checkout of the judged commit: run a command at its root, then dispose. */
22
+ export interface JudgedCheckout {
23
+ path: string;
24
+ run: (command: string) => Promise<FalsifierRunOutput>;
25
+ /** True when an install moved the linked dependency trees since the checkout was made. */
26
+ dependenciesMoved: () => boolean;
27
+ dispose: () => void;
28
+ }
29
+ /** The injected collaborators. */
30
+ export interface FalsifierRunDeps {
31
+ /** The focus worktree the checkout is made from (null when the focus has none). */
32
+ resolveFocusWorktreePath: (focusId: string) => string | null;
33
+ /** The focus branch head now (the commit the falsifier is read from), or null. */
34
+ resolveFocusHeadSha: (focusWorktreePath: string) => string | null;
35
+ /** The file's content at `sha`, or null when it does not exist there. */
36
+ readFileAtCommit: (focusWorktreePath: string, sha: string, path: string) => string | null;
37
+ /** A provisioned, dependency-comparable checkout of `sha`, or why there is none. */
38
+ openJudgedCheckout: (focusWorktreePath: string, checkoutKey: string, sha: string) => JudgedCheckout | {
39
+ unavailable: string;
40
+ };
41
+ /** Write a file (parent directories created). */
42
+ writeFile: (absolutePath: string, content: string) => void;
43
+ timeoutMs: number;
44
+ }
45
+ /** Run the falsifier at the judged commit (module doc). Never throws for a run problem. */
46
+ export declare function runFalsifierAtJudgedCommit(request: FalsifierRunRequest, deps: FalsifierRunDeps): Promise<FalsifierOutcome>;
47
+ //# sourceMappingURL=falsifier-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falsifier-run.d.ts","sourceRoot":"","sources":["../../../src/verify/falsifier/falsifier-run.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,iEAAiE;IACjE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtD,0FAA0F;IAC1F,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC7D,kFAAkF;IAClF,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAClE,yEAAyE;IACzE,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1F,oFAAoF;IACpF,kBAAkB,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,cAAc,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9H,iDAAiD;IACjD,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAkDD,2FAA2F;AAC3F,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA2B3B"}
@@ -0,0 +1,117 @@
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/reopening-routing-regression.test.ts,
3
+ // packages/daemon/src/verify/falsifier/falsifier-run.test.ts
4
+ // PINNED-BY-END
5
+ /**
6
+ * Run ONE reopened criterion's falsifier at the commit an earlier review
7
+ * judged the criterion met at, and say whether the failure was demonstrated.
8
+ *
9
+ * The falsifier is a test the reviewer committed on the focus branch DURING
10
+ * the review -- after the commit the review was spawned at -- so it is read
11
+ * from the focus branch head as it stands when the daemon runs it (the review
12
+ * exit, right after the review session), never from the review's spawn-time
13
+ * reviewed sha. It is overlaid onto a checkout of the JUDGED commit opened the
14
+ * way a base checkout is (verify/attribution/verification-baseline-run.ts
15
+ * buildDefaultOpenBaseline): refused unless the focus worktree is provisioned
16
+ * and its dependency install inputs match the judged commit's, held against
17
+ * installs, and discarded if an install moved the linked dependencies while
18
+ * it ran. It runs alone, with a TAP reporter (falsifier-command.ts), and its
19
+ * output is read (falsifier-verdict.ts):
20
+ * - an assertion failed in the named test -> `demonstrated`;
21
+ * - it passed -> `not_demonstrated` (passes at the judged commit);
22
+ * - it failed some other way (did not load, an
23
+ * import or setup error, the runner broke) -> `not_demonstrated`, naming the error;
24
+ * - it does not resolve (no runner, not committed at the focus head, named
25
+ * test not in the file, no test ran) -> `not_demonstrated`, naming what did not resolve;
26
+ * - it could not be run or judged (no worktree, no comparable checkout,
27
+ * timeout, dependencies moved) -> `not_demonstrated`, naming the reason.
28
+ * Only a failing assertion blocks; every other answer leaves the reopening's
29
+ * findings concerns, so neither an infrastructure problem nor a broken test
30
+ * turns an argued failure into a blocking one.
31
+ *
32
+ * Every collaborator is injected ({@link FalsifierRunDeps}); the production
33
+ * binding is built at the composition root.
34
+ *
35
+ * @module verify/falsifier/falsifier-run
36
+ */
37
+ import { join } from 'node:path';
38
+ import { resolveFalsifierCommand } from './falsifier-command.js';
39
+ import { readFalsifierRun } from './falsifier-verdict.js';
40
+ function notDemonstrated(reason) {
41
+ return { status: 'not_demonstrated', reason };
42
+ }
43
+ function short(sha) {
44
+ return sha.slice(0, 12);
45
+ }
46
+ /** The falsifier file read from the focus head, or the reason it does not resolve. */
47
+ function readFalsifierSource(deps, worktreePath, falsifier) {
48
+ const sourceSha = deps.resolveFocusHeadSha(worktreePath);
49
+ if (sourceSha === null)
50
+ return { reason: 'could not be run: the focus branch head could not be read' };
51
+ const content = deps.readFileAtCommit(worktreePath, sourceSha, falsifier.testPath);
52
+ if (content === null) {
53
+ return { reason: `does not resolve: ${falsifier.testPath} is not committed at the focus branch head ${short(sourceSha)}` };
54
+ }
55
+ if (falsifier.testName && !content.includes(falsifier.testName)) {
56
+ return { reason: `does not resolve: no test named "${falsifier.testName}" in ${falsifier.testPath}` };
57
+ }
58
+ return { content, sourceSha };
59
+ }
60
+ /** Classify how the run ended (falsifier-verdict.ts). */
61
+ function judgeRun(run, falsifier, judgedSha, timeoutMs) {
62
+ const label = `the falsifier ${falsifier.testPath}${falsifier.testName ? ` :: ${falsifier.testName}` : ''}`;
63
+ const at = `at the judged commit ${short(judgedSha)}`;
64
+ if (run.timedOut)
65
+ return notDemonstrated(`could not be run: ${label} timed out after ${Math.round(timeoutMs / 1000)}s ${at}`);
66
+ if (run.exitCode === null)
67
+ return notDemonstrated(`could not be run: ${label} did not start ${at}`);
68
+ const reading = readFalsifierRun(run, falsifier);
69
+ switch (reading.kind) {
70
+ case 'assertion_failed':
71
+ return { status: 'demonstrated', reason: `${label} FAILS ${at}: an assertion failed in "${reading.test}"` };
72
+ case 'passed':
73
+ return notDemonstrated(`${label} PASSES ${at}: the failure was argued, not demonstrated`);
74
+ case 'no_test_ran':
75
+ return notDemonstrated(`does not resolve: ${label} ran no test ${at} (the named test did not match)`);
76
+ case 'not_an_assertion':
77
+ return notDemonstrated(`${label} failed ${at} without an assertion failing in the named test (a load, import, setup or runner ` +
78
+ `failure demonstrates nothing): ${reading.detail}`);
79
+ }
80
+ }
81
+ /** Run the falsifier at the judged commit (module doc). Never throws for a run problem. */
82
+ export async function runFalsifierAtJudgedCommit(request, deps) {
83
+ const { falsifier, judgedSha } = request;
84
+ if (falsifier === null)
85
+ return notDemonstrated('no falsifier named');
86
+ if (judgedSha === null)
87
+ return notDemonstrated('no judged commit recorded');
88
+ const command = resolveFalsifierCommand(falsifier.testPath, falsifier.testName);
89
+ if (command === null) {
90
+ return notDemonstrated(`does not resolve: no test runner for ${falsifier.testPath} (daemon packages/daemon/src/**.test.ts or vitest src/**.test.ts)`);
91
+ }
92
+ const worktreePath = deps.resolveFocusWorktreePath(request.focusId);
93
+ if (worktreePath === null)
94
+ return notDemonstrated('could not be run: the focus has no worktree on this host');
95
+ const source = readFalsifierSource(deps, worktreePath, falsifier);
96
+ if ('reason' in source)
97
+ return notDemonstrated(source.reason);
98
+ const checkout = deps.openJudgedCheckout(worktreePath, request.checkoutKey, judgedSha);
99
+ if ('unavailable' in checkout)
100
+ return notDemonstrated(`could not be run at the judged commit ${short(judgedSha)}: ${checkout.unavailable}`);
101
+ try {
102
+ deps.writeFile(join(checkout.path, falsifier.testPath), source.content);
103
+ const run = await checkout.run(command.command);
104
+ if (checkout.dependenciesMoved()) {
105
+ return notDemonstrated('could not be judged: a dependency install moved the checkout\'s linked node_modules while it ran');
106
+ }
107
+ const outcome = judgeRun(run, falsifier, judgedSha, deps.timeoutMs);
108
+ return { ...outcome, reason: `${outcome.reason} (falsifier read from the focus head ${short(source.sourceSha)})` };
109
+ }
110
+ catch (err) {
111
+ return notDemonstrated(`could not be run: ${err.message}`);
112
+ }
113
+ finally {
114
+ checkout.dispose();
115
+ }
116
+ }
117
+ //# sourceMappingURL=falsifier-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falsifier-run.js","sourceRoot":"","sources":["../../../src/verify/falsifier/falsifier-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * What a falsifier run SHOWED, read from its TAP output -- not from its exit
3
+ * code alone.
4
+ *
5
+ * A non-zero exit says only that something went wrong: a syntax error, a
6
+ * missing import, a broken runner or a setup failure exits non-zero exactly
7
+ * like a failing assertion. Only the last is the criterion's failure
8
+ * demonstrated, so only the last may promote a reopening's findings to
9
+ * blocking. Both runners the falsifier resolves to (falsifier-command.ts) are
10
+ * run with a TAP reporter, and the output is classified:
11
+ * - `assertion_failed` -- a TEST entry (not the file) reported `not ok` with an
12
+ * assertion error (`AssertionError` / `ERR_ASSERTION`) -- the named test's,
13
+ * when the falsifier names one;
14
+ * - `passed` -- the run exited 0 and at least one test ran (not skipped);
15
+ * - `no_test_ran` -- exit 0 with nothing run: the named test did not match;
16
+ * - `not_an_assertion` -- it failed, but no test failed by an assertion: a
17
+ * collection, import, setup or runner failure, with the first error line.
18
+ *
19
+ * Probed against the real runners (node:test --test-reporter=tap under tsx, and
20
+ * vitest --reporter=tap): an assertion failure carries `name: 'AssertionError'`
21
+ * (vitest: `name: "AssertionError"`) in the failing test's YAML block; a file
22
+ * that fails to load is one `not ok` entry titled with the file path carrying
23
+ * `ERR_TEST_FAILURE` (node) or the import error (vitest).
24
+ *
25
+ * Pure.
26
+ *
27
+ * @module verify/falsifier/falsifier-verdict
28
+ */
29
+ /** How the falsifier command ended, with its combined output. */
30
+ export interface FalsifierRunOutput {
31
+ output: string;
32
+ exitCode: number | null;
33
+ timedOut: boolean;
34
+ }
35
+ /** What the run showed. */
36
+ export type FalsifierRunReading = {
37
+ kind: 'assertion_failed';
38
+ test: string;
39
+ } | {
40
+ kind: 'passed';
41
+ } | {
42
+ kind: 'no_test_ran';
43
+ } | {
44
+ kind: 'not_an_assertion';
45
+ detail: string;
46
+ };
47
+ /** Classify one falsifier run (module doc). */
48
+ export declare function readFalsifierRun(run: FalsifierRunOutput, falsifier: {
49
+ testPath: string;
50
+ testName?: string;
51
+ }): FalsifierRunReading;
52
+ //# sourceMappingURL=falsifier-verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falsifier-verdict.d.ts","sourceRoot":"","sources":["../../../src/verify/falsifier/falsifier-verdict.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAyDjD,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,mBAAmB,CAUrB"}
@@ -0,0 +1,61 @@
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/falsifier/falsifier-run.test.ts
3
+ // PINNED-BY-END
4
+ const ENTRY = /^\s*(not ok|ok)\s+\d+\s+-\s+(.*)$/;
5
+ const YAML_END = /^\s*\.\.\.\s*$/;
6
+ const ASSERTION = /AssertionError|ERR_ASSERTION/;
7
+ const SKIPPED = /#\s*(SKIP|TODO)\b/i;
8
+ /** The title without its TAP directive / timing suffix (` # SKIP ...`, ` # time=...`, a trailing `{`). */
9
+ function cleanTitle(raw) {
10
+ return raw.replace(/\s+\{\s*$/, '').replace(/\s+#.*$/, '').trim();
11
+ }
12
+ /** Every `ok` / `not ok` entry, nested ones included, with its diagnostic block. */
13
+ function readEntries(output) {
14
+ const lines = output.split('\n');
15
+ const entries = [];
16
+ for (let i = 0; i < lines.length; i++) {
17
+ const match = ENTRY.exec(lines[i]);
18
+ if (!match)
19
+ continue;
20
+ const detail = [];
21
+ for (let j = i + 1; j < lines.length; j++) {
22
+ const line = lines[j];
23
+ if (ENTRY.test(line) || YAML_END.test(line))
24
+ break;
25
+ detail.push(line);
26
+ }
27
+ entries.push({
28
+ ok: match[1] === 'ok',
29
+ title: cleanTitle(match[2]),
30
+ skipped: SKIPPED.test(match[2]),
31
+ detail: detail.join('\n'),
32
+ });
33
+ }
34
+ return entries;
35
+ }
36
+ /** A file-level entry: its title is the test file (a load / collection result, not a test). */
37
+ function isFileEntry(title, testPath) {
38
+ return title === testPath || title.endsWith(`/${testPath}`) || /\.test\.tsx?$/.test(title);
39
+ }
40
+ /** The first line that reads like the error, for the recorded reason. */
41
+ function firstErrorLine(output) {
42
+ const line = output
43
+ .split('\n')
44
+ .map((l) => l.replace(/^[#\s]+/, '').trim())
45
+ .find((l) => /error|cannot|not found|failed/i.test(l) && !/^#?\s*(fail|pass|tests)\s+\d+/i.test(l));
46
+ return (line ?? 'no error line in the runner output').slice(0, 240);
47
+ }
48
+ /** Classify one falsifier run (module doc). */
49
+ export function readFalsifierRun(run, falsifier) {
50
+ const entries = readEntries(run.output).filter((e) => !isFileEntry(e.title, falsifier.testPath));
51
+ const named = falsifier.testName?.trim();
52
+ const inScope = (e) => named === undefined || named === '' || e.title === named;
53
+ const asserted = entries.find((e) => !e.ok && inScope(e) && ASSERTION.test(e.detail));
54
+ if (asserted && run.exitCode !== 0)
55
+ return { kind: 'assertion_failed', test: asserted.title };
56
+ if (run.exitCode === 0) {
57
+ return entries.some((e) => e.ok && !e.skipped && inScope(e)) ? { kind: 'passed' } : { kind: 'no_test_ran' };
58
+ }
59
+ return { kind: 'not_an_assertion', detail: firstErrorLine(run.output) };
60
+ }
61
+ //# sourceMappingURL=falsifier-verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falsifier-verdict.js","sourceRoot":"","sources":["../../../src/verify/falsifier/falsifier-verdict.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,8 @@ export interface CommitGateSeams {
51
51
  readDeliveryGateOutcome: (deliveryId: string, sha: string | null, gateState?: unknown, gateKey?: string | null) => RecordedGateOutcome | null;
52
52
  /** Whether a gate run that may judge `sha` on the focus is selected or in flight. */
53
53
  hasPendingGateRun: (focusId: string, sha: string | null) => boolean;
54
+ /** Whether a verify run for the delivery is selected or in flight (a done route waits for its final verdict). */
55
+ isGateRunSelected?: (deliveryId: string) => boolean;
54
56
  }
55
57
  /** A delivery row as the explicit-identity read takes it (undefined columns: an edge that does not send them). */
56
58
  interface VerificationIdentityRow {
@@ -1 +1 @@
1
- {"version":3,"file":"commit-gate-configured.d.ts","sourceRoot":"","sources":["../../../src/verify/gate-config/commit-gate-configured.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-gate-configured.d.ts","sourceRoot":"","sources":["../../../src/verify/gate-config/commit-gate-configured.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commit-gate-configured.js","sourceRoot":"","sources":["../../../src/verify/gate-config/commit-gate-configured.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-gate-configured.js","sourceRoot":"","sources":["../../../src/verify/gate-config/commit-gate-configured.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * The rows of a `.each` table the source writes out LITERALLY, and the text a
3
+ * title placeholder renders each row value as.
4
+ *
5
+ * verify/shortfalls/generated-test-titles.ts expands an each-style title against
6
+ * its table so a cited name resolves only when a row the table really holds
7
+ * produces it: `it.each(['a', 'b'])('case %s')` generates `case a` and `case b`,
8
+ * never `case z`. This module reads the table: an array literal (`[...]`,
9
+ * optionally `as const`) of string / number / boolean / null / undefined values,
10
+ * arrays and plain objects, or a tagged-template table whose cells are each one
11
+ * `${literal}`. Anything else a table holds -- an identifier, a call, an arrow, a
12
+ * spread, a template with a substitution -- is UNKNOWN: a row value the title
13
+ * never renders costs nothing, and a placeholder that WOULD render one produces
14
+ * no pattern for that row (fail closed). A table that is not a literal at all
15
+ * (`it.each(CASES)`) yields no rows.
16
+ * Rendering a row into a title is verify/shortfalls/each-title-render.ts.
17
+ * Pure; nothing is evaluated.
18
+ *
19
+ * @module verify/shortfalls/each-table
20
+ */
21
+ /** A value that is not a literal the table spells out. */
22
+ export declare const UNKNOWN: unique symbol;
23
+ /** One table value, as far as the source spells it out. */
24
+ export type EachValue = string | number | boolean | null | undefined | typeof UNKNOWN | EachValue[] | {
25
+ [key: string]: EachValue;
26
+ };
27
+ /** One row: the arguments its test receives (a non-array array element is one argument). */
28
+ export type EachRow = EachValue[];
29
+ interface Parsed {
30
+ value: EachValue;
31
+ next: number;
32
+ }
33
+ /** One value from `i`; an expression that is not a plain literal reads as UNKNOWN, consumed to its end. */
34
+ export declare function parseValue(s: string, i: number): Parsed;
35
+ /**
36
+ * The elements of an array-literal table (the text between `.each(` and its `)`),
37
+ * as written -- each runner turns them into rows its own way; null when it is not one.
38
+ */
39
+ export declare function parseArrayTableItems(text: string): EachValue[] | null;
40
+ /** The rows of an array-literal table, one per element (an element that is not an array is one argument); null when it is not one. */
41
+ export declare function parseArrayTable(text: string): EachRow[] | null;
42
+ /** The rows of a tagged-template table (its raw body); null unless every cell is one `${literal}`. */
43
+ export declare function parseTemplateTable(body: string): EachRow[] | null;
44
+ export {};
45
+ //# sourceMappingURL=each-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"each-table.d.ts","sourceRoot":"","sources":["../../../src/verify/shortfalls/each-table.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,OAAO,EAAE,OAAO,MAAqC,CAAC;AAEnE,2DAA2D;AAC3D,MAAM,MAAM,SAAS,GACjB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAC5C,OAAO,OAAO,GACd,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;AAElC,UAAU,MAAM;IAAG,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AA4FnD,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,IAAI,CAOrE;AAED,sIAAsI;AACtI,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,CAE9D;AAED,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,CAuBjE"}