@askexenow/exe-os 0.9.365 → 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 (357) 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-MGF7J3HB.js → active-agent-6WNC756A.js} +3 -3
  8. package/dist/{active-agent-C6DPH43L.js → active-agent-RDTJGZHP.js} +3 -3
  9. package/dist/{agent-defs-generator-X7TVMPVB.js → agent-defs-generator-M5AUL3WM.js} +2 -2
  10. package/dist/agent-heartbeat-CQPGJIFF.js +13 -0
  11. package/dist/{agent-loop-E7RZCFDB.js → agent-loop-FOK2IRZQ.js} +1 -1
  12. package/dist/{agentic-ontology-CARDCG37.js → agentic-ontology-ZJBRYETW.js} +1 -1
  13. package/dist/{backfill-metadata-ANCJA6LA.js → backfill-metadata-Q4X23XLR.js} +5 -5
  14. package/dist/{backup-verify-F7BHVEF7.js → backup-verify-UKLX6IEK.js} +1 -1
  15. package/dist/behavior-injection-C3HEKSJY.js +60 -0
  16. package/dist/{behaviors-R2IE3PEN.js → behaviors-UCMAREU3.js} +8 -6
  17. package/dist/bin/agentic-ontology-backfill.js +6 -6
  18. package/dist/bin/agentic-reflection-backfill.js +7 -7
  19. package/dist/bin/agentic-semantic-label.js +6 -6
  20. package/dist/bin/backfill-conversations.js +5 -5
  21. package/dist/bin/backfill-responses.js +5 -5
  22. package/dist/bin/backfill-vectors.js +6 -6
  23. package/dist/bin/bulk-sync-postgres.js +10 -10
  24. package/dist/bin/cc-doctor.js +5 -5
  25. package/dist/bin/cleanup-stale-review-tasks.js +15 -14
  26. package/dist/bin/cli.js +20 -20
  27. package/dist/bin/deferred-daemon-restart.js +88 -83
  28. package/dist/bin/exe-agent-config.js +2 -2
  29. package/dist/bin/exe-agent.js +252 -14
  30. package/dist/bin/exe-assign.js +6 -6
  31. package/dist/bin/exe-boot.js +33 -31
  32. package/dist/bin/exe-call.js +4 -4
  33. package/dist/bin/exe-cloud.js +11 -11
  34. package/dist/bin/exe-config-dump.js +2 -2
  35. package/dist/bin/exe-dispatch.js +16 -15
  36. package/dist/bin/exe-doctor.js +6 -6
  37. package/dist/bin/exe-export-behaviors.js +10 -8
  38. package/dist/bin/exe-forget.js +7 -7
  39. package/dist/bin/exe-gateway.js +7 -7
  40. package/dist/bin/exe-healthcheck.js +5 -5
  41. package/dist/bin/exe-heartbeat.js +18 -17
  42. package/dist/bin/exe-kill.js +19 -18
  43. package/dist/bin/exe-launch-agent.js +25 -23
  44. package/dist/bin/exe-mcp.js +3 -3
  45. package/dist/bin/exe-memory-reads.js +5 -5
  46. package/dist/bin/exe-new-employee.js +8 -8
  47. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  48. package/dist/bin/exe-pending-messages.js +16 -15
  49. package/dist/bin/exe-pending-notifications.js +15 -14
  50. package/dist/bin/exe-pending-reviews.js +15 -14
  51. package/dist/bin/exe-rename.js +4 -4
  52. package/dist/bin/exe-review.js +18 -17
  53. package/dist/bin/exe-search.js +6 -6
  54. package/dist/bin/exe-session-cleanup.js +20 -18
  55. package/dist/bin/exe-settings.js +10 -10
  56. package/dist/bin/exe-start-codex.js +81 -19
  57. package/dist/bin/exe-start-opencode.js +11 -9
  58. package/dist/bin/exe-status.js +17 -16
  59. package/dist/bin/exe-support.js +3 -3
  60. package/dist/bin/exe-team.js +4 -4
  61. package/dist/bin/exe-verify-running-images.js +123 -4
  62. package/dist/bin/exe-watchdog.js +44 -3
  63. package/dist/bin/git-sweep.js +25 -15
  64. package/dist/bin/graph-backfill.js +7 -7
  65. package/dist/bin/graph-export.js +6 -6
  66. package/dist/bin/import-history.js +10 -10
  67. package/dist/bin/install.js +90 -85
  68. package/dist/bin/intercom-check.js +4 -4
  69. package/dist/bin/mcp-sessions.js +2 -2
  70. package/dist/bin/orchestration-metrics.js +4 -4
  71. package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
  72. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
  73. package/dist/bin/reconcile-backlog.js +47 -6
  74. package/dist/bin/registry-proxy.js +1 -1
  75. package/dist/bin/scan-tasks.js +15 -14
  76. package/dist/bin/setup.js +1 -1
  77. package/dist/bin/shard-migrate.js +5 -5
  78. package/dist/bin/stack-update.js +35 -6
  79. package/dist/bin/verify-stack.js +11 -1
  80. package/dist/bin/vps-health-gate.js +1 -1
  81. package/dist/{boot-generation-X45BSVZY.js → boot-generation-7H7Y4KC2.js} +3 -3
  82. package/dist/{boot-review-sections-OBVRXXSF.js → boot-review-sections-4AGCECCP.js} +14 -13
  83. package/dist/build-manifest.json +910 -845
  84. package/dist/{capability-cards-57FURUMR.js → capability-cards-6KAC5D2Z.js} +2 -2
  85. package/dist/{capacity-monitor-QEL62JDO.js → capacity-monitor-J2Y4SFLA.js} +16 -15
  86. package/dist/{catchup-brief-PMXTCASA.js → catchup-brief-F2HKF2CU.js} +19 -18
  87. package/dist/{chunk-5CBGH6RA.js → chunk-2AS6FG6C.js} +3 -3
  88. package/dist/{chunk-TO6TB75E.js → chunk-2UBMXN4D.js} +2 -2
  89. package/dist/{chunk-J6I7X272.js → chunk-2UGU3V63.js} +1 -1
  90. package/dist/{chunk-45EQTS7B.js → chunk-34BMZTWV.js} +1 -1
  91. package/dist/{chunk-JYFYIGYK.js → chunk-4DGIOK6T.js} +1 -1
  92. package/dist/{chunk-T6S45OLV.js → chunk-4GVJIMMK.js} +12 -6
  93. package/dist/{chunk-IXEFO6HD.js → chunk-4L732DE5.js} +3 -3
  94. package/dist/{chunk-MXEIZUXG.js → chunk-4RRMZJLG.js} +1 -1
  95. package/dist/{chunk-3JNVB5LG.js → chunk-5IVLOOJR.js} +1 -1
  96. package/dist/chunk-5YKNEL3W.js +356 -0
  97. package/dist/{chunk-EMZHB767.js → chunk-6EXOW5ZA.js} +9 -9
  98. package/dist/{chunk-6Q263OZE.js → chunk-6P7DVFKA.js} +1 -1
  99. package/dist/{chunk-ZDUO6QBH.js → chunk-6UZ3DEQI.js} +1 -1
  100. package/dist/{chunk-DJK45U7B.js → chunk-72JZQ7EV.js} +1 -1
  101. package/dist/{chunk-22YQBVMO.js → chunk-72QUZX6J.js} +4 -4
  102. package/dist/{chunk-DYWGIPVP.js → chunk-AAL6CDMQ.js} +7 -7
  103. package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
  104. package/dist/{chunk-EJ4522YM.js → chunk-AJGX4Z34.js} +1 -1
  105. package/dist/{chunk-M7EES2KM.js → chunk-BEPO36MW.js} +3 -3
  106. package/dist/{chunk-WR75WUEP.js → chunk-BFL3UB77.js} +1 -1
  107. package/dist/{chunk-NV6A5HDN.js → chunk-BFPQXPN3.js} +1 -1
  108. package/dist/{chunk-VGE6IHZB.js → chunk-BJKC6ZJU.js} +110 -86
  109. package/dist/{chunk-R7RM766N.js → chunk-BLNSUBP3.js} +3 -3
  110. package/dist/{chunk-52TIQJEQ.js → chunk-BNDHQGOY.js} +1 -1
  111. package/dist/{chunk-QYJANQWC.js → chunk-BPQWRR4H.js} +2 -2
  112. package/dist/{chunk-ANPE3TT3.js → chunk-BTGR55GX.js} +3 -3
  113. package/dist/chunk-BTSWFMEH.js +14 -0
  114. package/dist/{chunk-OPNROU5B.js → chunk-C4IJ5IS5.js} +1 -1
  115. package/dist/{chunk-BEHLIRRJ.js → chunk-C5FOA5GO.js} +14 -3
  116. package/dist/{chunk-EHHMNKOA.js → chunk-CSBD7QLZ.js} +1 -1
  117. package/dist/{chunk-EKVTRI3N.js → chunk-CU2OUUSV.js} +27 -6
  118. package/dist/{chunk-P47MPWNU.js → chunk-CXHRNESJ.js} +1 -1
  119. package/dist/{chunk-F2S3M5MB.js → chunk-DRMGPZSC.js} +2 -2
  120. package/dist/{chunk-KRUYQFSH.js → chunk-DYPKSVB7.js} +5 -5
  121. package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
  122. package/dist/{chunk-ODBRU6BF.js → chunk-EDB3LXBQ.js} +1542 -984
  123. package/dist/{chunk-IIZITKBV.js → chunk-EDRXCUEP.js} +4 -4
  124. package/dist/{chunk-4QKKLK3C.js → chunk-ELY5WBZX.js} +10 -10
  125. package/dist/{chunk-MPQXQ5IE.js → chunk-EZUSIF66.js} +1 -1
  126. package/dist/{chunk-DEFSN2FQ.js → chunk-FHYX64H3.js} +3 -3
  127. package/dist/{chunk-YMJOLEPE.js → chunk-FSALI4B7.js} +4 -4
  128. package/dist/{chunk-6GQYPJPG.js → chunk-FWKTZURC.js} +8 -8
  129. package/dist/{chunk-EWZYFG5Q.js → chunk-FWVPGXHD.js} +5 -5
  130. package/dist/{chunk-DWAQOEXL.js → chunk-GILYOIMP.js} +2 -2
  131. package/dist/{chunk-RZIKSE6N.js → chunk-GP3J3AOT.js} +4 -4
  132. package/dist/{chunk-LHOKWZKL.js → chunk-H6J7N3BZ.js} +1 -1
  133. package/dist/{chunk-EVPBYX2Z.js → chunk-HQSUXAB4.js} +1 -1
  134. package/dist/{chunk-IM2I7OOS.js → chunk-HTLJHSN4.js} +1 -1
  135. package/dist/{chunk-JUOZLXLH.js → chunk-HXV3DGL7.js} +1 -1
  136. package/dist/{chunk-OFGFRT5J.js → chunk-IEE6X6R2.js} +1 -1
  137. package/dist/{chunk-SP37DONS.js → chunk-IKRIUEIF.js} +1 -1
  138. package/dist/{chunk-RHX6MNWY.js → chunk-J44774XC.js} +1 -1
  139. package/dist/{chunk-7C4FUNVO.js → chunk-J77ZIMH5.js} +5 -5
  140. package/dist/{chunk-NO3M2AFM.js → chunk-JDPV7W2L.js} +1 -1
  141. package/dist/{chunk-FXPAUDCZ.js → chunk-KGPWS4KE.js} +1 -1
  142. package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
  143. package/dist/{chunk-ZEKCHV43.js → chunk-KWQ7RHYD.js} +4 -4
  144. package/dist/{chunk-QFIVK3G5.js → chunk-KYVIV54Y.js} +1 -1
  145. package/dist/chunk-KZXMP6JG.js +319 -0
  146. package/dist/{chunk-AGQAGOQN.js → chunk-LJWCK2DR.js} +9 -9
  147. package/dist/{chunk-O2MEBF23.js → chunk-MCXYNYZI.js} +30 -2
  148. package/dist/{chunk-L2VZBPJJ.js → chunk-MWEIBVBS.js} +13 -1
  149. package/dist/{chunk-RVWALVDT.js → chunk-MXP27XTP.js} +2 -2
  150. package/dist/{chunk-DQ5KHWFD.js → chunk-N3CGSO3S.js} +1 -1
  151. package/dist/{chunk-ZNEBZCZR.js → chunk-NNXPIJRB.js} +1 -1
  152. package/dist/{chunk-MZJBUAC3.js → chunk-NWE3CFX7.js} +4 -4
  153. package/dist/{chunk-BRLS5OLZ.js → chunk-OBESOWFJ.js} +35 -4
  154. package/dist/{chunk-5KLQCGI5.js → chunk-OL3QP3AU.js} +171 -1
  155. package/dist/{chunk-ESTR7QUP.js → chunk-P3PAD6AA.js} +1 -1
  156. package/dist/{chunk-2FYIMTQE.js → chunk-PGF5I7EV.js} +2 -2
  157. package/dist/{agent-heartbeat-I5UPGXAU.js → chunk-PHUHIVD5.js} +4 -5
  158. package/dist/{chunk-C3UAQ3JG.js → chunk-PVWM2WMM.js} +1 -1
  159. package/dist/{chunk-EWCEUO65.js → chunk-QCSAYYL6.js} +1 -1
  160. package/dist/{chunk-SBAU735L.js → chunk-QE5KWKVU.js} +27 -6
  161. package/dist/{chunk-LZKYVMBY.js → chunk-QKZEUCTS.js} +2 -2
  162. package/dist/{chunk-POPRJKAY.js → chunk-QS6HI4B6.js} +6 -0
  163. package/dist/{chunk-JNVQGLPX.js → chunk-QT6CNCXO.js} +3 -3
  164. package/dist/{chunk-J4U5Z7VX.js → chunk-QZYYCPNL.js} +4 -4
  165. package/dist/{chunk-RD4E5G3B.js → chunk-RDIZSXXD.js} +1 -1
  166. package/dist/{chunk-2RQT7TED.js → chunk-RFWOXKVL.js} +55 -3
  167. package/dist/chunk-S2YTU74T.js +76 -0
  168. package/dist/{chunk-X6A2VWVJ.js → chunk-TP7BFVQP.js} +2 -2
  169. package/dist/{chunk-CKG6CVKI.js → chunk-TTJWPV4G.js} +1 -1
  170. package/dist/chunk-TX3Q2GIL.js +97 -0
  171. package/dist/{chunk-Q7BU5Q6I.js → chunk-UATT6BNO.js} +3 -3
  172. package/dist/{chunk-PPGPCWRC.js → chunk-UVM5ZXO2.js} +4 -4
  173. package/dist/{chunk-BATQKSLI.js → chunk-V7E37GE3.js} +2 -2
  174. package/dist/{chunk-U373MEF5.js → chunk-VD3CVNGB.js} +3 -3
  175. package/dist/{chunk-ZSZPMUNX.js → chunk-VIW62NN5.js} +126 -7
  176. package/dist/{chunk-EPNWEOOE.js → chunk-VTOO5UB3.js} +10 -10
  177. package/dist/chunk-W5MCOZTW.js +304 -0
  178. package/dist/{chunk-2ESB5SDP.js → chunk-WJOJWRN5.js} +139 -33
  179. package/dist/{chunk-CPILYY2K.js → chunk-X4MRVNR3.js} +1 -1
  180. package/dist/{chunk-EPDNWY5P.js → chunk-XBTQPQN7.js} +1 -1
  181. package/dist/{behavior-injection-XQ4B7DCF.js → chunk-XOTDAKJL.js} +24 -38
  182. package/dist/{chunk-ORNCMRIX.js → chunk-Y4AYNLXU.js} +31 -37
  183. package/dist/{chunk-WYLFDSIE.js → chunk-YGPJ7VSJ.js} +48 -10
  184. package/dist/{chunk-ZRKEUCUZ.js → chunk-ZR3VMM3X.js} +12 -10
  185. package/dist/{chunk-JITNFE4W.js → chunk-ZWONQU5S.js} +1 -1
  186. package/dist/{cleanup-graph-garbage-CAA625RJ.js → cleanup-graph-garbage-FBSQI33K.js} +8 -8
  187. package/dist/{cloud-sync-command-DBB7WRHL.js → cloud-sync-command-NHGVDTLM.js} +11 -3
  188. package/dist/{cloud-sync-db-init-V7IB23W5.js → cloud-sync-db-init-I75VOTXC.js} +1 -1
  189. package/dist/{cloud-sync-shutdown-2D3B73CJ.js → cloud-sync-shutdown-JGOFGGET.js} +2 -2
  190. package/dist/{cloud-sync-state-5DFKLWNB.js → cloud-sync-state-QF3TMMJ4.js} +3 -1
  191. package/dist/{co-activation-JVN7EBS6.js → co-activation-AE5L2SJV.js} +2 -2
  192. package/dist/{co-occurrence-526PTFGT.js → co-occurrence-O65D4SCN.js} +6 -6
  193. package/dist/codex-consolidation-PPXNBXCV.js +96 -0
  194. package/dist/{conversation-entity-extractor-JO56DB2E.js → conversation-entity-extractor-LFIDTD2O.js} +4 -4
  195. package/dist/{crdt-sync-LIJLZKFE.js → crdt-sync-NRWDBRSE.js} +1 -1
  196. package/dist/{crm-webhook-55F7Y6D2.js → crm-webhook-XOQGX6DV.js} +2 -2
  197. package/dist/{cto-delegation-gate-QIYV4KFO.js → cto-delegation-gate-ZGOAXQI2.js} +14 -13
  198. package/dist/{daemon-orchestration-Q3GJA2JJ.js → daemon-orchestration-ZMQWYYDT.js} +19 -18
  199. package/dist/dispatch-intent-journal-VV6HMZC4.js +17 -0
  200. package/dist/{doc-graph-extractor-P46R4QME.js → doc-graph-extractor-6C5JBKPP.js} +6 -6
  201. package/dist/{documents-7KFEREWO.js → documents-FKSQGSO4.js} +6 -6
  202. package/dist/{dreaming-JMUXBAPU.js → dreaming-IB3H6NDZ.js} +18 -17
  203. package/dist/{employee-boot-brief-HN63D2BY.js → employee-boot-brief-5YRTUEJH.js} +25 -21
  204. package/dist/{exe-drift-7J7GX7DP.js → exe-drift-CUWUYX3O.js} +3 -3
  205. package/dist/{exe-export-KJ7B2OBU.js → exe-export-XWENYJNM.js} +7 -7
  206. package/dist/{exe-import-HPZDWKGE.js → exe-import-OWOMRF2S.js} +7 -7
  207. package/dist/{exe-key-2PREP464.js → exe-key-P356FGK5.js} +88 -83
  208. package/dist/{exe-org-VEIISATF.js → exe-org-UKIVF3KE.js} +8 -8
  209. package/dist/{exe-snapshot-JXQFLUKA.js → exe-snapshot-AZI2WW5Y.js} +19 -18
  210. package/dist/{fast-db-init-SCXJXOYX.js → fast-db-init-FPAPF3GB.js} +1 -1
  211. package/dist/{founder-context-U2SZPLYV.js → founder-context-QTQ6V3B5.js} +2 -2
  212. package/dist/gateway/index.js +11 -11
  213. package/dist/{git-staleness-S4NDR7NX.js → git-staleness-6ACWLV5Q.js} +2 -2
  214. package/dist/{global-procedures-ZOFTOXIR.js → global-procedures-RXIKBVLZ.js} +3 -3
  215. package/dist/{graph-auto-extract-CLVTSUSB.js → graph-auto-extract-Q4A4QMOF.js} +6 -6
  216. package/dist/{graph-rag-LSJLWGXV.js → graph-rag-RLRQMY54.js} +4 -4
  217. package/dist/{hook-integrity-SGTKBL6W.js → hook-integrity-3X2JRLBM.js} +1 -1
  218. package/dist/{hook-prefetch-BDSLB6F4.js → hook-prefetch-DU44UZQP.js} +15 -14
  219. package/dist/hooks/bug-report-worker.js +19 -18
  220. package/dist/hooks/codex-stop-task-finalizer.js +20 -19
  221. package/dist/hooks/commit-complete.js +35 -19
  222. package/dist/hooks/error-recall.js +8 -8
  223. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  224. package/dist/hooks/ingest-worker.js +2 -2
  225. package/dist/hooks/ingest.js +11 -11
  226. package/dist/hooks/instructions-loaded.js +5 -5
  227. package/dist/hooks/manifest.json +20 -20
  228. package/dist/hooks/notification.js +5 -5
  229. package/dist/hooks/post-compact.js +4 -4
  230. package/dist/hooks/post-tool-combined.js +12 -12
  231. package/dist/hooks/pre-compact.js +18 -17
  232. package/dist/hooks/pre-tool-use.js +86 -34
  233. package/dist/hooks/prompt-submit.js +36 -31
  234. package/dist/hooks/session-end.js +114 -100
  235. package/dist/hooks/session-start.js +16 -16
  236. package/dist/hooks/stop.js +83 -20
  237. package/dist/hooks/subagent-stop.js +19 -18
  238. package/dist/hooks/summary-worker.js +23 -22
  239. package/dist/index.js +27 -26
  240. package/dist/{installer-RC2JCKSE.js → installer-B7QYQE56.js} +8 -6
  241. package/dist/{installer-EA7T3PBD.js → installer-EXR25DDG.js} +6 -6
  242. package/dist/{installer-KCEM4RCG.js → installer-TOPA7673.js} +152 -8
  243. package/dist/{intercom-queue-6DZPHHQ2.js → intercom-queue-BZ4M3L4S.js} +14 -13
  244. package/dist/lib/cloud-sync.js +10 -10
  245. package/dist/lib/consolidation.js +8 -8
  246. package/dist/lib/database.js +2 -2
  247. package/dist/lib/db-backup.js +1 -1
  248. package/dist/lib/db-write-worker.js +3 -3
  249. package/dist/lib/db.js +2 -2
  250. package/dist/lib/delivery-truth.js +25 -0
  251. package/dist/lib/device-registry.js +1 -1
  252. package/dist/lib/employee-templates.js +4 -4
  253. package/dist/lib/employees.js +2 -2
  254. package/dist/lib/exe-daemon.js +185 -79
  255. package/dist/lib/hybrid-search.js +6 -6
  256. package/dist/lib/identity.js +2 -2
  257. package/dist/lib/license.js +2 -2
  258. package/dist/lib/messaging.js +15 -14
  259. package/dist/lib/registry-proxy.js +1 -1
  260. package/dist/lib/reminders.js +3 -3
  261. package/dist/lib/schedules.js +6 -6
  262. package/dist/lib/session-registry.js +4 -4
  263. package/dist/lib/skill-learning.js +7 -7
  264. package/dist/lib/status-brief.js +2 -1
  265. package/dist/lib/store.js +5 -5
  266. package/dist/lib/task-router.js +3 -3
  267. package/dist/lib/tasks.js +16 -15
  268. package/dist/lib/tmux-routing.js +14 -13
  269. package/dist/lib/token-spend.js +3 -3
  270. package/dist/{license-gate-HMSMUIAU.js → license-gate-YTIOLKVV.js} +3 -3
  271. package/dist/{license-sync-FBCMPC4J.js → license-sync-5VE5OSTV.js} +2 -2
  272. package/dist/mcp/register-tools.js +87 -82
  273. package/dist/mcp/server.js +90 -85
  274. package/dist/mcp/tools/complete-reminder.js +4 -4
  275. package/dist/mcp/tools/create-reminder.js +4 -4
  276. package/dist/mcp/tools/create-task.js +26 -23
  277. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  278. package/dist/mcp/tools/list-reminders.js +4 -4
  279. package/dist/mcp/tools/list-tasks.js +18 -17
  280. package/dist/mcp/tools/send-message.js +17 -16
  281. package/dist/mcp/tools/update-task.js +17 -16
  282. package/dist/{mcp-http-config-YKJN52HG.js → mcp-http-config-XUNRIGQH.js} +3 -3
  283. package/dist/{mcp-session-identity-QLUVYWPR.js → mcp-session-identity-4UIG7KLK.js} +14 -13
  284. package/dist/{memory-cards-K2OSX4AW.js → memory-cards-R74YU4CO.js} +5 -5
  285. package/dist/{memory-graph-extractor-YLTSKLSY.js → memory-graph-extractor-3B4QJUXI.js} +7 -7
  286. package/dist/{memory-poisoning-defense-IPO4ADRL.js → memory-poisoning-defense-OAKFL5O2.js} +2 -2
  287. package/dist/{memory-pressure-watchdog-ZI3TH2OF.js → memory-pressure-watchdog-FFC2CHFJ.js} +15 -14
  288. package/dist/{memory-reflection-ZKVRU3NT.js → memory-reflection-5IJ6RE2J.js} +2 -2
  289. package/dist/{notification-ledger-4REL6M3T.js → notification-ledger-P5XBUYKO.js} +17 -15
  290. package/dist/{notifications-UXJUAP3C.js → notifications-LLCCHRYV.js} +14 -13
  291. package/dist/{orchestration-events-GMRGGBMN.js → orchestration-events-VBGCIQSS.js} +3 -3
  292. package/dist/{orchestrator-5TV75HDJ.js → orchestrator-EB3SCTAJ.js} +16 -15
  293. package/dist/{org-brief-session-7AZZEO3F.js → org-brief-session-GDCDKBFF.js} +6 -6
  294. package/dist/{org-consent-policy-XT6UZENB.js → org-consent-policy-HCD42NBN.js} +2 -2
  295. package/dist/{org-partner-runtime-WLZAZJIY.js → org-partner-runtime-TPVKFR6E.js} +6 -6
  296. package/dist/{org-row-visibility-A5XM4MVO.js → org-row-visibility-ZZLOPZLH.js} +1 -1
  297. package/dist/{pipeline-router-UEVXDUHR.js → pipeline-router-3JTL2KF6.js} +3 -3
  298. package/dist/{plan-limits-QEP32X4W.js → plan-limits-MTHRP4WY.js} +5 -5
  299. package/dist/{projection-worker-GMRC6SBH.js → projection-worker-FLASNERC.js} +2 -2
  300. package/dist/{prospective-memory-QLHSAPSG.js → prospective-memory-HI3WUY4U.js} +2 -2
  301. package/dist/{push-notifications-GKRPXOGI.js → push-notifications-DFSR6P7V.js} +15 -14
  302. package/dist/{reranker-GB4VEMUV.js → reranker-XHBKUDGG.js} +1 -1
  303. package/dist/{retrieval-health-QIBPBGN6.js → retrieval-health-NYKSDS6M.js} +1 -1
  304. package/dist/{review-polling-MU47NQ2N.js → review-polling-UAV6DZIZ.js} +15 -14
  305. package/dist/runtime/index.js +23 -22
  306. package/dist/{session-events-YMQ3VGBJ.js → session-events-YCYPLWPG.js} +15 -14
  307. package/dist/{session-kill-telemetry-VGPKE57M.js → session-kill-telemetry-UEJTHL65.js} +15 -14
  308. package/dist/{session-scope-P46KAHXQ.js → session-scope-LXDW7LJJ.js} +14 -13
  309. package/dist/{setup-wizard-BRNHSJ4U.js → setup-wizard-OVJQYUUL.js} +1 -1
  310. package/dist/{skill-refinement-NLYDSFEH.js → skill-refinement-EWRJID73.js} +3 -3
  311. package/dist/{stack-promote-NHFTNIM2.js → stack-promote-4IJM36OG.js} +5 -4
  312. package/dist/{stack-release-AQVKZUS7.js → stack-release-BAIRY65H.js} +5 -4
  313. package/dist/{stack-update-LLX5KT7G.js → stack-update-VDM5WXRS.js} +10 -3
  314. package/dist/stalled-dispatch-escalation-MHLYH2PT.js +80 -0
  315. package/dist/{steward-gate-JKHYFAHA.js → steward-gate-Y4N2XY3R.js} +3 -3
  316. package/dist/{subagent-brief-injection-VDVOHDOU.js → subagent-brief-injection-7A6JEVTP.js} +22 -20
  317. package/dist/{support-inbox-S6YO5YZU.js → support-inbox-LT4WJECQ.js} +4 -3
  318. package/dist/{task-enforcement-LXW45H5Z.js → task-enforcement-WOIZ5TLK.js} +15 -14
  319. package/dist/{task-request-inbox-UCSKDC3R.js → task-request-inbox-D65BPUKZ.js} +2 -2
  320. package/dist/{task-scope-GDLFE26E.js → task-scope-PQ67YRWP.js} +18 -16
  321. package/dist/{tasks-crud-W7VGWRUV.js → tasks-crud-TJNMUKKH.js} +14 -13
  322. package/dist/{tasks-notify-CT7NWCS4.js → tasks-notify-7UVC3VGI.js} +15 -14
  323. package/dist/{tasks-review-WCSKOUFW.js → tasks-review-WDWYISZ2.js} +14 -13
  324. package/dist/{telemetry-upload-FK5WKXVB.js → telemetry-upload-6LBGRJUE.js} +7 -7
  325. package/dist/{token-budget-GBNGSIU3.js → token-budget-XO5XW6DL.js} +3 -3
  326. package/dist/{tool-gates-3IC7DK4R.js → tool-gates-2OZY3GZM.js} +1 -1
  327. package/dist/{tool-gates-GXSYBVK4.js → tool-gates-7PLIOLAL.js} +1 -1
  328. package/dist/{tool-telemetry-VKMRS6MP.js → tool-telemetry-ZL6TTZWG.js} +1 -1
  329. package/dist/tui/App.js +23 -22
  330. package/dist/{tui-data-FTPV2XBQ.js → tui-data-UK7ZPKN4.js} +14 -13
  331. package/dist/{update-support-J6UWPUOC.js → update-support-BGL5KAZO.js} +12 -12
  332. package/dist/work-claims-XZL2DKQ3.js +53 -0
  333. package/dist/{work-state-heartbeat-4LDF6DSM.js → work-state-heartbeat-267YQ75U.js} +1 -1
  334. package/dist/{worker-gate-35VZINZG.js → worker-gate-RUM6MLIR.js} +1 -1
  335. package/dist/{workflow-engine-4DA6RSHI.js → workflow-engine-YQHGHKSJ.js} +2 -2
  336. package/dist/{worktree-H3YFJ3NU.js → worktree-3FO6EQ4G.js} +4 -4
  337. package/dist/{worktree-sweep-4EDLLQ2E.js → worktree-sweep-X7MUEEQS.js} +5 -5
  338. package/package.json +7 -2
  339. package/release-notes.json +93 -81
  340. /package/dist/{chunk-7Y6AQWVT.js → chunk-4AN2PWUK.js} +0 -0
  341. /package/dist/{chunk-7DMCAGSC.js → chunk-5U4UJGTW.js} +0 -0
  342. /package/dist/{chunk-3THNS2T7.js → chunk-EYIX6JU7.js} +0 -0
  343. /package/dist/{chunk-QYECRPGD.js → chunk-FDA45THL.js} +0 -0
  344. /package/dist/{chunk-MBBFL2SP.js → chunk-GIO4VU4J.js} +0 -0
  345. /package/dist/{chunk-LKYGSJ2E.js → chunk-I76LRCNA.js} +0 -0
  346. /package/dist/{chunk-UY6HRDB2.js → chunk-LBWEAQ6Z.js} +0 -0
  347. /package/dist/{chunk-VS4LPG66.js → chunk-MQ5RUHNZ.js} +0 -0
  348. /package/dist/{chunk-G2EAYH4U.js → chunk-PFCE4AXQ.js} +0 -0
  349. /package/dist/{chunk-3NBWARKC.js → chunk-SXAERZL2.js} +0 -0
  350. /package/dist/{chunk-BY7WWPRM.js → chunk-TKTQRSSD.js} +0 -0
  351. /package/dist/{chunk-JRPYLUXH.js → chunk-U2AZUMBZ.js} +0 -0
  352. /package/dist/{chunk-CMBF5WCL.js → chunk-W6FVADZS.js} +0 -0
  353. /package/dist/{core-memory-CMPPHJN5.js → core-memory-W5ZHHBRR.js} +0 -0
  354. /package/dist/{memory-isolation-ZB5S5HCO.js → memory-isolation-ZE7EDBO4.js} +0 -0
  355. /package/dist/{oauth-server-NP7KGF7N.js → oauth-server-3HG62YYJ.js} +0 -0
  356. /package/dist/{project-boot-LEZSK3W7.js → project-boot-3OAWKYLO.js} +0 -0
  357. /package/dist/{wiki-acl-5DKOWOIH.js → wiki-acl-FQV4E6M4.js} +0 -0
