@askexenow/exe-os 0.9.367 → 0.9.368

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 (344) hide show
  1. package/deploy/compose/.env.askexe-control-plane.example +3 -1
  2. package/deploy/compose/.env.customer.example +6 -2
  3. package/deploy/compose/.env.example +8 -2
  4. package/deploy/compose/docker-compose.yml +21 -2
  5. package/deploy/compose/generate-env.ts +21 -1
  6. package/dist/.dist-verified.json +3 -3
  7. package/dist/{active-agent-V3CUDNED.js → active-agent-6WNC756A.js} +3 -3
  8. package/dist/{active-agent-R6Q7UEUD.js → active-agent-RDTJGZHP.js} +3 -3
  9. package/dist/{agent-defs-generator-MLPRGY75.js → agent-defs-generator-M5AUL3WM.js} +2 -2
  10. package/dist/{agentic-ontology-5FMQWGDZ.js → agentic-ontology-ZJBRYETW.js} +1 -1
  11. package/dist/{backfill-metadata-YXUMCKRV.js → backfill-metadata-Q4X23XLR.js} +5 -5
  12. package/dist/{backup-verify-GYHKAX7K.js → backup-verify-UKLX6IEK.js} +1 -1
  13. package/dist/behavior-injection-C3HEKSJY.js +60 -0
  14. package/dist/{behaviors-O6HKTSOF.js → behaviors-UCMAREU3.js} +8 -6
  15. package/dist/bin/agentic-ontology-backfill.js +6 -6
  16. package/dist/bin/agentic-reflection-backfill.js +7 -7
  17. package/dist/bin/agentic-semantic-label.js +6 -6
  18. package/dist/bin/backfill-conversations.js +5 -5
  19. package/dist/bin/backfill-responses.js +5 -5
  20. package/dist/bin/backfill-vectors.js +6 -6
  21. package/dist/bin/bulk-sync-postgres.js +10 -10
  22. package/dist/bin/cc-doctor.js +4 -4
  23. package/dist/bin/cleanup-stale-review-tasks.js +14 -14
  24. package/dist/bin/cli.js +20 -20
  25. package/dist/bin/deferred-daemon-restart.js +83 -81
  26. package/dist/bin/exe-agent-config.js +2 -2
  27. package/dist/bin/exe-agent.js +11 -11
  28. package/dist/bin/exe-assign.js +6 -6
  29. package/dist/bin/exe-boot.js +30 -30
  30. package/dist/bin/exe-call.js +4 -4
  31. package/dist/bin/exe-cloud.js +11 -11
  32. package/dist/bin/exe-config-dump.js +2 -2
  33. package/dist/bin/exe-dispatch.js +15 -15
  34. package/dist/bin/exe-doctor.js +5 -5
  35. package/dist/bin/exe-export-behaviors.js +10 -8
  36. package/dist/bin/exe-forget.js +7 -7
  37. package/dist/bin/exe-gateway.js +7 -7
  38. package/dist/bin/exe-healthcheck.js +4 -4
  39. package/dist/bin/exe-heartbeat.js +17 -17
  40. package/dist/bin/exe-kill.js +18 -18
  41. package/dist/bin/exe-launch-agent.js +24 -23
  42. package/dist/bin/exe-mcp.js +3 -3
  43. package/dist/bin/exe-memory-reads.js +5 -5
  44. package/dist/bin/exe-new-employee.js +8 -8
  45. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  46. package/dist/bin/exe-pending-messages.js +15 -15
  47. package/dist/bin/exe-pending-notifications.js +14 -14
  48. package/dist/bin/exe-pending-reviews.js +14 -14
  49. package/dist/bin/exe-rename.js +4 -4
  50. package/dist/bin/exe-review.js +17 -17
  51. package/dist/bin/exe-search.js +6 -6
  52. package/dist/bin/exe-session-cleanup.js +19 -18
  53. package/dist/bin/exe-settings.js +10 -10
  54. package/dist/bin/exe-start-codex.js +73 -19
  55. package/dist/bin/exe-start-opencode.js +11 -9
  56. package/dist/bin/exe-status.js +16 -16
  57. package/dist/bin/exe-support.js +3 -3
  58. package/dist/bin/exe-team.js +4 -4
  59. package/dist/bin/exe-verify-running-images.js +123 -4
  60. package/dist/bin/exe-watchdog.js +44 -3
  61. package/dist/bin/git-sweep.js +16 -15
  62. package/dist/bin/graph-backfill.js +7 -7
  63. package/dist/bin/graph-export.js +6 -6
  64. package/dist/bin/import-history.js +10 -10
  65. package/dist/bin/install.js +85 -83
  66. package/dist/bin/intercom-check.js +4 -4
  67. package/dist/bin/mcp-sessions.js +2 -2
  68. package/dist/bin/orchestration-metrics.js +4 -4
  69. package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
  70. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
  71. package/dist/bin/reconcile-backlog.js +47 -6
  72. package/dist/bin/registry-proxy.js +1 -1
  73. package/dist/bin/scan-tasks.js +14 -14
  74. package/dist/bin/setup.js +1 -1
  75. package/dist/bin/shard-migrate.js +5 -5
  76. package/dist/bin/stack-update.js +6 -5
  77. package/dist/bin/verify-stack.js +6 -1
  78. package/dist/bin/vps-health-gate.js +1 -1
  79. package/dist/{boot-generation-EZ2Y74IG.js → boot-generation-7H7Y4KC2.js} +3 -3
  80. package/dist/{boot-review-sections-7CNQTAYR.js → boot-review-sections-4AGCECCP.js} +13 -13
  81. package/dist/build-manifest.json +808 -773
  82. package/dist/{capability-cards-ZTFMK4VJ.js → capability-cards-6KAC5D2Z.js} +2 -2
  83. package/dist/{capacity-monitor-B2XU4YHP.js → capacity-monitor-J2Y4SFLA.js} +15 -15
  84. package/dist/{catchup-brief-3BEOL7EV.js → catchup-brief-F2HKF2CU.js} +18 -18
  85. package/dist/{chunk-PR3AHVFW.js → chunk-2AS6FG6C.js} +3 -3
  86. package/dist/{chunk-WCDIDSLR.js → chunk-2UBMXN4D.js} +2 -2
  87. package/dist/{chunk-267QB6VB.js → chunk-2UGU3V63.js} +1 -1
  88. package/dist/{chunk-PQ6NRLKL.js → chunk-34BMZTWV.js} +1 -1
  89. package/dist/{chunk-XA4EU3CW.js → chunk-4DGIOK6T.js} +1 -1
  90. package/dist/{chunk-JJRZE2LD.js → chunk-4GVJIMMK.js} +12 -6
  91. package/dist/{chunk-2IZH6W73.js → chunk-4L732DE5.js} +3 -3
  92. package/dist/{chunk-ZSHLY5BS.js → chunk-4RRMZJLG.js} +1 -1
  93. package/dist/{chunk-MQ3N4KZY.js → chunk-5IVLOOJR.js} +1 -1
  94. package/dist/{chunk-PFR6EOUY.js → chunk-5YKNEL3W.js} +2 -2
  95. package/dist/{chunk-AE3PYLLS.js → chunk-6EXOW5ZA.js} +9 -9
  96. package/dist/{chunk-CTPG4KYZ.js → chunk-6P7DVFKA.js} +1 -1
  97. package/dist/{chunk-F3PIHVVY.js → chunk-6UZ3DEQI.js} +1 -1
  98. package/dist/{chunk-URHJDUWO.js → chunk-72JZQ7EV.js} +1 -1
  99. package/dist/{chunk-66BFQOWR.js → chunk-72QUZX6J.js} +4 -4
  100. package/dist/{chunk-JOKKIFRN.js → chunk-AAL6CDMQ.js} +7 -7
  101. package/dist/{chunk-FSIAGX55.js → chunk-AJGX4Z34.js} +1 -1
  102. package/dist/{chunk-OADOH45L.js → chunk-BEPO36MW.js} +3 -3
  103. package/dist/{chunk-UI3K73LD.js → chunk-BFL3UB77.js} +1 -1
  104. package/dist/{chunk-KDD26FUY.js → chunk-BFPQXPN3.js} +1 -1
  105. package/dist/{chunk-7W5LCREK.js → chunk-BJKC6ZJU.js} +40 -84
  106. package/dist/{chunk-OPS7KUFV.js → chunk-BLNSUBP3.js} +3 -3
  107. package/dist/{chunk-5CH6XKVC.js → chunk-BNDHQGOY.js} +1 -1
  108. package/dist/{chunk-Z5Z3MYUW.js → chunk-BPQWRR4H.js} +2 -2
  109. package/dist/{chunk-YA4PM3MV.js → chunk-BTGR55GX.js} +3 -3
  110. package/dist/{chunk-WYVBWDFY.js → chunk-C4IJ5IS5.js} +1 -1
  111. package/dist/{chunk-XVRQZCTS.js → chunk-C5FOA5GO.js} +14 -3
  112. package/dist/{chunk-XKFMNAJ7.js → chunk-CSBD7QLZ.js} +1 -1
  113. package/dist/{chunk-BY3V5CLX.js → chunk-CU2OUUSV.js} +25 -5
  114. package/dist/{chunk-Y4JVM3SI.js → chunk-CXHRNESJ.js} +1 -1
  115. package/dist/{chunk-SFKIZYKK.js → chunk-DRMGPZSC.js} +2 -2
  116. package/dist/{chunk-PFOJX6CR.js → chunk-DYPKSVB7.js} +5 -5
  117. package/dist/{chunk-PS4NA7PM.js → chunk-EDB3LXBQ.js} +268 -166
  118. package/dist/{chunk-TCR7NBHD.js → chunk-EDRXCUEP.js} +4 -4
  119. package/dist/{chunk-BQYQES2Z.js → chunk-ELY5WBZX.js} +10 -10
  120. package/dist/{chunk-ALYI3P5D.js → chunk-EZUSIF66.js} +1 -1
  121. package/dist/{chunk-CYNL3ZFD.js → chunk-FHYX64H3.js} +3 -3
  122. package/dist/{chunk-PWCZFIQH.js → chunk-FSALI4B7.js} +4 -4
  123. package/dist/{chunk-4DJDC4Y2.js → chunk-FWKTZURC.js} +4 -4
  124. package/dist/{chunk-53LCVVX5.js → chunk-FWVPGXHD.js} +5 -5
  125. package/dist/{chunk-O3F5P6Z5.js → chunk-GILYOIMP.js} +2 -2
  126. package/dist/{chunk-NPND34FS.js → chunk-GP3J3AOT.js} +4 -4
  127. package/dist/{chunk-6NJURKRG.js → chunk-H6J7N3BZ.js} +1 -1
  128. package/dist/{chunk-WSLFGJBA.js → chunk-HQSUXAB4.js} +1 -1
  129. package/dist/{chunk-XTEKGO44.js → chunk-HTLJHSN4.js} +1 -1
  130. package/dist/{chunk-AEVE654G.js → chunk-HXV3DGL7.js} +1 -1
  131. package/dist/{chunk-LW5WRSDD.js → chunk-IEE6X6R2.js} +1 -1
  132. package/dist/{chunk-V3ISR2QT.js → chunk-IKRIUEIF.js} +1 -1
  133. package/dist/{chunk-52CFP2AV.js → chunk-J44774XC.js} +1 -1
  134. package/dist/{chunk-TJSTWACD.js → chunk-J77ZIMH5.js} +5 -5
  135. package/dist/{chunk-Y7OK5PJE.js → chunk-JDPV7W2L.js} +1 -1
  136. package/dist/{chunk-7W6FDHHY.js → chunk-KGPWS4KE.js} +1 -1
  137. package/dist/{chunk-XAMLDTRA.js → chunk-KWQ7RHYD.js} +4 -4
  138. package/dist/{chunk-IIVFXD6P.js → chunk-KYVIV54Y.js} +1 -1
  139. package/dist/chunk-KZXMP6JG.js +319 -0
  140. package/dist/{chunk-ZZ3JQM5I.js → chunk-LJWCK2DR.js} +9 -9
  141. package/dist/{chunk-WBKIU6UJ.js → chunk-MCXYNYZI.js} +30 -2
  142. package/dist/{chunk-L2VZBPJJ.js → chunk-MWEIBVBS.js} +13 -1
  143. package/dist/{chunk-GUOMZ3JM.js → chunk-MXP27XTP.js} +2 -2
  144. package/dist/{chunk-EDZ5URGR.js → chunk-N3CGSO3S.js} +1 -1
  145. package/dist/{chunk-QWDZNQXA.js → chunk-NNXPIJRB.js} +1 -1
  146. package/dist/{chunk-OISZ2I4X.js → chunk-NWE3CFX7.js} +4 -4
  147. package/dist/{chunk-HSBKV5LB.js → chunk-OBESOWFJ.js} +3 -3
  148. package/dist/{chunk-XKZD5FGK.js → chunk-OL3QP3AU.js} +116 -1
  149. package/dist/{chunk-6MCUXRIP.js → chunk-P3PAD6AA.js} +1 -1
  150. package/dist/{chunk-N3JLNMPF.js → chunk-PGF5I7EV.js} +2 -2
  151. package/dist/{chunk-CX4MVEM3.js → chunk-PVWM2WMM.js} +1 -1
  152. package/dist/{chunk-JFOZHVNO.js → chunk-QCSAYYL6.js} +1 -1
  153. package/dist/{chunk-J6VQ7HYV.js → chunk-QE5KWKVU.js} +27 -6
  154. package/dist/{chunk-4WOOCTON.js → chunk-QKZEUCTS.js} +2 -2
  155. package/dist/{chunk-P5XER5QY.js → chunk-QT6CNCXO.js} +3 -3
  156. package/dist/{chunk-P76VYS6V.js → chunk-QZYYCPNL.js} +1 -1
  157. package/dist/{chunk-DTTISDTI.js → chunk-RDIZSXXD.js} +1 -1
  158. package/dist/{chunk-R4AROSYI.js → chunk-RFWOXKVL.js} +10 -179
  159. package/dist/chunk-S2YTU74T.js +76 -0
  160. package/dist/{chunk-K2OFS57E.js → chunk-TP7BFVQP.js} +2 -2
  161. package/dist/{chunk-LIZ3QQGK.js → chunk-TTJWPV4G.js} +1 -1
  162. package/dist/{chunk-XUGOVOID.js → chunk-UATT6BNO.js} +3 -3
  163. package/dist/{chunk-ALKYXAMB.js → chunk-UVM5ZXO2.js} +4 -4
  164. package/dist/{chunk-R3H3WW7H.js → chunk-V7E37GE3.js} +2 -2
  165. package/dist/{chunk-XSXZVKJ7.js → chunk-VD3CVNGB.js} +3 -3
  166. package/dist/{chunk-CKKLSY7B.js → chunk-VIW62NN5.js} +1 -1
  167. package/dist/{chunk-VY3QUSWS.js → chunk-VTOO5UB3.js} +9 -9
  168. package/dist/chunk-W5MCOZTW.js +304 -0
  169. package/dist/{chunk-TZFOWWPM.js → chunk-WJOJWRN5.js} +139 -33
  170. package/dist/{chunk-PS6VPW64.js → chunk-X4MRVNR3.js} +1 -1
  171. package/dist/{chunk-YYLVHUYZ.js → chunk-XBTQPQN7.js} +1 -1
  172. package/dist/{behavior-injection-7VGYY2KO.js → chunk-XOTDAKJL.js} +24 -38
  173. package/dist/{chunk-QX33D4CH.js → chunk-Y4AYNLXU.js} +25 -25
  174. package/dist/{chunk-BTMX2D4X.js → chunk-YGPJ7VSJ.js} +48 -10
  175. package/dist/{chunk-DXCTHNEF.js → chunk-ZR3VMM3X.js} +9 -9
  176. package/dist/{chunk-MLPPG2OG.js → chunk-ZWONQU5S.js} +1 -1
  177. package/dist/{cleanup-graph-garbage-XDIX3HLN.js → cleanup-graph-garbage-FBSQI33K.js} +8 -8
  178. package/dist/{cloud-sync-command-VPYE4FIH.js → cloud-sync-command-NHGVDTLM.js} +11 -3
  179. package/dist/{cloud-sync-db-init-NSDBTFGI.js → cloud-sync-db-init-I75VOTXC.js} +1 -1
  180. package/dist/{cloud-sync-shutdown-6OUYTG4T.js → cloud-sync-shutdown-JGOFGGET.js} +2 -2
  181. package/dist/{cloud-sync-state-5DFKLWNB.js → cloud-sync-state-QF3TMMJ4.js} +3 -1
  182. package/dist/{co-activation-EAAKGGZH.js → co-activation-AE5L2SJV.js} +2 -2
  183. package/dist/{co-occurrence-OFVF55RX.js → co-occurrence-O65D4SCN.js} +6 -6
  184. package/dist/{conversation-entity-extractor-ZR5GFKAI.js → conversation-entity-extractor-LFIDTD2O.js} +4 -4
  185. package/dist/{crdt-sync-FGH4SBFW.js → crdt-sync-NRWDBRSE.js} +1 -1
  186. package/dist/{crm-webhook-PJATR2DC.js → crm-webhook-XOQGX6DV.js} +2 -2
  187. package/dist/{cto-delegation-gate-PO4LSSQ4.js → cto-delegation-gate-ZGOAXQI2.js} +13 -13
  188. package/dist/{daemon-orchestration-IJFZFQUX.js → daemon-orchestration-ZMQWYYDT.js} +18 -18
  189. package/dist/dispatch-intent-journal-VV6HMZC4.js +17 -0
  190. package/dist/{doc-graph-extractor-CAYUAM5A.js → doc-graph-extractor-6C5JBKPP.js} +6 -6
  191. package/dist/{documents-W2G477QE.js → documents-FKSQGSO4.js} +6 -6
  192. package/dist/{dreaming-FVXSIIWV.js → dreaming-IB3H6NDZ.js} +17 -17
  193. package/dist/{employee-boot-brief-OYMSHFHA.js → employee-boot-brief-5YRTUEJH.js} +24 -21
  194. package/dist/{exe-drift-67RGJOBX.js → exe-drift-CUWUYX3O.js} +3 -3
  195. package/dist/{exe-export-SGYX6XZG.js → exe-export-XWENYJNM.js} +7 -7
  196. package/dist/{exe-import-UABVA5N3.js → exe-import-OWOMRF2S.js} +7 -7
  197. package/dist/{exe-key-XNYDCVFE.js → exe-key-P356FGK5.js} +83 -81
  198. package/dist/{exe-org-XJVSU5HN.js → exe-org-UKIVF3KE.js} +8 -8
  199. package/dist/{exe-snapshot-YXOGYZUX.js → exe-snapshot-AZI2WW5Y.js} +18 -18
  200. package/dist/{fast-db-init-GDFJY5UH.js → fast-db-init-FPAPF3GB.js} +1 -1
  201. package/dist/{founder-context-KUXSNXKS.js → founder-context-QTQ6V3B5.js} +2 -2
  202. package/dist/gateway/index.js +11 -11
  203. package/dist/{git-staleness-NN6RWNLW.js → git-staleness-6ACWLV5Q.js} +2 -2
  204. package/dist/{global-procedures-XDNA3TNA.js → global-procedures-RXIKBVLZ.js} +3 -3
  205. package/dist/{graph-auto-extract-KTOR45V4.js → graph-auto-extract-Q4A4QMOF.js} +6 -6
  206. package/dist/{graph-rag-L5NV5YWD.js → graph-rag-RLRQMY54.js} +4 -4
  207. package/dist/{hook-integrity-X3YAVGUW.js → hook-integrity-3X2JRLBM.js} +1 -1
  208. package/dist/{hook-prefetch-WE4MIXBM.js → hook-prefetch-DU44UZQP.js} +14 -14
  209. package/dist/hooks/bug-report-worker.js +18 -18
  210. package/dist/hooks/codex-stop-task-finalizer.js +19 -19
  211. package/dist/hooks/commit-complete.js +20 -18
  212. package/dist/hooks/error-recall.js +8 -8
  213. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  214. package/dist/hooks/ingest-worker.js +2 -2
  215. package/dist/hooks/ingest.js +11 -11
  216. package/dist/hooks/instructions-loaded.js +5 -5
  217. package/dist/hooks/manifest.json +20 -20
  218. package/dist/hooks/notification.js +5 -5
  219. package/dist/hooks/post-compact.js +4 -4
  220. package/dist/hooks/post-tool-combined.js +11 -11
  221. package/dist/hooks/pre-compact.js +17 -17
  222. package/dist/hooks/pre-tool-use.js +44 -37
  223. package/dist/hooks/prompt-submit.js +35 -31
  224. package/dist/hooks/session-end.js +21 -21
  225. package/dist/hooks/session-start.js +16 -16
  226. package/dist/hooks/stop.js +20 -20
  227. package/dist/hooks/subagent-stop.js +18 -18
  228. package/dist/hooks/summary-worker.js +22 -22
  229. package/dist/index.js +25 -25
  230. package/dist/{installer-EAAYEEEF.js → installer-B7QYQE56.js} +7 -5
  231. package/dist/{installer-UDRMFY75.js → installer-EXR25DDG.js} +5 -5
  232. package/dist/{installer-EPQAOI6M.js → installer-TOPA7673.js} +5 -5
  233. package/dist/{intercom-queue-IBOAVT2I.js → intercom-queue-BZ4M3L4S.js} +13 -13
  234. package/dist/lib/cloud-sync.js +10 -10
  235. package/dist/lib/consolidation.js +8 -8
  236. package/dist/lib/database.js +2 -2
  237. package/dist/lib/db-backup.js +1 -1
  238. package/dist/lib/db-write-worker.js +3 -3
  239. package/dist/lib/db.js +2 -2
  240. package/dist/lib/delivery-truth.js +25 -0
  241. package/dist/lib/device-registry.js +1 -1
  242. package/dist/lib/employee-templates.js +4 -4
  243. package/dist/lib/employees.js +2 -2
  244. package/dist/lib/exe-daemon.js +181 -76
  245. package/dist/lib/hybrid-search.js +6 -6
  246. package/dist/lib/identity.js +2 -2
  247. package/dist/lib/license.js +2 -2
  248. package/dist/lib/messaging.js +14 -14
  249. package/dist/lib/registry-proxy.js +1 -1
  250. package/dist/lib/reminders.js +3 -3
  251. package/dist/lib/schedules.js +6 -6
  252. package/dist/lib/session-registry.js +4 -4
  253. package/dist/lib/skill-learning.js +7 -7
  254. package/dist/lib/store.js +5 -5
  255. package/dist/lib/task-router.js +3 -3
  256. package/dist/lib/tasks.js +15 -15
  257. package/dist/lib/tmux-routing.js +13 -13
  258. package/dist/lib/token-spend.js +3 -3
  259. package/dist/{license-gate-3TTWJABL.js → license-gate-YTIOLKVV.js} +3 -3
  260. package/dist/{license-sync-ZC6TPKVV.js → license-sync-5VE5OSTV.js} +2 -2
  261. package/dist/mcp/register-tools.js +82 -80
  262. package/dist/mcp/server.js +85 -83
  263. package/dist/mcp/tools/complete-reminder.js +4 -4
  264. package/dist/mcp/tools/create-reminder.js +4 -4
  265. package/dist/mcp/tools/create-task.js +25 -23
  266. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  267. package/dist/mcp/tools/list-reminders.js +4 -4
  268. package/dist/mcp/tools/list-tasks.js +17 -17
  269. package/dist/mcp/tools/send-message.js +16 -16
  270. package/dist/mcp/tools/update-task.js +16 -16
  271. package/dist/{mcp-http-config-ROF5EPEF.js → mcp-http-config-XUNRIGQH.js} +3 -3
  272. package/dist/{mcp-session-identity-ERU6FEUB.js → mcp-session-identity-4UIG7KLK.js} +13 -13
  273. package/dist/{memory-cards-3QTXI2SG.js → memory-cards-R74YU4CO.js} +5 -5
  274. package/dist/{memory-graph-extractor-7GAILMYG.js → memory-graph-extractor-3B4QJUXI.js} +7 -7
  275. package/dist/{memory-poisoning-defense-TPXSRJTQ.js → memory-poisoning-defense-OAKFL5O2.js} +2 -2
  276. package/dist/{memory-pressure-watchdog-ZSOP6T2F.js → memory-pressure-watchdog-FFC2CHFJ.js} +14 -14
  277. package/dist/{memory-reflection-3AI4JBV2.js → memory-reflection-5IJ6RE2J.js} +2 -2
  278. package/dist/{notification-ledger-ZU7ZFJJX.js → notification-ledger-P5XBUYKO.js} +14 -14
  279. package/dist/{notifications-S4GU22GF.js → notifications-LLCCHRYV.js} +13 -13
  280. package/dist/{orchestration-events-HVG56HJ5.js → orchestration-events-VBGCIQSS.js} +3 -3
  281. package/dist/{orchestrator-UW3Q3WYG.js → orchestrator-EB3SCTAJ.js} +15 -15
  282. package/dist/{org-brief-session-G36TJBN4.js → org-brief-session-GDCDKBFF.js} +6 -6
  283. package/dist/{org-consent-policy-RMYVMM3X.js → org-consent-policy-HCD42NBN.js} +2 -2
  284. package/dist/{org-partner-runtime-KXMGEYFW.js → org-partner-runtime-TPVKFR6E.js} +6 -6
  285. package/dist/{org-row-visibility-UI5PGN76.js → org-row-visibility-ZZLOPZLH.js} +1 -1
  286. package/dist/{pipeline-router-IODWXDDI.js → pipeline-router-3JTL2KF6.js} +3 -3
  287. package/dist/{plan-limits-XMAQVEJZ.js → plan-limits-MTHRP4WY.js} +5 -5
  288. package/dist/{projection-worker-6LZUCI3B.js → projection-worker-FLASNERC.js} +2 -2
  289. package/dist/{prospective-memory-G5VK5GCD.js → prospective-memory-HI3WUY4U.js} +2 -2
  290. package/dist/{push-notifications-S2RYRXLF.js → push-notifications-DFSR6P7V.js} +14 -14
  291. package/dist/{reranker-EHQTAA3L.js → reranker-XHBKUDGG.js} +1 -1
  292. package/dist/{retrieval-health-WZ4ICGNF.js → retrieval-health-NYKSDS6M.js} +1 -1
  293. package/dist/{review-polling-MAWLRDSP.js → review-polling-UAV6DZIZ.js} +14 -14
  294. package/dist/runtime/index.js +21 -21
  295. package/dist/{session-events-BRUIZ5E4.js → session-events-YCYPLWPG.js} +14 -14
  296. package/dist/{session-kill-telemetry-PTZLHT33.js → session-kill-telemetry-UEJTHL65.js} +14 -14
  297. package/dist/{session-scope-G4RVJJGR.js → session-scope-LXDW7LJJ.js} +13 -13
  298. package/dist/{setup-wizard-WFEUB63Z.js → setup-wizard-OVJQYUUL.js} +1 -1
  299. package/dist/{skill-refinement-2OYPH7WD.js → skill-refinement-EWRJID73.js} +3 -3
  300. package/dist/{stack-promote-DLYYQXQI.js → stack-promote-4IJM36OG.js} +4 -4
  301. package/dist/{stack-release-OPWARLXI.js → stack-release-BAIRY65H.js} +4 -4
  302. package/dist/{stack-update-SJ43IEQE.js → stack-update-VDM5WXRS.js} +3 -3
  303. package/dist/stalled-dispatch-escalation-MHLYH2PT.js +80 -0
  304. package/dist/{steward-gate-V7PBGVFK.js → steward-gate-Y4N2XY3R.js} +3 -3
  305. package/dist/{subagent-brief-injection-BLCRI2AJ.js → subagent-brief-injection-7A6JEVTP.js} +21 -20
  306. package/dist/{support-inbox-6HOQYFD2.js → support-inbox-LT4WJECQ.js} +4 -3
  307. package/dist/{task-enforcement-EF6O2V26.js → task-enforcement-WOIZ5TLK.js} +14 -14
  308. package/dist/{task-request-inbox-OB2KIJWO.js → task-request-inbox-D65BPUKZ.js} +2 -2
  309. package/dist/{task-scope-74JBTKJN.js → task-scope-PQ67YRWP.js} +13 -13
  310. package/dist/{tasks-crud-ZU6RZDEZ.js → tasks-crud-TJNMUKKH.js} +13 -13
  311. package/dist/{tasks-notify-767DRYAA.js → tasks-notify-7UVC3VGI.js} +14 -14
  312. package/dist/{tasks-review-4F6PZZ3B.js → tasks-review-WDWYISZ2.js} +13 -13
  313. package/dist/{telemetry-upload-2JM6KIAB.js → telemetry-upload-6LBGRJUE.js} +7 -7
  314. package/dist/{token-budget-NH2RD4YX.js → token-budget-XO5XW6DL.js} +3 -3
  315. package/dist/{tool-telemetry-CHCBD4OQ.js → tool-telemetry-ZL6TTZWG.js} +1 -1
  316. package/dist/tui/App.js +21 -21
  317. package/dist/{tui-data-244GF3BI.js → tui-data-UK7ZPKN4.js} +13 -13
  318. package/dist/{update-support-P2LO3DAB.js → update-support-BGL5KAZO.js} +12 -12
  319. package/dist/{work-claims-4QOE7DT2.js → work-claims-XZL2DKQ3.js} +3 -3
  320. package/dist/{work-state-heartbeat-GX3VWWWK.js → work-state-heartbeat-267YQ75U.js} +1 -1
  321. package/dist/{worker-gate-62PZATOV.js → worker-gate-RUM6MLIR.js} +1 -1
  322. package/dist/{workflow-engine-7YIRU62F.js → workflow-engine-YQHGHKSJ.js} +2 -2
  323. package/dist/{worktree-3TUKIZWY.js → worktree-3FO6EQ4G.js} +4 -4
  324. package/dist/{worktree-sweep-MYQHUXDE.js → worktree-sweep-X7MUEEQS.js} +5 -5
  325. package/package.json +2 -1
  326. package/release-notes.json +29 -23
  327. /package/dist/{chunk-25EN7XXN.js → chunk-4AN2PWUK.js} +0 -0
  328. /package/dist/{chunk-WM7Y5ZV2.js → chunk-5U4UJGTW.js} +0 -0
  329. /package/dist/{chunk-62U63R3E.js → chunk-EYIX6JU7.js} +0 -0
  330. /package/dist/{chunk-JLYHJJHU.js → chunk-FDA45THL.js} +0 -0
  331. /package/dist/{chunk-JZBZI36P.js → chunk-GIO4VU4J.js} +0 -0
  332. /package/dist/{chunk-BTFDA3UJ.js → chunk-I76LRCNA.js} +0 -0
  333. /package/dist/{chunk-YNPOELAN.js → chunk-LBWEAQ6Z.js} +0 -0
  334. /package/dist/{chunk-65ZSFW3O.js → chunk-MQ5RUHNZ.js} +0 -0
  335. /package/dist/{chunk-XM7HJ5SS.js → chunk-PFCE4AXQ.js} +0 -0
  336. /package/dist/{chunk-FLP2BQOA.js → chunk-SXAERZL2.js} +0 -0
  337. /package/dist/{chunk-OUIEDJFO.js → chunk-TKTQRSSD.js} +0 -0
  338. /package/dist/{chunk-DAXFAXLN.js → chunk-U2AZUMBZ.js} +0 -0
  339. /package/dist/{chunk-GTOMDMJL.js → chunk-W6FVADZS.js} +0 -0
  340. /package/dist/{core-memory-EARETDZ6.js → core-memory-W5ZHHBRR.js} +0 -0
  341. /package/dist/{memory-isolation-XASOGA7G.js → memory-isolation-ZE7EDBO4.js} +0 -0
  342. /package/dist/{oauth-server-C3BXAKAW.js → oauth-server-3HG62YYJ.js} +0 -0
  343. /package/dist/{project-boot-LCFBQ6NB.js → project-boot-3OAWKYLO.js} +0 -0
  344. /package/dist/{wiki-acl-XQH4UBP2.js → wiki-acl-FQV4E6M4.js} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  } from "../chunk-NOKJCF27.js";
