@askexenow/exe-os 0.9.372 → 0.9.374

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 (470) hide show
  1. package/deploy/compose/.env.customer.example +45 -10
  2. package/deploy/compose/.env.example +46 -9
  3. package/deploy/compose/docker-compose.yml +136 -18
  4. package/deploy/compose/generate-env.ts +142 -34
  5. package/deploy/compose/sso-edge/default.conf.template +78 -7
  6. package/deploy/compose/sso-edge/sso-redirect.conf +109 -13
  7. package/deploy/stack-manifests/v0.9.30-apps.json +1 -1
  8. package/deploy/stack-manifests/v0.9.json +4 -4
  9. package/dist/.dist-verified.json +3 -3
  10. package/dist/{active-agent-GRT5MKD5.js → active-agent-ONPPEWQV.js} +7 -6
  11. package/dist/{active-agent-L2ZSSXDK.js → active-agent-UJKMG7LJ.js} +7 -6
  12. package/dist/{agent-defs-generator-M4ZNYIVX.js → agent-defs-generator-ZWI6DXOE.js} +6 -5
  13. package/dist/{agent-loop-FOK2IRZQ.js → agent-loop-OYHJKNYH.js} +1 -1
  14. package/dist/{agentic-ontology-DMPRDEUX.js → agentic-ontology-WHFJ3QFS.js} +1 -1
  15. package/dist/{artifact-backup-767STHSW.js → artifact-backup-WXZNB7KE.js} +2 -1
  16. package/dist/{backfill-gate-VX2RZTQV.js → backfill-gate-KWJQ35YX.js} +3 -2
  17. package/dist/{backfill-metadata-ZMEHJQ5M.js → backfill-metadata-3OUSQD5V.js} +8 -7
  18. package/dist/{background-jobs-LTPWCMA3.js → background-jobs-6VMD55PK.js} +3 -2
  19. package/dist/{backup-verify-EX2K732J.js → backup-verify-ZKTUYLTA.js} +4 -3
  20. package/dist/{behavior-injection-22AGMS25.js → behavior-injection-M6UYZCMW.js} +17 -15
  21. package/dist/{behaviors-DVFXAWF5.js → behaviors-ZJ45TFBJ.js} +21 -13
  22. package/dist/bin/age-ontology-load.js +3 -2
  23. package/dist/bin/agentic-ontology-backfill.js +10 -9
  24. package/dist/bin/agentic-reflection-backfill.js +11 -10
  25. package/dist/bin/agentic-semantic-label.js +10 -9
  26. package/dist/bin/backfill-conversations.js +13 -11
  27. package/dist/bin/backfill-responses.js +13 -11
  28. package/dist/bin/backfill-vectors.js +17 -15
  29. package/dist/bin/bulk-sync-postgres.js +22 -20
  30. package/dist/bin/cc-doctor.js +10 -9
  31. package/dist/bin/cleanup-stale-review-tasks.js +29 -26
  32. package/dist/bin/cli.js +36 -26
  33. package/dist/bin/deferred-daemon-restart.js +114 -110
  34. package/dist/bin/exe-agent-config.js +6 -5
  35. package/dist/bin/exe-agent.js +127 -33
  36. package/dist/bin/exe-assign.js +15 -13
  37. package/dist/bin/exe-boot.js +57 -54
  38. package/dist/bin/exe-call.js +8 -7
  39. package/dist/bin/exe-cloud.js +24 -22
  40. package/dist/bin/exe-config-dump.js +6 -5
  41. package/dist/bin/exe-dispatch.js +30 -27
  42. package/dist/bin/exe-doctor.js +14 -10
  43. package/dist/bin/exe-export-behaviors.js +19 -17
  44. package/dist/bin/exe-forget.js +10 -9
  45. package/dist/bin/exe-gateway.js +199 -19
  46. package/dist/bin/exe-grant.js +5 -5
  47. package/dist/bin/exe-healthcheck.js +10 -9
  48. package/dist/bin/exe-heartbeat.js +35 -32
  49. package/dist/bin/exe-kill.js +34 -31
  50. package/dist/bin/exe-launch-agent.js +126 -54
  51. package/dist/bin/exe-mcp.js +6 -5
  52. package/dist/bin/exe-memory-reads.js +8 -7
  53. package/dist/bin/exe-new-employee.js +12 -11
  54. package/dist/bin/exe-os-mcp-proxy.js +6 -5
  55. package/dist/bin/exe-pending-messages.js +30 -27
  56. package/dist/bin/exe-pending-notifications.js +29 -26
  57. package/dist/bin/exe-pending-reviews.js +30 -27
  58. package/dist/bin/exe-rename.js +8 -7
  59. package/dist/bin/exe-repo-truth.js +1 -1
  60. package/dist/bin/exe-review.js +33 -30
  61. package/dist/bin/exe-search.js +9 -8
  62. package/dist/bin/exe-session-cleanup.js +35 -32
  63. package/dist/bin/exe-settings.js +24 -22
  64. package/dist/bin/exe-start-codex.js +137 -55
  65. package/dist/bin/exe-start-opencode.js +121 -23
  66. package/dist/bin/exe-status.js +31 -28
  67. package/dist/bin/exe-support.js +5 -4
  68. package/dist/bin/exe-team.js +7 -6
  69. package/dist/bin/exe-watchdog.js +31 -11
  70. package/dist/bin/generate-hook-manifest.js +44 -7
  71. package/dist/bin/git-sweep.js +31 -28
  72. package/dist/bin/graph-backfill.js +89 -35
  73. package/dist/bin/graph-export.js +9 -8
  74. package/dist/bin/import-history.js +14 -13
  75. package/dist/bin/install.js +137 -113
  76. package/dist/bin/intercom-check.js +5 -5
  77. package/dist/bin/mcp-sessions.js +2 -2
  78. package/dist/bin/orchestration-metrics.js +7 -6
  79. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -4
  80. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -3
  81. package/dist/bin/pre-publish.js +1 -1
  82. package/dist/bin/reconcile-backlog.js +2 -2
  83. package/dist/bin/registry-proxy.js +1 -1
  84. package/dist/bin/scan-tasks.js +29 -26
  85. package/dist/bin/setup.js +5 -4
  86. package/dist/bin/shard-migrate.js +9 -8
  87. package/dist/bin/stack-update.js +40 -9
  88. package/dist/bin/verify-stack.js +2 -2
  89. package/dist/bin/vps-health-gate.js +1 -1
  90. package/dist/{boot-generation-OHXH4YC5.js → boot-generation-JKVZ4ZAT.js} +6 -5
  91. package/dist/{boot-review-sections-N5IXIGSS.js → boot-review-sections-2M6BTG73.js} +28 -25
  92. package/dist/{branch-hygiene-KCGXRAWP.js → branch-hygiene-U5GFRSTP.js} +31 -7
  93. package/dist/{branding-GH43W3PU.js → branding-I6KIMB7F.js} +3 -2
  94. package/dist/budget-fallback-XJRPMP2D.js +11 -0
  95. package/dist/build-manifest.json +1318 -1233
  96. package/dist/{capability-cards-4PXVLIVS.js → capability-cards-5IMJT6J7.js} +5 -4
  97. package/dist/{capacity-monitor-FKMQXORX.js → capacity-monitor-SAXCQK7O.js} +30 -27
  98. package/dist/{catchup-brief-SN5EKO4N.js → catchup-brief-U2TXBLHD.js} +34 -31
  99. package/dist/{chunk-CNC57JCS.js → chunk-23MVDXLY.js} +4 -4
  100. package/dist/{chunk-V4XAKXXF.js → chunk-2AJGV5UL.js} +1 -1
  101. package/dist/{chunk-FBYAXTDM.js → chunk-2ZOEC4KC.js} +10 -2
  102. package/dist/{chunk-ELXFSIIM.js → chunk-32YV32VA.js} +2 -2
  103. package/dist/{chunk-44C7QNZS.js → chunk-3KDCORDO.js} +1 -1
  104. package/dist/{chunk-JTB5V6BV.js → chunk-3SXHEQ7X.js} +1 -1
  105. package/dist/{chunk-HDW4XPDV.js → chunk-3UUX5OY4.js} +1 -1
  106. package/dist/{chunk-7PSLK36P.js → chunk-44TLJZJ5.js} +1 -1
  107. package/dist/{chunk-JTWTBX2M.js → chunk-4EN3IZ3Q.js} +2 -1
  108. package/dist/{chunk-KPMC7PY7.js → chunk-4HKTO2SV.js} +1 -1
  109. package/dist/{chunk-CDUB5Q6J.js → chunk-4IK2K3B3.js} +1 -1
  110. package/dist/{chunk-GH6YJOOC.js → chunk-4SJ4LK4V.js} +6 -6
  111. package/dist/{chunk-PVEM537A.js → chunk-4YLBKEL5.js} +2 -2
  112. package/dist/chunk-4YNA3CM6.js +872 -0
  113. package/dist/{chunk-KYFFVTGO.js → chunk-55BEFF4V.js} +3 -3
  114. package/dist/{chunk-SEP5ITFQ.js → chunk-636LKCKE.js} +2 -2
  115. package/dist/{chunk-QTI4QAWA.js → chunk-6EZQUNE6.js} +338 -5
  116. package/dist/{chunk-WAEKYKTK.js → chunk-6RKKVPYF.js} +1 -1
  117. package/dist/{chunk-VX2F4ZUY.js → chunk-6SCGLHJ7.js} +3 -3
  118. package/dist/{chunk-MEGRQ53A.js → chunk-6VHOQ3IM.js} +51 -6
  119. package/dist/{chunk-HIIXCAEE.js → chunk-6YVUR3OU.js} +3 -3
  120. package/dist/{chunk-L6ZNURWN.js → chunk-7GE2EQ23.js} +1 -1
  121. package/dist/{chunk-2CWS374F.js → chunk-7RI2CNXJ.js} +1 -1
  122. package/dist/{chunk-OL3QP3AU.js → chunk-7TSBV3SD.js} +1 -1
  123. package/dist/{chunk-DSOQUQTV.js → chunk-A27Q27CT.js} +27 -0
  124. package/dist/{chunk-5AHRZI3R.js → chunk-AETLDRZB.js} +1 -1
  125. package/dist/{chunk-RNLF3CBB.js → chunk-AKLJ4JH3.js} +1 -1
  126. package/dist/{chunk-XHYHX6F7.js → chunk-AKLQSC6W.js} +329 -164
  127. package/dist/chunk-ANLFH23R.js +261 -0
  128. package/dist/{chunk-QLA3RTH4.js → chunk-AWWKRZMB.js} +5 -5
  129. package/dist/{chunk-ERVQTR7P.js → chunk-BBSIEYF5.js} +17 -3
  130. package/dist/{chunk-IPMUWYRQ.js → chunk-BJ7AVSY6.js} +2 -2
  131. package/dist/{chunk-HV6Y6F4X.js → chunk-C2L622QJ.js} +89 -3
  132. package/dist/{chunk-TX3Q2GIL.js → chunk-C5HUMAA7.js} +24 -1
  133. package/dist/{chunk-QTYJPWJN.js → chunk-CBCGDEJA.js} +7 -7
  134. package/dist/{chunk-XXSNLM6R.js → chunk-DB55JZHU.js} +1 -1
  135. package/dist/{chunk-LAZKEJMS.js → chunk-DIXXEE3S.js} +840 -607
  136. package/dist/{chunk-FB343XQX.js → chunk-DJ7YXOTU.js} +2 -2
  137. package/dist/{chunk-YFCNWQAM.js → chunk-DJOIMFKV.js} +2 -2
  138. package/dist/{chunk-UTDMTQNH.js → chunk-DSJI76XL.js} +92 -14
  139. package/dist/{chunk-EEXX4UMQ.js → chunk-DZKPOSFD.js} +1 -1
  140. package/dist/{chunk-WSOA3WMC.js → chunk-E426DOSY.js} +161 -4
  141. package/dist/{chunk-ZISQOOER.js → chunk-EKE37MO4.js} +3 -3
  142. package/dist/{chunk-RIECV7SR.js → chunk-EKYYMIVT.js} +1 -1
  143. package/dist/{chunk-HIVZ53YB.js → chunk-EXTZSNWL.js} +2 -2
  144. package/dist/{chunk-YYA5LXCT.js → chunk-FNEZ4BWT.js} +1 -1
  145. package/dist/chunk-FTZET5YX.js +313 -0
  146. package/dist/chunk-GHR4ZPJ7.js +70 -0
  147. package/dist/{chunk-MINXPXAB.js → chunk-GJI77VDO.js} +3 -3
  148. package/dist/{chunk-AAMGHW5W.js → chunk-GLQEJOXE.js} +1 -0
  149. package/dist/{chunk-ADNBOKYZ.js → chunk-GM7TLYOK.js} +60 -18
  150. package/dist/{chunk-RUWWES2K.js → chunk-GNUAL43X.js} +2 -2
  151. package/dist/{chunk-QZL6E4UB.js → chunk-GOMQ7PVQ.js} +2 -2
  152. package/dist/{chunk-GB3AHV5F.js → chunk-GQOEWNVM.js} +1 -1
  153. package/dist/{chunk-NQZUSEAR.js → chunk-GS7LIT34.js} +246 -17
  154. package/dist/{chunk-XTWHNLGD.js → chunk-GZOG2MAX.js} +1 -1
  155. package/dist/{chunk-E5HAY3DQ.js → chunk-HDLAB7W3.js} +1 -1
  156. package/dist/{chunk-E5QQZDQN.js → chunk-HNWS7YHN.js} +358 -136
  157. package/dist/{chunk-VV5EZZNT.js → chunk-HTBEVCO2.js} +1 -1
  158. package/dist/{chunk-OZBII5E3.js → chunk-I4DNJFDR.js} +4 -4
  159. package/dist/{chunk-SI5SZAJA.js → chunk-IBS2FAI4.js} +21 -4
  160. package/dist/{chunk-J5EYOBFF.js → chunk-IHXW4VUI.js} +1 -1
  161. package/dist/{chunk-RUVO3NJC.js → chunk-IN6CAM4F.js} +9 -3
  162. package/dist/{chunk-53PYNYTW.js → chunk-IRVOXUSK.js} +5 -5
  163. package/dist/{chunk-THM7J6UI.js → chunk-JHI5WMK5.js} +5 -5
  164. package/dist/{chunk-3KTQWMHI.js → chunk-JSMDRKPJ.js} +12 -4
  165. package/dist/chunk-JTVIANUB.js +131 -0
  166. package/dist/{chunk-2ADYTOHQ.js → chunk-K4ESASPL.js} +1 -1
  167. package/dist/{chunk-YWUQVHDL.js → chunk-KTCXJWJG.js} +1 -1
  168. package/dist/{chunk-RGUDGC6A.js → chunk-KTU3EAWK.js} +5 -5
  169. package/dist/{chunk-DKBPCOU4.js → chunk-L6RXG36J.js} +2 -2
  170. package/dist/{chunk-T4EK56WI.js → chunk-LDNYSMPZ.js} +1 -1
  171. package/dist/{chunk-RIK5GRWI.js → chunk-LGS2V2XD.js} +3 -3
  172. package/dist/{chunk-JKXZGRWR.js → chunk-LP4GB656.js} +2 -2
  173. package/dist/{chunk-H74466TM.js → chunk-M7O7TGGU.js} +1 -1
  174. package/dist/chunk-MJCSEIFI.js +54 -0
  175. package/dist/{chunk-IDZPQG2D.js → chunk-MOGA4Q7F.js} +2 -2
  176. package/dist/{chunk-OYQNNKNS.js → chunk-MXPNVSXI.js} +37 -14
  177. package/dist/{chunk-UVW7YFAF.js → chunk-N7VEP5B3.js} +4 -4
  178. package/dist/{chunk-HHE2HV3V.js → chunk-NBXDXKLC.js} +1 -1
  179. package/dist/{chunk-LDL3S7AC.js → chunk-NKETJCB5.js} +7 -3
  180. package/dist/{chunk-ECHLVLA7.js → chunk-NMH5ZQPU.js} +1 -1
  181. package/dist/{chunk-U3XLRMJD.js → chunk-NT7W4RXD.js} +1 -1
  182. package/dist/{chunk-UQUUNGTP.js → chunk-NUK7EEN5.js} +11 -9
  183. package/dist/{chunk-GBNB4EWD.js → chunk-ORM7ZFKC.js} +16 -0
  184. package/dist/{chunk-O4ZFRK6W.js → chunk-OVEQE6YS.js} +244 -49
  185. package/dist/{chunk-4ZJ5BPY6.js → chunk-PB5S7YOF.js} +2 -2
  186. package/dist/{chunk-JR23BL74.js → chunk-PDVXWXTL.js} +4 -4
  187. package/dist/{chunk-3CIMDFXG.js → chunk-PFQ3VEEM.js} +1 -1
  188. package/dist/{chunk-SBJV2PCU.js → chunk-PHBU4LGO.js} +1 -1
  189. package/dist/{chunk-W25RLOQ2.js → chunk-PLZSZOZN.js} +3 -3
  190. package/dist/{chunk-THIJIOE2.js → chunk-PY3FOMRN.js} +18 -6
  191. package/dist/{chunk-AAUWFXOX.js → chunk-Q3AXXKDF.js} +3 -3
  192. package/dist/{chunk-VKXS2YGN.js → chunk-QHJR7IMX.js} +2 -2
  193. package/dist/chunk-QLZ46RCK.js +45 -0
  194. package/dist/{chunk-UHPMK6QZ.js → chunk-R3CZWFFC.js} +10 -2
  195. package/dist/{chunk-6XEYELCA.js → chunk-R4CBHKZ2.js} +1 -1
  196. package/dist/{chunk-5APCDDJZ.js → chunk-R522MWAR.js} +9 -9
  197. package/dist/chunk-RH4AH3YB.js +80 -0
  198. package/dist/{chunk-AMKSDKMK.js → chunk-S2WBS6BG.js} +22 -35
  199. package/dist/{chunk-WUKQVNLP.js → chunk-SEQIPGLU.js} +1 -1
  200. package/dist/{chunk-7WQRFSZI.js → chunk-SL6KQYDU.js} +26 -6
  201. package/dist/chunk-SLLLOOEI.js +103 -0
  202. package/dist/{chunk-5N4SG5NB.js → chunk-T35RCQFE.js} +3 -3
  203. package/dist/{chunk-7V6M3QUS.js → chunk-T3QUKNLI.js} +1 -1
  204. package/dist/{chunk-CW2UCKHS.js → chunk-TADAO3HV.js} +2 -2
  205. package/dist/{chunk-5DCCKHDY.js → chunk-TAMDAOCU.js} +109 -13
  206. package/dist/{chunk-ZXB56YR2.js → chunk-TFKCERAK.js} +101 -23
  207. package/dist/{chunk-RBYHJDAT.js → chunk-TQAZTRQ3.js} +3 -3
  208. package/dist/{chunk-OKGIOWOB.js → chunk-U6SUKSZR.js} +2 -2
  209. package/dist/{chunk-23QKEUF6.js → chunk-U73AC5AN.js} +34 -12
  210. package/dist/{chunk-PM6WSWVU.js → chunk-UBK7HK3J.js} +3 -3
  211. package/dist/{chunk-H37FSTF2.js → chunk-UBMZ3YQU.js} +1 -1
  212. package/dist/{chunk-JJUGI2YL.js → chunk-UCFC2AEI.js} +1 -1
  213. package/dist/{chunk-6IWLAQ7O.js → chunk-UCUOGVDX.js} +4 -0
  214. package/dist/{chunk-E7UCDSUE.js → chunk-UKLN57Q5.js} +2 -2
  215. package/dist/{chunk-ZYCLSEZT.js → chunk-ULIBLJ6W.js} +33 -11
  216. package/dist/{chunk-RLR6VVKV.js → chunk-UM3N6VND.js} +4 -4
  217. package/dist/{chunk-ZNUJFX7L.js → chunk-UQGSBM3U.js} +1 -1
  218. package/dist/{chunk-ZZXMB5F2.js → chunk-UZDF6FLJ.js} +1 -1
  219. package/dist/{chunk-LNOS24GV.js → chunk-V3WLC5TJ.js} +2 -95
  220. package/dist/{chunk-UXLO7VHX.js → chunk-VI4ATC6I.js} +1 -1
  221. package/dist/{chunk-77JP3LK4.js → chunk-VKJGHAZT.js} +92 -21
  222. package/dist/{chunk-7R73IAHU.js → chunk-VMTZ4RUW.js} +67 -150
  223. package/dist/{chunk-TGPQMMQP.js → chunk-VYQ7B7DI.js} +30 -17
  224. package/dist/{chunk-E2WEFZOR.js → chunk-W75GTHR3.js} +1 -1
  225. package/dist/{chunk-UKLF7F3Z.js → chunk-WJG344NC.js} +9 -9
  226. package/dist/{chunk-MBNIJXKI.js → chunk-WMEYJT4R.js} +18 -4
  227. package/dist/{chunk-R6FLELV6.js → chunk-XFTEX77S.js} +3 -3
  228. package/dist/{chunk-MDGYXUOV.js → chunk-XH7YL7JM.js} +1 -1
  229. package/dist/{chunk-JOO35RHR.js → chunk-XL5MFGMR.js} +3 -3
  230. package/dist/{chunk-OW5RZIDW.js → chunk-XNNECNDL.js} +95 -33
  231. package/dist/{chunk-5AHDQCTB.js → chunk-XXFKSJYA.js} +6 -6
  232. package/dist/{chunk-TGEPLJ66.js → chunk-XXOPG4BW.js} +3 -3
  233. package/dist/{chunk-PGLPUP37.js → chunk-XZ65ST2I.js} +1 -1
  234. package/dist/{chunk-3TTKAT6V.js → chunk-YKC7QDZH.js} +9 -4
  235. package/dist/{chunk-KXYFBBZR.js → chunk-YMP2QSOP.js} +20 -3
  236. package/dist/{chunk-TK4MI6F6.js → chunk-YSLGFPWX.js} +6 -6
  237. package/dist/{chunk-X2P43TB2.js → chunk-YTSXPJUQ.js} +1 -1
  238. package/dist/{chunk-HECXZGGZ.js → chunk-ZCERWHY2.js} +33 -35
  239. package/dist/{chunk-IVU3WN7S.js → chunk-ZG62LIK3.js} +74 -4
  240. package/dist/{chunk-GU62SNDH.js → chunk-ZGYNKA3O.js} +744 -111
  241. package/dist/{chunk-QMSEL5YS.js → chunk-ZIG7VPJV.js} +28 -76
  242. package/dist/{chunk-WZJVGA5I.js → chunk-ZL4AGWAH.js} +258 -13
  243. package/dist/{chunk-QR624DER.js → chunk-ZSODLMFV.js} +2 -2
  244. package/dist/{cleanup-graph-garbage-IPYDS5OX.js → cleanup-graph-garbage-DPJGO52H.js} +11 -10
  245. package/dist/{cloud-sync-command-JLNVG7H4.js → cloud-sync-command-JPNTT4OQ.js} +2 -2
  246. package/dist/{cloud-sync-db-init-JXUF6GI3.js → cloud-sync-db-init-V2LWIUQU.js} +1 -1
  247. package/dist/{cloud-sync-shutdown-Z4SBP6PL.js → cloud-sync-shutdown-BNALPWGX.js} +5 -4
  248. package/dist/{co-activation-74RDFTKS.js → co-activation-CMNSWS6B.js} +5 -4
  249. package/dist/{co-occurrence-CN3TBYVR.js → co-occurrence-WRI2NAN6.js} +9 -8
  250. package/dist/{code-context-index-D4MJ4VFX.js → code-context-index-NOJSHLPN.js} +12 -6
  251. package/dist/code-context-watcher-VZNZU3BO.js +118 -0
  252. package/dist/{codex-consolidation-PPXNBXCV.js → codex-consolidation-SH4UKFBQ.js} +2 -1
  253. package/dist/{conversation-entity-extractor-QGTLH4BP.js → conversation-entity-extractor-74252CAO.js} +4 -4
  254. package/dist/{conversation-wiki-populator-EBUZXYEU.js → conversation-wiki-populator-OS4C6W54.js} +1 -1
  255. package/dist/conversations-retention-C4BLKFEL.js +54 -0
  256. package/dist/coordinator-notice-MHUY7AQB.js +55 -0
  257. package/dist/{crdt-sync-7T4WCOKD.js → crdt-sync-B3JN6AIV.js} +1 -1
  258. package/dist/{crm-webhook-FTW3XZTO.js → crm-webhook-GYWQRFET.js} +2 -2
  259. package/dist/{cto-delegation-gate-SZCE34LB.js → cto-delegation-gate-LQHVLEMW.js} +29 -26
  260. package/dist/{daemon-auth-SSPY5ODS.js → daemon-auth-QZHEO7IQ.js} +3 -2
  261. package/dist/{daemon-orchestration-IGPHVNFR.js → daemon-orchestration-5HIQALZH.js} +36 -34
  262. package/dist/{daemon-ready-OT2VQLS7.js → daemon-ready-P2BR2XP5.js} +1 -1
  263. package/dist/{db-integrity-events-5DTASXJF.js → db-integrity-events-2DTFO37N.js} +3 -2
  264. package/dist/{db-restore-events-2FI4ZMKA.js → db-restore-events-G6NOQOVE.js} +2 -1
  265. package/dist/{destructive-data-guard-6I5MDFVD.js → destructive-data-guard-BVFWPPIS.js} +1 -1
  266. package/dist/doc-graph-extractor-PQHDHQPQ.js +367 -0
  267. package/dist/{documents-URULIXGM.js → documents-C4SSPJMC.js} +15 -13
  268. package/dist/{dreaming-VIZO3QDO.js → dreaming-XAO3FCBV.js} +33 -30
  269. package/dist/{employee-boot-brief-XLOG4ULP.js → employee-boot-brief-W4OHUMRQ.js} +37 -34
  270. package/dist/{exe-drift-TLQM3IHD.js → exe-drift-AG2KMKD5.js} +6 -5
  271. package/dist/{exe-export-7YWYWJHY.js → exe-export-IC5BT335.js} +17 -15
  272. package/dist/{exe-import-DW6VAUKW.js → exe-import-A35ZLDPG.js} +17 -15
  273. package/dist/{exe-key-TLJP2B4Y.js → exe-key-TCMJNYLA.js} +116 -112
  274. package/dist/{exe-org-LU46N36E.js → exe-org-JXCR3JYZ.js} +24 -23
  275. package/dist/{exe-snapshot-QHUZRS62.js → exe-snapshot-SV6SRIG6.js} +36 -33
  276. package/dist/{fast-db-init-SCTOOIUT.js → fast-db-init-L2RGKJWH.js} +1 -1
  277. package/dist/{founder-context-ZFZC4UHO.js → founder-context-D4HFIESJ.js} +4 -3
  278. package/dist/{founder-monitor-envelope-5KTKNL5G.js → founder-monitor-envelope-TFKRGCFE.js} +5 -4
  279. package/dist/{fts-integrity-LKAZEZJE.js → fts-integrity-4YB34KWX.js} +3 -2
  280. package/dist/gateway/index.js +19 -17
  281. package/dist/{git-main-guard-TN27QBAI.js → git-main-guard-VTW4N3CM.js} +7 -1
  282. package/dist/{git-staleness-GSGP344N.js → git-staleness-TN7CYGFG.js} +5 -4
  283. package/dist/{global-procedures-YAR7G4C6.js → global-procedures-YFDEIOG7.js} +7 -6
  284. package/dist/{graph-auto-extract-GNQS64F5.js → graph-auto-extract-3YR3TYRW.js} +9 -8
  285. package/dist/{graph-rag-RMSFLUOB.js → graph-rag-Z2KCJTPK.js} +6 -4
  286. package/dist/{hook-integrity-CF567MVN.js → hook-integrity-KGAV6ZC2.js} +14 -4
  287. package/dist/{hook-prefetch-36BK4F7U.js → hook-prefetch-K5DN3TOQ.js} +29 -26
  288. package/dist/hooks/bug-report-worker.js +34 -30
  289. package/dist/hooks/codex-stop-task-finalizer.js +36 -32
  290. package/dist/hooks/commit-complete.js +33 -30
  291. package/dist/hooks/error-recall.js +12 -11
  292. package/dist/hooks/exe-heartbeat-hook.js +8 -7
  293. package/dist/hooks/ingest-worker.js +23 -11
  294. package/dist/hooks/ingest.js +18 -17
  295. package/dist/hooks/instructions-loaded.js +10 -9
  296. package/dist/hooks/manifest.json +20 -20
  297. package/dist/hooks/notification.js +9 -8
  298. package/dist/hooks/post-compact.js +8 -7
  299. package/dist/hooks/post-tool-combined.js +26 -15
  300. package/dist/hooks/pre-compact.js +33 -30
  301. package/dist/hooks/pre-tool-use.js +404 -46
  302. package/dist/hooks/prompt-submit.js +57 -47
  303. package/dist/hooks/session-end.js +40 -41
  304. package/dist/hooks/session-start.js +21 -20
  305. package/dist/hooks/stop.js +40 -37
  306. package/dist/hooks/subagent-stop.js +38 -35
  307. package/dist/hooks/summary-worker.js +39 -36
  308. package/dist/hyde-MP4QNMU5.js +80 -0
  309. package/dist/index.js +44 -39
  310. package/dist/{installer-LUN4HQIC.js → installer-54HTN5RE.js} +8 -7
  311. package/dist/{installer-OC5VXNC7.js → installer-LK35OX6R.js} +8 -7
  312. package/dist/{installer-MPRFUQJE.js → installer-LLWKZI2S.js} +8 -7
  313. package/dist/intercom-ack-VCW755TN.js +13 -0
  314. package/dist/{intercom-queue-6DZ7BANV.js → intercom-queue-5NOT2RKI.js} +28 -25
  315. package/dist/{key-backup-status-6L2ARCXW.js → key-backup-status-LQPINQ3W.js} +2 -1
  316. package/dist/lib/agent-config.js +3 -2
  317. package/dist/lib/cloud-sync.js +26 -20
  318. package/dist/lib/config.js +2 -1
  319. package/dist/lib/consolidation.js +17 -10
  320. package/dist/lib/database.js +7 -4
  321. package/dist/lib/db-backup.js +17 -2
  322. package/dist/lib/db-daemon-client.js +8 -6
  323. package/dist/lib/db-write-worker-client.js +3 -1
  324. package/dist/lib/db-write-worker.js +20 -3
  325. package/dist/lib/db.js +7 -4
  326. package/dist/lib/device-registry.js +3 -2
  327. package/dist/lib/embed-worker.js +2 -1
  328. package/dist/lib/embedder.js +8 -6
  329. package/dist/lib/employee-templates.js +8 -7
  330. package/dist/lib/employees.js +5 -4
  331. package/dist/lib/exe-daemon-client.js +7 -5
  332. package/dist/lib/exe-daemon.js +467 -221
  333. package/dist/lib/hybrid-search.js +11 -8
  334. package/dist/lib/identity.js +5 -4
  335. package/dist/lib/license.js +4 -3
  336. package/dist/lib/messaging.js +29 -26
  337. package/dist/lib/post-tool-memory.js +16 -2
  338. package/dist/lib/registry-proxy.js +3 -1
  339. package/dist/lib/reminders.js +6 -5
  340. package/dist/lib/schedules.js +9 -8
  341. package/dist/lib/session-registry.js +7 -6
  342. package/dist/lib/skill-learning.js +16 -14
  343. package/dist/lib/stack-invariants.js +17 -1
  344. package/dist/lib/status-brief.js +5 -4
  345. package/dist/lib/store.js +10 -7
  346. package/dist/lib/task-router.js +6 -5
  347. package/dist/lib/tasks.js +31 -27
  348. package/dist/lib/tmux-routing.js +40 -25
  349. package/dist/lib/tmux-status.js +3 -1
  350. package/dist/lib/tmux-transport.js +2 -1
  351. package/dist/lib/token-spend.js +6 -5
  352. package/dist/lib/transport.js +3 -2
  353. package/dist/{license-gate-ESER24PJ.js → license-gate-JVMB6OFD.js} +5 -4
  354. package/dist/{license-sync-JVG5KNIY.js → license-sync-5VYS2F2W.js} +4 -3
  355. package/dist/mcp/register-tools.js +113 -109
  356. package/dist/mcp/server.js +118 -114
  357. package/dist/mcp/tools/complete-reminder.js +7 -6
  358. package/dist/mcp/tools/create-reminder.js +7 -6
  359. package/dist/mcp/tools/create-task.js +34 -30
  360. package/dist/mcp/tools/deactivate-behavior.js +18 -16
  361. package/dist/mcp/tools/list-reminders.js +7 -6
  362. package/dist/mcp/tools/list-tasks.js +34 -30
  363. package/dist/mcp/tools/send-message.js +32 -29
  364. package/dist/mcp/tools/update-task.js +32 -28
  365. package/dist/mcp-child-registry-OTG4MWO7.js +25 -0
  366. package/dist/{mcp-http-config-6K6IKH5F.js → mcp-http-config-DQWL7U2Z.js} +6 -5
  367. package/dist/{mcp-session-identity-LRC6WJSD.js → mcp-session-identity-277GASTQ.js} +28 -25
  368. package/dist/{memory-cards-V3OZHIYP.js → memory-cards-3S2ZQPR7.js} +17 -8
  369. package/dist/{memory-graph-extractor-JC2Z64L4.js → memory-graph-extractor-A6DFEFIN.js} +10 -9
  370. package/dist/{memory-poisoning-defense-YM4QJHCX.js → memory-poisoning-defense-ZVP4H6DY.js} +5 -4
  371. package/dist/{memory-pressure-watchdog-6F6KEQHN.js → memory-pressure-watchdog-6W5F6R7H.js} +29 -26
  372. package/dist/{memory-queue-QJNWKWKG.js → memory-queue-YF7IDSFY.js} +3 -2
  373. package/dist/{memory-queue-client-COA4ABEV.js → memory-queue-client-ADSDP6OX.js} +9 -7
  374. package/dist/{memory-reflection-QXHJPYPC.js → memory-reflection-BKB2YOE6.js} +52 -6
  375. package/dist/{monitor-grants-BW2WL4IU.js → monitor-grants-EV747HMW.js} +4 -3
  376. package/dist/{notification-ledger-6QRLQW4Q.js → notification-ledger-CLGM7ODF.js} +30 -27
  377. package/dist/{notifications-7B6D7Y5C.js → notifications-MACUZPYP.js} +28 -25
  378. package/dist/{oauth-server-TZFNQAFS.js → oauth-server-AYM37SQ4.js} +25 -4
  379. package/dist/{orchestration-events-GY5VP5LU.js → orchestration-events-N7LYMUGA.js} +6 -5
  380. package/dist/{orchestration-phase-UDS24CVQ.js → orchestration-phase-T2WD45UA.js} +3 -2
  381. package/dist/{orchestrator-JVPVOYWA.js → orchestrator-4X24EWHV.js} +30 -27
  382. package/dist/{org-brief-session-GRV5R5E3.js → org-brief-session-FZOFMO5U.js} +13 -12
  383. package/dist/{org-consent-policy-3FHHSYXV.js → org-consent-policy-O5E6HXBL.js} +1 -1
  384. package/dist/{org-join-BY4PV6UO.js → org-join-POWUG25F.js} +8 -7
  385. package/dist/{org-key-admin-WSCPT2CZ.js → org-key-admin-E7EMDOZZ.js} +9 -8
  386. package/dist/{org-key-pin-5WUSPGVN.js → org-key-pin-WHWHVWUO.js} +4 -3
  387. package/dist/{org-membership-ESALTLLN.js → org-membership-WRT2IHJK.js} +5 -4
  388. package/dist/{org-partner-config-YKHPDPZR.js → org-partner-config-B7T4CL2T.js} +7 -6
  389. package/dist/{org-partner-runtime-UJDGECZ4.js → org-partner-runtime-FODONVTM.js} +13 -12
  390. package/dist/{org-row-visibility-V5DXIHTE.js → org-row-visibility-VX4AVV5Q.js} +1 -1
  391. package/dist/{pipeline-router-YY5FQKTY.js → pipeline-router-6GGT2ZW3.js} +6 -5
  392. package/dist/{plan-limits-OVX6SN6B.js → plan-limits-FUN76LYY.js} +8 -7
  393. package/dist/{platform-procedures-I57ITMDC.js → platform-procedures-7YSCLF4Z.js} +1 -1
  394. package/dist/{postinstall-failure-B2JHNFPM.js → postinstall-failure-O6TSSNJB.js} +3 -2
  395. package/dist/{project-boot-LXLU2J32.js → project-boot-3Q65LCIP.js} +2 -1
  396. package/dist/project-name-LJVFMYTQ.js +30 -0
  397. package/dist/{projection-worker-D2472IOD.js → projection-worker-4OANGP5K.js} +5 -4
  398. package/dist/{prospective-memory-JXO2A6PL.js → prospective-memory-KR3P4T6N.js} +5 -4
  399. package/dist/{push-notifications-HR3FZRDI.js → push-notifications-NCZLH6DI.js} +29 -26
  400. package/dist/ref-provenance-gate-M4AQO4OT.js +269 -0
  401. package/dist/{reproject-worktree-memories-OSS3PGRF.js → reproject-worktree-memories-PWYKPB2U.js} +106 -23
  402. package/dist/{reranker-IMZRPYJ2.js → reranker-6V3C2AO4.js} +3 -2
  403. package/dist/resolve-image-labels-ZI6UBW5W.js +15 -0
  404. package/dist/{retrieval-health-W7OD44FE.js → retrieval-health-5D7O6VH6.js} +4 -3
  405. package/dist/{review-polling-2INP7H6M.js → review-polling-QW3LJ4KN.js} +29 -26
  406. package/dist/runtime/index.js +38 -34
  407. package/dist/{session-events-G4XUPVWV.js → session-events-T45SSTMF.js} +31 -26
  408. package/dist/{session-kill-telemetry-W7MHWJTQ.js → session-kill-telemetry-QSPVJGBF.js} +29 -26
  409. package/dist/{session-mcp-config-F7KATWOF.js → session-mcp-config-SC5BLWZG.js} +3 -2
  410. package/dist/{session-scope-LG2J4EMQ.js → session-scope-KRWE54C4.js} +28 -25
  411. package/dist/{setup-wizard-YQJI3SVM.js → setup-wizard-GP3TBTPF.js} +5 -4
  412. package/dist/{shard-manager-UROHZE46.js → shard-manager-OE36A4MY.js} +3 -2
  413. package/dist/{skill-refinement-RA37U756.js → skill-refinement-C7JTMLJG.js} +6 -5
  414. package/dist/stack-generate-manifest-MFMDWRUP.js +810 -0
  415. package/dist/{stack-promote-IYBRXHTA.js → stack-promote-EKSCYY63.js} +8 -6
  416. package/dist/{stack-release-OXWLVVG6.js → stack-release-2GZAAFO4.js} +8 -6
  417. package/dist/{stack-update-2CZEROPK.js → stack-update-J6JXSTAZ.js} +51 -5
  418. package/dist/{steward-gate-LTNFB3FY.js → steward-gate-BFCCMCSW.js} +6 -5
  419. package/dist/{subagent-brief-injection-OHLWLECQ.js → subagent-brief-injection-ED36PLYY.js} +44 -36
  420. package/dist/{subagent-spawn-ledger-USYZXU3M.js → subagent-spawn-ledger-E6U3OY6Z.js} +3 -2
  421. package/dist/{supervisor-handoff-CSJQMI53.js → supervisor-handoff-SGLEPOCY.js} +12 -3
  422. package/dist/{support-inbox-4KCEPAZQ.js → support-inbox-YW47SYJF.js} +20 -5
  423. package/dist/{task-enforcement-LGXWXGVZ.js → task-enforcement-CECTQX4U.js} +29 -26
  424. package/dist/{task-request-inbox-WHCOSUCP.js → task-request-inbox-Q5T4N5K7.js} +1 -1
  425. package/dist/{task-scope-KXF7Y6KA.js → task-scope-ERVEUEYU.js} +28 -25
  426. package/dist/{tasks-crud-5EM55WRZ.js → tasks-crud-ZRQNJXQ2.js} +28 -25
  427. package/dist/{tasks-notify-VFMAURTN.js → tasks-notify-MIZH4C2O.js} +29 -26
  428. package/dist/{tasks-review-MHGMBHUZ.js → tasks-review-Z7J2P6DG.js} +28 -25
  429. package/dist/{telemetry-upload-6NRTN7QJ.js → telemetry-upload-LVQUQYFP.js} +10 -9
  430. package/dist/{token-budget-LZPOYTRP.js → token-budget-BU4NOVZF.js} +6 -5
  431. package/dist/{tool-capability-index-ED5OAPMW.js → tool-capability-index-7F42MOJT.js} +1 -1
  432. package/dist/{tool-gates-7PLIOLAL.js → tool-gates-JWVSAYTW.js} +1 -1
  433. package/dist/{tool-gates-2OZY3GZM.js → tool-gates-VXITVRFQ.js} +1 -1
  434. package/dist/{tool-telemetry-ZX7VSAXK.js → tool-telemetry-O27EVMBR.js} +1 -1
  435. package/dist/tui/App.js +43 -40
  436. package/dist/{tui-data-CC5POSUV.js → tui-data-TPWWBIUQ.js} +28 -25
  437. package/dist/{update-support-KH6NSQON.js → update-support-F2F5537B.js} +22 -20
  438. package/dist/{whatsapp-QW3X7OCN.js → whatsapp-YM4A2CSK.js} +3 -1
  439. package/dist/{work-claims-MNK7PEPW.js → work-claims-B73X5NE7.js} +6 -5
  440. package/dist/{work-state-heartbeat-YEWT5NMZ.js → work-state-heartbeat-P4YX6E2R.js} +1 -1
  441. package/dist/{worker-gate-BOQSIU2Z.js → worker-gate-BEEIIVWA.js} +3 -2
  442. package/dist/{workflow-engine-MUUD7ZEX.js → workflow-engine-5X46PFCW.js} +4 -2
  443. package/dist/{worktree-GOGT2LZP.js → worktree-W47CIMJ6.js} +9 -6
  444. package/dist/worktree-ownership-guard-OUWJROW2.js +88 -0
  445. package/dist/{worktree-sweep-46VWPVQT.js → worktree-sweep-BNBD4RFX.js} +8 -7
  446. package/package.json +14 -5
  447. package/release-notes.json +5 -5
  448. package/src/commands/exe/call.md +1 -1
  449. package/stack.release.json +6 -0
  450. package/dist/chunk-KZXMP6JG.js +0 -319
  451. package/dist/chunk-TCTED52S.js +0 -120
  452. package/dist/chunk-W2IRQJ6R.js +0 -67
  453. package/dist/doc-graph-extractor-VPTRIEKN.js +0 -149
  454. package/dist/project-name-ILJTETUE.js +0 -14
  455. /package/dist/{chunk-3Y5THOU6.js → chunk-6WIFPD2P.js} +0 -0
  456. /package/dist/{chunk-7XGXRD22.js → chunk-AISULNGL.js} +0 -0
  457. /package/dist/{chunk-3F2UB4IQ.js → chunk-DN4YVV4Z.js} +0 -0
  458. /package/dist/{chunk-WV3TOOL7.js → chunk-KQ6RJWRW.js} +0 -0
  459. /package/dist/{chunk-HR2R2QER.js → chunk-M4IRPXSZ.js} +0 -0
  460. /package/dist/{chunk-ORA5BWCV.js → chunk-NRG7KZIP.js} +0 -0
  461. /package/dist/{chunk-7UTJA6HF.js → chunk-VZAFWPAY.js} +0 -0
  462. /package/dist/{chunk-VJSDGDNS.js → chunk-WSQASFLP.js} +0 -0
  463. /package/dist/{chunk-FZQWVQJG.js → chunk-YO4BO2CL.js} +0 -0
  464. /package/dist/{core-memory-6WBNT2HL.js → core-memory-7I7RE2SJ.js} +0 -0
  465. /package/dist/{entity-boost-MT336PI3.js → entity-boost-3UWGXG5O.js} +0 -0
  466. /package/dist/{memory-isolation-EJ45IXBH.js → memory-isolation-2TUZ7Z4K.js} +0 -0
  467. /package/dist/{message-queue-client-MVBTYCSV.js → message-queue-client-XQN7QABL.js} +0 -0
  468. /package/dist/{webhook-pipe-UQSEHFPO.js → webhook-pipe-W2FVXY7M.js} +0 -0
  469. /package/dist/{wiki-acl-WXRJGZ5Q.js → wiki-acl-IBQLLBTS.js} +0 -0
  470. /package/dist/{wiki-client-AXNM5FWY.js → wiki-client-W65IOSWF.js} +0 -0
