@telora/daemon 0.22.293 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/build-info.json +13 -3
  2. package/dist/audit/audit-floor-policy.js +1 -1
  3. package/dist/audit/audit-floor-policy.js.map +1 -1
  4. package/dist/audit/audit-prompt.d.ts.map +1 -1
  5. package/dist/audit/audit-prompt.js +21 -14
  6. package/dist/audit/audit-prompt.js.map +1 -1
  7. package/dist/completion/completion-event/event.d.ts +7 -0
  8. package/dist/completion/completion-event/event.d.ts.map +1 -1
  9. package/dist/completion/completion-event/event.js.map +1 -1
  10. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts +9 -1
  11. package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts.map +1 -1
  12. package/dist/completion/review-cycle-budget/review-cycle-cap.js +2 -1
  13. package/dist/completion/review-cycle-budget/review-cycle-cap.js.map +1 -1
  14. package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
  15. package/dist/completion/review-exit/review-census-record.js +1 -0
  16. package/dist/completion/review-exit/review-census-record.js.map +1 -1
  17. package/dist/completion/review-exit/review-exit-deps.d.ts +3 -0
  18. package/dist/completion/review-exit/review-exit-deps.d.ts.map +1 -1
  19. package/dist/completion/review-exit/review-exit-deps.js +1 -1
  20. package/dist/completion/review-exit/review-exit-evidence.d.ts +10 -0
  21. package/dist/completion/review-exit/review-exit-evidence.d.ts.map +1 -1
  22. package/dist/completion/review-exit/review-exit-evidence.js +12 -2
  23. package/dist/completion/review-exit/review-exit-evidence.js.map +1 -1
  24. package/dist/completion/review-exit/review-exit-falsifiers.d.ts +72 -0
  25. package/dist/completion/review-exit/review-exit-falsifiers.d.ts.map +1 -0
  26. package/dist/completion/review-exit/review-exit-falsifiers.js +84 -0
  27. package/dist/completion/review-exit/review-exit-falsifiers.js.map +1 -0
  28. package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
  29. package/dist/completion/review-exit/review-exit-phase.js +15 -10
  30. package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
  31. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +17 -1
  32. package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
  33. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +21 -0
  34. package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
  35. package/dist/completion/state-cascade/review-next-step.d.ts +11 -0
  36. package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
  37. package/dist/completion/state-cascade/review-next-step.js +6 -3
  38. package/dist/completion/state-cascade/review-next-step.js.map +1 -1
  39. package/dist/completion/state-cascade/standing-approval-convergence.d.ts +10 -2
  40. package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
  41. package/dist/completion/state-cascade/standing-approval-convergence.js +64 -34
  42. package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
  43. package/dist/completion/state-cascade/standing-approval-stranded.d.ts +39 -0
  44. package/dist/completion/state-cascade/standing-approval-stranded.d.ts.map +1 -0
  45. package/dist/completion/state-cascade/standing-approval-stranded.js +142 -0
  46. package/dist/completion/state-cascade/standing-approval-stranded.js.map +1 -0
  47. package/dist/completion/state-cascade/state-cascade.d.ts +8 -0
  48. package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
  49. package/dist/completion/state-cascade/state-cascade.js +2 -0
  50. package/dist/completion/state-cascade/state-cascade.js.map +1 -1
  51. package/dist/completion/team-exit/status-advance-phase.d.ts +6 -0
  52. package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
  53. package/dist/completion/team-exit/status-advance-phase.js +12 -9
  54. package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
  55. package/dist/completion/team-exit/team-completion.d.ts.map +1 -1
  56. package/dist/completion/team-exit/team-completion.js +1 -0
  57. package/dist/completion/team-exit/team-completion.js.map +1 -1
  58. package/dist/completion/team-exit/terminated-work-reconcile.d.ts +6 -0
  59. package/dist/completion/team-exit/terminated-work-reconcile.d.ts.map +1 -1
  60. package/dist/completion/team-exit/terminated-work-reconcile.js +5 -7
  61. package/dist/completion/team-exit/terminated-work-reconcile.js.map +1 -1
  62. package/dist/completion/team-outcome/apply-close.d.ts.map +1 -1
  63. package/dist/completion/team-outcome/apply-close.js +1 -0
  64. package/dist/completion/team-outcome/apply-close.js.map +1 -1
  65. package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
  66. package/dist/completion/team-outcome/apply-turn.js +13 -7
  67. package/dist/completion/team-outcome/apply-turn.js.map +1 -1
  68. package/dist/completion/team-outcome/decide-close-rows.d.ts.map +1 -1
  69. package/dist/completion/team-outcome/decide-close-rows.js +2 -7
  70. package/dist/completion/team-outcome/decide-close-rows.js.map +1 -1
  71. package/dist/completion/team-outcome/decide-turn-entry-rows.d.ts.map +1 -1
  72. package/dist/completion/team-outcome/decide-turn-entry-rows.js +5 -1
  73. package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
  74. package/dist/completion/team-outcome/exit-pipeline-state.d.ts +5 -0
  75. package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
  76. package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
  77. package/dist/completion/team-outcome/work-facts.d.ts +7 -1
  78. package/dist/completion/team-outcome/work-facts.d.ts.map +1 -1
  79. package/dist/completion/team-outcome/work-facts.js +9 -4
  80. package/dist/completion/team-outcome/work-facts.js.map +1 -1
  81. package/dist/composition/advance-precheck-context.d.ts.map +1 -1
  82. package/dist/composition/advance-precheck-context.js +1 -0
  83. package/dist/composition/advance-precheck-context.js.map +1 -1
  84. package/dist/composition/commit-gate-context.d.ts.map +1 -1
  85. package/dist/composition/commit-gate-context.js +2 -1
  86. package/dist/composition/commit-gate-context.js.map +1 -1
  87. package/dist/composition/completion-event-context.d.ts.map +1 -1
  88. package/dist/composition/completion-event-context.js +4 -0
  89. package/dist/composition/completion-event-context.js.map +1 -1
  90. package/dist/composition/daemon-contexts.js +1 -1
  91. package/dist/composition/execution-directive-context.d.ts.map +1 -1
  92. package/dist/composition/execution-directive-context.js +1 -0
  93. package/dist/composition/execution-directive-context.js.map +1 -1
  94. package/dist/composition/execution-resolver-context.d.ts.map +1 -1
  95. package/dist/composition/execution-resolver-context.js +2 -1
  96. package/dist/composition/execution-resolver-context.js.map +1 -1
  97. package/dist/composition/execution-spawn-context.d.ts +1 -1
  98. package/dist/composition/execution-spawn-context.d.ts.map +1 -1
  99. package/dist/composition/execution-spawn-context.js +6 -3
  100. package/dist/composition/execution-spawn-context.js.map +1 -1
  101. package/dist/composition/reopening-falsifier-context.d.ts +9 -0
  102. package/dist/composition/reopening-falsifier-context.d.ts.map +1 -0
  103. package/dist/composition/reopening-falsifier-context.js +82 -0
  104. package/dist/composition/reopening-falsifier-context.js.map +1 -0
  105. package/dist/composition/review-exit-context.d.ts.map +1 -1
  106. package/dist/composition/review-exit-context.js +5 -2
  107. package/dist/composition/review-exit-context.js.map +1 -1
  108. package/dist/composition/runtime-contexts.d.ts.map +1 -1
  109. package/dist/composition/runtime-contexts.js +4 -3
  110. package/dist/composition/runtime-contexts.js.map +1 -1
  111. package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
  112. package/dist/composition/runtime-delivery-advance-context.js +4 -0
  113. package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
  114. package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
  115. package/dist/composition/runtime-spawn-pass-context.js +5 -1
  116. package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
  117. package/dist/composition/spawn-pass-deps.d.ts.map +1 -1
  118. package/dist/composition/spawn-pass-deps.js +4 -0
  119. package/dist/composition/spawn-pass-deps.js.map +1 -1
  120. package/dist/composition/standing-approval-context.d.ts.map +1 -1
  121. package/dist/composition/standing-approval-context.js +5 -0
  122. package/dist/composition/standing-approval-context.js.map +1 -1
  123. package/dist/composition/state-cascade-context.d.ts.map +1 -1
  124. package/dist/composition/state-cascade-context.js +7 -2
  125. package/dist/composition/state-cascade-context.js.map +1 -1
  126. package/dist/config/live-daemon-config.d.ts.map +1 -1
  127. package/dist/config/live-daemon-config.js +2 -0
  128. package/dist/config/live-daemon-config.js.map +1 -1
  129. package/dist/daemon-state/focus-team-state.js +1 -1
  130. package/dist/delivery/commit-verdict-hold.d.ts +12 -0
  131. package/dist/delivery/commit-verdict-hold.d.ts.map +1 -1
  132. package/dist/delivery/commit-verdict-hold.js +11 -0
  133. package/dist/delivery/commit-verdict-hold.js.map +1 -1
  134. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  135. package/dist/delivery/delivery-lifecycle.js +1 -0
  136. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  137. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
  138. package/dist/delivery/delivery-reconciler-apply.js +10 -2
  139. package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
  140. package/dist/delivery/delivery-reconciler.d.ts +33 -18
  141. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  142. package/dist/delivery/delivery-reconciler.js +33 -23
  143. package/dist/delivery/delivery-reconciler.js.map +1 -1
  144. package/dist/delivery/recorded-concerns.d.ts +57 -0
  145. package/dist/delivery/recorded-concerns.d.ts.map +1 -0
  146. package/dist/delivery/recorded-concerns.js +45 -0
  147. package/dist/delivery/recorded-concerns.js.map +1 -0
  148. package/dist/directive/directive-queue.d.ts +13 -0
  149. package/dist/directive/directive-queue.d.ts.map +1 -1
  150. package/dist/directive/directive-queue.js +19 -1
  151. package/dist/directive/directive-queue.js.map +1 -1
  152. package/dist/directive/phase-sync.d.ts +10 -0
  153. package/dist/directive/phase-sync.d.ts.map +1 -1
  154. package/dist/directive/phase-sync.js +11 -0
  155. package/dist/directive/phase-sync.js.map +1 -1
  156. package/dist/focus/closed-review-window.d.ts +26 -0
  157. package/dist/focus/closed-review-window.d.ts.map +1 -0
  158. package/dist/focus/closed-review-window.js +62 -0
  159. package/dist/focus/closed-review-window.js.map +1 -0
  160. package/dist/focus/daemon-contexts.js +1 -1
  161. package/dist/focus/directive-executor.d.ts.map +1 -1
  162. package/dist/focus/directive-executor.js +3 -8
  163. package/dist/focus/directive-executor.js.map +1 -1
  164. package/dist/focus/focus-executor.js +2 -2
  165. package/dist/focus/focus-executor.js.map +1 -1
  166. package/dist/focus/focus-poller-auto-advance.d.ts +7 -0
  167. package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
  168. package/dist/focus/focus-poller-auto-advance.js +8 -6
  169. package/dist/focus/focus-poller-auto-advance.js.map +1 -1
  170. package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
  171. package/dist/focus/focus-poller-spawn.js +39 -28
  172. package/dist/focus/focus-poller-spawn.js.map +1 -1
  173. package/dist/focus/focus-poller-state.d.ts.map +1 -1
  174. package/dist/focus/focus-poller-state.js +2 -0
  175. package/dist/focus/focus-poller-state.js.map +1 -1
  176. package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
  177. package/dist/focus/pending-review-approved-head.js +2 -0
  178. package/dist/focus/pending-review-approved-head.js.map +1 -1
  179. package/dist/focus/pending-spawn-pass-deps.d.ts +3 -0
  180. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  181. package/dist/focus/pending-spawn-pass-deps.js +1 -0
  182. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  183. package/dist/focus/pending-spawn-review-next-step.d.ts +3 -0
  184. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  185. package/dist/focus/pending-spawn-review-next-step.js +3 -0
  186. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  187. package/dist/focus/ready-focus-team-work.d.ts +8 -0
  188. package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
  189. package/dist/focus/ready-focus-team-work.js +5 -1
  190. package/dist/focus/ready-focus-team-work.js.map +1 -1
  191. package/dist/focus/stranded-review-reroute.d.ts +32 -1
  192. package/dist/focus/stranded-review-reroute.d.ts.map +1 -1
  193. package/dist/focus/stranded-review-reroute.js +50 -1
  194. package/dist/focus/stranded-review-reroute.js.map +1 -1
  195. package/dist/focus/verify-open-issues.d.ts +7 -0
  196. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  197. package/dist/focus/verify-open-issues.js +8 -4
  198. package/dist/focus/verify-open-issues.js.map +1 -1
  199. package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -1
  200. package/dist/focus-stage-lifecycle/ratify-bar-gate.js +4 -3
  201. package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -1
  202. package/dist/nexus/intake-prompt-sections.js +3 -3
  203. package/dist/nexus/intake-prompt-sections.js.map +1 -1
  204. package/dist/prd/arm-readiness.d.ts +49 -74
  205. package/dist/prd/arm-readiness.d.ts.map +1 -1
  206. package/dist/prd/arm-readiness.js +48 -196
  207. package/dist/prd/arm-readiness.js.map +1 -1
  208. package/dist/prd/frontier-arming.d.ts.map +1 -1
  209. package/dist/prd/frontier-arming.js +0 -2
  210. package/dist/prd/frontier-arming.js.map +1 -1
  211. package/dist/prd/scoping-prompt.js +3 -3
  212. package/dist/prd/scoping-prompt.js.map +1 -1
  213. package/dist/prompt/focus-prompt-builder.d.ts +9 -2
  214. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  215. package/dist/prompt/focus-prompt-builder.js +19 -8
  216. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  217. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  218. package/dist/prompt/team-prompt-base.js +2 -1
  219. package/dist/prompt/team-prompt-base.js.map +1 -1
  220. package/dist/prompt-sections/execution-sections.d.ts +7 -1
  221. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  222. package/dist/prompt-sections/execution-sections.js +41 -22
  223. package/dist/prompt-sections/execution-sections.js.map +1 -1
  224. package/dist/prompt-sections/persona-sections.d.ts +6 -0
  225. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  226. package/dist/prompt-sections/persona-sections.js +30 -1
  227. package/dist/prompt-sections/persona-sections.js.map +1 -1
  228. package/dist/prompt-sections/prompt-listing.d.ts +21 -0
  229. package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
  230. package/dist/prompt-sections/prompt-listing.js +35 -0
  231. package/dist/prompt-sections/prompt-listing.js.map +1 -1
  232. package/dist/prompt-sections/role-sections.d.ts.map +1 -1
  233. package/dist/prompt-sections/role-sections.js +9 -6
  234. package/dist/prompt-sections/role-sections.js.map +1 -1
  235. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  236. package/dist/prompt-sections/routing-decider-sections.js +2 -0
  237. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  238. package/dist/prompt-sections/shared.d.ts +7 -0
  239. package/dist/prompt-sections/shared.d.ts.map +1 -1
  240. package/dist/prompt-sections/shared.js +1 -1
  241. package/dist/prompt-sections/shared.js.map +1 -1
  242. package/dist/queries/api-client/shared.js +1 -1
  243. package/dist/queries/deliveries/issues.d.ts.map +1 -1
  244. package/dist/queries/deliveries/issues.js +1 -0
  245. package/dist/queries/deliveries/issues.js.map +1 -1
  246. package/dist/queries/escalations/cause-key.d.ts +11 -0
  247. package/dist/queries/escalations/cause-key.d.ts.map +1 -1
  248. package/dist/queries/escalations/cause-key.js +15 -0
  249. package/dist/queries/escalations/cause-key.js.map +1 -1
  250. package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
  251. package/dist/queries/escalations/escalation-consumption.js +1 -0
  252. package/dist/queries/escalations/escalation-consumption.js.map +1 -1
  253. package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
  254. package/dist/queries/escalations/filing-observation.js +1 -0
  255. package/dist/queries/escalations/filing-observation.js.map +1 -1
  256. package/dist/queries/focus-review/criterion-reopenings.d.ts +62 -0
  257. package/dist/queries/focus-review/criterion-reopenings.d.ts.map +1 -0
  258. package/dist/queries/focus-review/criterion-reopenings.js +67 -0
  259. package/dist/queries/focus-review/criterion-reopenings.js.map +1 -0
  260. package/dist/queries/focus-review/recorded-concern-ids.d.ts +47 -0
  261. package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -0
  262. package/dist/queries/focus-review/recorded-concern-ids.js +33 -0
  263. package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -0
  264. package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
  265. package/dist/queries/focus-review/review-finding-facts.js +5 -1
  266. package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
  267. package/dist/queries/focuses/arm-covered-targets.d.ts +10 -1
  268. package/dist/queries/focuses/arm-covered-targets.d.ts.map +1 -1
  269. package/dist/queries/focuses/arm-covered-targets.js +9 -0
  270. package/dist/queries/focuses/arm-covered-targets.js.map +1 -1
  271. package/dist/queries/focuses/ended-arm.d.ts +12 -0
  272. package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
  273. package/dist/queries/focuses/focus-criteria-standing.d.ts +17 -0
  274. package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
  275. package/dist/queries/focuses/focus-criteria-standing.js +29 -1
  276. package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
  277. package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
  278. package/dist/queries/focuses/focus-discovery.js +2 -1
  279. package/dist/queries/focuses/focus-discovery.js.map +1 -1
  280. package/dist/queries/verification/verification.js +1 -1
  281. package/dist/reality/injection-writeback.d.ts +5 -4
  282. package/dist/reality/injection-writeback.d.ts.map +1 -1
  283. package/dist/reality/injection-writeback.js +3 -2
  284. package/dist/reality/injection-writeback.js.map +1 -1
  285. package/dist/reality/reality-writeback.d.ts +13 -12
  286. package/dist/reality/reality-writeback.d.ts.map +1 -1
  287. package/dist/reality/reality-writeback.js +5 -5
  288. package/dist/reality/reality-writeback.js.map +1 -1
  289. package/dist/resolvers/assembly-engine.js +1 -1
  290. package/dist/resolvers/compose/focus-injections-compose.d.ts.map +1 -1
  291. package/dist/resolvers/compose/focus-injections-compose.js +3 -2
  292. package/dist/resolvers/compose/focus-injections-compose.js.map +1 -1
  293. package/dist/resolvers/compose/loop-delivery-index-compose.d.ts +10 -0
  294. package/dist/resolvers/compose/loop-delivery-index-compose.d.ts.map +1 -1
  295. package/dist/resolvers/compose/loop-delivery-index-compose.js +15 -3
  296. package/dist/resolvers/compose/loop-delivery-index-compose.js.map +1 -1
  297. package/dist/resolvers/delivery-listing.d.ts +7 -0
  298. package/dist/resolvers/delivery-listing.d.ts.map +1 -1
  299. package/dist/resolvers/delivery-listing.js +26 -4
  300. package/dist/resolvers/delivery-listing.js.map +1 -1
  301. package/dist/resolvers/focus-anchoring-injections.d.ts +0 -24
  302. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  303. package/dist/resolvers/focus-anchoring-injections.js +38 -28
  304. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  305. package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
  306. package/dist/resolvers/focus-criteria-standing.js +19 -8
  307. package/dist/resolvers/focus-criteria-standing.js.map +1 -1
  308. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  309. package/dist/resolvers/loop-delivery-index.js +9 -1
  310. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  311. package/dist/resolvers/shared/loop.d.ts +17 -0
  312. package/dist/resolvers/shared/loop.d.ts.map +1 -1
  313. package/dist/resolvers/shared/loop.js.map +1 -1
  314. package/dist/security/security-auto-inject.d.ts +19 -5
  315. package/dist/security/security-auto-inject.d.ts.map +1 -1
  316. package/dist/security/security-auto-inject.js +21 -6
  317. package/dist/security/security-auto-inject.js.map +1 -1
  318. package/dist/session/session-lineage.d.ts +29 -9
  319. package/dist/session/session-lineage.d.ts.map +1 -1
  320. package/dist/session/session-lineage.js +33 -8
  321. package/dist/session/session-lineage.js.map +1 -1
  322. package/dist/spawn/directive-dispatch.d.ts.map +1 -1
  323. package/dist/spawn/directive-dispatch.js +1 -0
  324. package/dist/spawn/directive-dispatch.js.map +1 -1
  325. package/dist/spawn/idle-work-stamp.d.ts +7 -0
  326. package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
  327. package/dist/spawn/idle-work-stamp.js +2 -1
  328. package/dist/spawn/idle-work-stamp.js.map +1 -1
  329. package/dist/spawn/lead-continuation.d.ts +7 -0
  330. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  331. package/dist/spawn/lead-continuation.js +5 -2
  332. package/dist/spawn/lead-continuation.js.map +1 -1
  333. package/dist/spawn/loop-llm-client.d.ts +10 -1
  334. package/dist/spawn/loop-llm-client.d.ts.map +1 -1
  335. package/dist/spawn/loop-llm-client.js +15 -7
  336. package/dist/spawn/loop-llm-client.js.map +1 -1
  337. package/dist/spawn/model-id-guards.d.ts +9 -4
  338. package/dist/spawn/model-id-guards.d.ts.map +1 -1
  339. package/dist/spawn/model-id-guards.js +11 -4
  340. package/dist/spawn/model-id-guards.js.map +1 -1
  341. package/dist/spawn/prompt-assembly.d.ts +2 -0
  342. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  343. package/dist/spawn/prompt-assembly.js +3 -1
  344. package/dist/spawn/prompt-assembly.js.map +1 -1
  345. package/dist/spawn/review-hold-park.d.ts +4 -2
  346. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  347. package/dist/spawn/review-hold-park.js +9 -5
  348. package/dist/spawn/review-hold-park.js.map +1 -1
  349. package/dist/spawn/worktree-session.d.ts +14 -3
  350. package/dist/spawn/worktree-session.d.ts.map +1 -1
  351. package/dist/spawn/worktree-session.js +13 -3
  352. package/dist/spawn/worktree-session.js.map +1 -1
  353. package/dist/supervision/agent-resolvable-promotion.d.ts +14 -2
  354. package/dist/supervision/agent-resolvable-promotion.d.ts.map +1 -1
  355. package/dist/supervision/agent-resolvable-promotion.js +24 -3
  356. package/dist/supervision/agent-resolvable-promotion.js.map +1 -1
  357. package/dist/supervision/escalation-filing.js +1 -1
  358. package/dist/supervision/escalation-suppression.js +1 -1
  359. package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
  360. package/dist/supervision/focus-delivery-aggregate-phase.js +1 -0
  361. package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
  362. package/dist/supervision/spawn-cooldown.js +1 -1
  363. package/dist/supervision/stop-registry.d.ts +1 -0
  364. package/dist/supervision/stop-registry.d.ts.map +1 -1
  365. package/dist/supervision/stop-rows-delivery.d.ts +6 -0
  366. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  367. package/dist/supervision/stop-rows-delivery.js +20 -0
  368. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  369. package/dist/supervision/team-work.d.ts +15 -1
  370. package/dist/supervision/team-work.d.ts.map +1 -1
  371. package/dist/supervision/team-work.js +7 -2
  372. package/dist/supervision/team-work.js.map +1 -1
  373. package/dist/templates/agents-md.d.ts.map +1 -1
  374. package/dist/templates/agents-md.js +1 -0
  375. package/dist/templates/agents-md.js.map +1 -1
  376. package/dist/templates/claude-md.d.ts +1 -1
  377. package/dist/templates/claude-md.d.ts.map +1 -1
  378. package/dist/templates/claude-md.js +12 -0
  379. package/dist/templates/claude-md.js.map +1 -1
  380. package/dist/testing/arm-coverage-model.d.ts +13 -0
  381. package/dist/testing/arm-coverage-model.d.ts.map +1 -1
  382. package/dist/testing/arm-coverage-model.js +118 -9
  383. package/dist/testing/arm-coverage-model.js.map +1 -1
  384. package/dist/testing/fixtures/api-client.js +1 -1
  385. package/dist/testing/fixtures/approved-head-inert-deps.d.ts.map +1 -1
  386. package/dist/testing/fixtures/approved-head-inert-deps.js +1 -0
  387. package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
  388. package/dist/testing/fixtures/completion-event-deps.d.ts +1 -1
  389. package/dist/testing/fixtures/completion-event-deps.d.ts.map +1 -1
  390. package/dist/testing/fixtures/completion-event-deps.js +1 -0
  391. package/dist/testing/fixtures/completion-event-deps.js.map +1 -1
  392. package/dist/testing/fixtures/index.js +1 -1
  393. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  394. package/dist/testing/fixtures/pending-spawn-world.js +3 -0
  395. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  396. package/dist/testing/fixtures/process-close-context.d.ts.map +1 -1
  397. package/dist/testing/fixtures/process-close-context.js +1 -0
  398. package/dist/testing/fixtures/process-close-context.js.map +1 -1
  399. package/dist/testing/fixtures/recording-api-client.js +1 -1
  400. package/dist/testing/fixtures/review-exit-deps.js +1 -1
  401. package/dist/testing/fixtures/session-wire.d.ts.map +1 -1
  402. package/dist/testing/fixtures/session-wire.js +2 -1
  403. package/dist/testing/fixtures/session-wire.js.map +1 -1
  404. package/dist/types/index.js +1 -1
  405. package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
  406. package/dist/verify/attribution/verification-baseline-run.js +2 -1
  407. package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
  408. package/dist/verify/effect-reconciliation/recorded-targets.d.ts +14 -0
  409. package/dist/verify/effect-reconciliation/recorded-targets.d.ts.map +1 -1
  410. package/dist/verify/effect-reconciliation/recorded-targets.js +20 -0
  411. package/dist/verify/effect-reconciliation/recorded-targets.js.map +1 -1
  412. package/dist/verify/effect-reconciliation/verify-restatement.d.ts +15 -1
  413. package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
  414. package/dist/verify/effect-reconciliation/verify-restatement.js +93 -59
  415. package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
  416. package/dist/verify/engine/reconciliation-step.d.ts.map +1 -1
  417. package/dist/verify/engine/reconciliation-step.js +4 -1
  418. package/dist/verify/engine/reconciliation-step.js.map +1 -1
  419. package/dist/verify/falsifier/falsifier-command.d.ts +37 -0
  420. package/dist/verify/falsifier/falsifier-command.d.ts.map +1 -0
  421. package/dist/verify/falsifier/falsifier-command.js +40 -0
  422. package/dist/verify/falsifier/falsifier-command.js.map +1 -0
  423. package/dist/verify/falsifier/falsifier-run.d.ts +47 -0
  424. package/dist/verify/falsifier/falsifier-run.d.ts.map +1 -0
  425. package/dist/verify/falsifier/falsifier-run.js +117 -0
  426. package/dist/verify/falsifier/falsifier-run.js.map +1 -0
  427. package/dist/verify/falsifier/falsifier-verdict.d.ts +52 -0
  428. package/dist/verify/falsifier/falsifier-verdict.d.ts.map +1 -0
  429. package/dist/verify/falsifier/falsifier-verdict.js +61 -0
  430. package/dist/verify/falsifier/falsifier-verdict.js.map +1 -0
  431. package/dist/verify/gate-config/commit-gate-configured.d.ts +2 -0
  432. package/dist/verify/gate-config/commit-gate-configured.d.ts.map +1 -1
  433. package/dist/verify/gate-config/commit-gate-configured.js.map +1 -1
  434. package/dist/verify/shortfalls/each-table.d.ts +45 -0
  435. package/dist/verify/shortfalls/each-table.d.ts.map +1 -0
  436. package/dist/verify/shortfalls/each-table.js +219 -0
  437. package/dist/verify/shortfalls/each-table.js.map +1 -0
  438. package/dist/verify/shortfalls/each-title-render.d.ts +67 -0
  439. package/dist/verify/shortfalls/each-title-render.d.ts.map +1 -0
  440. package/dist/verify/shortfalls/each-title-render.js +473 -0
  441. package/dist/verify/shortfalls/each-title-render.js.map +1 -0
  442. package/dist/verify/shortfalls/generated-test-titles.d.ts +18 -0
  443. package/dist/verify/shortfalls/generated-test-titles.d.ts.map +1 -0
  444. package/dist/verify/shortfalls/generated-test-titles.js +232 -0
  445. package/dist/verify/shortfalls/generated-test-titles.js.map +1 -0
  446. package/dist/verify/shortfalls/pre-judge-rulings.d.ts.map +1 -1
  447. package/dist/verify/shortfalls/pre-judge-rulings.js +2 -1
  448. package/dist/verify/shortfalls/pre-judge-rulings.js.map +1 -1
  449. package/dist/verify/shortfalls/ruling-evidence-resolution.d.ts.map +1 -1
  450. package/dist/verify/shortfalls/ruling-evidence-resolution.js +6 -2
  451. package/dist/verify/shortfalls/ruling-evidence-resolution.js.map +1 -1
  452. package/dist/worktree/verify-hold-facts.d.ts +2 -0
  453. package/dist/worktree/verify-hold-facts.d.ts.map +1 -1
  454. package/dist/worktree/verify-hold-facts.js +1 -0
  455. package/dist/worktree/verify-hold-facts.js.map +1 -1
  456. package/package.json +2 -2
