@telora/daemon 0.24.42 → 0.24.56

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 (359) hide show
  1. package/build-info.json +11 -3
  2. package/dist/completion/completion-event/unfinished-work.d.ts +3 -3
  3. package/dist/completion/review-cycle-budget/review-loop-detection.d.ts.map +1 -1
  4. package/dist/completion/review-cycle-budget/review-loop-detection.js +2 -1
  5. package/dist/completion/review-cycle-budget/review-loop-detection.js.map +1 -1
  6. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +1 -1
  7. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
  8. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +2 -3
  9. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
  10. package/dist/completion/state-cascade/focus-next-step-read.d.ts +38 -0
  11. package/dist/completion/state-cascade/focus-next-step-read.d.ts.map +1 -0
  12. package/dist/completion/state-cascade/focus-next-step-read.js +188 -0
  13. package/dist/completion/state-cascade/focus-next-step-read.js.map +1 -0
  14. package/dist/completion/state-cascade/review-request-gate.d.ts.map +1 -1
  15. package/dist/completion/state-cascade/review-request-gate.js +1 -0
  16. package/dist/completion/state-cascade/review-request-gate.js.map +1 -1
  17. package/dist/completion/state-cascade/review-request-next-step.d.ts +56 -0
  18. package/dist/completion/state-cascade/review-request-next-step.d.ts.map +1 -0
  19. package/dist/completion/state-cascade/review-request-next-step.js +47 -0
  20. package/dist/completion/state-cascade/review-request-next-step.js.map +1 -0
  21. package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts +1 -1
  22. package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts.map +1 -1
  23. package/dist/completion/state-cascade/review-verify-judgment-gate.js +1 -0
  24. package/dist/completion/state-cascade/review-verify-judgment-gate.js.map +1 -1
  25. package/dist/completion/state-cascade/state-cascade.d.ts +12 -7
  26. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  27. package/dist/completion/state-cascade/state-cascade.js +36 -105
  28. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  29. package/dist/composition/commit-gate-context.d.ts.map +1 -1
  30. package/dist/composition/commit-gate-context.js +1 -0
  31. package/dist/composition/commit-gate-context.js.map +1 -1
  32. package/dist/composition/daemon-contexts.js +1 -1
  33. package/dist/composition/execution-migrations-context.d.ts.map +1 -1
  34. package/dist/composition/execution-migrations-context.js +3 -1
  35. package/dist/composition/execution-migrations-context.js.map +1 -1
  36. package/dist/composition/execution-process-context.js +1 -1
  37. package/dist/composition/execution-recovery-context.d.ts +4 -3
  38. package/dist/composition/execution-recovery-context.d.ts.map +1 -1
  39. package/dist/composition/execution-recovery-context.js +6 -3
  40. package/dist/composition/execution-recovery-context.js.map +1 -1
  41. package/dist/composition/execution-worktree-context.js +1 -1
  42. package/dist/composition/focus-next-step-context.d.ts +19 -0
  43. package/dist/composition/focus-next-step-context.d.ts.map +1 -0
  44. package/dist/composition/focus-next-step-context.js +51 -0
  45. package/dist/composition/focus-next-step-context.js.map +1 -0
  46. package/dist/composition/runtime-contexts.d.ts.map +1 -1
  47. package/dist/composition/runtime-contexts.js +6 -18
  48. package/dist/composition/runtime-contexts.js.map +1 -1
  49. package/dist/composition/runtime-poll-context.d.ts +8 -53
  50. package/dist/composition/runtime-poll-context.d.ts.map +1 -1
  51. package/dist/composition/runtime-poll-context.js +35 -94
  52. package/dist/composition/runtime-poll-context.js.map +1 -1
  53. package/dist/composition/runtime-prd-context.d.ts +8 -0
  54. package/dist/composition/runtime-prd-context.d.ts.map +1 -1
  55. package/dist/composition/runtime-prd-context.js +32 -0
  56. package/dist/composition/runtime-prd-context.js.map +1 -1
  57. package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
  58. package/dist/composition/runtime-spawn-pass-context.js +2 -3
  59. package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
  60. package/dist/composition/state-cascade-context.d.ts +2 -0
  61. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  62. package/dist/composition/state-cascade-context.js +9 -0
  63. package/dist/composition/state-cascade-context.js.map +1 -1
  64. package/dist/composition/verification-context.d.ts.map +1 -1
  65. package/dist/composition/verification-context.js +15 -3
  66. package/dist/composition/verification-context.js.map +1 -1
  67. package/dist/config/live-daemon-config.js +1 -1
  68. package/dist/daemon-state/branch-removal-record.d.ts +30 -0
  69. package/dist/daemon-state/branch-removal-record.d.ts.map +1 -0
  70. package/dist/daemon-state/branch-removal-record.js +103 -0
  71. package/dist/daemon-state/branch-removal-record.js.map +1 -0
  72. package/dist/delivery/advance-hold.d.ts +8 -19
  73. package/dist/delivery/advance-hold.d.ts.map +1 -1
  74. package/dist/delivery/advance-hold.js +11 -36
  75. package/dist/delivery/advance-hold.js.map +1 -1
  76. package/dist/delivery/commit-verdict-hold.d.ts +1 -1
  77. package/dist/delivery/commit-verdict-hold.js +1 -1
  78. package/dist/delivery/recorded-concerns.d.ts.map +1 -1
  79. package/dist/delivery/recorded-concerns.js +0 -2
  80. package/dist/delivery/recorded-concerns.js.map +1 -1
  81. package/dist/directive/directive-queue.d.ts +4 -16
  82. package/dist/directive/directive-queue.d.ts.map +1 -1
  83. package/dist/directive/directive-queue.js +5 -13
  84. package/dist/directive/directive-queue.js.map +1 -1
  85. package/dist/directive/phase-sync.d.ts +1 -1
  86. package/dist/directive/phase-sync.js +1 -1
  87. package/dist/focus/crash-recovery.d.ts +10 -32
  88. package/dist/focus/crash-recovery.d.ts.map +1 -1
  89. package/dist/focus/crash-recovery.js +55 -150
  90. package/dist/focus/crash-recovery.js.map +1 -1
  91. package/dist/focus/daemon-contexts-runtime.d.ts +3 -3
  92. package/dist/focus/daemon-contexts-runtime.d.ts.map +1 -1
  93. package/dist/focus/daemon-contexts.js +1 -1
  94. package/dist/focus/directive-executor.d.ts.map +1 -1
  95. package/dist/focus/directive-executor.js +3 -7
  96. package/dist/focus/directive-executor.js.map +1 -1
  97. package/dist/focus/failed-head-rework-start.d.ts +61 -0
  98. package/dist/focus/failed-head-rework-start.d.ts.map +1 -0
  99. package/dist/focus/failed-head-rework-start.js +52 -0
  100. package/dist/focus/failed-head-rework-start.js.map +1 -0
  101. package/dist/focus/focus-activity-record.d.ts +4 -2
  102. package/dist/focus/focus-activity-record.d.ts.map +1 -1
  103. package/dist/focus/focus-activity-record.js +4 -2
  104. package/dist/focus/focus-activity-record.js.map +1 -1
  105. package/dist/focus/focus-liveness-pass.d.ts +62 -0
  106. package/dist/focus/focus-liveness-pass.d.ts.map +1 -0
  107. package/dist/focus/focus-liveness-pass.js +197 -0
  108. package/dist/focus/focus-liveness-pass.js.map +1 -0
  109. package/dist/focus/focus-poller-spawn.js +1 -1
  110. package/dist/focus/focus-poller-state.js +1 -1
  111. package/dist/focus/live-branch-preservation.d.ts +123 -0
  112. package/dist/focus/live-branch-preservation.d.ts.map +1 -0
  113. package/dist/focus/live-branch-preservation.js +192 -0
  114. package/dist/focus/live-branch-preservation.js.map +1 -0
  115. package/dist/focus/migration-claim-pass.d.ts +2 -0
  116. package/dist/focus/migration-claim-pass.d.ts.map +1 -1
  117. package/dist/focus/migration-claim-pass.js +57 -22
  118. package/dist/focus/migration-claim-pass.js.map +1 -1
  119. package/dist/focus/migration-held-set-publish.d.ts +28 -2
  120. package/dist/focus/migration-held-set-publish.d.ts.map +1 -1
  121. package/dist/focus/migration-held-set-publish.js +14 -0
  122. package/dist/focus/migration-held-set-publish.js.map +1 -1
  123. package/dist/focus/pending-spawn-review-next-step.d.ts +5 -11
  124. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  125. package/dist/focus/pending-spawn-review-next-step.js +26 -72
  126. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  127. package/dist/focus/review-refire-gate.d.ts +25 -0
  128. package/dist/focus/review-refire-gate.d.ts.map +1 -0
  129. package/dist/focus/review-refire-gate.js +68 -0
  130. package/dist/focus/review-refire-gate.js.map +1 -0
  131. package/dist/focus/verify-routing-passes.d.ts +8 -11
  132. package/dist/focus/verify-routing-passes.d.ts.map +1 -1
  133. package/dist/focus/verify-routing-passes.js +1 -2
  134. package/dist/focus/verify-routing-passes.js.map +1 -1
  135. package/dist/git/types.js +1 -1
  136. package/dist/prd/arm-refusal-streak.d.ts +102 -0
  137. package/dist/prd/arm-refusal-streak.d.ts.map +1 -0
  138. package/dist/prd/arm-refusal-streak.js +136 -0
  139. package/dist/prd/arm-refusal-streak.js.map +1 -0
  140. package/dist/prd/arm-refusal.d.ts.map +1 -1
  141. package/dist/prd/arm-refusal.js +7 -4
  142. package/dist/prd/arm-refusal.js.map +1 -1
  143. package/dist/prd/controller-shared.d.ts +47 -12
  144. package/dist/prd/controller-shared.d.ts.map +1 -1
  145. package/dist/prd/controller-shared.js +30 -19
  146. package/dist/prd/controller-shared.js.map +1 -1
  147. package/dist/prd/controller.d.ts.map +1 -1
  148. package/dist/prd/controller.js +3 -1
  149. package/dist/prd/controller.js.map +1 -1
  150. package/dist/prd/frontier-arming.d.ts +10 -2
  151. package/dist/prd/frontier-arming.d.ts.map +1 -1
  152. package/dist/prd/frontier-arming.js +91 -7
  153. package/dist/prd/frontier-arming.js.map +1 -1
  154. package/dist/prd/scoping-prompt.d.ts +8 -0
  155. package/dist/prd/scoping-prompt.d.ts.map +1 -1
  156. package/dist/prd/scoping-prompt.js +18 -0
  157. package/dist/prd/scoping-prompt.js.map +1 -1
  158. package/dist/prompt-sections/qa-failure-section.d.ts.map +1 -1
  159. package/dist/prompt-sections/qa-failure-section.js +3 -1
  160. package/dist/prompt-sections/qa-failure-section.js.map +1 -1
  161. package/dist/queries/api-client/shared.js +1 -1
  162. package/dist/queries/deliveries/deliveries.js +1 -1
  163. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts +4 -3
  164. package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
  165. package/dist/queries/delivery-gate-state/delivery-gate-state.js +1 -1
  166. package/dist/queries/escalations/escalations.d.ts.map +1 -1
  167. package/dist/queries/escalations/escalations.js +0 -1
  168. package/dist/queries/escalations/escalations.js.map +1 -1
  169. package/dist/queries/escalations/incident-record.d.ts.map +1 -1
  170. package/dist/queries/escalations/incident-record.js +1 -0
  171. package/dist/queries/escalations/incident-record.js.map +1 -1
  172. package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -1
  173. package/dist/queries/focus-review/review-criterion-verdicts.js +1 -0
  174. package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -1
  175. package/dist/queries/migrations/live-focus-branches.d.ts +23 -0
  176. package/dist/queries/migrations/live-focus-branches.d.ts.map +1 -1
  177. package/dist/queries/migrations/live-focus-branches.js +32 -1
  178. package/dist/queries/migrations/live-focus-branches.js.map +1 -1
  179. package/dist/queries/prd/prd.d.ts.map +1 -1
  180. package/dist/queries/prd/prd.js +1 -16
  181. package/dist/queries/prd/prd.js.map +1 -1
  182. package/dist/queries/qa-packets/focus-qa-failure.d.ts +18 -0
  183. package/dist/queries/qa-packets/focus-qa-failure.d.ts.map +1 -1
  184. package/dist/queries/qa-packets/focus-qa-failure.js +14 -1
  185. package/dist/queries/qa-packets/focus-qa-failure.js.map +1 -1
  186. package/dist/queries/tower/tower-state.d.ts +2 -0
  187. package/dist/queries/tower/tower-state.d.ts.map +1 -1
  188. package/dist/queries/tower/tower-state.js +6 -0
  189. package/dist/queries/tower/tower-state.js.map +1 -1
  190. package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -1
  191. package/dist/queries/tower-decisions/tower-decisions.js +1 -0
  192. package/dist/queries/tower-decisions/tower-decisions.js.map +1 -1
  193. package/dist/queries/verification/verification.d.ts +10 -0
  194. package/dist/queries/verification/verification.d.ts.map +1 -1
  195. package/dist/queries/verification/verification.js +1 -1
  196. package/dist/queries/verification/verification.js.map +1 -1
  197. package/dist/supervision/escalation-suppression.js +1 -1
  198. package/dist/supervision/failed-head-rerun.d.ts +7 -0
  199. package/dist/supervision/failed-head-rerun.d.ts.map +1 -0
  200. package/dist/supervision/failed-head-rerun.js +41 -0
  201. package/dist/supervision/failed-head-rerun.js.map +1 -0
  202. package/dist/supervision/focus-delivery-aggregate-phase.js +1 -1
  203. package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
  204. package/dist/supervision/focus-liveness.d.ts +89 -0
  205. package/dist/supervision/focus-liveness.d.ts.map +1 -0
  206. package/dist/supervision/focus-liveness.js +94 -0
  207. package/dist/supervision/focus-liveness.js.map +1 -0
  208. package/dist/supervision/focus-next-step.d.ts +175 -0
  209. package/dist/supervision/focus-next-step.d.ts.map +1 -0
  210. package/dist/supervision/focus-next-step.js +129 -0
  211. package/dist/supervision/focus-next-step.js.map +1 -0
  212. package/dist/supervision/prd-frontier-rule.d.ts +52 -0
  213. package/dist/supervision/prd-frontier-rule.d.ts.map +1 -0
  214. package/dist/supervision/prd-frontier-rule.js +51 -0
  215. package/dist/supervision/prd-frontier-rule.js.map +1 -0
  216. package/dist/supervision/prt-frontier.d.ts +22 -7
  217. package/dist/supervision/prt-frontier.d.ts.map +1 -1
  218. package/dist/supervision/prt-frontier.js +17 -7
  219. package/dist/supervision/prt-frontier.js.map +1 -1
  220. package/dist/supervision/review-loop-detector.d.ts.map +1 -1
  221. package/dist/supervision/review-loop-detector.js +2 -1
  222. package/dist/supervision/review-loop-detector.js.map +1 -1
  223. package/dist/supervision/spawn-cooldown.js +1 -1
  224. package/dist/supervision/stop-registry.d.ts +1 -0
  225. package/dist/supervision/stop-registry.d.ts.map +1 -1
  226. package/dist/supervision/stop-rows-focus-health.d.ts +14 -0
  227. package/dist/supervision/stop-rows-focus-health.d.ts.map +1 -1
  228. package/dist/supervision/stop-rows-focus-health.js +32 -0
  229. package/dist/supervision/stop-rows-focus-health.js.map +1 -1
  230. package/dist/supervision/stop-rows-spawn.d.ts +3 -2
  231. package/dist/supervision/stop-rows-spawn.d.ts.map +1 -1
  232. package/dist/supervision/stop-rows-spawn.js +9 -6
  233. package/dist/supervision/stop-rows-spawn.js.map +1 -1
  234. package/dist/supervision/team-work.js +1 -1
  235. package/dist/supervision/team-work.js.map +1 -1
  236. package/dist/testing/fixtures/api-client.js +1 -1
  237. package/dist/testing/fixtures/index.js +1 -1
  238. package/dist/testing/fixtures/migration-namespace-repo.d.ts.map +1 -1
  239. package/dist/testing/fixtures/migration-namespace-repo.js +1 -0
  240. package/dist/testing/fixtures/migration-namespace-repo.js.map +1 -1
  241. package/dist/testing/fixtures/pending-spawn-world.d.ts +24 -0
  242. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  243. package/dist/testing/fixtures/pending-spawn-world.js +46 -19
  244. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  245. package/dist/testing/fixtures/recording-api-client.js +1 -1
  246. package/dist/testing/fixtures/verification-deps.d.ts +27 -0
  247. package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
  248. package/dist/testing/fixtures/verification-deps.js +77 -1
  249. package/dist/testing/fixtures/verification-deps.js.map +1 -1
  250. package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
  251. package/dist/testing/fixtures/vitest-failure-log.js +1 -0
  252. package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
  253. package/dist/tower/focus-landed.d.ts +32 -1
  254. package/dist/tower/focus-landed.d.ts.map +1 -1
  255. package/dist/tower/focus-landed.js +67 -12
  256. package/dist/tower/focus-landed.js.map +1 -1
  257. package/dist/tower/tower-graph.d.ts +6 -2
  258. package/dist/tower/tower-graph.d.ts.map +1 -1
  259. package/dist/tower/tower-graph.js +8 -5
  260. package/dist/tower/tower-graph.js.map +1 -1
  261. package/dist/tower/tower-supervisor-history.d.ts.map +1 -1
  262. package/dist/tower/tower-supervisor-history.js +2 -1
  263. package/dist/tower/tower-supervisor-history.js.map +1 -1
  264. package/dist/tower/tower-supervisor-prompt.d.ts.map +1 -1
  265. package/dist/tower/tower-supervisor-prompt.js +40 -8
  266. package/dist/tower/tower-supervisor-prompt.js.map +1 -1
  267. package/dist/tower/tower-supervisor-session.d.ts.map +1 -1
  268. package/dist/tower/tower-supervisor-session.js +1 -0
  269. package/dist/tower/tower-supervisor-session.js.map +1 -1
  270. package/dist/tower/tower-verdicts.d.ts.map +1 -1
  271. package/dist/tower/tower-verdicts.js +2 -1
  272. package/dist/tower/tower-verdicts.js.map +1 -1
  273. package/dist/types/issue-status.d.ts.map +1 -1
  274. package/dist/types/issue-status.js +6 -1
  275. package/dist/types/issue-status.js.map +1 -1
  276. package/dist/verify/attribution/code-failure-evidence.d.ts +77 -0
  277. package/dist/verify/attribution/code-failure-evidence.d.ts.map +1 -0
  278. package/dist/verify/attribution/code-failure-evidence.js +92 -0
  279. package/dist/verify/attribution/code-failure-evidence.js.map +1 -0
  280. package/dist/verify/attribution/verification-attribution.d.ts +18 -0
  281. package/dist/verify/attribution/verification-attribution.d.ts.map +1 -1
  282. package/dist/verify/attribution/verification-attribution.js +49 -2
  283. package/dist/verify/attribution/verification-attribution.js.map +1 -1
  284. package/dist/verify/attribution/verification-baseline.d.ts.map +1 -1
  285. package/dist/verify/attribution/verification-baseline.js +1 -0
  286. package/dist/verify/attribution/verification-baseline.js.map +1 -1
  287. package/dist/verify/attribution/verification-diagnostics.d.ts +10 -0
  288. package/dist/verify/attribution/verification-diagnostics.d.ts.map +1 -1
  289. package/dist/verify/attribution/verification-diagnostics.js +39 -10
  290. package/dist/verify/attribution/verification-diagnostics.js.map +1 -1
  291. package/dist/verify/deterministic-gate/verification-deterministic.d.ts +19 -0
  292. package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
  293. package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
  294. package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
  295. package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
  296. package/dist/verify/engine/verification-commit-sharing.js +36 -4
  297. package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
  298. package/dist/verify/engine/verification-deps.d.ts +7 -0
  299. package/dist/verify/engine/verification-deps.d.ts.map +1 -1
  300. package/dist/verify/engine/verification-engine.d.ts.map +1 -1
  301. package/dist/verify/engine/verification-engine.js +6 -3
  302. package/dist/verify/engine/verification-engine.js.map +1 -1
  303. package/dist/verify/escaped-tests/escaped-test-run.d.ts +5 -1
  304. package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -1
  305. package/dist/verify/escaped-tests/escaped-test-run.js +24 -2
  306. package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -1
  307. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts +4 -1
  308. package/dist/verify/failing-test-rerun/failing-test-retry.d.ts.map +1 -1
  309. package/dist/verify/failing-test-rerun/failing-test-retry.js.map +1 -1
  310. package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
  311. package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
  312. package/dist/verify/gate-verdicts/no-verdict-record.d.ts +27 -3
  313. package/dist/verify/gate-verdicts/no-verdict-record.d.ts.map +1 -1
  314. package/dist/verify/gate-verdicts/no-verdict-record.js +36 -6
  315. package/dist/verify/gate-verdicts/no-verdict-record.js.map +1 -1
  316. package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
  317. package/dist/verify/outcome-routing/verification-rework-issue.js +5 -4
  318. package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
  319. package/dist/verify/run-selection/default-on-guards.d.ts +15 -4
  320. package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
  321. package/dist/verify/run-selection/default-on-guards.js +14 -4
  322. package/dist/verify/run-selection/default-on-guards.js.map +1 -1
  323. package/dist/verify/run-selection/explicit-next-step-gate.d.ts +39 -0
  324. package/dist/verify/run-selection/explicit-next-step-gate.d.ts.map +1 -0
  325. package/dist/verify/run-selection/explicit-next-step-gate.js +70 -0
  326. package/dist/verify/run-selection/explicit-next-step-gate.js.map +1 -0
  327. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts +0 -9
  328. package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
  329. package/dist/verify/run-selection/pre-review-gate-dispatch.js +21 -62
  330. package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
  331. package/dist/verify/run-selection/reselection-log-line.d.ts +1 -1
  332. package/dist/verify/run-selection/reselection-log-line.d.ts.map +1 -1
  333. package/dist/verify/run-selection/reselection-log-line.js +2 -0
  334. package/dist/verify/run-selection/reselection-log-line.js.map +1 -1
  335. package/dist/verify/run-selection/verification-default-on.d.ts +32 -4
  336. package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
  337. package/dist/verify/run-selection/verification-default-on.js +83 -19
  338. package/dist/verify/run-selection/verification-default-on.js.map +1 -1
  339. package/dist/verify/shortfalls/shortfall-park.js +1 -1
  340. package/dist/worktree/focus-worktree-state.js +1 -1
  341. package/dist/worktree/focus-worktree-state.js.map +1 -1
  342. package/docs/runbook-tower.md +26 -5
  343. package/package.json +3 -3
  344. package/dist/completion/state-cascade/review-next-step.d.ts +0 -107
  345. package/dist/completion/state-cascade/review-next-step.d.ts.map +0 -1
  346. package/dist/completion/state-cascade/review-next-step.js +0 -90
  347. package/dist/completion/state-cascade/review-next-step.js.map +0 -1
  348. package/dist/focus/failed-head-wedge.d.ts +0 -124
  349. package/dist/focus/failed-head-wedge.d.ts.map +0 -1
  350. package/dist/focus/failed-head-wedge.js +0 -120
  351. package/dist/focus/failed-head-wedge.js.map +0 -1
  352. package/dist/focus/stranded-review-reroute.d.ts +0 -70
  353. package/dist/focus/stranded-review-reroute.d.ts.map +0 -1
  354. package/dist/focus/stranded-review-reroute.js +0 -193
  355. package/dist/focus/stranded-review-reroute.js.map +0 -1
  356. package/dist/focus/uncommitted-work-backstop.d.ts +0 -115
  357. package/dist/focus/uncommitted-work-backstop.d.ts.map +0 -1
  358. package/dist/focus/uncommitted-work-backstop.js +0 -259
  359. package/dist/focus/uncommitted-work-backstop.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pending-spawn-world.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/pending-spawn-world.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AAQtG,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC;CAClD;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;CACzC;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG;IACxD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAChE,CAWA;AAED,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAKlH;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAmFhH;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAiB5F"}
