@svenroth-ai/shipwright 0.26.0 → 0.28.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 (621) hide show
  1. package/client/dist/assets/{EmbeddedTerminal-D3wpPNZP.js → EmbeddedTerminal-4xgNUBUu.js} +19 -19
  2. package/client/dist/assets/{abnfDiagram-VRR7QNED-BkLIltB3.js → abnfDiagram-VRR7QNED-BdCNbaqc.js} +1 -1
  3. package/client/dist/assets/{arc-Sw-Gh0nI.js → arc-DoZTTE1N.js} +1 -1
  4. package/client/dist/assets/{architectureDiagram-ZJ3FMSHR-rdxUi9Ks.js → architectureDiagram-ZJ3FMSHR-DFTG4KtO.js} +1 -1
  5. package/client/dist/assets/{blockDiagram-677ZJIJ3-Ch_9dj8a.js → blockDiagram-677ZJIJ3-C34UBjOB.js} +1 -1
  6. package/client/dist/assets/{c4Diagram-LMCZKHZV-CkFlO65x.js → c4Diagram-LMCZKHZV-CbqAB1Ou.js} +1 -1
  7. package/client/dist/assets/channel-DBcZw7Kn.js +1 -0
  8. package/client/dist/assets/{chunk-2Q5K7J3B-CypX83xu.js → chunk-2Q5K7J3B-4N6AnmBJ.js} +1 -1
  9. package/client/dist/assets/{chunk-32BRIVSS-DxVLYGdl.js → chunk-32BRIVSS-Cs67LiCy.js} +1 -1
  10. package/client/dist/assets/{chunk-5VM5RSS4-Cxk1evhx.js → chunk-5VM5RSS4-Bwd7rtD3.js} +1 -1
  11. package/client/dist/assets/{chunk-EX3LRPZG-n9q5S4yJ.js → chunk-EX3LRPZG-CQqGfptD.js} +1 -1
  12. package/client/dist/assets/{chunk-JWPE2WC7-jeL4xvir.js → chunk-JWPE2WC7-ClvKd4PN.js} +1 -1
  13. package/client/dist/assets/{chunk-MOJQB5TN-DDSHN0cj.js → chunk-MOJQB5TN-Cwvj8GE1.js} +1 -1
  14. package/client/dist/assets/{chunk-RYQCIY6F-C0bo383g.js → chunk-RYQCIY6F-DrWMx37d.js} +1 -1
  15. package/client/dist/assets/{chunk-V7JOEXUC-C0jDXXAU.js → chunk-V7JOEXUC-CYFfa4PY.js} +1 -1
  16. package/client/dist/assets/{chunk-VR4S4FIN-h-Rr4Pn2.js → chunk-VR4S4FIN-B5eWtesm.js} +1 -1
  17. package/client/dist/assets/{chunk-XXDRQBXY-BexSo0-s.js → chunk-XXDRQBXY-BQAZ6Our.js} +1 -1
  18. package/client/dist/assets/classDiagram-OUVF2IWQ-C3Q1V9DU.js +1 -0
  19. package/client/dist/assets/classDiagram-v2-EOCWNBFH-C3Q1V9DU.js +1 -0
  20. package/client/dist/assets/{cose-bilkent-JH36ORCC-BQXzaioj.js → cose-bilkent-JH36ORCC-C76Yia6h.js} +1 -1
  21. package/client/dist/assets/{cynefin-VYW2F7L2-BJIofhfe.js → cynefin-VYW2F7L2-pJe7rdTi.js} +1 -1
  22. package/client/dist/assets/{cynefinDiagram-TSTJHNR4-DmPqTM1T.js → cynefinDiagram-TSTJHNR4-EeHQ7dYV.js} +1 -1
  23. package/client/dist/assets/{dagre-VKFMJZFB-1xljvw6X.js → dagre-VKFMJZFB-VXOY6IHR.js} +1 -1
  24. package/client/dist/assets/{diagram-FQU43EPY-iyL9muCG.js → diagram-FQU43EPY-DW_-leqw.js} +1 -1
  25. package/client/dist/assets/{diagram-G47NLZAW-DREp2Th6.js → diagram-G47NLZAW-C_hsLD4u.js} +1 -1
  26. package/client/dist/assets/{diagram-NH7WQ7WH-h0X3Is2S.js → diagram-NH7WQ7WH-CbeQuO_f.js} +1 -1
  27. package/client/dist/assets/{diagram-OA4YK3LP-Bj8YZRFJ.js → diagram-OA4YK3LP-DRHY5d_c.js} +1 -1
  28. package/client/dist/assets/{diagram-WEI45ONY-BZOf805d.js → diagram-WEI45ONY-B87OYR_S.js} +1 -1
  29. package/client/dist/assets/{ebnfDiagram-CCIWWBDH-DO5JnXda.js → ebnfDiagram-CCIWWBDH-B8Z8WHF6.js} +1 -1
  30. package/client/dist/assets/{erDiagram-Q63AITRT-DRgcqg1T.js → erDiagram-Q63AITRT-DaD7oa9H.js} +1 -1
  31. package/client/dist/assets/{flowDiagram-23GEKE2U-C3J9QmrW.js → flowDiagram-23GEKE2U-GrMVpsea.js} +1 -1
  32. package/client/dist/assets/{ganttDiagram-NO4QXBWP-BIEl3Tkm.js → ganttDiagram-NO4QXBWP-K3X0DYBa.js} +1 -1
  33. package/client/dist/assets/{gitGraphDiagram-IHSO6WYX-BNF0tFWC.js → gitGraphDiagram-IHSO6WYX-B2SEx0xa.js} +1 -1
  34. package/client/dist/assets/index-CIpLt0ie.js +863 -0
  35. package/client/dist/assets/index-DGtnTeFd.css +1 -0
  36. package/client/dist/assets/{infoDiagram-FWYZ7A6U-DEyFxiyY.js → infoDiagram-FWYZ7A6U-Fi8fQ95G.js} +1 -1
  37. package/client/dist/assets/{ishikawaDiagram-FXEZZL3T-B_ehlg3I.js → ishikawaDiagram-FXEZZL3T-CrN7QJzt.js} +1 -1
  38. package/client/dist/assets/{journeyDiagram-5HDEW3XC-Dp00FyJS.js → journeyDiagram-5HDEW3XC-XHIsl7rM.js} +1 -1
  39. package/client/dist/assets/{kanban-definition-HUTT4EX6-CTAf16q8.js → kanban-definition-HUTT4EX6-A6HJqHw7.js} +1 -1
  40. package/client/dist/assets/{linear-9vNUgmYd.js → linear-D1vF9IQB.js} +1 -1
  41. package/client/dist/assets/{mermaid.core-A6tjaEVD.js → mermaid.core-D6w9zlA0.js} +4 -4
  42. package/client/dist/assets/{mindmap-definition-LN4V7U3C-DRW3bmCY.js → mindmap-definition-LN4V7U3C-CxRkUj6Z.js} +1 -1
  43. package/client/dist/assets/{pegDiagram-2B236MQR-DJFCjHp2.js → pegDiagram-2B236MQR-Bs9dp-8a.js} +1 -1
  44. package/client/dist/assets/{pieDiagram-ENE6RG2P-KRd-sGvC.js → pieDiagram-ENE6RG2P-DBWILzB8.js} +1 -1
  45. package/client/dist/assets/{quadrantDiagram-ABIIQ3AL-9TLZE3Hu.js → quadrantDiagram-ABIIQ3AL-DrCVJJx6.js} +1 -1
  46. package/client/dist/assets/{railroadDiagram-RFXS5EU6-y4tLtjXg.js → railroadDiagram-RFXS5EU6-BdPW2dNf.js} +1 -1
  47. package/client/dist/assets/{requirementDiagram-TGXJPOKE-B9EOQDQM.js → requirementDiagram-TGXJPOKE-Bj_g3tC5.js} +1 -1
  48. package/client/dist/assets/{sankeyDiagram-HTMAVEWB-zfwiDzkT.js → sankeyDiagram-HTMAVEWB-BGL9NnsS.js} +1 -1
  49. package/client/dist/assets/{sequenceDiagram-DBY2YBRQ-DW1LWepL.js → sequenceDiagram-DBY2YBRQ-DEirxTZY.js} +1 -1
  50. package/client/dist/assets/{sizeCapture-X5ZJPWSS-BM81Mik0.js → sizeCapture-X5ZJPWSS-BtLrvrea.js} +1 -1
  51. package/client/dist/assets/{stateDiagram-2N3HPSRC-D0EMIw1w.js → stateDiagram-2N3HPSRC-D3GXIouX.js} +1 -1
  52. package/client/dist/assets/stateDiagram-v2-6OUMAXLB-D3lXe_mJ.js +1 -0
  53. package/client/dist/assets/{swimlanes-5IMT3BWC-CKXNCX6M.js → swimlanes-5IMT3BWC-PMRQzNhU.js} +2 -2
  54. package/client/dist/assets/swimlanesDiagram-G3AALYLV-DMLbRFiO.js +8 -0
  55. package/client/dist/assets/{timeline-definition-FHXFAJF6-ByzIfvL5.js → timeline-definition-FHXFAJF6-CnBKJtD_.js} +1 -1
  56. package/client/dist/assets/{vennDiagram-L72KCM5P-Xep38xBH.js → vennDiagram-L72KCM5P-BYmiJYoh.js} +1 -1
  57. package/client/dist/assets/{wardleyDiagram-EHGQE667-DKWDpx6g.js → wardleyDiagram-EHGQE667-DU7vW8q3.js} +1 -1
  58. package/client/dist/assets/{xychartDiagram-FW5EYKEG-BGcwZTnu.js → xychartDiagram-FW5EYKEG-BEtPvBSU.js} +1 -1
  59. package/client/dist/index.html +2 -2
  60. package/lib/preflight.mjs +24 -5
  61. package/lib/probes.mjs +10 -4
  62. package/lib/server.mjs +149 -12
  63. package/lib/util.mjs +5 -1
  64. package/package.json +1 -1
  65. package/scripts/deploy-procs.mjs +105 -20
  66. package/scripts/deploy-swap.mjs +23 -2
  67. package/server/dist/config.d.ts +9 -0
  68. package/server/dist/config.d.ts.map +1 -1
  69. package/server/dist/config.js +1 -0
  70. package/server/dist/config.js.map +1 -1
  71. package/server/dist/core/campaign-events.d.ts.map +1 -1
  72. package/server/dist/core/campaign-events.js +1 -0
  73. package/server/dist/core/campaign-events.js.map +1 -1
  74. package/server/dist/core/campaign-loop-state.d.ts.map +1 -1
  75. package/server/dist/core/campaign-loop-state.js +54 -21
  76. package/server/dist/core/campaign-loop-state.js.map +1 -1
  77. package/server/dist/core/campaign-parse.d.ts +4 -0
  78. package/server/dist/core/campaign-parse.d.ts.map +1 -1
  79. package/server/dist/core/campaign-parse.js +9 -0
  80. package/server/dist/core/campaign-parse.js.map +1 -1
  81. package/server/dist/core/campaign-readiness-schema.d.ts +33 -0
  82. package/server/dist/core/campaign-readiness-schema.d.ts.map +1 -0
  83. package/server/dist/core/campaign-readiness-schema.js +70 -0
  84. package/server/dist/core/campaign-readiness-schema.js.map +1 -0
  85. package/server/dist/core/campaign-readiness.d.ts +59 -0
  86. package/server/dist/core/campaign-readiness.d.ts.map +1 -0
  87. package/server/dist/core/campaign-readiness.js +163 -0
  88. package/server/dist/core/campaign-readiness.js.map +1 -0
  89. package/server/dist/core/campaign-status-json.d.ts +3 -0
  90. package/server/dist/core/campaign-status-json.d.ts.map +1 -1
  91. package/server/dist/core/campaign-status-json.js +7 -0
  92. package/server/dist/core/campaign-status-json.js.map +1 -1
  93. package/server/dist/core/campaign-store.d.ts.map +1 -1
  94. package/server/dist/core/campaign-store.js +4 -1
  95. package/server/dist/core/campaign-store.js.map +1 -1
  96. package/server/dist/core/campaign-types.d.ts +8 -0
  97. package/server/dist/core/campaign-types.d.ts.map +1 -1
  98. package/server/dist/core/campaign-worktree-root.d.ts +19 -0
  99. package/server/dist/core/campaign-worktree-root.d.ts.map +1 -0
  100. package/server/dist/core/campaign-worktree-root.js +76 -0
  101. package/server/dist/core/campaign-worktree-root.js.map +1 -0
  102. package/server/dist/core/claim-record-lock.d.ts +30 -0
  103. package/server/dist/core/claim-record-lock.d.ts.map +1 -0
  104. package/server/dist/core/claim-record-lock.js +90 -0
  105. package/server/dist/core/claim-record-lock.js.map +1 -0
  106. package/server/dist/core/cli-child-spawn.d.ts +28 -0
  107. package/server/dist/core/cli-child-spawn.d.ts.map +1 -0
  108. package/server/dist/core/cli-child-spawn.js +146 -0
  109. package/server/dist/core/cli-child-spawn.js.map +1 -0
  110. package/server/dist/core/codex-models-probe.d.ts +46 -0
  111. package/server/dist/core/codex-models-probe.d.ts.map +1 -0
  112. package/server/dist/core/codex-models-probe.js +103 -0
  113. package/server/dist/core/codex-models-probe.js.map +1 -0
  114. package/server/dist/core/codex-oracle-runner.d.ts +68 -0
  115. package/server/dist/core/codex-oracle-runner.d.ts.map +1 -0
  116. package/server/dist/core/codex-oracle-runner.js +124 -0
  117. package/server/dist/core/codex-oracle-runner.js.map +1 -0
  118. package/server/dist/core/codex-status-report.d.ts +6 -0
  119. package/server/dist/core/codex-status-report.d.ts.map +1 -0
  120. package/server/dist/core/codex-status-report.js +40 -0
  121. package/server/dist/core/codex-status-report.js.map +1 -0
  122. package/server/dist/core/codex-task-watcher-types.d.ts +69 -0
  123. package/server/dist/core/codex-task-watcher-types.d.ts.map +1 -0
  124. package/server/dist/core/codex-task-watcher-types.js +12 -0
  125. package/server/dist/core/codex-task-watcher-types.js.map +1 -0
  126. package/server/dist/core/codex-task-watcher.d.ts +30 -0
  127. package/server/dist/core/codex-task-watcher.d.ts.map +1 -0
  128. package/server/dist/core/codex-task-watcher.js +252 -0
  129. package/server/dist/core/codex-task-watcher.js.map +1 -0
  130. package/server/dist/core/codex-terminal-signal-detect.d.ts +7 -0
  131. package/server/dist/core/codex-terminal-signal-detect.d.ts.map +1 -0
  132. package/server/dist/core/codex-terminal-signal-detect.js +113 -0
  133. package/server/dist/core/codex-terminal-signal-detect.js.map +1 -0
  134. package/server/dist/core/codex-thread-discovery.d.ts +21 -0
  135. package/server/dist/core/codex-thread-discovery.d.ts.map +1 -0
  136. package/server/dist/core/codex-thread-discovery.js +169 -0
  137. package/server/dist/core/codex-thread-discovery.js.map +1 -0
  138. package/server/dist/core/codextender-auth-file-sweep.d.ts +41 -0
  139. package/server/dist/core/codextender-auth-file-sweep.d.ts.map +1 -0
  140. package/server/dist/core/codextender-auth-file-sweep.js +97 -0
  141. package/server/dist/core/codextender-auth-file-sweep.js.map +1 -0
  142. package/server/dist/core/codextender-proxy-probe.d.ts +80 -0
  143. package/server/dist/core/codextender-proxy-probe.d.ts.map +1 -0
  144. package/server/dist/core/codextender-proxy-probe.js +179 -0
  145. package/server/dist/core/codextender-proxy-probe.js.map +1 -0
  146. package/server/dist/core/contract-version.d.ts +16 -1
  147. package/server/dist/core/contract-version.d.ts.map +1 -1
  148. package/server/dist/core/contract-version.js +16 -1
  149. package/server/dist/core/contract-version.js.map +1 -1
  150. package/server/dist/core/launcher-codex.d.ts +61 -0
  151. package/server/dist/core/launcher-codex.d.ts.map +1 -0
  152. package/server/dist/core/launcher-codex.js +187 -0
  153. package/server/dist/core/launcher-codex.js.map +1 -0
  154. package/server/dist/core/launcher-codextender-env.d.ts +44 -0
  155. package/server/dist/core/launcher-codextender-env.d.ts.map +1 -0
  156. package/server/dist/core/launcher-codextender-env.js +212 -0
  157. package/server/dist/core/launcher-codextender-env.js.map +1 -0
  158. package/server/dist/core/launcher-codextender.d.ts +72 -0
  159. package/server/dist/core/launcher-codextender.d.ts.map +1 -0
  160. package/server/dist/core/launcher-codextender.js +98 -0
  161. package/server/dist/core/launcher-codextender.js.map +1 -0
  162. package/server/dist/core/launcher-codextender.smoke-helpers.d.ts +25 -0
  163. package/server/dist/core/launcher-codextender.smoke-helpers.d.ts.map +1 -0
  164. package/server/dist/core/launcher-codextender.smoke-helpers.js +211 -0
  165. package/server/dist/core/launcher-codextender.smoke-helpers.js.map +1 -0
  166. package/server/dist/core/launcher-permission-flags.d.ts +17 -0
  167. package/server/dist/core/launcher-permission-flags.d.ts.map +1 -0
  168. package/server/dist/core/launcher-permission-flags.js +27 -0
  169. package/server/dist/core/launcher-permission-flags.js.map +1 -0
  170. package/server/dist/core/launcher.d.ts +18 -0
  171. package/server/dist/core/launcher.d.ts.map +1 -1
  172. package/server/dist/core/launcher.js +6 -0
  173. package/server/dist/core/launcher.js.map +1 -1
  174. package/server/dist/core/leadwright-preflight-transport.d.ts +27 -0
  175. package/server/dist/core/leadwright-preflight-transport.d.ts.map +1 -0
  176. package/server/dist/core/leadwright-preflight-transport.js +124 -0
  177. package/server/dist/core/leadwright-preflight-transport.js.map +1 -0
  178. package/server/dist/core/mission-context/artifacts-tests-ac.d.ts +6 -0
  179. package/server/dist/core/mission-context/artifacts-tests-ac.d.ts.map +1 -0
  180. package/server/dist/core/mission-context/artifacts-tests-ac.js +31 -0
  181. package/server/dist/core/mission-context/artifacts-tests-ac.js.map +1 -0
  182. package/server/dist/core/mission-context/artifacts-tests.d.ts.map +1 -1
  183. package/server/dist/core/mission-context/artifacts-tests.js +20 -0
  184. package/server/dist/core/mission-context/artifacts-tests.js.map +1 -1
  185. package/server/dist/core/mission-context/resolver-io.d.ts +10 -0
  186. package/server/dist/core/mission-context/resolver-io.d.ts.map +1 -1
  187. package/server/dist/core/mission-context/resolver-parts.d.ts +8 -7
  188. package/server/dist/core/mission-context/resolver-parts.d.ts.map +1 -1
  189. package/server/dist/core/mission-context/resolver-parts.js +22 -14
  190. package/server/dist/core/mission-context/resolver-parts.js.map +1 -1
  191. package/server/dist/core/mission-context/resolver.d.ts.map +1 -1
  192. package/server/dist/core/mission-context/resolver.js +1 -1
  193. package/server/dist/core/mission-context/resolver.js.map +1 -1
  194. package/server/dist/core/mission-context/run-id-recovery.d.ts +18 -2
  195. package/server/dist/core/mission-context/run-id-recovery.d.ts.map +1 -1
  196. package/server/dist/core/mission-context/run-id-recovery.js +38 -18
  197. package/server/dist/core/mission-context/run-id-recovery.js.map +1 -1
  198. package/server/dist/core/mission-context/traceability.d.ts.map +1 -1
  199. package/server/dist/core/mission-context/traceability.js +15 -1
  200. package/server/dist/core/mission-context/traceability.js.map +1 -1
  201. package/server/dist/core/mission-context/types-slice2.d.ts +44 -0
  202. package/server/dist/core/mission-context/types-slice2.d.ts.map +1 -1
  203. package/server/dist/core/model-tier-config-reader.d.ts +14 -1
  204. package/server/dist/core/model-tier-config-reader.d.ts.map +1 -1
  205. package/server/dist/core/model-tier-config-reader.js +34 -2
  206. package/server/dist/core/model-tier-config-reader.js.map +1 -1
  207. package/server/dist/core/powershell-probe.smoke-helpers.d.ts +12 -0
  208. package/server/dist/core/powershell-probe.smoke-helpers.d.ts.map +1 -0
  209. package/server/dist/core/powershell-probe.smoke-helpers.js +80 -0
  210. package/server/dist/core/powershell-probe.smoke-helpers.js.map +1 -0
  211. package/server/dist/core/readiness-install-hints.d.ts +1 -1
  212. package/server/dist/core/readiness-install-hints.d.ts.map +1 -1
  213. package/server/dist/core/readiness-install-hints.js +5 -0
  214. package/server/dist/core/readiness-install-hints.js.map +1 -1
  215. package/server/dist/core/readiness-probe-run.d.ts +61 -0
  216. package/server/dist/core/readiness-probe-run.d.ts.map +1 -1
  217. package/server/dist/core/readiness-probe-run.js +93 -15
  218. package/server/dist/core/readiness-probe-run.js.map +1 -1
  219. package/server/dist/core/readiness-probe.d.ts +1 -1
  220. package/server/dist/core/readiness-probe.d.ts.map +1 -1
  221. package/server/dist/core/readiness-probe.js +36 -8
  222. package/server/dist/core/readiness-probe.js.map +1 -1
  223. package/server/dist/core/sdk-sessions-merge.d.ts +19 -0
  224. package/server/dist/core/sdk-sessions-merge.d.ts.map +1 -1
  225. package/server/dist/core/sdk-sessions-merge.js +19 -5
  226. package/server/dist/core/sdk-sessions-merge.js.map +1 -1
  227. package/server/dist/core/sdk-sessions-refresh.d.ts +50 -0
  228. package/server/dist/core/sdk-sessions-refresh.d.ts.map +1 -0
  229. package/server/dist/core/sdk-sessions-refresh.js +69 -0
  230. package/server/dist/core/sdk-sessions-refresh.js.map +1 -0
  231. package/server/dist/core/sdk-sessions-store.d.ts +48 -0
  232. package/server/dist/core/sdk-sessions-store.d.ts.map +1 -1
  233. package/server/dist/core/sdk-sessions-store.js +8 -9
  234. package/server/dist/core/sdk-sessions-store.js.map +1 -1
  235. package/server/dist/core/sdk-sessions-validate.d.ts.map +1 -1
  236. package/server/dist/core/sdk-sessions-validate.js +11 -0
  237. package/server/dist/core/sdk-sessions-validate.js.map +1 -1
  238. package/server/dist/core/settings-reader.d.ts +18 -0
  239. package/server/dist/core/settings-reader.d.ts.map +1 -0
  240. package/server/dist/core/settings-reader.js +40 -0
  241. package/server/dist/core/settings-reader.js.map +1 -0
  242. package/server/dist/core/shell-quote.d.ts +29 -0
  243. package/server/dist/core/shell-quote.d.ts.map +1 -1
  244. package/server/dist/core/shell-quote.js +34 -0
  245. package/server/dist/core/shell-quote.js.map +1 -1
  246. package/server/dist/core/shipwright-plugin-version-reader.d.ts +15 -0
  247. package/server/dist/core/shipwright-plugin-version-reader.d.ts.map +1 -0
  248. package/server/dist/core/shipwright-plugin-version-reader.js +49 -0
  249. package/server/dist/core/shipwright-plugin-version-reader.js.map +1 -0
  250. package/server/dist/core/task-editability.d.ts +1 -1
  251. package/server/dist/core/task-editability.d.ts.map +1 -1
  252. package/server/dist/core/task-editability.js +1 -0
  253. package/server/dist/core/task-editability.js.map +1 -1
  254. package/server/dist/core/triage-cli-runner.d.ts.map +1 -1
  255. package/server/dist/core/triage-cli-runner.js +6 -21
  256. package/server/dist/core/triage-cli-runner.js.map +1 -1
  257. package/server/dist/core/triage-compose.d.ts.map +1 -1
  258. package/server/dist/core/triage-compose.js +34 -3
  259. package/server/dist/core/triage-compose.js.map +1 -1
  260. package/server/dist/core/triage-store.d.ts +2 -1
  261. package/server/dist/core/triage-store.d.ts.map +1 -1
  262. package/server/dist/core/triage-store.js +1 -1
  263. package/server/dist/core/triage-store.js.map +1 -1
  264. package/server/dist/external/create-external-routes-args.d.ts +122 -0
  265. package/server/dist/external/create-external-routes-args.d.ts.map +1 -0
  266. package/server/dist/external/create-external-routes-args.js +2 -0
  267. package/server/dist/external/create-external-routes-args.js.map +1 -0
  268. package/server/dist/external/inbox/_codex.d.ts +14 -0
  269. package/server/dist/external/inbox/_codex.d.ts.map +1 -0
  270. package/server/dist/external/inbox/_codex.js +88 -0
  271. package/server/dist/external/inbox/_codex.js.map +1 -0
  272. package/server/dist/external/inbox/_derive.d.ts +2 -25
  273. package/server/dist/external/inbox/_derive.d.ts.map +1 -1
  274. package/server/dist/external/inbox/_derive.js +11 -0
  275. package/server/dist/external/inbox/_derive.js.map +1 -1
  276. package/server/dist/external/inbox/_lead.d.ts +23 -0
  277. package/server/dist/external/inbox/_lead.d.ts.map +1 -0
  278. package/server/dist/external/inbox/_lead.js +83 -0
  279. package/server/dist/external/inbox/_lead.js.map +1 -0
  280. package/server/dist/external/inbox/_types.d.ts +55 -0
  281. package/server/dist/external/inbox/_types.d.ts.map +1 -0
  282. package/server/dist/external/inbox/_types.js +13 -0
  283. package/server/dist/external/inbox/_types.js.map +1 -0
  284. package/server/dist/external/inbox/routes.d.ts +7 -0
  285. package/server/dist/external/inbox/routes.d.ts.map +1 -1
  286. package/server/dist/external/inbox/routes.js +43 -2
  287. package/server/dist/external/inbox/routes.js.map +1 -1
  288. package/server/dist/external/launch/_helpers.d.ts +4 -0
  289. package/server/dist/external/launch/_helpers.d.ts.map +1 -1
  290. package/server/dist/external/launch/_helpers.js.map +1 -1
  291. package/server/dist/external/launch/action-substitution-branch.d.ts +12 -0
  292. package/server/dist/external/launch/action-substitution-branch.d.ts.map +1 -1
  293. package/server/dist/external/launch/action-substitution-branch.js +35 -1
  294. package/server/dist/external/launch/action-substitution-branch.js.map +1 -1
  295. package/server/dist/external/launch/branch-dispatch.d.ts +15 -0
  296. package/server/dist/external/launch/branch-dispatch.d.ts.map +1 -0
  297. package/server/dist/external/launch/branch-dispatch.js +73 -0
  298. package/server/dist/external/launch/branch-dispatch.js.map +1 -0
  299. package/server/dist/external/launch/campaign-step-branch.d.ts +7 -1
  300. package/server/dist/external/launch/campaign-step-branch.d.ts.map +1 -1
  301. package/server/dist/external/launch/campaign-step-branch.js +70 -2
  302. package/server/dist/external/launch/campaign-step-branch.js.map +1 -1
  303. package/server/dist/external/launch/claim-executor-permissions.d.ts +31 -0
  304. package/server/dist/external/launch/claim-executor-permissions.d.ts.map +1 -0
  305. package/server/dist/external/launch/claim-executor-permissions.js +107 -0
  306. package/server/dist/external/launch/claim-executor-permissions.js.map +1 -0
  307. package/server/dist/external/launch/claim-executor-template-arming.d.ts +42 -0
  308. package/server/dist/external/launch/claim-executor-template-arming.d.ts.map +1 -0
  309. package/server/dist/external/launch/claim-executor-template-arming.js +121 -0
  310. package/server/dist/external/launch/claim-executor-template-arming.js.map +1 -0
  311. package/server/dist/external/launch/claim-holder-gate.d.ts +51 -0
  312. package/server/dist/external/launch/claim-holder-gate.d.ts.map +1 -0
  313. package/server/dist/external/launch/claim-holder-gate.js +95 -0
  314. package/server/dist/external/launch/claim-holder-gate.js.map +1 -0
  315. package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts +3 -0
  316. package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts.map +1 -0
  317. package/server/dist/external/launch/claim-permission-perimeter-assert.js +24 -0
  318. package/server/dist/external/launch/claim-permission-perimeter-assert.js.map +1 -0
  319. package/server/dist/external/launch/legacy-fallback-branch.d.ts +14 -0
  320. package/server/dist/external/launch/legacy-fallback-branch.d.ts.map +1 -1
  321. package/server/dist/external/launch/legacy-fallback-branch.js +3 -1
  322. package/server/dist/external/launch/legacy-fallback-branch.js.map +1 -1
  323. package/server/dist/external/launch/master-run-branch.js +2 -2
  324. package/server/dist/external/launch/master-run-branch.js.map +1 -1
  325. package/server/dist/external/launch/mixed-intents-guard.d.ts +10 -0
  326. package/server/dist/external/launch/mixed-intents-guard.d.ts.map +1 -0
  327. package/server/dist/external/launch/mixed-intents-guard.js +49 -0
  328. package/server/dist/external/launch/mixed-intents-guard.js.map +1 -0
  329. package/server/dist/external/launch/parse-body.d.ts +29 -0
  330. package/server/dist/external/launch/parse-body.d.ts.map +1 -1
  331. package/server/dist/external/launch/parse-body.js +66 -0
  332. package/server/dist/external/launch/parse-body.js.map +1 -1
  333. package/server/dist/external/launch/routes.d.ts +3 -0
  334. package/server/dist/external/launch/routes.d.ts.map +1 -1
  335. package/server/dist/external/launch/routes.js +99 -128
  336. package/server/dist/external/launch/routes.js.map +1 -1
  337. package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts +20 -0
  338. package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts.map +1 -0
  339. package/server/dist/external/launch/runtime-chokepoint-codextender.js +51 -0
  340. package/server/dist/external/launch/runtime-chokepoint-codextender.js.map +1 -0
  341. package/server/dist/external/launch/runtime-chokepoint-errors.d.ts +33 -0
  342. package/server/dist/external/launch/runtime-chokepoint-errors.d.ts.map +1 -0
  343. package/server/dist/external/launch/runtime-chokepoint-errors.js +63 -0
  344. package/server/dist/external/launch/runtime-chokepoint-errors.js.map +1 -0
  345. package/server/dist/external/launch/runtime-chokepoint.d.ts +120 -0
  346. package/server/dist/external/launch/runtime-chokepoint.d.ts.map +1 -0
  347. package/server/dist/external/launch/runtime-chokepoint.js +201 -0
  348. package/server/dist/external/launch/runtime-chokepoint.js.map +1 -0
  349. package/server/dist/external/mission-context/routes.d.ts +33 -27
  350. package/server/dist/external/mission-context/routes.d.ts.map +1 -1
  351. package/server/dist/external/mission-context/routes.js +30 -27
  352. package/server/dist/external/mission-context/routes.js.map +1 -1
  353. package/server/dist/external/mission-context/test-harness.d.ts +6 -0
  354. package/server/dist/external/mission-context/test-harness.d.ts.map +1 -1
  355. package/server/dist/external/mission-context/test-harness.js +6 -1
  356. package/server/dist/external/mission-context/test-harness.js.map +1 -1
  357. package/server/dist/external/mission-context/wire.d.ts.map +1 -1
  358. package/server/dist/external/mission-context/wire.js +24 -2
  359. package/server/dist/external/mission-context/wire.js.map +1 -1
  360. package/server/dist/external/org/audit-log.d.ts +19 -0
  361. package/server/dist/external/org/audit-log.d.ts.map +1 -1
  362. package/server/dist/external/org/audit-log.js +33 -18
  363. package/server/dist/external/org/audit-log.js.map +1 -1
  364. package/server/dist/external/org/beat-effect-audit-read.d.ts +15 -0
  365. package/server/dist/external/org/beat-effect-audit-read.d.ts.map +1 -0
  366. package/server/dist/external/org/beat-effect-audit-read.js +73 -0
  367. package/server/dist/external/org/beat-effect-audit-read.js.map +1 -0
  368. package/server/dist/external/org/beat-register-health.d.ts +57 -0
  369. package/server/dist/external/org/beat-register-health.d.ts.map +1 -0
  370. package/server/dist/external/org/beat-register-health.js +125 -0
  371. package/server/dist/external/org/beat-register-health.js.map +1 -0
  372. package/server/dist/external/org/beat-register-release-core.d.ts.map +1 -1
  373. package/server/dist/external/org/beat-register-release-core.js +4 -1
  374. package/server/dist/external/org/beat-register-release-core.js.map +1 -1
  375. package/server/dist/external/org/beat-register-release-request.d.ts +20 -0
  376. package/server/dist/external/org/beat-register-release-request.d.ts.map +1 -0
  377. package/server/dist/external/org/beat-register-release-request.js +92 -0
  378. package/server/dist/external/org/beat-register-release-request.js.map +1 -0
  379. package/server/dist/external/org/beat-register-release.d.ts +3 -1
  380. package/server/dist/external/org/beat-register-release.d.ts.map +1 -1
  381. package/server/dist/external/org/beat-register-release.js +15 -57
  382. package/server/dist/external/org/beat-register-release.js.map +1 -1
  383. package/server/dist/external/org/beat-register.d.ts +18 -20
  384. package/server/dist/external/org/beat-register.d.ts.map +1 -1
  385. package/server/dist/external/org/beat-register.js +30 -56
  386. package/server/dist/external/org/beat-register.js.map +1 -1
  387. package/server/dist/external/org/beat-steps-read.d.ts +17 -0
  388. package/server/dist/external/org/beat-steps-read.d.ts.map +1 -0
  389. package/server/dist/external/org/beat-steps-read.js +89 -0
  390. package/server/dist/external/org/beat-steps-read.js.map +1 -0
  391. package/server/dist/external/org/charter-authority-read.d.ts +39 -0
  392. package/server/dist/external/org/charter-authority-read.d.ts.map +1 -0
  393. package/server/dist/external/org/charter-authority-read.js +142 -0
  394. package/server/dist/external/org/charter-authority-read.js.map +1 -0
  395. package/server/dist/external/org/commit-validate.d.ts +18 -0
  396. package/server/dist/external/org/commit-validate.d.ts.map +1 -0
  397. package/server/dist/external/org/commit-validate.js +59 -0
  398. package/server/dist/external/org/commit-validate.js.map +1 -0
  399. package/server/dist/external/org/commit-writes.d.ts +68 -0
  400. package/server/dist/external/org/commit-writes.d.ts.map +1 -0
  401. package/server/dist/external/org/commit-writes.js +110 -0
  402. package/server/dist/external/org/commit-writes.js.map +1 -0
  403. package/server/dist/external/org/commit.d.ts +73 -0
  404. package/server/dist/external/org/commit.d.ts.map +1 -0
  405. package/server/dist/external/org/commit.js +181 -0
  406. package/server/dist/external/org/commit.js.map +1 -0
  407. package/server/dist/external/org/commit.test-fixtures.d.ts +38 -0
  408. package/server/dist/external/org/commit.test-fixtures.d.ts.map +1 -0
  409. package/server/dist/external/org/commit.test-fixtures.js +67 -0
  410. package/server/dist/external/org/commit.test-fixtures.js.map +1 -0
  411. package/server/dist/external/org/countersign-core.d.ts +19 -0
  412. package/server/dist/external/org/countersign-core.d.ts.map +1 -0
  413. package/server/dist/external/org/countersign-core.js +122 -0
  414. package/server/dist/external/org/countersign-core.js.map +1 -0
  415. package/server/dist/external/org/countersign-request.d.ts +14 -0
  416. package/server/dist/external/org/countersign-request.d.ts.map +1 -0
  417. package/server/dist/external/org/countersign-request.js +78 -0
  418. package/server/dist/external/org/countersign-request.js.map +1 -0
  419. package/server/dist/external/org/countersign.d.ts +6 -5
  420. package/server/dist/external/org/countersign.d.ts.map +1 -1
  421. package/server/dist/external/org/countersign.js +12 -141
  422. package/server/dist/external/org/countersign.js.map +1 -1
  423. package/server/dist/external/org/daemon-config-read.d.ts +31 -0
  424. package/server/dist/external/org/daemon-config-read.d.ts.map +1 -0
  425. package/server/dist/external/org/daemon-config-read.js +50 -0
  426. package/server/dist/external/org/daemon-config-read.js.map +1 -0
  427. package/server/dist/external/org/decisions-lock.d.ts +6 -4
  428. package/server/dist/external/org/decisions-lock.d.ts.map +1 -1
  429. package/server/dist/external/org/decisions-lock.js +9 -8
  430. package/server/dist/external/org/decisions-lock.js.map +1 -1
  431. package/server/dist/external/org/domains.d.ts +35 -0
  432. package/server/dist/external/org/domains.d.ts.map +1 -0
  433. package/server/dist/external/org/domains.js +29 -0
  434. package/server/dist/external/org/domains.js.map +1 -0
  435. package/server/dist/external/org/existing-charters-read.d.ts +5 -0
  436. package/server/dist/external/org/existing-charters-read.d.ts.map +1 -0
  437. package/server/dist/external/org/existing-charters-read.js +31 -0
  438. package/server/dist/external/org/existing-charters-read.js.map +1 -0
  439. package/server/dist/external/org/lead-question-threads.d.ts +46 -0
  440. package/server/dist/external/org/lead-question-threads.d.ts.map +1 -0
  441. package/server/dist/external/org/lead-question-threads.js +132 -0
  442. package/server/dist/external/org/lead-question-threads.js.map +1 -0
  443. package/server/dist/external/org/leadwright-proposal-merge.d.ts +54 -0
  444. package/server/dist/external/org/leadwright-proposal-merge.d.ts.map +1 -0
  445. package/server/dist/external/org/leadwright-proposal-merge.js +47 -0
  446. package/server/dist/external/org/leadwright-proposal-merge.js.map +1 -0
  447. package/server/dist/external/org/mount.d.ts +11 -0
  448. package/server/dist/external/org/mount.d.ts.map +1 -1
  449. package/server/dist/external/org/mount.js +7 -1
  450. package/server/dist/external/org/mount.js.map +1 -1
  451. package/server/dist/external/org/org-chart-full-read.d.ts +19 -0
  452. package/server/dist/external/org/org-chart-full-read.d.ts.map +1 -0
  453. package/server/dist/external/org/org-chart-full-read.js +58 -0
  454. package/server/dist/external/org/org-chart-full-read.js.map +1 -0
  455. package/server/dist/external/org/org-file-lock.d.ts +41 -0
  456. package/server/dist/external/org/org-file-lock.d.ts.map +1 -0
  457. package/server/dist/external/org/org-file-lock.js +90 -0
  458. package/server/dist/external/org/org-file-lock.js.map +1 -0
  459. package/server/dist/external/org/routes.d.ts +10 -0
  460. package/server/dist/external/org/routes.d.ts.map +1 -1
  461. package/server/dist/external/org/routes.js +22 -1
  462. package/server/dist/external/org/routes.js.map +1 -1
  463. package/server/dist/external/org/usage.d.ts.map +1 -1
  464. package/server/dist/external/org/usage.js +20 -2
  465. package/server/dist/external/org/usage.js.map +1 -1
  466. package/server/dist/external/org/verdict.d.ts +57 -0
  467. package/server/dist/external/org/verdict.d.ts.map +1 -0
  468. package/server/dist/external/org/verdict.js +74 -0
  469. package/server/dist/external/org/verdict.js.map +1 -0
  470. package/server/dist/external/routes.d.ts +3 -101
  471. package/server/dist/external/routes.d.ts.map +1 -1
  472. package/server/dist/external/routes.js +12 -3
  473. package/server/dist/external/routes.js.map +1 -1
  474. package/server/dist/external/tasks/create.d.ts.map +1 -1
  475. package/server/dist/external/tasks/create.js +8 -0
  476. package/server/dist/external/tasks/create.js.map +1 -1
  477. package/server/dist/external/tasks/fork.d.ts +29 -0
  478. package/server/dist/external/tasks/fork.d.ts.map +1 -0
  479. package/server/dist/external/tasks/fork.js +166 -0
  480. package/server/dist/external/tasks/fork.js.map +1 -0
  481. package/server/dist/external/tasks/lifecycle.d.ts.map +1 -1
  482. package/server/dist/external/tasks/lifecycle.js +10 -57
  483. package/server/dist/external/tasks/lifecycle.js.map +1 -1
  484. package/server/dist/external/tasks/patch.d.ts.map +1 -1
  485. package/server/dist/external/tasks/patch.js +17 -0
  486. package/server/dist/external/tasks/patch.js.map +1 -1
  487. package/server/dist/external/tasks/routes.d.ts +2 -0
  488. package/server/dist/external/tasks/routes.d.ts.map +1 -1
  489. package/server/dist/external/tasks/routes.js +7 -0
  490. package/server/dist/external/tasks/routes.js.map +1 -1
  491. package/server/dist/external/transcript/routes.d.ts.map +1 -1
  492. package/server/dist/external/transcript/routes.js +25 -3
  493. package/server/dist/external/transcript/routes.js.map +1 -1
  494. package/server/dist/external-routes-wiring.d.ts +28 -0
  495. package/server/dist/external-routes-wiring.d.ts.map +1 -0
  496. package/server/dist/external-routes-wiring.js +61 -0
  497. package/server/dist/external-routes-wiring.js.map +1 -0
  498. package/server/dist/index.d.ts.map +1 -1
  499. package/server/dist/index.js +111 -44
  500. package/server/dist/index.js.map +1 -1
  501. package/server/dist/lib/resolveHonoHost.d.ts.map +1 -1
  502. package/server/dist/lib/resolveHonoHost.js +16 -1
  503. package/server/dist/lib/resolveHonoHost.js.map +1 -1
  504. package/server/dist/routes/_triage-api-harness.d.ts +1 -1
  505. package/server/dist/routes/_triage-api-harness.d.ts.map +1 -1
  506. package/server/dist/routes/_triage-api-harness.js.map +1 -1
  507. package/server/dist/routes/campaigns-readiness.d.ts +10 -0
  508. package/server/dist/routes/campaigns-readiness.d.ts.map +1 -0
  509. package/server/dist/routes/campaigns-readiness.js +58 -0
  510. package/server/dist/routes/campaigns-readiness.js.map +1 -0
  511. package/server/dist/routes/campaigns.d.ts.map +1 -1
  512. package/server/dist/routes/campaigns.js +3 -0
  513. package/server/dist/routes/campaigns.js.map +1 -1
  514. package/server/dist/routes/codex-models.d.ts +15 -0
  515. package/server/dist/routes/codex-models.d.ts.map +1 -0
  516. package/server/dist/routes/codex-models.js +77 -0
  517. package/server/dist/routes/codex-models.js.map +1 -0
  518. package/server/dist/routes/codextender-models.d.ts +16 -0
  519. package/server/dist/routes/codextender-models.d.ts.map +1 -0
  520. package/server/dist/routes/codextender-models.js +81 -0
  521. package/server/dist/routes/codextender-models.js.map +1 -0
  522. package/server/dist/routes/diagnostics.d.ts +27 -0
  523. package/server/dist/routes/diagnostics.d.ts.map +1 -1
  524. package/server/dist/routes/diagnostics.js +5 -1
  525. package/server/dist/routes/diagnostics.js.map +1 -1
  526. package/server/dist/routes/org-chart-lead-guard.d.ts +10 -0
  527. package/server/dist/routes/org-chart-lead-guard.d.ts.map +1 -0
  528. package/server/dist/routes/org-chart-lead-guard.js +49 -0
  529. package/server/dist/routes/org-chart-lead-guard.js.map +1 -0
  530. package/server/dist/routes/org-inventory-composite.d.ts +20 -0
  531. package/server/dist/routes/org-inventory-composite.d.ts.map +1 -0
  532. package/server/dist/routes/org-inventory-composite.js +100 -0
  533. package/server/dist/routes/org-inventory-composite.js.map +1 -0
  534. package/server/dist/routes/org-lead-setup-wizard.d.ts +10 -0
  535. package/server/dist/routes/org-lead-setup-wizard.d.ts.map +1 -0
  536. package/server/dist/routes/org-lead-setup-wizard.js +51 -0
  537. package/server/dist/routes/org-lead-setup-wizard.js.map +1 -0
  538. package/server/dist/routes/org-leads-composite.d.ts.map +1 -1
  539. package/server/dist/routes/org-leads-composite.js +35 -9
  540. package/server/dist/routes/org-leads-composite.js.map +1 -1
  541. package/server/dist/routes/org-threads-composite.d.ts +24 -0
  542. package/server/dist/routes/org-threads-composite.d.ts.map +1 -0
  543. package/server/dist/routes/org-threads-composite.js +51 -0
  544. package/server/dist/routes/org-threads-composite.js.map +1 -0
  545. package/server/dist/routes/org-writes.d.ts +14 -0
  546. package/server/dist/routes/org-writes.d.ts.map +1 -0
  547. package/server/dist/routes/org-writes.js +61 -0
  548. package/server/dist/routes/org-writes.js.map +1 -0
  549. package/server/dist/routes/org.d.ts +14 -0
  550. package/server/dist/routes/org.d.ts.map +1 -1
  551. package/server/dist/routes/org.js +63 -47
  552. package/server/dist/routes/org.js.map +1 -1
  553. package/server/dist/routes/settings.d.ts.map +1 -1
  554. package/server/dist/routes/settings.js +23 -2
  555. package/server/dist/routes/settings.js.map +1 -1
  556. package/server/dist/routes/triage.d.ts +17 -0
  557. package/server/dist/routes/triage.d.ts.map +1 -1
  558. package/server/dist/routes/triage.js +29 -0
  559. package/server/dist/routes/triage.js.map +1 -1
  560. package/server/dist/terminal/pty-manager.d.ts +37 -1
  561. package/server/dist/terminal/pty-manager.d.ts.map +1 -1
  562. package/server/dist/terminal/pty-manager.js +33 -3
  563. package/server/dist/terminal/pty-manager.js.map +1 -1
  564. package/server/dist/terminal/pty-write-chunker.d.ts +109 -0
  565. package/server/dist/terminal/pty-write-chunker.d.ts.map +1 -0
  566. package/server/dist/terminal/pty-write-chunker.js +234 -0
  567. package/server/dist/terminal/pty-write-chunker.js.map +1 -0
  568. package/server/dist/terminal/routes.d.ts.map +1 -1
  569. package/server/dist/terminal/routes.js +9 -0
  570. package/server/dist/terminal/routes.js.map +1 -1
  571. package/server/dist/terminal/ws-upgrade-handler.d.ts.map +1 -1
  572. package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts.map +1 -1
  573. package/server/dist/terminal/ws-upgrade-handler.fixtures.js +1 -0
  574. package/server/dist/terminal/ws-upgrade-handler.fixtures.js.map +1 -1
  575. package/server/dist/terminal/ws-upgrade-handler.js +14 -5
  576. package/server/dist/terminal/ws-upgrade-handler.js.map +1 -1
  577. package/server/dist/test/event-test-counts-fixtures.d.ts +40 -0
  578. package/server/dist/test/event-test-counts-fixtures.d.ts.map +1 -0
  579. package/server/dist/test/event-test-counts-fixtures.js +56 -0
  580. package/server/dist/test/event-test-counts-fixtures.js.map +1 -0
  581. package/server/dist/types/leadwright-beat-step.d.ts +19 -0
  582. package/server/dist/types/leadwright-beat-step.d.ts.map +1 -0
  583. package/server/dist/types/leadwright-beat-step.js +56 -0
  584. package/server/dist/types/leadwright-beat-step.js.map +1 -0
  585. package/server/dist/types/leadwright-preflight.d.ts +90 -0
  586. package/server/dist/types/leadwright-preflight.d.ts.map +1 -0
  587. package/server/dist/types/leadwright-preflight.js +65 -0
  588. package/server/dist/types/leadwright-preflight.js.map +1 -0
  589. package/server/dist/types/leadwright-schema-drift.d.ts +28 -0
  590. package/server/dist/types/leadwright-schema-drift.d.ts.map +1 -0
  591. package/server/dist/types/leadwright-schema-drift.js +89 -0
  592. package/server/dist/types/leadwright-schema-drift.js.map +1 -0
  593. package/server/dist/types/org-inventory.d.ts +53 -0
  594. package/server/dist/types/org-inventory.d.ts.map +1 -0
  595. package/server/dist/types/org-inventory.js +11 -0
  596. package/server/dist/types/org-inventory.js.map +1 -0
  597. package/server/dist/types/org.d.ts +76 -6
  598. package/server/dist/types/org.d.ts.map +1 -1
  599. package/server/dist/types/run-config-retry.d.ts +29 -0
  600. package/server/dist/types/run-config-retry.d.ts.map +1 -0
  601. package/server/dist/types/run-config-retry.js +47 -0
  602. package/server/dist/types/run-config-retry.js.map +1 -0
  603. package/server/dist/types/run-config-v2.d.ts +29 -41
  604. package/server/dist/types/run-config-v2.d.ts.map +1 -1
  605. package/server/dist/types/run-config-v2.js +16 -50
  606. package/server/dist/types/run-config-v2.js.map +1 -1
  607. package/server/dist/types/settings.d.ts +33 -0
  608. package/server/dist/types/settings.d.ts.map +1 -1
  609. package/server/dist/vendor/leadwright/beat-step.schema.json +83 -0
  610. package/server/dist/vendor/leadwright/claim-record-lock-contract.json +15 -0
  611. package/server/dist/vendor/leadwright/org-chart.schema.json +195 -0
  612. package/server/dist/vendor/leadwright/preflight-input.schema.json +318 -0
  613. package/server/dist/vendor/leadwright/preflight-result.schema.json +56 -0
  614. package/server/package.json +1 -1
  615. package/client/dist/assets/channel-BYPbLjRl.js +0 -1
  616. package/client/dist/assets/classDiagram-OUVF2IWQ-CsFIeTju.js +0 -1
  617. package/client/dist/assets/classDiagram-v2-EOCWNBFH-CsFIeTju.js +0 -1
  618. package/client/dist/assets/index-BnTOrFHb.js +0 -829
  619. package/client/dist/assets/index-CYPc6qxw.css +0 -1
  620. package/client/dist/assets/stateDiagram-v2-6OUMAXLB-B3E4_xxT.js +0 -1
  621. package/client/dist/assets/swimlanesDiagram-G3AALYLV-BegQBqnC.js +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-tests.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/artifacts-tests.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAchE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAIrG;AA6HD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAyDnE"}