9
9
  import {
10
10
  pushNotifyAsync
11
- } from "../chunk-WSLFGJBA.js";
11
+ } from "../chunk-HQSUXAB4.js";
12
12
  import {
13
13
  isDbVerifyStampFresh
14
14
  } from "../chunk-SVFNWBLF.js";
@@ -29,9 +29,10 @@ import {
29
29
  recordMcpHttpEvent
30
30
  } from "../chunk-YYA5LXCT.js";
31
31
  import {
32
+ hasPendingCloudSyncSlice,
32
33
  readCloudSyncState,
33
34
  writeCloudSyncState
34
- } from "../chunk-L2VZBPJJ.js";
35
+ } from "../chunk-MWEIBVBS.js";
35
36
  import {
36
37
  deserializeArgs,
37
38
  serializeResultSet
@@ -43,36 +44,36 @@ import {
43
44
  findScopedDuplicate,
44
45
  governMemoryRecord,
45
46
  schedulePostWriteMemoryHygiene
46
- } from "../chunk-WM7Y5ZV2.js";
47
+ } from "../chunk-5U4UJGTW.js";
47
48
  import "../chunk-5MOYSU5A.js";
48
49
  import "../chunk-4QCFFW2H.js";
49
50
  import "../chunk-76CJBM36.js";
