@telora/daemon 0.22.189 → 0.22.226

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 (376) hide show
  1. package/build-info.json +6 -3
  2. package/dist/backends/index.d.ts.map +1 -1
  3. package/dist/backends/index.js +5 -1
  4. package/dist/backends/index.js.map +1 -1
  5. package/dist/completion/advancement-stall-watchdog.d.ts.map +1 -1
  6. package/dist/completion/advancement-stall-watchdog.js +6 -2
  7. package/dist/completion/advancement-stall-watchdog.js.map +1 -1
  8. package/dist/completion/completion-decision.d.ts +10 -1
  9. package/dist/completion/completion-decision.d.ts.map +1 -1
  10. package/dist/completion/completion-decision.js +1 -1
  11. package/dist/completion/completion-decision.js.map +1 -1
  12. package/dist/completion/completion-fact-readers.d.ts +35 -0
  13. package/dist/completion/completion-fact-readers.d.ts.map +1 -0
  14. package/dist/completion/completion-fact-readers.js +70 -0
  15. package/dist/completion/completion-fact-readers.js.map +1 -0
  16. package/dist/completion/delivery-advancement-guard.d.ts +31 -16
  17. package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
  18. package/dist/completion/delivery-advancement-guard.js +22 -37
  19. package/dist/completion/delivery-advancement-guard.js.map +1 -1
  20. package/dist/completion/detector.d.ts.map +1 -1
  21. package/dist/completion/detector.js +3 -1
  22. package/dist/completion/detector.js.map +1 -1
  23. package/dist/completion/event-dep-defaults.d.ts +27 -0
  24. package/dist/completion/event-dep-defaults.d.ts.map +1 -0
  25. package/dist/completion/event-dep-defaults.js +30 -0
  26. package/dist/completion/event-dep-defaults.js.map +1 -0
  27. package/dist/completion/event-phases.d.ts +19 -8
  28. package/dist/completion/event-phases.d.ts.map +1 -1
  29. package/dist/completion/event-phases.js +72 -101
  30. package/dist/completion/event-phases.js.map +1 -1
  31. package/dist/completion/event.d.ts +44 -9
  32. package/dist/completion/event.d.ts.map +1 -1
  33. package/dist/completion/event.js +36 -27
  34. package/dist/completion/event.js.map +1 -1
  35. package/dist/completion/index.js +1 -1
  36. package/dist/completion/progress-snapshot.d.ts +13 -9
  37. package/dist/completion/progress-snapshot.d.ts.map +1 -1
  38. package/dist/completion/progress-snapshot.js +16 -13
  39. package/dist/completion/progress-snapshot.js.map +1 -1
  40. package/dist/completion/reengagement-redrive.d.ts +8 -1
  41. package/dist/completion/reengagement-redrive.d.ts.map +1 -1
  42. package/dist/completion/reengagement-redrive.js +16 -2
  43. package/dist/completion/reengagement-redrive.js.map +1 -1
  44. package/dist/completion/session-hold.d.ts +13 -1
  45. package/dist/completion/session-hold.d.ts.map +1 -1
  46. package/dist/completion/session-hold.js +18 -0
  47. package/dist/completion/session-hold.js.map +1 -1
  48. package/dist/completion/state-cascade.d.ts.map +1 -1
  49. package/dist/completion/state-cascade.js +11 -19
  50. package/dist/completion/state-cascade.js.map +1 -1
  51. package/dist/completion/team-phase.d.ts.map +1 -1
  52. package/dist/completion/team-phase.js +1 -0
  53. package/dist/completion/team-phase.js.map +1 -1
  54. package/dist/completion/team-progress-measure.d.ts +70 -0
  55. package/dist/completion/team-progress-measure.d.ts.map +1 -0
  56. package/dist/completion/team-progress-measure.js +285 -0
  57. package/dist/completion/team-progress-measure.js.map +1 -0
  58. package/dist/completion/team-stillness.d.ts +76 -0
  59. package/dist/completion/team-stillness.d.ts.map +1 -0
  60. package/dist/completion/team-stillness.js +96 -0
  61. package/dist/completion/team-stillness.js.map +1 -0
  62. package/dist/completion/unclaimed-migration-notice-phase.d.ts +97 -0
  63. package/dist/completion/unclaimed-migration-notice-phase.d.ts.map +1 -0
  64. package/dist/completion/unclaimed-migration-notice-phase.js +270 -0
  65. package/dist/completion/unclaimed-migration-notice-phase.js.map +1 -0
  66. package/dist/completion/worker-wait.d.ts +84 -0
  67. package/dist/completion/worker-wait.d.ts.map +1 -0
  68. package/dist/completion/worker-wait.js +89 -0
  69. package/dist/completion/worker-wait.js.map +1 -0
  70. package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
  71. package/dist/delivery/delivery-advance-block.js +1 -2
  72. package/dist/delivery/delivery-advance-block.js.map +1 -1
  73. package/dist/directive/directive-executor.d.ts.map +1 -1
  74. package/dist/directive/directive-executor.js +1 -20
  75. package/dist/directive/directive-executor.js.map +1 -1
  76. package/dist/focus/focus-executor.d.ts +1 -0
  77. package/dist/focus/focus-executor.d.ts.map +1 -1
  78. package/dist/focus/focus-executor.js +18 -17
  79. package/dist/focus/focus-executor.js.map +1 -1
  80. package/dist/focus/focus-lifecycle.d.ts.map +1 -1
  81. package/dist/focus/focus-lifecycle.js +7 -1
  82. package/dist/focus/focus-lifecycle.js.map +1 -1
  83. package/dist/focus/focus-team-state.js +1 -1
  84. package/dist/focus/focus-worktree-state.d.ts.map +1 -1
  85. package/dist/focus/focus-worktree-state.js +2 -1
  86. package/dist/focus/focus-worktree-state.js.map +1 -1
  87. package/dist/focus/listener-spawn.d.ts.map +1 -1
  88. package/dist/focus/listener-spawn.js +5 -20
  89. package/dist/focus/listener-spawn.js.map +1 -1
  90. package/dist/focus/listener-state.d.ts.map +1 -1
  91. package/dist/focus/listener-state.js +1 -0
  92. package/dist/focus/listener-state.js.map +1 -1
  93. package/dist/focus/listener.d.ts +1 -0
  94. package/dist/focus/listener.d.ts.map +1 -1
  95. package/dist/focus/listener.js +9 -0
  96. package/dist/focus/listener.js.map +1 -1
  97. package/dist/focus/migration-claim-pass.d.ts +50 -0
  98. package/dist/focus/migration-claim-pass.d.ts.map +1 -0
  99. package/dist/focus/migration-claim-pass.js +234 -0
  100. package/dist/focus/migration-claim-pass.js.map +1 -0
  101. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  102. package/dist/focus/pending-spawn-pass-deps.js +2 -1
  103. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  104. package/dist/focus/team-actionable-work.d.ts +21 -0
  105. package/dist/focus/team-actionable-work.d.ts.map +1 -1
  106. package/dist/focus/team-actionable-work.js +3 -0
  107. package/dist/focus/team-actionable-work.js.map +1 -1
  108. package/dist/git/focus-integration-sync.d.ts +42 -4
  109. package/dist/git/focus-integration-sync.d.ts.map +1 -1
  110. package/dist/git/focus-integration-sync.js +53 -9
  111. package/dist/git/focus-integration-sync.js.map +1 -1
  112. package/dist/git/types.d.ts.map +1 -1
  113. package/dist/git/types.js +4 -1
  114. package/dist/git/types.js.map +1 -1
  115. package/dist/loops/llm-client.d.ts.map +1 -1
  116. package/dist/loops/llm-client.js +11 -1
  117. package/dist/loops/llm-client.js.map +1 -1
  118. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  119. package/dist/merge/merge-back-loop.js +0 -1
  120. package/dist/merge/merge-back-loop.js.map +1 -1
  121. package/dist/migrations/migration-claim-lifecycle.d.ts +166 -0
  122. package/dist/migrations/migration-claim-lifecycle.d.ts.map +1 -0
  123. package/dist/migrations/migration-claim-lifecycle.js +198 -0
  124. package/dist/migrations/migration-claim-lifecycle.js.map +1 -0
  125. package/dist/migrations/migration-held-set.d.ts +171 -0
  126. package/dist/migrations/migration-held-set.d.ts.map +1 -0
  127. package/dist/migrations/migration-held-set.js +295 -0
  128. package/dist/migrations/migration-held-set.js.map +1 -0
  129. package/dist/migrations/migration-inventory.d.ts +187 -0
  130. package/dist/migrations/migration-inventory.d.ts.map +1 -0
  131. package/dist/migrations/migration-inventory.js +253 -0
  132. package/dist/migrations/migration-inventory.js.map +1 -0
  133. package/dist/migrations/migration-manifest.d.ts +114 -0
  134. package/dist/migrations/migration-manifest.d.ts.map +1 -0
  135. package/dist/migrations/migration-manifest.js +295 -0
  136. package/dist/migrations/migration-manifest.js.map +1 -0
  137. package/dist/prompt/team-prompt-base.js +1 -1
  138. package/dist/prompt-sections/migration-numbering-section.d.ts +58 -0
  139. package/dist/prompt-sections/migration-numbering-section.d.ts.map +1 -0
  140. package/dist/prompt-sections/migration-numbering-section.js +70 -0
  141. package/dist/prompt-sections/migration-numbering-section.js.map +1 -0
  142. package/dist/prompt-sections/migration-numbering-state.d.ts +30 -0
  143. package/dist/prompt-sections/migration-numbering-state.d.ts.map +1 -0
  144. package/dist/prompt-sections/migration-numbering-state.js +24 -0
  145. package/dist/prompt-sections/migration-numbering-state.js.map +1 -0
  146. package/dist/prompt-sections/unclaimed-migration-section.d.ts +38 -0
  147. package/dist/prompt-sections/unclaimed-migration-section.d.ts.map +1 -0
  148. package/dist/prompt-sections/unclaimed-migration-section.js +57 -0
  149. package/dist/prompt-sections/unclaimed-migration-section.js.map +1 -0
  150. package/dist/queries/claim-pass-focuses.d.ts +19 -0
  151. package/dist/queries/claim-pass-focuses.d.ts.map +1 -0
  152. package/dist/queries/claim-pass-focuses.js +72 -0
  153. package/dist/queries/claim-pass-focuses.js.map +1 -0
  154. package/dist/queries/daemon-connection.d.ts.map +1 -1
  155. package/dist/queries/daemon-connection.js +1 -0
  156. package/dist/queries/daemon-connection.js.map +1 -1
  157. package/dist/queries/deliveries.d.ts.map +1 -1
  158. package/dist/queries/deliveries.js +3 -1
  159. package/dist/queries/deliveries.js.map +1 -1
  160. package/dist/queries/delivery-gate-state.js +1 -1
  161. package/dist/queries/escalation-suppression.js +1 -1
  162. package/dist/queries/focus-discovery.d.ts +25 -2
  163. package/dist/queries/focus-discovery.d.ts.map +1 -1
  164. package/dist/queries/focus-discovery.js +16 -9
  165. package/dist/queries/focus-discovery.js.map +1 -1
  166. package/dist/queries/focus-integration-conflict.d.ts +7 -4
  167. package/dist/queries/focus-integration-conflict.d.ts.map +1 -1
  168. package/dist/queries/focus-integration-conflict.js +6 -3
  169. package/dist/queries/focus-integration-conflict.js.map +1 -1
  170. package/dist/queries/focus-unclaimed-migration.d.ts +146 -0
  171. package/dist/queries/focus-unclaimed-migration.d.ts.map +1 -0
  172. package/dist/queries/focus-unclaimed-migration.js +266 -0
  173. package/dist/queries/focus-unclaimed-migration.js.map +1 -0
  174. package/dist/queries/live-focus-branches.d.ts +32 -0
  175. package/dist/queries/live-focus-branches.d.ts.map +1 -0
  176. package/dist/queries/live-focus-branches.js +66 -0
  177. package/dist/queries/live-focus-branches.js.map +1 -0
  178. package/dist/queries/migration-claims.d.ts +25 -0
  179. package/dist/queries/migration-claims.d.ts.map +1 -0
  180. package/dist/queries/migration-claims.js +79 -0
  181. package/dist/queries/migration-claims.js.map +1 -0
  182. package/dist/queries/schemas.d.ts +17 -0
  183. package/dist/queries/schemas.d.ts.map +1 -1
  184. package/dist/queries/schemas.js +18 -1
  185. package/dist/queries/schemas.js.map +1 -1
  186. package/dist/queries/shared.js +1 -1
  187. package/dist/queries/shortfall-park-record.d.ts +6 -1
  188. package/dist/queries/shortfall-park-record.d.ts.map +1 -1
  189. package/dist/queries/shortfall-park-record.js.map +1 -1
  190. package/dist/queries/shortfall-rulings.d.ts +14 -2
  191. package/dist/queries/shortfall-rulings.d.ts.map +1 -1
  192. package/dist/queries/shortfall-rulings.js +17 -3
  193. package/dist/queries/shortfall-rulings.js.map +1 -1
  194. package/dist/queries/verification.js +1 -1
  195. package/dist/queries/verify-own-holds.d.ts.map +1 -1
  196. package/dist/queries/verify-own-holds.js +1 -0
  197. package/dist/queries/verify-own-holds.js.map +1 -1
  198. package/dist/session/session-lineage.d.ts.map +1 -1
  199. package/dist/session/session-lineage.js +3 -0
  200. package/dist/session/session-lineage.js.map +1 -1
  201. package/dist/shell/heartbeat-metadata.d.ts +48 -2
  202. package/dist/shell/heartbeat-metadata.d.ts.map +1 -1
  203. package/dist/shell/heartbeat-metadata.js +80 -3
  204. package/dist/shell/heartbeat-metadata.js.map +1 -1
  205. package/dist/shell/heartbeat.d.ts +13 -0
  206. package/dist/shell/heartbeat.d.ts.map +1 -1
  207. package/dist/shell/heartbeat.js +31 -10
  208. package/dist/shell/heartbeat.js.map +1 -1
  209. package/dist/shell/mcp-resolution.js +1 -1
  210. package/dist/shell/mcp-resolution.js.map +1 -1
  211. package/dist/shell/migration-held-set-publish.d.ts +170 -0
  212. package/dist/shell/migration-held-set-publish.d.ts.map +1 -0
  213. package/dist/shell/migration-held-set-publish.js +172 -0
  214. package/dist/shell/migration-held-set-publish.js.map +1 -0
  215. package/dist/shell/worker-pidfile.d.ts.map +1 -1
  216. package/dist/shell/worker-pidfile.js +1 -0
  217. package/dist/shell/worker-pidfile.js.map +1 -1
  218. package/dist/spawn/helpers.d.ts.map +1 -1
  219. package/dist/spawn/helpers.js +10 -1
  220. package/dist/spawn/helpers.js.map +1 -1
  221. package/dist/spawn/lead-continuation.d.ts +10 -2
  222. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  223. package/dist/spawn/lead-continuation.js +39 -22
  224. package/dist/spawn/lead-continuation.js.map +1 -1
  225. package/dist/spawn/lead-launch.d.ts.map +1 -1
  226. package/dist/spawn/lead-launch.js +1 -0
  227. package/dist/spawn/lead-launch.js.map +1 -1
  228. package/dist/spawn/lead-process-ownership.d.ts.map +1 -1
  229. package/dist/spawn/lead-process-ownership.js +1 -0
  230. package/dist/spawn/lead-process-ownership.js.map +1 -1
  231. package/dist/spawn/one-shot-model.d.ts.map +1 -1
  232. package/dist/spawn/one-shot-model.js +1 -0
  233. package/dist/spawn/one-shot-model.js.map +1 -1
  234. package/dist/spawn/process-group-kill.d.ts.map +1 -1
  235. package/dist/spawn/process-group-kill.js +1 -0
  236. package/dist/spawn/process-group-kill.js.map +1 -1
  237. package/dist/spawn/process-spawn.d.ts +18 -1
  238. package/dist/spawn/process-spawn.d.ts.map +1 -1
  239. package/dist/spawn/process-spawn.js +11 -6
  240. package/dist/spawn/process-spawn.js.map +1 -1
  241. package/dist/spawn/prompt-assembly.d.ts +115 -18
  242. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  243. package/dist/spawn/prompt-assembly.js +121 -2
  244. package/dist/spawn/prompt-assembly.js.map +1 -1
  245. package/dist/spawn/spawn-and-acknowledge.d.ts +61 -0
  246. package/dist/spawn/spawn-and-acknowledge.d.ts.map +1 -0
  247. package/dist/spawn/spawn-and-acknowledge.js +117 -0
  248. package/dist/spawn/spawn-and-acknowledge.js.map +1 -0
  249. package/dist/spawn/spawn-cooldown.js +1 -1
  250. package/dist/spawn/spawn-decision.d.ts +10 -10
  251. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  252. package/dist/spawn/spawn-decision.js +33 -5
  253. package/dist/spawn/spawn-decision.js.map +1 -1
  254. package/dist/spawn/worktree-session.d.ts.map +1 -1
  255. package/dist/spawn/worktree-session.js +11 -1
  256. package/dist/spawn/worktree-session.js.map +1 -1
  257. package/dist/templates/claude-md.d.ts +1 -1
  258. package/dist/templates/claude-md.d.ts.map +1 -1
  259. package/dist/templates/claude-md.js +24 -0
  260. package/dist/templates/claude-md.js.map +1 -1
  261. package/dist/testing/fixtures/conflicting-repo.d.ts +17 -0
  262. package/dist/testing/fixtures/conflicting-repo.d.ts.map +1 -1
  263. package/dist/testing/fixtures/conflicting-repo.js +31 -0
  264. package/dist/testing/fixtures/conflicting-repo.js.map +1 -1
  265. package/dist/testing/fixtures/index.d.ts.map +1 -1
  266. package/dist/testing/fixtures/index.js +1 -2
  267. package/dist/testing/fixtures/index.js.map +1 -1
  268. package/dist/testing/fixtures/migration-namespace-repo.d.ts +63 -0
  269. package/dist/testing/fixtures/migration-namespace-repo.d.ts.map +1 -0
  270. package/dist/testing/fixtures/migration-namespace-repo.js +164 -0
  271. package/dist/testing/fixtures/migration-namespace-repo.js.map +1 -0
  272. package/dist/testing/fixtures/stubborn-lead-process.d.ts.map +1 -1
  273. package/dist/testing/fixtures/stubborn-lead-process.js +1 -0
  274. package/dist/testing/fixtures/stubborn-lead-process.js.map +1 -1
  275. package/dist/types/focus.d.ts +59 -26
  276. package/dist/types/focus.d.ts.map +1 -1
  277. package/dist/types/index.js +1 -1
  278. package/dist/verify/commit-verdict-pull.d.ts +28 -3
  279. package/dist/verify/commit-verdict-pull.d.ts.map +1 -1
  280. package/dist/verify/commit-verdict-pull.js +160 -23
  281. package/dist/verify/commit-verdict-pull.js.map +1 -1
  282. package/dist/verify/credit-rearm.d.ts.map +1 -1
  283. package/dist/verify/credit-rearm.js +72 -17
  284. package/dist/verify/credit-rearm.js.map +1 -1
  285. package/dist/verify/default-on-guards.d.ts +54 -8
  286. package/dist/verify/default-on-guards.d.ts.map +1 -1
  287. package/dist/verify/default-on-guards.js +132 -17
  288. package/dist/verify/default-on-guards.js.map +1 -1
  289. package/dist/verify/explicit-rearm.d.ts.map +1 -1
  290. package/dist/verify/explicit-rearm.js +1 -0
  291. package/dist/verify/explicit-rearm.js.map +1 -1
  292. package/dist/verify/explicit-row-selection.d.ts +47 -0
  293. package/dist/verify/explicit-row-selection.d.ts.map +1 -0
  294. package/dist/verify/explicit-row-selection.js +37 -0
  295. package/dist/verify/explicit-row-selection.js.map +1 -0
  296. package/dist/verify/gate-run-registry.d.ts.map +1 -1
  297. package/dist/verify/gate-run-registry.js +2 -0
  298. package/dist/verify/gate-run-registry.js.map +1 -1
  299. package/dist/verify/no-own-delta-verdict.d.ts +16 -2
  300. package/dist/verify/no-own-delta-verdict.d.ts.map +1 -1
  301. package/dist/verify/no-own-delta-verdict.js +18 -2
  302. package/dist/verify/no-own-delta-verdict.js.map +1 -1
  303. package/dist/verify/parked-shortfall-reuse.d.ts +194 -0
  304. package/dist/verify/parked-shortfall-reuse.d.ts.map +1 -0
  305. package/dist/verify/parked-shortfall-reuse.js +310 -0
  306. package/dist/verify/parked-shortfall-reuse.js.map +1 -0
  307. package/dist/verify/reselection-log.d.ts +22 -0
  308. package/dist/verify/reselection-log.d.ts.map +1 -0
  309. package/dist/verify/reselection-log.js +87 -0
  310. package/dist/verify/reselection-log.js.map +1 -0
  311. package/dist/verify/shortfall-park.d.ts +8 -1
  312. package/dist/verify/shortfall-park.d.ts.map +1 -1
  313. package/dist/verify/shortfall-park.js +17 -3
  314. package/dist/verify/shortfall-park.js.map +1 -1
  315. package/dist/verify/shortfall-repeat.d.ts.map +1 -1
  316. package/dist/verify/shortfall-repeat.js +7 -2
  317. package/dist/verify/shortfall-repeat.js.map +1 -1
  318. package/dist/verify/shortfall-rulings.d.ts +93 -6
  319. package/dist/verify/shortfall-rulings.d.ts.map +1 -1
  320. package/dist/verify/shortfall-rulings.js +69 -12
  321. package/dist/verify/shortfall-rulings.js.map +1 -1
  322. package/dist/verify/stall-detector-config.d.ts.map +1 -1
  323. package/dist/verify/stall-detector-config.js +2 -1
  324. package/dist/verify/stall-detector-config.js.map +1 -1
  325. package/dist/verify/stall-detectors.d.ts +6 -4
  326. package/dist/verify/stall-detectors.d.ts.map +1 -1
  327. package/dist/verify/stall-detectors.js +9 -6
  328. package/dist/verify/stall-detectors.js.map +1 -1
  329. package/dist/verify/stalled-team-backstop.d.ts +8 -2
  330. package/dist/verify/stalled-team-backstop.d.ts.map +1 -1
  331. package/dist/verify/stalled-team-backstop.js +15 -11
  332. package/dist/verify/stalled-team-backstop.js.map +1 -1
  333. package/dist/verify/team-stall-reapers.d.ts +28 -0
  334. package/dist/verify/team-stall-reapers.d.ts.map +1 -0
  335. package/dist/verify/team-stall-reapers.js +23 -0
  336. package/dist/verify/team-stall-reapers.js.map +1 -0
  337. package/dist/verify/verification-attribution-deps.d.ts +1 -1
  338. package/dist/verify/verification-attribution-deps.d.ts.map +1 -1
  339. package/dist/verify/verification-attribution-deps.js +20 -1
  340. package/dist/verify/verification-attribution-deps.js.map +1 -1
  341. package/dist/verify/verification-boundary-env.d.ts.map +1 -1
  342. package/dist/verify/verification-boundary-env.js +23 -9
  343. package/dist/verify/verification-boundary-env.js.map +1 -1
  344. package/dist/verify/verification-checkout.d.ts +1 -1
  345. package/dist/verify/verification-checkout.d.ts.map +1 -1
  346. package/dist/verify/verification-checkout.js.map +1 -1
  347. package/dist/verify/verification-commit-sharing.d.ts.map +1 -1
  348. package/dist/verify/verification-commit-sharing.js +14 -3
  349. package/dist/verify/verification-commit-sharing.js.map +1 -1
  350. package/dist/verify/verification-config.d.ts.map +1 -1
  351. package/dist/verify/verification-config.js +1 -20
  352. package/dist/verify/verification-config.js.map +1 -1
  353. package/dist/verify/verification-default-on.d.ts +4 -1
  354. package/dist/verify/verification-default-on.d.ts.map +1 -1
  355. package/dist/verify/verification-default-on.js +29 -2
  356. package/dist/verify/verification-default-on.js.map +1 -1
  357. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  358. package/dist/verify/verification-deps-default.js +13 -0
  359. package/dist/verify/verification-deps-default.js.map +1 -1
  360. package/dist/verify/verification-deps.d.ts +38 -0
  361. package/dist/verify/verification-deps.d.ts.map +1 -1
  362. package/dist/verify/verification-deps.js +2 -1
  363. package/dist/verify/verification-deps.js.map +1 -1
  364. package/dist/verify/verification-engine.d.ts.map +1 -1
  365. package/dist/verify/verification-engine.js +44 -15
  366. package/dist/verify/verification-engine.js.map +1 -1
  367. package/dist/verify/verification-feedback.d.ts.map +1 -1
  368. package/dist/verify/verification-feedback.js +1 -19
  369. package/dist/verify/verification-feedback.js.map +1 -1
  370. package/dist/verify/verify-restatement.d.ts.map +1 -1
  371. package/dist/verify/verify-restatement.js +5 -1
  372. package/dist/verify/verify-restatement.js.map +1 -1
  373. package/dist/worktree/provision.d.ts.map +1 -1
  374. package/dist/worktree/provision.js +3 -1
  375. package/dist/worktree/provision.js.map +1 -1
  376. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