@@ -37,9 +37,10 @@ export function renderRatifyBarRefusalArtifact(args, since) {
37
37
  '',
38
38
  '## What clears it',
39
39
  '',
40
- 'Anchor the remediation delivery to an injection that targets an undesired effect,',
41
- 'and give every covered undesired effect an frt_statement -- the future the world',
42
- 'reads as once the remediation has landed.',
40
+ 'Aim the remediation delivery\'s injection at the causes that sustain an undesired',
41
+ 'effect (the effect is covered once every sustaining cause is targeted), and give',
42
+ 'every covered undesired effect an frt_statement -- the future the world reads as',
43
+ 'once the remediation has landed.',
43
44
  ].join('\n');
44
45
  }
45
46
  /** Record the held crossing. NEVER throws (see `recordArmRefusalSection`). */
@@ -1 +1 @@
1
- {"version":3,"file":"ratify-bar-gate.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/ratify-bar-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ratify-bar-gate.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/ratify-bar-gate.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+EAA+E;AAC/E,gBAAgB;AAmDhB,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAoB9D;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAOC,EACD,KAAa;IAEb,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC3E,OAAO;QACL,+EAA+E;QAC/E,EAAE;QACF,kFAAkF;QAClF,iFAAiF;QACjF,iFAAiF;QACjF,oEAAoE;QACpE,EAAE;QACF,8EAA8E;QAC9E,6DAA6D;QAC7D,EAAE;QACF,GAAG,oBAAoB,GAAG,KAAK,EAAE;QACjC,cAAc,UAAU,EAAE;QAC1B,UAAU,SAAS,KAAK,OAAO,GAAG;QAClC,YAAY,iBAAiB,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,uCAAuC,EAAE;QAC3G,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,MAAM;QACN,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,mFAAmF;QACnF,kFAAkF;QAClF,kFAAkF;QAClF,kCAAkC;KACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,sBAAsB,CACnC,KAAqB,EACrB,MAAc,EACd,iBAA0B,EAC1B,IAAuB;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,IAAI,CAAC,uBAAuB,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU;QACV,MAAM;QACN,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,8BAA8B,CAC5B,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAC7F,KAAK,CACN;KACJ,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAqB,EACrB,IAAuB;IAEvB,IAAI,QAAQ,GAA4B,IAAI,CAAC;IAC7C,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,2DAA2D;QAC3D,SAAS,GAAI,GAAa,CAAC,OAAO,CAAC;IACrC,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,EAAE;QACxC,WAAW,EAAE,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ;QACnD,UAAU,EAAE,QAAQ,EAAE,UAAU,KAAK,IAAI;KAC1C,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,4EAA4E;QAC5E,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,CACN,mEAAmE,KAAK,CAAC,SAAS,IAAI;YACtF,iBAAiB,SAAS,0BAA0B,CACrD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CACN,oDAAoD,KAAK,CAAC,SAAS,OAAO;YAC1E,GAAG,QAAQ,CAAC,MAAM,uBAAuB,CAC1C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG,CAAC,IAAI,CACN,qDAAqD,KAAK,CAAC,SAAS,OAAO;QAC3E,GAAG,QAAQ,CAAC,MAAM,6DAA6D;QAC/E,8CAA8C,CAC/C,CAAC;IACF,MAAM,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAqB,EACrB,GAAY,EACZ,IAAuB;IAEvB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,mBAAmB;QACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CACN,qEAAqE;QACrE,IAAI,KAAK,CAAC,SAAS,+DAA+D;QAClF,GAAG,OAAO,CAAC,MAAM,EAAE,CACpB,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC"}
@@ -82,19 +82,19 @@ export function renderScopingSteps(params) {
82
82
  ` a. Bring the observation into THIS product's terms: the requester's effect and its upstream causes become entities and undesired effects in your tree, carrying the evidence that travelled with them. You are not copying their tree; you are stating, in your product's causal terms, what produces the effect they see.`,
83
83
  ` b. Create the MIRROR of the requested undesired effect: one node whose statement is the requester's effect and which carries their evidence. This is the node the whole request is judged against, so it must exist as its own node.`,
84
84
  ` c. Wire the causes, then keep asking "and what causes THAT?" until you reach roots inside this product -- something your team can act on. The effect the requester named is a SYMPTOM in your tree; it is almost never where the injection goes.`,
85
- ` d. Place your injections at the ROOTS you found. Not at the items the acceptance contract lists: those describe a future, and an injection is an act. Draw a \`targets\` edge from each injection to the node(s) it flips.`,
85
+ ` d. Place your injections at the ROOTS you found. Not at the items the acceptance contract lists: those describe a future, and an injection is an act. Draw a \`targets\` edge from each injection to the CAUSE(s) it changes -- never to an undesired effect: the effects your targeted causes earn follow from the causal edges.`,
86
86
  ` e. derive_frt, then read the derived cascade AGAINST the acceptance contract. The contract is the BAR -- does the future your injections produce clear it? If not, the plan is short, not the contract wrong.`,
87
87
  ` The contract tells you what must become TRUE. It does not tell you where the tree starts, which mechanism to build, or what is beyond reach.`,
88
88
  ]
