@cleocode/cleo 2026.10.4 → 2026.10.5

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 (331) hide show
  1. package/README.md +7 -0
  2. package/dist/cli/{adapter-LVXHFBC4.js → adapter-OUQRSFZL.js} +10 -9
  3. package/dist/cli/{add-WUAV7LDT.js → add-4SRRJL4U.js} +18 -18
  4. package/dist/cli/{add-batch-U2DLKAQC.js → add-batch-TSWICA5J.js} +12 -11
  5. package/dist/cli/admin-L3F6CDYH.js +1428 -0
  6. package/dist/cli/{admin-I7BQYVZD.js → admin-YMU55YCU.js} +10 -9
  7. package/dist/cli/{adr-K2THMQBS.js → adr-XESRMFMP.js} +10 -9
  8. package/dist/cli/{agent-WQ6XY2DW.js → agent-TAFPIYUU.js} +66 -28
  9. package/dist/cli/{agent-outputs-BJIYLVTU.js → agent-outputs-HVJJIPS4.js} +3 -3
  10. package/dist/cli/{analyze-PGQZWGOC.js → analyze-YQ22QVGW.js} +10 -9
  11. package/dist/cli/{archive-5LZPF7C3.js → archive-W5XX6AH7.js} +10 -9
  12. package/dist/cli/{archive-stats-U6CYC6JM.js → archive-stats-HP2KPAJU.js} +10 -9
  13. package/dist/cli/attention-7JBDCRZX.js +124 -0
  14. package/dist/cli/{attention-SOURWCNI.js → attention-ZXZANHKC.js} +13 -12
  15. package/dist/cli/{audit-FO2Y4LH2.js → audit-ICA2SEFN.js} +2 -2
  16. package/dist/cli/{auth-ED7TAIXI.js → auth-DXIG5OG7.js} +5 -5
  17. package/dist/cli/{backfill-32TRAYRD.js → backfill-LBSYBWLR.js} +2 -2
  18. package/dist/cli/{backup-LEJMZJKL.js → backup-NUGBZ7NA.js} +17 -16
  19. package/dist/cli/{backup-inspect-6HPLUEI2.js → backup-inspect-PDRXI45A.js} +3 -3
  20. package/dist/cli/{backup-recover-2BTYBZU2.js → backup-recover-TVKAPERB.js} +3 -3
  21. package/dist/cli/{blockers-5JULUJTV.js → blockers-ZOPCGHDW.js} +10 -9
  22. package/dist/cli/{brain-273N3FW4.js → brain-EJOBKL4A.js} +9 -12
  23. package/dist/cli/{briefing-7H6OLECX.js → briefing-RDQJ6WHS.js} +11 -10
  24. package/dist/cli/{caamp-MFQVN6VU.js → caamp-Z3XPKEHB.js} +2 -2
  25. package/dist/cli/{cancel-SCMJTXZB.js → cancel-S7EHLCJN.js} +10 -9
  26. package/dist/cli/{cant-46XCUP4P.js → cant-CHNN6O57.js} +2 -2
  27. package/dist/cli/{changeset-32NMBGG2.js → changeset-RYPHPN2B.js} +4 -6
  28. package/dist/cli/check-C67YAU7W.js +759 -0
  29. package/dist/cli/{check-RWJLBCI2.js → check-DHMURGHC.js} +30 -13
  30. package/dist/cli/{checkpoint-37HMMKD7.js → checkpoint-UWDFOGYQ.js} +3 -3
  31. package/dist/cli/{chunk-NRKWJLMS.js → chunk-22YPFZYB.js} +2 -2
  32. package/dist/cli/{chunk-I3CRQQAD.js → chunk-2MGFDMDF.js} +84 -37
  33. package/dist/cli/{chunk-BCEXRFA2.js → chunk-4JYHPP4C.js} +2 -2
  34. package/dist/cli/{chunk-A2IUEIM5.js → chunk-4PEODTHY.js} +2 -2
  35. package/dist/cli/{chunk-3ZO3M37V.js → chunk-4RGSNUUP.js} +118 -170
  36. package/dist/cli/{chunk-AWCQH2W5.js → chunk-4VASFLUW.js} +2 -2
  37. package/dist/cli/{chunk-BPEVD37G.js → chunk-5PNI276X.js} +2 -2
  38. package/dist/cli/{chunk-OGV57L4J.js → chunk-6N6WGLXE.js} +6 -2
  39. package/dist/cli/{chunk-KHB52JNB.js → chunk-75UH3BLS.js} +4 -3
  40. package/dist/cli/{chunk-5ZFFUFH7.js → chunk-7ACK4EIN.js} +2 -2
  41. package/dist/cli/{chunk-MNJRLSEQ.js → chunk-7NMKLVMI.js} +2 -2
  42. package/dist/cli/{chunk-GFGLLDXX.js → chunk-7SINJXB6.js} +2 -2
  43. package/dist/cli/{chunk-KJDWWQFY.js → chunk-7UARFJYS.js} +3 -3
  44. package/dist/cli/{chunk-JNZJPIPJ.js → chunk-7ZYPQV4N.js} +3 -3
  45. package/dist/cli/{chunk-DVTPIZJM.js → chunk-AQCYT3L4.js} +2 -2
  46. package/dist/cli/{chunk-EGOTK2HA.js → chunk-BQK6XTOH.js} +2 -2
  47. package/dist/cli/{chunk-DYABOIHB.js → chunk-CAPAGD5E.js} +6 -4
  48. package/dist/cli/{chunk-ZZTHTMQP.js → chunk-CHGEDCKG.js} +3 -3
  49. package/dist/cli/{chunk-QPUY2HQZ.js → chunk-COXFJ3PT.js} +2 -2
  50. package/dist/cli/chunk-D7BAQNV2.js +55 -0
  51. package/dist/cli/{chunk-OPTEQKBB.js → chunk-EIUXVHNF.js} +3 -3
  52. package/dist/cli/{chunk-3PGH67MT.js → chunk-EUGB6P5V.js} +4 -6
  53. package/dist/cli/chunk-EW2CKNNZ.js +304 -0
  54. package/dist/cli/{chunk-2JIJD2I7.js → chunk-FSKN4DWC.js} +2 -2
  55. package/dist/cli/{chunk-NSHV2JNM.js → chunk-FVKLULL7.js} +2 -2
  56. package/dist/cli/{chunk-GH37QXW5.js → chunk-GAGUBU4Z.js} +2 -2
  57. package/dist/cli/{chunk-37NU2XDP.js → chunk-GKRFH2YG.js} +2 -2
  58. package/dist/cli/{chunk-ULN4OKQQ.js → chunk-GRU74UE4.js} +21 -10
  59. package/dist/cli/{chunk-LKNUA3SB.js → chunk-HFLLZE6A.js} +2 -2
  60. package/dist/cli/{chunk-YGKEECTI.js → chunk-HXRXT3XU.js} +2 -2
  61. package/dist/cli/{chunk-REUTEW3O.js → chunk-IIOGUY3B.js} +6 -6
  62. package/dist/cli/chunk-ILWWL462.js +60 -0
  63. package/dist/cli/{chunk-XRAX6XFP.js → chunk-J5USPJKZ.js} +2 -2
  64. package/dist/cli/{chunk-S24YI723.js → chunk-KEQS36GD.js} +4 -4
  65. package/dist/cli/chunk-L7ONYSV6.js +2497 -0
  66. package/dist/cli/chunk-NEFMQYLE.js +656 -0
  67. package/dist/cli/{chunk-QFFQSKRC.js → chunk-NU6CQQVB.js} +6 -2
  68. package/dist/cli/{chunk-5J2VH3BC.js → chunk-PN4WW5VX.js} +3 -3
  69. package/dist/cli/{chunk-AYA6F4ZT.js → chunk-PSJ33WVO.js} +3 -3
  70. package/dist/cli/{chunk-FORFDPP5.js → chunk-QJJWWCIC.js} +3 -3
  71. package/dist/cli/{chunk-ZBISIPCK.js → chunk-QKMBWYAS.js} +16 -1
  72. package/dist/cli/chunk-QWNKLLLG.js +84 -0
  73. package/dist/cli/{chunk-7INMKEAD.js → chunk-QWUFFDL3.js} +2 -2
  74. package/dist/cli/chunk-QY76BRUZ.js +35 -0
  75. package/dist/cli/chunk-R45KVF5Y.js +117 -0
  76. package/dist/cli/{chunk-W33Q3FBH.js → chunk-RRKP7HLU.js} +3 -3
  77. package/dist/cli/{chunk-YUZJI67I.js → chunk-T6GZJYL3.js} +2 -2
  78. package/dist/cli/{chunk-LWQBJQSE.js → chunk-TLQ37HRE.js} +3 -3
  79. package/dist/cli/chunk-TPTNEJZJ.js +52 -0
  80. package/dist/cli/chunk-TYC7G5LF.js +100 -0
  81. package/dist/cli/{chunk-J3ZFM3UQ.js → chunk-UWCZY52R.js} +25 -13
  82. package/dist/cli/{chunk-V5GBGOGM.js → chunk-VB3LDPL5.js} +2 -2
  83. package/dist/cli/chunk-WWCYZYSN.js +56 -0
  84. package/dist/cli/{chunk-EBRZ76HS.js → chunk-XA5WISNV.js} +4 -3
  85. package/dist/cli/chunk-XHRZ7OYZ.js +132 -0
  86. package/dist/cli/{chunk-EOPQFCSR.js → chunk-XLPMIGJJ.js} +6 -6
  87. package/dist/cli/{chunk-NWTATTEQ.js → chunk-ZMGDZMSJ.js} +2 -2
  88. package/dist/cli/{claim-KPENYHIQ.js → claim-IGOG2QOC.js} +10 -9
  89. package/dist/cli/{classify-DRVMCFQU.js → classify-MG4N7GMQ.js} +2 -2
  90. package/dist/cli/{cli-T3CR7J57.js → cli-A23Q335V.js} +10 -7
  91. package/dist/cli/{cloud-PPQ4O5TX.js → cloud-SILYJVKO.js} +194 -28
  92. package/dist/cli/{code-Z5CTMVTD.js → code-H2FQCVMW.js} +2 -2
  93. package/dist/cli/{complete-UBOCOBRB.js → complete-JLX7NBI4.js} +9 -8
  94. package/dist/cli/{complexity-BV2AGQRZ.js → complexity-OKV7PVZH.js} +10 -9
  95. package/dist/cli/{compliance-32PD5Y47.js → compliance-QMGZHJNQ.js} +10 -9
  96. package/dist/cli/{conduit-VDKCH33F.js → conduit-4H32UYEA.js} +10 -9
  97. package/dist/cli/conduit-EY54WTZA.js +535 -0
  98. package/dist/cli/{config-I72JAXK4.js → config-TDYOC7XO.js} +21 -18
  99. package/dist/cli/{consensus-LFILLSTK.js → consensus-4XCOFPPT.js} +10 -9
  100. package/dist/cli/{context-XUUVFVTP.js → context-FN4YTGHD.js} +12 -11
  101. package/dist/cli/{contribution-37NQ4N5R.js → contribution-7RWFBJLC.js} +10 -9
  102. package/dist/cli/{curator-TFDXU2EX.js → curator-HKZJCVRL.js} +2 -2
  103. package/dist/cli/{current-C4SN5BWV.js → current-B2NU7V3G.js} +10 -9
  104. package/dist/cli/{daemon-DV25JQ62.js → daemon-GBD4TVCD.js} +11 -10
  105. package/dist/cli/{dash-TFU4RLQW.js → dash-IGDANIE5.js} +10 -9
  106. package/dist/cli/{decide-5VPMNTSI.js → decide-26SXC2V6.js} +5 -8
  107. package/dist/cli/{decompose-KOYEZNJL.js → decompose-LQ76TEZG.js} +11 -10
  108. package/dist/cli/{decomposition-7OHUFIQN.js → decomposition-WFRWNUSJ.js} +10 -9
  109. package/dist/cli/{delete-Q7YCAFY5.js → delete-T5DUQHOX.js} +11 -10
  110. package/dist/cli/{deps-6UZKLDGJ.js → deps-UTPZJBXL.js} +17 -18
  111. package/dist/cli/{detect-FERY35UL.js → detect-FFZSMVDT.js} +10 -9
  112. package/dist/cli/{detect-drift-UL2JTPUK.js → detect-drift-TVCJOFYJ.js} +7 -7
  113. package/dist/cli/diagnostics-GN5CVD3N.js +93 -0
  114. package/dist/cli/{diagnostics-TI5QAZXR.js → diagnostics-ZNBKH6GX.js} +10 -9
  115. package/dist/cli/docs-CLQKEEUK.js +1710 -0
  116. package/dist/cli/{docs-QI2PRN3T.js → docs-DPPDFTWR.js} +45 -42
  117. package/dist/cli/{doctor-AX5TICQO.js → doctor-GPENOP4N.js} +79 -62
  118. package/dist/cli/{doctor-ac-bindings-YPMYHU2G.js → doctor-ac-bindings-S3IOEFP4.js} +3 -3
  119. package/dist/cli/{doctor-acceptance-drift-PYNFGMKB.js → doctor-acceptance-drift-VNFKPBSQ.js} +3 -3
  120. package/dist/cli/{doctor-credentials-UZRIADKM.js → doctor-credentials-A5H4JMTF.js} +3 -3
  121. package/dist/cli/{doctor-db-substrate-Q2TOYM2S.js → doctor-db-substrate-FGCISE4Z.js} +3 -3
  122. package/dist/cli/{doctor-dep-cycles-GCVYZY6F.js → doctor-dep-cycles-BKKKHHYG.js} +3 -3
  123. package/dist/cli/{doctor-exodus-RO5SUTC2.js → doctor-exodus-ND2DH2KP.js} +3 -3
  124. package/dist/cli/{doctor-exodus-residue-EM2AWQXP.js → doctor-exodus-residue-4EMRYMEQ.js} +3 -3
  125. package/dist/cli/{doctor-fk-check-Q3FOLECE.js → doctor-fk-check-VY3RIQV3.js} +3 -3
  126. package/dist/cli/{doctor-global-delivery-TNOAQ3NP.js → doctor-global-delivery-JN6IGHUL.js} +3 -3
  127. package/dist/cli/{doctor-heavy-command-hook-IO3QAQLG.js → doctor-heavy-command-hook-XSN44WXU.js} +3 -3
  128. package/dist/cli/{doctor-legacy-backups-O2YH5VLS.js → doctor-legacy-backups-QAG5NHYP.js} +3 -3
  129. package/dist/cli/{doctor-legacy-reaper-VSEJEIFA.js → doctor-legacy-reaper-CIRGFE6R.js} +3 -3
  130. package/dist/cli/{doctor-malformed-ids-LQ766V5K.js → doctor-malformed-ids-WL7HT4TB.js} +3 -3
  131. package/dist/cli/{doctor-manifest-rows-6FQDNHLH.js → doctor-manifest-rows-SMQCKJ2T.js} +3 -3
  132. package/dist/cli/{doctor-memory-guard-J4PSEKB5.js → doctor-memory-guard-LJDOJG76.js} +3 -3
  133. package/dist/cli/{doctor-migrations-ONOH56YM.js → doctor-migrations-ETQPFNUP.js} +3 -3
  134. package/dist/cli/{doctor-nexus-residency-FUQAX7PV.js → doctor-nexus-residency-A4JMKBEJ.js} +3 -3
  135. package/dist/cli/{doctor-project-identity-GUDK3HYX.js → doctor-project-identity-FFQJ5LNX.js} +3 -3
  136. package/dist/cli/{doctor-projects-7L3BNL4O.js → doctor-projects-MFUTKRHP.js} +3 -3
  137. package/dist/cli/{doctor-projects-registry-TEAVHFQU.js → doctor-projects-registry-76X6VTGM.js} +3 -3
  138. package/dist/cli/{doctor-release-readiness-IEGHX6SL.js → doctor-release-readiness-QJCOPFTK.js} +3 -3
  139. package/dist/cli/{doctor-repair-NBONOSZU.js → doctor-repair-AU76FIKY.js} +3 -3
  140. package/dist/cli/doctor-row-identity-KW6JYZQE.js +26 -0
  141. package/dist/cli/{doctor-skill-fixtures-7Y6L34A3.js → doctor-skill-fixtures-G3T7JUHS.js} +3 -3
  142. package/dist/cli/{doctor-split-brain-TUKIGVHF.js → doctor-split-brain-FUW6L7FS.js} +3 -3
  143. package/dist/cli/{doctor-superseded-store-BHZY2B2L.js → doctor-superseded-store-DUHGSBLC.js} +3 -3
  144. package/dist/cli/doctor-sync-journal-SXMUIKF7.js +26 -0
  145. package/dist/cli/doctor-sync-triggers-6WNJZFRM.js +26 -0
  146. package/dist/cli/{doctor-tool-locks-REQMIVYK.js → doctor-tool-locks-66LSLUBN.js} +3 -3
  147. package/dist/cli/{doctor-twin-collapse-222GOSPE.js → doctor-twin-collapse-AYBYBFC4.js} +3 -3
  148. package/dist/cli/{doctor-worktree-stores-J7TCRVJ3.js → doctor-worktree-stores-C5XEH5OG.js} +3 -3
  149. package/dist/cli/{done-V3AOO65B.js → done-R64XRZ32.js} +11 -10
  150. package/dist/cli/entities-3JIHDIOK.js +361 -0
  151. package/dist/cli/{event-EGNPGE5A.js → event-45KEWV5H.js} +2 -2
  152. package/dist/cli/{exists-H4SDCBPL.js → exists-BEDZS5RI.js} +3 -3
  153. package/dist/cli/{exodus-KALO3B3X.js → exodus-DUX62344.js} +3 -3
  154. package/dist/cli/{export-ROFOCG4M.js → export-C5PQIQ5O.js} +11 -10
  155. package/dist/cli/{export-tasks-US3WBIEQ.js → export-tasks-CUXDZPJB.js} +11 -10
  156. package/dist/cli/{federation-SUIB5QWT.js → federation-ESM35EGG.js} +3 -3
  157. package/dist/cli/{find-YICG4BG6.js → find-5EUZHHQJ.js} +13 -12
  158. package/dist/cli/focus-6AH4KLRO.js +368 -0
  159. package/dist/cli/{focus-TKCZPKOM.js → focus-ANKAIRO5.js} +10 -9
  160. package/dist/cli/{gateway-H4HFDC3E.js → gateway-2GW2KTK3.js} +2 -2
  161. package/dist/cli/{gc-5R2TUY5T.js → gc-CTOQLUSA.js} +2 -2
  162. package/dist/cli/{go-PRQFK5YG.js → go-YJPNHHYT.js} +6 -6
  163. package/dist/cli/{goal-7CZRMLHC.js → goal-4GW4G77D.js} +4 -3
  164. package/dist/cli/{grade-PY2YRPUS.js → grade-25WSZH4X.js} +10 -9
  165. package/dist/cli/{graph-XIXMCFKG.js → graph-JUO3TMF3.js} +11 -10
  166. package/dist/cli/{history-EIXADPAD.js → history-NACNUQTC.js} +10 -9
  167. package/dist/cli/{import-R73SO444.js → import-7ESGL5SS.js} +10 -9
  168. package/dist/cli/{import-tasks-O22FZJ4U.js → import-tasks-FLE2RPBR.js} +10 -9
  169. package/dist/cli/index.js +395 -238
  170. package/dist/cli/{init-IHEJDQWU.js → init-AN4DZ2XO.js} +5 -5
  171. package/dist/cli/{inject-LSRVWNCP.js → inject-HQWA5GWY.js} +10 -9
  172. package/dist/cli/{install-global-4AZUCH6U.js → install-global-YQV4W5OG.js} +2 -2
  173. package/dist/cli/intelligence-OFFNQGHE.js +238 -0
  174. package/dist/cli/{intelligence-2OSFOGD2.js → intelligence-QIC4SN4X.js} +10 -9
  175. package/dist/cli/{issue-IIWEDNFC.js → issue-P5RNMRDG.js} +10 -9
  176. package/dist/cli/{janitor-GPMC7VOR.js → janitor-ZNCFQ7E3.js} +2 -2
  177. package/dist/cli/{labels-5NPOIQXN.js → labels-ORBM3T57.js} +10 -9
  178. package/dist/cli/{lifecycle-4FFS2K2T.js → lifecycle-MHR22TVI.js} +13 -12
  179. package/dist/cli/{list-47KEUGPQ.js → list-LB6GCYYU.js} +14 -13
  180. package/dist/cli/llm-H7LZWQKX.js +130 -0
  181. package/dist/cli/{llm-G5B3I6GD.js → llm-OTJWPMGI.js} +14 -13
  182. package/dist/cli/{llm-cost-S7RS6BVA.js → llm-cost-MLMXEAR4.js} +3 -3
  183. package/dist/cli/{llm-stream-24A45NTS.js → llm-stream-AAEUNKRP.js} +3 -3
  184. package/dist/cli/{log-XF6H2XSD.js → log-W2A5M2NA.js} +10 -9
  185. package/dist/cli/{login-LBPLGHYG.js → login-SIXFFZSP.js} +6 -4
  186. package/dist/cli/{logout-SX4JSJIV.js → logout-G3KVLQQM.js} +5 -5
  187. package/dist/cli/{manifest-NMCW4PIW.js → manifest-G4T6EBSI.js} +10 -9
  188. package/dist/cli/{map-BU72KMGF.js → map-VU5M72TK.js} +10 -9
  189. package/dist/cli/{memory-UHYIVGVM.js → memory-2E27G2G5.js} +17 -21
  190. package/dist/cli/memory-IAEYKXG6.js +1895 -0
  191. package/dist/cli/{migrate-agents-v2-OO7OILZK.js → migrate-agents-v2-A52QIYNJ.js} +3 -3
  192. package/dist/cli/{migrate-claude-mem-EDNYUY3K.js → migrate-claude-mem-TPDW3R4Z.js} +17 -12
  193. package/dist/cli/{next-RZFRG5X7.js → next-SVH4LIDY.js} +10 -9
  194. package/dist/cli/nexus-FPQV2EAF.js +1059 -0
  195. package/dist/cli/{nexus-4S4Z5EVU.js → nexus-XSFXN5E6.js} +14 -13
  196. package/dist/cli/{ops-KR7AWCG3.js → ops-K6LHY5J6.js} +10 -9
  197. package/dist/cli/orchestrate-CZ2J6W3L.js +1650 -0
  198. package/dist/cli/{orchestrate-HOYZY3VX.js → orchestrate-HURUCQFT.js} +13 -11
  199. package/dist/cli/{otel-U7IIRBCT.js → otel-JCNPVJLZ.js} +2 -2
  200. package/dist/cli/{phase-NYZFHUE5.js → phase-VDFRASSO.js} +10 -9
  201. package/dist/cli/pipeline-TCZPOEDR.js +697 -0
  202. package/dist/cli/{pivot-FF2CVUZL.js → pivot-V5MSQZ7L.js} +10 -9
  203. package/dist/cli/{plan-3SL2NTRV.js → plan-SQUGCKSM.js} +10 -9
  204. package/dist/cli/{playbook-2FCBV7N3.js → playbook-L47GLDQD.js} +10 -9
  205. package/dist/cli/playbook-NJVO4R6P.js +33 -0
  206. package/dist/cli/{project-WDX2TGMC.js → project-YZEC7GYF.js} +6 -5
  207. package/dist/cli/{promote-YINYFBZY.js → promote-FINF4HVK.js} +10 -9
  208. package/dist/cli/provenance-3TUWVBFR.js +141 -0
  209. package/dist/cli/{provenance-C7AYD7WG.js → provenance-YZG33JGM.js} +10 -9
  210. package/dist/cli/{provider-QLJEDQBR.js → provider-23JVLLG3.js} +10 -9
  211. package/dist/cli/{reason-JF5BHBM5.js → reason-FHN54O7O.js} +10 -9
  212. package/dist/cli/{reconcile-NMISHDGX.js → reconcile-MOM5T4AX.js} +11 -10
  213. package/dist/cli/{refresh-memory-EY5YNICV.js → refresh-memory-3OSTRAVK.js} +2 -2
  214. package/dist/cli/{relates-R3ZPICAY.js → relates-6FWUFUS2.js} +10 -9
  215. package/dist/cli/release-G2DPSG5M.js +347 -0
  216. package/dist/cli/{release-4ZJTMUUT.js → release-URX6JHZ2.js} +10 -9
  217. package/dist/cli/{remote-QSONJDIK.js → remote-VIULU2T5.js} +3 -3
  218. package/dist/cli/{renderers-64OR3IWX.js → renderers-TGSW77J4.js} +2 -2
  219. package/dist/cli/{reorder-J3DOE7ST.js → reorder-UIPN6TQY.js} +10 -9
  220. package/dist/cli/{reparent-2OUMKEZX.js → reparent-ALOWWUIU.js} +10 -9
  221. package/dist/cli/{req-TZB7OFKO.js → req-RH2Y3H7A.js} +10 -9
  222. package/dist/cli/{research-MTD7EX45.js → research-G2Y72HRC.js} +10 -9
  223. package/dist/cli/{restore-VEUOX7NF.js → restore-VBR5XNML.js} +62 -15
  224. package/dist/cli/{revert-3YF2IL5G.js → revert-32LDNSGP.js} +2 -2
  225. package/dist/cli/{roadmap-7OOQLXKG.js → roadmap-LFU3AG7D.js} +10 -9
  226. package/dist/cli/{run-2U5NZV5Z.js → run-HXRILSR7.js} +40 -6
  227. package/dist/cli/{safestop-VR4VK56D.js → safestop-Z5UC7NGQ.js} +10 -9
  228. package/dist/cli/{saga-SEWPIOX2.js → saga-Y6FZS6AM.js} +12 -11
  229. package/dist/cli/{schema-C52WZ35V.js → schema-OOOKLWUE.js} +5 -5
  230. package/dist/cli/{self-update-GQIGUDPS.js → self-update-26SOTJMH.js} +3 -3
  231. package/dist/cli/{selfimprove-3Y5L4ECT.js → selfimprove-4SMOCLUV.js} +10 -9
  232. package/dist/cli/selfimprove-EB4RQLP4.js +139 -0
  233. package/dist/cli/sentient-QPETVE53.js +254 -0
  234. package/dist/cli/{sentient-M4YMAVGV.js → sentient-RGMWR4XJ.js} +2 -2
  235. package/dist/cli/{sequence-6UBMA4IF.js → sequence-H7DSAJPF.js} +10 -9
  236. package/dist/cli/{service-5R7SILZ7.js → service-EK5MGB2D.js} +10 -9
  237. package/dist/cli/service-GLOMZWPQ.js +437 -0
  238. package/dist/cli/{session-3C6AAC4Y.js → session-HYUXAQGC.js} +12 -11
  239. package/dist/cli/session-N5ISU56W.js +568 -0
  240. package/dist/cli/{setup-BTUBW5PU.js → setup-L3YYV53D.js} +4 -4
  241. package/dist/cli/{show-MXT2V7TF.js → show-364V3KY2.js} +12 -11
  242. package/dist/cli/{skill-GFUZOU2C.js → skill-F2KR6HW5.js} +2 -2
  243. package/dist/cli/{skills-EDWLKAF3.js → skills-FS3DCP6E.js} +13 -12
  244. package/dist/cli/{snapshot-GUWMURCM.js → snapshot-EGXEQ5PR.js} +12 -11
  245. package/dist/cli/{src-66GAKPXR.js → src-LYLXHXHH.js} +2 -2
  246. package/dist/cli/{start-QFG56RGN.js → start-6DXOCCKL.js} +10 -9
  247. package/dist/cli/{stats-GW55P7RR.js → stats-UVUQEGYC.js} +10 -9
  248. package/dist/cli/{status-46HTKNRR.js → status-XLKYLN42.js} +3 -3
  249. package/dist/cli/sticky-VSTQ2I2O.js +264 -0
  250. package/dist/cli/{sticky-2DUZOUGI.js → sticky-XZXZDCFW.js} +12 -11
  251. package/dist/cli/{stop-J2QEUKHX.js → stop-VNOAFWNB.js} +10 -9
  252. package/dist/cli/{sync-GJP2QYT5.js → sync-YYPARW3A.js} +11 -10
  253. package/dist/cli/tasks-C24KHTFF.js +1118 -0
  254. package/dist/cli/{tasks-BNXTM7PB.js → tasks-LBJC7CZV.js} +10 -9
  255. package/dist/cli/{telemetry-55Z2XJWL.js → telemetry-CU7W5WAY.js} +2 -2
  256. package/dist/cli/{templates-7O77TKPV.js → templates-G42JBUY4.js} +9 -11
  257. package/dist/cli/{testing-37YTBNKP.js → testing-HSRITHEY.js} +10 -9
  258. package/dist/cli/{token-UAVJMNUI.js → token-J74E7TSU.js} +10 -9
  259. package/dist/cli/tools-BI74W7VE.js +652 -0
  260. package/dist/cli/{transcript-LORQTV5Z.js → transcript-RGK7RSGQ.js} +2 -2
  261. package/dist/cli/{update-NVCYV2FT.js → update-2KQWA27S.js} +19 -17
  262. package/dist/cli/update-check-entry.js +124 -0
  263. package/dist/cli/update-notice-6SQ6WPQG.js +68 -0
  264. package/dist/cli/upgrade-E2MJAPC7.js +136 -0
  265. package/dist/cli/{upgrade-OXJXOGEF.js → upgrade-XRSQ4RWH.js} +5 -5
  266. package/dist/cli/{verify-LYLDHPT2.js → verify-WASRGDBA.js} +10 -9
  267. package/dist/cli/{web-QP2RP266.js → web-NJ3P67EU.js} +4 -4
  268. package/dist/cli/{workgraph-FXBSZDQE.js → workgraph-OHJ2VKJD.js} +6 -6
  269. package/dist/cli/{worktree-6RXAJIST.js → worktree-FVQLORFY.js} +10 -9
  270. package/dist/cli/worktree-ZJ6JTQNG.js +287 -0
  271. package/package.json +13 -13
  272. package/studio-dist/client/_app/immutable/chunks/{Btgeq_wq.js → AH7dIemv.js} +1 -1
  273. package/studio-dist/client/_app/immutable/chunks/{DgEKqO6r.js → BDgH40i3.js} +1 -1
  274. package/studio-dist/client/_app/immutable/chunks/BXDCSJ7U.js +1 -0
  275. package/studio-dist/client/_app/immutable/chunks/{CgBjxmu6.js → Gg4iYl59.js} +1 -1
  276. package/studio-dist/client/_app/immutable/entry/{app.a02HWaRB.js → app.DUDNK-37.js} +2 -2
  277. package/studio-dist/client/_app/immutable/entry/start.DNmZ0pA4.js +1 -0
  278. package/studio-dist/client/_app/immutable/nodes/{0.nTXyRfc-.js → 0.DWqP3ail.js} +1 -1
  279. package/studio-dist/client/_app/immutable/nodes/{1.4zrWeHtl.js → 1.CZGVUP5B.js} +1 -1
  280. package/studio-dist/client/_app/immutable/nodes/{15.D9mk4JyY.js → 15.DGaflZRS.js} +1 -1
  281. package/studio-dist/client/_app/immutable/nodes/{16._-wt-sQf.js → 16.uYlarGXl.js} +1 -1
  282. package/studio-dist/client/_app/immutable/nodes/{17.CUu6LQDj.js → 17.CZMR0E47.js} +1 -1
  283. package/studio-dist/client/_app/immutable/nodes/{18.Dz4QRTkX.js → 18.CBC-AKH_.js} +1 -1
  284. package/studio-dist/client/_app/immutable/nodes/{20.CJ2_EB0U.js → 20.BGi43MvQ.js} +1 -1
  285. package/studio-dist/client/_app/immutable/nodes/{24.Igj2FS7k.js → 24.Dv8ftCyR.js} +1 -1
  286. package/studio-dist/client/_app/immutable/nodes/25.DQPVlTDQ.js +39 -0
  287. package/studio-dist/client/_app/immutable/nodes/{26.6iPyjT44.js → 26.Cl800304.js} +1 -1
  288. package/studio-dist/client/_app/immutable/nodes/{3.AA5GwNgP.js → 3.D_fQKj9f.js} +1 -1
  289. package/studio-dist/client/_app/version.json +1 -1
  290. package/studio-dist/server/chunks/{0-DGmsoBYm.js → 0-BpOagOst.js} +3 -3
  291. package/studio-dist/server/chunks/1-D0oRGR-C.js +9 -0
  292. package/studio-dist/server/chunks/{15-Bg6YTndh.js → 15-BcjHz7Tv.js} +3 -3
  293. package/studio-dist/server/chunks/{16-BObLwgyD.js → 16-CXm8TUk7.js} +3 -3
  294. package/studio-dist/server/chunks/{17-BNXGyAHX.js → 17-mSgUK-cp.js} +3 -3
  295. package/studio-dist/server/chunks/{18-UqQFRIID.js → 18-BtfnIw1d.js} +3 -3
  296. package/studio-dist/server/chunks/{20-CMn8a_yP.js → 20-By1e4QDS.js} +3 -3
  297. package/studio-dist/server/chunks/{24-BuOTDzib.js → 24-0i2YLVxG.js} +3 -3
  298. package/studio-dist/server/chunks/{dist-B8xbIrdB.js → 25-DPsrqbrh.js} +795 -10736
  299. package/studio-dist/server/chunks/{26-DWGObn2T.js → 26-P0XkOibm.js} +3 -3
  300. package/studio-dist/server/chunks/{3-CyiffdJZ.js → 3-WudjUK7e.js} +3 -3
  301. package/studio-dist/server/chunks/{_layout.svelte-DYtClaIk.js → _layout.svelte-D9m81Rle.js} +4 -4
  302. package/studio-dist/server/chunks/{_page.svelte-CEATWp_5.js → _page.svelte-2PDLOF83.js} +3 -3
  303. package/studio-dist/server/chunks/{_page.svelte-Bip079LT.js → _page.svelte-BjE3jm2K.js} +3 -3
  304. package/studio-dist/server/chunks/{_page.svelte-CV3xiD1y.js → _page.svelte-Clc0vmiZ.js} +4 -4
  305. package/studio-dist/server/chunks/{_page.svelte-DSSy6LuK.js → _page.svelte-DABdRT3h.js} +3 -3
  306. package/studio-dist/server/chunks/{_page.svelte-1h9E6s_f.js → _page.svelte-DG3PjiHj.js} +3 -3
  307. package/studio-dist/server/chunks/{_page.svelte-BT1EUadj.js → _page.svelte-Edy9CaE8.js} +20 -7
  308. package/studio-dist/server/chunks/{_page.svelte-BNNF62Nm.js → _page.svelte-Hrf3-ZR8.js} +3 -3
  309. package/studio-dist/server/chunks/{_page.svelte-TF795TAS.js → _page.svelte-VB4O4Nl5.js} +3 -3
  310. package/studio-dist/server/chunks/{_page.svelte-Cv_KVJDV.js → _page.svelte-d3jEgjsI.js} +3 -3
  311. package/studio-dist/server/chunks/{_server.ts-CzrwbhkQ.js → _server.ts-BcRFsyo3.js} +4 -5
  312. package/studio-dist/server/chunks/{_server.ts-C4w6UdU0.js → _server.ts-CEWpIFrj.js} +6 -5
  313. package/studio-dist/server/chunks/{_server.ts-BlhRFLY3.js → _server.ts-CLVdVIF9.js} +2 -2
  314. package/studio-dist/server/chunks/{_server.ts-Db6mEile.js → _server.ts-D_j7aSy5.js} +6 -5
  315. package/studio-dist/server/chunks/{_server.ts-DWt8Dziu.js → _server.ts-QEZF8h2q.js} +4 -5
  316. package/studio-dist/server/chunks/{client-D8f2k-H_.js → client-Kp1dP1od.js} +2 -2
  317. package/studio-dist/server/chunks/{error.svelte-DbbOwIme.js → error.svelte-WOCioJVX.js} +3 -3
  318. package/studio-dist/server/chunks/{hooks.server-D2qbf3Zp.js → hooks.server-DH9zkIrJ.js} +3 -1
  319. package/studio-dist/server/chunks/{http-1ftNGTs5.js → http-DT5kxaWk.js} +5 -4
  320. package/studio-dist/server/chunks/{internal-CTULuLPB.js → internal-z0vqd5_u.js} +3 -3
  321. package/studio-dist/server/chunks/operations-registry-DdzmYzqX.js +10584 -0
  322. package/studio-dist/server/chunks/{stores-CS5XOReX.js → stores-s2kaL315.js} +2 -2
  323. package/studio-dist/server/index.js +1 -1
  324. package/studio-dist/server/manifest.js +17 -17
  325. package/dist/cli/chunk-3IOQVUO7.js +0 -17308
  326. package/dist/cli/chunk-OAPN46TC.js +0 -89
  327. package/studio-dist/client/_app/immutable/chunks/t81h7afa.js +0 -1
  328. package/studio-dist/client/_app/immutable/entry/start.BreMSngo.js +0 -1
  329. package/studio-dist/client/_app/immutable/nodes/25.BnATjVGN.js +0 -39
  330. package/studio-dist/server/chunks/1-8PfxPvlK.js +0 -9
  331. package/studio-dist/server/chunks/25-CIMSmjVx.js +0 -366
