@askexenow/exe-os 0.9.370 → 0.9.372

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 (366) hide show
  1. package/deploy/compose/docker-compose.yml +46 -15
  2. package/deploy/stack-manifests/v0.9.json +117 -2
  3. package/dist/.dist-verified.json +3 -3
  4. package/dist/{active-agent-H5UZGJ5D.js → active-agent-GRT5MKD5.js} +3 -3
  5. package/dist/{active-agent-L6GFD4NP.js → active-agent-L2ZSSXDK.js} +3 -3
  6. package/dist/{agent-defs-generator-BARBPY6L.js → agent-defs-generator-M4ZNYIVX.js} +2 -2
  7. package/dist/{agentic-ontology-OZM624IZ.js → agentic-ontology-DMPRDEUX.js} +1 -1
  8. package/dist/{backfill-metadata-43B5R5JT.js → backfill-metadata-ZMEHJQ5M.js} +5 -5
  9. package/dist/{backup-verify-FW5GEF4B.js → backup-verify-EX2K732J.js} +1 -1
  10. package/dist/{behavior-injection-RT4ET4ZF.js → behavior-injection-22AGMS25.js} +12 -11
  11. package/dist/{behaviors-ZLEW6AIW.js → behaviors-DVFXAWF5.js} +10 -9
  12. package/dist/bin/agentic-ontology-backfill.js +6 -6
  13. package/dist/bin/agentic-reflection-backfill.js +7 -7
  14. package/dist/bin/agentic-semantic-label.js +6 -6
  15. package/dist/bin/backfill-conversations.js +8 -7
  16. package/dist/bin/backfill-responses.js +8 -7
  17. package/dist/bin/backfill-vectors.js +10 -9
  18. package/dist/bin/bulk-sync-postgres.js +14 -13
  19. package/dist/bin/cc-doctor.js +5 -5
  20. package/dist/bin/cleanup-stale-review-tasks.js +18 -17
  21. package/dist/bin/cli.js +30 -22
  22. package/dist/bin/deferred-daemon-restart.js +123 -94
  23. package/dist/bin/exe-agent-config.js +2 -2
  24. package/dist/bin/exe-agent.js +8 -8
  25. package/dist/bin/exe-assign.js +10 -9
  26. package/dist/bin/exe-boot.js +46 -35
  27. package/dist/bin/exe-call.js +4 -4
  28. package/dist/bin/exe-cloud.js +15 -14
  29. package/dist/bin/exe-config-dump.js +2 -2
  30. package/dist/bin/exe-dispatch.js +19 -18
  31. package/dist/bin/exe-doctor.js +5 -5
  32. package/dist/bin/exe-export-behaviors.js +14 -13
  33. package/dist/bin/exe-forget.js +7 -7
  34. package/dist/bin/exe-gateway.js +7 -7
  35. package/dist/bin/exe-healthcheck.js +5 -5
  36. package/dist/bin/exe-heartbeat.js +21 -20
  37. package/dist/bin/exe-kill.js +22 -21
  38. package/dist/bin/exe-launch-agent.js +29 -28
  39. package/dist/bin/exe-mcp.js +3 -3
  40. package/dist/bin/exe-memory-reads.js +5 -5
  41. package/dist/bin/exe-new-employee.js +8 -8
  42. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  43. package/dist/bin/exe-pending-messages.js +19 -18
  44. package/dist/bin/exe-pending-notifications.js +18 -17
  45. package/dist/bin/exe-pending-reviews.js +18 -17
  46. package/dist/bin/exe-rename.js +4 -4
  47. package/dist/bin/exe-repo-truth.js +369 -0
  48. package/dist/bin/exe-review.js +21 -20
  49. package/dist/bin/exe-search.js +6 -6
  50. package/dist/bin/exe-session-cleanup.js +22 -21
  51. package/dist/bin/exe-settings.js +14 -13
  52. package/dist/bin/exe-start-codex.js +19 -18
  53. package/dist/bin/exe-start-opencode.js +15 -14
  54. package/dist/bin/exe-status.js +20 -19
  55. package/dist/bin/exe-support.js +3 -3
  56. package/dist/bin/exe-team.js +4 -4
  57. package/dist/bin/exe-watchdog.js +1 -1
  58. package/dist/bin/git-sweep.js +19 -18
  59. package/dist/bin/graph-backfill.js +6 -6
  60. package/dist/bin/graph-export.js +6 -6
  61. package/dist/bin/import-history.js +9 -9
  62. package/dist/bin/install-launchd.js +1 -1
  63. package/dist/bin/install.js +91 -90
  64. package/dist/bin/intercom-check.js +4 -4
  65. package/dist/bin/mcp-sessions.js +2 -2
  66. package/dist/bin/orchestration-metrics.js +4 -4
  67. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  68. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  69. package/dist/bin/reconcile-backlog.js +2 -2
  70. package/dist/bin/registry-proxy.js +1 -1
  71. package/dist/bin/scan-tasks.js +18 -17
  72. package/dist/bin/setup.js +1 -1
  73. package/dist/bin/shard-migrate.js +5 -5
  74. package/dist/bin/stack-update.js +5 -5
  75. package/dist/bin/vps-health-gate.js +1 -1
  76. package/dist/{boot-generation-Z7ZM5LE5.js → boot-generation-OHXH4YC5.js} +3 -3
  77. package/dist/{boot-review-sections-52Y62Q6M.js → boot-review-sections-N5IXIGSS.js} +17 -16
  78. package/dist/{branch-hygiene-HFJ3HA62.js → branch-hygiene-KCGXRAWP.js} +125 -73
  79. package/dist/build-manifest.json +938 -918
  80. package/dist/{capability-cards-SKMGT3G2.js → capability-cards-4PXVLIVS.js} +2 -2
  81. package/dist/{capacity-monitor-JPFS5FYT.js → capacity-monitor-FKMQXORX.js} +19 -18
  82. package/dist/{catchup-brief-R4FP7ERW.js → catchup-brief-SN5EKO4N.js} +22 -21
  83. package/dist/{chunk-3TSDANOL.js → chunk-23QKEUF6.js} +11 -11
  84. package/dist/{chunk-33VQTJ6H.js → chunk-3KTQWMHI.js} +1 -1
  85. package/dist/{chunk-QS6HI4B6.js → chunk-3TTKAT6V.js} +31 -9
  86. package/dist/{chunk-D3QU2KNF.js → chunk-44C7QNZS.js} +1 -1
  87. package/dist/{chunk-S74ZNCBS.js → chunk-4ZJ5BPY6.js} +1 -1
  88. package/dist/{chunk-FFG3OMOH.js → chunk-53PYNYTW.js} +3 -3
  89. package/dist/{chunk-VZXEDC6K.js → chunk-5AHDQCTB.js} +4 -4
  90. package/dist/{chunk-JRPGAOHL.js → chunk-5AHRZI3R.js} +1 -1
  91. package/dist/{chunk-L6BZDFWT.js → chunk-5APCDDJZ.js} +1 -1
  92. package/dist/{chunk-5XRKPKHJ.js → chunk-5DCCKHDY.js} +3 -3
  93. package/dist/{chunk-64HUCOAL.js → chunk-5V7BD7Z4.js} +9 -1
  94. package/dist/{chunk-QK26AJD7.js → chunk-6XEYELCA.js} +1 -1
  95. package/dist/{chunk-WAIFOWCF.js → chunk-77JP3LK4.js} +6 -6
  96. package/dist/{chunk-C2CQ3KXS.js → chunk-7PSLK36P.js} +1 -1
  97. package/dist/{chunk-E63E3GUT.js → chunk-7R73IAHU.js} +9 -9
  98. package/dist/{chunk-L24EAOSG.js → chunk-7V6M3QUS.js} +1 -1
  99. package/dist/{chunk-BFP7JOD7.js → chunk-7WQRFSZI.js} +3 -3
  100. package/dist/{chunk-QILQ5FCG.js → chunk-A7JYF4RG.js} +6 -0
  101. package/dist/{chunk-P5XTVIEC.js → chunk-AAUWFXOX.js} +4 -4
  102. package/dist/{chunk-OPI5HGW6.js → chunk-AMKSDKMK.js} +1 -1
  103. package/dist/{chunk-U6SWEAAK.js → chunk-CNC57JCS.js} +4 -4
  104. package/dist/{chunk-I3FXDCUE.js → chunk-DKBPCOU4.js} +50 -20
  105. package/dist/{chunk-TTAPKUQV.js → chunk-E2WEFZOR.js} +1 -1
  106. package/dist/{chunk-AYMYU3RC.js → chunk-E7UCDSUE.js} +4 -4
  107. package/dist/{chunk-AWWAZBL7.js → chunk-ECHLVLA7.js} +1 -1
  108. package/dist/{chunk-EKOB53FE.js → chunk-EEXX4UMQ.js} +1 -1
  109. package/dist/{chunk-YTDIGGFZ.js → chunk-ELXFSIIM.js} +2 -2
  110. package/dist/{chunk-XFZHTFH5.js → chunk-ERVQTR7P.js} +2 -2
  111. package/dist/{chunk-VFI3HGKM.js → chunk-FB343XQX.js} +2 -2
  112. package/dist/{chunk-MMDOULD5.js → chunk-FBYAXTDM.js} +1 -1
  113. package/dist/{chunk-XWTZEVBQ.js → chunk-GH6YJOOC.js} +5 -5
  114. package/dist/{chunk-4HNVZDCM.js → chunk-GU62SNDH.js} +1 -1
  115. package/dist/{chunk-RLWSVSDV.js → chunk-HDW4XPDV.js} +1 -1
  116. package/dist/{chunk-6LU3DRZF.js → chunk-HECXZGGZ.js} +9 -9
  117. package/dist/{chunk-DZU7LMXH.js → chunk-HHE2HV3V.js} +1 -1
  118. package/dist/{chunk-637HNKYP.js → chunk-HIIXCAEE.js} +2 -2
  119. package/dist/{chunk-REOG2KQS.js → chunk-HIVZ53YB.js} +1 -1
  120. package/dist/{chunk-QCQT5RXR.js → chunk-HV6Y6F4X.js} +95 -3
  121. package/dist/{chunk-RLDMUSRM.js → chunk-IDZPQG2D.js} +1 -1
  122. package/dist/{chunk-NHJUJWLY.js → chunk-IPMUWYRQ.js} +2 -2
  123. package/dist/chunk-IVU3WN7S.js +227 -0
  124. package/dist/{chunk-WG3B2V6A.js → chunk-JJUGI2YL.js} +1 -1
  125. package/dist/{chunk-U5MEWTAY.js → chunk-JKXZGRWR.js} +1 -1
  126. package/dist/{chunk-EJ5BRL7C.js → chunk-JOO35RHR.js} +2 -2
  127. package/dist/{chunk-FAAHUZFK.js → chunk-JR23BL74.js} +3 -3
  128. package/dist/{chunk-6FMS6DGO.js → chunk-JTWTBX2M.js} +1 -1
  129. package/dist/{chunk-DLMLM63F.js → chunk-KPMC7PY7.js} +1 -1
  130. package/dist/{chunk-RHDDSIFC.js → chunk-KXYFBBZR.js} +1 -1
  131. package/dist/{chunk-MO2A7GUU.js → chunk-KYFFVTGO.js} +1 -1
  132. package/dist/{chunk-J7OPJPYG.js → chunk-L6ZNURWN.js} +1 -1
  133. package/dist/{chunk-AJH2JOKV.js → chunk-LAZKEJMS.js} +147 -147
  134. package/dist/{chunk-KNIYPHUM.js → chunk-LDL3S7AC.js} +1 -1
  135. package/dist/{chunk-5CYFJQGV.js → chunk-MBNIJXKI.js} +3 -3
  136. package/dist/{chunk-RYDR7TRT.js → chunk-MDGYXUOV.js} +1 -1
  137. package/dist/{chunk-SUCWKBYC.js → chunk-MEGRQ53A.js} +5 -5
  138. package/dist/{chunk-MXI2DAXR.js → chunk-MINXPXAB.js} +3 -3
  139. package/dist/{chunk-CWBFOAGM.js → chunk-NQZUSEAR.js} +1 -1
  140. package/dist/{chunk-5PISZ3DK.js → chunk-O4ZFRK6W.js} +11 -11
  141. package/dist/{chunk-5GHQD5NZ.js → chunk-OKGIOWOB.js} +2 -2
  142. package/dist/{chunk-AQL6BFAP.js → chunk-OW5RZIDW.js} +8 -8
  143. package/dist/{chunk-HIIEIDD2.js → chunk-OYQNNKNS.js} +10 -10
  144. package/dist/{chunk-5SRQG3SV.js → chunk-OZBII5E3.js} +4 -4
  145. package/dist/{chunk-VMJ2UH4S.js → chunk-PGLPUP37.js} +1 -1
  146. package/dist/{chunk-ZWYPGZJA.js → chunk-PM6WSWVU.js} +2 -2
  147. package/dist/{chunk-MZVEUPJA.js → chunk-QLA3RTH4.js} +2 -2
  148. package/dist/{chunk-LKB7OV6U.js → chunk-QR624DER.js} +1 -1
  149. package/dist/{chunk-RPJIULZL.js → chunk-QTI4QAWA.js} +1 -1
  150. package/dist/{chunk-ZXZHEAWO.js → chunk-QTYJPWJN.js} +4 -4
  151. package/dist/{chunk-ZVTKWWLV.js → chunk-QZL6E4UB.js} +1 -1
  152. package/dist/{chunk-75IYPYUY.js → chunk-RBYHJDAT.js} +3 -3
  153. package/dist/{chunk-KBXPVEO5.js → chunk-RGUDGC6A.js} +4 -4
  154. package/dist/{chunk-ZSYERTWA.js → chunk-RIK5GRWI.js} +3 -3
  155. package/dist/{chunk-KDP2HV43.js → chunk-RLR6VVKV.js} +4 -4
  156. package/dist/{chunk-GL4VN2FS.js → chunk-RNLF3CBB.js} +1 -1
  157. package/dist/{chunk-D26CLVB4.js → chunk-RUVO3NJC.js} +3 -3
  158. package/dist/{chunk-DOQ5F3GZ.js → chunk-RUWWES2K.js} +2 -2
  159. package/dist/{chunk-T3TSX4XB.js → chunk-SEP5ITFQ.js} +1 -1
  160. package/dist/chunk-SI5SZAJA.js +178 -0
  161. package/dist/{chunk-3WRQAAVT.js → chunk-T4EK56WI.js} +1 -1
  162. package/dist/{chunk-NKTNJSHK.js → chunk-TGEPLJ66.js} +3 -3
  163. package/dist/{chunk-C6ILSUXT.js → chunk-TGPQMMQP.js} +3 -3
  164. package/dist/{chunk-T7QPOQMD.js → chunk-THM7J6UI.js} +4 -4
  165. package/dist/{chunk-4OVLY2NR.js → chunk-TK4MI6F6.js} +3 -3
  166. package/dist/{chunk-X4C3SORV.js → chunk-U3XLRMJD.js} +1 -1
  167. package/dist/{chunk-BJ45A2NG.js → chunk-UKLF7F3Z.js} +5 -5
  168. package/dist/{chunk-BNHAZ65R.js → chunk-UQUUNGTP.js} +5 -1
  169. package/dist/{chunk-SWVRUCVM.js → chunk-UTDMTQNH.js} +1 -1
  170. package/dist/{chunk-JMH4BGNX.js → chunk-UVW7YFAF.js} +4 -4
  171. package/dist/{chunk-IWIESOAK.js → chunk-VKXS2YGN.js} +1 -1
  172. package/dist/{chunk-KU2ASWMO.js → chunk-VX2F4ZUY.js} +2 -2
  173. package/dist/{chunk-QZ4JDQ6R.js → chunk-W25RLOQ2.js} +2 -2
  174. package/dist/{chunk-DNKCJ6KV.js → chunk-WAEKYKTK.js} +1 -1
  175. package/dist/{chunk-FB43C242.js → chunk-WUKQVNLP.js} +1 -1
  176. package/dist/{chunk-UBR5M2TY.js → chunk-WZJVGA5I.js} +1 -1
  177. package/dist/{chunk-LMZD3A6K.js → chunk-XHYHX6F7.js} +26 -26
  178. package/dist/{chunk-YXCZKTTC.js → chunk-XXSNLM6R.js} +1 -1
  179. package/dist/{chunk-PZGLP65B.js → chunk-YFCNWQAM.js} +2 -2
  180. package/dist/{chunk-DPZ7EUY5.js → chunk-YWUQVHDL.js} +1 -1
  181. package/dist/{chunk-REEX7LTW.js → chunk-ZISQOOER.js} +2 -2
  182. package/dist/{chunk-YQ3QJ3SM.js → chunk-ZXB56YR2.js} +10 -10
  183. package/dist/{chunk-XGT2AOL7.js → chunk-ZYCLSEZT.js} +2 -2
  184. package/dist/{cleanup-graph-garbage-V6GERATJ.js → cleanup-graph-garbage-IPYDS5OX.js} +7 -7
  185. package/dist/{cloud-sync-command-RVPVF3H3.js → cloud-sync-command-JLNVG7H4.js} +2 -2
  186. package/dist/{cloud-sync-db-init-GIZFUJQB.js → cloud-sync-db-init-JXUF6GI3.js} +1 -1
  187. package/dist/{cloud-sync-shutdown-PQ6YZ3PA.js → cloud-sync-shutdown-Z4SBP6PL.js} +2 -2
  188. package/dist/{co-activation-6CM4E5ZK.js → co-activation-74RDFTKS.js} +2 -2
  189. package/dist/{co-occurrence-KJ7HM3EG.js → co-occurrence-CN3TBYVR.js} +5 -5
  190. package/dist/{code-context-index-XOP6TLPZ.js → code-context-index-D4MJ4VFX.js} +4 -3
  191. package/dist/{conversation-entity-extractor-PSFZQUJ5.js → conversation-entity-extractor-QGTLH4BP.js} +3 -3
  192. package/dist/{crdt-sync-POXIZVEF.js → crdt-sync-7T4WCOKD.js} +1 -1
  193. package/dist/{crm-webhook-V2H27KYR.js → crm-webhook-FTW3XZTO.js} +2 -2
  194. package/dist/{cto-delegation-gate-J3ND5BWL.js → cto-delegation-gate-SZCE34LB.js} +17 -16
  195. package/dist/{daemon-orchestration-M62T3FS2.js → daemon-orchestration-IGPHVNFR.js} +22 -21
  196. package/dist/{daemon-ready-MKBH4QWD.js → daemon-ready-OT2VQLS7.js} +1 -1
  197. package/dist/{destructive-data-guard-5SKHIZNN.js → destructive-data-guard-6I5MDFVD.js} +1 -1
  198. package/dist/{doc-graph-extractor-3BX3UPBB.js → doc-graph-extractor-VPTRIEKN.js} +5 -5
  199. package/dist/{documents-3D5LWOXL.js → documents-URULIXGM.js} +10 -9
  200. package/dist/{dreaming-WPBIOUHX.js → dreaming-VIZO3QDO.js} +21 -20
  201. package/dist/{employee-boot-brief-LWIOXW2Y.js → employee-boot-brief-XLOG4ULP.js} +25 -24
  202. package/dist/{exe-drift-UDKYXOFS.js → exe-drift-TLQM3IHD.js} +3 -3
  203. package/dist/{exe-export-ON37IIOT.js → exe-export-7YWYWJHY.js} +11 -10
  204. package/dist/{exe-import-ORFMQV3J.js → exe-import-DW6VAUKW.js} +11 -10
  205. package/dist/{exe-key-46N4TFWU.js → exe-key-TLJP2B4Y.js} +88 -87
  206. package/dist/{exe-org-ZYY5MUFH.js → exe-org-LU46N36E.js} +12 -12
  207. package/dist/{exe-snapshot-GLD66ZHQ.js → exe-snapshot-QHUZRS62.js} +23 -22
  208. package/dist/{fast-db-init-YFY566EG.js → fast-db-init-SCTOOIUT.js} +1 -1
  209. package/dist/{founder-context-N73W5XMG.js → founder-context-ZFZC4UHO.js} +2 -2
  210. package/dist/gateway/index.js +11 -11
  211. package/dist/{git-main-guard-TGK3RQY3.js → git-main-guard-TN27QBAI.js} +11 -1
  212. package/dist/{git-staleness-TNJ3XJJ4.js → git-staleness-GSGP344N.js} +2 -2
  213. package/dist/{global-procedures-7Y7LULZC.js → global-procedures-YAR7G4C6.js} +3 -3
  214. package/dist/{graph-auto-extract-4NEJ3OXA.js → graph-auto-extract-GNQS64F5.js} +5 -5
  215. package/dist/{graph-rag-WKAUQZUN.js → graph-rag-RMSFLUOB.js} +3 -3
  216. package/dist/{hook-integrity-D7BN2SLB.js → hook-integrity-CF567MVN.js} +1 -1
  217. package/dist/{hook-prefetch-7OJQ4IJ6.js → hook-prefetch-36BK4F7U.js} +18 -17
  218. package/dist/hooks/bug-report-worker.js +22 -21
  219. package/dist/hooks/codex-stop-task-finalizer.js +23 -22
  220. package/dist/hooks/commit-complete.js +21 -20
  221. package/dist/hooks/error-recall.js +8 -8
  222. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  223. package/dist/hooks/ingest-worker.js +6 -5
  224. package/dist/hooks/ingest.js +11 -11
  225. package/dist/hooks/instructions-loaded.js +5 -5
  226. package/dist/hooks/manifest.json +20 -20
  227. package/dist/hooks/notification.js +5 -5
  228. package/dist/hooks/post-compact.js +4 -4
  229. package/dist/hooks/post-tool-combined.js +12 -12
  230. package/dist/hooks/pre-compact.js +21 -20
  231. package/dist/hooks/pre-tool-use.js +33 -32
  232. package/dist/hooks/prompt-submit.js +35 -34
  233. package/dist/hooks/session-end.js +26 -25
  234. package/dist/hooks/session-start.js +17 -17
  235. package/dist/hooks/stop.js +27 -26
  236. package/dist/hooks/subagent-stop.js +22 -21
  237. package/dist/hooks/summary-worker.js +26 -25
  238. package/dist/index.js +29 -28
  239. package/dist/{installer-KPDMTHOD.js → installer-LUN4HQIC.js} +5 -5
  240. package/dist/{installer-HTFYSA5U.js → installer-MPRFUQJE.js} +5 -5
  241. package/dist/{installer-ZHTVJJNQ.js → installer-OC5VXNC7.js} +5 -5
  242. package/dist/{intercom-queue-D57B3JR3.js → intercom-queue-6DZ7BANV.js} +17 -16
  243. package/dist/lib/cloud-sync.js +14 -13
  244. package/dist/lib/consolidation.js +7 -7
  245. package/dist/lib/database.js +2 -2
  246. package/dist/lib/db-backup.js +1 -1
  247. package/dist/lib/db-daemon-client.js +4 -3
  248. package/dist/lib/db-write-worker.js +3 -3
  249. package/dist/lib/db.js +2 -2
  250. package/dist/lib/device-registry.js +1 -1
  251. package/dist/lib/embedder.js +4 -3
  252. package/dist/lib/employee-templates.js +4 -4
  253. package/dist/lib/employees.js +2 -2
  254. package/dist/lib/exe-daemon-client.js +3 -2
  255. package/dist/lib/exe-daemon.js +103 -83
  256. package/dist/lib/hybrid-search.js +6 -6
  257. package/dist/lib/identity.js +2 -2
  258. package/dist/lib/license.js +4 -2
  259. package/dist/lib/messaging.js +18 -17
  260. package/dist/lib/registry-proxy.js +1 -1
  261. package/dist/lib/reminders.js +3 -3
  262. package/dist/lib/schedules.js +6 -6
  263. package/dist/lib/session-registry.js +4 -4
  264. package/dist/lib/skill-learning.js +11 -10
  265. package/dist/lib/status-brief.js +1 -1
  266. package/dist/lib/store.js +5 -5
  267. package/dist/lib/task-router.js +3 -3
  268. package/dist/lib/tasks.js +19 -18
  269. package/dist/lib/tmux-routing.js +17 -16
  270. package/dist/lib/token-spend.js +3 -3
  271. package/dist/{license-gate-SUVXUQ7E.js → license-gate-ESER24PJ.js} +3 -3
  272. package/dist/{license-sync-TXGIO2PM.js → license-sync-JVG5KNIY.js} +2 -2
  273. package/dist/{linux-systemd-LRW3BYSS.js → linux-systemd-YUADJCJQ.js} +1 -1
  274. package/dist/mcp/register-tools.js +87 -86
  275. package/dist/mcp/server.js +88 -87
  276. package/dist/mcp/tools/complete-reminder.js +4 -4
  277. package/dist/mcp/tools/create-reminder.js +4 -4
  278. package/dist/mcp/tools/create-task.js +21 -20
  279. package/dist/mcp/tools/deactivate-behavior.js +12 -11
  280. package/dist/mcp/tools/list-reminders.js +4 -4
  281. package/dist/mcp/tools/list-tasks.js +21 -20
  282. package/dist/mcp/tools/send-message.js +20 -19
  283. package/dist/mcp/tools/update-task.js +20 -19
  284. package/dist/{mcp-http-config-WCOGCXVR.js → mcp-http-config-6K6IKH5F.js} +3 -3
  285. package/dist/{mcp-session-identity-JMFMB6G3.js → mcp-session-identity-LRC6WJSD.js} +17 -16
  286. package/dist/{memory-cards-IYRUCVDG.js → memory-cards-V3OZHIYP.js} +5 -5
  287. package/dist/{memory-graph-extractor-M6HSDITL.js → memory-graph-extractor-JC2Z64L4.js} +6 -6
  288. package/dist/{memory-poisoning-defense-CHGY62QP.js → memory-poisoning-defense-YM4QJHCX.js} +2 -2
  289. package/dist/{memory-pressure-watchdog-FB5E7MLA.js → memory-pressure-watchdog-6F6KEQHN.js} +18 -17
  290. package/dist/{memory-queue-client-HIHCA3W4.js → memory-queue-client-COA4ABEV.js} +4 -3
  291. package/dist/{memory-reflection-BPGUYVRK.js → memory-reflection-QXHJPYPC.js} +2 -2
  292. package/dist/{notification-ledger-4425CXFW.js → notification-ledger-6QRLQW4Q.js} +18 -17
  293. package/dist/{notifications-JGVJO7S2.js → notifications-7B6D7Y5C.js} +17 -16
  294. package/dist/{orchestration-events-PGKDGE45.js → orchestration-events-GY5VP5LU.js} +3 -3
  295. package/dist/{orchestrator-DV5G5DKQ.js → orchestrator-JVPVOYWA.js} +19 -18
  296. package/dist/{org-brief-session-LXCHYYX7.js → org-brief-session-GRV5R5E3.js} +5 -5
  297. package/dist/{org-consent-policy-52Z4LKHG.js → org-consent-policy-3FHHSYXV.js} +1 -1
  298. package/dist/{org-join-BMBQDMVF.js → org-join-BY4PV6UO.js} +2 -2
  299. package/dist/{org-key-admin-SCCVVE2H.js → org-key-admin-WSCPT2CZ.js} +3 -3
  300. package/dist/{org-partner-runtime-HKGI37ND.js → org-partner-runtime-UJDGECZ4.js} +5 -5
  301. package/dist/{org-row-visibility-K5OFWTXE.js → org-row-visibility-V5DXIHTE.js} +1 -1
  302. package/dist/{pipeline-router-NMWDS5I5.js → pipeline-router-YY5FQKTY.js} +3 -3
  303. package/dist/{plan-limits-P4E7P3O5.js → plan-limits-OVX6SN6B.js} +5 -5
  304. package/dist/{projection-worker-BSORYGBV.js → projection-worker-D2472IOD.js} +2 -2
  305. package/dist/{prospective-memory-3JTGI6VV.js → prospective-memory-JXO2A6PL.js} +2 -2
  306. package/dist/{push-notifications-P2HVB7LZ.js → push-notifications-HR3FZRDI.js} +18 -17
  307. package/dist/{reproject-worktree-memories-IXYGHTGA.js → reproject-worktree-memories-OSS3PGRF.js} +127 -35
  308. package/dist/{reranker-6RA63RUL.js → reranker-IMZRPYJ2.js} +1 -1
  309. package/dist/{retrieval-health-YDVLDURR.js → retrieval-health-W7OD44FE.js} +1 -1
  310. package/dist/{review-polling-XVOU2VTL.js → review-polling-2INP7H6M.js} +18 -17
  311. package/dist/runtime/index.js +25 -24
  312. package/dist/{session-events-6AUB5AKL.js → session-events-G4XUPVWV.js} +18 -17
  313. package/dist/{session-kill-telemetry-OXXPCDBI.js → session-kill-telemetry-W7MHWJTQ.js} +18 -17
  314. package/dist/{session-scope-E4NRAFZL.js → session-scope-LG2J4EMQ.js} +17 -16
  315. package/dist/{setup-wizard-RNV6UE6J.js → setup-wizard-YQJI3SVM.js} +1 -1
  316. package/dist/{skill-refinement-6U66DBPY.js → skill-refinement-RA37U756.js} +3 -3
  317. package/dist/{stack-promote-T7YOBPL6.js → stack-promote-IYBRXHTA.js} +4 -4
  318. package/dist/{stack-release-H7ICM4KT.js → stack-release-OXWLVVG6.js} +4 -4
  319. package/dist/{stack-update-MZIBQHVZ.js → stack-update-2CZEROPK.js} +3 -3
  320. package/dist/{steward-gate-TVRANLPZ.js → steward-gate-LTNFB3FY.js} +3 -3
  321. package/dist/{subagent-brief-injection-Y3IJY34K.js → subagent-brief-injection-OHLWLECQ.js} +26 -25
  322. package/dist/supervisor-handoff-CSJQMI53.js +37 -0
  323. package/dist/{support-inbox-2GGCRQEA.js → support-inbox-4KCEPAZQ.js} +3 -3
  324. package/dist/{task-enforcement-HMGS7GJD.js → task-enforcement-LGXWXGVZ.js} +18 -17
  325. package/dist/{task-request-inbox-EHPQR74T.js → task-request-inbox-WHCOSUCP.js} +1 -1
  326. package/dist/{task-scope-H2XPGS6Y.js → task-scope-KXF7Y6KA.js} +17 -16
  327. package/dist/{tasks-crud-4F6ECDNC.js → tasks-crud-5EM55WRZ.js} +17 -16
  328. package/dist/{tasks-notify-4F3HFDCG.js → tasks-notify-VFMAURTN.js} +18 -17
  329. package/dist/{tasks-review-M5G5J2T3.js → tasks-review-MHGMBHUZ.js} +17 -16
  330. package/dist/{telemetry-upload-DFRMVTOF.js → telemetry-upload-6NRTN7QJ.js} +7 -7
  331. package/dist/{token-budget-4CISVC2P.js → token-budget-LZPOYTRP.js} +3 -3
  332. package/dist/{tool-capability-index-BT2GGLLI.js → tool-capability-index-ED5OAPMW.js} +1 -1
  333. package/dist/{tool-telemetry-WHTCFN2L.js → tool-telemetry-ZX7VSAXK.js} +1 -1
  334. package/dist/tui/App.js +25 -24
  335. package/dist/{tui-data-36IHMXIQ.js → tui-data-CC5POSUV.js} +17 -16
  336. package/dist/{update-support-JQSTFOWO.js → update-support-KH6NSQON.js} +16 -15
  337. package/dist/{work-claims-CH77EFZ4.js → work-claims-MNK7PEPW.js} +3 -3
  338. package/dist/{work-state-heartbeat-YC3O6M2G.js → work-state-heartbeat-YEWT5NMZ.js} +1 -1
  339. package/dist/{worker-gate-BJTF4TUP.js → worker-gate-BOQSIU2Z.js} +1 -1
  340. package/dist/{workflow-engine-ZWRIDV6J.js → workflow-engine-MUUD7ZEX.js} +2 -2
  341. package/dist/{worktree-YNPSWYQY.js → worktree-GOGT2LZP.js} +4 -4
  342. package/dist/{worktree-sweep-GRMHU4DA.js → worktree-sweep-46VWPVQT.js} +5 -5
  343. package/package.json +2 -1
  344. package/release-notes.json +31 -60
  345. package/stack.release.json +4 -4
  346. package/dist/{chunk-Z4AN75KW.js → chunk-3F2UB4IQ.js} +0 -0
  347. package/dist/{chunk-442EX2PZ.js → chunk-3Y5THOU6.js} +0 -0
  348. package/dist/{chunk-KOYGRP2L.js → chunk-5N4SG5NB.js} +3 -3
  349. /package/dist/{chunk-ME3A4LKV.js → chunk-7UTJA6HF.js} +0 -0
  350. /package/dist/{chunk-YSDIJ3VI.js → chunk-7XGXRD22.js} +0 -0
  351. /package/dist/{chunk-EQJ462VM.js → chunk-ADNBOKYZ.js} +0 -0
  352. /package/dist/{chunk-6CAX7YH4.js → chunk-FZQWVQJG.js} +0 -0
  353. /package/dist/{chunk-2A76BLAD.js → chunk-GB3AHV5F.js} +0 -0
  354. /package/dist/{chunk-P3IOJTWW.js → chunk-HR2R2QER.js} +0 -0
  355. /package/dist/{chunk-5HNXTAXL.js → chunk-ORA5BWCV.js} +0 -0
  356. /package/dist/{chunk-PREXA444.js → chunk-R6FLELV6.js} +0 -0
  357. /package/dist/{chunk-G2H2KV4N.js → chunk-V4XAKXXF.js} +0 -0
  358. /package/dist/{chunk-7AQ2C4LT.js → chunk-VJSDGDNS.js} +0 -0
  359. /package/dist/{chunk-VQ7F3W7P.js → chunk-WV3TOOL7.js} +0 -0
  360. /package/dist/{core-memory-KIV3WFOQ.js → core-memory-6WBNT2HL.js} +0 -0
  361. /package/dist/{entity-boost-CDFAXVYL.js → entity-boost-MT336PI3.js} +0 -0
  362. /package/dist/{memory-isolation-CPTYUIPJ.js → memory-isolation-EJ45IXBH.js} +0 -0
  363. /package/dist/{message-queue-client-PL2POQOV.js → message-queue-client-MVBTYCSV.js} +0 -0
  364. /package/dist/{oauth-server-NJRJAT7X.js → oauth-server-TZFNQAFS.js} +0 -0
  365. /package/dist/{project-boot-QYYCFYFC.js → project-boot-LXLU2J32.js} +0 -0
  366. /package/dist/{wiki-acl-OROXIW3P.js → wiki-acl-WXRJGZ5Q.js} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-5XRKPKHJ.js";