@@ -12,12 +12,13 @@ import {
12
12
  pinnedOrgIds,
13
13
  readOrgKeyPin,
14
14
  unpinOrgKey
15
- } from "./chunk-H37FSTF2.js";
15
+ } from "./chunk-UBMZ3YQU.js";
16
16
  import "./chunk-MPVXHYD5.js";
17
- import "./chunk-JTB5V6BV.js";
17
+ import "./chunk-3SXHEQ7X.js";
18
18
  import "./chunk-HPXFKUGU.js";
19
- import "./chunk-QMSEL5YS.js";
19
+ import "./chunk-ZIG7VPJV.js";
20
20
  import "./chunk-HSGBZSCA.js";
21
+ import "./chunk-RH4AH3YB.js";
21
22
  import "./chunk-JKKZGDLP.js";
22
23
  import "./chunk-MLKGABMK.js";
23
24
  export {
@@ -12,13 +12,14 @@ import {
12
12
  orgModeActive,
13
13
  readActiveOrgMemberships,
14
14
  upsertOrgMembership
15
- } from "./chunk-CW2UCKHS.js";
16
- import "./chunk-VV5EZZNT.js";
17
- import "./chunk-JTB5V6BV.js";
15
+ } from "./chunk-TADAO3HV.js";
16
+ import "./chunk-HTBEVCO2.js";
17
+ import "./chunk-3SXHEQ7X.js";
18
18
  import "./chunk-EEZOBN6X.js";