1
+ {"version":3,"file":"pending-spawn-world.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/pending-spawn-world.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AAQtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAG7G,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC;IACjD,qFAAqF;IACrF,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;CACzC;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG;IACxD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAChE,CAWA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,mBAAmB,CAiBrF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;IAC/E,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;CACzE,GAAG,mBAAmB,CAYtB;AAED,oGAAoG;AACpG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAKlH;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,oBAAoB,CAkFhH;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAiB5F"}
@@ -1,21 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/completion/completion-event/review-window-idle-coding-lead-regression.test.ts,
3
- // packages/daemon/src/completion/review-cycle-budget/review-cycle-cap-regression.test.ts,
4
- // packages/daemon/src/completion/state-cascade/review-next-step.test.ts,
5
- // packages/daemon/src/focus/gaps-found-hands-to-coding.test.ts,
6
- // packages/daemon/src/focus/held-review-window-not-stranded.test.ts,
7
- // packages/daemon/src/focus/parked-shortfall-spawn.test.ts,
8
- // packages/daemon/src/focus/pending-review-approved-head.test.ts,
9
- // packages/daemon/src/focus/pending-spawn-review-next-step.test.ts,
10
- // packages/daemon/src/focus/unchanged-reviewed-head.test.ts,
11
- // packages/daemon/src/focus/uncommitted-work-backstop.test.ts,
12
- // packages/daemon/src/integration/approved-head-gate-failure-respawn-regression.test.ts,
13
- // packages/daemon/src/integration/approved-head-hold-release-no-directive-regression.test.ts,
14
- // packages/daemon/src/integration/approved-head-hold-release-regression.test.ts,
15
- // packages/daemon/src/integration/failed-verdict-review-exit-respawn-regression.test.ts,
16
- // packages/daemon/src/integration/failed-verdict-review-loop-regression.test.ts,
17
- // packages/daemon/src/integration/shortfall-park-incident-regression.test.ts,
18
- // packages/daemon/src/spawn/review-hold-park-shortfall.test.ts
2
+ // Pinned by: 21 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/pending-spawn-world.ts
19
3
  // PINNED-BY-END