2
  // Pinned by: packages/daemon/src/verify/commit-verdict-pull.test.ts,
3
- // packages/daemon/src/verify/credit-rearm.test.ts, packages/daemon/src/verify/shortfall-rulings.test.ts,
3
+ // packages/daemon/src/verify/credit-rearm.test.ts, packages/daemon/src/verify/reselection-log.test.ts,
4
+ // packages/daemon/src/verify/shortfall-rulings.test.ts,
4
5
  // packages/daemon/src/verify/verification-default-on.test.ts,
5
6
  // packages/daemon/src/verify/verification-model-unavailable-hold.test.ts,
6
7
  // packages/daemon/src/verify/verification-run-config-source.test.ts,
@@ -29,9 +30,27 @@
29
30
  * The guards are the rule; the scan is the loop that asks them. A leaf: it reads
30
31
  * gate_state and logs, and imports nothing from the scan.
31
32
  *
33
+ * THE GUARDS ARE PRODUCT-SCOPED AT THE PRUNE. The maps below are module-level and
34
+ * keyed by delivery id alone, but the scan that prunes them runs once PER PRODUCT
35
+ * (verification-engine.ts runVerificationTick), and a scan of product B observes
36
+ * only B's deliveries. So an unscoped prune let B's scan conclude "no longer in
37
+ * verify" about A's deliveries -- which it cannot see and knows nothing about --
38
+ * wiping A's run marks and recorded passes on every tick. On mars (Telora beside
39
+ * other products) that re-selected a delivery parked in verify at an unchanged
40
+ * HEAD every ~60s for ~30 ticks, silently, because the prune logged nothing
41
+ * (incident 2026-09-24, delivery 8ae80225). The fix scopes the prune rather than
42
+ * accumulating one tick-wide observation, because scoping is what keeps the
43
+ * prune's MEANING true: each scan may only conclude something about the product
44
+ * it actually looked at. Each delivery's guards are therefore CLAIMED by the
45
+ * product whose scan observed it in verify, and only that product's scan may
46
+ * prune them; a scan naming no product claims the whole view, as a single-scope
47
+ * caller does. Every drop now names its path in the log
48
+ * (verify/reselection-log.ts), so the next silent re-selection is one grep away.
49
+ *
32
50
  * @module verify/default-on-guards