19
19
  import "./chunk-HPXFKUGU.js";
20
- import "./chunk-QMSEL5YS.js";
20
+ import "./chunk-ZIG7VPJV.js";
21
21
  import "./chunk-HSGBZSCA.js";
22
+ import "./chunk-RH4AH3YB.js";
22
23
  import "./chunk-JKKZGDLP.js";
23
24
  import "./chunk-MLKGABMK.js";
24
25
  export {
@@ -4,16 +4,17 @@ import {
4
4
  resolveOrgPartnerBindings,
5
5
  resolvePartnerIdentities,
6
6
  rosterKeyLookupFor
7
- } from "./chunk-PVEM537A.js";
8
- import "./chunk-H37FSTF2.js";
7
+ } from "./chunk-4YLBKEL5.js";
8
+ import "./chunk-UBMZ3YQU.js";
9
9
  import "./chunk-MPVXHYD5.js";
10
- import "./chunk-CW2UCKHS.js";
11
- import "./chunk-VV5EZZNT.js";
12
- import "./chunk-JTB5V6BV.js";
10
+ import "./chunk-TADAO3HV.js";
11
+ import "./chunk-HTBEVCO2.js";
12
+ import "./chunk-3SXHEQ7X.js";
13
13
  import "./chunk-EEZOBN6X.js";