20
4
  /**
21
5
  * Shared harness for tests that drive the REAL pending-spawn pass
@@ -41,6 +25,8 @@ import { makeFocusTeamState } from './index.js';
41
25
  import { isNextSpawnInTeardownCooldown } from '../../spawn/next-spawn-cooldown.js';
42
26
  import { recordFocusTeardown } from '../../supervision/spawn-cooldown.js';
43
27
  import { NO_REVIEW_LOOPS } from './review-loop.js';
28
+ import { readFocusNextStep } from '../../completion/state-cascade/focus-next-step-read.js';
29
+ import { failedHeadRerunSpent } from '../../supervision/failed-head-rerun.js';
44
30
  /** The deliveries/issues reads over the world (honouring the fail flags). */
45
31
  export function makeWorldReads(world) {
46
32
  return {
@@ -56,6 +42,48 @@ export function makeWorldReads(world) {
56
42
  },
57
43
  };
58
44
  }
45
+ /**
46
+ * The focus's one next step over the world (completion/state-cascade/focus-next-step-read.ts):
47
+ * the same reads both sites take, the gate at HEAD from `headGate` / `verifyJudgment`
48
+ * (absent: no gate, judged), the live team from this process's team registry.
49
+ */
50
+ export function makeWorldNextStepReader(world) {
51
+ const reads = makeWorldReads(world);
52
+ return (focus) => readFocusNextStep(focus, {
53
+ ...reads,
54
+ readRecordedConcernIds: makeWorldConcernReader(world),
55
+ readHeadGateVerdict: async () => world.headGate ?? { state: 'unconfigured', sha: null },
56
+ readVerifyJudgment: async () => world.verifyJudgment ?? { state: 'judged', sha: null, deliveryIds: [] },
57
+ liveTeam: (focusId) => {
58
+ const team = getActiveTeams().get(focusId);
59
+ if (!team)
60
+ return 'none';
61
+ return team.sessionType === 'review' ? 'review' : 'coding';
62
+ },
63
+ listUncommittedPaths: () => world.uncommittedPaths ?? [],
64
+ readBranchAhead: () => 'unknown',
65
+ rerunSpent: failedHeadRerunSpent,
66
+ gateRunPending: () => false,
67
+ });
68
+ }
69
+ /**
70
+ * A next-step reader over plain delivery and issue reads (no world): no gate, verify
71
+ * judged, no live team, a clean worktree -- for a test that binds the production
72
+ * pending-spawn context over its own reads.
73
+ */
74
+ export function nextStepReaderOver(reads) {
75
+ return (focus) => readFocusNextStep(focus, {
76
+ ...reads,
77
+ readRecordedConcernIds: async () => new Set(),
78
+ readHeadGateVerdict: async () => ({ state: 'unconfigured', sha: null }),
79
+ readVerifyJudgment: async () => ({ state: 'judged', sha: null, deliveryIds: [] }),
80
+ liveTeam: () => 'none',
81
+ listUncommittedPaths: () => [],
82
+ readBranchAhead: () => 'unknown',
83
+ rerunSpent: failedHeadRerunSpent,
84
+ gateRunPending: () => false,
85
+ });
86
+ }
59
87
  /** The world's recorded-concern read: none recorded, or the defer error while concernsReadFails. */