4
+ } from "./chunk-5DCCKHDY.js";
5
5
  import "./chunk-TKDITWDN.js";
6
6
  import "./chunk-BBMTVAE3.js";
7
7
  import "./chunk-5YEUPUV4.js";
8
- import "./chunk-SWVRUCVM.js";
8
+ import "./chunk-UTDMTQNH.js";
9
9
  import "./chunk-YYB5PMTK.js";
10
10
  import {
11
11
  getRoleCapabilities
@@ -8,32 +8,33 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-XWTZEVBQ.js";
12
- import "./chunk-75IYPYUY.js";
13
- import "./chunk-LMZD3A6K.js";
11
+ } from "./chunk-GH6YJOOC.js";
12
+ import "./chunk-RBYHJDAT.js";
13
+ import "./chunk-XHYHX6F7.js";
14
14
  import "./chunk-BTSWFMEH.js";
15
- import "./chunk-DNKCJ6KV.js";
16
- import "./chunk-6FMS6DGO.js";
15
+ import "./chunk-WAEKYKTK.js";
16
+ import "./chunk-44C7QNZS.js";
17
+ import "./chunk-JTWTBX2M.js";
17
18
  import "./chunk-KI5PFRG6.js";
18
- import "./chunk-D3QU2KNF.js";
19
19
  import "./chunk-WT4RI36X.js";