package/dist/cli/index.js CHANGED
@@ -33,8 +33,9 @@ import {
33
33
  extractIdempotencyKeyArg,
34
34
  setDescribeMode,
35
35
  setIdempotencyKeyContext,
36
- setProjectionOptOut
37
- } from "./chunk-ZBISIPCK.js";
36
+ setProjectionOptOut,
37
+ settleThenExit
38
+ } from "./chunk-QKMBWYAS.js";
38
39
  import {
39
40
  resolveFieldContext,
40
41
  resolveOutputMode,
@@ -45,9 +46,9 @@ import {
45
46
  } from "./chunk-6JSJNYH2.js";
46
47
 
47
48
  // packages/cleo/src/cli/index.ts
48
- import { readFileSync as readFileSync2 } from "node:fs";
49
- import { dirname as dirname2, join as join3 } from "node:path";
50
- import { fileURLToPath as fileURLToPath2 } from "node:url";
49
+ import { existsSync as existsSync3, readFileSync as readFileSync3 } from "node:fs";
50
+ import { dirname as dirname3, join as join4 } from "node:path";
51
+ import { fileURLToPath as fileURLToPath3 } from "node:url";
51
52
  import { enforceNodeVersion } from "@cleocode/paths";
52
53
 
53
54
  // packages/cleo/src/cli/citty-error-envelope.ts
@@ -71,505 +72,523 @@ var COMMAND_MANIFEST = [
71
72
  exportName: "adapterCommand",
72
73
  name: "adapter",
73
74
  description: "Provider adapter management: list, show, detect, health, activate, dispose",
74
- load: async () => (await import("./adapter-LVXHFBC4.js")).adapterCommand
75
+ load: async () => (await import("./adapter-OUQRSFZL.js")).adapterCommand
75
76
  },
76
77
  {
77
78
  exportName: "addBatchCommand",
78
79
  name: "add-batch",
79
80
  description: "Create multiple tasks in a single atomic transaction from a JSON file",
80
- load: async () => (await import("./add-batch-U2DLKAQC.js")).addBatchCommand
81
+ load: async () => (await import("./add-batch-TSWICA5J.js")).addBatchCommand
81
82
  },
82
83
  {
83
84
  exportName: "addCommand",
84
85
  name: "add",
85
86
  description: "Create a new task (requires active session)\nFor 2+ tasks at once: cleo add-batch --file tasks.json (single transaction, atomic rollback)",
86
- load: async () => (await import("./add-WUAV7LDT.js")).addCommand
87
+ load: async () => (await import("./add-4SRRJL4U.js")).addCommand
87
88
  },
88
89
  {
89
90
  exportName: "adminCommand",
90
91
  name: "admin",
91
92
  description: "System administration and diagnostics",
92
- load: async () => (await import("./admin-I7BQYVZD.js")).adminCommand
93
+ load: async () => (await import("./admin-YMU55YCU.js")).adminCommand
93
94
  },
94
95
  {
95
96
  exportName: "adrCommand",
96
97
  name: "adr",
97
98
  description: "Manage and validate Architecture Decision Records in .cleo/adrs/",
98
- load: async () => (await import("./adr-K2THMQBS.js")).adrCommand
99
+ load: async () => (await import("./adr-XESRMFMP.js")).adrCommand
99
100
  },
100
101
  {
101
102
  exportName: "agentOutputsCommand",
102
103
  name: "agent-outputs",
103
104
  description: "Agent output document management \u2014 find/search via DocsAccessor (find subcommand)",
104
- load: async () => (await import("./agent-outputs-BJIYLVTU.js")).agentOutputsCommand
105
+ load: async () => (await import("./agent-outputs-HVJJIPS4.js")).agentOutputsCommand
105
106
  },
106
107
  {
107
108
  exportName: "agentCommand",
108
109
  name: "agent",
109
110
  description: "Agent lifecycle, credentials, and messaging",
110
- load: async () => (await import("./agent-WQ6XY2DW.js")).agentCommand
111
+ load: async () => (await import("./agent-TAFPIYUU.js")).agentCommand
111
112
  },
112
113
  {
113
114
  exportName: "analyzeCommand",
114
115
  name: "analyze",
115
116
  description: "Task triage with leverage scoring and bottleneck detection",
116
- load: async () => (await import("./analyze-PGQZWGOC.js")).analyzeCommand
117
+ load: async () => (await import("./analyze-YQ22QVGW.js")).analyzeCommand
117
118
  },
118
119
  {
119
120
  exportName: "archiveStatsCommand",
120
121
  name: "archive-stats",
121
122
  description: "Generate analytics and insights from archived tasks",
122
- load: async () => (await import("./archive-stats-U6CYC6JM.js")).archiveStatsCommand
123
+ load: async () => (await import("./archive-stats-HP2KPAJU.js")).archiveStatsCommand
123
124
  },
124
125
  {
125
126
  exportName: "archiveCommand",
126
127
  name: "archive",
127
128
  description: "Archive completed tasks",
128
- load: async () => (await import("./archive-5LZPF7C3.js")).archiveCommand
129
+ load: async () => (await import("./archive-W5XX6AH7.js")).archiveCommand
129
130
  },
130
131
  {
131
132
  exportName: "attentionCommand",
132
133
  name: "attention",
133
134
  description: "Tier-2 scope-keyed working memory \u2014 quick decaying jots (alias: jot)",
134
- load: async () => (await import("./attention-SOURWCNI.js")).attentionCommand
135
+ load: async () => (await import("./attention-ZXZANHKC.js")).attentionCommand
135
136
  },
136
137
  {
137
138
  exportName: "auditCommand",
138
139
  name: "audit",
139
140
  description: "Git-backed audit tooling (lineage reconstruction, integrity checks). ",
140
- load: async () => (await import("./audit-FO2Y4LH2.js")).auditCommand
141
+ load: async () => (await import("./audit-ICA2SEFN.js")).auditCommand
141
142
  },
142
143
  {
143
144
  exportName: "authCommand",
144
145
  name: "auth",
145
146
  description: "Unified credential surface: auth login (front-door provider login, alias of cleo login), auth list, auth remove, auth consent. (cleo llm list is the LLM-scoped sister command.)",
146
- load: async () => (await import("./auth-ED7TAIXI.js")).authCommand
147
+ load: async () => (await import("./auth-DXIG5OG7.js")).authCommand
147
148
  },
148
149
  {
149
150
  exportName: "backfillCommand",
150
151
  name: "backfill",
151
152
  description: "Retroactively add acceptance criteria and verification metadata to existing tasks",
152
- load: async () => (await import("./backfill-32TRAYRD.js")).backfillCommand
153
+ load: async () => (await import("./backfill-LBSYBWLR.js")).backfillCommand
153
154
  },
154
155
  {
155
156
  exportName: "backupInspectSubCommand",
156
157
  name: "inspect",
157
158
  description: "Inspect a bundle manifest or an exact observation in a read-only SQLite snapshot",
158
- load: async () => (await import("./backup-inspect-6HPLUEI2.js")).backupInspectSubCommand
159
+ load: async () => (await import("./backup-inspect-PDRXI45A.js")).backupInspectSubCommand
159
160
  },
160
161
  {
161
162
  exportName: "backupRecoverSubCommand",
162
163
  name: "recover",
163
164
  description: "Recover a malformed CLEO database from snapshot \u2014 accepts any role from DB_INVENTORY (T10318)",
164
- load: async () => (await import("./backup-recover-2BTYBZU2.js")).backupRecoverSubCommand
165
+ load: async () => (await import("./backup-recover-TVKAPERB.js")).backupRecoverSubCommand
165
166
  },
166
167
  {
167
168
  exportName: "backupCommand",
168
169
  name: "backup",
169
170
  description: "Add backup of todo files or list available backups",
170
- load: async () => (await import("./backup-LEJMZJKL.js")).backupCommand
171
+ load: async () => (await import("./backup-NUGBZ7NA.js")).backupCommand
171
172
  },
172
173
  {
173
174
  exportName: "blockersCommand",
174
175
  name: "blockers",
175
176
  description: "Show blocked tasks and analyze blocking chains",
176
- load: async () => (await import("./blockers-5JULUJTV.js")).blockersCommand
177
+ load: async () => (await import("./blockers-ZOPCGHDW.js")).blockersCommand
177
178
  },
178
179
  {
179
180
  exportName: "brainCommand",
180
181
  name: "brain",
181
182
  description: "Brain memory optimization operations",
182
- load: async () => (await import("./brain-273N3FW4.js")).brainCommand
183
+ load: async () => (await import("./brain-EJOBKL4A.js")).brainCommand
183
184
  },
184
185
  {
185
186
  exportName: "briefingCommand",
186
187
  name: "briefing",
187
188
  description: "Session resume context: last handoff, current task, next tasks, bugs, blockers, epics, and memory. Use at session start to restore context.",
188
- load: async () => (await import("./briefing-7H6OLECX.js")).briefingCommand
189
+ load: async () => (await import("./briefing-RDQJ6WHS.js")).briefingCommand
189
190
  },
190
191
  {
191
192
  exportName: "caampCommand",
192
193
  name: "caamp",
193
194
  description: "CAAMP injection management: repair markers, deduplicate blocks",
194
- load: async () => (await import("./caamp-MFQVN6VU.js")).caampCommand
195
+ load: async () => (await import("./caamp-Z3XPKEHB.js")).caampCommand
195
196
  },
196
197
  {
197
198
  exportName: "cancelCommand",
198
199
  name: "cancel",
199
200
  description: "Cancel a task (soft terminal state; reversible via restore)",
200
- load: async () => (await import("./cancel-SCMJTXZB.js")).cancelCommand
201
+ load: async () => (await import("./cancel-S7EHLCJN.js")).cancelCommand
201
202
  },
202
203
  {
203
204
  exportName: "cantCommand",
204
205
  name: "cant",
205
206
  description: "CANT DSL tooling",
206
- load: async () => (await import("./cant-46XCUP4P.js")).cantCommand
207
+ load: async () => (await import("./cant-CHNN6O57.js")).cantCommand
207
208
  },
208
209
  {
209
210
  exportName: "changesetCommand",
210
211
  name: "changeset",
211
212
  description: "Author + list task-anchored changeset entries \u2014 dual-writes go to ",
212
- load: async () => (await import("./changeset-32NMBGG2.js")).changesetCommand
213
+ load: async () => (await import("./changeset-RYPHPN2B.js")).changesetCommand
213
214
  },
214
215
  {
215
216
  exportName: "checkCommand",
216
217
  name: "check",
217
218
  description: "Validation and compliance checks",
218
- load: async () => (await import("./check-RWJLBCI2.js")).checkCommand
219
+ load: async () => (await import("./check-DHMURGHC.js")).checkCommand
219
220
  },
220
221
  {
221
222
  exportName: "checkpointCommand",
222
223
  name: "checkpoint",
223
224
  description: "Git checkpoint for CLEO state files (commits to isolated .cleo/.git repo)",
224
- load: async () => (await import("./checkpoint-37HMMKD7.js")).checkpointCommand
225
+ load: async () => (await import("./checkpoint-UWDFOGYQ.js")).checkpointCommand
225
226
  },
226
227
  {
227
228
  exportName: "claimCommand",
228
229
  name: "claim",
229
230
  description: "Take, renew (--renew) or override (--take-over expired, --force-claim live) your session's leased claim on a task",
230
- load: async () => (await import("./claim-KPENYHIQ.js")).claimCommand
231
+ load: async () => (await import("./claim-IGOG2QOC.js")).claimCommand
231
232
  },
232
233
  {
233
234
  exportName: "unclaimCommand",
234
235
  name: "unclaim",
235
236
  description: "Release your session's claim lease on a task (--force-claim: another session's)",
236
- load: async () => (await import("./claim-KPENYHIQ.js")).unclaimCommand
237
+ load: async () => (await import("./claim-IGOG2QOC.js")).unclaimCommand
237
238
  },
238
239
  {
239
240
  exportName: "classifyCommand",
240
241
  name: "classify",
241
242
  description: "Classify a task: readiness verdict (proceed|grill) + persona routing (agent, confidence)",
242
- load: async () => (await import("./classify-DRVMCFQU.js")).classifyCommand
243
+ load: async () => (await import("./classify-MG4N7GMQ.js")).classifyCommand
243
244
  },
244
245
  {
245
246
  exportName: "cloudCommand",
246
247
  name: "cloud",
247
- description: "Cleo Nexus with the device credential: status (one-call verification), whoami, devices, projects [show], activity; the encrypted vault: push, pull, restore, verify, vault, lease release.",
248
- load: async () => (await import("./cloud-PPQ4O5TX.js")).cloudCommand
248
+ description: "Cleo Nexus with the device credential: status (one-call verification), whoami, devices, projects [show], activity; the encrypted vault: push, pull, restore, verify, vault, lease release; the local sync conflict log: conflicts [resolve <id>].",
249
+ load: async () => (await import("./cloud-SILYJVKO.js")).cloudCommand
249
250
  },
250
251
  {
251
252
  exportName: "codeCommand",
252
253
  name: "code",
253
254
  description: "Code analysis via tree-sitter AST",
254
- load: async () => (await import("./code-Z5CTMVTD.js")).codeCommand
255
+ load: async () => (await import("./code-H2FQCVMW.js")).codeCommand
255
256
  },
256
257
  {
257
258
  exportName: "completeCommand",
258
259
  name: "complete",
259
260
  description: "Mark a task as completed (requires active session)",
260
- load: async () => (await import("./complete-UBOCOBRB.js")).completeCommand
261
+ load: async () => (await import("./complete-JLX7NBI4.js")).completeCommand
261
262
  },
262
263
  {
263
264
  exportName: "complexityCommand",
264
265
  name: "complexity",
265
266
  description: "Task complexity analysis",
266
- load: async () => (await import("./complexity-BV2AGQRZ.js")).complexityCommand
267
+ load: async () => (await import("./complexity-OKV7PVZH.js")).complexityCommand
267
268
  },
268
269
  {
269
270
  exportName: "complianceCommand",
270
271
  name: "compliance",
271
272
  description: "Monitor and report compliance metrics for orchestrator and agent outputs",
272
- load: async () => (await import("./compliance-32PD5Y47.js")).complianceCommand
273
+ load: async () => (await import("./compliance-QMGZHJNQ.js")).complianceCommand
273
274
  },
274
275
  {
275
276
  exportName: "conduitCommand",
276
277
  name: "conduit",
277
278
  description: "Manage Conduit inter-agent messaging",
278
- load: async () => (await import("./conduit-VDKCH33F.js")).conduitCommand
279
+ load: async () => (await import("./conduit-4H32UYEA.js")).conduitCommand
279
280
  },
280
281
  {
281
282
  exportName: "configCommand",
282
283
  name: "config",
283
284
  description: "CleoConfig SSoT registry surface (show, get, set, validate, drift-check) + legacy presets/list",
284
- load: async () => (await import("./config-I72JAXK4.js")).configCommand
285
+ load: async () => (await import("./config-TDYOC7XO.js")).configCommand
285
286
  },
286
287
  {
287
288
  exportName: "consensusCommand",
288
289
  name: "consensus",
289
290
  description: "Validate consensus protocol compliance (alias for `cleo check protocol consensus`)",
290
- load: async () => (await import("./consensus-LFILLSTK.js")).consensusCommand
291
+ load: async () => (await import("./consensus-4XCOFPPT.js")).consensusCommand
291
292
  },
292
293
  {
293
294
  exportName: "contextCommand",
294
295
  name: "context",
295
296
  description: "Monitor context window usage for agent safeguard system",
296
- load: async () => (await import("./context-XUUVFVTP.js")).contextCommand
297
+ load: async () => (await import("./context-FN4YTGHD.js")).contextCommand
297
298
  },
298
299
  {
299
300
  exportName: "contributionCommand",
300
301
  name: "contribution",
301
302
  description: "Validate contribution protocol compliance (alias for `cleo check protocol contribution`)",
302
- load: async () => (await import("./contribution-37NQ4N5R.js")).contributionCommand
303
+ load: async () => (await import("./contribution-7RWFBJLC.js")).contributionCommand
303
304
  },
304
305
  {
305
306
  exportName: "curatorCommand",
306
307
  name: "curator",
307
308
  description: "Skill curator: lifecycle transitions for agent-created skills",
308
- load: async () => (await import("./curator-TFDXU2EX.js")).curatorCommand
309
+ load: async () => (await import("./curator-HKZJCVRL.js")).curatorCommand
309
310
  },
310
311
  {
311
312
  exportName: "currentCommand",
312
313
  name: "current",
313
314
  description: "",
314
- load: async () => (await import("./current-C4SN5BWV.js")).currentCommand
315
+ load: async () => (await import("./current-B2NU7V3G.js")).currentCommand
315
316
  },
316
317
  {
317
318
  exportName: "daemonCommand",
318
319
  name: "daemon",
319
320
  description: "Manage the CLEO GC sidecar daemon for autonomous transcript cleanup",
320
- load: async () => (await import("./daemon-DV25JQ62.js")).daemonCommand
321
+ load: async () => (await import("./daemon-GBD4TVCD.js")).daemonCommand
321
322
  },
322
323
  {
323
324
  exportName: "dashCommand",
324
325
  name: "dash",
325
326
  description: "Project health dashboard: status summary, phase progress, recent activity, high priority tasks. Use for overall project status.",
326
- load: async () => (await import("./dash-TFU4RLQW.js")).dashCommand
327
+ load: async () => (await import("./dash-IGDANIE5.js")).dashCommand
327
328
  },
328
329
  {
329
330
  exportName: "decideCommand",
330
331
  name: "decide",
331
332
  description: "System One integration (typed decisions): decide config (named provider profile + API key; wizard on a terminal), decide use (switch the active profile), decide profiles (list them), decide status (reachability probe), decide ask (one debug question), decide sites (the registered decision sites), decide bench (accuracy benchmark). Unconfigured means heuristics answer.",
332
- load: async () => (await import("./decide-5VPMNTSI.js")).decideCommand
333
+ load: async () => (await import("./decide-26SXC2V6.js")).decideCommand
333
334
  },
334
335
  {
335
336
  exportName: "decomposeCommand",
336
337
  name: "decompose",
337
338
  description: "Move a task's text acceptance criteria onto a new child so it can hold subtasks",
338
- load: async () => (await import("./decompose-KOYEZNJL.js")).decomposeCommand
339
+ load: async () => (await import("./decompose-LQ76TEZG.js")).decomposeCommand
339
340
  },
340
341
  {
341
342
  exportName: "decompositionCommand",
342
343
  name: "decomposition",
343
344
  description: "Validate decomposition protocol compliance (alias for `cleo check protocol decomposition`)",
344
- load: async () => (await import("./decomposition-7OHUFIQN.js")).decompositionCommand
345
+ load: async () => (await import("./decomposition-WFRWNUSJ.js")).decompositionCommand
345
346
  },
346
347
  {
347
348
  exportName: "deleteCommand",
348
349
  name: "delete",
349
350
  description: "Delete a task (soft delete to archive)",
350
- load: async () => (await import("./delete-Q7YCAFY5.js")).deleteCommand
351
+ load: async () => (await import("./delete-T5DUQHOX.js")).deleteCommand
351
352
  },
352
353
  {
353
354
  exportName: "depsCommand",
354
355
  name: "deps",
355
356
  description: "Dependency visualization and analysis",
356
- load: async () => (await import("./deps-6UZKLDGJ.js")).depsCommand
357
+ load: async () => (await import("./deps-UTPZJBXL.js")).depsCommand
357
358
  },
358
359
  {
359
360
  exportName: "treeCommand",
360
361
  name: "tree",
361
362
  description: "Task hierarchy tree visualization",
362
- load: async () => (await import("./deps-6UZKLDGJ.js")).treeCommand
363
+ load: async () => (await import("./deps-UTPZJBXL.js")).treeCommand
363
364
  },
364
365
  {
365
366
  exportName: "detectDriftCommand",
366
367
  name: "detect-drift",
367
368
  description: "Detect documentation drift against TypeScript source of truth",
368
- load: async () => (await import("./detect-drift-UL2JTPUK.js")).detectDriftCommand
369
+ load: async () => (await import("./detect-drift-TVCJOFYJ.js")).detectDriftCommand
369
370
  },
370
371
  {
371
372
  exportName: "detectCommand",
372
373
  name: "detect",
373
374
  description: "Re-detect project type and update project-context.json",
374
- load: async () => (await import("./detect-FERY35UL.js")).detectCommand
375
+ load: async () => (await import("./detect-FFZSMVDT.js")).detectCommand
375
376
  },
376
377
  {
377
378
  exportName: "diagnosticsCommand",
378
379
  name: "diagnostics",
379
380
  description: "Autonomous self-improvement telemetry \u2014 opt-in command analytics that feed BRAIN observations",
380
- load: async () => (await import("./diagnostics-TI5QAZXR.js")).diagnosticsCommand
381
+ load: async () => (await import("./diagnostics-ZNBKH6GX.js")).diagnosticsCommand
381
382
  },
382
383
  {
383
384
  exportName: "_llmOutputCommand",
384
385
  name: "llm-output",
385
386
  description: "Unified LLM output: task export (rich Markdown with frontmatter + body + attachments + memory refs) ",
386
- load: async () => (await import("./docs-QI2PRN3T.js"))._llmOutputCommand
387
+ load: async () => (await import("./docs-DPPDFTWR.js"))._llmOutputCommand
387
388
  },
388
389
  {
389
390
  exportName: "docsCommand",
390
391
  name: "docs",
391
392
  description: "Canonical six-verb docs path: add, update, fetch, list, remove, publish. ",
392
- load: async () => (await import("./docs-QI2PRN3T.js")).docsCommand
393
+ load: async () => (await import("./docs-DPPDFTWR.js")).docsCommand
393
394
  },
394
395
  {
395
396
  exportName: "doctorAcBindingsCommand",
396
397
  name: "ac-bindings",
397
398
  description: "Report evidence bindings whose acceptance criterion no longer exists (dangling ",
398
- load: async () => (await import("./doctor-ac-bindings-YPMYHU2G.js")).doctorAcBindingsCommand
399
+ load: async () => (await import("./doctor-ac-bindings-S3IOEFP4.js")).doctorAcBindingsCommand
399
400
  },
400
401
  {
401
402
  exportName: "doctorAcceptanceDriftCommand",
402
403
  name: "acceptance-drift",
403
404
  description: "Report tasks whose acceptance criteria disagree between the JSON column and the typed rows ",
404
- load: async () => (await import("./doctor-acceptance-drift-PYNFGMKB.js")).doctorAcceptanceDriftCommand
405
+ load: async () => (await import("./doctor-acceptance-drift-VNFKPBSQ.js")).doctorAcceptanceDriftCommand
405
406
  },
406
407
  {
407
408
  exportName: "doctorCredentialsCommand",
408
409
  name: "credentials",
409
410
  description: "Report project credentials still encrypted under the legacy path-bound key (moving the project would strand them) and agent registry keys that are not recoverable. --fix re-keys project credentials to the project's identity in place and flags unrecoverable agent keys requires_reauth. Idempotent; never deletes. Unrecoverable credentials are listed with their re-entry command.",
410
- load: async () => (await import("./doctor-credentials-UZRIADKM.js")).doctorCredentialsCommand
411
+ load: async () => (await import("./doctor-credentials-A5H4JMTF.js")).doctorCredentialsCommand
411
412
  },
412
413
  {
413
414
  exportName: "doctorDbSubstrateCommand",
414
415
  name: "db-substrate",
415
416
  description: "Walk every DB in the inventory + report integrity, row counts, orphan dirs. ",
416
- load: async () => (await import("./doctor-db-substrate-Q2TOYM2S.js")).doctorDbSubstrateCommand
417
+ load: async () => (await import("./doctor-db-substrate-FGCISE4Z.js")).doctorDbSubstrateCommand
417
418
  },
418
419
  {
419
420
  exportName: "doctorDepCyclesCommand",
420
421
  name: "dep-cycles",
421
422
  description: "Report task dependency cycles already stored (edges written before the T12886 cycle ",
422
- load: async () => (await import("./doctor-dep-cycles-GCVYZY6F.js")).doctorDepCyclesCommand
423
+ load: async () => (await import("./doctor-dep-cycles-BKKKHHYG.js")).doctorDepCyclesCommand
423
424
  },
424
425
  {
425
426
  exportName: "doctorExodusResidueCommand",
426
427
  name: "exodus-residue",
427
428
  description: "Detect legacy exodus source DBs still present after a cutover (stranded residue that ",
428
- load: async () => (await import("./doctor-exodus-residue-EM2AWQXP.js")).doctorExodusResidueCommand
429
+ load: async () => (await import("./doctor-exodus-residue-4EMRYMEQ.js")).doctorExodusResidueCommand
429
430
  },
430
431
  {
431
432
  exportName: "doctorExodusCommand",
432
433
  name: "exodus-health",
433
434
  description: "Read-only exodus health report: per-scope migration state, legacy DB sizes, completion ",
434
- load: async () => (await import("./doctor-exodus-RO5SUTC2.js")).doctorExodusCommand
435
+ load: async () => (await import("./doctor-exodus-ND2DH2KP.js")).doctorExodusCommand
435
436
  },
436
437
  {
437
438
  exportName: "doctorFkCheckCommand",
438
439
  name: "fk-check",
439
440
  description: "Verify foreign-key integrity of the consolidated project + global cleo.db ",
440
- load: async () => (await import("./doctor-fk-check-Q3FOLECE.js")).doctorFkCheckCommand
441
+ load: async () => (await import("./doctor-fk-check-VY3RIQV3.js")).doctorFkCheckCommand
441
442
  },
442
443
  {
443
444
  exportName: "doctorGlobalDeliveryCommand",
444
445
  name: "global-delivery",
445
446
  description: "Check that ~/.cleo, the global hub reference and every harness CLEO skill install ",
446
- load: async () => (await import("./doctor-global-delivery-TNOAQ3NP.js")).doctorGlobalDeliveryCommand
447
+ load: async () => (await import("./doctor-global-delivery-JN6IGHUL.js")).doctorGlobalDeliveryCommand
447
448
  },
448
449
  {
449
450
  exportName: "doctorHeavyCommandHookCommand",
450
451
  name: "heavy-command-hook",
451
452
  description: "Report, per agent harness in use, whether the heavy-command hook (routes agent-run tests and ",
452
- load: async () => (await import("./doctor-heavy-command-hook-IO3QAQLG.js")).doctorHeavyCommandHookCommand
453
+ load: async () => (await import("./doctor-heavy-command-hook-XSN44WXU.js")).doctorHeavyCommandHookCommand
453
454
  },
454
455
  {
455
456
  exportName: "doctorLegacyBackupsCommand",
456
457
  name: "legacy-backups",
457
458
  description: "Enumerate legacy *-pre-cleo.db.bak / brain.db.PRE-DUP-FIX-* / pre-untrack / rotation-overflow ",
458
- load: async () => (await import("./doctor-legacy-backups-O2YH5VLS.js")).doctorLegacyBackupsCommand
459
+ load: async () => (await import("./doctor-legacy-backups-QAG5NHYP.js")).doctorLegacyBackupsCommand
459
460
  },
460
461
  {
461
462
  exportName: "doctorLegacyReaperCommand",
462
463
  name: "legacy-reaper",
463
464
  description: "Detect the legacy cleo-mcp-reaper user timer that kills processes by generic `MainThread` ",
464
- load: async () => (await import("./doctor-legacy-reaper-VSEJEIFA.js")).doctorLegacyReaperCommand
465
+ load: async () => (await import("./doctor-legacy-reaper-CIRGFE6R.js")).doctorLegacyReaperCommand
465
466
  },
466
467
  {
467
468
  exportName: "doctorMalformedIdsCommand",
468
469
  name: "malformed-ids",
469
470
  description: "Report task rows whose id is not a valid task identifier \u2014 rows that `cleo list` returns ",
470
- load: async () => (await import("./doctor-malformed-ids-LQ766V5K.js")).doctorMalformedIdsCommand
471
+ load: async () => (await import("./doctor-malformed-ids-WL7HT4TB.js")).doctorMalformedIdsCommand
471
472
  },
472
473
  {
473
474
  exportName: "doctorManifestRowsCommand",
474
475
  name: "manifest-rows",
475
476
  description: "List manifest rows whose metadata violates the stored field contract, and (read-only) rows with an invalid id, linked task id or file reference. --repair shows the plan (writes nothing); --repair --apply moves each bad field under _malformed (nothing lost) with a receipt; --rollback <receipt> undoes it.",
476
- load: async () => (await import("./doctor-manifest-rows-6FQDNHLH.js")).doctorManifestRowsCommand
477
+ load: async () => (await import("./doctor-manifest-rows-SMQCKJ2T.js")).doctorManifestRowsCommand
477
478
  },
478
479
  {
479
480
  exportName: "doctorMemoryGuardCommand",
480
481
  name: "memory-guard",
481
482
  description: "Audit the machine-wide memory guard that bounds test runs an agent starts OUTSIDE cleo ",
482
- load: async () => (await import("./doctor-memory-guard-J4PSEKB5.js")).doctorMemoryGuardCommand
483
+ load: async () => (await import("./doctor-memory-guard-LJDOJG76.js")).doctorMemoryGuardCommand
483
484
  },
484
485
  {
485
486
  exportName: "doctorMigrationsCommand",
486
487
  name: "migrations",
487
488
  description: "Report the migration journal of the project and global stores: row count, head, applied ",
488
- load: async () => (await import("./doctor-migrations-ONOH56YM.js")).doctorMigrationsCommand
489
+ load: async () => (await import("./doctor-migrations-ETQPFNUP.js")).doctorMigrationsCommand
489
490
  },
490
491
  {
491
492
  exportName: "doctorNexusResidencyCommand",
492
493
  name: "nexus-residency",
493
494
  description: "Report nexus tables resident in the wrong store \u2014 graph tables orphaned in the global ",
494
- load: async () => (await import("./doctor-nexus-residency-FUQAX7PV.js")).doctorNexusResidencyCommand
495
+ load: async () => (await import("./doctor-nexus-residency-A4JMKBEJ.js")).doctorNexusResidencyCommand
495
496
  },
496
497
  {
497
498
  exportName: "doctorProjectIdentityCommand",
498
499
  name: "project-identity",
499
500
  description: "Check .cleo/project.json, its legacy .cleo/project-id mirror and the project-info.json cache ",
500
- load: async () => (await import("./doctor-project-identity-GUDK3HYX.js")).doctorProjectIdentityCommand
501
+ load: async () => (await import("./doctor-project-identity-FFQJ5LNX.js")).doctorProjectIdentityCommand
501
502
  },
502
503
  {
503
504
  exportName: "doctorRegistryCommand",
504
505
  name: "projects",
505
506
  description: "Machine-wide registry integrity: rebind moved projects by id, flag split identities, ",
506
- load: async () => (await import("./doctor-projects-registry-TEAVHFQU.js")).doctorRegistryCommand
507
+ load: async () => (await import("./doctor-projects-registry-76X6VTGM.js")).doctorRegistryCommand
507
508
  },
508
509
  {
509
510
  exportName: "doctorProjectsCommand",
510
511
  name: "doctor-projects",
511
512
  description: "Probe every registered project (nexus.db) for DB + config health",
512
- load: async () => (await import("./doctor-projects-7L3BNL4O.js")).doctorProjectsCommand
513
+ load: async () => (await import("./doctor-projects-MFUTKRHP.js")).doctorProjectsCommand
513
514
  },
514
515
  {
515
516
  exportName: "doctorReleaseReadinessCommand",
516
517
  name: "release-readiness",
517
518
  description: "Pre-flight release readiness check \u2014 lint matrix + changelog + changeset + npm OIDC + tag-trigger sanity (T10458)",
518
- load: async () => (await import("./doctor-release-readiness-IEGHX6SL.js")).doctorReleaseReadinessCommand
519
+ load: async () => (await import("./doctor-release-readiness-QJCOPFTK.js")).doctorReleaseReadinessCommand
519
520
  },
520
521
  {
521
522
  exportName: "doctorRepairCommand",
522
523
  name: "repair",
523
524
  description: "Detect malformed CLEO databases (PRAGMA quick_check) and restore each from its ",
524
- load: async () => (await import("./doctor-repair-NBONOSZU.js")).doctorRepairCommand
525
+ load: async () => (await import("./doctor-repair-AU76FIKY.js")).doctorRepairCommand
526
+ },
527
+ {
528
+ exportName: "doctorRowIdentityCommand",
529
+ name: "row-identity",
530
+ description: "Plan the from-scratch row-identity refill of a store whose identity predates the current ",
531
+ load: async () => (await import("./doctor-row-identity-KW6JYZQE.js")).doctorRowIdentityCommand
525
532
  },
526
533
  {
527
534
  exportName: "doctorSkillFixturesCommand",
528
535
  name: "skill-fixtures",
529
536
  description: "Find caamp test fixtures left in the real skills root (UUID-named and known fixture ",
530
- load: async () => (await import("./doctor-skill-fixtures-7Y6L34A3.js")).doctorSkillFixturesCommand
537
+ load: async () => (await import("./doctor-skill-fixtures-G3T7JUHS.js")).doctorSkillFixturesCommand
531
538
  },
532
539
  {
533
540
  exportName: "doctorSplitBrainCommand",
534
541
  name: "split-brain",
535
542
  description: "Import rows that exist only in a diverged copy of a store (--source) into another (--target) ",
536
- load: async () => (await import("./doctor-split-brain-TUKIGVHF.js")).doctorSplitBrainCommand
543
+ load: async () => (await import("./doctor-split-brain-FUW6L7FS.js")).doctorSplitBrainCommand
537
544
  },
538
545
  {
539
546
  exportName: "doctorSupersededStoreCommand",
540
547
  name: "superseded-store",
541
548
  description: "Report pre-dual-scope store files (.cleo/tasks.db, .cleo/brain.db) still on disk under ",
542
- load: async () => (await import("./doctor-superseded-store-BHZY2B2L.js")).doctorSupersededStoreCommand
549
+ load: async () => (await import("./doctor-superseded-store-DUHGSBLC.js")).doctorSupersededStoreCommand
550
+ },
551
+ {
552
+ exportName: "doctorSyncJournalCommand",
553
+ name: "sync-journal",
554
+ description: "Plan the repair diff of the project store's suspect tables (rows written uncaptured). ",
555
+ load: async () => (await import("./doctor-sync-journal-SXMUIKF7.js")).doctorSyncJournalCommand
556
+ },
557
+ {
558
+ exportName: "doctorSyncTriggersCommand",
559
+ name: "sync-triggers",
560
+ description: "Check the project store's triggers: the suspension table, owned guard triggers, capture ",
561
+ load: async () => (await import("./doctor-sync-triggers-6WNJZFRM.js")).doctorSyncTriggersCommand
543
562
  },
544
563
  {
545
564
  exportName: "doctorToolLocksCommand",
546
565
  name: "tool-locks",
547
- description: "Inspect the machine-wide evidence-tool semaphore: which slots are held, by which pid, ",
548
- load: async () => (await import("./doctor-tool-locks-REQMIVYK.js")).doctorToolLocksCommand
566
+ description: "Inspect the machine-wide admission ledger: which heavy runs hold the memory budget or ",
567
+ load: async () => (await import("./doctor-tool-locks-66LSLUBN.js")).doctorToolLocksCommand
549
568
  },
550
569
  {
551
570
  exportName: "doctorTwinCollapseCommand",
552
571
  name: "twin-collapse",
553
572
  description: "Report the twin collapses (bare schema_meta / sticky_tags kept in step with their prefixed ",
554
- load: async () => (await import("./doctor-twin-collapse-222GOSPE.js")).doctorTwinCollapseCommand
573
+ load: async () => (await import("./doctor-twin-collapse-AYBYBFC4.js")).doctorTwinCollapseCommand
555
574
  },
556
575
  {
557
576
  exportName: "doctorWorktreeStoresCommand",
558
577
  name: "worktree-stores",
559
578
  description: "List store files (.cleo/*.db, *.bak) stranded inside the project worktrees and report ",
560
- load: async () => (await import("./doctor-worktree-stores-J7TCRVJ3.js")).doctorWorktreeStoresCommand
579
+ load: async () => (await import("./doctor-worktree-stores-C5XEH5OG.js")).doctorWorktreeStoresCommand
561
580
  },
562
581
  {
563
582
  exportName: "doctorCommand",
564
583
  name: "doctor",
565
584
  description: "Run system diagnostics and health checks",
566
- load: async () => (await import("./doctor-AX5TICQO.js")).doctorCommand
585
+ load: async () => (await import("./doctor-GPENOP4N.js")).doctorCommand
567
586
  },
568
587
  {
569
588
  exportName: "doneCommand",
570
589
  name: "done",
571
590
  description: "Record every required gate from derived evidence (change set, tools, typed gates, AC links) in one write, then complete. --plan: read-only plan; writes nothing",
572
- load: async () => (await import("./done-V3AOO65B.js")).doneCommand
591
+ load: async () => (await import("./done-R64XRZ32.js")).doneCommand
573
592
  },
574
593
  {
575
594
  exportName: "dynamicCommand",
@@ -581,103 +600,103 @@ var COMMAND_MANIFEST = [
581
600
  exportName: "orchestratorCommand",
582
601
  name: "orchestrator",
583
602
  description: "Orchestration observability: stream worker event logs",
584
- load: async () => (await import("./event-EGNPGE5A.js")).orchestratorCommand
603
+ load: async () => (await import("./event-45KEWV5H.js")).orchestratorCommand
585
604
  },
586
605
  {
587
606
  exportName: "eventCommand",
588
607
  name: "event",
589
608
  description: "CLEO Observability event bus: append lifecycle events and tail agent logs",
590
- load: async () => (await import("./event-EGNPGE5A.js")).eventCommand
609
+ load: async () => (await import("./event-45KEWV5H.js")).eventCommand
591
610
  },
592
611
  {
593
612
  exportName: "existsCommand",
594
613
  name: "exists",
595
614
  description: "Check if a task ID exists (exit 0=exists, 4=not found)",
596
- load: async () => (await import("./exists-H4SDCBPL.js")).existsCommand
615
+ load: async () => (await import("./exists-BEDZS5RI.js")).existsCommand
597
616
  },
598
617
  {
599
618
  exportName: "exodusCommand",
600
619
  name: "exodus",
601
620
  description: "[TRANSITIONAL] Migrate legacy multi-DB fleet to consolidated dual-scope cleo.db (SG-DB-SUBSTRATE-V2)",
602
- load: async () => (await import("./exodus-KALO3B3X.js")).exodusCommand
621
+ load: async () => (await import("./exodus-DUX62344.js")).exodusCommand
603
622
  },
604
623
  {
605
624
  exportName: "exportTasksCommand",
606
625
  name: "export-tasks",
607
626
  description: "Export tasks to portable .cleo-export.json package for cross-project transfer",
608
- load: async () => (await import("./export-tasks-US3WBIEQ.js")).exportTasksCommand
627
+ load: async () => (await import("./export-tasks-CUXDZPJB.js")).exportTasksCommand
609
628
  },
610
629
  {
611
630
  exportName: "exportCommand",
612
631
  name: "export",
613
632
  description: "Export tasks to CSV, TSV, JSON, or markdown format",
614
- load: async () => (await import("./export-ROFOCG4M.js")).exportCommand
633
+ load: async () => (await import("./export-C5PQIQ5O.js")).exportCommand
615
634
  },
616
635
  {
617
636
  exportName: "federationCommand",
618
637
  name: "federation",
619
638
  description: "Federation peer management: add, remove, list trusted peers",
620
- load: async () => (await import("./federation-SUIB5QWT.js")).federationCommand
639
+ load: async () => (await import("./federation-ESM35EGG.js")).federationCommand
621
640
  },
622
641
  {
623
642
  exportName: "findCommand",
624
643
  name: "find",
625
644
  description: "Lexical task search; fuzzy matching requires --fuzzy",
626
- load: async () => (await import("./find-YICG4BG6.js")).findCommand
645
+ load: async () => (await import("./find-5EUZHHQJ.js")).findCommand
627
646
  },
628
647
  {
629
648
  exportName: "focusCommand",
630
649
  name: "focus",
631
650
  description: "Single-envelope orientation for a task, epic, or saga \u2014 replaces 8 separate calls with one",
632
- load: async () => (await import("./focus-TKCZPKOM.js")).focusCommand
651
+ load: async () => (await import("./focus-ANKAIRO5.js")).focusCommand
633
652
  },
634
653
  {
635
654
  exportName: "gatewayOpenapiSubCommand",
636
655
  name: "openapi",
637
656
  description: "Emit the OpenAPI 3.1 spec projected from the OPERATIONS registry",
638
- load: async () => (await import("./gateway-H4HFDC3E.js")).gatewayOpenapiSubCommand
657
+ load: async () => (await import("./gateway-2GW2KTK3.js")).gatewayOpenapiSubCommand
639
658
  },
640
659
  {
641
660
  exportName: "gatewayCommand",
642
661
  name: "gateway",
643
662
  description: "REST gateway introspection (openapi spec projection)",
644
- load: async () => (await import("./gateway-H4HFDC3E.js")).gatewayCommand
663
+ load: async () => (await import("./gateway-2GW2KTK3.js")).gatewayCommand
645
664
  },
646
665
  {
647
666
  exportName: "gcCommand",
648
667
  name: "gc",
649
668
  description: "Transcript garbage collection: manual trigger and status",
650
- load: async () => (await import("./gc-5R2TUY5T.js")).gcCommand
669
+ load: async () => (await import("./gc-CTOQLUSA.js")).gcCommand
651
670
  },
652
671
  {
653
672
  exportName: "goCommand",
654
673
  name: "go",
655
674
  description: "SG-AUTOPILOT: run one turn of briefing\u2192sagaNext\u2192ready\u2192stage-branch\u2192ivtr loop",
656
- load: async () => (await import("./go-PRQFK5YG.js")).goCommand
675
+ load: async () => (await import("./go-YJPNHHYT.js")).goCommand
657
676
  },
658
677
  {
659
678
  exportName: "goalCommand",
660
679
  name: "goal",
661
680
  description: "DB-persisted, per-agent, evidence-gate-aware goal loop (set/status/advance/subgoal/append).",
662
- load: async () => (await import("./goal-7CZRMLHC.js")).goalCommand
681
+ load: async () => (await import("./goal-4GW4G77D.js")).goalCommand
663
682
  },
664
683
  {
665
684
  exportName: "gradeCommand",
666
685
  name: "grade",
667
686
  description: "Grade agent behavior for a session (requires --grade flag on session start)",
668
- load: async () => (await import("./grade-PY2YRPUS.js")).gradeCommand
687
+ load: async () => (await import("./grade-25WSZH4X.js")).gradeCommand
669
688
  },
670
689
  {
671
690
  exportName: "graphCommand",
672
691
  name: "graph",
673
692
  description: "Project-scoped code intelligence: symbol graph, impact analysis, clusters, flows",
674
- load: async () => (await import("./graph-XIXMCFKG.js")).graphCommand
693
+ load: async () => (await import("./graph-JUO3TMF3.js")).graphCommand
675
694
  },
676
695
  {
677
696
  exportName: "historyCommand",
678
697
  name: "history",
679
698
  description: "Completion timeline and productivity analytics",
680
- load: async () => (await import("./history-EIXADPAD.js")).historyCommand
699
+ load: async () => (await import("./history-NACNUQTC.js")).historyCommand
681
700
  },
682
701
  {
683
702
  exportName: "hookCommand",
@@ -695,463 +714,463 @@ var COMMAND_MANIFEST = [
695
714
  exportName: "importTasksCommand",
696
715
  name: "import-tasks",
697
716
  description: "Import tasks from .cleo-export.json package with ID remapping",
698
- load: async () => (await import("./import-tasks-O22FZJ4U.js")).importTasksCommand
717
+ load: async () => (await import("./import-tasks-FLE2RPBR.js")).importTasksCommand
699
718
  },
700
719
  {
701
720
  exportName: "importCommand",
702
721
  name: "import",
703
722
  description: "Import tasks from export package",
704
- load: async () => (await import("./import-R73SO444.js")).importCommand
723
+ load: async () => (await import("./import-7ESGL5SS.js")).importCommand
705
724
  },
706
725
  {
707
726
  exportName: "initCommand",
708
727
  name: "init",
709
728
  description: "Initialize CLEO in a project directory",
710
- load: async () => (await import("./init-IHEJDQWU.js")).initCommand
729
+ load: async () => (await import("./init-AN4DZ2XO.js")).initCommand
711
730
  },
712
731
  {
713
732
  exportName: "injectCommand",
714
733
  name: "inject",
715
734
  description: "Prepare tasks for external system injection",
716
- load: async () => (await import("./inject-LSRVWNCP.js")).injectCommand
735
+ load: async () => (await import("./inject-HQWA5GWY.js")).injectCommand
717
736
  },
718
737
  {
719
738
  exportName: "installGlobalCommand",
720
739
  name: "install-global",
721
740
  description: "Run the global bootstrap manually (install templates, ~/.cleo symlink, agents, skills). Same as npm postinstall.",
722
- load: async () => (await import("./install-global-4AZUCH6U.js")).installGlobalCommand
741
+ load: async () => (await import("./install-global-YQV4W5OG.js")).installGlobalCommand
723
742
  },
724
743
  {
725
744
  exportName: "intelligenceCommand",
726
745
  name: "intelligence",
727
746
  description: "Predictive intelligence and quality analysis",
728
- load: async () => (await import("./intelligence-2OSFOGD2.js")).intelligenceCommand
747
+ load: async () => (await import("./intelligence-QIC4SN4X.js")).intelligenceCommand
729
748
  },
730
749
  {
731
750
  exportName: "issueCommand",
732
751
  name: "issue",
733
752
  description: "File bug reports, feature requests, or questions to CLEO GitHub repo",
734
- load: async () => (await import("./issue-IIWEDNFC.js")).issueCommand
753
+ load: async () => (await import("./issue-P5RNMRDG.js")).issueCommand
735
754
  },
736
755
  {
737
756
  exportName: "janitorCommand",
738
757
  name: "janitor",
739
758
  description: "Orphan process reaper and stale scope/lock/debris sweep (silent, idempotent)",
740
- load: async () => (await import("./janitor-GPMC7VOR.js")).janitorCommand
759
+ load: async () => (await import("./janitor-ZNCFQ7E3.js")).janitorCommand
741
760
  },
742
761
  {
743
762
  exportName: "labelsCommand",
744
763
  name: "labels",
745
764
  description: "List all labels (no args), or show tasks for a label (cleo labels <name>)",
746
- load: async () => (await import("./labels-5NPOIQXN.js")).labelsCommand
765
+ load: async () => (await import("./labels-ORBM3T57.js")).labelsCommand
747
766
  },
748
767
  {
749
768
  exportName: "lifecycleCommand",
750
769
  name: "lifecycle",
751
770
  description: "RCASD-IVTR+C lifecycle pipeline management",
752
- load: async () => (await import("./lifecycle-4FFS2K2T.js")).lifecycleCommand
771
+ load: async () => (await import("./lifecycle-MHR22TVI.js")).lifecycleCommand
753
772
  },
754
773
  {
755
774
  exportName: "listCommand",
756
775
  name: "list",
757
776
  description: "List tasks with optional filters",
758
- load: async () => (await import("./list-47KEUGPQ.js")).listCommand
777
+ load: async () => (await import("./list-LB6GCYYU.js")).listCommand
759
778
  },
760
779
  {
761
780
  exportName: "costCommand",
762
781
  name: "cost",
763
782
  description: "Compute cumulative USD cost for an LLM session from recorded token_usage entries. ",
764
- load: async () => (await import("./llm-cost-S7RS6BVA.js")).costCommand
783
+ load: async () => (await import("./llm-cost-MLMXEAR4.js")).costCommand
765
784
  },
766
785
  {
767
786
  exportName: "streamCommand",
768
787
  name: "stream",
769
788
  description: "Stream a single-prompt completion via LlmTransport.stream(). ",
770
- load: async () => (await import("./llm-stream-24A45NTS.js")).streamCommand
789
+ load: async () => (await import("./llm-stream-AAEUNKRP.js")).streamCommand
771
790
  },
772
791
  {
773
792
  exportName: "llmCommand",
774
793
  name: "llm",
775
794
  description: "Manage LLM credentials, role profiles, and resolver diagnostics",
776
- load: async () => (await import("./llm-G5B3I6GD.js")).llmCommand
795
+ load: async () => (await import("./llm-OTJWPMGI.js")).llmCommand
777
796
  },
778
797
  {
779
798
  exportName: "logCommand",
780
799
  name: "log",
781
800
  description: "View audit log entries (operations, timestamps, changes)",
782
- load: async () => (await import("./log-XF6H2XSD.js")).logCommand
801
+ load: async () => (await import("./log-W2A5M2NA.js")).logCommand
783
802
  },
784
803
  {
785
804
  exportName: "loginCommand",
786
805
  name: "login",
787
- description: "Log in to a Cleo Nexus account (cleo login nexus: device code, --api-url, --no-browser) or to an LLM provider, binding a usable profile in one step. The picker lists the Cleo Nexus account first, then the providers. After a Cleo Nexus sign-in inside an unlinked CLEO project it offers to link the project and back it up (--yes does it; a non-interactive run prints the next command); outside a project it lists your projects with the cleo cloud restore command for each. For a provider it picks an auth method (browser OAuth or API key), selects a model, binds it, and validates the binding. cleo auth login and cleo llm login resolve to this same flow. Prompts/URLs go to stderr; the result is a human line on a terminal or a JSON envelope when piped / --json.",
788
- load: async () => (await import("./login-LBPLGHYG.js")).loginCommand
806
+ description: "Log in to a Cleo Nexus account (cleo login nexus: device code, --api-url, --no-browser) or to an LLM provider, binding a usable profile in one step. The picker lists the Cleo Nexus account first, then the providers. Without a terminal and no target, cleo login signs in to Cleo Nexus (an agent needs no extra word). After a Cleo Nexus sign-in inside an unlinked CLEO project it links the project and backs it up: a terminal is asked, --yes or a non-interactive run (an agent) does it, a restore over this copy is never done unasked, and CI only prints the next command; outside a project it lists your projects with the cleo cloud restore command for each. For a provider it picks an auth method (browser OAuth or API key), selects a model, binds it, and validates the binding. cleo auth login and cleo llm login resolve to this same flow. Prompts/URLs go to stderr; the result is a human line on a terminal or a JSON envelope when piped / --json.",
807
+ load: async () => (await import("./login-SIXFFZSP.js")).loginCommand
789
808
  },
790
809
  {
791
810
  exportName: "logoutCommand",
792
811
  name: "logout",
793
812
  description: "Sign out. cleo logout [nexus] signs this machine out of Cleo Nexus (the device keeps its id for the next login; --revoke burns it), confirmed by the server; cleo logout <provider> [label] removes an LLM credential exactly like cleo auth remove (the label may be omitted when the provider has one credential).",
794
- load: async () => (await import("./logout-SX4JSJIV.js")).logoutCommand
813
+ load: async () => (await import("./logout-G3KVLQQM.js")).logoutCommand
795
814
  },
796
815
  {
797
816
  exportName: "manifestCommand",
798
817
  name: "manifest",
799
818
  description: "Manifest operations (pipeline_manifest table)",
800
- load: async () => (await import("./manifest-NMCW4PIW.js")).manifestCommand
819
+ load: async () => (await import("./manifest-G4T6EBSI.js")).manifestCommand
801
820
  },
802
821
  {
803
822
  exportName: "mapCommand",
804
823
  name: "map",
805
824
  description: "Analyze codebase structure and return structured mapping",
806
- load: async () => (await import("./map-BU72KMGF.js")).mapCommand
825
+ load: async () => (await import("./map-VU5M72TK.js")).mapCommand
807
826
  },
808
827
  {
809
828
  exportName: "memoryCommand",
810
829
  name: "memory",
811
830
  description: "BRAIN memory operations (patterns, learnings, decisions \u2014 use decision-store/-find for architectural decisions)",
812
- load: async () => (await import("./memory-UHYIVGVM.js")).memoryCommand
831
+ load: async () => (await import("./memory-2E27G2G5.js")).memoryCommand
813
832
  },
814
833
  {
815
834
  exportName: "migrateAgentsV2Command",
816
835
  name: "agents-v2",
817
836
  description: "Register existing .cant agent files into signaldock.db (idempotent, conflict-safe)",
818
- load: async () => (await import("./migrate-agents-v2-OO7OILZK.js")).migrateAgentsV2Command
837
+ load: async () => (await import("./migrate-agents-v2-A52QIYNJ.js")).migrateAgentsV2Command
819
838
  },
820
839
  {
821
840
  exportName: "migrateClaudeMemCommand",
822
841
  name: "migrate",
823
842
  description: "Data migration utilities",
824
- load: async () => (await import("./migrate-claude-mem-EDNYUY3K.js")).migrateClaudeMemCommand
843
+ load: async () => (await import("./migrate-claude-mem-TPDW3R4Z.js")).migrateClaudeMemCommand
825
844
  },
826
845
  {
827
846
  exportName: "nextCommand",
828
847
  name: "next",
829
848
  description: "Suggest next task to work on based on priority and dependencies",
830
- load: async () => (await import("./next-RZFRG5X7.js")).nextCommand
849
+ load: async () => (await import("./next-SVH4LIDY.js")).nextCommand
831
850
  },
832
851
  {
833
852
  exportName: "nexusCommand",
834
853
  name: "nexus",
835
854
  description: "Cross-project NEXUS operations",
836
- load: async () => (await import("./nexus-4S4Z5EVU.js")).nexusCommand
855
+ load: async () => (await import("./nexus-XSFXN5E6.js")).nexusCommand
837
856
  },
838
857
  {
839
858
  exportName: "opsCommand",
840
859
  name: "ops",
841
860
  description: "Show available operations filtered to disclosure tier",
842
- load: async () => (await import("./ops-KR7AWCG3.js")).opsCommand
861
+ load: async () => (await import("./ops-K6LHY5J6.js")).opsCommand
843
862
  },
844
863
  {
845
864
  exportName: "orchestrateCommand",
846
865
  name: "orchestrate",
847
866
  description: "Multi-agent orchestration commands",
848
- load: async () => (await import("./orchestrate-HOYZY3VX.js")).orchestrateCommand
867
+ load: async () => (await import("./orchestrate-HURUCQFT.js")).orchestrateCommand
849
868
  },
850
869
  {
851
870
  exportName: "otelCommand",
852
871
  name: "otel",
853
872
  description: "Lightweight token metrics from .cleo/metrics/TOKEN_USAGE.jsonl (session-level, spawn-level events)",
854
- load: async () => (await import("./otel-U7IIRBCT.js")).otelCommand
873
+ load: async () => (await import("./otel-JCNPVJLZ.js")).otelCommand
855
874
  },
856
875
  {
857
876
  exportName: "phaseCommand",
858
877
  name: "phase",
859
878
  description: "Project-level phase lifecycle management",
860
- load: async () => (await import("./phase-NYZFHUE5.js")).phaseCommand
879
+ load: async () => (await import("./phase-VDFRASSO.js")).phaseCommand
861
880
  },
862
881
  {
863
882
  exportName: "pivotCommand",
864
883
  name: "pivot",
865
884
  description: "Record an audited context switch from one task to another (replaces silent reframes)",
866
- load: async () => (await import("./pivot-FF2CVUZL.js")).pivotCommand
885
+ load: async () => (await import("./pivot-V5MSQZ7L.js")).pivotCommand
867
886
  },
868
887
  {
869
888
  exportName: "planCommand",
870
889
  name: "plan",
871
890
  description: "Task prioritization view: in-progress epics, ready tasks, blocked tasks, open bugs with scoring. Use when deciding what to work on next.",
872
- load: async () => (await import("./plan-3SL2NTRV.js")).planCommand
891
+ load: async () => (await import("./plan-SQUGCKSM.js")).planCommand
873
892
  },
874
893
  {
875
894
  exportName: "playbookCommand",
876
895
  name: "playbook",
877
896
  description: "Playbook runtime operations (run, status, resume, list, create, validate)",
878
- load: async () => (await import("./playbook-2FCBV7N3.js")).playbookCommand
897
+ load: async () => (await import("./playbook-L47GLDQD.js")).playbookCommand
879
898
  },
880
899
  {
881
900
  exportName: "projectCommand",
882
901
  name: "project",
883
902
  description: "Project lifecycle management (move, reroot, rename, re-register, link).",
884
- load: async () => (await import("./project-WDX2TGMC.js")).projectCommand
903
+ load: async () => (await import("./project-YZEC7GYF.js")).projectCommand
885
904
  },
886
905
  {
887
906
  exportName: "promoteCommand",
888
907
  name: "promote",
889
908
  description: "Remove parent from task, making it root-level",
890
- load: async () => (await import("./promote-YINYFBZY.js")).promoteCommand
909
+ load: async () => (await import("./promote-FINF4HVK.js")).promoteCommand
891
910
  },
892
911
  {
893
912
  exportName: "provenanceCommand",
894
913
  name: "provenance",
895
914
  description: "Provenance-graph maintenance: backfill, verify, repair",
896
- load: async () => (await import("./provenance-C7AYD7WG.js")).provenanceCommand
915
+ load: async () => (await import("./provenance-YZG33JGM.js")).provenanceCommand
897
916
  },
898
917
  {
899
918
  exportName: "providerCommand",
900
919
  name: "provider",
901
920
  description: "CAAMP provider registry: list, detect, supports, hooks, inject",
902
- load: async () => (await import("./provider-QLJEDQBR.js")).providerCommand
921
+ load: async () => (await import("./provider-23JVLLG3.js")).providerCommand
903
922
  },
904
923
  {
905
924
  exportName: "reasonCommand",
906
925
  name: "reason",
907
926
  description: "Reasoning and intelligence operations (impact, timeline)",
908
- load: async () => (await import("./reason-JF5BHBM5.js")).reasonCommand
927
+ load: async () => (await import("./reason-FHN54O7O.js")).reasonCommand
909
928
  },
910
929
  {
911
930
  exportName: "reconcileCommand",
912
931
  name: "reconcile",
913
932
  description: "Reconcile state against external sources (release tags, schema, etc.)",
914
- load: async () => (await import("./reconcile-NMISHDGX.js")).reconcileCommand
933
+ load: async () => (await import("./reconcile-MOM5T4AX.js")).reconcileCommand
915
934
  },
916
935
  {
917
936
  exportName: "refreshMemoryCommand",
918
937
  name: "refresh-memory",
919
938
  description: "Regenerate .cleo/memory-bridge.md from brain.db",
920
- load: async () => (await import("./refresh-memory-EY5YNICV.js")).refreshMemoryCommand
939
+ load: async () => (await import("./refresh-memory-3OSTRAVK.js")).refreshMemoryCommand
921
940
  },
922
941
  {
923
942
  exportName: "relatesCommand",
924
943
  name: "relates",
925
944
  description: "Semantic relationship discovery and management between tasks",
926
- load: async () => (await import("./relates-R3ZPICAY.js")).relatesCommand
945
+ load: async () => (await import("./relates-6FWUFUS2.js")).relatesCommand
927
946
  },
928
947
  {
929
948
  exportName: "releaseCommand",
930
949
  name: "release",
931
950
  description: "Release lifecycle management \u2014 4-verb pipeline: plan \u2192 open \u2192 reconcile / rollback. ",
932
- load: async () => (await import("./release-4ZJTMUUT.js")).releaseCommand
951
+ load: async () => (await import("./release-URX6JHZ2.js")).releaseCommand
933
952
  },
934
953
  {
935
954
  exportName: "remoteCommand",
936
955
  name: "remote",
937
956
  description: "Manage .cleo/.git remotes for multi-contributor state sharing",
938
- load: async () => (await import("./remote-QSONJDIK.js")).remoteCommand
957
+ load: async () => (await import("./remote-VIULU2T5.js")).remoteCommand
939
958
  },
940
959
  {
941
960
  exportName: "pushCommand",
942
961
  name: "push",
943
962
  description: "Push .cleo/ state to remote (operates on .cleo/.git)",
944
- load: async () => (await import("./remote-QSONJDIK.js")).pushCommand
963
+ load: async () => (await import("./remote-VIULU2T5.js")).pushCommand
945
964
  },
946
965
  {
947
966
  exportName: "pullCommand",
948
967
  name: "pull",
949
968
  description: "Pull .cleo/ state from remote (operates on .cleo/.git)",
950
- load: async () => (await import("./remote-QSONJDIK.js")).pullCommand
969
+ load: async () => (await import("./remote-VIULU2T5.js")).pullCommand
951
970
  },
952
971
  {
953
972
  exportName: "reorderCommand",
954
973
  name: "reorder",
955
974
  description: "Change task position within sibling group",
956
- load: async () => (await import("./reorder-J3DOE7ST.js")).reorderCommand
975
+ load: async () => (await import("./reorder-UIPN6TQY.js")).reorderCommand
957
976
  },
958
977
  {
959
978
  exportName: "reparentCommand",
960
979
  name: "reparent",
961
980
  description: "Move task to a different parent in hierarchy",
962
- load: async () => (await import("./reparent-2OUMKEZX.js")).reparentCommand
981
+ load: async () => (await import("./reparent-ALOWWUIU.js")).reparentCommand
963
982
  },
964
983
  {
965
984
  exportName: "reqCommand",
966
985
  name: "req",
967
986
  description: "Manage REQ-ID-addressable acceptance gates on tasks (in-task gates only). For cross-task dependency edges, use `cleo update <id> --add-depends <ids>` or `cleo update <id> --add-relates <id>:blocks` (gh-394).",
968
- load: async () => (await import("./req-TZB7OFKO.js")).reqCommand
987
+ load: async () => (await import("./req-RH2Y3H7A.js")).reqCommand
969
988
  },
970
989
  {
971
990
  exportName: "researchCommand",
972
991
  name: "research",
973
992
  description: "Research commands and manifest operations",
974
- load: async () => (await import("./research-MTD7EX45.js")).researchCommand
993
+ load: async () => (await import("./research-G2Y72HRC.js")).researchCommand
975
994
  },
976
995
  {
977
996
  exportName: "restoreCommand",
978
997
  name: "restore",
979
998
  description: "Restore from backup or restore tasks from terminal states (archived, cancelled, completed)",
980
- load: async () => (await import("./restore-VEUOX7NF.js")).restoreCommand
999
+ load: async () => (await import("./restore-VBR5XNML.js")).restoreCommand
981
1000
  },
982
1001
  {
983
1002
  exportName: "revertCommand",
984
1003
  name: "revert",
985
1004
  description: "Owner kill-switch: squash-revert all sentient merge commits from a receipt ID",
986
- load: async () => (await import("./revert-3YF2IL5G.js")).revertCommand
1005
+ load: async () => (await import("./revert-32LDNSGP.js")).revertCommand
987
1006
  },
988
1007
  {
989
1008
  exportName: "roadmapCommand",
990
1009
  name: "roadmap",
991
1010
  description: "Generate project roadmap from task provenance \u2014 epics grouped by status with progress",
992
- load: async () => (await import("./roadmap-7OOQLXKG.js")).roadmapCommand
1011
+ load: async () => (await import("./roadmap-LFU3AG7D.js")).roadmapCommand
993
1012
  },
994
1013
  {
995
1014
  exportName: "runCommand",
996
1015
  name: "run",
997
1016
  description: "Run a heavy command (tests, builds, installs) under the machine-wide resource budget: cleo run [--class test|build|full-build] [--wait] [--passthrough] -- <command...>",
998
- load: async () => (await import("./run-2U5NZV5Z.js")).runCommand
1017
+ load: async () => (await import("./run-HXRILSR7.js")).runCommand
999
1018
  },
1000
1019
  {
1001
1020
  exportName: "safestopCommand",
1002
1021
  name: "safestop",
1003
1022
  description: "Graceful shutdown for agents approaching context limits",
1004
- load: async () => (await import("./safestop-VR4VK56D.js")).safestopCommand
1023
+ load: async () => (await import("./safestop-Z5UC7NGQ.js")).safestopCommand
1005
1024
  },
1006
1025
  {
1007
1026
  exportName: "sagaCommand",
1008
1027
  name: "saga",
1009
1028
  description: "Saga management \u2014 above-Epic grouping tier (ADR-073)",
1010
- load: async () => (await import("./saga-SEWPIOX2.js")).sagaCommand
1029
+ load: async () => (await import("./saga-Y6FZS6AM.js")).sagaCommand
1011
1030
  },
1012
1031
  {
1013
1032
  exportName: "schemaCommand",
1014
1033
  name: "schema",
1015
1034
  description: "Introspect a CLEO operation: show params, types, enums, and declared gates",
1016
- load: async () => (await import("./schema-C52WZ35V.js")).schemaCommand
1035
+ load: async () => (await import("./schema-OOOKLWUE.js")).schemaCommand
1017
1036
  },
1018
1037
  {
1019
1038
  exportName: "selfUpdateCommand",
1020
1039
  name: "self-update",
1021
1040
  description: "Check for and install CLEO updates, then run post-update diagnostics",
1022
- load: async () => (await import("./self-update-GQIGUDPS.js")).selfUpdateCommand
1041
+ load: async () => (await import("./self-update-26SOTJMH.js")).selfUpdateCommand
1023
1042
  },
1024
1043
  {
1025
1044
  exportName: "selfimproveCommand",
1026
1045
  name: "selfimprove",
1027
1046
  description: "Self-improvement loop \u2014 replay a canned dogfood scenario, diff vs golden, and surface ",
1028
- load: async () => (await import("./selfimprove-3Y5L4ECT.js")).selfimproveCommand
1047
+ load: async () => (await import("./selfimprove-4SMOCLUV.js")).selfimproveCommand
1029
1048
  },
1030
1049
  {
1031
1050
  exportName: "sentientCommand",
1032
1051
  name: "sentient",
1033
1052
  description: "Manage the Tier-1 sentient autonomous loop daemon and Tier-2 proposals",
1034
- load: async () => (await import("./sentient-M4YMAVGV.js")).sentientCommand
1053
+ load: async () => (await import("./sentient-RGMWR4XJ.js")).sentientCommand
1035
1054
  },
1036
1055
  {
1037
1056
  exportName: "sequenceCommand",
1038
1057
  name: "sequence",
1039
1058
  description: "Inspect and manage task ID sequence (show/check/repair)",
1040
- load: async () => (await import("./sequence-6UBMA4IF.js")).sequenceCommand
1059
+ load: async () => (await import("./sequence-H7DSAJPF.js")).sequenceCommand
1041
1060
  },
1042
1061
  {
1043
1062
  exportName: "serviceCommand",
1044
1063
  name: "service",
1045
1064
  description: "Connect, list, revoke, and inspect service-vault credentials (github, google, \u2026)",
1046
- load: async () => (await import("./service-5R7SILZ7.js")).serviceCommand
1065
+ load: async () => (await import("./service-EK5MGB2D.js")).serviceCommand
1047
1066
  },
1048
1067
  {
1049
1068
  exportName: "sessionCommand",
1050
1069
  name: "session",
1051
1070
  description: "Manage work sessions",
1052
- load: async () => (await import("./session-3C6AAC4Y.js")).sessionCommand
1071
+ load: async () => (await import("./session-HYUXAQGC.js")).sessionCommand
1053
1072
  },
1054
1073
  {
1055
1074
  exportName: "setupCommand",
1056
1075
  name: "setup",
1057
1076
  description: "Interactive setup wizard \u2014 runs every section in canonical order (llm \u2192 system-one \u2192 models-roles \u2192 identity \u2192 sentient \u2192 project-conventions \u2192 harness \u2192 brain \u2192 integrations \u2192 telemetry \u2192 verification); system-one is optional. Use --section <name> for a single section, --non-interactive with section-specific flags to configure without prompts, --config-json for fully scripted setup, or --reset to reconfigure already-set sections.",
1058
- load: async () => (await import("./setup-BTUBW5PU.js")).setupCommand
1077
+ load: async () => (await import("./setup-L3YYV53D.js")).setupCommand
1059
1078
  },
1060
1079
  {
1061
1080
  exportName: "showCommand",
1062
1081
  name: "show",
1063
1082
  description: "Show task details by ID. Accepts SEVERAL ids \u2014 `cleo show T1 T2 T3` returns them in one envelope and pays CLI startup once instead of per task (gh#1207). MVI-projected (id + title + status + key metadata) by default; pass --verbose / --full to receive the complete record with description, acceptance, verification, evidence, etc. (T9922)",
1064
- load: async () => (await import("./show-MXT2V7TF.js")).showCommand
1083
+ load: async () => (await import("./show-364V3KY2.js")).showCommand
1065
1084
  },
1066
1085
  {
1067
1086
  exportName: "skillCommand",
1068
1087
  name: "skill",
1069
1088
  description: "Single-skill operations (restore, \u2026)",
1070
- load: async () => (await import("./skill-GFUZOU2C.js")).skillCommand
1089
+ load: async () => (await import("./skill-F2KR6HW5.js")).skillCommand
1071
1090
  },
1072
1091
  {
1073
1092
  exportName: "skillsCommand",
1074
1093
  name: "skills",
1075
1094
  description: "Skill management: list, search, validate, info, install",
1076
- load: async () => (await import("./skills-EDWLKAF3.js")).skillsCommand
1095
+ load: async () => (await import("./skills-FS3DCP6E.js")).skillsCommand
1077
1096
  },
1078
1097
  {
1079
1098
  exportName: "snapshotCommand",
1080
1099
  name: "snapshot",
1081
1100
  description: "Export/import task state snapshots for multi-contributor sharing",
1082
- load: async () => (await import("./snapshot-GUWMURCM.js")).snapshotCommand
1101
+ load: async () => (await import("./snapshot-EGXEQ5PR.js")).snapshotCommand
1083
1102
  },
1084
1103
  {
1085
1104
  exportName: "startCommand",
1086
1105
  name: "start",
1087
1106
  description: "Start working on a task (sets it as the current task and takes your session's claim lease)",
1088
- load: async () => (await import("./start-QFG56RGN.js")).startCommand
1107
+ load: async () => (await import("./start-6DXOCCKL.js")).startCommand
1089
1108
  },
1090
1109
  {
1091
1110
  exportName: "statsCommand",
1092
1111
  name: "stats",
1093
1112
  description: "Project statistics (counts, completion rates, velocity)",
1094
- load: async () => (await import("./stats-GW55P7RR.js")).statsCommand
1113
+ load: async () => (await import("./stats-UVUQEGYC.js")).statsCommand
1095
1114
  },
1096
1115
  {
1097
1116
  exportName: "statusCommand",
1098
1117
  name: "status",
1099
1118
  description: "Unified config + credential + session + harness + daemon snapshot. ",
1100
- load: async () => (await import("./status-46HTKNRR.js")).statusCommand
1119
+ load: async () => (await import("./status-XLKYLN42.js")).statusCommand
1101
1120
  },
1102
1121
  {
1103
1122
  exportName: "stickyCommand",
1104
1123
  name: "sticky",
1105
1124
  description: "Manage sticky notes - quick project-wide ephemeral captures",
1106
- load: async () => (await import("./sticky-2DUZOUGI.js")).stickyCommand
1125
+ load: async () => (await import("./sticky-XZXZDCFW.js")).stickyCommand
1107
1126
  },
1108
1127
  {
1109
1128
  exportName: "stopCommand",
1110
1129
  name: "stop",
1111
1130
  description: "",
1112
- load: async () => (await import("./stop-J2QEUKHX.js")).stopCommand
1131
+ load: async () => (await import("./stop-VNOAFWNB.js")).stopCommand
1113
1132
  },
1114
1133
  {
1115
1134
  exportName: "syncCommand",
1116
1135
  name: "sync",
1117
1136
  description: "External task synchronisation management",
1118
- load: async () => (await import("./sync-GJP2QYT5.js")).syncCommand
1137
+ load: async () => (await import("./sync-YYPARW3A.js")).syncCommand
1119
1138
  },
1120
1139
  {
1121
1140
  exportName: "tasksCommand",
1122
1141
  name: "tasks",
1123
1142
  description: "Task query namespace: show, find, next, current, plan, analyze, slice",
1124
- load: async () => (await import("./tasks-BNXTM7PB.js")).tasksCommand
1143
+ load: async () => (await import("./tasks-LBJC7CZV.js")).tasksCommand
1125
1144
  },
1126
1145
  {
1127
1146
  exportName: "telemetryCommand",
1128
1147
  name: "telemetry",
1129
1148
  description: "Manage anonymous skills-usage telemetry (enable/disable/status)",
1130
- load: async () => (await import("./telemetry-55Z2XJWL.js")).telemetryCommand
1149
+ load: async () => (await import("./telemetry-CU7W5WAY.js")).telemetryCommand
1131
1150
  },
1132
1151
  {
1133
1152
  exportName: "templatesCommand",
1134
1153
  name: "templates",
1135
1154
  description: "TemplateManifest SSoT registry surface (list, show, install, upgrade, diff, validate)",
1136
- load: async () => (await import("./templates-7O77TKPV.js")).templatesCommand
1155
+ load: async () => (await import("./templates-G42JBUY4.js")).templatesCommand
1137
1156
  },
1138
1157
  {
1139
1158
  exportName: "testingCommand",
1140
1159
  name: "testing",
1141
1160
  description: "Validate testing protocol compliance",
1142
- load: async () => (await import("./testing-37YTBNKP.js")).testingCommand
1161
+ load: async () => (await import("./testing-HSRITHEY.js")).testingCommand
1143
1162
  },
1144
1163
  {
1145
1164
  exportName: "tokenCommand",
1146
1165
  name: "token",
1147
1166
  description: "Provider-aware token telemetry from tasks.db (historical, per-operation tracking)",
1148
- load: async () => (await import("./token-UAVJMNUI.js")).tokenCommand
1167
+ load: async () => (await import("./token-J74E7TSU.js")).tokenCommand
1149
1168
  },
1150
1169
  {
1151
1170
  exportName: "transcriptCommand",
1152
1171
  name: "transcript",
1153
1172
  description: "Transcript lifecycle management: scan, extract, and prune session transcripts",
1154
- load: async () => (await import("./transcript-LORQTV5Z.js")).transcriptCommand
1173
+ load: async () => (await import("./transcript-RGK7RSGQ.js")).transcriptCommand
1155
1174
  },
1156
1175
  {
1157
1176
  exportName: "tuiCommand",
@@ -1163,37 +1182,37 @@ var COMMAND_MANIFEST = [
1163
1182
  exportName: "updateCommand",
1164
1183
  name: "update",
1165
1184
  description: "Update a task. Safe under concurrent invocation \u2014 retries on SQLITE_BUSY up to 4 attempts (gh#391).",
1166
- load: async () => (await import("./update-NVCYV2FT.js")).updateCommand
1185
+ load: async () => (await import("./update-2KQWA27S.js")).updateCommand
1167
1186
  },
1168
1187
  {
1169
1188
  exportName: "upgradeCommand",
1170
1189
  name: "upgrade",
1171
1190
  description: "Unified project maintenance (storage migration, schema repair, structural fixes, doc refresh)",
1172
- load: async () => (await import("./upgrade-OXJXOGEF.js")).upgradeCommand
1191
+ load: async () => (await import("./upgrade-XRSQ4RWH.js")).upgradeCommand
1173
1192
  },
1174
1193
  {
1175
1194
  exportName: "verifyCommand",
1176
1195
  name: "verify",
1177
1196
  description: "View or modify verification gates for a task",
1178
- load: async () => (await import("./verify-LYLDHPT2.js")).verifyCommand
1197
+ load: async () => (await import("./verify-WASRGDBA.js")).verifyCommand
1179
1198
  },
1180
1199
  {
1181
1200
  exportName: "webCommand",
1182
1201
  name: "web",
1183
1202
  description: "Open CLEO Studio in the browser (starts gateway on demand)",
1184
- load: async () => (await import("./web-QP2RP266.js")).webCommand
1203
+ load: async () => (await import("./web-NJ3P67EU.js")).webCommand
1185
1204
  },
1186
1205
  {
1187
1206
  exportName: "workgraphCommand",
1188
1207
  name: "workgraph",
1189
1208
  description: "PM-Core V2 WorkGraph operations \u2014 validate, apply, plan, structure, status",
1190
- load: async () => (await import("./workgraph-FXBSZDQE.js")).workgraphCommand
1209
+ load: async () => (await import("./workgraph-OHJ2VKJD.js")).workgraphCommand
1191
1210
  },
1192
1211
  {
1193
1212
  exportName: "worktreeCommand",
1194
1213
  name: "worktree",
1195
1214
  description: "Inspect and manage CLEO-attached git worktrees. ",
1196
- load: async () => (await import("./worktree-6RXAJIST.js")).worktreeCommand
1215
+ load: async () => (await import("./worktree-FVQLORFY.js")).worktreeCommand
1197
1216
  }
1198
1217
  ];
1199
1218
 
@@ -1338,10 +1357,14 @@ async function validateCommandPath(command, rawArgs, label) {
1338
1357
  assertKnownFlags(rawArgs, schema, label);
1339
1358
  }
1340
1359
  }
1360
+ async function installRetiredHostGuard() {
1361
+ const { installRetiredHostFetchGuard } = await import("@cleocode/core/conduit/cloud-endpoint.js");
1362
+ installRetiredHostFetchGuard();
1363
+ }
1341
1364
  function lazyCommand(meta, loader) {
1342
1365
  let promise = null;
1343
1366
  const load = () => {
1344
- promise ??= loader();
1367
+ promise ??= Promise.all([loader(), installRetiredHostGuard()]).then(([command]) => command);
1345
1368
  return promise;
1346
1369
  };
1347
1370
  const validate = async (cmd, rawArgs) => {
@@ -1349,8 +1372,8 @@ function lazyCommand(meta, loader) {
1349
1372
  await validateCommandPath(cmd, rawArgs, meta.name);
1350
1373
  } catch (err) {
1351
1374
  if (err instanceof UnknownFlagError) {
1352
- const { cliError } = await import("./renderers-64OR3IWX.js");
1353
- const { ExitCode } = await import("@cleocode/contracts");
1375
+ const { cliError } = await import("./renderers-TGSW77J4.js");
1376
+ const { ExitCode } = await import("@cleocode/contracts/exit-codes.js");
1354
1377
  cliError(err.message, ExitCode.VALIDATION_ERROR, {
1355
1378
  name: err.code,
1356
1379
  fix: err.fix,
@@ -1411,15 +1434,76 @@ function releaseCliThreadpoolEnv(env = process.env, startPool = startThreadPool)
1411
1434
  return true;
1412
1435
  }
1413
1436
 
1437
+ // packages/cleo/src/cli/lib/exit-path.ts
1438
+ import { existsSync, readFileSync } from "node:fs";
1439
+ import { dirname, join } from "node:path";
1440
+ import { fileURLToPath } from "node:url";
1441
+ var preloaded = null;
1442
+ function preloadExitPath() {
1443
+ preloaded ??= Promise.all([
1444
+ import("./renderers-TGSW77J4.js"),
1445
+ import("@cleocode/core/shutdown"),
1446
+ import("@cleocode/core/shutdown-deadline")
1447
+ ]).then(([renderers, shutdown, deadline]) => ({
1448
+ cliError: renderers.cliError,
1449
+ shutdownCliRuntime: shutdown.shutdownCliRuntime,
1450
+ armExitBackstop: deadline.armExitBackstop,
1451
+ formatShutdownOutcomes: deadline.formatShutdownOutcomes
1452
+ }));
1453
+ preloaded.catch(() => {
1454
+ });
1455
+ return preloaded;
1456
+ }
1457
+ function exitPath() {
1458
+ return preloadExitPath();
1459
+ }
1460
+ function errorCode(err) {
1461
+ return err instanceof Error && "code" in err && typeof err.code === "string" ? err.code : void 0;
1462
+ }
1463
+ function isVanishedModule(err) {
1464
+ const code = errorCode(err);
1465
+ return code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND";
1466
+ }
1467
+ function vanishedModuleNotice(err, runningVersion, packageJsonPath = defaultPackageJson()) {
1468
+ const installed2 = installedVersion(packageJsonPath);
1469
+ const missing = err instanceof Error ? err.message.split("\n")[0] : String(err);
1470
+ if (installed2 !== null && installed2 !== runningVersion) {
1471
+ return `[cleo] CLEO was upgraded from ${runningVersion} to ${installed2} while this command ran, and the code it needed to finish is gone (${missing}). The command itself ran; check its result, and run it again if needed.
1472
+ `;
1473
+ }
1474
+ return `[cleo] a CLEO module is missing from the installation (${missing}). Reinstall CLEO.
1475
+ `;
1476
+ }
1477
+ function exitPathLoadFailureNotice(err, runningVersion, packageJsonPath) {
1478
+ if (isVanishedModule(err)) return vanishedModuleNotice(err, runningVersion, packageJsonPath);
1479
+ const code = errorCode(err);
1480
+ const detail = err instanceof Error ? err.stack ?? err.message : String(err);
1481
+ return `[cleo] the CLI could not load the code that finishes this command${code ? ` (${code})` : ""}:
1482
+ ${detail}
1483
+ `;
1484
+ }
1485
+ function defaultPackageJson() {
1486
+ return join(dirname(fileURLToPath(import.meta.url)), "../../package.json");
1487
+ }
1488
+ function installedVersion(packageJsonPath) {
1489
+ try {
1490
+ if (!existsSync(packageJsonPath)) return null;
1491
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
1492
+ return typeof pkg.version === "string" ? pkg.version : null;
1493
+ } catch {
1494
+ return null;
1495
+ }
1496
+ }
1497
+
1414
1498
  // packages/cleo/src/cli/lib/first-run-detection.ts
1415
- import { existsSync } from "node:fs";
1416
- import { join } from "node:path";
1499
+ import { existsSync as existsSync2 } from "node:fs";
1500
+ import { join as join2 } from "node:path";
1417
1501
  async function detectFirstRun() {
1418
1502
  const envKey = process.env["ANTHROPIC_API_KEY"];
1419
1503
  if (typeof envKey === "string" && envKey.length > 0) return false;
1420
1504
  const { getCleoPlatformPaths } = await import("@cleocode/paths");
1421
- const configPath = join(getCleoPlatformPaths().config, "config.json");
1422
- if (existsSync(configPath)) return false;
1505
+ const configPath = join2(getCleoPlatformPaths().config, "config.json");
1506
+ if (existsSync2(configPath)) return false;
1423
1507
  try {
1424
1508
  const { getCredentialPool } = await import("@cleocode/core/llm/credential-pool.js");
1425
1509
  const pool = getCredentialPool();
@@ -1460,9 +1544,9 @@ function waitForEnterOrTimeout(timeoutMs) {
1460
1544
  }
1461
1545
  async function maybePromptFirstRun() {
1462
1546
  try {
1547
+ if (process.stdin.isTTY !== true) return;
1463
1548
  const isFirstRun = await detectFirstRun();
1464
1549
  if (!isFirstRun) return;
1465
- if (process.stdin.isTTY !== true) return;
1466
1550
  process.stderr.write(
1467
1551
  "CLEO is not configured. Run 'cleo setup' to get started. (Press Enter to skip, or wait 10s)\n"
1468
1552
  );
@@ -1514,10 +1598,10 @@ function resolveFormat(opts, defaults, tty) {
1514
1598
  }
1515
1599
 
1516
1600
  // packages/cleo/src/cli/module-resolve-fast-path.ts
1517
- import { readFileSync, realpathSync, statSync } from "node:fs";
1601
+ import { readFileSync as readFileSync2, realpathSync, statSync } from "node:fs";
1518
1602
  import * as nodeModule from "node:module";
1519
- import { basename, dirname, join as join2 } from "node:path";
1520
- import { fileURLToPath, pathToFileURL } from "node:url";
1603
+ import { basename, dirname as dirname2, join as join3 } from "node:path";
1604
+ import { fileURLToPath as fileURLToPath2, pathToFileURL } from "node:url";
1521
1605
  var RELATIVE_JS_SPECIFIER = /^\.\.?\/[^?#%\\]*\.(js|mjs|cjs)$/;
1522
1606
  var DISABLE_ENV = "CLEO_RESOLVE_FAST_PATH";
1523
1607
  var NODE_FS = {
@@ -1525,10 +1609,17 @@ var NODE_FS = {
1525
1609
  realpath: (path) => realpathSync(path),
1526
1610
  readText: (path) => {
1527
1611
  try {
1528
- return readFileSync(path, "utf8");
1612
+ return readFileSync2(path, "utf8");
1529
1613
  } catch {
1530
1614
  return void 0;
1531
1615
  }
1616
+ },
1617
+ isDirectory: (path) => {
1618
+ try {
1619
+ return statSync(path).isDirectory();
1620
+ } catch {
1621
+ return false;
1622
+ }
1532
1623
  }
1533
1624
  };
1534
1625
  function declaredFormat(raw) {
@@ -1547,6 +1638,26 @@ function declaredFormat(raw) {
1547
1638
  function createFastResolve(fs = NODE_FS) {
1548
1639
  const scopeByDir = /* @__PURE__ */ new Map();
1549
1640
  const bareByKey = /* @__PURE__ */ new Map();
1641
+ const bareScopeByDir = /* @__PURE__ */ new Map();
1642
+ const bareScope = (dir) => {
1643
+ const cached = bareScopeByDir.get(dir);
1644
+ if (cached !== void 0) return cached;
1645
+ let scope = dir;
1646
+ let current = dir;
1647
+ for (; ; ) {
1648
+ if (fs.readText(join3(current, "package.json")) !== void 0) {
1649
+ scope = current;
1650
+ break;
1651
+ }
1652
+ if (basename(current) === "node_modules" || fs.isDirectory(join3(current, "node_modules")))
1653
+ break;
1654
+ const parent = dirname2(current);
1655
+ if (parent === current) break;
1656
+ current = parent;
1657
+ }
1658
+ bareScopeByDir.set(dir, scope);
1659
+ return scope;
1660
+ };
1550
1661
  const scopeFormat = (dir) => {
1551
1662
  const visited = [];
1552
1663
  let current = dir;
@@ -1559,12 +1670,12 @@ function createFastResolve(fs = NODE_FS) {
1559
1670
  }
1560
1671
  visited.push(current);
1561
1672
  if (basename(current) === "node_modules") break;
1562
- const raw = fs.readText(join2(current, "package.json"));
1673
+ const raw = fs.readText(join3(current, "package.json"));
1563
1674
  if (raw !== void 0) {
1564
1675
  found = declaredFormat(raw);
1565
1676
  break;
1566
1677
  }
1567
- const parent = dirname(current);
1678
+ const parent = dirname2(current);
1568
1679
  if (parent === current) break;
1569
1680
  current = parent;
1570
1681
  }
@@ -1574,13 +1685,13 @@ function createFastResolve(fs = NODE_FS) {
1574
1685
  const resolveRelative = (specifier, parentURL, extension) => {
1575
1686
  let real;
1576
1687
  try {
1577
- const path = fileURLToPath(new URL(specifier, parentURL));
1688
+ const path = fileURLToPath2(new URL(specifier, parentURL));
1578
1689
  if (!fs.isFile(path)) return null;
1579
1690
  real = fs.realpath(path);
1580
1691
  } catch {
1581
1692
  return null;
1582
1693
  }
1583
- const format = extension === "mjs" ? "module" : extension === "cjs" ? "commonjs" : scopeFormat(dirname(real));
1694
+ const format = extension === "mjs" ? "module" : extension === "cjs" ? "commonjs" : scopeFormat(dirname2(real));
1584
1695
  if (format === null) return null;
1585
1696
  return { url: pathToFileURL(real).href, format, shortCircuit: true };
1586
1697
  };
@@ -1594,7 +1705,13 @@ function createFastResolve(fs = NODE_FS) {
1594
1705
  }
1595
1706
  const bare = !specifier.startsWith(".") && !specifier.startsWith("/") && !specifier.startsWith("#") && !specifier.includes(":") && !specifier.includes("\\");
1596
1707
  if (!bare) return nextResolve(specifier, context);
1597
- const key = `${specifier}\0${parentURL.slice(0, parentURL.lastIndexOf("/"))}\0${conditions.join(",")}`;
1708
+ let parentDir;
1709
+ try {
1710
+ parentDir = dirname2(fileURLToPath2(parentURL));
1711
+ } catch {
1712
+ return nextResolve(specifier, context);
1713
+ }
1714
+ const key = `${specifier}\0${bareScope(parentDir)}\0${conditions.join(",")}`;
1598
1715
  const cached = bareByKey.get(key);
1599
1716
  if (cached) return cached;
1600
1717
  const resolved = nextResolve(specifier, context);
@@ -1650,8 +1767,8 @@ enforceNodeVersion();
1650
1767
  releaseCliThreadpoolEnv();
1651
1768
  installModuleResolveFastPath();
1652
1769
  function getPackageVersion() {
1653
- const pkgPath = join3(dirname2(fileURLToPath2(import.meta.url)), "../../package.json");
1654
- const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
1770
+ const pkgPath = join4(dirname3(fileURLToPath3(import.meta.url)), "../../package.json");
1771
+ const pkg = JSON.parse(readFileSync3(pkgPath, "utf-8"));
1655
1772
  return pkg.version;
1656
1773
  }
1657
1774
  var CLI_VERSION = getPackageVersion();
@@ -1665,7 +1782,7 @@ for (const entry of COMMAND_MANIFEST) {
1665
1782
  subCommands["version"] = defineCommand({
1666
1783
  meta: { name: "version", description: "Display CLEO version" },
1667
1784
  async run() {
1668
- const { cliOutput } = await import("./renderers-64OR3IWX.js");
1785
+ const { cliOutput } = await import("./renderers-TGSW77J4.js");
1669
1786
  cliOutput({ version: CLI_VERSION }, { command: "version" });
1670
1787
  }
1671
1788
  });
@@ -1737,7 +1854,7 @@ Valid modes: ${validModes.join(", ")}
1737
1854
  const { runCockpit } = await import("./cockpit-RZKLGYPN.js");
1738
1855
  let autoStart = true;
1739
1856
  try {
1740
- const { getRawConfig } = await import("@cleocode/core");
1857
+ const { getRawConfig } = await import("@cleocode/core/config");
1741
1858
  const cfg = await getRawConfig();
1742
1859
  const { shouldAutoStartGateway } = await import("./gateway-auto-start-EDK7XI6E.js");
1743
1860
  autoStart = shouldAutoStartGateway(cfg);
@@ -1748,15 +1865,17 @@ Valid modes: ${validModes.join(", ")}
1748
1865
  }
1749
1866
  const isHelpOrVersion = argv.length === 0 || argv[0] === "--help" || argv[0] === "-h" || argv[0] === "--version" || argv[0] === "-V" || argv[0] === "help";
1750
1867
  if (argv[0] === "--version" || argv[0] === "-V") {
1751
- const { cliOutput } = await import("./renderers-64OR3IWX.js");
1868
+ const { cliOutput } = await import("./renderers-TGSW77J4.js");
1752
1869
  cliOutput({ version: CLI_VERSION }, { command: "version" });
1753
1870
  return;
1754
1871
  }
1755
1872
  if (!isHelpOrVersion) {
1756
1873
  if (rawOpts["quiet"] === true) {
1757
- const { setLoggerQuiet } = await import("@cleocode/core/internal");
1874
+ const { setLoggerQuiet } = await import("@cleocode/core/logger");
1758
1875
  setLoggerQuiet(true);
1759
1876
  }
1877
+ const { showUpdateNotice } = await import("./update-notice-6SQ6WPQG.js");
1878
+ showUpdateNotice({ version: CLI_VERSION, argv, quiet: rawOpts["quiet"] === true });
1760
1879
  await runStartupMaintenance();
1761
1880
  }
1762
1881
  if (!isHelpOrVersion) {
@@ -1823,7 +1942,7 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
1823
1942
  const meta = typeof cmd.meta === "function" ? await cmd.meta() : await cmd.meta;
1824
1943
  const version = meta?.version;
1825
1944
  if (!version) {
1826
- const { cliError } = await import("./renderers-64OR3IWX.js");
1945
+ const { cliError } = await import("./renderers-TGSW77J4.js");
1827
1946
  cliError("No version specified", 1, { name: "E_NO_VERSION" });
1828
1947
  process.exit(1);
1829
1948
  }
@@ -1833,8 +1952,12 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
1833
1952
  }
1834
1953
  const { WarningCollector, withWarningCollector } = await import("@cleocode/lafs");
1835
1954
  const collector = new WarningCollector();
1955
+ preloadExitPath();
1836
1956
  await withWarningCollector(collector, async () => {
1837
- const { recordProjectEncounter, setProjectMovedRefusal } = await import("@cleocode/core/internal");
1957
+ const [{ recordProjectEncounter }, { setProjectMovedRefusal }] = await Promise.all([
1958
+ import("@cleocode/core/paths.js"),
1959
+ import("@cleocode/core/project-tombstone")
1960
+ ]);
1838
1961
  const isDoctor = rawArgs.find((a) => !a.startsWith("-")) === "doctor";
1839
1962
  if (isDoctor) setProjectMovedRefusal(false);
1840
1963
  try {
@@ -1850,7 +1973,7 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
1850
1973
  );
1851
1974
  }
1852
1975
  try {
1853
- const { heartbeatThisDevice } = await import("@cleocode/core/internal");
1976
+ const { heartbeatThisDevice } = await import("@cleocode/core/nexus/devices");
1854
1977
  const outcome = await heartbeatThisDevice();
1855
1978
  if (process.env["CLEO_DEBUG"])
1856
1979
  process.stderr.write(`[cleo][debug] Device heartbeat: ${outcome}
@@ -1859,20 +1982,43 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
1859
1982
  if (process.env["CLEO_DEBUG"])
1860
1983
  process.stderr.write(
1861
1984
  `[cleo][debug] Device heartbeat not recorded: ${error instanceof Error ? error.message : String(error)}
1985
+ `
1986
+ );
1987
+ }
1988
+ try {
1989
+ const [{ getProjectRoot }, { getCleoDirAbsolute }] = await Promise.all([
1990
+ import("@cleocode/core/project-scope"),
1991
+ import("@cleocode/core/paths.js")
1992
+ ]);
1993
+ const projectRoot = getProjectRoot();
1994
+ if (existsSync3(join4(getCleoDirAbsolute(projectRoot), "nexus-link.json"))) {
1995
+ const { startProjectPresenceRefresh } = await import("@cleocode/core/cloud/nexus-presence-refresh.js");
1996
+ startProjectPresenceRefresh({ projectRoot, cliVersion: CLI_VERSION });
1997
+ }
1998
+ } catch (error) {
1999
+ if (process.env["CLEO_DEBUG"])
2000
+ process.stderr.write(
2001
+ `[cleo][debug] Presence refresh not started: ${error instanceof Error ? error.message : String(error)}
1862
2002
  `
1863
2003
  );
1864
2004
  }
1865
2005
  try {
1866
2006
  await runCommand(cmd, { rawArgs });
1867
2007
  } catch (err) {
1868
- const { cliError } = await import("./renderers-64OR3IWX.js");
2008
+ let cliError;
2009
+ try {
2010
+ ({ cliError } = await exitPath());
2011
+ } catch (loadError) {
2012
+ process.stderr.write(exitPathLoadFailureNotice(loadError, CLI_VERSION));
2013
+ return await settleThenExit(1);
2014
+ }
1869
2015
  const cittyCliError = asCittyCliError(err);
1870
2016
  if (cittyCliError) {
1871
2017
  cliError(stripAnsi(cittyCliError.message), 1, {
1872
2018
  name: cittyErrorCodeName(cittyCliError.code),
1873
2019
  fix: cittyErrorFix(cittyCliError.code)
1874
2020
  });
1875
- process.exit(1);
2021
+ await settleThenExit(1);
1876
2022
  }
1877
2023
  const typed = asCleoErrorLike(err);
1878
2024
  if (typed) {
@@ -1882,14 +2028,20 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
1882
2028
  alternatives: typed.alternatives,
1883
2029
  details: typed.details
1884
2030
  });
1885
- process.exit(typed.code);
2031
+ await settleThenExit(typed.code);
1886
2032
  }
1887
2033
  const message = err instanceof Error ? err.message : String(err);
1888
2034
  cliError(message, 1, { name: "E_CLI_UNCAUGHT" });
1889
- process.exit(1);
2035
+ await settleThenExit(1);
1890
2036
  } finally {
1891
- const { shutdownCliRuntime, armExitBackstop } = await import("@cleocode/core/internal");
1892
- const { formatShutdownOutcomes } = await import("@cleocode/core/shutdown-deadline");
2037
+ let teardown;
2038
+ try {
2039
+ teardown = await exitPath();
2040
+ } catch (loadError) {
2041
+ process.stderr.write(exitPathLoadFailureNotice(loadError, CLI_VERSION));
2042
+ process.exit(process.exitCode ?? 0);
2043
+ }
2044
+ const { shutdownCliRuntime, armExitBackstop, formatShutdownOutcomes } = teardown;
1893
2045
  const outcomes = await shutdownCliRuntime();
1894
2046
  const diagnostics = formatShutdownOutcomes(outcomes);
1895
2047
  if (diagnostics) process.stderr.write(diagnostics);
@@ -1898,19 +2050,24 @@ async function runMainWithLafsEnvelope(cmd, rawArgs, showUsage2) {
1898
2050
  });
1899
2051
  }
1900
2052
  async function runStartupMaintenance() {
1901
- const {
1902
- detectAndRemoveLegacyGlobalFiles,
1903
- detectAndRemoveStrayProjectNexus,
1904
- getGlobalSalt,
1905
- getLogger,
1906
- getProjectRoot,
1907
- isCleanupMarkerSet,
1908
- isMissingProjectError,
1909
- migrateSignaldockToConduit,
1910
- needsSignaldockToConduitMigration,
1911
- setCleanupMarker,
1912
- validateGlobalSalt
1913
- } = await import("@cleocode/core/internal");
2053
+ const [
2054
+ {
2055
+ detectAndRemoveLegacyGlobalFiles,
2056
+ detectAndRemoveStrayProjectNexus,
2057
+ isCleanupMarkerSet,
2058
+ setCleanupMarker
2059
+ },
2060
+ { getGlobalSalt, validateGlobalSalt },
2061
+ { getLogger },
2062
+ { getProjectRoot, isMissingProjectError },
2063
+ { migrateSignaldockToConduit, needsSignaldockToConduitMigration }
2064
+ ] = await Promise.all([
2065
+ import("@cleocode/core/store/cleanup-legacy"),
2066
+ import("@cleocode/core/store/global-salt"),
2067
+ import("@cleocode/core/logger"),
2068
+ import("@cleocode/core/project-scope"),
2069
+ import("@cleocode/core/store/migrate-signaldock-to-conduit")
2070
+ ]);
1914
2071
  let projectRootForCleanup = "";
1915
2072
  try {
1916
2073
  projectRootForCleanup = getProjectRoot();
@@ -1969,7 +2126,7 @@ async function runStartupMaintenance() {
1969
2126
  }
1970
2127
  async function bootstrap() {
1971
2128
  if (process.env["CLEO_WORKTREE_ROOT"]) {
1972
- const { runWithWorktreeScopeFromEnv } = await import("@cleocode/core/internal");
2129
+ const { runWithWorktreeScopeFromEnv } = await import("@cleocode/core/paths.js");
1973
2130
  runWithWorktreeScopeFromEnv(() => {
1974
2131
  void startCli();
1975
2132
  });