50
51
  import {
51
52
  BUSY_PATTERN
52
- } from "../chunk-QX33D4CH.js";
53
+ } from "../chunk-Y4AYNLXU.js";
53
54
  import "../chunk-BTSWFMEH.js";
54
- import "../chunk-6MCUXRIP.js";
55
- import "../chunk-7W6FDHHY.js";
56
- import "../chunk-IIVFXD6P.js";
55
+ import "../chunk-P3PAD6AA.js";
56
+ import "../chunk-KGPWS4KE.js";
57
+ import "../chunk-KYVIV54Y.js";
57
58
  import "../chunk-WT4RI36X.js";
58
- import "../chunk-CX4MVEM3.js";
59
59
  import {
60
60
  recordTimerPauseMs,
61
61
  runWithTimerPauseAccounting,
62
62
  sweepPauseTotalMs
63
63
  } from "../chunk-KI5PFRG6.js";
64
+ import "../chunk-QAEWWYHL.js";
64
65
  import "../chunk-EIKATSE4.js";
65
66
  import "../chunk-E23LNUWJ.js";
66
- import "../chunk-QAEWWYHL.js";
67
- import "../chunk-XKFMNAJ7.js";
67
+ import "../chunk-CSBD7QLZ.js";
68
68
  import "../chunk-GBNB4EWD.js";