@@ -1,30 +1,31 @@
1
1
  import {
2
2
  createTask
3
- } from "../chunk-AGQAGOQN.js";
4
- import "../chunk-MZJBUAC3.js";
3
+ } from "../chunk-LJWCK2DR.js";
4
+ import "../chunk-NWE3CFX7.js";
5
5
  import {
6
6
  fastDbInit
7
- } from "../chunk-LKYGSJ2E.js";
7
+ } from "../chunk-I76LRCNA.js";
8
8
  import "../chunk-76CJBM36.js";
9
- import "../chunk-ORNCMRIX.js";
10
- import "../chunk-ESTR7QUP.js";
11
- import "../chunk-FXPAUDCZ.js";
12
- import "../chunk-QFIVK3G5.js";
9
+ import "../chunk-Y4AYNLXU.js";
10
+ import "../chunk-BTSWFMEH.js";
11
+ import "../chunk-P3PAD6AA.js";
12
+ import "../chunk-KGPWS4KE.js";
13
+ import "../chunk-KYVIV54Y.js";
13
14
  import "../chunk-WT4RI36X.js";
14
- import "../chunk-C3UAQ3JG.js";
15
15
  import "../chunk-KI5PFRG6.js";
16
+ import "../chunk-QAEWWYHL.js";
16
17
  import "../chunk-EIKATSE4.js";