1
+ {"version":3,"file":"artifacts-tests.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/artifacts-tests.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAehE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAIrG;AAgJD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CA0DnE"}
@@ -26,6 +26,7 @@
26
26
  */
27
27
  import { deriveTestsGate } from "../tests-gate.js";
28
28
  import { inferLayer } from "./tests-diff.js";
29
+ import { groupByAc } from "./artifacts-tests-ac.js";
29
30
  function plural(n, one, many) {
30
31
  return `${n} ${n === 1 ? one : many}`;
31
32
  }
@@ -137,6 +138,23 @@ function summarizeFiles(diff, index) {
137
138
  const byFile = index.status === "ok" ? index.byFile : null;
138
139
  const rows = diff.files.map((f) => {
139
140
  const entry = byFile?.get(f.path);
141
+ // The manifest read fine but has no entry for this ADDED or MODIFIED
142
+ // file. For `added` that is almost always because it predates a test
143
+ // file this run's own commit just created. For `modified` it is a
144
+ // rarer signal — the file once had `@covers` evidence and something (a
145
+ // rename, a schema drift, a truncated regen) made it disappear — but
146
+ // the two are indistinguishable from ABSENCE alone, and rendering
147
+ // either as `frs: []` reads as "proven to cover nothing" when the truth
148
+ // is "unknown" (traceability.ts:14's own warning against exactly this
149
+ // conflation). `removed` is excluded: a removed file is never in the
150
+ // manifest by definition, so its bare "—" already means what it says.
151
+ // A wholly-unreadable OR truncated manifest is already explained at the
152
+ // artifact level via `manifestStatus` — a truncated index's "no entry"
153
+ // means "past the entry cap", not "predates this file", so it must not
154
+ // claim the latter.
155
+ const unresolvedReason = index.status === "ok" && !index.truncated && !entry && f.kind !== "removed"
156
+ ? "Not yet in the requirement manifest — coverage for this file could not be confirmed."
157
+ : null;
140
158
  return {
141
159
  path: f.path,
142
160
  kind: f.kind,
@@ -146,6 +164,7 @@ function summarizeFiles(diff, index) {
146
164
  layer: entry?.layers[0] ?? inferLayer(f.path),
147
165
  frs: entry?.frs ?? [],
148
166
  caseCount: entry?.caseCount ?? null,
167
+ unresolvedReason,
149
168
  };
150
169
  });
151
170
  const counts = { added: 0, modified: 0, removed: 0 };
@@ -230,6 +249,7 @@ export function buildTestsArtifact(input) {
230
249
  // rows there is nothing to link, so the manifest is not "at fault".
231
250
  manifestStatus: !hasFiles || (index.status === "ok" && !index.truncated) ? "ok" : "unavailable",
232
251
  evidence: input.evidence,
252
+ acCoverage: groupByAc(files?.rows ?? []),
233
253
  },
234
254
  };
235
255
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-tests.js","sourceRoot":"","sources":["../../../src/core/mission-context/artifacts-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts-tests.js","sourceRoot":"","sources":["../../../src/core/mission-context/artifacts-tests.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,16 @@ export interface ResolveRequest {
11
11
  projectRoot: string;
12
12
  /** Server-read transcript (bounded tail) — never client-supplied (§5.1). */
13
13
  transcript: string;
14
+ /**
15
+ * True when the tail read above started after byte 0 (the file is larger than
16
+ * the read budget) — a leading partial line was dropped before `transcript`
17
+ * even reached here. `findRunIdFooter`'s own `transcript.length > MAX_SCAN_CHARS`
18
+ * check can never observe this on its own: the caller already truncated to at
19
+ * most the read budget, so that in-function check never fires in production
20
+ * (iterate-2026-09-28-mission-feed-completeness, AC2). Optional — absent
21
+ * behaves as `false`, so existing callers/tests compile unchanged.
22
+ */
23
+ transcriptStartedMidFile?: boolean;
14
24
  /** Task facts the server owns (from its own store, not the client). */
15
25
  phaseTaskId: string | null;
16
26
  taskRunId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"resolver-io.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/resolver-io.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gFAAgF;IAChF,eAAe,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"resolver-io.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/resolver-io.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gFAAgF;IAChF,eAAe,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC;CACtD"}
@@ -29,13 +29,14 @@ export declare const CACHE_CAP = 256;
29
29
  export declare function _clearResolverCache(): void;
30
30
  /**
31
31
  * The memoized, CONFIRMED supersession for this (session, association,
32
- * transcript-content) triple — `undefined` when none is cached (either this
33
- * content was never checked, or it was checked and found nothing, which is
34
- * deliberately never memoized here; a scan is owed either way).
32
+ * transcript-content, startedMidFile) tuple — `undefined` when none is
33
+ * cached (either this content was never checked, or it was checked and
34
+ * found nothing, which is deliberately never memoized here; a scan is owed
35
+ * either way).
35
36
  */
36
- export declare function supersessionMemoHit(sessionUuid: string, associationRunId: string, transcript: string): string | undefined;
37
- /** Record this triple's CONFIRMED recovery, so the next unchanged poll reuses it instead of re-scanning. */
38
- export declare function markSupersessionResult(sessionUuid: string, associationRunId: string, transcript: string, recovered: string): void;
37
+ export declare function supersessionMemoHit(sessionUuid: string, associationRunId: string, transcript: string, startedMidFile: boolean): string | undefined;
38
+ /** Record this tuple's CONFIRMED recovery, so the next unchanged poll reuses it instead of re-scanning. */
39
+ export declare function markSupersessionResult(sessionUuid: string, associationRunId: string, transcript: string, startedMidFile: boolean, recovered: string): void;
39
40
  /** Test-only: drop the supersession-check memo between cases. */
40
41
  export declare function _clearSupersessionMemo(): void;
41
42
  /**
@@ -46,7 +47,7 @@ export declare function _clearSupersessionMemo(): void;
46
47
  * BUILD time (this resolve's transcript/association snapshot), not
47
48
  * re-evaluated inside the thunk, since neither changes within one call.
48
49
  */
49
- export declare function buildRecoveryThunk(projectRoot: string, sessionUuid: string, transcript: string, associationRunId: string | null): () => string | null;
50
+ export declare function buildRecoveryThunk(projectRoot: string, sessionUuid: string, transcript: string, associationRunId: string | null, startedMidFile?: boolean): () => string | null;
50
51
  /**
51
52
  * Bounded read of a document body (mid-run planned impact + the detail
52
53
  * endpoint). Atomic: the size cap is enforced against the SAME descriptor the
@@ -1 +1 @@
1
- {"version":3,"file":"resolver-parts.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/resolver-parts.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAYpF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvD;AAoBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAavE;AAED,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,wFAAwF;AACxF,eAAO,MAAM,KAAK,yBAAgC,CAAC;AACnD,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,4DAA4D;AAC5D,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAgDD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAIpB;AAED,4GAA4G;AAC5G,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,IAAI,CAIN;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,MAAM,MAAM,GAAG,IAAI,CAerB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,cAAc,EAAE,IAAI,CAAC;IAAC,eAAe,EAAE,wBAAwB,CAAA;CAAE,CAU9F;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,MAAM,GAChB,cAAc,CAahB"}
1
+ {"version":3,"file":"resolver-parts.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/resolver-parts.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAYpF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvD;AAoBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAavE;AAED,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,wFAAwF;AACxF,eAAO,MAAM,KAAK,yBAAgC,CAAC;AACnD,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,4DAA4D;AAC5D,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAqDD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,OAAO,GACtB,MAAM,GAAG,SAAS,CAIpB;AAED,2GAA2G;AAC3G,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,GAChB,IAAI,CAIN;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,cAAc,UAAQ,GACrB,MAAM,MAAM,GAAG,IAAI,CAiBrB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,cAAc,EAAE,IAAI,CAAC;IAAC,eAAe,EAAE,wBAAwB,CAAA;CAAE,CAU9F;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,MAAM,GAChB,cAAc,CAahB"}
@@ -127,28 +127,34 @@ const SUPERSESSION_CAP = 512;
127
127
  * instead of re-scanning. Hashing costs one pass over a string already read
128
128
  * into memory for the scan this memo exists to skip — cheap relative to what
129
129
  * it replaces.
130
+ *
131
+ * `startedMidFile` folded in (external code review, openai, fifth preflight
132
+ * pass — the same fix as `run-id-recovery.ts`'s negative-scan memo, and for
133
+ * the identical reason): it changes what `recoverRunIdFromTranscript` does
134
+ * with the SAME transcript text, so it belongs in the key, not just the text.
130
135
  */
131
- function supersessionFingerprint(transcript) {
132
- return createHash("sha256").update(transcript).digest("hex");
136
+ function supersessionFingerprint(transcript, startedMidFile) {
137
+ return `${startedMidFile ? "1" : "0"}:${createHash("sha256").update(transcript).digest("hex")}`;
133
138
  }
134
139
  /**
135
140
  * The memoized, CONFIRMED supersession for this (session, association,
136
- * transcript-content) triple — `undefined` when none is cached (either this
137
- * content was never checked, or it was checked and found nothing, which is
138
- * deliberately never memoized here; a scan is owed either way).
141
+ * transcript-content, startedMidFile) tuple — `undefined` when none is
142
+ * cached (either this content was never checked, or it was checked and
143
+ * found nothing, which is deliberately never memoized here; a scan is owed
144
+ * either way).
139
145
  */
140
- export function supersessionMemoHit(sessionUuid, associationRunId, transcript) {
146
+ export function supersessionMemoHit(sessionUuid, associationRunId, transcript, startedMidFile) {
141
147
  const entry = supersessionResult.get(`${sessionUuid}::${associationRunId}`);
142
- if (!entry || entry.fingerprint !== supersessionFingerprint(transcript))
148
+ if (!entry || entry.fingerprint !== supersessionFingerprint(transcript, startedMidFile))
143
149
  return undefined;
144
150
  return entry.recovered;
145
151
  }
146
- /** Record this triple's CONFIRMED recovery, so the next unchanged poll reuses it instead of re-scanning. */
147
- export function markSupersessionResult(sessionUuid, associationRunId, transcript, recovered) {
152
+ /** Record this tuple's CONFIRMED recovery, so the next unchanged poll reuses it instead of re-scanning. */
153
+ export function markSupersessionResult(sessionUuid, associationRunId, transcript, startedMidFile, recovered) {
148
154
  const key = `${sessionUuid}::${associationRunId}`;
149
155
  if (supersessionResult.size >= SUPERSESSION_CAP)
150
156
  supersessionResult.clear();
151
- supersessionResult.set(key, { fingerprint: supersessionFingerprint(transcript), recovered });
157
+ supersessionResult.set(key, { fingerprint: supersessionFingerprint(transcript, startedMidFile), recovered });
152
158
  }
153
159
  /** Test-only: drop the supersession-check memo between cases. */
154
160
  export function _clearSupersessionMemo() {
@@ -162,8 +168,10 @@ export function _clearSupersessionMemo() {
162
168
  * BUILD time (this resolve's transcript/association snapshot), not
163
169
  * re-evaluated inside the thunk, since neither changes within one call.
164
170
  */
165
- export function buildRecoveryThunk(projectRoot, sessionUuid, transcript, associationRunId) {
166
- const memoHit = associationRunId !== null ? supersessionMemoHit(sessionUuid, associationRunId, transcript) : undefined;
171
+ export function buildRecoveryThunk(projectRoot, sessionUuid, transcript, associationRunId, startedMidFile = false) {
172
+ const memoHit = associationRunId !== null
173
+ ? supersessionMemoHit(sessionUuid, associationRunId, transcript, startedMidFile)
174
+ : undefined;
167
175
  return () => {
168
176
  // A cache HIT is a CONFIRMED prior supersession for this exact content —
169
177
  // returned as-is, never re-scanned. There is no cached-null case (see the
@@ -171,9 +179,9 @@ export function buildRecoveryThunk(projectRoot, sessionUuid, transcript, associa
171
179
  // corroboration can succeed later even when the text has not changed.
172
180
  if (associationRunId !== null && memoHit !== undefined)
173
181
  return memoHit;
174
- const recovered = recoverRunIdFromTranscript(projectRoot, transcript, sessionUuid);
182
+ const recovered = recoverRunIdFromTranscript(projectRoot, transcript, sessionUuid, startedMidFile);
175
183
  if (associationRunId !== null && recovered !== null) {
176
- markSupersessionResult(sessionUuid, associationRunId, transcript, recovered);
184
+ markSupersessionResult(sessionUuid, associationRunId, transcript, startedMidFile, recovered);
177
185
  }
178
186
  return recovered;
179
187
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolver-parts.js","sourceRoot":"","sources":["../../../src/core/mission-context/resolver-parts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver-parts.js","sourceRoot":"","sources":["../../../src/core/mission-context/resolver-parts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/resolver.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAOtD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnF,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,cAAc,EACnB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,CAkExB"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/resolver.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAOtD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnF,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,cAAc,EACnB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,CAmExB"}
@@ -38,7 +38,7 @@ export async function resolveMissionContext(req, deps = {}) {
38
38
  const decision = detectScenario({
39
39
  pointer,
40
40
  association: req.association ?? null,
41
- recoverTranscriptRunId: buildRecoveryThunk(projectRoot, sessionUuid, req.transcript, req.association?.runId ?? null),
41
+ recoverTranscriptRunId: buildRecoveryThunk(projectRoot, sessionUuid, req.transcript, req.association?.runId ?? null, req.transcriptStartedMidFile),
42
42
  actions: req.actions,
43
43
  runConfigStatus: req.runConfigStatus,
44
44
  phaseTaskId: req.phaseTaskId,
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/mission-context/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/mission-context/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClF,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAU9D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAmB,EACnB,OAAoB,EAAE;IAEtB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAEzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC7D,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,OAAO;QACP,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,sBAAsB,EAAE,kBAAkB,CACxC,WAAW,EACX,WAAW,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,EAC9B,GAAG,CAAC,wBAAwB,CAC7B;QACD,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;KACzC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtE,2EAA2E;IAC3E,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,eAAe,CACpB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,iBAAiB,EAC1B,gBAAgB,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAC/D,oFAAoF,EACpF,IAAI,CACL,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvD,OAAO;YACL,OAAO,EAAE,sBAAsB,CAAC;gBAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,WAAW;gBACX,WAAW;gBACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,YAAY;gBACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC;YACF,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,wBAAwB;SAC1C,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,kEAAkE;IAClE,OAAO,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC3F,CAAC"}
@@ -13,8 +13,24 @@ export declare const MAX_SCAN_CHARS: number;
13
13
  *
14
14
  * Pure — no I/O, no corroboration. `recoverRunIdFromTranscript` is the entry
15
15
  * point that adds evidence.
16
+ *
17
+ * `startedMidFile` (iterate-2026-09-28-mission-feed-completeness, AC2): PROVEN
18
+ * true, not merely assumed, whenever the caller's own read began after byte 0
19
+ * of the real file — `wire.ts`'s `readTranscriptTail` peeks the one byte
20
+ * immediately before its intended start and only reports `true` when that
21
+ * byte is not a `\n` (external code review, openai, raised across two
22
+ * independent review passes: an earlier version of this signal assumed
23
+ * partial whenever the read didn't start at byte 0, which is provably safe
24
+ * — see `stripUserTypeLines`'s doc comment — but not provably necessary; the
25
+ * peek settles it for real instead of arguing probability a third time). The
26
+ * caller always reads a bounded tail no larger than `MAX_SCAN_CHARS`, so
27
+ * `transcript.length > MAX_SCAN_CHARS` below can never observe that on its
28
+ * own in production, only in a test that hands this function an oversized
29
+ * string directly — THAT path stays a conservative assumption, since a bare
30
+ * string slice has no byte to peek. Either condition means the leading line
31
+ * may be a byte-cut fragment (see `stripUserTypeLines`'s doc comment).
16
32
  */
17
- export declare function findRunIdFooter(transcript: string): string | null;
33
+ export declare function findRunIdFooter(transcript: string, startedMidFile?: boolean): string | null;
18
34
  /**
19
35
  * True only when `candidate` is PROVABLY newer than `current` by its embedded
20
36
  * date — a same-day or unparseable id is NOT proof either way, and the caller
@@ -56,5 +72,5 @@ export declare function _clearRecoveryMemo(): void;
56
72
  * forever — nothing consumed the answer, so nothing ever persisted it, and the
57
73
  * memo below only covers a NEGATIVE result (internal code review of PR #309).
58
74
  */
59
- export declare function recoverRunIdFromTranscript(projectRoot: string, transcript: string, sessionUuid?: string): string | null;
75
+ export declare function recoverRunIdFromTranscript(projectRoot: string, transcript: string, sessionUuid?: string, startedMidFile?: boolean): string | null;
60
76
  //# sourceMappingURL=run-id-recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-id-recovery.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/run-id-recovery.ts"],"names":[],"mappings":"AAyCA;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAc,CAAC;AAkF1C;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAejE;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIxE;AAkCD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAqBf"}
1
+ {"version":3,"file":"run-id-recovery.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/run-id-recovery.ts"],"names":[],"mappings":"AAyCA;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAkB,CAAC;AAkF9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,MAAM,GAAG,IAAI,CAezF;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIxE;AAsCD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,UAAQ,GACrB,MAAM,GAAG,IAAI,CAqBf"}
@@ -41,7 +41,7 @@ import { isSafeRunId } from "./pointer.js";
41
41
  * Hard cap on how much text is scanned, independent of what the caller passes.
42
42
  * The caller already reads a bounded tail; this is the belt to that braces.
43
43
  */
44
- export const MAX_SCAN_CHARS = 1024 * 1024;
44
+ export const MAX_SCAN_CHARS = 8 * 1024 * 1024;
45
45
  /**
46
46
  * The F6 footer marker.
47
47
  *
@@ -106,17 +106,17 @@ function isUserTypeLine(line) {
106
106
  * before the cut, so the surviving fragment fails to parse as JSON and
107
107
  * `isUserTypeLine` — correctly "never guessing" on genuinely malformed
108
108
  * content — keeps it, defeating the exclusion for precisely the record
109
- * this fix exists to exclude. The one line that can be a byte-cut
110
- * fragment is always the FIRST line of an actually-truncated tail (every
111
- * later line is bounded by two real `\n`s from the original file), so
112
- * that line alone is dropped outright rather than classified — accepting
113
- * a narrow "declines to identify" cost in exchange for closing the
114
- * wrong-identity path, consistent with this module's "no half answer, no
115
- * guess" posture elsewhere (e.g. a marker itself cut by the window).
109
+ * this fix exists to exclude. The FIRST line of an actually-truncated tail
110
+ * is always the one that can be a byte-cut fragment (every later line is
111
+ * bounded by two real `\n`s from the original file), so that line alone is
112
+ * dropped outright rather than classified — accepting a narrow "declines to
113
+ * identify" cost in exchange for closing the wrong-identity path.
116
114
  */
117
115
  function stripUserTypeLines(text, dropLeadingPartialLine) {
118
116
  const lines = text.split(/\r?\n/);
119
- if (dropLeadingPartialLine && lines.length > 1)
117
+ // No `lines.length > 1` guard (external review, openai): a single
118
+ // unterminated line IS a byte-cut fragment too when proven mid-file.
119
+ if (dropLeadingPartialLine)
120
120
  lines.shift();
121
121
  return lines.filter((line) => !isUserTypeLine(line)).join("\n");
122
122
  }
@@ -130,13 +130,29 @@ function stripUserTypeLines(text, dropLeadingPartialLine) {
130
130
  *
131
131
  * Pure — no I/O, no corroboration. `recoverRunIdFromTranscript` is the entry
132
132
  * point that adds evidence.
133
+ *
134
+ * `startedMidFile` (iterate-2026-09-28-mission-feed-completeness, AC2): PROVEN
135
+ * true, not merely assumed, whenever the caller's own read began after byte 0
136
+ * of the real file — `wire.ts`'s `readTranscriptTail` peeks the one byte
137
+ * immediately before its intended start and only reports `true` when that
138
+ * byte is not a `\n` (external code review, openai, raised across two
139
+ * independent review passes: an earlier version of this signal assumed
140
+ * partial whenever the read didn't start at byte 0, which is provably safe
141
+ * — see `stripUserTypeLines`'s doc comment — but not provably necessary; the
142
+ * peek settles it for real instead of arguing probability a third time). The
143
+ * caller always reads a bounded tail no larger than `MAX_SCAN_CHARS`, so
144
+ * `transcript.length > MAX_SCAN_CHARS` below can never observe that on its
145
+ * own in production, only in a test that hands this function an oversized
146
+ * string directly — THAT path stays a conservative assumption, since a bare
147
+ * string slice has no byte to peek. Either condition means the leading line
148
+ * may be a byte-cut fragment (see `stripUserTypeLines`'s doc comment).
133
149
  */
134
- export function findRunIdFooter(transcript) {
150
+ export function findRunIdFooter(transcript, startedMidFile = false) {
135
151
  if (typeof transcript !== "string" || transcript.length === 0)
136
152
  return null;
137
- const truncated = transcript.length > MAX_SCAN_CHARS;
138
- const tail = truncated ? transcript.slice(-MAX_SCAN_CHARS) : transcript;
139
- const text = stripUserTypeLines(tail, truncated);
153
+ const droppedLeadingPartial = startedMidFile || transcript.length > MAX_SCAN_CHARS;
154
+ const tail = transcript.length > MAX_SCAN_CHARS ? transcript.slice(-MAX_SCAN_CHARS) : transcript;
155
+ const text = stripUserTypeLines(tail, droppedLeadingPartial);
140
156
  let last = null;
141
157
  RUN_ID_FOOTER.lastIndex = 0;
142
158
  let m;
@@ -202,13 +218,17 @@ export function hasRunRecord(projectRoot, runId) {
202
218
  *
203
219
  * Deliberately NOT a persisted "no run" association: that would add a second
204
220
  * meaning to `task.missionContext` and a second write surface, to cache a regex.
221
+ *
222
+ * `startedMidFile` is PART OF THE FINGERPRINT (external code review, openai
223
+ * MEDIUM, third preflight pass): it changes whether `findRunIdFooter` drops
224
+ * the leading line, so the same raw text can parse two different ways.
205
225
  */
206
226
  const negativeScans = new Map();
207
227
  const NEGATIVE_CAP = 512;
208
228
  /** How much of the tail END feeds the fingerprint. */
209
229
  const FINGERPRINT_CHARS = 256;
210
- function tailFingerprint(text) {
211
- return `${text.length}:${text.slice(-FINGERPRINT_CHARS)}`;
230
+ function tailFingerprint(text, startedMidFile) {
231
+ return `${startedMidFile ? "1" : "0"}:${text.length}:${text.slice(-FINGERPRINT_CHARS)}`;
212
232
  }
213
233
  /**
214
234
  * Test-only: how many real scans ran. Without it a memo test can only assert the
@@ -241,13 +261,13 @@ export function _clearRecoveryMemo() {
241
261
  * forever — nothing consumed the answer, so nothing ever persisted it, and the
242
262
  * memo below only covers a NEGATIVE result (internal code review of PR #309).
243
263
  */
244
- export function recoverRunIdFromTranscript(projectRoot, transcript, sessionUuid) {
264
+ export function recoverRunIdFromTranscript(projectRoot, transcript, sessionUuid, startedMidFile = false) {
245
265
  const memoKey = sessionUuid ? `${projectRoot}::${sessionUuid}` : null;
246
- const fingerprint = memoKey ? tailFingerprint(transcript) : null;
266
+ const fingerprint = memoKey ? tailFingerprint(transcript, startedMidFile) : null;
247
267
  if (memoKey && negativeScans.get(memoKey) === fingerprint)
248
268
  return null;
249
269
  scanCount++;
250
- const candidate = findRunIdFooter(transcript);
270
+ const candidate = findRunIdFooter(transcript, startedMidFile);
251
271
  // Memoize ONLY "this text contains no marker" — a purely TEXTUAL fact, which
252
272
  // cannot change while the text does not. A candidate that failed
253
273
  // CORROBORATION is deliberately re-checked every poll: the project's records
@@ -1 +1 @@
1
- {"version":3,"file":"run-id-recovery.js","sourceRoot":"","sources":["../../../src/core/mission-context/run-id-recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-id-recovery.js","sourceRoot":"","sources":["../../../src/core/mission-context/run-id-recovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"traceability.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/traceability.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,kDAAkD,CAAC;AAKhF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;OAQG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC;AAEtF,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMtD;AAcD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM;AACnB;;;;;GAKG;AACH,UAAU,GAAE,MAAyB,GACpC,iBAAiB,CAwFnB"}
1
+ {"version":3,"file":"traceability.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/traceability.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,kDAAkD,CAAC;AAKhF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,GAAG,EAAE,SAAS,EAAE,CAAC;IACjB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;OAQG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC;AAEtF,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMtD;AAmBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM;AACnB;;;;;GAKG;AACH,UAAU,GAAE,MAAyB,GACpC,iBAAiB,CAgGnB"}
@@ -64,6 +64,12 @@ function addLink(entry, link) {
64
64
  // case happened to be tagged with the survivor id directly.
65
65
  if (!existing.mappedFrom && link.mappedFrom)
66
66
  existing.mappedFrom = link.mappedFrom;
67
+ // Union the AC ids seen across every case on this file for this FR — a file
68
+ // can hold several cases tagging different ACs of the same requirement.
69
+ for (const acId of link.acIds) {
70
+ if (!existing.acIds.includes(acId))
71
+ existing.acIds.push(acId);
72
+ }
67
73
  }
68
74
  /**
69
75
  * Read + invert the manifest. Never throws: every defect becomes a typed
@@ -156,7 +162,15 @@ maxEntries = MAX_TEST_ENTRIES) {
156
162
  }
157
163
  // The fold only "moved" the id when the source tag named something else.
158
164
  const from = typeof t.resolved_from === "string" ? t.resolved_from.trim() : "";
159
- addLink(entry, { frId, mappedFrom: from && from !== frId ? from : null });
165
+ // v4-only field (WITH_AC_TAG / BARE_FR_TAG fixtures). A pure relay of
166
+ // whatever the manifest already says — this reader computes no AC
167
+ // binding of its own.
168
+ const acId = typeof t.ac_id === "string" && t.ac_id.trim().length > 0 ? t.ac_id.trim() : null;
169
+ addLink(entry, {
170
+ frId,
171
+ mappedFrom: from && from !== frId ? from : null,
172
+ acIds: acId ? [acId] : [],
173
+ });
160
174
  }
161
175
  }
162
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"traceability.js","sourceRoot":"","sources":["../../../src/core/mission-context/traceability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traceability.js","sourceRoot":"","sources":["../../../src/core/mission-context/traceability.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,19 @@ export type TestChangeKind = "added" | "modified" | "removed";
7
7
  * `mappedFrom` is set only when the manifest resolved a folded source tag to a
8
8
  * surviving parent — a test tagged `covers(FR-01.44)` filed under `FR-01.28`
9
9
  * renders "mapped from FR-01.44" (Slice-2 AC2, covers monorepo `trg-5f6a4f74`).
10
+ *
11
+ * `acIds` is a PURE READ of the v4 manifest's optional `ac_id` on each test
12
+ * link — every distinct value seen across this file's cases for this FR,
13
+ * unioned and deduped the same way `mappedFrom` is carried. `[]` means no
14
+ * case for this file+FR carried an `ac_id` — the common case in this repo
15
+ * today (0/33 requirements tag `ac_id` as of iterate-2026-09-09), and MUST
16
+ * read as "not yet tagged", never as "covers no AC". This reader computes
17
+ * no AC binding of its own — it only relays what the manifest already says.
10
18
  */
11
19
  export interface TestFrRef {
12
20
  frId: string;
13
21
  mappedFrom: string | null;
22
+ acIds: string[];
14
23
  }
15
24
  export interface TestRow {
16
25
  /** Repo-relative POSIX path. */
@@ -25,6 +34,31 @@ export interface TestRow {
25
34
  frs: TestFrRef[];
26
35
  /** Test cases the manifest records for this file; null when unknown. */
27
36
  caseCount: number | null;
37
+ /**
38
+ * Set only when `frs` is empty because the manifest — read successfully —
39
+ * simply has no entry for this file yet (typically: the file is `added` in
40
+ * this run's own commit, newer than the last manifest regen). Distinct from
41
+ * a genuinely-zero-links file, which cannot occur: every manifest entry that
42
+ * exists carries at least one requirement link. `null` whenever `frs` is
43
+ * either resolved or the absence is already explained at the artifact level
44
+ * (`manifestStatus: "unavailable"`, or a `removed` file, never in the
45
+ * manifest by definition). The UI must render this instead of a bare dash —
46
+ * an unindexed file must never read as "proven to cover no requirement".
47
+ */
48
+ unresolvedReason?: string | null;
49
+ }
50
+ /**
51
+ * The rows for ONE acceptance criterion — the same file-level rows the RTM
52
+ * table already shows, regrouped by `(frId, acId)` rather than by file. A
53
+ * VIEW, not a second store: every file here already appears in `rows` above.
54
+ */
55
+ export interface AcTestGroup {
56
+ frId: string;
57
+ acId: string;
58
+ files: {
59
+ path: string;
60
+ kind: TestChangeKind;
61
+ }[];
28
62
  }
29
63
  export interface TestsArtifact extends ArtifactBase {
30
64
  kind: "tests";
@@ -68,6 +102,16 @@ export interface TestsArtifact extends ArtifactBase {
68
102
  } | null;
69
103
  note: string | null;
70
104
  };
105
+ /**
106
+ * `tagged: false` means no row's manifest link carried an `ac_id` — the UI
107
+ * must render that as "not yet tagged by AC", never as an empty coverage
108
+ * table. `groups` is derived purely from `rows[].frs[].acIds`; it adds no
109
+ * binding this artifact did not already have.
110
+ */
111
+ acCoverage: {
112
+ tagged: boolean;
113
+ groups: AcTestGroup[];
114
+ };
71
115
  } | null;
72
116
  }
73
117
  /**