@telora/daemon 0.22.104 → 0.22.132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/commit-verdict-release.d.ts +49 -0
  3. package/dist/completion/commit-verdict-release.d.ts.map +1 -0
  4. package/dist/completion/commit-verdict-release.js +240 -0
  5. package/dist/completion/commit-verdict-release.js.map +1 -0
  6. package/dist/completion/completion-phase-registry.d.ts +10 -4
  7. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  8. package/dist/completion/completion-phase-registry.js +19 -7
  9. package/dist/completion/completion-phase-registry.js.map +1 -1
  10. package/dist/completion/detector.d.ts.map +1 -1
  11. package/dist/completion/detector.js +1 -0
  12. package/dist/completion/detector.js.map +1 -1
  13. package/dist/completion/event-entry-phases.d.ts +6 -3
  14. package/dist/completion/event-entry-phases.d.ts.map +1 -1
  15. package/dist/completion/event-entry-phases.js +135 -76
  16. package/dist/completion/event-entry-phases.js.map +1 -1
  17. package/dist/completion/event-phases.d.ts +24 -3
  18. package/dist/completion/event-phases.d.ts.map +1 -1
  19. package/dist/completion/event-phases.js +9 -9
  20. package/dist/completion/event-phases.js.map +1 -1
  21. package/dist/completion/event.d.ts +8 -0
  22. package/dist/completion/event.d.ts.map +1 -1
  23. package/dist/completion/event.js +47 -21
  24. package/dist/completion/event.js.map +1 -1
  25. package/dist/completion/exit-classification.d.ts.map +1 -1
  26. package/dist/completion/exit-classification.js +1 -0
  27. package/dist/completion/exit-classification.js.map +1 -1
  28. package/dist/completion/merge-phase.d.ts +21 -9
  29. package/dist/completion/merge-phase.d.ts.map +1 -1
  30. package/dist/completion/merge-phase.js +35 -10
  31. package/dist/completion/merge-phase.js.map +1 -1
  32. package/dist/completion/review-auto-approval-record.d.ts +19 -0
  33. package/dist/completion/review-auto-approval-record.d.ts.map +1 -0
  34. package/dist/completion/review-auto-approval-record.js +102 -0
  35. package/dist/completion/review-auto-approval-record.js.map +1 -0
  36. package/dist/completion/review-cycle-cap.d.ts +62 -0
  37. package/dist/completion/review-cycle-cap.d.ts.map +1 -0
  38. package/dist/completion/review-cycle-cap.js +180 -0
  39. package/dist/completion/review-cycle-cap.js.map +1 -0
  40. package/dist/completion/review-exit-deps.d.ts +17 -2
  41. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  42. package/dist/completion/review-exit-deps.js +19 -2
  43. package/dist/completion/review-exit-deps.js.map +1 -1
  44. package/dist/completion/review-exit-escalations.d.ts +45 -23
  45. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  46. package/dist/completion/review-exit-escalations.js +15 -74
  47. package/dist/completion/review-exit-escalations.js.map +1 -1
  48. package/dist/completion/review-exit-evidence.d.ts +9 -0
  49. package/dist/completion/review-exit-evidence.d.ts.map +1 -1
  50. package/dist/completion/review-exit-evidence.js +4 -1
  51. package/dist/completion/review-exit-evidence.js.map +1 -1
  52. package/dist/completion/review-exit-foreign-findings.d.ts +151 -0
  53. package/dist/completion/review-exit-foreign-findings.d.ts.map +1 -0
  54. package/dist/completion/review-exit-foreign-findings.js +474 -0
  55. package/dist/completion/review-exit-foreign-findings.js.map +1 -0
  56. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  57. package/dist/completion/review-exit-phase.js +71 -64
  58. package/dist/completion/review-exit-phase.js.map +1 -1
  59. package/dist/completion/review-exit-progress.d.ts +20 -0
  60. package/dist/completion/review-exit-progress.d.ts.map +1 -1
  61. package/dist/completion/review-exit-progress.js +28 -19
  62. package/dist/completion/review-exit-progress.js.map +1 -1
  63. package/dist/completion/review-exit-rehoming.d.ts +5 -0
  64. package/dist/completion/review-exit-rehoming.d.ts.map +1 -1
  65. package/dist/completion/review-exit-rehoming.js.map +1 -1
  66. package/dist/completion/review-exit-verdict-gate.d.ts +202 -0
  67. package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -0
  68. package/dist/completion/review-exit-verdict-gate.js +228 -0
  69. package/dist/completion/review-exit-verdict-gate.js.map +1 -0
  70. package/dist/completion/review-next-step.d.ts +62 -0
  71. package/dist/completion/review-next-step.d.ts.map +1 -0
  72. package/dist/completion/review-next-step.js +63 -0
  73. package/dist/completion/review-next-step.js.map +1 -0
  74. package/dist/completion/session-hold-sweep-deps.d.ts +17 -0
  75. package/dist/completion/session-hold-sweep-deps.d.ts.map +1 -0
  76. package/dist/completion/session-hold-sweep-deps.js +89 -0
  77. package/dist/completion/session-hold-sweep-deps.js.map +1 -0
  78. package/dist/completion/session-hold.d.ts +180 -0
  79. package/dist/completion/session-hold.d.ts.map +1 -0
  80. package/dist/completion/session-hold.js +238 -0
  81. package/dist/completion/session-hold.js.map +1 -0
  82. package/dist/completion/state-cascade.d.ts +19 -0
  83. package/dist/completion/state-cascade.d.ts.map +1 -1
  84. package/dist/completion/state-cascade.js +85 -31
  85. package/dist/completion/state-cascade.js.map +1 -1
  86. package/dist/completion/team-lifecycle.d.ts +35 -2
  87. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  88. package/dist/completion/team-lifecycle.js +165 -94
  89. package/dist/completion/team-lifecycle.js.map +1 -1
  90. package/dist/completion/team-phase.d.ts +27 -15
  91. package/dist/completion/team-phase.d.ts.map +1 -1
  92. package/dist/completion/team-phase.js +34 -15
  93. package/dist/completion/team-phase.js.map +1 -1
  94. package/dist/delivery/commit-verdict-hold.d.ts +55 -0
  95. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -0
  96. package/dist/delivery/commit-verdict-hold.js +118 -0
  97. package/dist/delivery/commit-verdict-hold.js.map +1 -0
  98. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  99. package/dist/directive/directive-dispatch.js +10 -3
  100. package/dist/directive/directive-dispatch.js.map +1 -1
  101. package/dist/directive/directive-executor.d.ts.map +1 -1
  102. package/dist/directive/directive-executor.js +1 -0
  103. package/dist/directive/directive-executor.js.map +1 -1
  104. package/dist/directive/directive-queue.d.ts.map +1 -1
  105. package/dist/directive/directive-queue.js +6 -1
  106. package/dist/directive/directive-queue.js.map +1 -1
  107. package/dist/directive/phase-sync.d.ts +29 -2
  108. package/dist/directive/phase-sync.d.ts.map +1 -1
  109. package/dist/directive/phase-sync.js +30 -6
  110. package/dist/directive/phase-sync.js.map +1 -1
  111. package/dist/drift/artifact-ref-shape.d.ts +34 -0
  112. package/dist/drift/artifact-ref-shape.d.ts.map +1 -0
  113. package/dist/drift/artifact-ref-shape.js +94 -0
  114. package/dist/drift/artifact-ref-shape.js.map +1 -0
  115. package/dist/drift/drift-eval-loop.d.ts +7 -0
  116. package/dist/drift/drift-eval-loop.d.ts.map +1 -1
  117. package/dist/drift/drift-eval-loop.js +34 -5
  118. package/dist/drift/drift-eval-loop.js.map +1 -1
  119. package/dist/drift/drift-evaluator.d.ts.map +1 -1
  120. package/dist/drift/drift-evaluator.js +8 -3
  121. package/dist/drift/drift-evaluator.js.map +1 -1
  122. package/dist/focus/awaiting-slot.d.ts +34 -0
  123. package/dist/focus/awaiting-slot.d.ts.map +1 -0
  124. package/dist/focus/awaiting-slot.js +26 -0
  125. package/dist/focus/awaiting-slot.js.map +1 -0
  126. package/dist/focus/focus-lifecycle.js +2 -2
  127. package/dist/focus/focus-lifecycle.js.map +1 -1
  128. package/dist/focus/focus-phase.d.ts.map +1 -1
  129. package/dist/focus/focus-phase.js +3 -1
  130. package/dist/focus/focus-phase.js.map +1 -1
  131. package/dist/focus/focus-spawn-decision.d.ts +62 -0
  132. package/dist/focus/focus-spawn-decision.d.ts.map +1 -0
  133. package/dist/focus/focus-spawn-decision.js +41 -0
  134. package/dist/focus/focus-spawn-decision.js.map +1 -0
  135. package/dist/focus/focus-team-state.d.ts.map +1 -1
  136. package/dist/focus/focus-team-state.js +1 -13
  137. package/dist/focus/focus-team-state.js.map +1 -1
  138. package/dist/focus/listener-spawn.d.ts +16 -55
  139. package/dist/focus/listener-spawn.d.ts.map +1 -1
  140. package/dist/focus/listener-spawn.js +102 -64
  141. package/dist/focus/listener-spawn.js.map +1 -1
  142. package/dist/focus/listener-state.d.ts.map +1 -1
  143. package/dist/focus/listener-state.js +4 -1
  144. package/dist/focus/listener-state.js.map +1 -1
  145. package/dist/focus/listener.d.ts +41 -2
  146. package/dist/focus/listener.d.ts.map +1 -1
  147. package/dist/focus/listener.js +135 -83
  148. package/dist/focus/listener.js.map +1 -1
  149. package/dist/focus/pending-spawn-pass-deps.d.ts +69 -0
  150. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -0
  151. package/dist/focus/pending-spawn-pass-deps.js +34 -0
  152. package/dist/focus/pending-spawn-pass-deps.js.map +1 -0
  153. package/dist/focus/pending-spawn-review-next-step.d.ts +83 -0
  154. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -0
  155. package/dist/focus/pending-spawn-review-next-step.js +325 -0
  156. package/dist/focus/pending-spawn-review-next-step.js.map +1 -0
  157. package/dist/focus/review-cycle-cap-hold.d.ts +132 -0
  158. package/dist/focus/review-cycle-cap-hold.d.ts.map +1 -0
  159. package/dist/focus/review-cycle-cap-hold.js +178 -0
  160. package/dist/focus/review-cycle-cap-hold.js.map +1 -0
  161. package/dist/focus/team-actionable-work.js +2 -2
  162. package/dist/focus/verify-open-issues.d.ts +22 -0
  163. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  164. package/dist/focus/verify-open-issues.js +118 -57
  165. package/dist/focus/verify-open-issues.js.map +1 -1
  166. package/dist/focus/verify-routing-passes.d.ts +32 -0
  167. package/dist/focus/verify-routing-passes.d.ts.map +1 -0
  168. package/dist/focus/verify-routing-passes.js +18 -0
  169. package/dist/focus/verify-routing-passes.js.map +1 -0
  170. package/dist/git/index.d.ts.map +1 -1
  171. package/dist/git/index.js +9 -5
  172. package/dist/git/index.js.map +1 -1
  173. package/dist/merge/focus-merge.d.ts +16 -2
  174. package/dist/merge/focus-merge.d.ts.map +1 -1
  175. package/dist/merge/focus-merge.js +53 -30
  176. package/dist/merge/focus-merge.js.map +1 -1
  177. package/dist/merge/merge-back-loop.d.ts +5 -0
  178. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  179. package/dist/merge/merge-back-loop.js +17 -8
  180. package/dist/merge/merge-back-loop.js.map +1 -1
  181. package/dist/merge/merge-gate-coverage.d.ts +94 -0
  182. package/dist/merge/merge-gate-coverage.d.ts.map +1 -0
  183. package/dist/merge/merge-gate-coverage.js +217 -0
  184. package/dist/merge/merge-gate-coverage.js.map +1 -0
  185. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  186. package/dist/prompt/focus-prompt-builder.js +6 -0
  187. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  188. package/dist/prompt/prompt-listing.d.ts.map +1 -1
  189. package/dist/prompt/prompt-listing.js +8 -0
  190. package/dist/prompt/prompt-listing.js.map +1 -1
  191. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  192. package/dist/prompt/team-prompt-base.js +5 -1
  193. package/dist/prompt/team-prompt-base.js.map +1 -1
  194. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  195. package/dist/prompt-sections/execution-sections.js +14 -39
  196. package/dist/prompt-sections/execution-sections.js.map +1 -1
  197. package/dist/prompt-sections/gate-ownership.d.ts +36 -0
  198. package/dist/prompt-sections/gate-ownership.d.ts.map +1 -0
  199. package/dist/prompt-sections/gate-ownership.js +68 -0
  200. package/dist/prompt-sections/gate-ownership.js.map +1 -0
  201. package/dist/prompt-sections/gate-verdict-section.d.ts +58 -0
  202. package/dist/prompt-sections/gate-verdict-section.d.ts.map +1 -0
  203. package/dist/prompt-sections/gate-verdict-section.js +88 -0
  204. package/dist/prompt-sections/gate-verdict-section.js.map +1 -0
  205. package/dist/prompt-sections/persona-sections.d.ts +10 -0
  206. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  207. package/dist/prompt-sections/persona-sections.js +35 -11
  208. package/dist/prompt-sections/persona-sections.js.map +1 -1
  209. package/dist/prompt-sections/shared.js +1 -1
  210. package/dist/prompt-sections/shared.js.map +1 -1
  211. package/dist/queries/agent-resolvable-promotion.d.ts +6 -3
  212. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  213. package/dist/queries/agent-resolvable-promotion.js +20 -9
  214. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  215. package/dist/queries/deliveries.d.ts +46 -4
  216. package/dist/queries/deliveries.d.ts.map +1 -1
  217. package/dist/queries/deliveries.js +69 -16
  218. package/dist/queries/deliveries.js.map +1 -1
  219. package/dist/queries/delivery-gate-state.d.ts +151 -1
  220. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  221. package/dist/queries/delivery-gate-state.js +95 -14
  222. package/dist/queries/delivery-gate-state.js.map +1 -1
  223. package/dist/queries/delivery-write-discipline.d.ts +65 -0
  224. package/dist/queries/delivery-write-discipline.d.ts.map +1 -0
  225. package/dist/queries/delivery-write-discipline.js +101 -0
  226. package/dist/queries/delivery-write-discipline.js.map +1 -0
  227. package/dist/queries/escalation-consumption.d.ts +11 -0
  228. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  229. package/dist/queries/escalation-consumption.js +22 -0
  230. package/dist/queries/escalation-consumption.js.map +1 -1
  231. package/dist/queries/escalation-spool.d.ts +75 -0
  232. package/dist/queries/escalation-spool.d.ts.map +1 -0
  233. package/dist/queries/escalation-spool.js +232 -0
  234. package/dist/queries/escalation-spool.js.map +1 -0
  235. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  236. package/dist/queries/escalation-suppression.js +2 -0
  237. package/dist/queries/escalation-suppression.js.map +1 -1
  238. package/dist/queries/escalations.js +1 -1
  239. package/dist/queries/filing-observation.d.ts.map +1 -1
  240. package/dist/queries/filing-observation.js +2 -0
  241. package/dist/queries/filing-observation.js.map +1 -1
  242. package/dist/queries/focus-discovery.d.ts +4 -4
  243. package/dist/queries/focus-discovery.d.ts.map +1 -1
  244. package/dist/queries/focus-discovery.js +1 -0
  245. package/dist/queries/focus-discovery.js.map +1 -1
  246. package/dist/queries/focus-review-approval.d.ts +84 -0
  247. package/dist/queries/focus-review-approval.d.ts.map +1 -0
  248. package/dist/queries/focus-review-approval.js +158 -0
  249. package/dist/queries/focus-review-approval.js.map +1 -0
  250. package/dist/queries/focuses.d.ts +6 -5
  251. package/dist/queries/focuses.d.ts.map +1 -1
  252. package/dist/queries/focuses.js +9 -5
  253. package/dist/queries/focuses.js.map +1 -1
  254. package/dist/queries/incident-correlation.d.ts +5 -4
  255. package/dist/queries/incident-correlation.d.ts.map +1 -1
  256. package/dist/queries/incident-correlation.js +11 -5
  257. package/dist/queries/incident-correlation.js.map +1 -1
  258. package/dist/queries/issues.d.ts.map +1 -1
  259. package/dist/queries/issues.js +2 -1
  260. package/dist/queries/issues.js.map +1 -1
  261. package/dist/queries/loop-refusal-observation.d.ts +64 -0
  262. package/dist/queries/loop-refusal-observation.d.ts.map +1 -0
  263. package/dist/queries/loop-refusal-observation.js +137 -0
  264. package/dist/queries/loop-refusal-observation.js.map +1 -0
  265. package/dist/queries/schemas.d.ts +9 -0
  266. package/dist/queries/schemas.d.ts.map +1 -1
  267. package/dist/queries/schemas.js +11 -3
  268. package/dist/queries/schemas.js.map +1 -1
  269. package/dist/queries/shared.js +1 -1
  270. package/dist/queries/verification.d.ts.map +1 -1
  271. package/dist/queries/verification.js +1 -15
  272. package/dist/queries/verification.js.map +1 -1
  273. package/dist/queries/wire-contract.generated.d.ts +3 -0
  274. package/dist/queries/wire-contract.generated.d.ts.map +1 -1
  275. package/dist/queries/wire-contract.generated.js +3 -0
  276. package/dist/queries/wire-contract.generated.js.map +1 -1
  277. package/dist/resolvers/assembly-engine.d.ts.map +1 -1
  278. package/dist/resolvers/assembly-engine.js +3 -1
  279. package/dist/resolvers/assembly-engine.js.map +1 -1
  280. package/dist/resolvers/git-diff-against-base.d.ts +5 -2
  281. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  282. package/dist/resolvers/git-diff-against-base.js +121 -39
  283. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  284. package/dist/resolvers/shared/git-diff.d.ts +2 -0
  285. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  286. package/dist/resolvers/shared/git-diff.js +5 -1
  287. package/dist/resolvers/shared/git-diff.js.map +1 -1
  288. package/dist/resolvers/shared/review-window-commits.d.ts +96 -0
  289. package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -0
  290. package/dist/resolvers/shared/review-window-commits.js +262 -0
  291. package/dist/resolvers/shared/review-window-commits.js.map +1 -0
  292. package/dist/session/session-lineage.d.ts.map +1 -1
  293. package/dist/session/session-lineage.js +4 -1
  294. package/dist/session/session-lineage.js.map +1 -1
  295. package/dist/shell/fail-stop.d.ts +18 -0
  296. package/dist/shell/fail-stop.d.ts.map +1 -0
  297. package/dist/shell/fail-stop.js +53 -0
  298. package/dist/shell/fail-stop.js.map +1 -0
  299. package/dist/shell/graceful-shutdown.d.ts +48 -0
  300. package/dist/shell/graceful-shutdown.d.ts.map +1 -0
  301. package/dist/shell/graceful-shutdown.js +152 -0
  302. package/dist/shell/graceful-shutdown.js.map +1 -0
  303. package/dist/shell/heartbeat.d.ts.map +1 -1
  304. package/dist/shell/heartbeat.js +5 -4
  305. package/dist/shell/heartbeat.js.map +1 -1
  306. package/dist/shell/log.d.ts.map +1 -1
  307. package/dist/shell/log.js +4 -1
  308. package/dist/shell/log.js.map +1 -1
  309. package/dist/shell/stop-request.d.ts.map +1 -1
  310. package/dist/shell/stop-request.js +2 -1
  311. package/dist/shell/stop-request.js.map +1 -1
  312. package/dist/shell/unified-shell.d.ts.map +1 -1
  313. package/dist/shell/unified-shell.js +41 -114
  314. package/dist/shell/unified-shell.js.map +1 -1
  315. package/dist/spawn/lifecycle.d.ts +12 -0
  316. package/dist/spawn/lifecycle.d.ts.map +1 -1
  317. package/dist/spawn/lifecycle.js +25 -21
  318. package/dist/spawn/lifecycle.js.map +1 -1
  319. package/dist/spawn/prompt-assembly.d.ts +19 -1
  320. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  321. package/dist/spawn/prompt-assembly.js +70 -21
  322. package/dist/spawn/prompt-assembly.js.map +1 -1
  323. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  324. package/dist/spawn/review-hold-park.js +18 -8
  325. package/dist/spawn/review-hold-park.js.map +1 -1
  326. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  327. package/dist/spawn/spawn-cooldown.js +4 -0
  328. package/dist/spawn/spawn-cooldown.js.map +1 -1
  329. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  330. package/dist/spawn/spawn-decision.js +2 -1
  331. package/dist/spawn/spawn-decision.js.map +1 -1
  332. package/dist/spawn/worktree-session.d.ts +6 -0
  333. package/dist/spawn/worktree-session.d.ts.map +1 -1
  334. package/dist/spawn/worktree-session.js +15 -2
  335. package/dist/spawn/worktree-session.js.map +1 -1
  336. package/dist/testing/fixtures/index.d.ts +10 -1
  337. package/dist/testing/fixtures/index.d.ts.map +1 -1
  338. package/dist/testing/fixtures/index.js +59 -1
  339. package/dist/testing/fixtures/index.js.map +1 -1
  340. package/dist/testing/fixtures/pending-spawn-world.d.ts +34 -0
  341. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -0
  342. package/dist/testing/fixtures/pending-spawn-world.js +92 -0
  343. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -0
  344. package/dist/types/index.js +1 -1
  345. package/dist/verify/commit-gate-configured.d.ts +86 -0
  346. package/dist/verify/commit-gate-configured.d.ts.map +1 -0
  347. package/dist/verify/commit-gate-configured.js +234 -0
  348. package/dist/verify/commit-gate-configured.js.map +1 -0
  349. package/dist/verify/commit-verdict-record.d.ts +98 -0
  350. package/dist/verify/commit-verdict-record.d.ts.map +1 -0
  351. package/dist/verify/commit-verdict-record.js +297 -0
  352. package/dist/verify/commit-verdict-record.js.map +1 -0
  353. package/dist/verify/explicit-gate-outcome.d.ts +161 -0
  354. package/dist/verify/explicit-gate-outcome.d.ts.map +1 -0
  355. package/dist/verify/explicit-gate-outcome.js +215 -0
  356. package/dist/verify/explicit-gate-outcome.js.map +1 -0
  357. package/dist/verify/explicit-rearm.d.ts +27 -0
  358. package/dist/verify/explicit-rearm.d.ts.map +1 -0
  359. package/dist/verify/explicit-rearm.js +161 -0
  360. package/dist/verify/explicit-rearm.js.map +1 -0
  361. package/dist/verify/explicit-run-ledger.d.ts +26 -0
  362. package/dist/verify/explicit-run-ledger.d.ts.map +1 -0
  363. package/dist/verify/explicit-run-ledger.js +93 -0
  364. package/dist/verify/explicit-run-ledger.js.map +1 -0
  365. package/dist/verify/failure-signature.d.ts.map +1 -1
  366. package/dist/verify/failure-signature.js +5 -1
  367. package/dist/verify/failure-signature.js.map +1 -1
  368. package/dist/verify/gate-run-registry.d.ts +105 -0
  369. package/dist/verify/gate-run-registry.d.ts.map +1 -0
  370. package/dist/verify/gate-run-registry.js +111 -0
  371. package/dist/verify/gate-run-registry.js.map +1 -0
  372. package/dist/verify/gate-verdict-source.d.ts +68 -0
  373. package/dist/verify/gate-verdict-source.d.ts.map +1 -0
  374. package/dist/verify/gate-verdict-source.js +143 -0
  375. package/dist/verify/gate-verdict-source.js.map +1 -0
  376. package/dist/verify/judged-commit-gate.d.ts +11 -0
  377. package/dist/verify/judged-commit-gate.d.ts.map +1 -0
  378. package/dist/verify/judged-commit-gate.js +48 -0
  379. package/dist/verify/judged-commit-gate.js.map +1 -0
  380. package/dist/verify/rework-judgment.d.ts +58 -0
  381. package/dist/verify/rework-judgment.d.ts.map +1 -0
  382. package/dist/verify/rework-judgment.js +54 -0
  383. package/dist/verify/rework-judgment.js.map +1 -0
  384. package/dist/verify/verification-attribution.d.ts +105 -0
  385. package/dist/verify/verification-attribution.d.ts.map +1 -0
  386. package/dist/verify/verification-attribution.js +322 -0
  387. package/dist/verify/verification-attribution.js.map +1 -0
  388. package/dist/verify/verification-baseline-run.d.ts +123 -0
  389. package/dist/verify/verification-baseline-run.d.ts.map +1 -0
  390. package/dist/verify/verification-baseline-run.js +386 -0
  391. package/dist/verify/verification-baseline-run.js.map +1 -0
  392. package/dist/verify/verification-baseline.d.ts +79 -33
  393. package/dist/verify/verification-baseline.d.ts.map +1 -1
  394. package/dist/verify/verification-baseline.js +99 -106
  395. package/dist/verify/verification-baseline.js.map +1 -1
  396. package/dist/verify/verification-checkout.d.ts +13 -0
  397. package/dist/verify/verification-checkout.d.ts.map +1 -1
  398. package/dist/verify/verification-checkout.js +39 -2
  399. package/dist/verify/verification-checkout.js.map +1 -1
  400. package/dist/verify/verification-commit-sharing.d.ts +84 -0
  401. package/dist/verify/verification-commit-sharing.d.ts.map +1 -0
  402. package/dist/verify/verification-commit-sharing.js +416 -0
  403. package/dist/verify/verification-commit-sharing.js.map +1 -0
  404. package/dist/verify/verification-config.d.ts.map +1 -1
  405. package/dist/verify/verification-config.js +12 -2
  406. package/dist/verify/verification-config.js.map +1 -1
  407. package/dist/verify/verification-default-on.d.ts +27 -11
  408. package/dist/verify/verification-default-on.d.ts.map +1 -1
  409. package/dist/verify/verification-default-on.js +159 -29
  410. package/dist/verify/verification-default-on.js.map +1 -1
  411. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  412. package/dist/verify/verification-deps-default.js +49 -42
  413. package/dist/verify/verification-deps-default.js.map +1 -1
  414. package/dist/verify/verification-deps.d.ts +69 -4
  415. package/dist/verify/verification-deps.d.ts.map +1 -1
  416. package/dist/verify/verification-deterministic.d.ts +15 -2
  417. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  418. package/dist/verify/verification-deterministic.js +12 -3
  419. package/dist/verify/verification-deterministic.js.map +1 -1
  420. package/dist/verify/verification-diagnostics.d.ts +16 -0
  421. package/dist/verify/verification-diagnostics.d.ts.map +1 -0
  422. package/dist/verify/verification-diagnostics.js +219 -0
  423. package/dist/verify/verification-diagnostics.js.map +1 -0
  424. package/dist/verify/verification-engine.d.ts +12 -8
  425. package/dist/verify/verification-engine.d.ts.map +1 -1
  426. package/dist/verify/verification-engine.js +110 -92
  427. package/dist/verify/verification-engine.js.map +1 -1
  428. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
  429. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  430. package/dist/verify/verification-evidence-unavailable-feedback.js +14 -4
  431. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  432. package/dist/verify/verification-failure-parser.d.ts +37 -3
  433. package/dist/verify/verification-failure-parser.d.ts.map +1 -1
  434. package/dist/verify/verification-failure-parser.js +66 -3
  435. package/dist/verify/verification-failure-parser.js.map +1 -1
  436. package/dist/verify/verification-feedback.d.ts +21 -34
  437. package/dist/verify/verification-feedback.d.ts.map +1 -1
  438. package/dist/verify/verification-feedback.js +37 -88
  439. package/dist/verify/verification-feedback.js.map +1 -1
  440. package/dist/verify/verification-gate-stages.d.ts +110 -0
  441. package/dist/verify/verification-gate-stages.d.ts.map +1 -0
  442. package/dist/verify/verification-gate-stages.js +179 -0
  443. package/dist/verify/verification-gate-stages.js.map +1 -0
  444. package/dist/verify/verification-history-reset.d.ts +61 -0
  445. package/dist/verify/verification-history-reset.d.ts.map +1 -0
  446. package/dist/verify/verification-history-reset.js +90 -0
  447. package/dist/verify/verification-history-reset.js.map +1 -0
  448. package/dist/verify/verification-manifest.d.ts.map +1 -1
  449. package/dist/verify/verification-manifest.js +2 -1
  450. package/dist/verify/verification-manifest.js.map +1 -1
  451. package/dist/verify/verification-rework-messages.d.ts +19 -0
  452. package/dist/verify/verification-rework-messages.d.ts.map +1 -0
  453. package/dist/verify/verification-rework-messages.js +52 -0
  454. package/dist/verify/verification-rework-messages.js.map +1 -0
  455. package/dist/worktree/install-inputs.d.ts +89 -0
  456. package/dist/worktree/install-inputs.d.ts.map +1 -0
  457. package/dist/worktree/install-inputs.js +625 -0
  458. package/dist/worktree/install-inputs.js.map +1 -0
  459. package/dist/worktree/install-script-effects.d.ts +30 -0
  460. package/dist/worktree/install-script-effects.d.ts.map +1 -0
  461. package/dist/worktree/install-script-effects.js +524 -0
  462. package/dist/worktree/install-script-effects.js.map +1 -0
  463. package/dist/worktree/install-script-tokens.d.ts +57 -0
  464. package/dist/worktree/install-script-tokens.d.ts.map +1 -0
  465. package/dist/worktree/install-script-tokens.js +299 -0
  466. package/dist/worktree/install-script-tokens.js.map +1 -0
  467. package/dist/worktree/provision.d.ts +27 -4
  468. package/dist/worktree/provision.d.ts.map +1 -1
  469. package/dist/worktree/provision.js +46 -7
  470. package/dist/worktree/provision.js.map +1 -1
  471. package/dist/worktree/safety.d.ts +11 -0
  472. package/dist/worktree/safety.d.ts.map +1 -1
  473. package/dist/worktree/safety.js +20 -3
  474. package/dist/worktree/safety.js.map +1 -1
  475. package/dist/worktree/verify-interlock.d.ts.map +1 -1
  476. package/dist/worktree/verify-interlock.js +3 -1
  477. package/dist/worktree/verify-interlock.js.map +1 -1
  478. package/dist/worktree/worktree-package-provisioning.d.ts +75 -0
  479. package/dist/worktree/worktree-package-provisioning.d.ts.map +1 -0
  480. package/dist/worktree/worktree-package-provisioning.js +362 -0
  481. package/dist/worktree/worktree-package-provisioning.js.map +1 -0
  482. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-attribution.js","sourceRoot":"","sources":["../../src/verify/verification-attribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { type VerifyCheckout } from './verification-checkout.js';