14
14
  import "./chunk-HPXFKUGU.js";
15
- import "./chunk-QMSEL5YS.js";
15
+ import "./chunk-ZIG7VPJV.js";
16
16
  import "./chunk-HSGBZSCA.js";
17
+ import "./chunk-RH4AH3YB.js";
17
18
  import "./chunk-JKKZGDLP.js";
18
19
  import "./chunk-MLKGABMK.js";
19
20
  export {
@@ -5,33 +5,34 @@ import {
5
5
  initOrgPartnerRuntime,
6
6
  orgPartnerRuntimeStatus,
7
7
  stopOrgPartnerRuntime
8
- } from "./chunk-VX2F4ZUY.js";
8
+ } from "./chunk-6SCGLHJ7.js";
9
9
  import "./chunk-A6PDF4BO.js";
10
- import "./chunk-YFCNWQAM.js";
11
- import "./chunk-PVEM537A.js";
12
- import "./chunk-H37FSTF2.js";
13
- import "./chunk-RUVO3NJC.js";
10
+ import "./chunk-DJOIMFKV.js";
11
+ import "./chunk-4YLBKEL5.js";
12
+ import "./chunk-UBMZ3YQU.js";
13
+ import "./chunk-IN6CAM4F.js";
14
14
  import "./chunk-MPVXHYD5.js";