17
18
  import "../chunk-E23LNUWJ.js";
18
- import "../chunk-QAEWWYHL.js";
19
- import "../chunk-EHHMNKOA.js";
19
+ import "../chunk-CSBD7QLZ.js";
20
20
  import "../chunk-GBNB4EWD.js";
21
21
  import "../chunk-UXLO7VHX.js";
22
22
  import "../chunk-DSOQUQTV.js";
23
- import "../chunk-WR75WUEP.js";
23
+ import "../chunk-BFL3UB77.js";
24
24
  import "../chunk-AJIXH5JF.js";
25
+ import "../chunk-PVWM2WMM.js";
25
26
  import "../chunk-XTWHNLGD.js";
26
27
  import "../chunk-AM7S2TY6.js";
27
- import "../chunk-2FYIMTQE.js";
28
+ import "../chunk-PGF5I7EV.js";
28
29
  import "../chunk-CVYC6DUW.js";
29
30
  import "../chunk-ZVTKWWLV.js";
30
31
  import "../chunk-CDUB5Q6J.js";
@@ -38,20 +39,20 @@ import "../chunk-GJV3WDWM.js";
38
39
  import "../chunk-MP2AFCGL.js";
39
40
  import {
40
41
  getClient
41
- } from "../chunk-BRLS5OLZ.js";
42
+ } from "../chunk-OBESOWFJ.js";
42
43
  import "../chunk-TKDITWDN.js";