20
+ import "./chunk-E23LNUWJ.js";
20
21
  import "./chunk-QAEWWYHL.js";
21
22
  import "./chunk-EIKATSE4.js";
22
- import "./chunk-E23LNUWJ.js";
23
- import "./chunk-RYDR7TRT.js";
23
+ import "./chunk-MDGYXUOV.js";
24
24
  import "./chunk-GBNB4EWD.js";
25
25
  import "./chunk-UXLO7VHX.js";
26
26
  import "./chunk-DSOQUQTV.js";
27
- import "./chunk-TTAPKUQV.js";
27
+ import "./chunk-E2WEFZOR.js";
28
28
  import "./chunk-AJIXH5JF.js";
29
- import "./chunk-J7OPJPYG.js";
29
+ import "./chunk-L6ZNURWN.js";
30
30
  import "./chunk-XTWHNLGD.js";
31
31
  import "./chunk-AM7S2TY6.js";
32
- import "./chunk-637HNKYP.js";
32
+ import "./chunk-HIIXCAEE.js";
33
33
  import "./chunk-CVYC6DUW.js";
34
- import "./chunk-ZVTKWWLV.js";
34
+ import "./chunk-QZL6E4UB.js";
35
35
  import "./chunk-CDUB5Q6J.js";
36
- import "./chunk-BNHAZ65R.js";
36
+ import "./chunk-UQUUNGTP.js";
37
+ import "./chunk-IVU3WN7S.js";
37
38
  import "./chunk-RIECV7SR.js";