69
69
  import "../chunk-UXLO7VHX.js";
70
70
  import "../chunk-DSOQUQTV.js";
71
- import "../chunk-UI3K73LD.js";
71
+ import "../chunk-BFL3UB77.js";
72
72
  import "../chunk-AJIXH5JF.js";
73
+ import "../chunk-PVWM2WMM.js";
73
74
  import "../chunk-XTWHNLGD.js";
74
75
  import "../chunk-AM7S2TY6.js";
75
- import "../chunk-N3JLNMPF.js";
76
+ import "../chunk-PGF5I7EV.js";
76
77
  import "../chunk-CVYC6DUW.js";
77
78
  import "../chunk-ZVTKWWLV.js";
78
79
  import "../chunk-CDUB5Q6J.js";
@@ -119,7 +120,7 @@ import "../chunk-W2IRQJ6R.js";
119
120
  import "../chunk-HYZV25LY.js";
120
121
  import "../chunk-GJV3WDWM.js";
121
122
  import "../chunk-MP2AFCGL.js";
122
- import "../chunk-HSBKV5LB.js";
123
+ import "../chunk-OBESOWFJ.js";
123
124
  import "../chunk-TKDITWDN.js";
124
125
  import {
125
126
  logBoot,
@@ -129,7 +130,7 @@ import {
129
130
  logShutdown
130
131
  } from "../chunk-BBMTVAE3.js";
131
132
  import "../chunk-5YEUPUV4.js";
132
- import "../chunk-Y7OK5PJE.js";
133
+ import "../chunk-JDPV7W2L.js";
133
134
  import {
134
135
  isPostgresBackendEnabled
135
136
  } from "../chunk-YYB5PMTK.js";
@@ -150,9 +151,9 @@ import {
150
151
  EMBEDDING_DIM
151
152
  } from "../chunk-FXU7JOXK.js";
152
153
  import "../chunk-WNBZJSQT.js";
153
- import "../chunk-F3PIHVVY.js";
154
+ import "../chunk-6UZ3DEQI.js";
154
155
  import "../chunk-A7XLR3K7.js";
155
- import "../chunk-65ZSFW3O.js";
156
+ import "../chunk-MQ5RUHNZ.js";
156
157
  import "../chunk-QILQ5FCG.js";
157
158
  import "../chunk-ARX6TAGN.js";
158
159
  import {
@@ -553,7 +554,7 @@ function runCapturedCloudSyncChild(options) {
553
554
  else resolve({ ...result, stderrTail });
554
555
  };
555
556
  child.once("error", (err) => finish(timedOutError ?? err, { code: null, signal: null }));
556
- child.once("exit", (code, signal) => finish(timedOutError, { code, signal }));
557
+ child.once("close", (code, signal) => finish(timedOutError, { code, signal }));
557
558
  });
558
559
  }
559
560
 