89
89
  : [
90
- `3. telora_reality_tree create on the focus, then author the CRT: capture the undesired effects this request implies in THIS product, wire their causes down to roots you can act on, and place injections at those roots, drawing a \`targets\` edge from each injection to the node(s) it flips. Then derive_frt and read the derived cascade against the acceptance contract as the BAR it must clear. This request carries no observation (it is endpoint-typed, or was raised before requests carried one), so the contract is all you have to judge against -- but it is still a bar on the future, never a description of the tree to build.`,
90
+ `3. telora_reality_tree create on the focus, then author the CRT: capture the undesired effects this request implies in THIS product, wire their causes down to roots you can act on, and place injections at those roots, drawing a \`targets\` edge from each injection to the CAUSE(s) it changes (never to an undesired effect -- the effects follow from the causal edges). Then derive_frt and read the derived cascade against the acceptance contract as the BAR it must clear. This request carries no observation (it is endpoint-typed, or was raised before requests carried one), so the contract is all you have to judge against -- but it is still a bar on the future, never a description of the tree to build.`,
91
91
  ];
92
92
  return [
93
93
  `## Steps (do these in order, verifying each with a follow-up read)`,
94
94
  `1. telora_product_focus create -- name the focus from the request title ("${title}"), productId = ${targetProductId}. The description MUST include, verbatim, the marker line "${marker}" AND the full acceptance contract above (so any follow-up team has the goal even if the tree is not yet built). Leave assignedAgentRoleId UNSET here -- the arm is the last step, not the first.`,
95
95
  `2. telora_product_request materialize -- requestId = ${requestId}, materializedFocusId = <the focus id you created>. Do this NOW, immediately after the focus exists -- BEFORE building the tree or deliveries, and long before the arm. This stamps the focus back on the request (accepted -> in_progress) so it leaves the intake-pending set and a second scoping agent can never be spawned for it. The stamp is what guarantees that -- not the arm, which has not happened yet. If your run crashes after this point, the per-request focus already exists and the normal loop finishes scoping it; if it crashed before this point, the idempotency check above reuses the focus.`,
96
96
  ...step3,
97
- ` RESTATEMENT IS REQUIRED ON EVERY INJECTION TARGET: each undesired effect an injection targets MUST carry a non-blank frtStatement -- the future that node reads as once this work lands -- together with its frtNodeType (what the node becomes: desired_effect). Set both with telora_reality_tree_node update (frtStatement + frtNodeType) on EVERY target, then re-read the nodes and confirm not one of them is blank.`,
97
+ ` RESTATEMENT IS REQUIRED ON EVERY TARGET AND EVERY EFFECT IT EARNS: each cause an injection targets MUST carry a non-blank frtStatement -- how it works once this work lands (pass it as the target action's restatements) -- and each undesired effect those causes earn MUST carry a non-blank frtStatement too -- the future that effect reads as -- together with its frtNodeType (desired_effect). Set the effects' with telora_reality_tree_node update (frtStatement + frtNodeType), then re-read the nodes and confirm not one of them is blank. An effect is earned once every cause sustaining it is targeted.`,
98
98
  ` This is not decoration, and it is not optional. The arm in step 5 is REFUSED BY THE DATABASE when any undesired effect it covers states no future: the call fails with an "arm_criteria_required:" error that NAMES the unstated nodes, because an arm that covers an unstated effect would stamp a bar nobody wrote down. If you see that refusal, state the futures it names and issue the arm again -- do not work around it, and do not skip the arm.`,
99
99
  `4. telora_product_delivery create -- decompose the work into one or more deliveries, EACH anchored to an injection (injectionNodeId) and carrying a workFacing label ("outward" for new ground / a capability not had before, "inward" for improving existing ground). Scope deliveries by the phases the work naturally has. These MUST exist and be injection-anchored BEFORE the arm in step 5: an arm covers exactly the effects the deliveries' injections target at the instant it lands, so arming an empty or tree-less focus covers nothing and strands everything you scope afterwards at 'planning'.`,
100
100
  ` Then call telora_product_request materialize ONCE MORE with the SAME materializedFocusId, plus materializedDeliveryId = <the representative delivery id>${hasObservation ? `, plus mirroredNodeId = <the id of the mirror node you created in step 3b>` : ''}. The request is already in_progress at this point, which is fine -- materialize is idempotent for the same focus and just records the delivery the return-path loop watches to resolve this request when it reaches done.${hasObservation ? ` Recording the mirror is what lets this call check that your plan actually reaches the effect the requester observed; a plan whose injections do not flip that node is not a plan for this request.` : ''}`,
@@ -1 +1 @@
1
- {"version":3,"file":"intake-prompt-sections.js","sourceRoot":"","sources":["../../src/nexus/intake-prompt-sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intake-prompt-sections.js","sourceRoot":"","sources":["../../src/nexus/intake-prompt-sections.ts"],"names":[],"mappings":"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"}
@@ -1,73 +1,41 @@
1
- /** A delivery as this check reads it. */
2
- export interface ArmReadinessDelivery {
3
- id: string;
4
- name: string;
5
- /**
6
- * The delivery's execution status. Nullable on the wire; a null status is
7
- * NOT 'cancelled', so it counts as live -- the bar below turns on the anchor
8
- * and the restatements, and a missing status must not silently drop a
9
- * delivery out of the evidence.
10
- */
11
- executionStatus: string | null;
12
- /** The injection the delivery is anchored to, or null when unanchored. */
13
- injectionId: string | null;
14
- }
15
1
  /**
16
- * One effect an injection promises to flip: the node id, and the restatement
17
- * declared on it (`frt_statement`), or null when none was declared.
2
+ * "Is this focus scoped enough to arm?" -- the question the PRD controller and
3
+ * the ratify crossing ask BEFORE they issue a go-signal the database may refuse.
4
+ *
5
+ * An arm covers the effects the focus held when the go-signal was given, and
6
+ * the database fixes that set AT THE ARM (`armed_baseline_target_node_ids`). So
7
+ * an arm placed on an unscoped focus covers nothing, permanently: every
8
+ * delivery scoped afterwards rests at `planning` until someone arms again.
9
+ *
10
+ * ONE DEFINITION, READ -- NOT RESTATED. What an arm covers is DERIVED from the
11
+ * tree (docs/DECISIONS.md, "Targets mean anchoring, coverage is derived"): the
12
+ * undesired effects the anchored injections' targeted causes EARN over
13
+ * `sufficient` / `and` edges, plus any undesired effect an injection targets
14
+ * directly. That derivation lives once per runtime -- `deriveArmCoveredEffects`
15
+ * at the edge, `focus_arm_baseline_snapshot()` in the database -- and the
16
+ * daemon cannot import either. So this module no longer derives anything: it
17
+ * reads the edge's LIVE `focus_criteria_standing` preview (the tree half an
18
+ * arm issued now would stamp) and maps it onto the database's two refusals.
19
+ *
20
+ * THE BAR, the database's own: the covered set holds at least one undesired
21
+ * effect, and every covered effect states its future. `stamp_focus_arm_baseline()`
22
+ * refuses on exactly this at both
23
+ * go-signals -- the role arm, and the read_only TRUE -> FALSE ratify crossing.
24
+ *
25
+ * A PRE-CHECK, NEVER THE AUTHORITY: the trigger derives its own answer at the
26
+ * instant of the write, and callers still handle the refusal arriving anyway.
27
+ *
28
+ * FAIL CLOSED = DO NOT ARM. An unreadable read, or a derivation the edge
29
+ * reports INCOMPLETE (a scan bound bit), answers "not ready" with the reason.
30
+ * Arming on an unproven scope costs the human's go-signal itself.
18
31
  */
19
- export interface ArmReadinessTarget {
20
- nodeId: string;
21
- frtStatement: string | null;
22
- }
32
+ import type { FocusCriteriaStanding } from '../queries/focuses/focus-criteria-standing.js';
23
33
  /** The answer, with the reason it came out that way (logged, never escalated). */
24
34
  export interface FocusArmReadiness {
25
35
  ready: boolean;
26
36
  /** Human-readable why -- goes straight into the daemon log line. */
27
37
  reason: string;
28
- /** The anchored deliveries that met the bar (empty when not ready). */
29
- readyDeliveryIds: string[];
30
38
  }
31
- /**
32
- * The bar, PURE. `targetsByInjectionId` maps each anchored delivery's injection
33
- * to the effects it promises to flip.
34
- *
35
- * A delivery is COUNTED when it is anchored, not cancelled, and its injection's
36
- * targets all carry a restatement. An injection with NO targets is not counted:
37
- * "every target carries a restatement" is vacuously true of an empty set, and
38
- * an arm over an empty set is precisely the zero-effect arm this check refuses.
39
- */
40
- export declare function assessArmReadiness(deliveries: ArmReadinessDelivery[], targetsByInjectionId: Map<string, ArmReadinessTarget[]>): FocusArmReadiness;
41
- /**
42
- * The reads this check needs. Required: the production binding (the two reads
43
- * below) is chosen at the composition root (composition/runtime-contexts.ts,
44
- * `armReadiness`); tests hand in stubs.
45
- */
46
- export interface ArmReadinessDeps {
47
- loadDeliveries: (focusId: string) => Promise<ArmReadinessDelivery[]>;
48
- loadTargetsByInjectionId: (injectionIds: string[]) => Promise<Map<string, ArmReadinessTarget[]>>;
49
- }
50
- /** Production read: the focus's deliveries, narrowed to the fields the bar reads. */
51
- export declare function loadArmReadinessDeliveries(focusId: string): Promise<ArmReadinessDelivery[]>;
52
- /**
53
- * Production read: the injection-context read's `nowTargets` -- per targeted undesired
54
- * effect, its current statement and the `frt_statement` it becomes.
55
- *
56
- * `nowTargets` reports the UDE targets, which is exactly the set this bar is
57
- * about: those are the effects an injection PROMISES TO FLIP, and the ones a
58
- * later verify reconciles against. An injection that targets only a cause
59
- * entity reports none here and is not counted -- it states no effect, so an arm
60
- * over it covers nothing checkable. A backend predating the field omits it,
61
- * which reads the same way: not ready, never a silent pass.
62
- */
63
- export declare function loadArmReadinessTargets(injectionIds: string[]): Promise<Map<string, ArmReadinessTarget[]>>;
64
- /**
65
- * Read a focus's arm readiness. NEVER throws: an unreadable input answers "not
66
- * ready" with the failure as its reason, and the caller logs it and re-tries on
67
- * a later tick. Nothing is escalated -- an unscoped focus is a waiting state,
68
- * not an incident.
69
- */
70
- export declare function readFocusArmReadiness(focusId: string, deps: ArmReadinessDeps): Promise<FocusArmReadiness>;
71
39
  /**
72
40
  * What a live read of the focus's covered effects says about its bar.
73
41
  *
@@ -79,7 +47,7 @@ export declare function readFocusArmReadiness(focusId: string, deps: ArmReadines
79
47
  export interface FocusBarStanding {
80
48
  /** True only when the covered set holds >= 1 effect and none is unstated. */
81
49
  statesABar: boolean;
82
- /** False when a read failed; the verdict is then a hold, not a finding. */
50
+ /** False when a read failed or was incomplete; the verdict is then a hold, not a finding. */
83
51
  readable: boolean;
84
52
  /** Human-readable why -- goes straight into a log line or a record. */
85
53
  reason: string;
@@ -88,24 +56,31 @@ export interface FocusBarStanding {
88
56
  /** The covered effects whose `frt_statement` is null or blank. */
89
57
  unstatedNodeIds: string[];
90
58
  }
59
+ /** The read this check needs: the edge's LIVE criteria-standing preview. */
60
+ export interface ArmReadinessDeps {
61
+ loadCoverage: (focusId: string) => Promise<FocusCriteriaStanding>;
62
+ }
91
63
  /**
92
- * The database's rule, PURE, over the same inputs `assessArmReadiness` reads.
64
+ * The database's rule, PURE, over the edge's live preview.
93
65
  *
94
- * Mirrors `stamp_focus_arm_baseline()` / `focus_arm_baseline_snapshot()`: the
95
- * covered set is the union of every non-cancelled anchored delivery's injection
96
- * targets (the injection-context read's `nowTargets`, which reports the
97
- * UNDESIRED EFFECT targets -- the same node type the trigger counts), it must be
98
- * non-empty, and every member must carry a non-blank restatement.
99
- *
100
- * It is a PRE-CHECK, never the authority: the trigger derives its own answer at
101
- * the instant of the write, and the two are read seconds apart. A caller still
102
- * handles the refusal arriving anyway.
66
+ * Covered effects = the TREE criteria (one per covered effect stating its
67
+ * future) plus the covered effects stating none. `untargetedSustainingCauses`
68
+ * is folded into the zero-effect reason so the log line names what to aim at.
103
69
  */
104
- export declare function assessFocusStatesABar(deliveries: ArmReadinessDelivery[], targetsByInjectionId: Map<string, ArmReadinessTarget[]>): FocusBarStanding;
70
+ export declare function assessFocusStatesABar(standing: FocusCriteriaStanding): FocusBarStanding;
71
+ /** The PRD frontier's question, answered by the database's rule. PURE. */
72
+ export declare function assessArmReadiness(standing: FocusCriteriaStanding): FocusArmReadiness;
105
73
  /**
106
74
  * Read whether a focus states a bar, live. NEVER throws: an unreadable input
107
75
  * answers `{ statesABar: false, readable: false }` with the failure as its
108
76
  * reason, so the caller holds rather than crossing on an unproven bar.
109
77
  */
110
78
  export declare function readFocusStatesABar(focusId: string, deps: ArmReadinessDeps): Promise<FocusBarStanding>;
79
+ /**
80
+ * Read a focus's arm readiness. NEVER throws: an unreadable input answers "not
81
+ * ready" with the failure as its reason, and the caller logs it and re-tries on
82
+ * a later tick. Nothing is escalated -- an unscoped focus is a waiting state,
83
+ * not an incident.
84
+ */
85
+ export declare function readFocusArmReadiness(focusId: string, deps: ArmReadinessDeps): Promise<FocusArmReadiness>;
111
86
  //# sourceMappingURL=arm-readiness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arm-readiness.d.ts","sourceRoot":"","sources":["../../src/prd/arm-readiness.ts"],"names":[],"mappings":"AAqEA,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAQD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,oBAAoB,EAAE,EAClC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,GACtD,iBAAiB,CA8BnB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACrE,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;CAClG;AAED,qFAAqF;AACrF,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAQjG;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAa5C;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAmB5B;AAKD;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,UAAU,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,oBAAoB,EAAE,EAClC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,GACtD,gBAAgB,CA0ClB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAqB3B"}
1
+ {"version":3,"file":"arm-readiness.d.ts","sourceRoot":"","sources":["../../src/prd/arm-readiness.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAK3F,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,UAAU,EAAE,OAAO,CAAC;IACpB,6FAA6F;IAC7F,QAAQ,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,gBAAgB,CAkDvF;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,iBAAiB,CAGrF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAM5B"}
@@ -6,237 +6,76 @@
6
6
  // packages/daemon/src/prd/prd-frontier-arm-refused.test.ts,
7
7
  // packages/daemon/src/prd/prd-frontier-arming.test.ts
8
8
  // PINNED-BY-END
9
- /**
10
- * "Is this focus scoped enough to arm?" -- the question the PRD controller must
11
- * answer BEFORE it spends the PRD's Play on a frontier focus.
12
- *
13
- * An arm covers the effects the focus held when the go-signal was given, and
14
- * the database fixes that set AT THE ARM (`armed_baseline_target_node_ids`). So
15
- * an arm placed on an empty focus covers nothing, permanently: every delivery
16
- * scoped afterwards rests at `planning`, invisible to the running team, until
17
- * someone arms again. The controller therefore asks this first.
18
- *
19
- * THE BAR: the focus holds at least ONE anchored, non-cancelled delivery whose
20
- * injection names at least one target, and EVERY one of that injection's
21
- * targets carries an `frt_statement`. An anchor says which cause the delivery
22
- * changes; the restatement says what the world reads as once it has. A target
23
- * with no restatement states no future, so an arm covering it covers nothing a
24
- * later verify can check -- which is the whole failure this module exists to
25
- * prevent.
26
- *
27
- * PREFER `criteria_standing` ONCE IT LANDS. A sibling delivery is adding a
28
- * `criteria_standing` read that answers exactly this question for an un-armed
29
- * focus, derived live at the edge. When it lands, this module's IO half
30
- * (`readFocusArmReadiness`) should become a call to it and the local derivation
31
- * below should be deleted -- a second definition of "scoped enough" is exactly
32
- * the drift the arm-coverage work exists to remove. It has NOT landed yet, so
33
- * the derivation here is direct and deliberately narrow.
34
- *
35
- * FAIL CLOSED = DO NOT ARM. Every unreadable input answers "not ready" with the
36
- * reason. That is the safe direction here and the opposite of verify's: verify
37
- * holds a delivery to every target when it cannot prove coverage, because
38
- * judging one target too many costs a re-work cycle; arming on an unproven
39
- * scope costs the human's go-signal itself, which only a new arm restores.
40
- *
41
- * TWO QUESTIONS LIVE HERE, AND THEY ARE NOT THE SAME BAR. Read the one you
42
- * mean:
43
- *
44
- * `assessArmReadiness` -- "is there a delivery worth spending the PRD's Play
45
- * on?" PER-DELIVERY: one anchored delivery whose own injection's targets all
46
- * state futures is enough. The PRD frontier asks this because it chooses
47
- * WHETHER to arm.
48
- *
49
- * `assessFocusStatesABar` -- the DATABASE's rule, restated: across the whole
50
- * covered set, at least one undesired effect, and NOT ONE of them unstated.
51
- * `stamp_focus_arm_baseline()` (migration 20260922173056) refuses on exactly
52
- * this, at both go-signals -- the role arm, and the read_only TRUE -> FALSE
53
- * ratify crossing of an audit focus. A caller about to cross one of those
54
- * asks THIS one, so the refusal never has to arrive mid-crossing.
55
- *
56
- * The second is strictly the stricter: a focus with one stated delivery and one
57
- * unstated one passes the first and is refused by the second. That is why they
58
- * are separate functions rather than one with a flag -- they answer different
59
- * questions, and collapsing them would silently move the PRD frontier's bar.
60
- */
61
- import { DELIVERY_STATUS } from '@telora/daemon-core';
62
- import { getFocusDeliveries } from '../queries/focuses/focuses.js';
63
- import { fetchInjectionBundles } from '../resolvers/shared/loop.js';
64
9
  import { createLogger } from '../log/daemon-log.js';
65
10
  const log = createLogger({ module: 'prd-controller' });
66
- /** Does this injection's target set state a future? */
67
- function targetsStateAFuture(targets) {
68
- if (targets.length === 0)
69
- return false;
70
- return targets.every((t) => (t.frtStatement ?? '').trim().length > 0);
71
- }
72
11
  /**
73
- * The bar, PURE. `targetsByInjectionId` maps each anchored delivery's injection
74
- * to the effects it promises to flip.
12
+ * The database's rule, PURE, over the edge's live preview.
75
13
  *
76
- * A delivery is COUNTED when it is anchored, not cancelled, and its injection's
77
- * targets all carry a restatement. An injection with NO targets is not counted:
78
- * "every target carries a restatement" is vacuously true of an empty set, and
79
- * an arm over an empty set is precisely the zero-effect arm this check refuses.
80
- */
81
- export function assessArmReadiness(deliveries, targetsByInjectionId) {
82
- const live = deliveries.filter((d) => d.executionStatus !== DELIVERY_STATUS.CANCELLED);
83
- if (live.length === 0) {
84
- return { ready: false, reason: 'the focus holds no non-cancelled delivery', readyDeliveryIds: [] };
85
- }
86
- const anchored = live.filter((d) => (d.injectionId ?? '').length > 0);
87
- if (anchored.length === 0) {
88
- return {
89
- ready: false,
90
- reason: `${live.length} delivery/deliveries, none anchored to an injection`,
91
- readyDeliveryIds: [],
92
- };
93
- }
94
- const readyDeliveryIds = anchored
95
- .filter((d) => targetsStateAFuture(targetsByInjectionId.get(d.injectionId) ?? []))
96
- .map((d) => d.id);
97
- if (readyDeliveryIds.length === 0) {
98
- return {
99
- ready: false,
100
- reason: `${anchored.length} anchored delivery/deliveries, but none whose injection targets ` +
101
- 'all carry an frt_statement (an arm over them would cover no stated effect)',
102
- readyDeliveryIds: [],
103
- };
104
- }
105
- return {
106
- ready: true,
107
- reason: `${readyDeliveryIds.length} of ${anchored.length} anchored delivery/deliveries state their targets' futures`,
108
- readyDeliveryIds,
109
- };
110
- }
111
- /** Production read: the focus's deliveries, narrowed to the fields the bar reads. */
112
- export async function loadArmReadinessDeliveries(focusId) {
113
- const deliveries = await getFocusDeliveries(focusId);
114
- return deliveries.map((d) => ({
115
- id: d.id,
116
- name: d.name,
117
- executionStatus: d.executionStatus,
118
- injectionId: d.injectionId ?? null,
119
- }));
120
- }
121
- /**
122
- * Production read: the injection-context read's `nowTargets` -- per targeted undesired
123
- * effect, its current statement and the `frt_statement` it becomes.
124
- *
125
- * `nowTargets` reports the UDE targets, which is exactly the set this bar is
126
- * about: those are the effects an injection PROMISES TO FLIP, and the ones a
127
- * later verify reconciles against. An injection that targets only a cause
128
- * entity reports none here and is not counted -- it states no effect, so an arm
129
- * over it covers nothing checkable. A backend predating the field omits it,
130
- * which reads the same way: not ready, never a silent pass.
131
- */
132
- export async function loadArmReadinessTargets(injectionIds) {
133
- const bundles = await fetchInjectionBundles(injectionIds);
134
- const out = new Map();
135
- for (const [injectionId, bundle] of bundles) {
136
- out.set(injectionId, (bundle.nowTargets ?? [])
137
- .filter((t) => typeof t.nodeId === 'string' && t.nodeId.length > 0)
138
- .map((t) => ({ nodeId: t.nodeId, frtStatement: t.target })));
139
- }
140
- return out;
141
- }
142
- /**
143
- * Read a focus's arm readiness. NEVER throws: an unreadable input answers "not
144
- * ready" with the failure as its reason, and the caller logs it and re-tries on
145
- * a later tick. Nothing is escalated -- an unscoped focus is a waiting state,
146
- * not an incident.
14
+ * Covered effects = the TREE criteria (one per covered effect stating its
15
+ * future) plus the covered effects stating none. `untargetedSustainingCauses`
16
+ * is folded into the zero-effect reason so the log line names what to aim at.
147
17
  */
148
- export async function readFocusArmReadiness(focusId, deps) {
149
- const { loadDeliveries, loadTargetsByInjectionId: loadTargets } = deps;
150
- try {
151
- const deliveries = await loadDeliveries(focusId);
152
- const injectionIds = deliveries
153
- .filter((d) => d.executionStatus !== DELIVERY_STATUS.CANCELLED)
154
- .map((d) => d.injectionId)
155
- .filter((id) => typeof id === 'string' && id.length > 0);
156
- const targets = injectionIds.length > 0 ? await loadTargets(injectionIds) : new Map();
157
- return assessArmReadiness(deliveries, targets);
158
- }
159
- catch (err) {
160
- const message = err.message;
161
- log.warn(`[prd-controller] arm-readiness read failed for focus ${focusId}: ${message}`);
18
+ export function assessFocusStatesABar(standing) {
19
+ if (standing.treeCoverageIncomplete === true) {
162
20
  return {
163
- ready: false,
164
- reason: `arm-readiness could not be read (${message}) -- holding the arm`,
165
- readyDeliveryIds: [],
21
+ statesABar: false,
22
+ readable: false,
23
+ reason: "the focus's covered effects could not be fully read (a tree scan bound bit)",
24
+ coveredEffectCount: 0,
25
+ unstatedNodeIds: [],
166
26
  };
167
27
  }
168
- }
169
- /**
170
- * The database's rule, PURE, over the same inputs `assessArmReadiness` reads.
171
- *
172
- * Mirrors `stamp_focus_arm_baseline()` / `focus_arm_baseline_snapshot()`: the
173
- * covered set is the union of every non-cancelled anchored delivery's injection
174
- * targets (the injection-context read's `nowTargets`, which reports the
175
- * UNDESIRED EFFECT targets -- the same node type the trigger counts), it must be
176
- * non-empty, and every member must carry a non-blank restatement.
177
- *
178
- * It is a PRE-CHECK, never the authority: the trigger derives its own answer at
179
- * the instant of the write, and the two are read seconds apart. A caller still
180
- * handles the refusal arriving anyway.
181
- */
182
- export function assessFocusStatesABar(deliveries, targetsByInjectionId) {
183
- const covered = new Map();
184
- for (const delivery of deliveries) {
185
- if (delivery.executionStatus === DELIVERY_STATUS.CANCELLED)
186
- continue;
187
- const injectionId = delivery.injectionId ?? '';
188
- if (injectionId === '')
189
- continue;
190
- for (const target of targetsByInjectionId.get(injectionId) ?? []) {
191
- covered.set(target.nodeId, target);
192
- }
193
- }
194
- if (covered.size === 0) {
28
+ const stated = standing.criteria.filter((c) => c.source === 'tree');
29
+ const unstated = standing.unstatedCoveredEffects ?? [];
30
+ const covered = stated.length + unstated.length;
31
+ if (covered === 0) {
32
+ const causes = standing.untargetedSustainingCauses ?? [];
33
+ const aimAt = causes.length === 0
34
+ ? ''
35
+ : `; untargeted sustaining causes: ${causes.map((c) => `#${c.seq}`).join(', ')}`;
195
36
  return {
196
37
  statesABar: false,
197
38
  readable: true,
198
- reason: 'the focus covers no undesired effect (no non-cancelled delivery anchored to an ' +
199
- 'injection that targets one), so it states no future to judge the work against',
39
+ reason: 'the focus covers no undesired effect (its anchored injections\' targeted causes earn ' +
40
+ `none and it targets none directly), so it states no future to judge the work against${aimAt}`,
200
41
  coveredEffectCount: 0,
201
42
  unstatedNodeIds: [],
202
43
  };
203
44
  }
204
- const unstatedNodeIds = [...covered.values()]
205
- .filter((t) => (t.frtStatement ?? '').trim().length === 0)
206
- .map((t) => t.nodeId);
207
- if (unstatedNodeIds.length > 0) {
45
+ if (unstated.length > 0) {
46
+ const unstatedNodeIds = unstated.map((u) => u.nodeId);
208
47
  return {
209
48
  statesABar: false,
210
49
  readable: true,
211
- reason: `${unstatedNodeIds.length} of ${covered.size} covered undesired effect(s) state no ` +
50
+ reason: `${unstated.length} of ${covered} covered undesired effect(s) state no ` +
212
51
  `future (frt_statement null or blank): ${unstatedNodeIds.join(', ')}`,
213
- coveredEffectCount: covered.size,
52
+ coveredEffectCount: covered,
214
53
  unstatedNodeIds,
215
54
  };
216
55
  }
56
+ const earned = stated.filter((c) => c.basis === 'earned').length;
217
57
  return {
218
58
  statesABar: true,
219
59
  readable: true,
220
- reason: `${covered.size} covered undesired effect(s), every one of them stating its future`,
221
- coveredEffectCount: covered.size,
60
+ reason: `${covered} covered undesired effect(s) (${earned} earned, ${covered - earned} declared), ` +
61
+ 'every one of them stating its future',
62
+ coveredEffectCount: covered,
222
63
  unstatedNodeIds: [],
223
64
  };
224
65
  }
66
+ /** The PRD frontier's question, answered by the database's rule. PURE. */
67
+ export function assessArmReadiness(standing) {
68
+ const bar = assessFocusStatesABar(standing);
69
+ return { ready: bar.statesABar, reason: bar.reason };
70
+ }
225
71
  /**
226
72
  * Read whether a focus states a bar, live. NEVER throws: an unreadable input
227
73
  * answers `{ statesABar: false, readable: false }` with the failure as its
228
74
  * reason, so the caller holds rather than crossing on an unproven bar.
229
75
  */
230
76
  export async function readFocusStatesABar(focusId, deps) {
231
- const { loadDeliveries, loadTargetsByInjectionId: loadTargets } = deps;
232
77
  try {
233
- const deliveries = await loadDeliveries(focusId);
234
- const injectionIds = deliveries
235
- .filter((d) => d.executionStatus !== DELIVERY_STATUS.CANCELLED)
236
- .map((d) => d.injectionId)
237
- .filter((id) => typeof id === 'string' && id.length > 0);
238
- const targets = injectionIds.length > 0 ? await loadTargets(injectionIds) : new Map();
239
- return assessFocusStatesABar(deliveries, targets);
78
+ return assessFocusStatesABar(await deps.loadCoverage(focusId));
240
79
  }
241
80
  catch (err) {
242
81
  const message = err.message;
@@ -250,4 +89,17 @@ export async function readFocusStatesABar(focusId, deps) {
250
89
  };
251
90
  }
252
91
  }
92
+ /**
93
+ * Read a focus's arm readiness. NEVER throws: an unreadable input answers "not
94
+ * ready" with the failure as its reason, and the caller logs it and re-tries on
95
+ * a later tick. Nothing is escalated -- an unscoped focus is a waiting state,
96
+ * not an incident.
97
+ */
98
+ export async function readFocusArmReadiness(focusId, deps) {
99
+ const bar = await readFocusStatesABar(focusId, deps);
100
+ if (!bar.readable) {
101
+ return { ready: false, reason: `arm-readiness could not be read (${bar.reason}) -- holding the arm` };
102
+ }
103
+ return { ready: bar.statesABar, reason: bar.reason };
104
+ }
253
105
  //# sourceMappingURL=arm-readiness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arm-readiness.js","sourceRoot":"","sources":["../../src/prd/arm-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arm-readiness.js","sourceRoot":"","sources":["../../src/prd/arm-readiness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontier-arming.d.ts","sourceRoot":"","sources":["../../src/prd/frontier-arming.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAQhC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAU1C,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAE5F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAapB;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AA0BD,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAM3D;AA2JD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;CACzB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmDlC;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;CACzB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyCpC"}
1
+ {"version":3,"file":"frontier-arming.d.ts","sourceRoot":"","sources":["../../src/prd/frontier-arming.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAQhC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,QAAiB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAU1C,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAE5F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,aAAa,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAapB;AAED,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAwBD,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAM3D;AA2JD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;CACzB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmDlC;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;CACzB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyCpC"}
@@ -78,13 +78,11 @@ function outcome(action, armRefused = false) {
78
78
  const NOT_READ = {
79
79
  ready: false,
80
80
  reason: 'a scoping run is in flight; readiness not read',
81
- readyDeliveryIds: [],
82
81
  };
83
82
  /** Absent readiness read: the arm is refused (absence never restores arm-first). */
84
83
  const NO_READINESS_READ = {
85
84
  ready: false,
86
85
  reason: 'no arm-readiness read was handed to the controller',
87
- readyDeliveryIds: [],
88
86
  };
89
87
  /** The PRD's goal statement, from its goal node(s). Pure. */
90
88
  export function readPrdGoal(nodes) {