2
+ import { type WorktreeProvisioningStatus } from '../worktree/worktree-package-provisioning.js';
3
+ /**
4
+ * A base run's output and how it ended. A runner that returns only the output
5
+ * string reports no exit status, so its stage outcomes are unknown: stage reds
6
+ * are then never demoted, while failing-test ids still parse.
7
+ */
8
+ export interface BaselineRunOutput {
9
+ output: string;
10
+ exitCode: number | null;
11
+ timedOut: boolean;
12
+ }
13
+ /** One red stage the base measured. */
14
+ export interface BaseStageRed {
15
+ stage: string;
16
+ /** The failing-test ids of the run that ended at this red. */
17
+ failingTests: string[];
18
+ /** The red's diagnostic signatures (a multiset, sorted). */
19
+ diagnostics: string[];
20
+ }
21
+ /** What the base did, stage by stage, across the gate run and its continuations. */
22
+ export interface BaseStageRecord {
23
+ /** Stages that ran green, in the order they finished. */
24
+ ran: string[];
25
+ /** Every red stage, in order. */
26
+ failed: BaseStageRed[];
27
+ /** Stages the base never ran: after a red the measurement could not continue past. */
28
+ notRun: string[];
29
+ }
30
+ /** What one base measurement recorded: its failing-test ids and its stage outcomes. */
31
+ export interface BaselineRecord {
32
+ failingTests: string[];
33
+ /** Null when the base gate run's log vouched for no stage outcomes (it then demotes no stage red). */
34
+ stages: BaseStageRecord | null;
35
+ }
36
+ /** No base evidence could be taken this time: never a verdict, never cached. */
37
+ export interface BaselineUnavailable {
38
+ unavailable: string;
39
+ /**
40
+ * Set when the base can never be measured comparably with the installs at hand
41
+ * (the focus changed its dependency install inputs -- module doc): retrying
42
+ * would refuse the same way, so nothing is demoted and every HEAD red is
43
+ * charged rather than deferred.
44
+ */
45
+ incomparable?: true;
46
+ }
47
+ /** A base checkout the measurement runs commands in. */
48
+ export interface BaselineCheckout {
49
+ /** Run one command (the gate, then each continuation) in the checkout. */
50
+ run: (command: string) => Promise<BaselineRunOutput | string>;
51
+ /** The checkout's absolute path, stripped from diagnostics. */
52
+ path?: string;
53
+ /** True when an install moved the linked dependency trees since the checkout was made. */
54
+ dependenciesMoved?: () => boolean;
55
+ dispose?: () => void;
56
+ }
57
+ export type BaselineOpenResult = BaselineCheckout | BaselineUnavailable;
58
+ export declare const isBaselineUnavailable: (value: object) => value is BaselineUnavailable;
59
+ /**
60
+ * Measure the base in `checkout` (module doc): the gate, then a continuation after
61
+ * each red until the chain completes or cannot be continued. A killed gate run
62
+ * vouches for no stages -- the last stage it started was cut off, not failed.
63
+ */
64
+ export declare function measureBaseline(checkout: BaselineCheckout, gateCommand: string): Promise<BaselineRecord>;
65
+ /**
66
+ * Validate a base stage record read back from a cache file: the record, null when
67
+ * the entry recorded that the base yielded none, or undefined when the value is
68
+ * not a record of this format (an old-format entry with a single `failedStage`
69
+ * and no diagnostics, or a corrupt one -- a cache miss).
70
+ */
71
+ export declare function readBaseStages(value: unknown): BaseStageRecord | null | undefined;
72
+ /** Git result slice the parity read uses (structural over runGitSync). */
73
+ type GitRun = (args: string[], cwd: string) => {
74
+ success: boolean;
75
+ output: string;
76
+ error?: string;
77
+ };
78
+ /**
79
+ * Whether the focus worktree's installs stand for the base's: yes, no (naming what
80
+ * changed, and why each input the install-input model could not follow counts as
81
+ * a change), or unknown.
82
+ */
83
+ export type DependencyParity = {
84
+ comparable: true;
85
+ } | {
86
+ comparable: false;
87
+ changed: string[];
88
+ unresolvable?: string[];
89
+ } | {
90
+ unreadable: string;
91
+ };
92
+ /** Reads a tracked file's content at a commit; throws when git cannot. */
93
+ export type CommitFileReader = (worktreePath: string, sha: string, path: string) => string;
94
+ /**
95
+ * Compare every tracked install input between `baseSha` and the focus worktree's
96
+ * working tree -- what its installs were provisioned from (module doc). A manifest
97
+ * added or removed since the base is a change; one modified on both sides is a
98
+ * change unless its install intent is equal (unparseable on either side is a
99
+ * change). Every file an install consumes is compared byte for byte, and an input
100
+ * the install-input model cannot follow is a change. Unreadable when git cannot
101
+ * list or read them.
102
+ */
103
+ export declare function readBaseDependencyParity(focusWorktreePath: string, baseSha: string, runGit?: GitRun, readAtCommit?: CommitFileReader): DependencyParity;
104
+ /** Spawn `sh -c command` in cwd and capture the FULL combined stdout+stderr and how it ended. */
105
+ export declare function runShellCapture(command: string, cwd: string, timeoutMs: number): Promise<BaselineRunOutput>;
106
+ /** Seams of the default base checkout (tests inject provisioning, dependency parity and the runner). */
107
+ export interface BaselineCheckoutSeams {
108
+ readWorktreeProvisioning?: (focusWorktreePath: string) => WorktreeProvisioningStatus;
109
+ readDependencyParity?: (focusWorktreePath: string, baseSha: string) => DependencyParity;
110
+ createCheckout?: (focusWorktreePath: string, checkoutKey: string, sha: string) => VerifyCheckout | null;
111
+ runCommand?: (command: string, cwd: string, timeoutMs: number) => Promise<BaselineRunOutput>;
112
+ acquireHold?: (worktreePath: string) => () => void;
113
+ }
114
+ /**
115
+ * The real base checkout (module doc): refused unless the focus worktree is
116
+ * provisioned and its install inputs match the base's; made off the focus
117
+ * worktree pinned to the base sha, its dependencies mirrored from the focus
118
+ * worktree; held against installs until disposed. `checkoutKey` names the
119
+ * directory (one per judged delivery, so two verifies never share it).
120
+ */
121
+ export declare function buildDefaultOpenBaseline(focusWorktreePath: string, checkoutKey: string, timeoutMs: number, seams?: BaselineCheckoutSeams): (baseSha: string) => BaselineOpenResult;
122
+ export {};
123
+ //# sourceMappingURL=verification-baseline-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-baseline-run.d.ts","sourceRoot":"","sources":["../../src/verify/verification-baseline-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,386 @@
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/focus-commit-verdict-scenario.test.ts,
3
+ // packages/daemon/src/verify/verification-attribution.test.ts,
4
+ // packages/daemon/src/verify/verification-baseline-run.test.ts
5
+ // PINNED-BY-END
6
+ /**
7
+ * Measuring the focus base: a provisioned detached checkout at the base sha, the
8
+ * gate run there, and every red stage past the first measured too.
9
+ *
10
+ * Extracted from verification-baseline.ts, which owns the cache and the
11
+ * attribution orchestration; this module owns what one base measurement IS.
12
+ *
13
+ * The checkout carries the SAME readiness contract as the HEAD run
14
+ * (verify/verification-checkout.ts). A fresh `git worktree add` has no installed
15
+ * dependencies, and a nested package (packages/daemon, mcp/telora-products)
16
+ * resolves its node_modules only from its own ignored directory -- so a bare base
17
+ * checkout could not load eslint-import-resolver-typescript or tsx, and "base
18
+ * evidence" measured the checkout, not the base commit. The base checkout is
19
+ * therefore made off the PROVISIONED focus worktree (readWorktreeProvisioning
20
+ * must say ready), pinned to the base sha, with the focus worktree's node_modules
21
+ * mirrored in exactly as the HEAD checkout mirrors them, under a verify hold on
22
+ * the focus worktree so no install starts mid-run. An unready worktree, a
23
+ * checkout or mirror that cannot be made, a run that throws, or an install that
24
+ * moved the linked packages mid-run is EVIDENCE UNAVAILABLE: never a baseline
25
+ * verdict, never cached (the caller defers, and the next tick measures again).
26
+ *
27
+ * Dependency parity. Those mirrored installs were installed from the FOCUS
28
+ * worktree's lockfiles, so they stand for the base's only while the focus has
29
+ * not changed what an install reads. Were it measured anyway, a red the focus's
30
+ * own dependency change causes (a bumped tool version, a new resolver) would
31
+ * reproduce on base source under the focus's installs and be demoted as
32
+ * pre-existing. So before any checkout is made, every tracked install input
33
+ * (package-lock.json, npm-shrinkwrap.json, package.json, .npmrc, binding.gyp --
34
+ * at any depth, none under node_modules) is compared between the base sha and the
35
+ * focus worktree ({@link readBaseDependencyParity}), as install INTENT: a lockfile
36
+ * without the package's own name and version (a version bump installs nothing
37
+ * new, and this repo bumps a package version with most changes), a package.json's
38
+ * install-shaping fields and the lifecycle scripts an install RUNS (a
39
+ * `postinstall` and its kin write into the very node_modules the base borrows, so
40
+ * a red their side effects cause reproduces on base source too -- every other
41
+ * script is source, which the checkout pins to the base), an .npmrc or
42
+ * binding.gyp byte for byte. A lifecycle command's STRING is not the whole input,
43
+ * though: an unchanged `postinstall: node scripts/patch.cjs` whose script changed
44
+ * installs differently (TEL-9). So every file an install CONSUMES -- the scripts
45
+ * its lifecycle commands run and what they load, a native addon's sources -- is
46
+ * compared too, byte for byte, read from the install-input model the
47
+ * provisioning fingerprint reads (worktree/install-inputs.ts), on both the base
48
+ * and the focus worktree; a command the model cannot follow is a change. When
49
+ * they differ the base is INCOMPARABLE with the installs at hand. Retrying cannot change that for this base and worktree,
50
+ * so it is not deferred as missing evidence (which would re-run the gate every
51
+ * tick, forever): it is refused with `incomparable` set, never cached, demotes
52
+ * nothing, and every HEAD red is charged to the delivery
53
+ * (verify/verification-attribution.ts). A parity that cannot be READ (git fails)
54
+ * is plain evidence unavailable.
55
+ *
56
+ * Every red, not just the first. A gate run stops at its first red, so a base
57
+ * record of only that stage reads every later stage as "never ran on the base"
58
+ * -- and a head that inherits two reds would be charged for the second. The
59
+ * measurement runs the never-run stages as a CONTINUATION in the same checkout
60
+ * after each red, until the chain completes or a stage cannot be run (a
61
+ * continuation that times out or whose log vouches for nothing), recording each
62
+ * red's stage, failing-test ids and diagnostic signatures
63
+ * (verify/verification-diagnostics.ts). A stage that never ran on the base stays
64
+ * in `notRun`: never a pass, never pre-existing. All of it is one measurement per
65
+ * (base sha, gate), cached once.
66
+ *
67
+ * @module verify/verification-baseline-run
68
+ */
69
+ import { execFileSync, spawn } from 'node:child_process';
70
+ import { readFileSync } from 'node:fs';
71
+ import { basename, join } from 'node:path';
72
+ import { parseFailingTests } from './verification-failure-parser.js';
73
+ import { MAX_STAGE_ROUNDS, continuationCommand, hasStageToContinue, parseContinuationStages, parseGateRunStages, } from './verification-gate-stages.js';
74
+ import { diagnosticSignatures } from './verification-diagnostics.js';
75
+ import { createPinnedVerifyCheckout } from './verification-checkout.js';
76
+ import { readWorktreeProvisioning } from '../worktree/worktree-package-provisioning.js';
77
+ import { acquireVerifyHold } from '../worktree/verify-interlock.js';
78
+ import { INSTALL_LIFECYCLE_SCRIPTS, listInstallRoots, readInstallInputs, readWorktreeInstallTree, trackedInstallTree, } from '../worktree/install-inputs.js';
79
+ import { runGitSync } from '../git/exec.js';
80
+ export const isBaselineUnavailable = (value) => 'unavailable' in value;
81
+ const asRunOutput = (run) => (typeof run === 'string' ? { output: run, exitCode: null, timedOut: false } : run);
82
+ function redOf(stage, run, output, roots) {
83
+ return {
84
+ stage,
85
+ failingTests: [...parseFailingTests(output)].sort(),
86
+ diagnostics: diagnosticSignatures(run.failedStageOutput, roots),
87
+ };
88
+ }
89
+ /**
90
+ * Measure the base in `checkout` (module doc): the gate, then a continuation after
91
+ * each red until the chain completes or cannot be continued. A killed gate run
92
+ * vouches for no stages -- the last stage it started was cut off, not failed.
93
+ */
94
+ export async function measureBaseline(checkout, gateCommand) {
95
+ const first = asRunOutput(await checkout.run(gateCommand));
96
+ const failing = new Set(parseFailingTests(first.output));
97
+ const parsed = first.timedOut ? null : parseGateRunStages(first.output, first.exitCode, gateCommand);
98
+ if (!parsed)
99
+ return { failingTests: [...failing].sort(), stages: null };
100
+ const roots = checkout.path ? [checkout.path] : [];
101
+ const stages = { ran: [...parsed.ran], failed: [], notRun: [...parsed.notRun] };
102
+ let run = parsed;
103
+ let output = first.output;
104
+ for (let round = 1; run.failedStage !== null; round++) {
105
+ stages.failed.push(redOf(run.failedStage, run, output, roots));
106
+ if (!hasStageToContinue(run) || round >= MAX_STAGE_ROUNDS)
107
+ break;
108
+ const next = asRunOutput(await checkout.run(continuationCommand(run.continuation)));
109
+ for (const id of parseFailingTests(next.output))
110
+ failing.add(id);
111
+ const continued = next.timedOut
112
+ ? null
113
+ : parseContinuationStages(next.output, next.exitCode, run.continuation, run.package);
114
+ if (!continued)
115
+ break; // the stages after this red stay "did not run"
116
+ stages.ran.push(...continued.ran);
117
+ stages.notRun = [...continued.notRun];
118
+ output = next.output;
119
+ run = continued;
120
+ }
121
+ return { failingTests: [...failing].sort(), stages };
122
+ }
123
+ const isStringArray = (value) => Array.isArray(value) && value.every((item) => typeof item === 'string');
124
+ function readRed(value) {
125
+ if (value === null || typeof value !== 'object')
126
+ return undefined;
127
+ const { stage, failingTests, diagnostics } = value;
128
+ if (typeof stage !== 'string' || !isStringArray(failingTests) || !isStringArray(diagnostics))
129
+ return undefined;
130
+ return { stage, failingTests: [...failingTests], diagnostics: [...diagnostics] };
131
+ }
132
+ /**
133
+ * Validate a base stage record read back from a cache file: the record, null when
134
+ * the entry recorded that the base yielded none, or undefined when the value is
135
+ * not a record of this format (an old-format entry with a single `failedStage`
136
+ * and no diagnostics, or a corrupt one -- a cache miss).
137
+ */
138
+ export function readBaseStages(value) {
139
+ if (value === null)
140
+ return null;
141
+ if (typeof value !== 'object')
142
+ return undefined;
143
+ const { ran, failed, notRun } = value;
144
+ if (!isStringArray(ran) || !isStringArray(notRun) || !Array.isArray(failed))
145
+ return undefined;
146
+ const reds = failed.map(readRed);
147
+ if (reds.some((red) => red === undefined))
148
+ return undefined;
149
+ return { ran: [...ran], failed: reds, notRun: [...notRun] };
150
+ }
151
+ /** The tracked files an install reads, at any depth, none under a node_modules segment. */
152
+ const INSTALL_INPUT_PATHSPECS = [
153
+ ':(glob)**/package-lock.json',
154
+ ':(glob)**/npm-shrinkwrap.json',
155
+ ':(glob)**/package.json',
156
+ ':(glob)**/.npmrc',
157
+ ':(glob)**/binding.gyp',
158
+ ':(exclude,glob)**/node_modules/**',
159
+ ];
160
+ /** The install inputs compared byte for byte (the rest are JSON, compared as intent). */
161
+ const BYTE_FOR_BYTE_INPUTS = new Set(['.npmrc', 'binding.gyp']);
162
+ /**
163
+ * The package.json fields that decide what an install puts in node_modules: the
164
+ * dependency fields; `bin` (and `directories.bin`, which npm reads as `bin`),
165
+ * because a workspace's or linked package's bins are linked into node_modules/.bin;
166
+ * `gypfile`, which switches the implicit `node-gyp rebuild` install npm gives a
167
+ * package with a binding.gyp; and `packageManager`, which picks the installer a
168
+ * corepack shim runs (another npm can lay out another tree from the same
169
+ * lockfile). Left out: fields that decide only WHETHER an install proceeds, never
170
+ * what it installs -- `engines`/`devEngines` (a mismatch warns, or fails under
171
+ * engine-strict, itself an .npmrc input) and `os`/`cpu`/`libc` (a mismatch fails
172
+ * a non-optional package). A change to one leaves either an unprovisioned
173
+ * worktree, which is never measured, or the same tree.
174
+ */
175
+ const MANIFEST_INSTALL_FIELDS = [
176
+ 'dependencies', 'devDependencies', 'optionalDependencies', 'peerDependencies', 'peerDependenciesMeta',
177
+ 'bundleDependencies', 'bundledDependencies', 'overrides', 'workspaces', 'bin', 'gypfile', 'packageManager',
178
+ ];
179
+ /** `git show <sha>:<path>`, with room for a whole lockfile (runGitSync's buffer is not sized for one). */
180
+ const readCommitFile = (worktreePath, sha, path) => execFileSync('git', ['show', `${sha}:${path}`], {
181
+ cwd: worktreePath,
182
+ encoding: 'utf8',
183
+ maxBuffer: 256 * 1024 * 1024,
184
+ timeout: 60_000,
185
+ stdio: ['ignore', 'pipe', 'pipe'],
186
+ });
187
+ const isPlainObject = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
188
+ /** An object without the package's own identity (name, version); anything else unchanged. */
189
+ function withoutIdentity(value) {
190
+ if (!isPlainObject(value))
191
+ return value;
192
+ const copy = { ...value };
193
+ delete copy.name;
194
+ delete copy.version;
195
+ return copy;
196
+ }
197
+ /**
198
+ * What a package.json asks an install for: its install fields and install
199
+ * lifecycle scripts, or null when `scripts` or `directories` is not an object
200
+ * (not a manifest the projection can read, so a change).
201
+ */
202
+ function manifestIntent(manifest) {
203
+ const { scripts = {}, directories = {} } = manifest;
204
+ if (!isPlainObject(scripts) || !isPlainObject(directories))
205
+ return null;
206
+ return JSON.stringify([
207
+ ...MANIFEST_INSTALL_FIELDS.map((field) => [field, manifest[field] ?? null]),
208
+ ['directories.bin', directories.bin ?? null],
209
+ ...INSTALL_LIFECYCLE_SCRIPTS.map((script) => [`scripts.${script}`, scripts[script] ?? null]),
210
+ ]);
211
+ }
212
+ /** What one install input asks an install for (module doc), or null when it cannot be read as one. */
213
+ function installIntent(path, text) {
214
+ if (BYTE_FOR_BYTE_INPUTS.has(basename(path)))
215
+ return text;
216
+ let parsed;
217
+ try {
218
+ parsed = JSON.parse(text);
219
+ }
220
+ catch {
221
+ return null;
222
+ }
223
+ if (!isPlainObject(parsed))
224
+ return null;
225
+ if (basename(path) === 'package.json')
226
+ return manifestIntent(parsed);
227
+ const lock = withoutIdentity(parsed);
228
+ if (isPlainObject(lock) && isPlainObject(lock.packages))
229
+ lock.packages = { ...lock.packages, '': withoutIdentity(lock.packages['']) };
230
+ return JSON.stringify(lock);
231
+ }
232
+ /**
233
+ * The consumed install inputs (worktree/install-inputs.ts) that differ between
234
+ * `baseSha` and the focus worktree: for every install root on either side, each
235
+ * file either side's install consumes that git reports changed, and the manifest
236
+ * of every input either side cannot follow (fail closed: a change, with its
237
+ * reason -- that root's consumed files are then not listed one by one).
238
+ * Unreadable when git cannot list a tree or read an input.
239
+ */
240
+ function readConsumedInputChanges(focusWorktreePath, baseSha, runGit, readAtCommit) {
241
+ const base8 = baseSha.slice(0, 8);
242
+ const listed = runGit(['ls-tree', '-r', '-z', '--name-only', baseSha], focusWorktreePath);
243
+ const moved = runGit(['diff', '-z', '--name-only', '--no-renames', baseSha], focusWorktreePath);
244
+ const head = readWorktreeInstallTree(focusWorktreePath, runGit);
245
+ if (!listed.success || !moved.success || head === null) {
246
+ return { unreadable: `git could not list the tracked files of the focus worktree and its base ${base8}: ${listed.error || moved.error || 'ls-files failed'}` };
247
+ }
248
+ const base = trackedInstallTree(listed.output.split('\0'), (path) => Buffer.from(readAtCommit(focusWorktreePath, baseSha, path), 'utf8'));
249
+ const movedPaths = new Set(moved.output.split('\0'));
250
+ const changed = new Set();
251
+ const unresolvable = new Set();
252
+ for (const root of new Set([...listInstallRoots(base), ...listInstallRoots(head)])) {
253
+ let sides;
254
+ try {
255
+ sides = [readInstallInputs(base, root), readInstallInputs(head, root)];
256
+ }
257
+ catch (err) {
258
+ return { unreadable: `the install inputs of ${root || 'the repo root'} could not be read at both ${base8} and the focus worktree: ${err.message}` };
259
+ }
260
+ const unfollowed = sides.flatMap((inputs) => inputs.unresolvable);
261
+ for (const input of unfollowed) {
262
+ changed.add(input.manifest);
263
+ unresolvable.add(input.reason);
264
+ }
265
+ if (unfollowed.length > 0)
266
+ continue;
267
+ for (const path of sides.flatMap((inputs) => inputs.consumed))
268
+ if (movedPaths.has(path))
269
+ changed.add(path);
270
+ }
271
+ return { changed: [...changed], unresolvable: [...unresolvable].sort() };
272
+ }
273
+ /**
274
+ * Compare every tracked install input between `baseSha` and the focus worktree's
275
+ * working tree -- what its installs were provisioned from (module doc). A manifest
276
+ * added or removed since the base is a change; one modified on both sides is a
277
+ * change unless its install intent is equal (unparseable on either side is a
278
+ * change). Every file an install consumes is compared byte for byte, and an input
279
+ * the install-input model cannot follow is a change. Unreadable when git cannot
280
+ * list or read them.
281
+ */
282
+ export function readBaseDependencyParity(focusWorktreePath, baseSha, runGit = runGitSync, readAtCommit = readCommitFile) {
283
+ const diff = runGit(['diff', '-z', '--name-status', '--no-renames', baseSha, '--', ...INSTALL_INPUT_PATHSPECS], focusWorktreePath);
284
+ if (!diff.success)
285
+ return { unreadable: `git diff of the install inputs against ${baseSha.slice(0, 8)} failed: ${diff.error || diff.output}` };
286
+ const tokens = diff.output.split('\0').filter((token) => token.length > 0);
287
+ const changed = new Set();
288
+ for (let index = 0; index + 1 < tokens.length; index += 2) {
289
+ const [status, path] = [tokens[index], tokens[index + 1]];
290
+ try {
291
+ const base = status === 'M' ? installIntent(path, readAtCommit(focusWorktreePath, baseSha, path)) : null;
292
+ const focus = status === 'M' ? installIntent(path, readFileSync(join(focusWorktreePath, path), 'utf8')) : null;
293
+ if (base === null || focus === null || base !== focus)
294
+ changed.add(path);
295
+ }
296
+ catch (err) {
297
+ return { unreadable: `${path} could not be read at both ${baseSha.slice(0, 8)} and the focus worktree: ${err.message}` };
298
+ }
299
+ }
300
+ const consumed = readConsumedInputChanges(focusWorktreePath, baseSha, runGit, readAtCommit);
301
+ if ('unreadable' in consumed)
302
+ return consumed;
303
+ for (const path of consumed.changed)
304
+ changed.add(path);
305
+ if (changed.size === 0)
306
+ return { comparable: true };
307
+ const unresolvable = consumed.unresolvable.length > 0 ? { unresolvable: consumed.unresolvable } : {};
308
+ return { comparable: false, changed: [...changed].sort(), ...unresolvable };
309
+ }
310
+ /** The refusal a base checkout returns when the installs at hand do not stand for the base's, else null. */
311
+ function dependencyParityRefusal(parity, baseSha) {
312
+ const base = baseSha.slice(0, 8);
313
+ if ('unreadable' in parity) {
314
+ return {
315
+ unavailable: `the dependency install inputs of the focus base ${base} could not be compared with the focus worktree's `
316
+ + `(${parity.unreadable}), so whether its installs stand for the base's is unknown`,
317
+ };
318
+ }
319
+ if (parity.comparable)
320
+ return null;
321
+ const unfollowed = parity.unresolvable?.length
322
+ ? `; an install input that cannot be followed counts as changed: ${parity.unresolvable.join('; ')}`
323
+ : '';
324
+ return {
325
+ unavailable: `the focus changed dependency install inputs since the base ${base} (${parity.changed.join(', ')})${unfollowed}, so a base `
326
+ + 'checkout would borrow installs made from the focus\'s install inputs, not the base\'s, and a red those installs cause '
327
+ + 'could not be told apart from one already on the base',
328
+ incomparable: true,
329
+ };
330
+ }
331
+ // ---------------------------------------------------------------------------
332
+ // The default base checkout
333
+ // ---------------------------------------------------------------------------
334
+ /** Spawn `sh -c command` in cwd and capture the FULL combined stdout+stderr and how it ended. */
335
+ export function runShellCapture(command, cwd, timeoutMs) {
336
+ return new Promise((resolvePromise) => {
337
+ const child = spawn('sh', ['-c', command], { cwd, stdio: ['ignore', 'pipe', 'pipe'] });
338
+ let out = '';
339
+ let timedOut = false;
340
+ child.stdout?.on('data', (c) => { out += c.toString('utf8'); });
341
+ child.stderr?.on('data', (c) => { out += c.toString('utf8'); });
342
+ const timer = setTimeout(() => { timedOut = true; try {
343
+ child.kill('SIGKILL');
344
+ }
345
+ catch { /* ignore */ } }, timeoutMs);
346
+ child.on('error', () => { clearTimeout(timer); resolvePromise({ output: out, exitCode: null, timedOut }); });
347
+ child.on('close', (code) => { clearTimeout(timer); resolvePromise({ output: out, exitCode: code, timedOut }); });
348
+ });
349
+ }
350
+ /**
351
+ * The real base checkout (module doc): refused unless the focus worktree is
352
+ * provisioned and its install inputs match the base's; made off the focus
353
+ * worktree pinned to the base sha, its dependencies mirrored from the focus
354
+ * worktree; held against installs until disposed. `checkoutKey` names the
355
+ * directory (one per judged delivery, so two verifies never share it).
356
+ */
357
+ export function buildDefaultOpenBaseline(focusWorktreePath, checkoutKey, timeoutMs, seams = {}) {
358
+ return (baseSha) => {
359
+ const provisioning = (seams.readWorktreeProvisioning ?? readWorktreeProvisioning)(focusWorktreePath);
360
+ if (!provisioning.ready) {
361
+ return {
362
+ unavailable: `the focus worktree is not provisioned (${provisioning.state}: ${provisioning.reason}), so a base `
363
+ + 'checkout would measure missing dependencies, not the base commit',
364
+ };
365
+ }
366
+ const parity = (seams.readDependencyParity ?? readBaseDependencyParity)(focusWorktreePath, baseSha);
367
+ const refused = dependencyParityRefusal(parity, baseSha);
368
+ if (refused)
369
+ return refused;
370
+ const release = (seams.acquireHold ?? acquireVerifyHold)(focusWorktreePath);
371
+ const checkout = (seams.createCheckout ?? createPinnedVerifyCheckout)(focusWorktreePath, checkoutKey, baseSha);
372
+ if (!checkout || checkout.sha !== baseSha) {
373
+ checkout?.dispose();
374
+ release();
375
+ return { unavailable: `no provisioned detached checkout of the focus base ${baseSha.slice(0, 8)} could be made` };
376
+ }
377
+ const runCommand = seams.runCommand ?? runShellCapture;
378
+ return {
379
+ path: checkout.path,
380
+ run: (command) => runCommand(command, checkout.path, timeoutMs),
381
+ dependenciesMoved: checkout.dependenciesMoved,
382
+ dispose: () => { checkout.dispose(); release(); },
383
+ };
384
+ };
385
+ }
386
+ //# sourceMappingURL=verification-baseline-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-baseline-run.js","sourceRoot":"","sources":["../../src/verify/verification-baseline-run.ts"],"names":[],"mappings":"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"}