38
39
  import "./chunk-LNOS24GV.js";
39
40
  import "./chunk-NLEW62VC.js";
@@ -41,21 +42,21 @@ import "./chunk-W2IRQJ6R.js";
41
42
  import "./chunk-HYZV25LY.js";
42
43
  import "./chunk-GJV3WDWM.js";
43
44
  import "./chunk-MP2AFCGL.js";
44
- import "./chunk-5XRKPKHJ.js";
45
+ import "./chunk-5DCCKHDY.js";
45
46
  import "./chunk-TKDITWDN.js";
46
47
  import "./chunk-BBMTVAE3.js";
47
48
  import "./chunk-5YEUPUV4.js";
48
- import "./chunk-SWVRUCVM.js";
49
+ import "./chunk-UTDMTQNH.js";
49
50
  import "./chunk-YYB5PMTK.js";
50
51
  import "./chunk-NJFJWQNN.js";
51
52
  import "./chunk-V3W3SATA.js";
52
53
  import "./chunk-JY5GAZYC.js";
53
54
  import "./chunk-FXU7JOXK.js";
54
55
  import "./chunk-WNBZJSQT.js";
55
- import "./chunk-I3FXDCUE.js";
56
+ import "./chunk-DKBPCOU4.js";
56
57
  import "./chunk-A7XLR3K7.js";