43
44
  import "../chunk-BBMTVAE3.js";
44
45
  import "../chunk-5YEUPUV4.js";
45
- import "../chunk-NO3M2AFM.js";
46
+ import "../chunk-JDPV7W2L.js";
46
47
  import "../chunk-YYB5PMTK.js";
47
48
  import "../chunk-NJFJWQNN.js";
48
49
  import "../chunk-V3W3SATA.js";
49
50
  import "../chunk-JY5GAZYC.js";
50
51
  import "../chunk-FXU7JOXK.js";
51
52
  import "../chunk-WNBZJSQT.js";
52
- import "../chunk-ZDUO6QBH.js";
53
+ import "../chunk-6UZ3DEQI.js";
53
54
  import "../chunk-A7XLR3K7.js";
54
- import "../chunk-VS4LPG66.js";
55
+ import "../chunk-MQ5RUHNZ.js";
55
56
  import "../chunk-QILQ5FCG.js";
56
57
  import "../chunk-ARX6TAGN.js";
57
58
  import "../chunk-QMSEL5YS.js";
@@ -170,13 +171,13 @@ process.on("unhandledRejection", (err) => {
170
171
  process.exit(1);
171
172
  });
172
173
  try {
173
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
174
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
174
175
  const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
175
176
  if (!check.verified) {
176
177
  process.stderr.write(`[SECURITY] Hook tamper detected: bug-report-worker.js \u2014 ${check.reason} \u2014 refusing to run
177
178
  `);
178
179
  try {
179
- const { pushNotifyAsync } = await import("../push-notifications-GKRPXOGI.js");
180
+ const { pushNotifyAsync } = await import("../push-notifications-DFSR6P7V.js");
180
181
  pushNotifyAsync({
181
182
  event: "security_alert",
182
183
  title: "Hook tamper detected",
@@ -1,36 +1,37 @@
1
1
  import {
2
2
  buildSubagentCheckpointEvent,
3
3
  recordSubagentCheckpointEventBestEffort
4
- } from "../chunk-JITNFE4W.js";
4
+ } from "../chunk-ZWONQU5S.js";
5
5
  import {
6
6
  updateTask
7
- } from "../chunk-AGQAGOQN.js";
8
- import "../chunk-MZJBUAC3.js";
7
+ } from "../chunk-LJWCK2DR.js";
8
+ import "../chunk-NWE3CFX7.js";
9
9
  import {
10
10
  fastDbInit
11
- } from "../chunk-LKYGSJ2E.js";
11
+ } from "../chunk-I76LRCNA.js";
12
12
  import "../chunk-76CJBM36.js";
13
13
  import {
14
14
  listTasks
15
- } from "../chunk-ORNCMRIX.js";
16
- import "../chunk-ESTR7QUP.js";
17
- import "../chunk-FXPAUDCZ.js";
18
- import "../chunk-QFIVK3G5.js";
15
+ } from "../chunk-Y4AYNLXU.js";
16
+ import "../chunk-BTSWFMEH.js";
17
+ import "../chunk-P3PAD6AA.js";
18
+ import "../chunk-KGPWS4KE.js";
19
+ import "../chunk-KYVIV54Y.js";
19
20
  import "../chunk-WT4RI36X.js";
20
- import "../chunk-C3UAQ3JG.js";
21
21
  import "../chunk-KI5PFRG6.js";
22
+ import "../chunk-QAEWWYHL.js";
22
23
  import "../chunk-EIKATSE4.js";
23
24
  import "../chunk-E23LNUWJ.js";
24
- import "../chunk-QAEWWYHL.js";
25
- import "../chunk-EHHMNKOA.js";
25
+ import "../chunk-CSBD7QLZ.js";
26
26
  import "../chunk-GBNB4EWD.js";
27
27
  import "../chunk-UXLO7VHX.js";
28
28
  import "../chunk-DSOQUQTV.js";
29
- import "../chunk-WR75WUEP.js";
29
+ import "../chunk-BFL3UB77.js";
30
30
  import "../chunk-AJIXH5JF.js";
31
+ import "../chunk-PVWM2WMM.js";
31
32
  import "../chunk-XTWHNLGD.js";
32
33
  import "../chunk-AM7S2TY6.js";
33
- import "../chunk-2FYIMTQE.js";
34
+ import "../chunk-PGF5I7EV.js";
34
35
  import "../chunk-CVYC6DUW.js";
35
36
  import "../chunk-ZVTKWWLV.js";
36
37
  import "../chunk-CDUB5Q6J.js";
@@ -44,20 +45,20 @@ import "../chunk-GJV3WDWM.js";
44
45
  import "../chunk-MP2AFCGL.js";
45
46
  import {
46
47
  canCoordinate
47
- } from "../chunk-BRLS5OLZ.js";
48
+ } from "../chunk-OBESOWFJ.js";
48
49
  import "../chunk-TKDITWDN.js";