33
51
  */
34
52
  import { judgedFailedSha, readVerificationHistory } from '../queries/delivery-gate-state.js';
53
+ import { logReselection } from './reselection-log.js';
35
54
  import { createLogger } from '../shell/log.js';
36
55
  const log = createLogger({ module: 'verification' });
37
56
  /**
@@ -150,6 +169,21 @@ function forgetFailedSha(deliveryId, durableSha) {
150
169
  * proves wrong.
151
170
  */
152
171
  const passedAtSha = new Map();
172
+ /**
173
+ * delivery id -> the product whose scan owns its guards (the module header's
174
+ * scoping rule). Claimed by the scan that OBSERVES the delivery in verify, not by
175
+ * the dispatch that marks it: the claim and the prune are then two halves of the
176
+ * same read, so a prune can never be a conclusion about a delivery its own scan
177
+ * never looked for. An unclaimed entry is prunable by any scan -- it was recorded
178
+ * with no product claim (a direct caller, or a test), which is the single-view
179
+ * semantics this replaced.
180
+ */
181
+ const guardProduct = new Map();
182
+ /** Drop the product claim once neither guard holds the delivery. */
183
+ function forgetGuardProduct(deliveryId) {
184
+ if (!defaultOnRan.has(deliveryId) && !passedAtSha.has(deliveryId))
185
+ guardProduct.delete(deliveryId);
186
+ }
153
187
  const passSkipKey = (deliveryId, sha) => `${deliveryId}@${sha}#passed`;