57
- import "./chunk-2A76BLAD.js";
58
- import "./chunk-QILQ5FCG.js";
58
+ import "./chunk-GB3AHV5F.js";
59
+ import "./chunk-A7JYF4RG.js";
59
60
  import "./chunk-ARX6TAGN.js";
60
61
  import "./chunk-QMSEL5YS.js";
61
62
  import "./chunk-HSGBZSCA.js";
@@ -1,42 +1,43 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-YQ3QJ3SM.js";
3
+ } from "./chunk-ZXB56YR2.js";
4
4
  import "./chunk-VMHZSZQJ.js";
5
- import "./chunk-HIIEIDD2.js";
6
- import "./chunk-ME3A4LKV.js";
5
+ import "./chunk-OYQNNKNS.js";
6
+ import "./chunk-7UTJA6HF.js";
7
7
  import "./chunk-CHCA3ZM2.js";
8
8
  import "./chunk-OTVEIJUQ.js";
9
- import "./chunk-Z4AN75KW.js";
9
+ import "./chunk-3F2UB4IQ.js";
10
10
  import "./chunk-5MOYSU5A.js";
11
11
  import "./chunk-4QCFFW2H.js";
12
12
  import "./chunk-76CJBM36.js";
13
13
  import {
14
14
  sessionScopeFilter,
15
15
  strictSessionScopeFilter
16
- } from "./chunk-LMZD3A6K.js";
16
+ } from "./chunk-XHYHX6F7.js";
17
17
  import "./chunk-BTSWFMEH.js";
18
- import "./chunk-DNKCJ6KV.js";
19
- import "./chunk-6FMS6DGO.js";
18
+ import "./chunk-WAEKYKTK.js";
19
+ import "./chunk-44C7QNZS.js";
20
+ import "./chunk-JTWTBX2M.js";
20
21
  import "./chunk-KI5PFRG6.js";
21
- import "./chunk-D3QU2KNF.js";
22
22
  import "./chunk-WT4RI36X.js";
23
+ import "./chunk-E23LNUWJ.js";
23
24
  import "./chunk-QAEWWYHL.js";
24
25
  import "./chunk-EIKATSE4.js";