@@ -2529,7 +2530,7 @@ async function loadModel() {
2529
2530
  void (async () => {
2530
2531
  try {
2531
2532
  if (_storeInitialized) {
2532
- const { writeNotification } = await import("../notifications-S4GU22GF.js");
2533
+ const { writeNotification } = await import("../notifications-LLCCHRYV.js");
2533
2534
  await writeNotification({
2534
2535
  agentId: "exe",
2535
2536
  agentRole: "system",
@@ -2648,7 +2649,7 @@ function disableEmbeddingsForInferenceTimeouts() {
2648
2649
  void (async () => {
2649
2650
  try {
2650
2651
  if (_storeInitialized) {
2651
- const { writeNotification } = await import("../notifications-S4GU22GF.js");
2652
+ const { writeNotification } = await import("../notifications-LLCCHRYV.js");
2652
2653
  await writeNotification({
2653
2654
  agentId: "exe",
2654
2655
  agentRole: "system",
@@ -2815,7 +2816,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
2815
2816
  _shuttingDown = true;
2816
2817
  _drainingWrites = true;
2817
2818
  try {
2818
- const { stopOrgPartnerRuntime } = await import("../org-partner-runtime-KXMGEYFW.js");
2819
+ const { stopOrgPartnerRuntime } = await import("../org-partner-runtime-TPVKFR6E.js");
2819
2820
  stopOrgPartnerRuntime();
2820
2821
  } catch {
2821
2822
  }
@@ -2898,7 +2899,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
2898
2899
  dbBytes = dbPath ? statSync4(dbPath).size : 0;
2899
2900
  } catch {
2900
2901
  }
2901
- const { getAvailableMemoryBytesSync } = await import("../memory-pressure-watchdog-ZSOP6T2F.js");
2902
+ const { getAvailableMemoryBytesSync } = await import("../memory-pressure-watchdog-FFC2CHFJ.js");
2902
2903
  const freeBytes = getAvailableMemoryBytesSync();
2903
2904
  if (shouldSkipBackupUnderMemoryPressure(freeBytes, dbBytes)) {
2904
2905
  memoryGateSkip = true;
@@ -2951,7 +2952,7 @@ async function shutdown(exitCode = 0, reason = null, restartKind) {
2951
2952
  `);
2952
2953
  }
2953
2954
  try {
2954
- const { stopProjectionWorker } = await import("../projection-worker-6LZUCI3B.js");
2955
+ const { stopProjectionWorker } = await import("../projection-worker-FLASNERC.js");
2955
2956
  stopProjectionWorker();
2956
2957
  } catch {
2957
2958
  }
@@ -3014,7 +3015,7 @@ async function handleHealthCheck(socket, requestId) {
3014
3015
  let pipelineStatus = "unknown";
3015
3016
  if (dbConnected) {
3016
3017
  try {
3017
- await import("../pipeline-router-IODWXDDI.js");
3018
+ await import("../pipeline-router-3JTL2KF6.js");
3018
3019
  pipelineStatus = "ok";
3019
3020
  } catch {
3020
3021
  pipelineStatus = "unavailable";
@@ -3457,7 +3458,7 @@ async function _writeMemoryRecordInner(entry, syncOnly = false) {
3457
3458
  const vRow = await client.execute({ sql: "SELECT version FROM memories WHERE id = ?", args: [id] });
3458
3459
  const version = Number(vRow.rows[0]?.version) || 0;
3459
3460
  try {
3460
- const { insertOntologyForMemory } = await import("../agentic-ontology-5FMQWGDZ.js");
3461
+ const { insertOntologyForMemory } = await import("../agentic-ontology-ZJBRYETW.js");
3461
3462
  await insertOntologyForMemory({
3462
3463
  id,
3463
3464
  agent_id: record.agent_id,
@@ -4281,7 +4282,7 @@ async function startMcpHttpServer() {
4281
4282
  clearBootstrapFailureMarker();
4282
4283
  setBootPhase("db_ready");
4283
4284
  _storeInitialized = true;
4284
- const { initLicenseGate, getCachedLicenseGate } = await import("../license-gate-3TTWJABL.js");
4285
+ const { initLicenseGate, getCachedLicenseGate } = await import("../license-gate-YTIOLKVV.js");
4285
4286
  const gateResult = await initLicenseGate();
4286
4287
  if (!gateResult.hasKey) {
4287
4288
  process.stderr.write(
@@ -4296,7 +4297,7 @@ async function startMcpHttpServer() {
4296
4297
  let _cachedWrapTelemetry = null;
4297
4298
  async function getWrapTelemetry() {
4298
4299
  if (!_cachedWrapTelemetry) {
4299
- const { wrapServerWithTelemetry } = await import("../tool-telemetry-CHCBD4OQ.js");
4300
+ const { wrapServerWithTelemetry } = await import("../tool-telemetry-ZL6TTZWG.js");
4300
4301
  _cachedWrapTelemetry = wrapServerWithTelemetry;
4301
4302
  }
4302
4303
  return _cachedWrapTelemetry;
@@ -4368,7 +4369,7 @@ async function startMcpHttpServer() {
4368
4369
  const expectedBuf = Buffer.from(_daemonToken);
4369
4370
  if (tokenBuf.length === expectedBuf.length && timingSafeEqual(tokenBuf, expectedBuf)) return true;
4370
4371
  try {
4371
- const { verifyAccessToken } = await import("../oauth-server-C3BXAKAW.js");
4372
+ const { verifyAccessToken } = await import("../oauth-server-3HG62YYJ.js");
4372
4373
  const result = verifyAccessToken(token);
4373
4374
  return result.valid;
4374
4375
  } catch {
@@ -4621,7 +4622,7 @@ async function startMcpHttpServer() {
4621
4622
  return;
4622
4623
  }
4623
4624
  try {
4624
- const { handleOAuthRoute } = await import("../oauth-server-C3BXAKAW.js");
4625
+ const { handleOAuthRoute } = await import("../oauth-server-3HG62YYJ.js");
4625
4626
  const handled = await handleOAuthRoute(req, res, url, MCP_HTTP_PORT);
4626
4627
  if (handled) return;
4627
4628
  } catch (err) {
@@ -4749,7 +4750,7 @@ async function startMcpHttpServer() {
4749
4750
  contextPct: body.context_pct
4750
4751
  });
4751
4752
  if (body.context_pct !== void 0 && body.context_pct > 70) {
4752
- void import("../orchestration-events-HVG56HJ5.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
4753
+ void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
4753
4754
  recordOE({
4754
4755
  eventType: "context.pressure",
4755
4756
  source: "exe-daemon.heartbeat",
@@ -4861,7 +4862,7 @@ async function startMcpHttpServer() {
4861
4862
  let sessionHint = req.headers["x-exe-session-name"] || req.headers["x-exe-session"] || "";
4862
4863
  if (sessionHint) {
4863
4864
  try {
4864
- const { sanitizeSessionHintHeader, rejectForgedSessionHint } = await import("../mcp-session-identity-ERU6FEUB.js");
4865
+ const { sanitizeSessionHintHeader, rejectForgedSessionHint } = await import("../mcp-session-identity-4UIG7KLK.js");
4865
4866
  const rawHint = sessionHint;
4866
4867
  sessionHint = sanitizeSessionHintHeader(sessionHint);
4867
4868
  if (!sessionHint) {
@@ -4900,7 +4901,7 @@ async function startMcpHttpServer() {
4900
4901
  try {
4901
4902
  const liveSessions = await getTmuxSessionsAsync();
4902
4903
  const paneCommands = await getPaneCommandsAsync();
4903
- const { resolveMcpSessionHint } = await import("../mcp-session-identity-ERU6FEUB.js");
4904
+ const { resolveMcpSessionHint } = await import("../mcp-session-identity-4UIG7KLK.js");
4904
4905
  let registrySessions = [];
4905
4906
  try {
4906
4907
  const { listSessions: listRegistrySessions } = await import("./session-registry.js");
@@ -5037,7 +5038,7 @@ async function startMcpHttpServer() {
5037
5038
  bindLive = await getTmuxSessionsAsync();
5038
5039
  } catch {
5039
5040
  }
5040
- const { isLauncherCorroboratedIdentity } = await import("../mcp-session-identity-ERU6FEUB.js");
5041
+ const { isLauncherCorroboratedIdentity } = await import("../mcp-session-identity-4UIG7KLK.js");
5041
5042
  const corroborated = isLauncherCorroboratedIdentity({
5042
5043
  agentId,
5043
5044
  registrySessions: bindRegistry,
@@ -5280,7 +5281,7 @@ async function startMcpHttpServer() {
5280
5281
  }
5281
5282
  }
5282
5283
  try {
5283
- const { reconcileHintWithRegistryIdentity } = await import("../mcp-session-identity-ERU6FEUB.js");
5284
+ const { reconcileHintWithRegistryIdentity } = await import("../mcp-session-identity-4UIG7KLK.js");
5284
5285
  const { listSessions: listRegistrySessions } = await import("./session-registry.js");
5285
5286
  const recon = reconcileHintWithRegistryIdentity({
5286
5287
  agentId,
@@ -5493,9 +5494,9 @@ async function ensureStoreForPolling() {
5493
5494
  await initDatabase({ dbPath: config.dbPath, encryptionKey: masterKey.toString("hex") });
5494
5495
  await ensureSchema();
5495
5496
  try {
5496
- const { isLedgerEnabled } = await import("../notification-ledger-ZU7ZFJJX.js");
5497
+ const { isLedgerEnabled } = await import("../notification-ledger-P5XBUYKO.js");
5497
5498
  if (isLedgerEnabled()) {
5498
- const { bumpBootGeneration } = await import("../boot-generation-EZ2Y74IG.js");
5499
+ const { bumpBootGeneration } = await import("../boot-generation-7H7Y4KC2.js");
5499
5500
  const { setDaemonReadyGeneration } = await import("../daemon-ready-signal-CKXPUMJ2.js");
5500
5501
  const generation = await bumpBootGeneration();
5501
5502
  setDaemonReadyGeneration(generation);
@@ -5535,13 +5536,13 @@ async function ensureStoreForPolling() {
5535
5536
  }
5536
5537
  }
5537
5538
  async function startReviewPolling() {
5538
- const polling = await import("../review-polling-MAWLRDSP.js");
5539
+ const polling = await import("../review-polling-UAV6DZIZ.js");
5539
5540
  const state = {
5540
5541
  lastIntercomSent: /* @__PURE__ */ new Map(),
5541
5542
  lastNudgeSent: /* @__PURE__ */ new Map(),
5542
5543
  intervalMs: REVIEW_POLL_INTERVAL_MS
5543
5544
  };
5544
- const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-IJFZFQUX.js");
5545
+ const { pollReviewNudge, createReviewNudgeRealDeps, loadNudgeState } = await import("../daemon-orchestration-ZMQWYYDT.js");
5545
5546
  const nudgeState = loadNudgeState();
5546
5547
  const tick = async () => traceDaemonTimer("review_polling", async () => {
5547
5548
  fired("review_polling");
@@ -5549,7 +5550,7 @@ async function startReviewPolling() {
5549
5550
  try {
5550
5551
  const { getClient } = await import("./database.js");
5551
5552
  const deps = polling.createRealDeps(getClient);
5552
- const { strictSessionScopeFilter } = await import("../task-scope-74JBTKJN.js");
5553
+ const { strictSessionScopeFilter } = await import("../task-scope-PQ67YRWP.js");
5553
5554
  const { getCoordinatorName, DEFAULT_COORDINATOR_TEMPLATE_NAME } = await import("./employees.js");
5554
5555
  deps.findOrphanedDoneTasks = async (sessionScope) => {
5555
5556
  const coordinatorName = getCoordinatorName();
@@ -5628,7 +5629,7 @@ function startSessionTTL() {
5628
5629
  if (!await ensureStoreForPolling()) return;
5629
5630
  if (inPostRestartDestructiveGrace("session_ttl")) return;
5630
5631
  const { getClient } = await import("./database.js");
5631
- const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-IJFZFQUX.js");
5632
+ const { checkSessionTTL, createSessionTTLRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
5632
5633
  const deps = createSessionTTLRealDeps(getClient);
5633
5634
  const killed = await checkSessionTTL(deps, _wedgeObservations);
5634
5635
  if (killed.length > 0) acted("session_ttl");
@@ -5688,7 +5689,7 @@ function startIdleKill() {
5688
5689
  const cfg = await getCachedConfig();
5689
5690
  if (!cfg) return;
5690
5691
  const { getClient } = await import("./database.js");
5691
- const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-IJFZFQUX.js");
5692
+ const { pollIdleKill, createIdleKillRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
5692
5693
  const { sessions: liveSessions, paneCache, aliveSessions } = await getSharedOrchestrationCaches();
5693
5694
  const realDeps = createIdleKillRealDeps(
5694
5695
  getClient,
@@ -5804,6 +5805,7 @@ var CLOUD_SYNC_INTERVAL_MS = Number(process.env.EXE_CLOUD_SYNC_INTERVAL_MS) || 5
5804
5805
  var CLOUD_SYNC_BACKOFF_BASE_MS = 5e3;
5805
5806
  var CLOUD_SYNC_BACKOFF_MAX_MS = 5 * 6e4;
5806
5807
  var CLOUD_SYNC_CIRCUIT_BREAK = 10;
5808
+ var CLOUD_SYNC_DEFERRED_RESUME_MS = Number(process.env.EXE_CLOUD_SYNC_DEFERRED_RESUME_MS) || 15e3;
5807
5809
  var _cloudSyncConsecutiveFailures = 0;
5808
5810
  var _cloudSyncBackoffMs = 0;
5809
5811
  var _cloudSyncPaused = false;
@@ -5886,6 +5888,20 @@ function startCloudSyncTimer() {
5886
5888
  _cloudSyncBackoffMs = 0;
5887
5889
  _cloudSyncPaused = false;
5888
5890
  acted("cloud_sync");
5891
+ let slicePending = false;
5892
+ try {
5893
+ slicePending = hasPendingCloudSyncSlice(readCloudSyncState(), Date.now(), CLOUD_SYNC_INTERVAL_MS);
5894
+ } catch {
5895
+ slicePending = false;
5896
+ }
5897
+ if (slicePending) {
5898
+ process.stderr.write(
5899
+ `[exed] Cloud sync slice deferred with memories still pending \u2014 next slice in ${Math.round(CLOUD_SYNC_DEFERRED_RESUME_MS / 1e3)}s
5900
+ `
5901
+ );
5902
+ setTimeout(() => void traceDaemonTimer("cloud_sync", tick), CLOUD_SYNC_DEFERRED_RESUME_MS).unref();
5903
+ return;
5904
+ }
5889
5905
  process.stderr.write(`[exed] Cloud sync child completed successfully
5890
5906
  `);
5891
5907
  };
@@ -6062,7 +6078,7 @@ function startSkillRefinement() {
6062
6078
  if (!shouldRunHeavyJob("skill_refinement")) return;
6063
6079
  try {
6064
6080
  if (!await ensureStoreForPolling()) return;
6065
- const { runSkillRefinement } = await import("../skill-refinement-2OYPH7WD.js");
6081
+ const { runSkillRefinement } = await import("../skill-refinement-EWRJID73.js");
6066
6082
  const result = await runSkillRefinement();
6067
6083
  if (result.reviewed > 0) {
6068
6084
  acted("skill_refinement");
@@ -6084,12 +6100,100 @@ function startSkillRefinement() {
6084
6100
  var STALE_BRANCH_SWEEP_INTERVAL_MS = 60 * 60 * 1e3;
6085
6101
  var STALE_BRANCH_HOURS = 48;
6086
6102
  var _staleBranchAlertedToday = /* @__PURE__ */ new Set();
6103
+ var STALLED_DISPATCH_SWEEP_INTERVAL_MS = 15 * 60 * 1e3;
6104
+ async function stalledDispatchStatePath() {
6105
+ const { join: joinPath } = await import("path");
6106
+ const { homedir: home } = await import("os");
6107
+ const base = process.env.EXE_OS_DIR || process.env.EXE_MEM_DIR || joinPath(home(), ".exe-os");
6108
+ return joinPath(base, "stalled-dispatch-escalations.json");
6109
+ }
6110
+ function startStalledDispatchSweep() {
6111
+ const tick = async () => {
6112
+ fired("stalled_dispatch_sweep");
6113
+ if (sweepStarved("stalled_dispatch_sweep")) return;
6114
+ try {
6115
+ const { findOrphanedDispatchIntents } = await import("../dispatch-intent-journal-VV6HMZC4.js");
6116
+ const {
6117
+ decideStalledDispatchEscalations,
6118
+ STALLED_DISPATCH_WARN_AGE_MS
6119
+ } = await import("../stalled-dispatch-escalation-MHLYH2PT.js");
6120
+ const { readFileSync: rf, writeFileSync: wf, existsSync: ex } = await import("fs");
6121
+ const orphans = findOrphanedDispatchIntents(null, STALLED_DISPATCH_WARN_AGE_MS);
6122
+ const statePath = await stalledDispatchStatePath();
6123
+ let previousState = {};
6124
+ if (orphans.length > 0 && ex(statePath)) {
6125
+ try {
6126
+ previousState = JSON.parse(rf(statePath, "utf-8"));
6127
+ } catch {
6128
+ previousState = {};
6129
+ }
6130
+ }
6131
+ const intents = orphans.map(({ file, entry }) => {
6132
+ const payload = entry?.payload ?? {};
6133
+ return {
6134
+ file,
6135
+ journaledAt: entry?.journaledAt ?? null,
6136
+ status: entry?.status ?? null,
6137
+ taskId: entry?.taskId ?? null,
6138
+ sessionScope: entry?.caller?.sessionScope ?? null,
6139
+ assignedTo: typeof payload.assigned_to === "string" ? payload.assigned_to : null,
6140
+ title: typeof payload.title === "string" ? payload.title : null,
6141
+ corrupted: entry === null
6142
+ };
6143
+ });
6144
+ const { notifications, nextState } = decideStalledDispatchEscalations(intents, previousState);
6145
+ if (notifications.length > 0 && _storeInitialized) {
6146
+ const { writeNotification } = await import("../notifications-LLCCHRYV.js");
6147
+ for (const note of notifications) {
6148
+ try {
6149
+ await writeNotification({
6150
+ agentId: "exe",
6151
+ agentRole: "system",
6152
+ event: "error_spike",
6153
+ project: "dispatch-journal",
6154
+ summary: note.tier === "stalled" ? `STALLED DISPATCH \u2014 ${note.summary}` : `Undelivered dispatch \u2014 ${note.summary}`,
6155
+ sessionScope: null
6156
+ });
6157
+ acted("stalled_dispatch_sweep");
6158
+ } catch {
6159
+ }
6160
+ process.stderr.write(
6161
+ `[exed] Stalled-dispatch ${note.tier}: ${note.intents.length} intent(s) undelivered
6162
+ `
6163
+ );
6164
+ }
6165
+ }
6166
+ try {
6167
+ if (Object.keys(nextState).length > 0) {
6168
+ wf(statePath, JSON.stringify(nextState, null, 2), "utf-8");
6169
+ } else if (ex(statePath)) {
6170
+ wf(statePath, "{}", "utf-8");
6171
+ }
6172
+ } catch {
6173
+ }
6174
+ } catch (err) {
6175
+ process.stderr.write(
6176
+ `[exed] Stalled-dispatch sweep error: ${err instanceof Error ? err.message : String(err)}
6177
+ `
6178
+ );
6179
+ }
6180
+ };
6181
+ const timer = setInterval(
6182
+ () => void traceDaemonTimer("stalled_dispatch_sweep", tick),
6183
+ STALLED_DISPATCH_SWEEP_INTERVAL_MS
6184
+ );
6185
+ timer.unref();
6186
+ process.stderr.write(
6187
+ `[exed] Stalled-dispatch sweep timer started (every ${STALLED_DISPATCH_SWEEP_INTERVAL_MS / 6e4}m)
6188
+ `
6189
+ );
6190
+ }
6087
6191
  function startStaleBranchSweep() {
6088
6192
  const tick = async () => {
6089
6193
  fired("stale_branch_sweep");
6090
6194
  if (sweepStarved("stale_branch_sweep")) return;
6091
6195
  try {
6092
- const { discoverRepoPathsAsync } = await import("../worktree-sweep-MYQHUXDE.js");
6196
+ const { discoverRepoPathsAsync } = await import("../worktree-sweep-X7MUEEQS.js");
6093
6197
  const { scanUnmergedBranchesCached } = await import("../branch-hygiene-HFJ3HA62.js");
6094
6198
  const { runBudgetedSweep } = await import("../sweep-budget-KMPJ7O5Z.js");
6095
6199
  const today = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
@@ -6122,7 +6226,7 @@ function startStaleBranchSweep() {
6122
6226
  if (!_storeInitialized) return;
6123
6227
  const stale = scan.branches.filter((b) => b.ageHours >= STALE_BRANCH_HOURS).slice(0, 5).map((b) => `${b.name} (+${b.ahead} commits, ${(b.ageHours / 24).toFixed(1)}d)`).join("; ");
6124
6228
  try {
6125
- const { writeNotification } = await import("../notifications-S4GU22GF.js");
6229
+ const { writeNotification } = await import("../notifications-LLCCHRYV.js");
6126
6230
  await writeNotification({
6127
6231
  agentId: "exe",
6128
6232
  agentRole: "system",
@@ -6177,7 +6281,7 @@ function startWorkStateHeartbeat() {
6177
6281
  const { getClient } = await import("./database.js");
6178
6282
  const { listSessions } = await import("./session-registry.js");
6179
6283
  const { isCoordinatorName } = await import("./employees.js");
6180
- const { runWorkStateTick } = await import("../work-state-heartbeat-GX3VWWWK.js");
6284
+ const { runWorkStateTick } = await import("../work-state-heartbeat-267YQ75U.js");
6181
6285
  let liveTmux = null;
6182
6286
  const loadLiveTmux = async () => {
6183
6287
  if (!liveTmux) liveTmux = await listTmuxSessionNamesAsync();
@@ -6243,7 +6347,7 @@ function startGraphExtraction() {
6243
6347
  if (!await ensureStoreForPolling()) return;
6244
6348
  const { getClient } = await import("./database.js");
6245
6349
  const client = getClient();
6246
- const { extractBatch } = await import("../graph-rag-L5NV5YWD.js");
6350
+ const { extractBatch } = await import("../graph-rag-RLRQMY54.js");
6247
6351
  const result = await extractBatch(client, 50, config.selfQueryModel);
6248
6352
  if (result.processed > 0) {
6249
6353
  acted("graph_extraction");
@@ -6574,7 +6678,7 @@ async function refreshAgentData() {
6574
6678
  const decision = evaluateSpendCapAlert(_lastSpendCapLevel, capStatus);
6575
6679
  _lastSpendCapLevel = decision.level;
6576
6680
  if (decision.shouldAlert && decision.summary) {
6577
- const { writeNotification } = await import("../notifications-S4GU22GF.js");
6681
+ const { writeNotification } = await import("../notifications-LLCCHRYV.js");
6578
6682
  await writeNotification({
6579
6683
  agentId: "system",
6580
6684
  agentRole: "system",
@@ -6696,7 +6800,7 @@ function startReflectionSweep() {
6696
6800
  );
6697
6801
  let runReflection;
6698
6802
  try {
6699
- ({ runReflection } = await import("../memory-reflection-3AI4JBV2.js"));
6803
+ ({ runReflection } = await import("../memory-reflection-5IJ6RE2J.js"));
6700
6804
  } catch (importErr) {
6701
6805
  _reflectionImportFailed = true;
6702
6806
  process.stderr.write(`[exed] Reflection module unavailable (stale chunk hash?) \u2014 disabled until daemon restart: ${importErr instanceof Error ? importErr.message : String(importErr)}
@@ -6737,7 +6841,7 @@ function startReflectionSweep() {
6737
6841
  if (memories > 100 && cards < memories * 0.1) {
6738
6842
  process.stderr.write(`[exed] Memory cards sparse (${cards} cards / ${memories} memories) \u2014 running backfill...
6739
6843
  `);
6740
- const { insertMemoryCardsForBatch } = await import("../memory-cards-3QTXI2SG.js");
6844
+ const { insertMemoryCardsForBatch } = await import("../memory-cards-R74YU4CO.js");
6741
6845
  const batchSize = 500;
6742
6846
  let offset = 0;
6743
6847
  let totalCards = 0;
@@ -6818,7 +6922,7 @@ function startDatabaseBackup() {
6818
6922
  `
6819
6923
  );
6820
6924
  try {
6821
- const { maybeVerifyDailyBackup } = await import("../backup-verify-GYHKAX7K.js");
6925
+ const { maybeVerifyDailyBackup } = await import("../backup-verify-UKLX6IEK.js");
6822
6926
  const verdict = await maybeVerifyDailyBackup(backupPath);
6823
6927
  if (verdict && !verdict.ok) {
6824
6928
  process.stderr.write(
@@ -6894,7 +6998,7 @@ function startSessionEventsRetention() {
6894
6998
  fired("session_events_retention");
6895
6999
  if (!await ensureStoreForPolling()) return;
6896
7000
  try {
6897
- const { DEFAULT_SESSION_EVENTS_RETENTION_DAYS } = await import("../session-events-BRUIZ5E4.js");
7001
+ const { DEFAULT_SESSION_EVENTS_RETENTION_DAYS } = await import("../session-events-YCYPLWPG.js");
6898
7002
  const days = SESSION_EVENTS_RETENTION_DAYS ?? DEFAULT_SESSION_EVENTS_RETENTION_DAYS;
6899
7003
  if (!isWriteWorkerEnabled() || !isDbWriteWorkerReady()) {
6900
7004
  process.stderr.write(
@@ -6940,7 +7044,7 @@ function startIntercomQueueDrain() {
6940
7044
  const tick = async () => traceDaemonTimer("intercom_queue_drain", async () => {
6941
7045
  fired("intercom_queue_drain");
6942
7046
  try {
6943
- const { drainQueueAsync, readQueue } = await import("../intercom-queue-IBOAVT2I.js");
7047
+ const { drainQueueAsync, readQueue } = await import("../intercom-queue-BZ4M3L4S.js");
6944
7048
  const {
6945
7049
  sendIntercomAsync: centralSendIntercomAsync,
6946
7050
  countScopedPendingReviews,
@@ -7072,7 +7176,7 @@ function startLedgerDrain() {
7072
7176
  const tick = async () => traceDaemonTimer("ledger_drain", async () => {
7073
7177
  fired("ledger_drain");
7074
7178
  try {
7075
- const { isLedgerEnabled, drainLedger } = await import("../notification-ledger-ZU7ZFJJX.js");
7179
+ const { isLedgerEnabled, drainLedger } = await import("../notification-ledger-P5XBUYKO.js");
7076
7180
  if (!isLedgerEnabled()) return;
7077
7181
  const result = await drainLedger({
7078
7182
  // Shadow "would-deliver": idle target = would-deliver, busy = retry.
@@ -7111,7 +7215,7 @@ function startOrphanReaper() {
7111
7215
  const tick = async () => traceDaemonTimer("orphan_reaper", async () => {
7112
7216
  fired("orphan_reaper");
7113
7217
  try {
7114
- const { reapOrphanedMcpProcesses, createOrphanReaperRealDepsAsync } = await import("../daemon-orchestration-IJFZFQUX.js");
7218
+ const { reapOrphanedMcpProcesses, createOrphanReaperRealDepsAsync } = await import("../daemon-orchestration-ZMQWYYDT.js");
7115
7219
  const deps = await createOrphanReaperRealDepsAsync();
7116
7220
  const reaped = await reapOrphanedMcpProcesses(deps);
7117
7221
  if (reaped.length > 0) acted("orphan_reaper");
@@ -7136,7 +7240,7 @@ function startZombieAgentReaper() {
7136
7240
  const tick = async () => traceDaemonTimer("zombie_agent_reaper", async () => {
7137
7241
  fired("zombie_agent_reaper");
7138
7242
  try {
7139
- const { reapZombieAgentProcesses, createZombieAgentReaperRealDepsAsync } = await import("../daemon-orchestration-IJFZFQUX.js");
7243
+ const { reapZombieAgentProcesses, createZombieAgentReaperRealDepsAsync } = await import("../daemon-orchestration-ZMQWYYDT.js");
7140
7244
  const deps = await createZombieAgentReaperRealDepsAsync();
7141
7245
  const reaped = reapZombieAgentProcesses(deps);
7142
7246
  if (reaped.length > 0) acted("zombie_agent_reaper");
@@ -7160,7 +7264,7 @@ async function startDaemonMemoryPressureWatchdog() {
7160
7264
  try {
7161
7265
  const cfg = await getCachedConfig();
7162
7266
  if (!cfg) return;
7163
- const { startMemoryPressureWatchdog: startWatchdog, MEMORY_PRESSURE_WATCHDOG_DEFAULTS } = await import("../memory-pressure-watchdog-ZSOP6T2F.js");
7267
+ const { startMemoryPressureWatchdog: startWatchdog, MEMORY_PRESSURE_WATCHDOG_DEFAULTS } = await import("../memory-pressure-watchdog-FFC2CHFJ.js");
7164
7268
  const watchdogCfg = {
7165
7269
  ...MEMORY_PRESSURE_WATCHDOG_DEFAULTS,
7166
7270
  ...cfg.memoryPressureWatchdog ?? {}
@@ -7192,7 +7296,7 @@ function startWorktreeReaper() {
7192
7296
  fired("worktree_reaper");
7193
7297
  if (sweepStarved("worktree_reaper")) return;
7194
7298
  try {
7195
- const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-IJFZFQUX.js");
7299
+ const { reapOrphanedWorktrees, createWorktreeReaperRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
7196
7300
  const deps = await createWorktreeReaperRealDeps();
7197
7301
  const result = await reapOrphanedWorktrees(deps);
7198
7302
  if (result.pruned.length > 0) {
@@ -7236,8 +7340,8 @@ function startWorktreeReaper() {
7236
7340
  }
7237
7341
  return;
7238
7342
  }
7239
- const { cleanupAgentWorktree } = await import("../worktree-sweep-MYQHUXDE.js");
7240
- const { getMainRepoRootAsync } = await import("../worktree-3TUKIZWY.js");
7343
+ const { cleanupAgentWorktree } = await import("../worktree-sweep-X7MUEEQS.js");
7344
+ const { getMainRepoRootAsync } = await import("../worktree-3FO6EQ4G.js");
7241
7345
  const repoRoot = await getMainRepoRootAsync(signal.worktreePath);
7242
7346
  if (repoRoot && signal.agentId) {
7243
7347
  const notes = await cleanupAgentWorktree(repoRoot, signal.agentId);
@@ -7274,7 +7378,7 @@ function startAutoWake() {
7274
7378
  if (!await ensureStoreForPolling()) return;
7275
7379
  try {
7276
7380
  const { getClient } = await import("./database.js");
7277
- const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-IJFZFQUX.js");
7381
+ const { pollOrphanedTasks, createAutoWakeRealDeps } = await import("../daemon-orchestration-ZMQWYYDT.js");
7278
7382
  const deps = createAutoWakeRealDeps(getClient, process.cwd(), getTmuxSessionsAsync);
7279
7383
  const woken = await pollOrphanedTasks(deps);
7280
7384
  if (woken.length > 0) acted("auto_wake");
@@ -7349,7 +7453,7 @@ function startAutoWake() {
7349
7453
  if (age > 60 * 60 * 1e3) {
7350
7454
  try {
7351
7455
  await unlink(signalPath);
7352
- void import("../orchestration-events-HVG56HJ5.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
7456
+ void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
7353
7457
  recordOE({ eventType: "signal.stale", source: "exe-daemon.autoWake", severity: "warn", payload: { file, ageMinutes: Math.round(age / 6e4) } });
7354
7458
  }).catch(() => {
7355
7459
  });
@@ -7498,7 +7602,7 @@ function startStuckTaskRelease() {
7498
7602
  createStaleClaimRealDeps,
7499
7603
  escalateStuckBlockedTasks,
7500
7604
  createStuckBlockedRealDeps
7501
- } = await import("../daemon-orchestration-IJFZFQUX.js");
7605
+ } = await import("../daemon-orchestration-ZMQWYYDT.js");
7502
7606
  const { runBudgetedSweep } = await import("../sweep-budget-KMPJ7O5Z.js");
7503
7607
  const steps = [
7504
7608
  async () => {
@@ -7763,12 +7867,12 @@ function startTaskEnforcementScanner() {
7763
7867
  const tick = async () => traceDaemonTimer("task_enforcement", async () => {
7764
7868
  fired("task_enforcement");
7765
7869
  try {
7766
- const { runTaskEnforcementTick } = await import("../task-enforcement-EF6O2V26.js");
7870
+ const { runTaskEnforcementTick } = await import("../task-enforcement-WOIZ5TLK.js");
7767
7871
  const { getTransport } = await import("./transport.js");
7768
7872
  const { loadAgentConfig } = await import("./agent-config.js");
7769
7873
  const { getClient } = await import("./database.js");
7770
7874
  const { loadEmployeesSync } = await import("./employees.js");
7771
- const { sessionScopeFilter } = await import("../task-scope-74JBTKJN.js");
7875
+ const { sessionScopeFilter } = await import("../task-scope-PQ67YRWP.js");
7772
7876
  const transport = getTransport();
7773
7877
  const { sessions: allSessions, paneCache, aliveSessions } = await getSharedOrchestrationCaches();
7774
7878
  await yieldToEventLoop();
@@ -7779,10 +7883,10 @@ function startTaskEnforcementScanner() {
7779
7883
  sendKeysLiteral: transport.sendKeysLiteral?.bind(transport),
7780
7884
  isAlive: (session) => aliveSessions.has(session)
7781
7885
  };
7782
- const { checkAutoWakeGates } = await import("../daemon-orchestration-IJFZFQUX.js");
7886
+ const { checkAutoWakeGates } = await import("../daemon-orchestration-ZMQWYYDT.js");
7783
7887
  const { ensureEmployeeAsync, employeeSessionName, sendIntercomAsync } = await import("./tmux-routing.js");
7784
7888
  const { shouldAutoInstance } = await import("./employees.js");
7785
- const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-HVG56HJ5.js");
7889
+ const { recordOrchestrationEventBestEffort } = await import("../orchestration-events-VBGCIQSS.js");
7786
7890
  const projectDir = process.cwd();
7787
7891
  await runTaskEnforcementTick({
7788
7892
  transport: enforcementTransport,
@@ -8108,7 +8212,7 @@ async function sweepExpiredTracesFromDaemonTimer() {
8108
8212
  const memoryIds = idsResult.rows.map((r) => String(r.id)).filter(Boolean);
8109
8213
  if (memoryIds.length === 0) return 0;
8110
8214
  const { getClient } = await import("./database.js");
8111
- const { cleanupGraphLinksForMemories, cleanupCardsForMemories } = await import("../graph-rag-L5NV5YWD.js");
8215
+ const { cleanupGraphLinksForMemories, cleanupCardsForMemories } = await import("../graph-rag-RLRQMY54.js");
8112
8216
  const client = getClient();
8113
8217
  await cleanupGraphLinksForMemories(client, memoryIds);
8114
8218
  await cleanupCardsForMemories(client, memoryIds);
@@ -8819,7 +8923,7 @@ function startEventLoopLagDetector() {
8819
8923
  const msg = `[exed] EVENT LOOP BLOCKED ${(lag / 1e3).toFixed(1)}s \u2014 MCP UNRESPONSIVE. Sessions will die.`;
8820
8924
  process.stderr.write(msg + "\n");
8821
8925
  logDaemonHealth({ event: "event_loop_blocked", pid: process.pid, message: msg, data: { lagMs: lag } });
8822
- void import("../orchestration-events-HVG56HJ5.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
8926
+ void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
8823
8927
  recordOE({ eventType: "daemon.event_loop_blocked", source: "exe-daemon.lagDetector", severity: "error", durationMs: lag });
8824
8928
  }).catch(() => {
8825
8929
  });
@@ -9013,7 +9117,7 @@ function startTaskFileResync() {
9013
9117
  });
9014
9118
  if (Number(res.rowsAffected ?? 0) > 0) {
9015
9119
  synced++;
9016
- void import("../orchestration-events-HVG56HJ5.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
9120
+ void import("../orchestration-events-VBGCIQSS.js").then(({ recordOrchestrationEventBestEffort: recordOE }) => {
9017
9121
  recordOE({
9018
9122
  eventType: "task_file.resynced",
9019
9123
  source: "exe-daemon.taskFileResync",
@@ -9047,7 +9151,7 @@ function startTaskGroupBarriers() {
9047
9151
  fired("task_group_barriers");
9048
9152
  if (!await ensureStoreForPolling()) return;
9049
9153
  try {
9050
- const { pollTaskGroupBarriers } = await import("../daemon-orchestration-IJFZFQUX.js");
9154
+ const { pollTaskGroupBarriers } = await import("../daemon-orchestration-ZMQWYYDT.js");
9051
9155
  const firedCount = await pollTaskGroupBarriers();
9052
9156
  if (firedCount > 0) {
9053
9157
  acted("task_group_barriers");
@@ -9069,7 +9173,7 @@ function startCheckpointGc() {
9069
9173
  fired("checkpoint_gc");
9070
9174
  if (!await ensureStoreForPolling()) return;
9071
9175
  try {
9072
- const { gcStaleCheckpoints } = await import("../daemon-orchestration-IJFZFQUX.js");
9176
+ const { gcStaleCheckpoints } = await import("../daemon-orchestration-ZMQWYYDT.js");
9073
9177
  const cleared = await gcStaleCheckpoints();
9074
9178
  if (cleared > 0) {
9075
9179
  acted("checkpoint_gc");
@@ -9109,14 +9213,14 @@ function startDispatchAckCleanup() {
9109
9213
  function startProjectionWorkerDeferred() {
9110
9214
  setTimeout(async () => {
9111
9215
  try {
9112
- const { startProjectionWorker } = await import("../projection-worker-6LZUCI3B.js");
9216
+ const { startProjectionWorker } = await import("../projection-worker-FLASNERC.js");
9113
9217
  startProjectionWorker();
9114
9218
  } catch {
9115
9219
  }
9116
9220
  }, 2e4);
9117
9221
  }
9118
9222
  async function startToolTelemetry() {
9119
- const { startToolTelemetryFlush } = await import("../tool-telemetry-CHCBD4OQ.js");
9223
+ const { startToolTelemetryFlush } = await import("../tool-telemetry-ZL6TTZWG.js");
9120
9224
  startToolTelemetryFlush();
9121
9225
  process.stderr.write("[exed] Tool telemetry started (flush every 5m)\n");
9122
9226
  }
@@ -9233,6 +9337,7 @@ function startLocalFirstTimers() {
9233
9337
  setTimeout(() => void traceDaemonTimer("background_job_guardrails_start", () => startBackgroundJobGuardrails()), 6e4);
9234
9338
  setTimeout(startWorktreeReaper, 12e4);
9235
9339
  setTimeout(startStaleBranchSweep, 2e5);
9340
+ setTimeout(startStalledDispatchSweep, 21e4);
9236
9341
  setTimeout(startZombieAgentReaper, 25e3);
9237
9342
  setTimeout(() => void startDaemonMemoryPressureWatchdog(), 3e4);
9238
9343
  setTimeout(() => void traceDaemonTimer("intercom_dedup_cleanup", async () => {
@@ -9284,7 +9389,7 @@ function startLocalFirstTimers() {
9284
9389
  fired("orphan_task_cleanup");
9285
9390
  try {
9286
9391
  if (!await ensureStoreForPolling()) return;
9287
- const { cleanOrphanedTaskFiles } = await import("../tasks-crud-ZU6RZDEZ.js");
9392
+ const { cleanOrphanedTaskFiles } = await import("../tasks-crud-TJNMUKKH.js");
9288
9393
  const count = await cleanOrphanedTaskFiles();
9289
9394
  if (count > 0) {
9290
9395
  acted("orphan_task_cleanup");
@@ -9300,7 +9405,7 @@ function startLocalFirstTimers() {
9300
9405
  fired("task_file_consistency");
9301
9406
  try {
9302
9407
  if (!await ensureStoreForPolling()) return;
9303
- const { checkTaskFileConsistency } = await import("../tasks-crud-ZU6RZDEZ.js");
9408
+ const { checkTaskFileConsistency } = await import("../tasks-crud-TJNMUKKH.js");
9304
9409
  const mismatches = await checkTaskFileConsistency();
9305
9410
  if (mismatches > 0) {
9306
9411
  acted("task_file_consistency");
@@ -9319,7 +9424,7 @@ function startLocalFirstTimers() {
9319
9424
  const TELEMETRY_DAILY_MS = 24 * 60 * 60 * 1e3;
9320
9425
  const telemetryDaily = async () => {
9321
9426
  try {
9322
- const { sendTelemetry, isTelemetryEnabled } = await import("../telemetry-upload-2JM6KIAB.js");
9427
+ const { sendTelemetry, isTelemetryEnabled } = await import("../telemetry-upload-6LBGRJUE.js");
9323
9428
  if (!isTelemetryEnabled()) return;
9324
9429
  const { upstream } = await sendTelemetry(24);
9325
9430
  if (upstream.startsWith("sent")) {
@@ -9557,7 +9662,7 @@ try {
9557
9662
  });
9558
9663
  }
9559
9664
  try {
9560
- const { initOrgPartnerRuntime } = await import("../org-partner-runtime-KXMGEYFW.js");
9665
+ const { initOrgPartnerRuntime } = await import("../org-partner-runtime-TPVKFR6E.js");
9561
9666
  await initOrgPartnerRuntime();
9562
9667
  } catch (err) {
9563
9668
  process.stderr.write(