15
15
  import "./chunk-5OPAUFLP.js";
16
16
  import "./chunk-4LWBC7CM.js";
17
- import "./chunk-CW2UCKHS.js";
18
- import "./chunk-VV5EZZNT.js";
19
- import "./chunk-JTB5V6BV.js";
17
+ import "./chunk-TADAO3HV.js";
18
+ import "./chunk-HTBEVCO2.js";
19
+ import "./chunk-3SXHEQ7X.js";
20
20
  import "./chunk-EEZOBN6X.js";
21
21
  import "./chunk-WT4RI36X.js";
22
- import "./chunk-5DCCKHDY.js";
23
- import "./chunk-TKDITWDN.js";
22
+ import "./chunk-TAMDAOCU.js";
24
23
  import "./chunk-BBMTVAE3.js";
24
+ import "./chunk-TKDITWDN.js";
25
25
  import "./chunk-5YEUPUV4.js";
26
- import "./chunk-UTDMTQNH.js";
26
+ import "./chunk-DSJI76XL.js";
27
27
  import "./chunk-YYB5PMTK.js";
28
28
  import "./chunk-NJFJWQNN.js";
29
29
  import "./chunk-V3W3SATA.js";
30
30
  import "./chunk-JY5GAZYC.js";
31
31
  import "./chunk-FXU7JOXK.js";