25
- import "./chunk-E23LNUWJ.js";
26
- import "./chunk-RYDR7TRT.js";
26
+ import "./chunk-MDGYXUOV.js";
27
27
  import "./chunk-GBNB4EWD.js";
28
28
  import "./chunk-UXLO7VHX.js";
29
29
  import "./chunk-DSOQUQTV.js";
30
- import "./chunk-TTAPKUQV.js";
30
+ import "./chunk-E2WEFZOR.js";
31
31
  import "./chunk-AJIXH5JF.js";
32
- import "./chunk-J7OPJPYG.js";
32
+ import "./chunk-L6ZNURWN.js";
33
33
  import "./chunk-XTWHNLGD.js";
34
34
  import "./chunk-AM7S2TY6.js";
35
- import "./chunk-637HNKYP.js";
35
+ import "./chunk-HIIXCAEE.js";
36
36
  import "./chunk-CVYC6DUW.js";
37
- import "./chunk-ZVTKWWLV.js";
37
+ import "./chunk-QZL6E4UB.js";
38
38
  import "./chunk-CDUB5Q6J.js";
39
- import "./chunk-BNHAZ65R.js";
39
+ import "./chunk-UQUUNGTP.js";
40
+ import "./chunk-IVU3WN7S.js";
40
41
  import "./chunk-RIECV7SR.js";
41
42
  import "./chunk-LNOS24GV.js";
42
43
  import "./chunk-NLEW62VC.js";
@@ -46,11 +47,11 @@ import "./chunk-GJV3WDWM.js";
46
47
  import "./chunk-MP2AFCGL.js";
47
48
  import {
48
49
  getClient
49
- } from "./chunk-5XRKPKHJ.js";
50
+ } from "./chunk-5DCCKHDY.js";
50
51
  import "./chunk-TKDITWDN.js";
51
52
  import "./chunk-BBMTVAE3.js";
52
53
  import "./chunk-5YEUPUV4.js";
53
- import "./chunk-SWVRUCVM.js";
54
+ import "./chunk-UTDMTQNH.js";
54
55
  import "./chunk-YYB5PMTK.js";
55
56
  import "./chunk-NJFJWQNN.js";
56
57
  import "./chunk-V3W3SATA.js";
@@ -58,10 +59,10 @@ import "./chunk-JY5GAZYC.js";
58
59
  import "./chunk-FXU7JOXK.js";
59
60
  import "./chunk-HPXFKUGU.js";
60
61
  import "./chunk-WNBZJSQT.js";
61
- import "./chunk-I3FXDCUE.js";
62
+ import "./chunk-DKBPCOU4.js";
62
63
  import "./chunk-A7XLR3K7.js";
63
- import "./chunk-2A76BLAD.js";
64
- import "./chunk-QILQ5FCG.js";
64
+ import "./chunk-GB3AHV5F.js";
65
+ import "./chunk-A7JYF4RG.js";
65
66
  import "./chunk-ARX6TAGN.js";
66
67
  import "./chunk-QMSEL5YS.js";
67
68
  import "./chunk-HSGBZSCA.js";
@@ -172,7 +173,7 @@ ${msgLines}`);
172
173
  } catch {
173
174
  }
174
175
  try {
175
- const { getPendingProspective, markSurfaced } = await import("./prospective-memory-3JTGI6VV.js");
176
+ const { getPendingProspective, markSurfaced } = await import("./prospective-memory-JXO2A6PL.js");
176
177
  const due = await getPendingProspective(agentId, { projectName, limit: 5 });
177
178
  if (due.length > 0) {
178
179
  const now = Date.now();
@@ -1,23 +1,23 @@
1
- import {
2
- MultiAgentOrchestrator
3
- } from "./chunk-NKTNJSHK.js";
4
1
  import {
5
2
  createTokenBudgetMiddleware
6
- } from "./chunk-EKOB53FE.js";
3
+ } from "./chunk-EEXX4UMQ.js";
4
+ import {
5
+ MultiAgentOrchestrator
6
+ } from "./chunk-TGEPLJ66.js";
7
7
  import {
8
8
  createQuietRenderer,
9
9
  createTerminalRenderer,
10
10
  renderAgentEvents
11
11
  } from "./chunk-YZFZDJWZ.js";
12
+ import {
13
+ checkDangerousPatterns,
14
+ hasCriticalPattern
15
+ } from "./chunk-CMCYL2JC.js";
12
16
  import {
13
17
  checkPathSafety,
14
18
  checkReadPathSafety,
15
19
  containsPathTraversal
16
20
  } from "./chunk-NGVOA6ZQ.js";
17
- import {
18
- checkDangerousPatterns,
19
- hasCriticalPattern
20
- } from "./chunk-CMCYL2JC.js";
21
21
  import {
22
22
  ContextManager,
23
23
  agentLoop,
@@ -209,7 +209,7 @@ function createExeOSHooks(config) {
209
209
  );
210
210
  }
211
211
  try {
212
- const { listBehaviors } = await import("./behaviors-ZLEW6AIW.js");
212
+ const { listBehaviors } = await import("./behaviors-DVFXAWF5.js");
213
213
  const behaviors = await listBehaviors(config.agentId, config.projectName, 12);
214
214
  if (behaviors.length > 0) {
215
215
  process.stderr.write(
@@ -330,7 +330,7 @@ function createExeOSHooks(config) {
330
330
  async onSubagentStop(_reason) {
331
331
  try {
332
332
  const { getClient } = await import("./lib/database.js");
333
- const { sessionScopeFilter } = await import("./task-scope-H2XPGS6Y.js");
333
+ const { sessionScopeFilter } = await import("./task-scope-KXF7Y6KA.js");
334
334
  const client = getClient();
335
335
  const ehScope = sessionScopeFilter();
336
336
  const tasks = await client.execute({
@@ -422,7 +422,7 @@ function createExeOSHooks(config) {
422
422
  try {
423
423
  const { writeMemory, flushBatch } = await import("./lib/store.js");
424
424
  const { getClient } = await import("./lib/database.js");
425
- const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-H2XPGS6Y.js");
425
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-KXF7Y6KA.js");
426
426
  const client = getClient();
427
427
  const cpScope = cpScopeFilter();
428
428
  const tasks = await client.execute({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isExeSession
3
- } from "./chunk-LMZD3A6K.js";
3
+ } from "./chunk-XHYHX6F7.js";
4
4
  import {
5
5
  loadConfigSync
6
6
  } from "./chunk-QMSEL5YS.js";
@@ -572,16 +572,38 @@ function buildActionRequired(data) {
572
572
  }
573
573
  }
574
574
  const ub = data.unmergedBranches;
575
- if (ub && ub.total > 0 && ub.staleCount > 0) {
576
- hasIssues = true;
577
- lines.push(
578
- ` \u{1F500} ${ub.total} unmerged remote branch${ub.total === 1 ? "" : "es"} (${ub.staleCount} >${ub.staleHours}h) \u2014 check before starting new work`
579
- );
580
- for (const b of ub.branches.slice(0, 5)) {
581
- const age = b.ageHours >= 24 ? `${(b.ageHours / 24).toFixed(1)}d` : `${b.ageHours.toFixed(0)}h`;
582
- lines.push(` \u2022 ${b.name} (+${b.ahead} commit${b.ahead === 1 ? "" : "s"}, ${age})`);
575
+ if (ub) {
576
+ if (ub.remoteRead === false) {
577
+ hasIssues = true;
578
+ lines.push(
579
+ ` \u{1F500} Remote branch state UNKNOWN \u2014 \`git ls-remote\` failed; not reporting a count. Run: exe-os repo-truth`
580
+ );
581
+ } else if (ub.prStateAvailable === false && (ub.liveTotal ?? 0) > 0) {
582
+ hasIssues = true;
583
+ lines.push(
584
+ ` \u{1F500} ${ub.liveTotal} live remote branch${ub.liveTotal === 1 ? "" : "es"} \u2014 merge state UNKNOWN (gh unavailable). Run: exe-os repo-truth`
585
+ );
586
+ } else if (ub.total > 0 && ub.staleCount > 0) {
587
+ hasIssues = true;
588
+ lines.push(
589
+ ` \u{1F500} ${ub.total} remote branch${ub.total === 1 ? "" : "es"} with unlanded work (${ub.staleCount} >${ub.staleHours}h) \u2014 PR closed without merge, or never proposed`
590
+ );
591
+ for (const b of ub.branches.slice(0, 5)) {
592
+ const age = b.ageHours >= 24 ? `${(b.ageHours / 24).toFixed(1)}d` : `${b.ageHours.toFixed(0)}h`;
593
+ const ahead = b.aheadUnknown ? "+? commits" : `+${b.ahead} commit${b.ahead === 1 ? "" : "s"}`;
594
+ const why = b.classification === "never_proposed" ? "no PR" : b.prNumber ? `PR #${b.prNumber} closed unmerged` : "closed unmerged";
595
+ lines.push(` \u2022 ${b.name} (${ahead}, ${age}, ${why})`);
596
+ }
597
+ if (ub.total > 5) lines.push(` ... ${ub.total - 5} more \u2014 list all: exe-os repo-truth`);
598
+ }
599
+ if ((ub.mergedCount ?? 0) > 0) {
600
+ lines.push(
601
+ ` \u{1F9F9} ${ub.mergedCount} merged branch${ub.mergedCount === 1 ? "" : "es"} not yet deleted upstream \u2014 prunable, no action needed`
602
+ );
603
+ }
604
+ if ((ub.unknownCount ?? 0) > 0 && ub.prStateAvailable !== false) {
605
+ lines.push(` \u2753 ${ub.unknownCount} branch${ub.unknownCount === 1 ? "" : "es"} with UNKNOWN PR state \u2014 not counted above`);
583
606
  }