154
188
  function forgetPassedSha(deliveryId) {
155
189
  const sha = passedAtSha.get(deliveryId);
@@ -163,6 +197,7 @@ export function __resetDefaultOnGuardForTests() {
163
197
  failedAtSha.clear();
164
198
  passedAtSha.clear();
165
199
  loggedShaSkips.clear();
200
+ guardProduct.clear();
166
201
  }
167
202
  /** Test-only: snapshot of the default-on re-run guard (delivery id -> the commit its dispatch judged). */
168
203
  export function __getDefaultOnGuardForTests() {
@@ -172,13 +207,41 @@ export function __getDefaultOnGuardForTests() {
172
207
  export function markDefaultOnRan(deliveryId) {
173
208
  defaultOnRan.set(deliveryId, null);
174
209
  }
210
+ /**
211
+ * The commit the delivery's run mark says its dispatch judged; null when there is
212
+ * no mark, the dispatch is in flight, or it named no commit -- all "unknown".
213
+ */
214
+ export function judgedShaOfRunMark(deliveryId) {
215
+ return defaultOnRan.get(deliveryId) ?? null;
216
+ }
217
+ /**
218
+ * Whether the delivery carries a run mark at all -- a dispatch was attempted
219
+ * since the mark was last dropped -- whatever commit (if any) it names.
220
+ */
221
+ export function hasDefaultOnRunMark(deliveryId) {
222
+ return defaultOnRan.has(deliveryId);
223
+ }
175
224
  /** Test-only alias for markDefaultOnRan. */
176
225
  export function __markDefaultOnRanForTests(deliveryId) {
177
226
  markDefaultOnRan(deliveryId);
178
227
  }
179
- /** Drop a delivery's run mark so the next tick selects it again (its dispatch rendered nothing it may keep). */
180
- export function releaseDefaultOnMark(deliveryId) {
181
- defaultOnRan.delete(deliveryId);
228
+ /**
229
+ * Drop a delivery's run mark so the next tick selects it again (its dispatch
230
+ * rendered nothing it may keep).
231
+ *
232
+ * `releasedBy` names the re-selection path for the log. A caller that passes one
233
+ * logs its OWN line at its own call site (where the reason is known), so this
234
+ * stays silent for it; a caller that names none gets the fallback
235
+ * 'run-mark-release' line. Either way nothing is logged when there was no mark to
236
+ * drop: a release that suppressed nothing re-selected nothing.
237
+ */
238
+ export function releaseDefaultOnMark(deliveryId, releasedBy) {
239
+ if (!defaultOnRan.delete(deliveryId))
240
+ return;
241
+ forgetGuardProduct(deliveryId);
242
+ if (releasedBy === undefined) {
243
+ logReselection('run-mark-release', deliveryId, 'its run mark was dropped, so the next default-on scan selects it again');
244
+ }
182
245
  }
183
246
  /**
184
247
  * Drop a delivery's recorded pass, so the pass guard no longer suppresses it.
@@ -202,10 +265,41 @@ export function forgetRecordedPass(deliveryId) {
202
265
  * forget any recorded pass;
203
266
  * - a pass -> forget any recorded failure and, at a known judged sha, remember
204
267
  * the pass so that commit is not re-verified either.
268
+ *
269
+ * A PASS DEMOTED TO 'failed' BY THE RECONCILIATION records neither: judgedFailedSha
270
+ * requires a non-zero gate exit and the gate exited 0, and the outcome is no longer
271
+ * 'passed'. That is deliberate and it is NOT a hole -- the run mark still carries
272
+ * the commit the run judged (the line above keeps it), so the delivery is not
273
+ * re-selected while a readable focus HEAD equals it, and a new commit re-arms it
274
+ * exactly once. Recording it as a failed sha instead would be wrong twice over: the
275
+ * gate did not fail, and failedAtSha is DURABLE (gate_state), so it would suppress
276
+ * the commit across a restart while the shortfall park -- which owns this state and
277
+ * is released by an operator ruling -- would have nothing to release. Pinned by
278
+ * verification-default-on.test.ts ("a pass demoted by a shortfall ...").
205
279
  */
206
280
  export function noteDefaultOnResult(deliveryId, result) {
207
281
  if (result.checkoutUnavailable || result.modelUnavailable) {
208
- defaultOnRan.delete(deliveryId);
282
+ // A parked delivery whose every fact is unchanged is re-selected by no path
283
+ // except a new ruling or a new commit, so the retry is DECLINED -- for BOTH
284
+ // un-marks: the next dispatch would re-derive exactly what the park already
285
+ // records. No wedge follows, and that is decided by STATE, not by path: a
286
+ // model-unavailable hold that LANDED on gate_state refuses the park
287
+ // (parked-shortfall-reuse.ts 'awaiting-model'), so parkHolds is false and the
288
+ // retry proceeds; parkHolds is true only where a real judgement on these same
289
+ // facts still stands and answers for the delivery.
290
+ if (result.parkHolds) {
291
+ const path = result.modelUnavailable ? 'model-unavailable-unmark' : 'checkout-unavailable-unmark';
292
+ logReselection(path, deliveryId, `DECLINED: ${result.modelUnavailable ? 'the reconciliation could not reach the model' : 'no checkout could be made'}, `
293
+ + 'but its shortfall park stands on an unchanged commit set and unchanged rulings, so a retry would re-derive '
294
+ + 'the same park; only a new ruling or a new commit re-selects it', 'park-declined');
295
+ return;
296
+ }
297
+ if (defaultOnRan.delete(deliveryId)) {
298
+ forgetGuardProduct(deliveryId);
299
+ logReselection(result.modelUnavailable ? 'model-unavailable-unmark' : 'checkout-unavailable-unmark', deliveryId, result.modelUnavailable
300
+ ? 'its reconciliation could not reach the model, so no verdict exists to guard; the next tick re-judges the same commit'
301
+ : 'no checkout could be made, or the verdict was discarded because dependencies moved mid-run; the next tick retries');
302
+ }
209
303
  return;
210
304
  }
211
305
  if (result.verifiedSha && defaultOnRan.has(deliveryId))
@@ -285,23 +379,44 @@ export function ranOnCurrentHead(deliveryId, readHead) {
285
379
  return false;
286
380
  }
287
381
  /**
288
- * Prune the guards of every delivery no longer observed in verify. The run mark
289
- * and the recorded PASS both go: a genuine verify_failed -> coding -> verify
290
- * re-entry is the ONLY thing that re-arms a passed delivery, so this sweep IS
291
- * that rule -- without it a delivery would keep a pass earned on the code before
292
- * its fix commits, which is the one way the narrowed rule could lower the bar.
382
+ * Prune the guards of every delivery THIS PRODUCT'S scan no longer observed in
383
+ * verify. The run mark and the recorded PASS both go: a genuine verify_failed ->
384
+ * coding -> verify re-entry is the ONLY thing that re-arms a passed delivery, so
385
+ * this sweep IS that rule -- without it a delivery would keep a pass earned on the
386
+ * code before its fix commits, which is the one way the narrowed rule could lower
387
+ * the bar.
388
+ *
389
+ * `productId` is the product the observation was taken over (config.productId of
390
+ * the scan's product-scoped config), and it BOUNDS the conclusion: an entry
391
+ * claimed by another product is left alone, because this scan never looked for it
392
+ * (module header, incident 2026-09-24). Pass `undefined` only from a caller whose
393
+ * single observation IS the whole view. Every observed id is claimed for
394
+ * `productId` here, so the claim and the prune come from one read.
293
395
  *
294
396
  * failedAtSha is deliberately NOT pruned: a recorded failure is durable in
295
397
  * gate_state and survives the round trip on purpose, unchanged.
296
398
  */
297
- export function pruneGuardsOutsideVerify(observedInVerify) {
298
- for (const id of [...defaultOnRan.keys()]) {
299
- if (!observedInVerify.has(id))
300
- defaultOnRan.delete(id);
399
+ export function pruneGuardsOutsideVerify(observedInVerify, productId) {
400
+ if (productId !== undefined) {
401
+ for (const id of observedInVerify)
402
+ guardProduct.set(id, productId);
301
403
  }
302
- for (const id of [...passedAtSha.keys()]) {
303
- if (!observedInVerify.has(id))
304
- forgetPassedSha(id);
404
+ // An entry another product's scan claimed is none of this scan's business.
405
+ const outOfScope = (id) => productId !== undefined && (guardProduct.get(id) ?? productId) !== productId;
406
+ for (const id of new Set([...defaultOnRan.keys(), ...passedAtSha.keys(), ...guardProduct.keys()])) {
407
+ if (observedInVerify.has(id) || outOfScope(id))
408
+ continue;
409
+ const dropped = [
410
+ ...(defaultOnRan.delete(id) ? ['its run mark'] : []),
411
+ ...(passedAtSha.has(id) ? ['its recorded pass'] : []),
412
+ ];
413
+ forgetPassedSha(id);
414
+ guardProduct.delete(id);
415
+ // A claim with no guard behind it suppressed nothing: forgetting it is bookkeeping, not a re-selection.
416
+ if (dropped.length === 0)
417
+ continue;
418
+ logReselection('run-mark-prune', id, `${dropped.join(' and ')} dropped -- the default-on scan of product `
419
+ + `${productId ?? 'the whole view'} no longer observed it in verify`);
305
420
  }
306
421
  }
307
422
  //# sourceMappingURL=default-on-guards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-on-guards.js","sourceRoot":"","sources":["../../src/verify/default-on-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-on-guards.js","sourceRoot":"","sources":["../../src/verify/default-on-guards.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explicit-rearm.d.ts","sourceRoot":"","sources":["../../src/verify/explicit-rearm.ts"],"names":[],"mappings":"AAwDA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAShE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC1D;AAwBD;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoDhC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAGzE;AAED,wDAAwD;AACxD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
1
+ {"version":3,"file":"explicit-rearm.d.ts","sourceRoot":"","sources":["../../src/verify/explicit-rearm.ts"],"names":[],"mappings":"AAyDA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAShE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC1D;AAwBD;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoDhC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAGzE;AAED,wDAAwD;AACxD,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
@@ -3,6 +3,7 @@
3
3
  // packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
4
4
  // packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
5
5
  // packages/daemon/src/integration/held-route-pull-dispatch.test.ts,
6
+ // packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
6
7
  // packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
7
8
  // packages/daemon/src/integration/shortfall-ruling-release.test.ts,
8
9
  // packages/daemon/src/verify/verification-commit-sharing.test.ts
@@ -1 +1 @@
1
- {"version":3,"file":"explicit-rearm.js","sourceRoot":"","sources":["../../src/verify/explicit-rearm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explicit-rearm.js","sourceRoot":"","sources":["../../src/verify/explicit-rearm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Which explicit-method rows a verification tick may dispatch.
3
+ *
4
+ * THE EDGE RE-LISTS a pending or failed explicit row EVERY TICK, and nothing on
5
+ * that path consults a run mark -- the default-on scan's guards do not cover it.
6
+ * So a parked explicit row was dispatched every ~60s at an unchanged HEAD
7
+ * forever, which is exactly the shape of the 2026-09-24 incident this focus
8
+ * exists to close (verify/shortfall-rulings.ts carries the full account and the
9
+ * closed list of paths that may re-select a parked delivery).
10
+ *
11
+ * A re-listing is neither a new ruling nor a new commit, so it is not one of the
12
+ * two things the declared rule lets re-select a parked delivery. A row whose
13
+ * shortfall park stands on an unchanged commit set and unchanged rulings is
14
+ * therefore DROPPED here, and says so in its own re-selection line -- a declined
15
+ * re-selection is as diagnosable from the log as a taken one.
16
+ *
17
+ * WHAT IS STILL DISPATCHED, unchanged: a row whose facts MOVED (a new commit, a
18
+ * new ruling) and a row any of whose facts is UNKNOWN. This only ever removes a
19
+ * dispatch it can PROVE is pointless; an unreadable gate_state, commit set or
20
+ * rulings read dispatches exactly as before. The park read costs one gate_state
21
+ * read per listed row and stops at "no park" for the ordinary case
22
+ * (verify/parked-shortfall-reuse.ts).
23
+ *
24
+ * ONE LINE PER RE-SELECTION, not per listing. A listing is not a re-selection:
25
+ * the edge lists the row every tick whether or not anything happens to it, and
26
+ * its dispatch starts nothing for a delivery that left verify meanwhile. What
27
+ * re-selects a delivery IN VERIFY is a dispatch that ROUTES a verdict for it, so
28
+ * that is where the line is written (noteRelistedDispatch, called by the tick
29
+ * after each dispatch) -- once per routed dispatch, never de-duplicated, so a row
30
+ * re-dispatched every tick writes a line every tick. A declined listing still
31
+ * writes its own line, de-duplicated per (outcome, last run): it re-selects
32
+ * nothing, and repeating it would say nothing new.
33
+ *
34
+ * @module verify/explicit-row-selection
35
+ */
36
+ import type { PendingVerification } from '../queries/verification.js';
37
+ import type { StrategyResult } from './verification-deterministic.js';
38
+ import { type ParkedShortfallReuseDeps } from './parked-shortfall-reuse.js';
39
+ export declare function selectDispatchableExplicitRows(pending: readonly PendingVerification[], deps: ParkedShortfallReuseDeps): Promise<PendingVerification[]>;
40
+ /**
41
+ * The re-selection line for a row the listing passed on: written when its
42
+ * dispatch ROUTED a verdict (the delivery was in verify and was judged again),
43
+ * once per dispatch. A dispatch that routed nothing re-selected nothing and
44
+ * writes nothing; a row that did not come from the listing is not this path's.
45
+ */
46
+ export declare function noteRelistedDispatch(row: PendingVerification, routed: StrategyResult | null): void;
47
+ //# sourceMappingURL=explicit-row-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explicit-row-selection.d.ts","sourceRoot":"","sources":["../../src/verify/explicit-row-selection.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAA6B,KAAK,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGvG,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAmBhC;AAKD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAQlG"}
@@ -0,0 +1,37 @@
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/explicit-row-selection.test.ts
3
+ // PINNED-BY-END
4
+ import { parkHoldsOnUnchangedFacts } from './parked-shortfall-reuse.js';
5
+ import { logReselection } from './reselection-log.js';
6
+ export async function selectDispatchableExplicitRows(pending, deps) {
7
+ const out = [];
8
+ for (const row of pending) {
9
+ const outcome = row.verificationOutcome ?? 'none';
10
+ const lastRun = row.verificationLastRunAt ?? 'never';
11
+ if (await parkHoldsOnUnchangedFacts(row, null, deps)) {
12
+ logReselection('pending-relisting', row.deliveryId, `DECLINED: the pending-verifications queue lists its explicit ${row.verificationMethod} row `
13
+ + `(outcome ${outcome}, last run ${lastRun}), but its shortfall park stands on an unchanged commit `
14
+ + 'set and unchanged rulings -- a re-listing is neither a new ruling nor a new commit, so it is not dispatched', `park-declined@${outcome}@${lastRun}`);
15
+ continue;
16
+ }
17
+ relisted.add(row);
18
+ out.push(row);
19
+ }
20
+ return out;
21
+ }
22
+ /** The rows this tick's listing passed on to dispatch (identity, so a re-armed copy of a row is not one). */
23
+ const relisted = new WeakSet();
24
+ /**
25
+ * The re-selection line for a row the listing passed on: written when its
26
+ * dispatch ROUTED a verdict (the delivery was in verify and was judged again),
27
+ * once per dispatch. A dispatch that routed nothing re-selected nothing and
28
+ * writes nothing; a row that did not come from the listing is not this path's.
29
+ */
30
+ export function noteRelistedDispatch(row, routed) {
31
+ if (!routed || !relisted.has(row))
32
+ return;
33
+ logReselection('pending-relisting', row.deliveryId, `the pending-verifications queue re-listed its explicit ${row.verificationMethod} row `
34
+ + `(outcome ${row.verificationOutcome ?? 'none'}, last run ${row.verificationLastRunAt ?? 'never'}) `
35
+ + `and its dispatch routed '${routed.outcome}'`);
36
+ }
37
+ //# sourceMappingURL=explicit-row-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explicit-row-selection.js","sourceRoot":"","sources":["../../src/verify/explicit-row-selection.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uEAAuE;AACvE,gBAAgB;AAwChB,OAAO,EAAE,yBAAyB,EAAiC,MAAM,6BAA6B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAuC,EACvC,IAA8B;IAE9B,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC;QACrD,IAAI,MAAM,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACrD,cAAc,CACZ,mBAAmB,EAAE,GAAG,CAAC,UAAU,EACnC,gEAAgE,GAAG,CAAC,kBAAkB,OAAO;kBAC3F,YAAY,OAAO,cAAc,OAAO,0DAA0D;kBAClG,6GAA6G,EAC/G,iBAAiB,OAAO,IAAI,OAAO,EAAE,CACtC,CAAC;YACF,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6GAA6G;AAC7G,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAwB,EAAE,MAA6B;IAC1F,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAC1C,cAAc,CACZ,mBAAmB,EAAE,GAAG,CAAC,UAAU,EACnC,0DAA0D,GAAG,CAAC,kBAAkB,OAAO;UACrF,YAAY,GAAG,CAAC,mBAAmB,IAAI,MAAM,cAAc,GAAG,CAAC,qBAAqB,IAAI,OAAO,IAAI;UACnG,4BAA4B,MAAM,CAAC,OAAO,GAAG,CAChD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate-run-registry.d.ts","sourceRoot":"","sources":["../../src/verify/gate-run-registry.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mGAAmG;IACnG,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAStD,sIAAsI;AACtI,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,uHAAuH;IACvH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,mBAAmB,CAShF;AAED,0HAA0H;AAC1H,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK9E;AAED,6HAA6H;AAC7H,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAKzI;AAKD,iHAAiH;AACjH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAExE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,6HAA6H;AAC7H,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvI;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,GAAG,SAAS,CAE1G;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB,GAAG,IAAI,CAI1G;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}
1
+ {"version":3,"file":"gate-run-registry.d.ts","sourceRoot":"","sources":["../../src/verify/gate-run-registry.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mGAAmG;IACnG,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAStD,sIAAsI;AACtI,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,uHAAuH;IACvH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,mBAAmB,CAShF;AAED,0HAA0H;AAC1H,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK9E;AAED,6HAA6H;AAC7H,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAKzI;AAKD,iHAAiH;AACjH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAExE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,6HAA6H;AAC7H,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvI;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,GAAG,SAAS,CAE1G;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB,GAAG,IAAI,CAI1G;AAED,iEAAiE;AACjE,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD"}
@@ -11,8 +11,10 @@
11
11
  // packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
12
12
  // packages/daemon/src/integration/held-route-pull-dispatch.test.ts,
13
13
  // packages/daemon/src/integration/review-rework-resume-verdict.test.ts,
14
+ // packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
14
15
  // packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
15
16
  // packages/daemon/src/integration/shortfall-ruling-release.test.ts,
17
+ // packages/daemon/src/verify/commit-verdict-pull.test.ts,
16
18
  // packages/daemon/src/verify/explicit-run-ledger.test.ts,
17
19
  // packages/daemon/src/verify/shortfall-rulings.test.ts,
18
20
  // packages/daemon/src/verify/verification-commit-sharing.test.ts
@@ -1 +1 @@
1
- {"version":3,"file":"gate-run-registry.js","sourceRoot":"","sources":["../../src/verify/gate-run-registry.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,4EAA4E;AAC5E,6DAA6D;AAC7D,6DAA6D;AAC7D,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,uFAAuF;AACvF,mFAAmF;AACnF,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,0EAA0E;AAC1E,4FAA4F;AAC5F,sEAAsE;AACtE,4DAA4D;AAC5D,0DAA0D;AAC1D,mEAAmE;AACnE,gBAAgB;AAwEhB,MAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;AAC5C,6HAA6H;AAC7H,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA0C,CAAC;AAE3E,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,SAA2B;IACzD,MAAM,GAAG,GAAgB,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACrG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,SAAS,CAAC,QAAQ;QAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO;QACL,GAAG,EAAE,GAAG,EAAE;YACR,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,0HAA0H;AAC1H,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,GAAW;IAC/D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU;YAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,GAAkB;IACnE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACpG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6HAA6H;AAC7H,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiD,EAAE,OAAgB;IACvG,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC3B,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAClH,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,4HAA4H;AAC5H,MAAM,cAAc,GAAG,IAAI,OAAO,EAAkB,CAAC;AAErD,iHAAiH;AACjH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,KAAa;IAChE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,6HAA6H;AAC7H,MAAM,UAAU,yBAAyB,CAAC,UAAkB,EAAE,MAAiD,EAAE,OAAgB;IAC/H,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAkB;IAC5D,OAAO,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,GAAkB;IAC5E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,QAAQ,CAAC,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,8BAA8B;IAC5C,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"gate-run-registry.js","sourceRoot":"","sources":["../../src/verify/gate-run-registry.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,23 @@
12
12
  * it exactly as on any recorded verdict -- its state follows from what its own
13
13
  * commits earned, and it is never stranded waiting on a run that must not happen.
14
14
  *
15
+ * Only a PASSING verdict is carried, and the asymmetry is the point. A pass is
16
+ * safe to carry: the focus added nothing, so it cannot have broken anything of
17
+ * its own. A failure is not, because the run that recorded it judged the whole
18
+ * tip -- every foreign commit since the focus's own work included -- so the
19
+ * failure may be a sibling's, and the very foreign commits being carried over
20
+ * may already have FIXED it. Carrying it anyway leaves no path back to green:
21
+ * each later foreign-only tip carries the same stale failure and no run is ever
22
+ * dispatched. Measured on focus 406cfd99, 2026-09-23/24: a run at 2f322c040
23
+ * failed on one foreign test; ea29a7949 -- the sibling commit that FIXES that
24
+ * test -- carried the failure, and e2c2d8985 carried it again, while the stage
25
+ * was green (1578 passed, 0 failed) at both.
26
+ *
15
27
  * Anything short of proof -- an own or unattributed commit since the judged
16
- * ancestor, no judged ancestor within the search depth, an unreadable read --
17
- * carries nothing, and the dispatch runs the gate as before.
28
+ * ancestor, a judged ancestor that did not pass, no judged ancestor within the
29
+ * search depth, an unreadable read -- carries nothing, and the dispatch runs the
30
+ * gate as before. That is the same posture git/focus-own-delta.ts takes on a read
31
+ * it cannot make: fail toward judging, never toward asserting a state unproven.
18
32
  *
19
33
  * @module verify/no-own-delta-verdict
20
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"no-own-delta-verdict.d.ts","sourceRoot":"","sources":["../../src/verify/no-own-delta-verdict.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAExG;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,MAAwB,CAAC;AAElE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxD,qEAAqE;IACrE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACtE,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACxD;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA+BhC"}
1
+ {"version":3,"file":"no-own-delta-verdict.d.ts","sourceRoot":"","sources":["../../src/verify/no-own-delta-verdict.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAExG;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,MAAwB,CAAC;AAElE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxD,qEAAqE;IACrE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACtE,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACxD;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAgChC"}
@@ -16,9 +16,23 @@
16
16
  * it exactly as on any recorded verdict -- its state follows from what its own
17
17
  * commits earned, and it is never stranded waiting on a run that must not happen.
18
18
  *
19
+ * Only a PASSING verdict is carried, and the asymmetry is the point. A pass is
20
+ * safe to carry: the focus added nothing, so it cannot have broken anything of
21
+ * its own. A failure is not, because the run that recorded it judged the whole
22
+ * tip -- every foreign commit since the focus's own work included -- so the
23
+ * failure may be a sibling's, and the very foreign commits being carried over
24
+ * may already have FIXED it. Carrying it anyway leaves no path back to green:
25
+ * each later foreign-only tip carries the same stale failure and no run is ever
26
+ * dispatched. Measured on focus 406cfd99, 2026-09-23/24: a run at 2f322c040
27
+ * failed on one foreign test; ea29a7949 -- the sibling commit that FIXES that
28
+ * test -- carried the failure, and e2c2d8985 carried it again, while the stage
29
+ * was green (1578 passed, 0 failed) at both.
30
+ *
19
31
  * Anything short of proof -- an own or unattributed commit since the judged
20
- * ancestor, no judged ancestor within the search depth, an unreadable read --
21
- * carries nothing, and the dispatch runs the gate as before.
32
+ * ancestor, a judged ancestor that did not pass, no judged ancestor within the
33
+ * search depth, an unreadable read -- carries nothing, and the dispatch runs the
34
+ * gate as before. That is the same posture git/focus-own-delta.ts takes on a read
35
+ * it cannot make: fail toward judging, never toward asserting a state unproven.
22
36
  *
23
37
  * @module verify/no-own-delta-verdict
24
38
  */
@@ -46,6 +60,8 @@ export async function resolveCarriedVerdict(productId, focusId, head, gate, deps
46
60
  if (!found)
47
61
  return null;
48
62
  const { sha: judged, verdict: recorded } = found;
63
+ if (recorded.outcome !== 'passed')
64
+ return null;
49
65
  let ids;
50
66
  try {
51
67
  ids = await deps.listFocusDeliveryIds(focusId);
@@ -1 +1 @@
1
- {"version":3,"file":"no-own-delta-verdict.js","sourceRoot":"","sources":["../../src/verify/no-own-delta-verdict.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8FAA8F;AAC9F,mEAAmE;AACnE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAuB,MAAM,sBAAsB,CAAC;AAGtG;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAqBlE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,OAAe,EACf,IAAY,EACZ,IAAuB,EACvB,IAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;QAC/D,YAAY;QACZ,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjD,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,CACzE,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CACjE,CAAC;IACF,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,UAAU,GAAG,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,iEAAiE;UAClH,kDAAkD,CAAC;IACvD,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE;YACP,GAAG,QAAQ;YACX,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,UAAU;SACpF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"no-own-delta-verdict.js","sourceRoot":"","sources":["../../src/verify/no-own-delta-verdict.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8FAA8F;AAC9F,mEAAmE;AACnE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAuB,MAAM,sBAAsB,CAAC;AAGtG;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAqBlE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,OAAe,EACf,IAAY,EACZ,IAAuB,EACvB,IAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;QAC/D,YAAY;QACZ,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjD,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,sBAAsB,CAAC,CACzE,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CACjE,CAAC;IACF,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,UAAU,GAAG,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,iEAAiE;UAClH,kDAAkD,CAAC;IACvD,OAAO;QACL,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE;YACP,GAAG,QAAQ;YACX,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,UAAU;SACpF;KACF,CAAC;AACJ,CAAC"}