32
32
  import "./chunk-HPXFKUGU.js";
33
- import "./chunk-QMSEL5YS.js";
33
+ import "./chunk-ZIG7VPJV.js";
34
34
  import "./chunk-HSGBZSCA.js";
35
+ import "./chunk-RH4AH3YB.js";
35
36
  import "./chunk-JKKZGDLP.js";
36
37
  import "./chunk-MLKGABMK.js";
37
38
  export {
@@ -5,7 +5,7 @@ import {
5
5
  mintOrgOriginStamp,
6
6
  orgOriginOf,
7
7
  resolveRowVisibility
8
- } from "./chunk-44C7QNZS.js";
8
+ } from "./chunk-3KDCORDO.js";
9
9
  import "./chunk-WT4RI36X.js";
10
10
  import "./chunk-MLKGABMK.js";
11
11
  export {
@@ -1,18 +1,19 @@
1
1
  import {
2
2
  ingest
3
- } from "./chunk-TK4MI6F6.js";
4
- import "./chunk-5DCCKHDY.js";
5
- import "./chunk-TKDITWDN.js";
3
+ } from "./chunk-YSLGFPWX.js";
4
+ import "./chunk-TAMDAOCU.js";
6
5
  import "./chunk-BBMTVAE3.js";
6
+ import "./chunk-TKDITWDN.js";
7
7
  import "./chunk-5YEUPUV4.js";
8
- import "./chunk-UTDMTQNH.js";
8
+ import "./chunk-DSJI76XL.js";
9
9
  import "./chunk-YYB5PMTK.js";
10
10
  import "./chunk-NJFJWQNN.js";
11
11
  import "./chunk-V3W3SATA.js";
12
12
  import "./chunk-JY5GAZYC.js";
13
13
  import "./chunk-FXU7JOXK.js";
14
- import "./chunk-QMSEL5YS.js";
14
+ import "./chunk-ZIG7VPJV.js";
15
15
  import "./chunk-HSGBZSCA.js";
16
+ import "./chunk-RH4AH3YB.js";
16
17
  import "./chunk-JKKZGDLP.js";
17
18
  import "./chunk-MLKGABMK.js";
18
19
  export {
@@ -6,22 +6,23 @@ import {
6
6
  assertMemoryLimit,
7
7
  countActiveMemories,
8
8
  getLicenseSync
9
- } from "./chunk-HIIXCAEE.js";
10
- import "./chunk-5DCCKHDY.js";
11
- import "./chunk-TKDITWDN.js";
9
+ } from "./chunk-6YVUR3OU.js";
10
+ import "./chunk-TAMDAOCU.js";
12
11
  import "./chunk-BBMTVAE3.js";
12
+ import "./chunk-TKDITWDN.js";
13
13
  import "./chunk-5YEUPUV4.js";
14
- import "./chunk-UTDMTQNH.js";
14
+ import "./chunk-DSJI76XL.js";
15
15
  import "./chunk-YYB5PMTK.js";
16
16
  import "./chunk-NJFJWQNN.js";
17
17
  import "./chunk-V3W3SATA.js";
18
18
  import "./chunk-JY5GAZYC.js";
19
19
  import "./chunk-FXU7JOXK.js";
20
- import "./chunk-DKBPCOU4.js";
20
+ import "./chunk-L6RXG36J.js";
21
21
  import "./chunk-A7XLR3K7.js";
22
- import "./chunk-GB3AHV5F.js";
23
- import "./chunk-QMSEL5YS.js";
22
+ import "./chunk-GQOEWNVM.js";
23
+ import "./chunk-ZIG7VPJV.js";
24
24
  import "./chunk-HSGBZSCA.js";
25
+ import "./chunk-RH4AH3YB.js";
25
26
  import "./chunk-JKKZGDLP.js";
26
27
  import "./chunk-MLKGABMK.js";
27
28
  export {
@@ -3,7 +3,7 @@ import {
3
3
  PLATFORM_PROCEDURE_TITLES,
4
4
  PLATFORM_REFERENCE_PROCEDURES,
5
5
  getPlatformReferenceMarkdown
6
- } from "./chunk-THIJIOE2.js";
6
+ } from "./chunk-PY3FOMRN.js";
7
7
  import "./chunk-MLKGABMK.js";
8
8
  export {
9
9
  PLATFORM_PROCEDURES,
@@ -5,9 +5,10 @@ import {
5
5
  postinstallFailureMarkerPath,
6
6
  readPostinstallFailureMarker,
7
7
  recordPostinstallFailure
8
- } from "./chunk-SBJV2PCU.js";
9
- import "./chunk-QMSEL5YS.js";
8
+ } from "./chunk-PHBU4LGO.js";
9
+ import "./chunk-ZIG7VPJV.js";
10
10
  import "./chunk-HSGBZSCA.js";
11
+ import "./chunk-RH4AH3YB.js";
11
12
  import "./chunk-JKKZGDLP.js";
12
13
  import "./chunk-MLKGABMK.js";
13
14
  export {
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  EXE_AI_DIR
3
- } from "./chunk-QMSEL5YS.js";
3
+ } from "./chunk-ZIG7VPJV.js";
4
4
  import "./chunk-HSGBZSCA.js";
5
+ import "./chunk-RH4AH3YB.js";
5
6
  import "./chunk-JKKZGDLP.js";
6
7
  import "./chunk-MLKGABMK.js";
7
8
 
@@ -0,0 +1,30 @@
1
+ import {
2
+ _resetCache,
3
+ getProjectName,
4
+ isEphemeralWorktreeProject,
5
+ isPhantomSessionBucket,
6
+ resolveProjectName
7
+ } from "./chunk-JTVIANUB.js";
8
+ import "./chunk-GJV3WDWM.js";
9
+ import "./chunk-TAMDAOCU.js";
10
+ import "./chunk-BBMTVAE3.js";
11
+ import "./chunk-TKDITWDN.js";
12
+ import "./chunk-5YEUPUV4.js";
13
+ import "./chunk-DSJI76XL.js";
14
+ import "./chunk-YYB5PMTK.js";
15
+ import "./chunk-NJFJWQNN.js";
16
+ import "./chunk-V3W3SATA.js";
17
+ import "./chunk-JY5GAZYC.js";
18
+ import "./chunk-FXU7JOXK.js";
19
+ import "./chunk-ZIG7VPJV.js";
20
+ import "./chunk-HSGBZSCA.js";
21
+ import "./chunk-RH4AH3YB.js";
22
+ import "./chunk-JKKZGDLP.js";
23
+ import "./chunk-MLKGABMK.js";
24
+ export {
25
+ _resetCache,
26
+ getProjectName,
27
+ isEphemeralWorktreeProject,
28
+ isPhantomSessionBucket,
29
+ resolveProjectName
30
+ };
@@ -5,14 +5,15 @@ import {
5
5
  inferOutcome,
6
6
  inferSemanticLabel,
7
7
  ontologyPayload
8
- } from "./chunk-VJSDGDNS.js";
8
+ } from "./chunk-WSQASFLP.js";
9
9
  import {
10
10
  processCRMEvent
11
- } from "./chunk-ADNBOKYZ.js";
11
+ } from "./chunk-GM7TLYOK.js";
12
12
  import {
13
13
  loadConfig
14
- } from "./chunk-QMSEL5YS.js";
14
+ } from "./chunk-ZIG7VPJV.js";
15
15
  import "./chunk-HSGBZSCA.js";