584
- if (ub.total > 5) lines.push(` ... ${ub.total - 5} more \u2014 list all: git branch -r --no-merged origin/main`);
585
607
  }
586
608
  if (data.localMainAhead && data.localMainAhead.ahead > 0) {
587
609
  hasIssues = true;
@@ -22,7 +22,7 @@ var OrgOriginProvenanceError = class extends Error {
22
22
  async function mintOrgOriginStamp(input) {
23
23
  if (!input.orgId) throw new OrgOriginProvenanceError("An org-origin stamp requires a non-empty org_id (\xA71.5)");
24
24
  if (!input.requestId) throw new OrgOriginProvenanceError("An org-origin stamp requires a request id");
25
- const { getTaskRequest } = await import("./task-request-inbox-EHPQR74T.js");
25
+ const { getTaskRequest } = await import("./task-request-inbox-WHCOSUCP.js");
26
26
  const req = getTaskRequest(input.orgId, input.requestId);
27
27
  if (!req) {
28
28
  throw new OrgOriginProvenanceError(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-5XRKPKHJ.js";
3
+ } from "./chunk-5DCCKHDY.js";
4
4
  import {
5
5
  loadConfigSync
6
6
  } from "./chunk-QMSEL5YS.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getActiveAgent
3
- } from "./chunk-MO2A7GUU.js";
3
+ } from "./chunk-KYFFVTGO.js";
4
4
  import {
5
5
  listTasks
6
- } from "./chunk-LMZD3A6K.js";
6
+ } from "./chunk-XHYHX6F7.js";
7
7
  import {
8
8
  getAgentContext
9
9
  } from "./chunk-GJV3WDWM.js";
10
10
  import {
11
11
  isCoordinatorName
12
- } from "./chunk-5XRKPKHJ.js";
12
+ } from "./chunk-5DCCKHDY.js";
13
13
 
14
14
  // src/mcp/tools/list-tasks.ts
15
15
  import { z } from "zod";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  isExeSession,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-LMZD3A6K.js";
4
+ } from "./chunk-XHYHX6F7.js";
5
5
  import {
6
6
  recordOrchestrationEventBestEffort
7
- } from "./chunk-TTAPKUQV.js";
7
+ } from "./chunk-E2WEFZOR.js";
8
8
  import {
9
9
  getProjectName
10
10
  } from "./chunk-W2IRQJ6R.js";
11
11
  import {
12
12
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
13
13
  getCoordinatorName
14
- } from "./chunk-5XRKPKHJ.js";
14
+ } from "./chunk-5DCCKHDY.js";
15
15
  import {
16
16
  loadConfigSync
17
17
  } from "./chunk-QMSEL5YS.js";
@@ -260,7 +260,7 @@ function createRealDeps(getClient) {
260
260
  });
261
261
  },
262
262
  createReviewForOrphan: async (task) => {
263
- const { createReviewForCompletedTask } = await import("./tasks-review-M5G5J2T3.js");
263
+ const { createReviewForCompletedTask } = await import("./tasks-review-MHGMBHUZ.js");
264
264
  const cwd = process.cwd();
265
265
  await createReviewForCompletedTask(
266
266
  task,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  completeReminder,
3
3
  formatAmbiguousReminder
4
- } from "./chunk-T3TSX4XB.js";
4
+ } from "./chunk-SEP5ITFQ.js";
5
5
 
6
6
  // src/mcp/tools/complete-reminder.ts
7
7
  import { z } from "zod";
@@ -219,7 +219,7 @@ function clearSetupState() {
219
219
  }
220
220
  async function probeDaemonHealthAfterInstall() {
221
221
  try {
222
- const { waitForDaemonReady } = await import("./daemon-ready-MKBH4QWD.js");
222
+ const { waitForDaemonReady } = await import("./daemon-ready-OT2VQLS7.js");
223
223
  return await waitForDaemonReady(4, 500);
224
224
  } catch {
225
225
  return false;
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-5YEUPUV4.js";
10
10
  import {
11
11
  listBackups
12
- } from "./chunk-SWVRUCVM.js";
12
+ } from "./chunk-UTDMTQNH.js";
13
13
  import {
14
14
  isPostgresBackendEnabled
15
15
  } from "./chunk-YYB5PMTK.js";
@@ -1333,7 +1333,7 @@ async function migrateReflectionDedup(client) {
1333
1333
  "ALTER TABLE memory_reflections ADD COLUMN dedup_key TEXT",
1334
1334
  "migration add memory_reflections.dedup_key"
1335
1335
  );
1336
- const { reflectionDedupKey } = await import("./memory-reflection-BPGUYVRK.js");
1336
+ const { reflectionDedupKey } = await import("./memory-reflection-QXHJPYPC.js");
1337
1337
  const keyForRow = (row) => {
1338
1338
  let sources = [];
1339
1339
  try {
@@ -2346,7 +2346,7 @@ async function sweepExpiredSoftDeletedMemories(client, options = {}) {
2346
2346
  const purgeArchived = archDays !== void 0;
2347
2347
  const BATCH_SIZE = 2e3;
2348
2348
  const MAX_BATCHES = 500;
2349
- const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-WKAUQZUN.js");
2349
+ const { cleanupCardsForMemories, cleanupGraphLinksForMemories } = await import("./graph-rag-RMSFLUOB.js");
2350
2350
  const softCutoff = `-${softDays} days`;
2351
2351
  const selectArgsBase = [softCutoff];
2352
2352
  let predicate = `status = 'deleted' AND COALESCE(deleted_at, timestamp) < datetime('now', ?)`;
@@ -193,7 +193,15 @@ function buildDaemonLaunchdPlist(opts) {
193
193
  groupName: opts.groupName,
194
194
  keepAlive: "nonzero",
195
195
  throttleInterval: 30,
196
- extraEnv: opts.embeddingsInUse ? { EXE_EMBEDDINGS: "1" } : void 0
196
+ // EXE_DAEMON_SUPERVISED marks the daemon launchd starts itself. A daemon
197
+ // WITHOUT this marker knows it is a non-supervisor starter and hands the
198
+ // start back to launchd (bug ad8886b8) instead of winning the singleton
199
+ // lock — which is what makes launchd's own instance defer, exit 0, and
200
+ // (KeepAlive.SuccessfulExit=false) never retry.
201
+ extraEnv: {
202
+ EXE_DAEMON_SUPERVISED: "1",
203
+ ...opts.embeddingsInUse ? { EXE_EMBEDDINGS: "1" } : {}
204
+ }
197
205
  });
198
206
  }
199
207
  function buildWatchdogLaunchdPlist(opts) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getGlobalProceduresBlock
3
- } from "./chunk-REOG2KQS.js";
3
+ } from "./chunk-HIVZ53YB.js";
4
4
 
5
5
  // src/lib/employee-templates.ts