60
88
  export function makeWorldConcernReader(world) {
61
89
  return async (focusId) => {
@@ -101,8 +129,7 @@ export function makePendingSpawnPassDeps(world, spawns) {
101
129
  // The review-budget backstop reads the row's own review_cycle_count against this budget.
102
130
  reviewCycleCapHold: { resolveReviewCycleCap: () => 8, reviewLoopHold: NO_REVIEW_LOOPS },
103
131
  reviewNextStep: {
104
- ...reads,
105
- readRecordedConcernIds: makeWorldConcernReader(world),
132
+ readNextStep: makeWorldNextStepReader(world),
106
133
  now: () => Date.now(),
107
134
  fileDeferralExpiry: async () => { },
108
135
  escalationSpoolDir: spoolDir,
@@ -1 +1 @@
1
- {"version":3,"file":"pending-spawn-world.js","sourceRoot":"","sources":["../../../src/testing/fixtures/pending-spawn-world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pending-spawn-world.js","sourceRoot":"","sources":["../../../src/testing/fixtures/pending-spawn-world.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 36 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
2
+ // Pinned by: 37 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/recording-api-client.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Test fixture: install a RECORDING fake product-api client -- every call is
@@ -6,6 +6,8 @@ import type { DefaultAttributionSeams } from '../../verify/attribution/verificat
6
6
  import type { CiGateDeps } from '../../verify/ci-gate/ci-gate-dispatch.js';
7
7
  import type { EscapedTestsDeps } from '../../verify/escaped-tests/escaped-tests-source.js';
8
8
  import type { ExplicitGateOutcomeWriteDeps } from '../../verify/gate-verdicts/explicit-gate-outcome.js';
9
+ import { type NextStepIssue } from '../../completion/state-cascade/focus-next-step-read.js';
10
+ import type { FocusNextStepReader, LiveTeam } from '../../supervision/focus-next-step.js';
9
11
  /** The default-on config with no command anywhere: the scan arms nothing. */
10
12
  export declare const DISABLED_DEFAULT_VERIFICATION: ResolvedDefaultVerification;
11
13
  /**
@@ -29,6 +31,31 @@ export declare function inertNoVerdictStore(): NoVerdictStore;
29
31
  * reading the delivery as done whatever `deps` would otherwise read.
30
32
  */
31
33
  export declare function stampAtDone(deps: VerificationDeps): Promise<void>;
34
+ /** What a test's world adds to the fixture's next-step read: a live team, issues, uncommitted paths. */
35
+ export interface FixtureNextStepWorld {
36
+ liveTeam?: (focusId: string) => LiveTeam;
37
+ issues?: (focusId: string) => readonly NextStepIssue[];
38
+ uncommittedPaths?: (focusId: string) => readonly string[];
39
+ }
40
+ /**
41
+ * The next-step read over the test's own world, through the REAL readFocusNextStep
42
+ * and decision (supervision/focus-next-step.ts): the deliveries `deps` reads, the
43
+ * focus row's review window, the HEAD `deps` resolves, and verify's in-process
44
+ * memory of that HEAD (a run selected is in flight, a default-on pass recorded
45
+ * there is judged, anything else is owed -- the gate verdict itself reads
46
+ * unconfigured, so the memory alone decides). No issues, no live team and a clean
47
+ * worktree unless `world` says otherwise. So the decision answers a gate run where
48
+ * a converged focus still owes HEAD a verdict, and a test that wants another
49
+ * answer supplies its own reader. `reads` may be a partial overlay laid over the
50
+ * production context (a missing delivery read reads none, a missing HEAD none).
51
+ */
52
+ export declare function fixtureNextStepReader(reads: () => Partial<Pick<VerificationDeps, 'getFocusDeliveries' | 'resolveFocusHeadSha'>>, world?: FixtureNextStepWorld): FocusNextStepReader;
53
+ /**
54
+ * `deps` (typically the production context with a test's overlay spread over it)
55
+ * with its next-step read taken over the same deps' own reads: the REAL decision
56
+ * over the test's rows, where the production reader would call the API.
57
+ */
58
+ export declare function withFixtureNextStep(deps: VerificationDeps, world?: FixtureNextStepWorld): VerificationDeps;
32
59
  /** A complete VerificationDeps of inert stubs (module header), with `overrides` applied. */
33
60
  export declare function makeVerificationDeps(overrides?: Partial<VerificationDeps>): VerificationDeps;
34
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"verification-deps.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,iDAAiD,CAAC;AAOzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAI3F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AAYxG,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAE,2BAM3C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAgBxC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,gBAAgB,CAQpD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,IAAI,cAAc,CAcpD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CA0FhG;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,cAAc,CAGjG,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,qBAAqB,CAE/D;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE"}
1
+ {"version":3,"file":"verification-deps.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"AA+EA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,iDAAiD,CAAC;AAOzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAI3F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AAIxG,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,wDAAwD,CAAC;AAM/G,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAS1F,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAE,2BAM3C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAgBxC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,gBAAgB,CAQpD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,IAAI,cAAc,CAepD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;AAED,wGAAwG;AACxG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,aAAa,EAAE,CAAC;IACvD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;CAC3D;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,qBAAqB,CAAC,CAAC,EAC1F,KAAK,GAAE,oBAAyB,GAC/B,mBAAmB,CA0BrB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,GAAE,oBAAyB,GAAG,gBAAgB,CAG9G;AAWD,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CA8FhG;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,cAAc,CAGjG,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,qBAAqB,CAE/D;AAED,gGAAgG;AAChG,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE"}
@@ -1,5 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: 36 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/verification-deps.ts
2
+ // Pinned by: 48 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/verification-deps.ts
3
3
  // PINNED-BY-END
4
4
  /**
5
5
  * Test fixture: a COMPLETE VerificationDeps of inert stubs for the verification
@@ -33,6 +33,9 @@
33
33
  * - the ancestor walk (listAncestors) and the held-verdict pull's run
34
34
  * registries (commitVerdictPull) are the REAL ones: git over a repository the
35
35
  * test built, and the in-process run marks the dispatch reads;
36
+ * - readFocusNextStep is the REAL decision over the test's own deliveries, HEAD
37
+ * and verify memory (fixtureNextStepReader): the scan selects where a
38
+ * converged focus still owes HEAD a verdict, as the daemon does;
36
39
  * - the install probe sees no active focus (installProbe);
37
40
  * - invalidateExplicitGateOutcome answers true (every candidate starts);
38
41
  * - noVerdicts records nothing and never holds a commit;
@@ -83,6 +86,11 @@ import { beginExplicitRun, isCurrentExplicitRun } from '../../verify/gate-verdic
83
86
  import { listAncestorsWithGit } from '../../verify/gate-verdicts/judged-ancestor.js';
84
87
  import { memoryPendingStampStore } from '../../verify/effect-reconciliation/pending-injection-stamp.js';
85
88
  import { applyPendingStamps } from '../../verify/effect-reconciliation/injection-stamp.js';
89
+ import { readFocusNextStep } from '../../completion/state-cascade/focus-next-step-read.js';
90
+ import { NO_RECORDED_CONCERNS } from '../../delivery/recorded-concerns.js';
91
+ import { hasPendingGateRun, isGateRunSelected } from '../../verify/gate-verdicts/gate-run-registry.js';
92
+ import { recordedPassSha } from '../../verify/run-selection/default-on-guards.js';
93
+ import { failedHeadRerunSpent } from '../../supervision/failed-head-rerun.js';
86
94
  /** A member a test must supply before the engine reaches it. */
87
95
  function notStubbed(member) {
88
96
  return () => {
@@ -148,6 +156,7 @@ export function inertNoVerdictStore() {
148
156
  recordRedispatch: () => { },
149
157
  markEscalated: () => { },
150
158
  now: () => Date.now(),
159
+ host: () => 'test-host',
151
160
  };
152
161
  }
153
162
  /**
@@ -158,6 +167,68 @@ export function inertNoVerdictStore() {
158
167
  export async function stampAtDone(deps) {
159
168
  await applyPendingStamps({ ...deps, readDeliveryGateRecord: async () => ({ executionStatus: 'done', gateState: null }) });
160
169
  }
170
+ /** Verify's in-process memory of one verify delivery at `head`: a run selected and not finished, a pass there, or nothing. */
171
+ function memoryJudgment(deliveryId, head) {
172
+ if (isGateRunSelected(deliveryId))
173
+ return 'in_flight';
174
+ return head !== null && recordedPassSha(deliveryId) === head ? 'judged' : 'unrecorded';
175
+ }
176
+ /**
177
+ * The next-step read over the test's own world, through the REAL readFocusNextStep
178
+ * and decision (supervision/focus-next-step.ts): the deliveries `deps` reads, the
179
+ * focus row's review window, the HEAD `deps` resolves, and verify's in-process
180
+ * memory of that HEAD (a run selected is in flight, a default-on pass recorded
181
+ * there is judged, anything else is owed -- the gate verdict itself reads
182
+ * unconfigured, so the memory alone decides). No issues, no live team and a clean
183
+ * worktree unless `world` says otherwise. So the decision answers a gate run where
184
+ * a converged focus still owes HEAD a verdict, and a test that wants another
185
+ * answer supplies its own reader. `reads` may be a partial overlay laid over the
186
+ * production context (a missing delivery read reads none, a missing HEAD none).
187
+ */
188
+ export function fixtureNextStepReader(reads, world = {}) {
189
+ const deps = () => {
190
+ const { getFocusDeliveries = async () => [], resolveFocusHeadSha = () => null } = reads();
191
+ return { getFocusDeliveries, resolveFocusHeadSha };
192
+ };
193
+ // A test's focus row may omit the window: an absent stamp is no window, as in the daemon's rows.
194
+ return (focus) => readFocusNextStep({ ...focus, review_requested_at: focus.review_requested_at ?? null }, {
195
+ getFocusDeliveries: (focusId) => deps().getFocusDeliveries(focusId),
196
+ getFocusIssues: async (focusId) => world.issues?.(focusId) ?? [],
197
+ readRecordedConcernIds: async () => NO_RECORDED_CONCERNS,
198
+ readHeadGateVerdict: async (focusId) => ({ state: 'unconfigured', sha: deps().resolveFocusHeadSha(focusId) }),
199
+ readVerifyJudgment: async (focusId, verify) => {
200
+ const sha = deps().resolveFocusHeadSha(focusId);
201
+ const states = verify.map((d) => memoryJudgment(d.id, sha));
202
+ for (const state of ['in_flight', 'unrecorded']) {
203
+ const deliveryIds = verify.filter((_d, i) => states[i] === state).map((d) => d.id);
204
+ if (deliveryIds.length > 0)
205
+ return { state, sha, deliveryIds };
206
+ }
207
+ return { state: 'judged', sha, deliveryIds: [] };
208
+ },
209
+ liveTeam: (focusId) => world.liveTeam?.(focusId) ?? 'none',
210
+ listUncommittedPaths: (focusId) => world.uncommittedPaths?.(focusId) ?? [],
211
+ readBranchAhead: () => true,
212
+ rerunSpent: failedHeadRerunSpent,
213
+ gateRunPending: hasPendingGateRun,
214
+ });
215
+ }
216
+ /**
217
+ * `deps` (typically the production context with a test's overlay spread over it)
218
+ * with its next-step read taken over the same deps' own reads: the REAL decision
219
+ * over the test's rows, where the production reader would call the API.
220
+ */
221
+ export function withFixtureNextStep(deps, world = {}) {
222
+ const out = { ...deps, readFocusNextStep: fixtureNextStepReader(() => out, world) };
223
+ return out;
224
+ }
225
+ /** The readers makeVerificationDeps made as its own default (not a test's explicit choice). */
226
+ const DEFAULT_NEXT_STEP_READERS = new WeakSet();
227
+ function defaultNextStepReader(deps) {
228
+ const reader = fixtureNextStepReader(deps);
229
+ DEFAULT_NEXT_STEP_READERS.add(reader);
230
+ return reader;
231
+ }
161
232
  /** A complete VerificationDeps of inert stubs (module header), with `overrides` applied. */
162
233
  export function makeVerificationDeps(overrides = {}) {
163
234
  const deps = {
@@ -226,6 +297,8 @@ export function makeVerificationDeps(overrides = {}) {
226
297
  // The REAL gate derivation (pure over the read; the repoPath manifest fallback reads the file).
227
298
  judgedCommitGate: (source, read) => judgedCommitGate(source, read, process.env, readVerifyManifest),
228
299
  retryOwedReworkIssue: async () => null,
300
+ // The REAL decision over the test's own deliveries, HEAD and verify memory (fixtureNextStepReader).
301
+ readFocusNextStep: defaultNextStepReader(() => deps),
229
302
  resolveCommitsAhead: () => 0,
230
303
  resolveRecordedCommitShas: async () => [],
231
304
  resolveRecordedPreMergeRef: async () => null,
@@ -248,6 +321,9 @@ export function makeVerificationDeps(overrides = {}) {
248
321
  invalidateExplicitGateOutcome: async () => true,
249
322
  ...overrides,
250
323
  };
324
+ // A RESULT spread into new overrides carries its own default reader, bound to the deps it was built over: rebind it here.
325
+ if (DEFAULT_NEXT_STEP_READERS.has(deps.readFocusNextStep))
326
+ deps.readFocusNextStep = defaultNextStepReader(() => deps);
251
327
  return deps;
252
328
  }
253
329
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"verification-deps.js","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-deps.js","sourceRoot":"","sources":["../../../src/testing/fixtures/verification-deps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-failure-log.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AAEH,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAU/D"}
1
+ {"version":3,"file":"vitest-failure-log.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AAEH,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAU/D"}
@@ -2,6 +2,7 @@
2
2
  // Pinned by: packages/daemon/src/merge/candidate-tip-attribution.test.ts,
3
3
  // packages/daemon/src/verify/attribution/verification-baseline-files.test.ts,
4
4
  // packages/daemon/src/verify/ci-gate/ci-gate-dispatch.test.ts,
5
+ // packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
5
6
  // packages/daemon/src/verify/failing-test-rerun/failing-test-retry.test.ts,
6
7
  // packages/daemon/src/verify/failing-test-rerun/rerun-command.test.ts,
7
8
  // packages/daemon/src/verify/failing-test-rerun/rework-recheck.test.ts
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-failure-log.js","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,gFAAgF;AAChF,iEAAiE;AACjE,8EAA8E;AAC9E,yEAAyE;AACzE,yEAAyE;AACzE,gBAAgB;AAEhB;;;;;;GAMG;AAEH,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wDAAwD,CAAC;IACtF,OAAO;QACL,wBAAwB,GAAG,CAAC,MAAM,UAAU;QAC5C,EAAE;QACF,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,2CAA2C,EAAE,EAAE,CAAC,CAAC;QACzF,2BAA2B;QAC3B,gBAAgB,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG;QACnD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"vitest-failure-log.js","sourceRoot":"","sources":["../../../src/testing/fixtures/vitest-failure-log.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,gFAAgF;AAChF,iEAAiE;AACjE,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,yEAAyE;AACzE,gBAAgB;AAEhB;;;;;;GAMG;AAEH,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,GAAsB;IACrD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wDAAwD,CAAC;IACtF,OAAO;QACL,wBAAwB,GAAG,CAAC,MAAM,UAAU;QAC5C,EAAE;QACF,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,2CAA2C,EAAE,EAAE,CAAC,CAAC;QACzF,2BAA2B;QAC3B,gBAAgB,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG;QACnD,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,4 +1,35 @@
1
1
  import type { FocusBranchContainment } from '../git/focus-branch-containment.js';
2
+ import type { FocusQaStandingRead } from '../queries/qa-packets/focus-qa-failure.js';
2
3
  export type FocusLanded = 'landed' | 'not_landed' | 'unknown';
3
- export declare function judgeFocusLanded(deliveryStatuses: readonly string[], branch: FocusBranchContainment): FocusLanded;
4
+ /**
5
+ * A focus's QA standing as the LANDED rule reads it: `failed` (a person failed
6
+ * it), `unreadable` (the read failed, or answered a state this daemon does not
7
+ * know), `not_failed` (awaiting, passed, or never QA'd), `not_reported` (the
8
+ * reader carries no QA; see the header).
9
+ */
10
+ export type FocusQaStanding = 'failed' | 'unreadable' | 'not_failed' | 'not_reported';
11
+ /** Whether a QA standing holds the focus out of landed. PURE. */
12
+ export declare function qaHoldsUnlanded(qa: FocusQaStanding): boolean;
13
+ /** The LANDED rule's QA input from a stored qa_state (null = never QA'd). An unknown value is unreadable. PURE. */
14
+ export declare function qaStandingOfState(state: string | null): FocusQaStanding;
15
+ /**
16
+ * The LANDED rule's QA input from daemon_get_tower_state's graph focus.
17
+ * `qaReadFailed` is the API saying its QA read failed: 'unreadable', which holds
18
+ * the successor exactly as the PRD frontier holds on an unreadable read. The API
19
+ * reads QA apart from the rest of the graph so that failure reaches this rule
20
+ * instead of failing the whole graph read (which the tower fails open on).
21
+ * An ABSENT qaState (and no qaReadFailed) is an API older than the field:
22
+ * 'not_reported', judged on delivery and branch facts alone -- the tower's rule
23
+ * before QA was an input -- so a new daemon against an old API holds no
24
+ * successor it did not hold before. Reading absent as unreadable instead would
25
+ * hold every depends_on successor in the product until the API ships. A value
26
+ * this daemon does not know is 'unreadable'. PURE.
27
+ */
28
+ export declare function qaStandingOfWire(focus: {
29
+ qaState?: string | null | undefined;
30
+ qaReadFailed?: boolean | undefined;
31
+ }): FocusQaStanding;
32
+ /** The LANDED rule's QA input from the PRD controller's focus_qa_get read. PURE. */
33
+ export declare function qaStandingOfRead(read: FocusQaStandingRead): FocusQaStanding;
34
+ export declare function judgeFocusLanded(deliveryStatuses: readonly string[], branch: FocusBranchContainment, qa: FocusQaStanding): FocusLanded;
4
35
  //# sourceMappingURL=focus-landed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-landed.d.ts","sourceRoot":"","sources":["../../src/tower/focus-landed.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAE9D,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,MAAM,EAAE,sBAAsB,GAC7B,WAAW,CAcb"}
1
+ {"version":3,"file":"focus-landed.d.ts","sourceRoot":"","sources":["../../src/tower/focus-landed.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,CAAC;AAEtF,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAE5D;AAED,mHAAmH;AACnH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAIvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAAG,eAAe,CAGpI;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAE3E;AAED,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,EAAE,eAAe,GAClB,WAAW,CAeb"}
@@ -1,30 +1,83 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/tower/focus-landed.test.ts
2
+ // Pinned by: packages/daemon/src/prd/prd-controller-qa-failed.test.ts,
3
+ // packages/daemon/src/tower/focus-landed.test.ts
3
4
  // PINNED-BY-END
4
5
  /**
5
6
  * LANDED: the ONE definition of "this focus's work has landed", judged by the
6
- * daemon with no human close. Shared by the tower (a depends_on successor waits
7
- * until its predecessor has landed) and the PRD frontier's completion signal
8
- * (prd/controller-shared.ts computeCompletedFocusIds), so the two can never
9
- * disagree about whether a focus is finished.
7
+ * daemon with no human close. Shared by the tower (tower/tower-graph.ts: a
8
+ * depends_on successor waits until its predecessor has landed) and the PRD
9
+ * frontier's completion signal (prd/controller-shared.ts loadLandedFocusIds),
10
+ * so the two can never disagree about whether a focus is finished. Each caller
11
+ * supplies the same three inputs; neither applies a check of its own.
10
12
  *
11
13
  * A focus has LANDED when
12
14
  * 1. it has at least one delivery, and
13
15
  * 2. every non-cancelled delivery is done, at least one of them (a focus whose
14
16
  * every delivery was cancelled landed nothing), and
15
- * 3. its branch tip is contained in the integration branch -- or the branch is
17
+ * 3. no person has failed it at QA, and its QA could be read: a failed verdict
18
+ * leaves every delivery done and the branch merged -- exactly the landed
19
+ * facts -- so without this the rework the verdict sent the focus back for
20
+ * would be built on, by a tower successor or a PRD successor alike
21
+ * (the ruling: docs/DECISIONS.md, "A failed QA on a PRD focus sends it
22
+ * back through the PRD"). qa_state stays failed until the team
23
+ * armed after the fail finishes; from then on the focus lands like any
24
+ * other. QA gates nothing on the pass side: awaiting, passed and never-QA'd
25
+ * foci land on their delivery and branch facts alone. And
26
+ * 4. its branch tip is contained in the integration branch -- or the branch is
16
27
  * gone AND the focus's merge record names a merge commit integration
17
28
  * contains (the daemon removes a branch only after merging it, and records
18
29
  * the merge; git/focus-branch-containment.ts). A gone branch with no such
19
30
  * record is unproven: unknown.
20
31
  *
21
- * NOT_LANDED when any of those is definitely false. UNKNOWN when 1-2 hold but
22
- * git could not answer 3: never read as landed and never as not landed -- the
23
- * tower leaves the dependent focus's verdict unavailable (fail open), and the
24
- * PRD frontier does not clear the obstacle this tick.
32
+ * NOT_LANDED when any of those is definitely false -- an unreadable QA included
33
+ * (fail closed: a failed verdict must never be overwritten on an unproven read).
34
+ * UNKNOWN when 1-3 hold but git could not answer 4: never read as landed and
35
+ * never as not landed -- the tower leaves the dependent focus's verdict
36
+ * unavailable (fail open), and the PRD frontier does not clear the obstacle
37
+ * this tick.
38
+ *
39
+ * NOT_REPORTED is not a QA answer: it is a reader that carries no QA at all (an
40
+ * API older than the field, or a PRD controller with no QA reader bound), and
41
+ * the rule then judges 1, 2 and 4 alone -- exactly what it judged before QA was
42
+ * an input. It is distinct from UNREADABLE (a read that was made and failed),
43
+ * which holds.
44
+ */
45
+ import { DELIVERY_STATUS, QA_STATE } from '@telora/daemon-core';
46
+ /** Whether a QA standing holds the focus out of landed. PURE. */
47
+ export function qaHoldsUnlanded(qa) {
48
+ return qa === 'failed' || qa === 'unreadable';
49
+ }
50
+ /** The LANDED rule's QA input from a stored qa_state (null = never QA'd). An unknown value is unreadable. PURE. */
51
+ export function qaStandingOfState(state) {
52
+ if (state === null || state === QA_STATE.AWAITING || state === QA_STATE.PASSED)
53
+ return 'not_failed';
54
+ if (state === QA_STATE.FAILED)
55
+ return 'failed';
56
+ return 'unreadable';
57
+ }
58
+ /**
59
+ * The LANDED rule's QA input from daemon_get_tower_state's graph focus.
60
+ * `qaReadFailed` is the API saying its QA read failed: 'unreadable', which holds
61
+ * the successor exactly as the PRD frontier holds on an unreadable read. The API
62
+ * reads QA apart from the rest of the graph so that failure reaches this rule
63
+ * instead of failing the whole graph read (which the tower fails open on).
64
+ * An ABSENT qaState (and no qaReadFailed) is an API older than the field:
65
+ * 'not_reported', judged on delivery and branch facts alone -- the tower's rule
66
+ * before QA was an input -- so a new daemon against an old API holds no
67
+ * successor it did not hold before. Reading absent as unreadable instead would
68
+ * hold every depends_on successor in the product until the API ships. A value
69
+ * this daemon does not know is 'unreadable'. PURE.
25
70
  */
26
- import { DELIVERY_STATUS } from '@telora/daemon-core';
27
- export function judgeFocusLanded(deliveryStatuses, branch) {
71
+ export function qaStandingOfWire(focus) {
72
+ if (focus.qaReadFailed === true)
73
+ return 'unreadable';
74
+ return focus.qaState === undefined ? 'not_reported' : qaStandingOfState(focus.qaState);
75
+ }
76
+ /** The LANDED rule's QA input from the PRD controller's focus_qa_get read. PURE. */
77
+ export function qaStandingOfRead(read) {
78
+ return read.kind === 'unreadable' ? 'unreadable' : qaStandingOfState(read.state);
79
+ }
80
+ export function judgeFocusLanded(deliveryStatuses, branch, qa) {
28
81
  if (deliveryStatuses.length === 0)
29
82
  return 'not_landed';
30
83
  const live = deliveryStatuses.filter((s) => s !== DELIVERY_STATUS.CANCELLED);
@@ -32,6 +85,8 @@ export function judgeFocusLanded(deliveryStatuses, branch) {
32
85
  return 'not_landed';
33
86
  if (!live.every((s) => s === DELIVERY_STATUS.DONE))
34
87
  return 'not_landed';
88
+ if (qaHoldsUnlanded(qa))
89
+ return 'not_landed';
35
90
  switch (branch) {
36
91
  case 'contained':
37
92
  case 'merged_removed':
@@ -1 +1 @@
1
- {"version":3,"file":"focus-landed.js","sourceRoot":"","sources":["../../src/tower/focus-landed.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,4DAA4D;AAC5D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,MAAM,UAAU,gBAAgB,CAC9B,gBAAmC,EACnC,MAA8B;IAE9B,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IACvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACxE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,YAAY,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"focus-landed.js","sourceRoot":"","sources":["../../src/tower/focus-landed.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uEAAuE;AACvE,mDAAmD;AACnD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAchE,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,EAAmB;IACjD,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,YAAY,CAAC;AAChD,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IACpG,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkF;IACjH,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACrD,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,gBAAmC,EACnC,MAA8B,EAC9B,EAAmB;IAEnB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IACvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACxE,IAAI,eAAe,CAAC,EAAE,CAAC;QAAE,OAAO,YAAY,CAAC;IAC7C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC;QACjB,KAAK,gBAAgB;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,YAAY,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -4,7 +4,9 @@
4
4
  * which other foci, and which cannot be judged at all.
5
5
  *
6
6
  * depends_on (from -> to): `to` waits until `from` has LANDED
7
- * (tower/focus-landed.ts, the definition the PRD frontier shares). A
7
+ * (tower/focus-landed.ts, the definition the PRD frontier shares -- QA
8
+ * included: a predecessor a person failed at QA has not landed, though its
9
+ * deliveries are done and its branch merged). A
8
10
  * predecessor that has definitely not landed holds the successor with
9
11
  * `waits_on`; one whose landed state git could not answer -- with none
10
12
  * definitely unlanded -- leaves the successor UNAVAILABLE (no verdict, fail
@@ -13,7 +15,9 @@
13
15
  * tower-verdicts.ts holds whichever is reached second while the first runs or
14
16
  * is cleared.
15
17
  *
16
- * Git is read only for a predecessor whose deliveries say it could have landed.
18
+ * Git is read only for a predecessor whose deliveries and QA say it could have
19
+ * landed. A successor already running keeps running whatever its predecessor's
20
+ * QA says: the slot rule (tower-verdicts.ts) never stops a live team.
17
21
  */
18
22
  import type { FocusBranchContainment } from '../git/focus-branch-containment.js';
19
23
  import type { TowerProductState } from '../queries/tower/tower-state.js';
@@ -1 +1 @@
1
- {"version":3,"file":"tower-graph.d.ts","sourceRoot":"","sources":["../../src/tower/tower-graph.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,KAAK,EAA4C,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEvG,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,qBAAqB,CAAC,CAAC;AAEvG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,EAC9D,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,sBAAsB,GACvF,gBAAgB,CA0ClB"}
1
+ {"version":3,"file":"tower-graph.d.ts","sourceRoot":"","sources":["../../src/tower/tower-graph.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,KAAK,EAA4C,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEvG,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,GAAG,qBAAqB,CAAC,CAAC;AAEvG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,EAC9D,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,sBAAsB,GACvF,gBAAgB,CA6ClB"}
@@ -3,7 +3,7 @@
3
3
  // packages/daemon/src/tower/tower-arm-admission.test.ts, packages/daemon/src/tower/tower-pass.test.ts,
4
4
  // packages/daemon/src/tower/tower-state-ingestion.test.ts
5
5
  // PINNED-BY-END
6
- import { judgeFocusLanded } from './focus-landed.js';
6
+ import { judgeFocusLanded, qaStandingOfWire } from './focus-landed.js';
7
7
  export function judgeTowerGraph(state, containmentOf) {
8
8
  const info = new Map(state.graphFoci.map((f) => [f.focusId, f]));
9
9
  const landedCache = new Map();
@@ -15,10 +15,13 @@ export function judgeTowerGraph(state, containmentOf) {
15
15
  let result;
16
16
  if (!f)
17
17
  result = 'unknown';
18
- else if (judgeFocusLanded(f.deliveryStatuses, 'contained') !== 'landed')
19
- result = 'not_landed';
20
- else
21
- result = judgeFocusLanded(f.deliveryStatuses, containmentOf(f));
18
+ else {
19
+ const qa = qaStandingOfWire(f);
20
+ if (judgeFocusLanded(f.deliveryStatuses, 'contained', qa) !== 'landed')
21
+ result = 'not_landed';
22
+ else
23
+ result = judgeFocusLanded(f.deliveryStatuses, containmentOf(f), qa);
24
+ }
22
25
  landedCache.set(focusId, result);
23
26
  return result;
24
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tower-graph.js","sourceRoot":"","sources":["../../src/tower/tower-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-graph.js","sourceRoot":"","sources":["../../src/tower/tower-graph.ts"],"names":[],"mappings":"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"}