16
+ import "./chunk-RH4AH3YB.js";
16
17
  import "./chunk-JKKZGDLP.js";
17
18
  import "./chunk-MLKGABMK.js";
18
19
 
@@ -613,7 +614,7 @@ async function pushToWikiApi(payload, _timestamp) {
613
614
  return false;
614
615
  }
615
616
  try {
616
- const { createWikiClient, uploadDocumentToWiki } = await import("./wiki-client-AXNM5FWY.js");
617
+ const { createWikiClient, uploadDocumentToWiki } = await import("./wiki-client-W65IOSWF.js");
617
618
  const client = await createWikiClient();
618
619
  if (!client) return false;
619
620
  const rawText = String(payload.raw_text ?? "");
@@ -1,17 +1,18 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-5DCCKHDY.js";
4
- import "./chunk-TKDITWDN.js";
3
+ } from "./chunk-TAMDAOCU.js";
5
4
  import "./chunk-BBMTVAE3.js";
5
+ import "./chunk-TKDITWDN.js";
6
6
  import "./chunk-5YEUPUV4.js";
7
- import "./chunk-UTDMTQNH.js";
7
+ import "./chunk-DSJI76XL.js";
8
8
  import "./chunk-YYB5PMTK.js";
9
9
  import "./chunk-NJFJWQNN.js";
10
10
  import "./chunk-V3W3SATA.js";
11
11
  import "./chunk-JY5GAZYC.js";
12
12
  import "./chunk-FXU7JOXK.js";
13
- import "./chunk-QMSEL5YS.js";
13
+ import "./chunk-ZIG7VPJV.js";
14
14
  import "./chunk-HSGBZSCA.js";
15
+ import "./chunk-RH4AH3YB.js";
15
16
  import "./chunk-JKKZGDLP.js";
16
17
  import "./chunk-MLKGABMK.js";
17
18
 
@@ -3,57 +3,60 @@ import {
3
3
  loadPushConfig,
4
4
  pushNotify,
5
5
  pushNotifyAsync
6
- } from "./chunk-3KTQWMHI.js";
7
- import "./chunk-XHYHX6F7.js";
6
+ } from "./chunk-JSMDRKPJ.js";
7
+ import "./chunk-AKLQSC6W.js";
8
8
  import "./chunk-BTSWFMEH.js";
9
- import "./chunk-WAEKYKTK.js";
10
- import "./chunk-44C7QNZS.js";
11
- import "./chunk-JTWTBX2M.js";
9
+ import "./chunk-6RKKVPYF.js";
10
+ import "./chunk-4EN3IZ3Q.js";
12
11
  import "./chunk-KI5PFRG6.js";
12
+ import "./chunk-3KDCORDO.js";
13
13
  import "./chunk-WT4RI36X.js";
14
14
  import "./chunk-E23LNUWJ.js";
15
15
  import "./chunk-QAEWWYHL.js";
16
16
  import "./chunk-EIKATSE4.js";
17
- import "./chunk-MDGYXUOV.js";
18
- import "./chunk-GBNB4EWD.js";
19
- import "./chunk-UXLO7VHX.js";
20
- import "./chunk-DSOQUQTV.js";
21
- import "./chunk-E2WEFZOR.js";
17
+ import "./chunk-MJCSEIFI.js";
18
+ import "./chunk-XH7YL7JM.js";
19
+ import "./chunk-ORM7ZFKC.js";
20
+ import "./chunk-VI4ATC6I.js";
21
+ import "./chunk-A27Q27CT.js";
22
+ import "./chunk-W75GTHR3.js";
22
23
  import "./chunk-AJIXH5JF.js";
23
- import "./chunk-L6ZNURWN.js";
24
- import "./chunk-XTWHNLGD.js";
24
+ import "./chunk-7GE2EQ23.js";
25
+ import "./chunk-GZOG2MAX.js";
25
26
  import "./chunk-AM7S2TY6.js";
26
- import "./chunk-HIIXCAEE.js";
27
+ import "./chunk-6YVUR3OU.js";
27
28
  import "./chunk-CVYC6DUW.js";
28
- import "./chunk-QZL6E4UB.js";
29
- import "./chunk-CDUB5Q6J.js";
30
- import "./chunk-UQUUNGTP.js";
31
- import "./chunk-IVU3WN7S.js";
32
- import "./chunk-RIECV7SR.js";
33
- import "./chunk-LNOS24GV.js";
29
+ import "./chunk-GOMQ7PVQ.js";
30
+ import "./chunk-4IK2K3B3.js";
31
+ import "./chunk-NUK7EEN5.js";
32
+ import "./chunk-ZG62LIK3.js";
33
+ import "./chunk-EKYYMIVT.js";
34
34
  import "./chunk-NLEW62VC.js";
35
- import "./chunk-W2IRQJ6R.js";
35
+ import "./chunk-SLLLOOEI.js";
36
+ import "./chunk-V3WLC5TJ.js";
37
+ import "./chunk-JTVIANUB.js";
36
38
  import "./chunk-HYZV25LY.js";
37
39
  import "./chunk-GJV3WDWM.js";
38
40
  import "./chunk-MP2AFCGL.js";
39
- import "./chunk-5DCCKHDY.js";
40
- import "./chunk-TKDITWDN.js";
41
+ import "./chunk-TAMDAOCU.js";
41
42
  import "./chunk-BBMTVAE3.js";
43
+ import "./chunk-TKDITWDN.js";
42
44
  import "./chunk-5YEUPUV4.js";
43
- import "./chunk-UTDMTQNH.js";
45
+ import "./chunk-DSJI76XL.js";
44
46
  import "./chunk-YYB5PMTK.js";
45
47
  import "./chunk-NJFJWQNN.js";
46
48
  import "./chunk-V3W3SATA.js";
47
49
  import "./chunk-JY5GAZYC.js";
48
50
  import "./chunk-FXU7JOXK.js";
49
51
  import "./chunk-WNBZJSQT.js";
50
- import "./chunk-DKBPCOU4.js";
52
+ import "./chunk-L6RXG36J.js";
51
53
  import "./chunk-A7XLR3K7.js";
52
- import "./chunk-GB3AHV5F.js";
54
+ import "./chunk-GQOEWNVM.js";
53
55
  import "./chunk-A7JYF4RG.js";
54
56
  import "./chunk-ARX6TAGN.js";
55
- import "./chunk-QMSEL5YS.js";
57
+ import "./chunk-ZIG7VPJV.js";
56
58
  import "./chunk-HSGBZSCA.js";
59
+ import "./chunk-RH4AH3YB.js";
57
60
  import "./chunk-JKKZGDLP.js";
58
61
  import "./chunk-MLKGABMK.js";