6
6
  var BASE_OPERATING_PROCEDURES = `
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCrdtSyncEnabled
3
- } from "./chunk-VQ7F3W7P.js";
3
+ } from "./chunk-WV3TOOL7.js";
4
4
  import {
5
5
  compress,
6
6
  decompress
@@ -25,10 +25,10 @@ import {
25
25
  import {
26
26
  GHOST_BEHAVIOR_SQL,
27
27
  isGhostBehaviorRow
28
- } from "./chunk-5CYFJQGV.js";
28
+ } from "./chunk-MBNIJXKI.js";
29
29
  import {
30
30
  retryOnDaemonTransportError
31
- } from "./chunk-VMJ2UH4S.js";
31
+ } from "./chunk-PGLPUP37.js";
32
32
  import {
33
33
  decryptSyncBlob,
34
34
  encryptSyncBlob,
@@ -41,10 +41,10 @@ import {
41
41
  loadEmployees,
42
42
  registerBinSymlinks,
43
43
  saveEmployees
44
- } from "./chunk-5XRKPKHJ.js";
44
+ } from "./chunk-5DCCKHDY.js";
45
45
  import {
46
46
  loadDeviceId
47
- } from "./chunk-I3FXDCUE.js";
47
+ } from "./chunk-DKBPCOU4.js";
48
48
  import {
49
49
  EXE_AI_DIR
50
50
  } from "./chunk-QMSEL5YS.js";
@@ -1053,7 +1053,7 @@ async function cloudSync(config, options) {
1053
1053
  pullResult = await cloudPull(lastPullVersion, config);
1054
1054
  if (pullResult.records.length > 0) {
1055
1055
  if (shouldUseCrdtMergeForCloudSync()) {
1056
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-POXIZVEF.js");
1056
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-7T4WCOKD.js");
1057
1057
  initCrdtDoc();
1058
1058
  importExistingMemories(
1059
1059
  pullResult.records.map((rec) => ({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createReminder
3
- } from "./chunk-T3TSX4XB.js";
3
+ } from "./chunk-SEP5ITFQ.js";
4
4
 
5
5
  // src/mcp/tools/create-reminder.ts
6
6
  import { z } from "zod";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  isPaneBusy
3
- } from "./chunk-U6SWEAAK.js";
3
+ } from "./chunk-CNC57JCS.js";
4
4
  import {
5
5
  recordSessionKill
6
- } from "./chunk-75IYPYUY.js";
6
+ } from "./chunk-RBYHJDAT.js";
7
7
  import {
8
8
  updateTask
9
- } from "./chunk-6LU3DRZF.js";
9
+ } from "./chunk-HECXZGGZ.js";
10
10
  import {
11
11
  BUSY_PATTERN,
12
12
  countPendingReviews,
@@ -22,7 +22,7 @@ import {
22
22
  sessionScopeFilter,
23
23
  strictSessionScopeFilter,
24
24
  writeNotification
25
- } from "./chunk-LMZD3A6K.js";
25
+ } from "./chunk-XHYHX6F7.js";
26
26
  import {
27
27
  isValidSessionScope
28
28
  } from "./chunk-BTSWFMEH.js";
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-E23LNUWJ.js";
33
33
  import {
34
34
  listSessions
35
- } from "./chunk-RYDR7TRT.js";
35
+ } from "./chunk-MDGYXUOV.js";
36
36
  import {
37
37
  capturePaneLinesAsync,
38
38
  listTmuxSessions,
@@ -44,7 +44,7 @@ import {
44
44
  } from "./chunk-UXLO7VHX.js";
45
45
  import {
46
46
  recordOrchestrationEventBestEffort
47
- } from "./chunk-TTAPKUQV.js";
47
+ } from "./chunk-E2WEFZOR.js";
48
48
  import {
49
49
  checkDispatchStatus,
50
50
  readTerminalLauncherFailure,
@@ -64,7 +64,7 @@ import {
64
64
  getCoordinatorName,
65
65
  isCoordinatorName,
66
66
  shouldAutoInstance
67
- } from "./chunk-5XRKPKHJ.js";
67
+ } from "./chunk-5DCCKHDY.js";
68
68
  import {
69
69
  eventLoopBlockedMarkerPath
70
70
  } from "./chunk-JY5GAZYC.js";
@@ -3459,7 +3459,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
3459
3459
  }
3460
3460
  async function createWorktreeReaperRealDeps() {
3461
3461
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
3462
- const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-YNPSWYQY.js");
3462
+ const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-GOGT2LZP.js");
3463
3463
  const { statSync: statSync3 } = await import("fs");
3464
3464
  const { basename: basename2 } = await import("path");
3465
3465
  const { promisify: promisify2 } = await import("util");
@@ -3702,7 +3702,7 @@ async function gcStaleCheckpoints() {
3702
3702
  }
3703
3703
  async function pollTaskGroupBarriers() {
3704
3704
  try {
3705
- const { checkAndFireBarriers } = await import("./tasks-crud-4F6ECDNC.js");
3705
+ const { checkAndFireBarriers } = await import("./tasks-crud-5EM55WRZ.js");
3706
3706
  const firedGroupIds = await checkAndFireBarriers();
3707
3707
  if (firedGroupIds.length === 0) return 0;
3708
3708
  const { getClient } = await import("./lib/database.js");
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-5XRKPKHJ.js";
4
+ } from "./chunk-5DCCKHDY.js";
5
5
 
6
6
  // src/lib/drift-probes.ts
7
7
  var DRIFT_THRESHOLD = 80;
@@ -4,17 +4,17 @@ import {
4
4
  resolveExeSession,
5
5
  sendIntercom,
6
6
  strictSessionScopeFilter
7
- } from "./chunk-LMZD3A6K.js";
7
+ } from "./chunk-XHYHX6F7.js";
8
8
  import {
9
9
  parseMessage,
10
10
  serializeMessage
11
11
  } from "./chunk-QAEWWYHL.js";
12
12
  import {
13
13
  recordOrchestrationEventBestEffort
14
- } from "./chunk-TTAPKUQV.js";
14
+ } from "./chunk-E2WEFZOR.js";
15
15
  import {
16
16
  getClient
17
- } from "./chunk-5XRKPKHJ.js";
17
+ } from "./chunk-5DCCKHDY.js";
18
18
 
19
19
  // src/lib/messaging.ts
20
20
  import crypto from "crypto";
@@ -98,6 +98,12 @@ StartLimitBurst=20
98
98
  [Service]
99
99
  Type=simple
100
100
  ExecStart=${opts.nodePath} --max-old-space-size=${opts.heapCapMB} --expose-gc ${opts.daemonPath}
101
+ # EXE_DAEMON_SUPERVISED marks the daemon systemd starts itself. A daemon WITHOUT
102
+ # this marker knows it is a non-supervisor starter and hands the start back to
103
+ # systemd (bug ad8886b8) instead of winning the singleton lock \u2014 which is what
104
+ # makes the supervised instance defer and exit 0, after which Restart=on-failure
105
+ # never applies to a process that was never started.
106
+ Environment=EXE_DAEMON_SUPERVISED=1
101
107
  Restart=on-failure
102
108
  # RestartSec is LOAD-BEARING for the watchdog's successor-adoption logic: the
103
109
  # watchdog waits SUCCESSOR_WAIT_MS (15s, src/bin/exe-watchdog.ts) for systemd to
@@ -2,16 +2,16 @@ import {
2
2
  InviteError,
3
3
  resolveAuth,
4
4
  resolveEndpoint
5
- } from "./chunk-KOYGRP2L.js";
6
- import {
7
- asOrgBillablePlan
8
- } from "./chunk-X2X3IGZU.js";
5
+ } from "./chunk-5N4SG5NB.js";
9
6
  import {
10
7
  resolvePartnerIdentities
11
8
  } from "./chunk-PVEM537A.js";
12
9
  import {
13
10
  orgKeyFingerprintDisplay
14
11
  } from "./chunk-H37FSTF2.js";
12
+ import {
13
+ asOrgBillablePlan
14
+ } from "./chunk-X2X3IGZU.js";
15
15
  import {
16
16
  ed25519PrivateKeyFromSeed
17
17
  } from "./chunk-MPVXHYD5.js";
@@ -3,7 +3,7 @@ import {
3
3
  getGitRootAsync,
4
4
  isWorktreeDirty,
5
5
  isWorktreeDirtyAsync
6
- } from "./chunk-6FMS6DGO.js";
6
+ } from "./chunk-JTWTBX2M.js";
7
7
 
8
8
  // src/lib/worktree-sweep.ts
9
9
  import { execFile } from "child_process";