49
50
  import "../chunk-BBMTVAE3.js";
50
51
  import "../chunk-5YEUPUV4.js";
51
- import "../chunk-NO3M2AFM.js";
52
+ import "../chunk-JDPV7W2L.js";
52
53
  import "../chunk-YYB5PMTK.js";
53
54
  import "../chunk-NJFJWQNN.js";
54
55
  import "../chunk-V3W3SATA.js";
55
56
  import "../chunk-JY5GAZYC.js";
56
57
  import "../chunk-FXU7JOXK.js";
57
58
  import "../chunk-WNBZJSQT.js";
58
- import "../chunk-ZDUO6QBH.js";
59
+ import "../chunk-6UZ3DEQI.js";
59
60
  import "../chunk-A7XLR3K7.js";
60
- import "../chunk-VS4LPG66.js";
61
+ import "../chunk-MQ5RUHNZ.js";
61
62
  import "../chunk-QILQ5FCG.js";
62
63
  import "../chunk-ARX6TAGN.js";
63
64
  import "../chunk-QMSEL5YS.js";
@@ -162,13 +163,13 @@ process.on("unhandledRejection", (err) => {
162
163
  process.exit(1);
163
164
  });
164
165
  try {
165
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
166
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
166
167
  const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
167
168
  if (!check.verified) {
168
169
  process.stderr.write(`[SECURITY] Hook tamper detected: codex-stop-task-finalizer.js \u2014 ${check.reason} \u2014 refusing to run
169
170
  `);
170
171
  try {
171
- const { pushNotifyAsync } = await import("../push-notifications-GKRPXOGI.js");
172
+ const { pushNotifyAsync } = await import("../push-notifications-DFSR6P7V.js");
172
173
  pushNotifyAsync({
173
174
  event: "security_alert",
174
175
  title: "Hook tamper detected",
@@ -1,26 +1,31 @@
1
1
  import {
2
+ assessAutomatedTaskCompletion,
2
3
  extractKeywords,
3
4
  matchScore
4
- } from "../chunk-2RQT7TED.js";
5
- import "../chunk-ORNCMRIX.js";
6
- import "../chunk-ESTR7QUP.js";
7
- import "../chunk-FXPAUDCZ.js";
8
- import "../chunk-QFIVK3G5.js";
5
+ } from "../chunk-RFWOXKVL.js";
6
+ import {
7
+ measureCommitSubstance
8
+ } from "../chunk-KZXMP6JG.js";
9
+ import "../chunk-Y4AYNLXU.js";
10
+ import "../chunk-BTSWFMEH.js";
11
+ import "../chunk-P3PAD6AA.js";
12
+ import "../chunk-KGPWS4KE.js";
13
+ import "../chunk-KYVIV54Y.js";
9
14
  import "../chunk-WT4RI36X.js";
10
- import "../chunk-C3UAQ3JG.js";
11
15
  import "../chunk-KI5PFRG6.js";
16
+ import "../chunk-QAEWWYHL.js";
12
17
  import "../chunk-EIKATSE4.js";
13
18
  import "../chunk-E23LNUWJ.js";
14
- import "../chunk-QAEWWYHL.js";
15
- import "../chunk-EHHMNKOA.js";
19
+ import "../chunk-CSBD7QLZ.js";
16
20
  import "../chunk-GBNB4EWD.js";
17
21
  import "../chunk-UXLO7VHX.js";
18
22
  import "../chunk-DSOQUQTV.js";
19
- import "../chunk-WR75WUEP.js";
23
+ import "../chunk-BFL3UB77.js";
20
24
  import "../chunk-AJIXH5JF.js";
25
+ import "../chunk-PVWM2WMM.js";
21
26
  import "../chunk-XTWHNLGD.js";
22
27
  import "../chunk-AM7S2TY6.js";
23
- import "../chunk-2FYIMTQE.js";
28
+ import "../chunk-PGF5I7EV.js";
24
29
  import "../chunk-CVYC6DUW.js";
25
30
  import "../chunk-ZVTKWWLV.js";
26
31
  import "../chunk-CDUB5Q6J.js";
@@ -32,20 +37,20 @@ import "../chunk-W2IRQJ6R.js";
32
37
  import "../chunk-HYZV25LY.js";
33
38
  import "../chunk-GJV3WDWM.js";
34
39
  import "../chunk-MP2AFCGL.js";
35
- import "../chunk-BRLS5OLZ.js";
40
+ import "../chunk-OBESOWFJ.js";
36
41
  import "../chunk-TKDITWDN.js";
37
42
  import "../chunk-BBMTVAE3.js";
38
43
  import "../chunk-5YEUPUV4.js";
39
- import "../chunk-NO3M2AFM.js";
44
+ import "../chunk-JDPV7W2L.js";
40
45
  import "../chunk-YYB5PMTK.js";
41
46
  import "../chunk-NJFJWQNN.js";
42
47
  import "../chunk-V3W3SATA.js";
43
48
  import "../chunk-JY5GAZYC.js";
44
49
  import "../chunk-FXU7JOXK.js";
45
50
  import "../chunk-WNBZJSQT.js";
46
- import "../chunk-ZDUO6QBH.js";
51
+ import "../chunk-6UZ3DEQI.js";
47
52
  import "../chunk-A7XLR3K7.js";
48
- import "../chunk-VS4LPG66.js";
53
+ import "../chunk-MQ5RUHNZ.js";
49
54
  import "../chunk-QILQ5FCG.js";
50
55
  import "../chunk-ARX6TAGN.js";
51
56
  import "../chunk-QMSEL5YS.js";
@@ -64,7 +69,7 @@ process.on("unhandledRejection", (err) => {
64
69
  process.exit(1);
65
70
  });
66
71
  try {
67
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
72
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
68
73
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
69
74
  } catch (err) {
70
75
  const code = err?.code;
@@ -79,6 +84,7 @@ try {
79
84
  }
80
85
  }
81
86
  var AUTO_CLOSE_THRESHOLD = 0.8;
87
+ var COMPLETION_STATUS = "needs_review";
82
88
  function parseGitCommitOutput(output) {
83
89
  const match = output.match(/\[(\S+)\s+([a-f0-9]{7,40})\]\s+(.+)/);
84
90
  if (!match) return null;
@@ -121,13 +127,13 @@ async function main() {
121
127
  const changedFiles = getChangedFiles(commitHash);
122
128
  let client;
123
129
  try {
124
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
130
+ const { fastDbInit } = await import("../fast-db-init-FPAPF3GB.js");
125
131
  client = await fastDbInit({ caller: "hook" });
126
132
  } catch {
127
133
  process.stderr.write("[commit-complete] DB init failed \u2014 skipping\n");
128
134
  return;
129
135
  }
130
- const { listTasks, updateTaskStatus } = await import("../tasks-crud-W7VGWRUV.js");
136
+ const { listTasks, updateTaskStatus } = await import("../tasks-crud-TJNMUKKH.js");
131
137
  const tasks = await listTasks({
132
138
  assignedTo: agentId,
133
139
  status: "in_progress",
@@ -158,6 +164,15 @@ async function main() {
158
164
  });
159
165
  }
160
166
  const commitDate = getCommitDate(commitHash);
167
+ const substance = measureCommitSubstance(commitHash, process.cwd());
168
+ const gate = assessAutomatedTaskCompletion({ status: COMPLETION_STATUS, substance });
169
+ if (!gate.ok || !substance) {
170
+ process.stderr.write(
171
+ `[commit-complete] Commit ${commitHash} rejected by verification gate (${gate.code}): ${gate.message} \u2014 no task touched
172
+ `
173
+ );
174
+ return;
175
+ }
161
176
  for (const task of tasksWithContext) {
162
177
  const score = matchScore(task, commitMessage, changedFiles);
163
178
  if (score >= AUTO_CLOSE_THRESHOLD) {
@@ -174,8 +189,9 @@ async function main() {
174
189
  try {
175
190
  await updateTaskStatus({
176
191
  taskId: task.id,
177
- status: "done",
178
- result: `Auto-completed via commit ${commitHash}: ${commitMessage}`
192
+ status: COMPLETION_STATUS,
193
+ result: `Auto-completed via commit ${commitHash}: ${commitMessage}
194
+ Verification: ${substance.substantive_added} substantive added / ${substance.deleted} deleted across ${substance.source_files} production source file(s). Keyword match only (score ${score.toFixed(2)}) \u2014 a reviewer, not this hook, closes the task.`
179
195
  });
180
196
  process.stderr.write(
181
197
  `[commit-complete] Task ${task.id} auto-closed by commit ${commitHash} (score: ${score.toFixed(2)})
@@ -8,19 +8,19 @@ import {
8
8
  import {
9
9
  hybridSearch,
10
10
  lightweightSearch
11
- } from "../chunk-EMZHB767.js";
11
+ } from "../chunk-6EXOW5ZA.js";
12
12
  import "../chunk-VMHZSZQJ.js";
13
13
  import {
14
14
  buildSystemStateMemoryTypeExclusion,
15
15
  initStore
16
- } from "../chunk-4QKKLK3C.js";
17
- import "../chunk-QYECRPGD.js";
16
+ } from "../chunk-ELY5WBZX.js";
17
+ import "../chunk-FDA45THL.js";
18
18
  import "../chunk-CHCA3ZM2.js";
19
19
  import "../chunk-OTVEIJUQ.js";
20
- import "../chunk-7DMCAGSC.js";
20
+ import "../chunk-5U4UJGTW.js";
21
21
  import {
22
22
  getActiveAgent
23
- } from "../chunk-ZNEBZCZR.js";
23
+ } from "../chunk-NNXPIJRB.js";
24
24
  import "../chunk-2ADYTOHQ.js";
25
25
  import "../chunk-5MOYSU5A.js";
26
26
  import "../chunk-4QCFFW2H.js";
@@ -31,11 +31,11 @@ import "../chunk-GJV3WDWM.js";
31
31
  import "../chunk-MP2AFCGL.js";
32
32
  import {
33
33
  getClient
34
- } from "../chunk-BRLS5OLZ.js";
34
+ } from "../chunk-OBESOWFJ.js";
35
35
  import "../chunk-TKDITWDN.js";
36
36
  import "../chunk-BBMTVAE3.js";
37
37
  import "../chunk-5YEUPUV4.js";
38
- import "../chunk-NO3M2AFM.js";
38
+ import "../chunk-JDPV7W2L.js";
39
39
  import "../chunk-YYB5PMTK.js";
40
40
  import "../chunk-NJFJWQNN.js";
41
41
  import "../chunk-V3W3SATA.js";
@@ -60,7 +60,7 @@ process.on("unhandledRejection", (err) => {
60
60
  process.exit(1);
61
61
  });
62
62
  try {
63
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
63
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
64
64
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
65
65
  } catch (err) {
66
66
  const code = err?.code;
@@ -1,17 +1,17 @@
1
1
  import "../chunk-SH45SJQW.js";
2
2
  import {
3
3
  getActiveAgent
4
- } from "../chunk-ZNEBZCZR.js";
4
+ } from "../chunk-NNXPIJRB.js";
5
5
  import "../chunk-2ADYTOHQ.js";
6
6
  import "../chunk-CVYC6DUW.js";
7
7
  import "../chunk-GJV3WDWM.js";
8
8
  import {
9
9
  canCoordinate
10
- } from "../chunk-BRLS5OLZ.js";
10
+ } from "../chunk-OBESOWFJ.js";
11
11
  import "../chunk-TKDITWDN.js";
12
12
  import "../chunk-BBMTVAE3.js";
13
13
  import "../chunk-5YEUPUV4.js";
14
- import "../chunk-NO3M2AFM.js";
14
+ import "../chunk-JDPV7W2L.js";
15
15
  import "../chunk-YYB5PMTK.js";
16
16
  import "../chunk-NJFJWQNN.js";
17
17
  import "../chunk-V3W3SATA.js";
@@ -35,7 +35,7 @@ process.on("unhandledRejection", (err) => {
35
35
  process.exit(1);
36
36
  });
37
37
  try {
38
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
38
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
39
39
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
40
40
  } catch (err) {
41
41
  const code = err?.code;
@@ -34,13 +34,13 @@ process.on("unhandledRejection", (err) => {
34
34
  process.exit(1);
35
35
  });
36
36
  try {
37
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
37
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
38
38
  const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
39
39
  if (!check.verified) {
40
40
  process.stderr.write(`[SECURITY] Hook tamper detected: ingest-worker.js \u2014 ${check.reason} \u2014 refusing to run
41
41
  `);
42
42
  try {
43
- const { pushNotifyAsync } = await import("../push-notifications-GKRPXOGI.js");
43
+ const { pushNotifyAsync } = await import("../push-notifications-DFSR6P7V.js");
44
44
  pushNotifyAsync({
45
45
  event: "security_alert",
46
46
  title: "Hook tamper detected",
@@ -9,10 +9,10 @@ import {
9
9
  import {
10
10
  registerWorkerPid,
11
11
  tryAcquireWorkerSlot
12
- } from "../chunk-MPQXQ5IE.js";
12
+ } from "../chunk-EZUSIF66.js";
13
13
  import {
14
14
  getActiveAgent
15
- } from "../chunk-ZNEBZCZR.js";
15
+ } from "../chunk-NNXPIJRB.js";
16
16
  import "../chunk-2ADYTOHQ.js";
17
17
  import {
18
18
  getSessionKey
@@ -21,11 +21,11 @@ import "../chunk-HYZV25LY.js";
21
21
  import "../chunk-GJV3WDWM.js";
22
22
  import {
23
23
  getCoordinatorName
24
- } from "../chunk-BRLS5OLZ.js";
24
+ } from "../chunk-OBESOWFJ.js";
25
25
  import "../chunk-TKDITWDN.js";
26
26
  import "../chunk-BBMTVAE3.js";
27
27
  import "../chunk-5YEUPUV4.js";
28
- import "../chunk-NO3M2AFM.js";
28
+ import "../chunk-JDPV7W2L.js";
29
29
  import "../chunk-YYB5PMTK.js";
30
30
  import "../chunk-NJFJWQNN.js";
31
31
  import "../chunk-V3W3SATA.js";
@@ -53,13 +53,13 @@ process.on("unhandledRejection", (err) => {
53
53
  process.exit(1);
54
54
  });
55
55
  try {
56
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
56
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
57
57
  const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
58
58
  if (!check.verified) {
59
59
  process.stderr.write(`[SECURITY] Hook tamper detected: ingest.js \u2014 ${check.reason} \u2014 neutralizing (skipping ingestion, non-blocking)
60
60
  `);
61
61
  try {
62
- const { pushNotifyAsync } = await import("../push-notifications-GKRPXOGI.js");
62
+ const { pushNotifyAsync } = await import("../push-notifications-DFSR6P7V.js");
63
63
  pushNotifyAsync({
64
64
  event: "security_alert",
65
65
  title: "Hook tamper detected",
@@ -158,7 +158,7 @@ process.stdin.on("end", async () => {
158
158
  if (isDaemonReady()) {
159
159
  const { initStore } = await import("../lib/store.js");
160
160
  await initStore({ lightweight: true });
161
- const { recordFileRead } = await import("../git-staleness-S4NDR7NX.js");
161
+ const { recordFileRead } = await import("../git-staleness-6ACWLV5Q.js");
162
162
  await recordFileRead(
163
163
  data.session_id,
164
164
  agent.agentId,
@@ -239,7 +239,7 @@ Your output files must start with: exe/output/${agent.agentId}-`
239
239
  );
240
240
  if (existsSync(summaryWorkerPath) && tryAcquireWorkerSlot()) {
241
241
  try {
242
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
242
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
243
243
  const c = verifyHookIntegrity(summaryWorkerPath);
244
244
  if (!c.verified) {
245
245
  process.stderr.write(`[SECURITY] Hook tamper: summary-worker.js \u2014 ${c.reason}
@@ -292,7 +292,7 @@ Your output files must start with: exe/output/${agent.agentId}-`
292
292
  if (cpDaemonReady()) {
293
293
  const { initStore: cpInit } = await import("../lib/store.js");
294
294
  await cpInit();
295
- const { writeCheckpoint } = await import("../tasks-crud-W7VGWRUV.js");
295
+ const { writeCheckpoint } = await import("../tasks-crud-TJNMUKKH.js");
296
296
  await writeCheckpoint({
297
297
  taskId: taskData.taskId,
298
298
  step: `auto_checkpoint_${counter.total}`,
@@ -330,7 +330,7 @@ WARNING: You are writing code without running the build pipeline. If this task a
330
330
  );
331
331
  if (existsSync(commitWorkerPath) && tryAcquireWorkerSlot()) {
332
332
  try {
333
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
333
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
334
334
  const c = verifyHookIntegrity(commitWorkerPath);
335
335
  if (!c.verified) {
336
336
  process.stderr.write(`[SECURITY] Hook tamper: commit-complete.js \u2014 ${c.reason}
@@ -441,7 +441,7 @@ WARNING: You are writing code without running the build pipeline. If this task a
441
441
  process.exit(0);
442
442
  }
443
443
  try {
444
- const { verifyHookIntegrity } = await import("../hook-integrity-SGTKBL6W.js");
444
+ const { verifyHookIntegrity } = await import("../hook-integrity-3X2JRLBM.js");
445
445
  const check = verifyHookIntegrity(workerPath);
446
446
  if (!check.verified) {
447
447
  process.stderr.write(`[SECURITY] Hook tamper detected: ingest-worker.js \u2014 ${check.reason}
@@ -1,7 +1,7 @@
1
1
  import "../chunk-SH45SJQW.js";
2
2
  import {
3
3
  getActiveAgent
4
- } from "../chunk-ZNEBZCZR.js";
4
+ } from "../chunk-NNXPIJRB.js";
5
5
  import "../chunk-2ADYTOHQ.js";
6
6
  import "../chunk-CVYC6DUW.js";
7
7
  import {
@@ -10,11 +10,11 @@ import {
10
10
  import "../chunk-GJV3WDWM.js";
11
11
  import {
12
12
  getIdentityInjection
13
- } from "../chunk-BRLS5OLZ.js";
13
+ } from "../chunk-OBESOWFJ.js";
14
14
  import "../chunk-TKDITWDN.js";
15
15
  import "../chunk-BBMTVAE3.js";
16
16
  import "../chunk-5YEUPUV4.js";
17
- import "../chunk-NO3M2AFM.js";
17
+ import "../chunk-JDPV7W2L.js";
18
18
  import "../chunk-YYB5PMTK.js";
19
19
  import "../chunk-NJFJWQNN.js";
20
20
  import "../chunk-V3W3SATA.js";
@@ -35,7 +35,7 @@ process.on("unhandledRejection", (err) => {
35
35
  process.exit(1);
36
36
  });
37
37
  try {
38
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
38
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
39
39
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
40
40
  } catch (err) {
41
41
  const code = err?.code;
@@ -82,7 +82,7 @@ process.stdin.on("end", async () => {
82
82
  pass = false;
83
83
  }
84
84
  try {
85
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
85
+ const { fastDbInit } = await import("../fast-db-init-FPAPF3GB.js");
86
86
  await fastDbInit({ caller: "hook" });
87
87
  const { getClient } = await import("../lib/database.js");
88
88
  const client = getClient();
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-08-13T09:09:34.679Z",
3
+ "generatedAt": "2026-08-13T18:16:31.862Z",
4
4
  "hashes": {
5
- "bug-report-worker.js": "4d05f681c770f911e9297fc47ad52fc8347df52ebba296554b860cc31d60e8fc",
6
- "codex-stop-task-finalizer.js": "68f634a07626fc43553b1b0aca7aac4939bf4454f0033d11d3e25b74c38e059b",
7
- "commit-complete.js": "9f6e3865938b57403f7ed9a723bbb1d1b9f82ba8e2b9f3ff7c1dc096d7099773",
8
- "error-recall.js": "0fed03f77f9c2147733702d306680a5d1f4c3f03a1da69a8749535f7e0b74468",
9
- "exe-heartbeat-hook.js": "10ec7e4cdfa9c59519d42d0e4d979d01b67926636cefca8aca3341abd135580e",
10
- "ingest-worker.js": "a89095476919e2feb7e334e2322afe6e769d484d052e20f5fafd4c6fc60b7c53",
11
- "ingest.js": "1b3bb104438b0c69cec45a65a5c25b56ea0bd96cedcb977b5adc8390a61863aa",
12
- "instructions-loaded.js": "e8e8c4c5574ecbf2a73c90e3d3c6aff259801ec3edeb9018fddf2505848a6dc5",
13
- "notification.js": "f16ac3eefa35084077de113543b3a81bd2bf817d5f3f85307d11f264581d9749",
14
- "post-compact.js": "9ba1ca48e9d8bfc0855af7e14a7bda445605ecc51a5269426fcab6152ba83a50",
15
- "post-tool-combined.js": "dc79c5417a677c4f4bf204bddd0bdbe69ae39b67fb428014fa65b3ae154efb11",
16
- "pre-compact.js": "c880136fa99249187c2fe2e24263bd8817e3aab63b4c1613b8b5311d77a6ef2a",
17
- "pre-tool-use.js": "6e3b27526c99eae3ec4da5362c9f219999003ec4123ca3a3f5f91305470cf741",
18
- "prompt-submit.js": "8c116ef4d551dedcfb3ec6bdc71435018e37736dc629abe9c62cd7d6c888bbe5",
19
- "session-end.js": "e4ec5fd49b2800113db31fdd7f576069d2c169a7996272a7554952acd53ce82d",
20
- "session-start.js": "a06d693a710c64f80d51756664d1459dba17e961752b8c03b0b4e0852a4cc291",
21
- "stop.js": "0cc96d1c6d2ada371263cf74eb161e96e2d339439a672e60003b130137a938d9",
22
- "subagent-stop.js": "741fc9d5dfc308230cdfe06a94488f357faa62dc04865309e3f0a822253ce2a3",
23
- "summary-worker.js": "8b218afa71f54f25044b3a8f3e4ae709c0be09f3144a9e59dad29604cdc367e4"
5
+ "bug-report-worker.js": "499d4e411f2725bffb988d7a4b9166ab03241425a33fabc727440a8f04ada0b7",
6
+ "codex-stop-task-finalizer.js": "d8037dcea9319c7a33cddaa8bdd89f27477555de572411178f54c462316c97ad",
7
+ "commit-complete.js": "4c0c1df9f11b7e2c1f5273ff84dc21f018b39c2565b230d1a2f03650c84b9295",
8
+ "error-recall.js": "a85cfd5d74fa53dd05e8ed786d3865972271c577d59ec24077e9f95368b96182",
9
+ "exe-heartbeat-hook.js": "e9b42bd438f76d2a5baf8e023dcec5c2a50d9bf7fc080224fca27ed045396634",
10
+ "ingest-worker.js": "be8dcc7ba337fdc327ad0198b074f148fb21031eaf1084d860897ff2a75caad9",
11
+ "ingest.js": "f69bf6f1b184c9e267d0eba27d57fa38a45b4141276aca745f8b51689fa961da",
12
+ "instructions-loaded.js": "aecf517ceed98fe25619522c1f8225fd8cb1de46c8677b4551f97421d3aa4a98",
13
+ "notification.js": "afc0e7823367e68886a67824ee05b6eb678dfd033a506c8d219fbb0ed5851bb2",
14
+ "post-compact.js": "41f4a2412bc3e7614c7ac11cff75921efa6464144c25f7b1560b40ff508d66e8",
15
+ "post-tool-combined.js": "2a7b1bb5400793b89515fba0a4aa45fe21dbf200170fb3e03cd70f3bda3c5f63",
16
+ "pre-compact.js": "42529a9b7d9ac998646f81906445ceea871f8f4331544db7860bceddc55d3fbe",
17
+ "pre-tool-use.js": "ab24ea4bb54c2ffe569266af7555a4e23f52dda991ad2fe5db2dd16214acfd9b",
18
+ "prompt-submit.js": "f550559714ea6b96ac891aba33662ec369364cffbbbd443668eb9acbe0abaac8",
19
+ "session-end.js": "16a01763a7736db23b7e9a00e24a3f6897d809ec741aedffabbb8d31a24f9bb1",
20
+ "session-start.js": "dd2b7721a972f29485b5a7ee9fde2d53b0f2bf375687ba3cc6d70d4dd7efc817",
21
+ "stop.js": "782ecfda71d12403c8ef623e4277801e12486e718175ab7f8f6c54ce6b381199",
22
+ "subagent-stop.js": "fa17ad25f633b1528750a67f132c7cf457f14d5ab0af82b4b9f2a641cd2a73f5",
23
+ "summary-worker.js": "bdd1114c7f872f2e40270a761179140e566d94b31f8b2500572d878226f9c5af"
24
24
  }
25
25
  }
@@ -1,15 +1,15 @@
1
1
  import "../chunk-SH45SJQW.js";
2
2
  import {
3
3
  getActiveAgent
4
- } from "../chunk-ZNEBZCZR.js";
4
+ } from "../chunk-NNXPIJRB.js";
5
5
  import "../chunk-2ADYTOHQ.js";
6
6
  import "../chunk-CVYC6DUW.js";
7
7
  import "../chunk-GJV3WDWM.js";
8
- import "../chunk-BRLS5OLZ.js";
8
+ import "../chunk-OBESOWFJ.js";
9
9
  import "../chunk-TKDITWDN.js";
10
10
  import "../chunk-BBMTVAE3.js";
11
11
  import "../chunk-5YEUPUV4.js";
12
- import "../chunk-NO3M2AFM.js";
12
+ import "../chunk-JDPV7W2L.js";
13
13
  import "../chunk-YYB5PMTK.js";
14
14
  import "../chunk-NJFJWQNN.js";
15
15
  import "../chunk-V3W3SATA.js";
@@ -30,7 +30,7 @@ process.on("unhandledRejection", (err) => {
30
30
  process.exit(1);
31
31
  });
32
32
  try {
33
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
33
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
34
34
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
35
35
  } catch (err) {
36
36
  const code = err?.code;
@@ -66,7 +66,7 @@ process.stdin.on("end", async () => {
66
66
  process.exit(0);
67
67
  }
68
68
  try {
69
- const { fastDbInit } = await import("../fast-db-init-SCXJXOYX.js");
69
+ const { fastDbInit } = await import("../fast-db-init-FPAPF3GB.js");
70
70
  await fastDbInit({ caller: "hook" });
71
71
  const { getClient } = await import("../lib/database.js");
72
72
  const { randomUUID } = await import("crypto");
@@ -1,15 +1,15 @@
1
1
  import "../chunk-SH45SJQW.js";
2
2
  import {
3
3
  getActiveAgent
4
- } from "../chunk-ZNEBZCZR.js";
4
+ } from "../chunk-NNXPIJRB.js";
5
5
  import "../chunk-2ADYTOHQ.js";
6
6
  import "../chunk-CVYC6DUW.js";
7
7
  import "../chunk-GJV3WDWM.js";
8
- import "../chunk-BRLS5OLZ.js";
8
+ import "../chunk-OBESOWFJ.js";
9
9
  import "../chunk-TKDITWDN.js";
10
10
  import "../chunk-BBMTVAE3.js";
11
11
  import "../chunk-5YEUPUV4.js";
12
- import "../chunk-NO3M2AFM.js";
12
+ import "../chunk-JDPV7W2L.js";
13
13
  import "../chunk-YYB5PMTK.js";
14
14
  import "../chunk-NJFJWQNN.js";
15
15
  import "../chunk-V3W3SATA.js";
@@ -30,7 +30,7 @@ process.on("unhandledRejection", (err) => {
30
30
  process.exit(1);
31
31
  });
32
32
  try {
33
- const { verifyOrBlock } = await import("../hook-integrity-SGTKBL6W.js");
33
+ const { verifyOrBlock } = await import("../hook-integrity-3X2JRLBM.js");
34
34
  if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
35
35
  } catch (err) {
36
36
  const code = err?.code;