59
62
  export {
@@ -0,0 +1,269 @@
1
+ import "./chunk-MLKGABMK.js";
2
+
3
+ // scripts/lib/ref-provenance-gate.mjs
4
+ import { execFileSync } from "child_process";
5
+
6
+ // scripts/lib/gate-inventory.mjs
7
+ import { existsSync, readFileSync } from "fs";
8
+ var GateError = class extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = "GateError";
12
+ this.isGateError = true;
13
+ }
14
+ };
15
+ function loadJsonInventory(inventoryPath, { missing = "empty", fallback = {} } = {}) {
16
+ if (!existsSync(inventoryPath)) {
17
+ if (missing === "fail") {
18
+ throw new GateError(
19
+ `inventory not found: ${inventoryPath}
20
+
21
+ This is a hard failure, not a skip. The inventory also carries this
22
+ repository's fork-parent DECLARATION, and a repo that has not declared
23
+ what it forked from cannot be adjudicated.
24
+
25
+ Create it \u2014 see gates/upstream-content-inventory.README.md for the shape.`
26
+ );
27
+ }
28
+ return fallback;
29
+ }
30
+ let text;
31
+ try {
32
+ text = readFileSync(inventoryPath, "utf8");
33
+ } catch (err) {
34
+ throw new GateError(`inventory could not be read: ${inventoryPath}
35
+ ${err.message}`);
36
+ }
37
+ if (text.trim() === "") {
38
+ throw new GateError(
39
+ `inventory is empty: ${inventoryPath}
40
+
41
+ An empty file is not an empty allowlist \u2014 it is a file that was
42
+ truncated or half-written. Restore it from git, or write an explicit
43
+ inventory with empty check arrays.`
44
+ );
45
+ }
46
+ try {
47
+ const parsed = JSON.parse(text);
48
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
49
+ throw new GateError(
50
+ `inventory is not a JSON object: ${inventoryPath}
51
+
52
+ Parsed as ${Array.isArray(parsed) ? "an array" : typeof parsed}. The inventory must be a
53
+ JSON object with a \`checks\` map.`
54
+ );
55
+ }
56
+ return parsed;
57
+ } catch (err) {
58
+ if (err.isGateError) throw err;
59
+ throw new GateError(
60
+ `inventory is not valid JSON: ${inventoryPath}
61
+
62
+ ${err.message}
63
+
64
+ Fix the file by hand. There is deliberately no tool that rewrites it, so
65
+ a malformed inventory cannot be silently regenerated \u2014 and it must never
66
+ be treated as 'no entries', which would quietly widen what is allowed.`
67
+ );
68
+ }
69
+ }
70
+
71
+ // scripts/lib/ref-provenance-gate.mjs
72
+ var ASKEXE_IDENTITIES = /* @__PURE__ */ new Set([
73
+ "askexenow@gmail.com",
74
+ "root@srv1406006.hstgr.cloud"
75
+ ]);
76
+ function normalizeEmail(raw) {
77
+ return (raw ?? "").trim().replace(/^</, "").replace(/>$/, "").toLowerCase();
78
+ }
79
+ function isOurIdentity(email) {
80
+ return ASKEXE_IDENTITIES.has(normalizeEmail(email));
81
+ }
82
+ var RELEASE_NAMESPACE_PATTERNS = [
83
+ /^v\d+\.\d+\.\d+(?:-[0-9A-Za-z][0-9A-Za-z.-]*)?$/,
84
+ /^stack-v\d+\.\d+\.\d+$/
85
+ ];
86
+ function inReleaseNamespace(tagName) {
87
+ return RELEASE_NAMESPACE_PATTERNS.some((re) => re.test(tagName));
88
+ }
89
+ function parseVersion(tagName) {
90
+ const m = /(\d+)\.(\d+)(?:\.(\d+))?(?:[-+]([0-9A-Za-z][0-9A-Za-z.-]*))?/.exec(tagName);
91
+ if (!m) return null;
92
+ return {
93
+ major: Number(m[1]),
94
+ minor: Number(m[2]),
95
+ patch: m[3] === void 0 ? 0 : Number(m[3]),
96
+ prerelease: m[4] ?? null
97
+ };
98
+ }
99
+ function comparePrerelease(a, b) {
100
+ if (a === null && b === null) return 0;
101
+ if (a === null) return 1;
102
+ if (b === null) return -1;
103
+ const pa = a.split(".");
104
+ const pb = b.split(".");
105
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
106
+ const x = pa[i];
107
+ const y = pb[i];
108
+ if (x === void 0) return -1;
109
+ if (y === void 0) return 1;
110
+ const nx = /^\d+$/.test(x);
111
+ const ny = /^\d+$/.test(y);
112
+ if (nx && ny) {
113
+ if (Number(x) !== Number(y)) return Number(x) < Number(y) ? -1 : 1;
114
+ } else if (nx !== ny) {
115
+ return nx ? -1 : 1;
116
+ } else if (x !== y) {
117
+ return x < y ? -1 : 1;
118
+ }
119
+ }
120
+ return 0;
121
+ }
122
+ function compareVersions(a, b) {
123
+ if (a === null && b === null) return 0;
124
+ if (a === null) return -1;
125
+ if (b === null) return 1;
126
+ for (const key of ["major", "minor", "patch"]) {
127
+ if (a[key] !== b[key]) return a[key] < b[key] ? -1 : 1;
128
+ }
129
+ return comparePrerelease(a.prerelease, b.prerelease);
130
+ }
131
+ var FIELD_SEP = "";
132
+ var FORMAT = [
133
+ "%(refname:short)",
134
+ "%(objecttype)",
135
+ "%(objectname)",
136
+ "%(taggeremail)",
137
+ "%(authoremail)",
138
+ "%(*authoremail)",
139
+ "%(creatordate:iso8601)"
140
+ ].join(FIELD_SEP);
141
+ function enumerateTags(repoRoot) {
142
+ const out = execFileSync(
143
+ "git",
144
+ ["-C", repoRoot, "for-each-ref", `--format=${FORMAT}`, "refs/tags"],
145
+ { encoding: "utf8", maxBuffer: 64 * 1024 * 1024 }
146
+ );
147
+ const tags = [];
148
+ for (const line of out.split("\n")) {
149
+ if (!line.trim()) continue;
150
+ const [name, objecttype, objectname, taggerEmail, authorEmail, derefAuthorEmail, date] = line.split(FIELD_SEP);
151
+ const annotated = objecttype === "tag";
152
+ const creator = normalizeEmail(
153
+ annotated ? taggerEmail || derefAuthorEmail : authorEmail || derefAuthorEmail
154
+ );
155
+ tags.push({
156
+ name,
157
+ annotated,
158
+ sha: objectname,
159
+ creator,
160
+ date: (date ?? "").trim(),
161
+ class: isOurIdentity(creator) ? "OURS" : "UPSTREAM",
162
+ version: parseVersion(name)
163
+ });
164
+ }
165
+ return tags;
166
+ }
167
+ function checkProvenance(tags) {
168
+ return tags.filter((t) => t.class !== "OURS").map((t) => ({
169
+ check: "ref-provenance",
170
+ ref: t.name,
171
+ site: t.name,
172
+ detail: `tag \`${t.name}\` (${t.sha.slice(0, 12)}) was created by \`${t.creator || "<no identity>"}\`, which is not an AskExe identity \u2014 this ref was inherited from upstream, not authored here`
173
+ }));
174
+ }
175
+ function checkNamespace(tags) {
176
+ return tags.filter((t) => !inReleaseNamespace(t.name)).map((t) => ({
177
+ check: "ref-namespace",
178
+ ref: t.name,
179
+ site: t.name,
180
+ detail: `tag \`${t.name}\` is outside the AskExe release namespace (vMAJOR.MINOR.PATCH[-suffix] or stack-vMAJOR.MINOR.PATCH) \u2014 release tooling, \`git describe\` and status reporting all read this namespace`
181
+ }));
182
+ }
183
+ function checkLatestTag(tags) {
184
+ const ranked = tags.filter((t) => t.version !== null);
185
+ if (ranked.length === 0) return [];
186
+ let top = ranked[0].version;
187
+ for (const t of ranked) if (compareVersions(t.version, top) > 0) top = t.version;
188
+ const winners = ranked.filter((t) => compareVersions(t.version, top) === 0);
189
+ const foreign = winners.filter((t) => t.class !== "OURS");
190
+ if (foreign.length === 0) return [];
191
+ const ours = ranked.filter((t) => t.class === "OURS");
192
+ let bestOurs = null;
193
+ for (const t of ours) if (bestOurs === null || compareVersions(t.version, bestOurs.version) > 0) bestOurs = t;
194
+ return foreign.map((t) => ({
195
+ check: "latest-tag-sanity",
196
+ ref: t.name,
197
+ site: t.name,
198
+ detail: `the highest tag by semver order is \`${t.name}\`, created by \`${t.creator || "<no identity>"}\` (UPSTREAM). Our highest tag is \`${bestOurs ? bestOurs.name : "<none>"}\`, which ranks BELOW it. Every tool that asks git for the newest tag \u2014 \`git describe\`, \`git tag --sort=-v:refname\`, GitHub "latest release", our own status reporting \u2014 will report a ref we did not create (this is bug 970ec2b5). Do not cut a release until this is resolved.`
199
+ }));
200
+ }
201
+ var CHECKS = [
202
+ {
203
+ id: "ref-provenance",
204
+ title: "A. PROVENANCE \u2014 every ref must have been created by an AskExe identity",
205
+ allowlistable: true,
206
+ run: checkProvenance
207
+ },
208
+ {
209
+ id: "ref-namespace",
210
+ title: "B. NAMESPACE \u2014 every tag must be inside the AskExe release namespace",
211
+ allowlistable: true,
212
+ run: checkNamespace
213
+ },
214
+ {
215
+ id: "latest-tag-sanity",
216
+ title: "C. LATEST-TAG SANITY \u2014 the highest tag by semver order must be ours",
217
+ allowlistable: false,
218
+ run: checkLatestTag
219
+ }
220
+ ];
221
+ function analyzeRefs(repoRoot) {
222
+ const tags = enumerateTags(repoRoot);
223
+ const violations = [];
224
+ for (const check of CHECKS) violations.push(...check.run(tags));
225
+ return { tags, violations };
226
+ }
227
+ function loadInventory(inventoryPath) {
228
+ return loadJsonInventory(inventoryPath, { missing: "empty", fallback: { checks: {} } });
229
+ }
230
+ function reconcile(violations, inventory) {
231
+ const allowlistable = new Set(CHECKS.filter((c) => c.allowlistable).map((c) => c.id));
232
+ const allowed = /* @__PURE__ */ new Set();
233
+ const forbidden = [];
234
+ for (const [checkId, entries] of Object.entries(inventory.checks ?? {})) {
235
+ for (const entry of entries ?? []) {
236
+ if (!allowlistable.has(checkId)) {
237
+ forbidden.push({ check: checkId, site: entry.site });
238
+ continue;
239
+ }
240
+ allowed.add(`${checkId}|${entry.site}`);
241
+ }
242
+ }
243
+ const live = new Set(violations.map((v) => `${v.check}|${v.site}`));
244
+ const unexpected = violations.filter((v) => !allowed.has(`${v.check}|${v.site}`));
245
+ const stale = [];
246
+ for (const [checkId, entries] of Object.entries(inventory.checks ?? {})) {
247
+ if (!allowlistable.has(checkId)) continue;
248
+ for (const entry of entries ?? []) {
249
+ if (!live.has(`${checkId}|${entry.site}`)) stale.push({ check: checkId, site: entry.site });
250
+ }
251
+ }
252
+ return { unexpected, stale, forbidden };
253
+ }
254
+ export {
255
+ ASKEXE_IDENTITIES,
256
+ CHECKS,
257
+ RELEASE_NAMESPACE_PATTERNS,
258
+ analyzeRefs,
259
+ checkLatestTag,
260
+ checkNamespace,
261
+ checkProvenance,
262
+ compareVersions,
263
+ enumerateTags,
264
+ inReleaseNamespace,
265
+ isOurIdentity,
266
+ loadInventory,
267
+ parseVersion,
268
+ reconcile
269
+ };