@cleocode/cleo 2026.10.27 → 2026.11.1-canary.3

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 (184) hide show
  1. package/README.md +28 -365
  2. package/dist/.source-stamp.json +4 -0
  3. package/dist/cli/{adapter-ZIB3OAPD.js → adapter-H6LGOEXR.js} +3 -3
  4. package/dist/cli/{add-TBJUMJW7.js → add-JTLUT54D.js} +3 -3
  5. package/dist/cli/{add-batch-GGKVPTS5.js → add-batch-ZK7SIYA5.js} +3 -3
  6. package/dist/cli/{admin-PEYBYMZN.js → admin-AA4M7JBW.js} +15 -5
  7. package/dist/cli/{admin-NGPG2LSO.js → admin-EPHDAQHU.js} +3 -3
  8. package/dist/cli/{adr-2XVNDYZ7.js → adr-6DUCKEGZ.js} +3 -3
  9. package/dist/cli/{analyze-A44RDCSX.js → analyze-C7PDKTLW.js} +3 -3
  10. package/dist/cli/{archive-QQB6M2RF.js → archive-4XUV2TNE.js} +3 -3
  11. package/dist/cli/{archive-stats-K4YKKYQV.js → archive-stats-P35RNTOG.js} +3 -3
  12. package/dist/cli/{attention-KAHDF6KD.js → attention-CRI2XJ62.js} +3 -3
  13. package/dist/cli/{backup-IYFULQTM.js → backup-JMHKBESP.js} +6 -5
  14. package/dist/cli/{blockers-KYNJJKZQ.js → blockers-GIYEINJM.js} +3 -3
  15. package/dist/cli/{briefing-J6PDDZ2C.js → briefing-CS6JNKV7.js} +3 -3
  16. package/dist/cli/{cancel-A4OCUVDI.js → cancel-I5WG5BR4.js} +3 -3
  17. package/dist/cli/{chunk-SXXOC6KZ.js → canon-docs-ZXWC4AFI.js} +51 -4
  18. package/dist/cli/{check-HHT4J5ZM.js → check-3KDTDUNQ.js} +3 -3
  19. package/dist/cli/{check-ZT6O5JDS.js → check-4XUOQNLG.js} +15 -19
  20. package/dist/cli/{chunk-PGR4RWQL.js → chunk-2AT5ALNQ.js} +2 -2
  21. package/dist/cli/{chunk-TUUKU4H7.js → chunk-5AL6B3J2.js} +7 -3
  22. package/dist/cli/{owner-override-cap-53HYZHIL.js → chunk-6C5X2J6S.js} +3 -2
  23. package/dist/cli/{chunk-OIS3BDSL.js → chunk-K6I66OSL.js} +2 -2
  24. package/dist/cli/chunk-RYGY5LG4.js +89 -0
  25. package/dist/cli/{chunk-JRDAITPC.js → chunk-V3ZUZYBZ.js} +12 -12
  26. package/dist/cli/{claim-MFFSWD64.js → claim-XGA4LKYO.js} +3 -3
  27. package/dist/cli/{cli-5PJ2B6ZH.js → cli-2U6BPCPH.js} +3 -3
  28. package/dist/cli/{complete-2IN4YEWL.js → complete-NCS2BCZB.js} +4 -4
  29. package/dist/cli/{complexity-JVEIZE5M.js → complexity-KJHXAWTC.js} +3 -3
  30. package/dist/cli/{compliance-MC3X2M34.js → compliance-GP6P63ZI.js} +3 -3
  31. package/dist/cli/{conduit-XYYPJYUF.js → conduit-NJL4YUDZ.js} +3 -3
  32. package/dist/cli/{config-Z5BXGRZB.js → config-FMLBYCVS.js} +5 -5
  33. package/dist/cli/{consensus-T6UARQTD.js → consensus-ALD6ADOC.js} +3 -3
  34. package/dist/cli/{context-M4F3YXZE.js → context-CVZBNZUZ.js} +3 -3
  35. package/dist/cli/{contribution-76FJYJKR.js → contribution-YQG6IHME.js} +3 -3
  36. package/dist/cli/{current-EFRCVSWL.js → current-GNHA4AK3.js} +3 -3
  37. package/dist/cli/{daemon-UAAMDN6C.js → daemon-VGOWNKWU.js} +3 -3
  38. package/dist/cli/{dash-ZEBYLYPV.js → dash-EP46P2SO.js} +3 -3
  39. package/dist/cli/{decompose-XTK2DXSM.js → decompose-J2RHLS4P.js} +3 -3
  40. package/dist/cli/{decomposition-ZDACSPOU.js → decomposition-RILQKAX7.js} +3 -3
  41. package/dist/cli/{delete-6YZADILS.js → delete-CBMXPES6.js} +3 -3
  42. package/dist/cli/{deps-WTASB2GB.js → deps-GPBTDYTW.js} +3 -3
  43. package/dist/cli/{detect-IITE5EBW.js → detect-OGQCROVY.js} +3 -3
  44. package/dist/cli/{diagnostics-MFUOSLSQ.js → diagnostics-4I2JUW5R.js} +3 -3
  45. package/dist/cli/{docs-NF5COLOB.js → docs-MNOBMDNV.js} +148 -16
  46. package/dist/cli/{docs-AIZLN3ZE.js → docs-YI47KPN7.js} +150 -93
  47. package/dist/cli/{doctor-4DWCNDOP.js → doctor-AYEY3IAL.js} +9 -4
  48. package/dist/cli/{doctor-tool-locks-VXKJZKAY.js → doctor-tool-locks-3ZT2LXRY.js} +2 -2
  49. package/dist/cli/{canon-docs-2GTOLF7Y.js → doctor-type-matrix-DD233VK2.js} +8 -8
  50. package/dist/cli/{done-A7ITQSJT.js → done-TZ5KBKEY.js} +73 -5
  51. package/dist/cli/{export-OTDQUAQQ.js → export-2PN64KYZ.js} +3 -3
  52. package/dist/cli/{export-tasks-BKVXMFLD.js → export-tasks-VDM7OZG5.js} +3 -3
  53. package/dist/cli/{find-BWKYKZEN.js → find-5XG5EKE3.js} +3 -3
  54. package/dist/cli/{focus-772SYK7Z.js → focus-ZL4LN3ME.js} +3 -3
  55. package/dist/cli/{goal-TG74GKBK.js → goal-TIQWF5PH.js} +2 -2
  56. package/dist/cli/{grade-BZYBWDA7.js → grade-4Q4VAS6D.js} +3 -3
  57. package/dist/cli/{graph-LB2TBRH6.js → graph-T5NO6IO5.js} +3 -3
  58. package/dist/cli/{history-XIYAXOUF.js → history-LMP6PSUW.js} +3 -3
  59. package/dist/cli/{import-C2QISQC7.js → import-RDVVHET4.js} +3 -3
  60. package/dist/cli/{import-tasks-P6FYXAAS.js → import-tasks-GQAD4JBU.js} +3 -3
  61. package/dist/cli/index.js +141 -103
  62. package/dist/cli/{inject-EDZVSPTW.js → inject-Y4LSXMTC.js} +3 -3
  63. package/dist/cli/{intelligence-OE7SIVR5.js → intelligence-HCB3COXY.js} +3 -3
  64. package/dist/cli/{issue-S67EZXN7.js → issue-7NLECBVN.js} +3 -3
  65. package/dist/cli/{labels-M7GIBYAQ.js → labels-BEKX5LIS.js} +3 -3
  66. package/dist/cli/{lifecycle-NO5QDJ2J.js → lifecycle-NXFDMNMA.js} +3 -3
  67. package/dist/cli/{list-VH6DPZ4V.js → list-H4DJHDQR.js} +3 -3
  68. package/dist/cli/{llm-P35U52I5.js → llm-24YWOGPN.js} +3 -3
  69. package/dist/cli/{log-XIPOX6UM.js → log-DKATGXVT.js} +3 -3
  70. package/dist/cli/{manifest-A5F2YD35.js → manifest-6W3LB3O4.js} +3 -3
  71. package/dist/cli/{map-AOMU72RY.js → map-LQUG4G6N.js} +3 -3
  72. package/dist/cli/{memory-4WNZWJG7.js → memory-FQKOIV43.js} +3 -3
  73. package/dist/cli/{memory-GK5WDYWT.js → memory-Z47B7XNL.js} +2 -2
  74. package/dist/cli/{migrate-claude-mem-OTSYHYBZ.js → migrate-claude-mem-MSXQ33SR.js} +3 -3
  75. package/dist/cli/{next-YUZ4X7NB.js → next-OU44ZHDS.js} +3 -3
  76. package/dist/cli/{nexus-YHPP3RZU.js → nexus-2O3D5KBD.js} +23 -15
  77. package/dist/cli/{nexus-RYH4IAG3.js → nexus-X6YLFJLZ.js} +2 -2
  78. package/dist/cli/{ops-XPJK3WBN.js → ops-MKGFUA4I.js} +3 -3
  79. package/dist/cli/{orchestrate-TWV43SAR.js → orchestrate-CIYXIPWJ.js} +3 -3
  80. package/dist/cli/{orchestrate-AYBDAVOQ.js → orchestrate-HSYARDD4.js} +2 -2
  81. package/dist/cli/owner-override-cap-3B7UXQXA.js +29 -0
  82. package/dist/cli/{phase-CFH2NZU5.js → phase-NJDN3EIY.js} +3 -3
  83. package/dist/cli/{pipeline-LW5HWLBI.js → pipeline-KQGUL5BQ.js} +2 -2
  84. package/dist/cli/{pivot-LEBKDG22.js → pivot-K3FL4H4Z.js} +3 -3
  85. package/dist/cli/{plan-6VK5I4BT.js → plan-TDBKUPE6.js} +3 -3
  86. package/dist/cli/{playbook-4GKDYZYW.js → playbook-UF7FCJ4U.js} +3 -3
  87. package/dist/cli/{promote-4V4ZLAL3.js → promote-Q3A7C7GI.js} +3 -3
  88. package/dist/cli/{provenance-2SFRY42O.js → provenance-J7OB5YAT.js} +3 -3
  89. package/dist/cli/{provider-G6MBFVHR.js → provider-T37WWONR.js} +3 -3
  90. package/dist/cli/{reason-2AYZ6SGZ.js → reason-D6W5GCAS.js} +3 -3
  91. package/dist/cli/{reconcile-7CBD7AHH.js → reconcile-FK2AVHTK.js} +3 -3
  92. package/dist/cli/{relates-FP43JAOK.js → relates-4UYF5ZTG.js} +3 -3
  93. package/dist/cli/{release-NW7XHRVB.js → release-NHPX6QOO.js} +128 -3
  94. package/dist/cli/{release-OWPFPUQG.js → release-XT2L6BZ6.js} +80 -4
  95. package/dist/cli/release-authorize-IV4MF6OV.js +84 -0
  96. package/dist/cli/{reorder-M457CQRR.js → reorder-3WRIRG5F.js} +3 -3
  97. package/dist/cli/{reparent-53T6IUUS.js → reparent-OBDMBMHO.js} +3 -3
  98. package/dist/cli/{req-ORMMU5PV.js → req-IC66XI36.js} +3 -3
  99. package/dist/cli/{research-LFGCGIEP.js → research-637G66T4.js} +3 -3
  100. package/dist/cli/{restore-ZYRIZQUJ.js → restore-VJ6UVTFO.js} +3 -3
  101. package/dist/cli/review-2VXZEKW6.js +131 -0
  102. package/dist/cli/{roadmap-EK6LXBQ4.js → roadmap-H26JEE34.js} +3 -3
  103. package/dist/cli/{run-PZJCIRFD.js → run-SUK5J7SL.js} +42 -2
  104. package/dist/cli/{safestop-NO57J3RK.js → safestop-G5LYH3B6.js} +3 -3
  105. package/dist/cli/{saga-NIJMIJE5.js → saga-CPNWFLGG.js} +3 -3
  106. package/dist/cli/{selfimprove-6HSEV3RG.js → selfimprove-T2IZGLE5.js} +3 -3
  107. package/dist/cli/{selfimprove-IYKG5PF4.js → selfimprove-UI4KV3LE.js} +2 -2
  108. package/dist/cli/{sequence-T42KPEEQ.js → sequence-DRHAPZP5.js} +3 -3
  109. package/dist/cli/{service-CBEZWGHC.js → service-L3XGRXZZ.js} +3 -3
  110. package/dist/cli/{session-XDADM7O4.js → session-WYKXKKPM.js} +3 -3
  111. package/dist/cli/{session-TFVW42XK.js → session-XGFWBFKH.js} +2 -2
  112. package/dist/cli/{show-I2TEU6MP.js → show-244XCU7Q.js} +3 -3
  113. package/dist/cli/{skills-ZBYRPFRL.js → skills-V4IH2LVI.js} +3 -3
  114. package/dist/cli/{snapshot-GMN7LZ4A.js → snapshot-BM2YSX23.js} +3 -3
  115. package/dist/cli/{start-FQWDRGJE.js → start-OUWHVDCT.js} +3 -3
  116. package/dist/cli/{stats-D2AU77GH.js → stats-SNANUIE4.js} +3 -3
  117. package/dist/cli/{sticky-FKZFQYNV.js → sticky-AXOXP64I.js} +3 -3
  118. package/dist/cli/{stop-ZCL7RZPH.js → stop-7XU7WJZP.js} +3 -3
  119. package/dist/cli/{sync-WM4JLGXF.js → sync-I7D4OMS5.js} +3 -3
  120. package/dist/cli/{tasks-RU6AAJKD.js → tasks-S4UR3OMN.js} +2 -2
  121. package/dist/cli/{tasks-54WNYQZS.js → tasks-VI633MO2.js} +3 -3
  122. package/dist/cli/{testing-S7FCPHW5.js → testing-444KOW72.js} +3 -3
  123. package/dist/cli/{token-BDRGEO3E.js → token-LEAY3YMC.js} +3 -3
  124. package/dist/cli/{update-BD77ORMO.js → update-2FKKXUZ5.js} +3 -3
  125. package/dist/cli/{verify-VOJRQQE2.js → verify-FJPE666T.js} +4 -4
  126. package/dist/cli/{worktree-2HHJT5BS.js → worktree-MRP3XN33.js} +3 -3
  127. package/package.json +16 -13
  128. package/studio-dist/client/_app/immutable/chunks/BBz_Ewst.js +3 -0
  129. package/studio-dist/client/_app/immutable/chunks/{CwQ8nAoh.js → BaXJwlsi.js} +1 -1
  130. package/studio-dist/client/_app/immutable/chunks/CERVObi_.js +1 -0
  131. package/studio-dist/client/_app/immutable/chunks/{Dv66614U.js → D4A9lkPs.js} +1 -1
  132. package/studio-dist/client/_app/immutable/entry/{app.C2oQiIiz.js → app.BxBC-th_.js} +2 -2
  133. package/studio-dist/client/_app/immutable/entry/start.Dm43jY1A.js +1 -0
  134. package/studio-dist/client/_app/immutable/nodes/{0.DaE6eVaG.js → 0.D7Aem8uF.js} +1 -1
  135. package/studio-dist/client/_app/immutable/nodes/{1.D0Mb3i_7.js → 1.Cf9AgcGX.js} +1 -1
  136. package/studio-dist/client/_app/immutable/nodes/{15.ChRO-4dz.js → 15.C1O3unvk.js} +1 -1
  137. package/studio-dist/client/_app/immutable/nodes/{16.fltF2wse.js → 16.DTsmQMdQ.js} +1 -1
  138. package/studio-dist/client/_app/immutable/nodes/{17.DnYjMhyj.js → 17.C7L1u1QT.js} +1 -1
  139. package/studio-dist/client/_app/immutable/nodes/{18.DYVIAC9a.js → 18.DJGn1-Wv.js} +1 -1
  140. package/studio-dist/client/_app/immutable/nodes/{20.CVBcbjBW.js → 20.CN2uQb5o.js} +1 -1
  141. package/studio-dist/client/_app/immutable/nodes/{24.Bfswm8Y5.js → 24.Bpbm5FXA.js} +1 -1
  142. package/studio-dist/client/_app/immutable/nodes/25.B91AFY13.js +39 -0
  143. package/studio-dist/client/_app/immutable/nodes/{26.D3RoTHoD.js → 26.3enLLx87.js} +1 -1
  144. package/studio-dist/client/_app/immutable/nodes/{3.ezhkaJvt.js → 3.yCO3XTid.js} +1 -1
  145. package/studio-dist/client/_app/version.json +1 -1
  146. package/studio-dist/server/chunks/{0-BKQLYEeE.js → 0-DEtAbPw-.js} +3 -3
  147. package/studio-dist/server/chunks/1-h2LMUAHs.js +9 -0
  148. package/studio-dist/server/chunks/{15-DuSvkmiZ.js → 15-BiobEJ2m.js} +3 -3
  149. package/studio-dist/server/chunks/{16-DJVePzvS.js → 16-6xqNydr5.js} +3 -3
  150. package/studio-dist/server/chunks/{17-D8K9-EPJ.js → 17-DUBxUGhx.js} +3 -3
  151. package/studio-dist/server/chunks/{18-D5FUPGnv.js → 18-CENJ-ItU.js} +3 -3
  152. package/studio-dist/server/chunks/{20-CmHgNZFV.js → 20-CEgw_UdZ.js} +3 -3
  153. package/studio-dist/server/chunks/{24-CfuHWHgd.js → 24-6ZDsPicw.js} +3 -3
  154. package/studio-dist/server/chunks/{25-bm3BDSum.js → 25-Cyivs_zg.js} +207 -6
  155. package/studio-dist/server/chunks/{26-DRlhAbrf.js → 26-D2WIE_xK.js} +3 -3
  156. package/studio-dist/server/chunks/{3-BrE1-gTA.js → 3-cYpnCm5s.js} +3 -3
  157. package/studio-dist/server/chunks/{_layout.svelte-BeqNMCvk.js → _layout.svelte-DCokBVYx.js} +4 -4
  158. package/studio-dist/server/chunks/{_page.svelte-DnmZYECG.js → _page.svelte-4E3K3DKC.js} +3 -3
  159. package/studio-dist/server/chunks/{_page.svelte-Bchzzf-O.js → _page.svelte-BHV_avWv.js} +3 -3
  160. package/studio-dist/server/chunks/{_page.svelte-CJVF_ySt.js → _page.svelte-BKKxE82V.js} +3 -3
  161. package/studio-dist/server/chunks/{_page.svelte-DIx7Hcw-.js → _page.svelte-BT9WBxAM.js} +3 -3
  162. package/studio-dist/server/chunks/{_page.svelte-Ds0GMs_q.js → _page.svelte-Bk7asdHX.js} +4 -4
  163. package/studio-dist/server/chunks/{_page.svelte-V7BTZinR.js → _page.svelte-DG8jeXro.js} +6 -6
  164. package/studio-dist/server/chunks/{_page.svelte-DM-MP-Vl.js → _page.svelte-DdYeG19n.js} +3 -3
  165. package/studio-dist/server/chunks/{_page.svelte-CkXCx1iz.js → _page.svelte-NTbWZ5Ki.js} +3 -3
  166. package/studio-dist/server/chunks/{_page.svelte-B7xxx6BP.js → _page.svelte-QmZ5QQQz.js} +3 -3
  167. package/studio-dist/server/chunks/{_server.ts-DdCviCsN.js → _server.ts-B66SEpEd.js} +3 -3
  168. package/studio-dist/server/chunks/{_server.ts-Ck-oreiA.js → _server.ts-C1Eh35Y2.js} +3 -3
  169. package/studio-dist/server/chunks/{_server.ts-b2YIpIsi.js → _server.ts-C2pAmHkw.js} +3 -3
  170. package/studio-dist/server/chunks/{_server.ts-Cd_KHxRr.js → _server.ts-DFYxm8-q.js} +2 -2
  171. package/studio-dist/server/chunks/{_server.ts-YtGAClvW.js → _server.ts-DWzrbU8h.js} +3 -3
  172. package/studio-dist/server/chunks/{client-DR3j81J8.js → client-BHWQAkS2.js} +2 -2
  173. package/studio-dist/server/chunks/{error.svelte-NY-X_Qdt.js → error.svelte-IFrcuYEO.js} +3 -3
  174. package/studio-dist/server/chunks/{http-Dz72j56i.js → http-BkrDO_qh.js} +2 -2
  175. package/studio-dist/server/chunks/{internal-y7btLoII.js → internal-DftpbYWE.js} +2 -2
  176. package/studio-dist/server/chunks/{operations-registry-DKEHmggR.js → operations-registry-zTLuSrVZ.js} +194 -1
  177. package/studio-dist/server/chunks/{stores-Cm-Qj76R.js → stores-BW6MI1eb.js} +2 -2
  178. package/studio-dist/server/index.js +1 -1
  179. package/studio-dist/server/manifest.js +17 -17
  180. package/studio-dist/client/_app/immutable/chunks/BXnpxR_0.js +0 -1
  181. package/studio-dist/client/_app/immutable/chunks/Js_lZuOv.js +0 -3
  182. package/studio-dist/client/_app/immutable/entry/start.BolRa540.js +0 -1
  183. package/studio-dist/client/_app/immutable/nodes/25.B_7VqHJ6.js +0 -39
  184. package/studio-dist/server/chunks/1-ClOr3JN3.js +0 -9
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -26,7 +26,7 @@ import "./chunk-QKMBWYAS.js";
26
26
  import "./chunk-ESI6Q4OS.js";
27
27
  import "./chunk-6JSJNYH2.js";
28
28
  import "./chunk-D7BAQNV2.js";
29
- import "./chunk-JRDAITPC.js";
29
+ import "./chunk-V3ZUZYBZ.js";
30
30
 
31
31
  // packages/cleo/src/cli/commands/provenance.ts
32
32
  var backfillCommand = defineCommand({
@@ -126,4 +126,4 @@ var provenanceCommand = defineCommand({
126
126
  export {
127
127
  provenanceCommand
128
128
  };
129
- //# sourceMappingURL=provenance-2SFRY42O.js.map
129
+ //# sourceMappingURL=provenance-J7OB5YAT.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-YY66LFZF.js";
19
19
  import {
20
20
  dispatchFromCli
21
- } from "./chunk-OIS3BDSL.js";
21
+ } from "./chunk-K6I66OSL.js";
22
22
  import "./chunk-6N6WGLXE.js";
23
23
  import "./chunk-4VASFLUW.js";
24
24
  import {
@@ -28,7 +28,7 @@ import "./chunk-QKMBWYAS.js";
28
28
  import "./chunk-ESI6Q4OS.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
30
  import "./chunk-D7BAQNV2.js";
31
- import "./chunk-JRDAITPC.js";
31
+ import "./chunk-V3ZUZYBZ.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/provider.ts
34
34
  var listCommand = defineCommand({
@@ -210,4 +210,4 @@ var providerCommand = defineCommand({
210
210
  export {
211
211
  providerCommand
212
212
  };
213
- //# sourceMappingURL=provider-G6MBFVHR.js.map
213
+ //# sourceMappingURL=provider-T37WWONR.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-ESI6Q4OS.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
30
  import "./chunk-D7BAQNV2.js";
31
- import "./chunk-JRDAITPC.js";
31
+ import "./chunk-V3ZUZYBZ.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/reason.ts
34
34
  var impactCommand = defineCommand({
@@ -135,4 +135,4 @@ var reasonCommand = defineCommand({
135
135
  export {
136
136
  reasonCommand
137
137
  };
138
- //# sourceMappingURL=reason-2AYZ6SGZ.js.map
138
+ //# sourceMappingURL=reason-D6W5GCAS.js.map
@@ -16,7 +16,7 @@
16
16
  import {
17
17
  dispatchRaw,
18
18
  handleRawError
19
- } from "./chunk-OIS3BDSL.js";
19
+ } from "./chunk-K6I66OSL.js";
20
20
  import "./chunk-6N6WGLXE.js";
21
21
  import "./chunk-4VASFLUW.js";
22
22
  import {
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-ESI6Q4OS.js";
30
30
  import "./chunk-6JSJNYH2.js";
31
31
  import "./chunk-D7BAQNV2.js";
32
- import "./chunk-JRDAITPC.js";
32
+ import "./chunk-V3ZUZYBZ.js";
33
33
 
34
34
  // packages/cleo/src/cli/commands/reconcile.ts
35
35
  import { release } from "@cleocode/core";
@@ -125,4 +125,4 @@ var reconcileCommand = defineCommand({
125
125
  export {
126
126
  reconcileCommand
127
127
  };
128
- //# sourceMappingURL=reconcile-7CBD7AHH.js.map
128
+ //# sourceMappingURL=reconcile-FK2AVHTK.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-47JYZAMS.js";
19
19
  import {
20
20
  dispatchFromCli
21
- } from "./chunk-OIS3BDSL.js";
21
+ } from "./chunk-K6I66OSL.js";
22
22
  import "./chunk-6N6WGLXE.js";
23
23
  import "./chunk-4VASFLUW.js";
24
24
  import {
@@ -29,7 +29,7 @@ import "./chunk-QKMBWYAS.js";
29
29
  import "./chunk-ESI6Q4OS.js";
30
30
  import "./chunk-6JSJNYH2.js";
31
31
  import "./chunk-D7BAQNV2.js";
32
- import "./chunk-JRDAITPC.js";
32
+ import "./chunk-V3ZUZYBZ.js";
33
33
 
34
34
  // packages/cleo/src/cli/commands/relates.ts
35
35
  import { readFile } from "node:fs/promises";
@@ -257,4 +257,4 @@ var relatesCommand = defineCommand({
257
257
  export {
258
258
  relatesCommand
259
259
  };
260
- //# sourceMappingURL=relates-FP43JAOK.js.map
260
+ //# sourceMappingURL=relates-4UYF5ZTG.js.map
@@ -19,7 +19,7 @@ import {
19
19
  import "./chunk-VIZSF3NL.js";
20
20
  import {
21
21
  dispatchFromCli
22
- } from "./chunk-OIS3BDSL.js";
22
+ } from "./chunk-K6I66OSL.js";
23
23
  import "./chunk-6N6WGLXE.js";
24
24
  import "./chunk-4VASFLUW.js";
25
25
  import {
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-ESI6Q4OS.js";
34
34
  import "./chunk-6JSJNYH2.js";
35
35
  import "./chunk-D7BAQNV2.js";
36
- import "./chunk-JRDAITPC.js";
36
+ import "./chunk-V3ZUZYBZ.js";
37
37
 
38
38
  // packages/cleo/src/cli/commands/release.ts
39
39
  import { release as release2 } from "@cleocode/core";
@@ -510,6 +510,126 @@ var reconcileCommand = defineCommand({
510
510
  process.exit(1);
511
511
  }
512
512
  });
513
+ var cutCommand = defineCommand({
514
+ meta: {
515
+ name: "cut",
516
+ description: "Release from the newest default-branch commit with green CI: report it (commit, notes, packages, task status) and print the confirm command; with --yes, tag it, and release.yml writes the notes from changesets and publishes (no plan PR, no bump PR). (T14102, D11212)"
517
+ },
518
+ args: {
519
+ version: {
520
+ type: "positional",
521
+ description: "Release version (accepts v2026.10.28 or 2026.10.28)",
522
+ required: true
523
+ },
524
+ sha: {
525
+ type: "string",
526
+ description: "Pin the commit instead of the newest green one; it must itself be green"
527
+ },
528
+ lead: {
529
+ type: "string",
530
+ description: "Markdown file that leads the notes (Update now + Highlights); stored in the tag"
531
+ },
532
+ "dry-run": {
533
+ type: "boolean",
534
+ description: "Report the commit, notes, packages and tasks without creating the tag"
535
+ },
536
+ yes: {
537
+ type: "boolean",
538
+ description: "Create the tag (D11212): asks you to type the version on the terminal (/dev/tty), or uses a standing release authorization (T14141) or the release.agentCut setting (cleo config set release.agentCut canary --scope global, T14170). Without it the cut only reports and prints the confirm command"
539
+ }
540
+ },
541
+ async run({ args }) {
542
+ await dispatchFromCli(
543
+ "mutate",
544
+ "release",
545
+ "cut",
546
+ {
547
+ version: args.version,
548
+ ...typeof args.sha === "string" ? { sha: args.sha } : {},
549
+ ...typeof args.lead === "string" ? { lead: args.lead } : {},
550
+ dryRun: args["dry-run"] === true,
551
+ yes: args.yes === true
552
+ },
553
+ { command: "release" }
554
+ );
555
+ }
556
+ });
557
+ var writeChangelogCommand = defineCommand({
558
+ meta: {
559
+ name: "write-changelog",
560
+ description: "Write the CHANGELOG.md section for a version from the changesets added since the previous release tag (used by release.yml for `release cut`). (T14102)"
561
+ },
562
+ args: {
563
+ version: {
564
+ type: "positional",
565
+ description: "Release version (accepts v2026.10.28 or 2026.10.28)",
566
+ required: true
567
+ },
568
+ ref: {
569
+ type: "string",
570
+ description: "Commit the release was cut from (default: tag v<version>, else HEAD)"
571
+ }
572
+ },
573
+ async run({ args }) {
574
+ await dispatchFromCli(
575
+ "mutate",
576
+ "release",
577
+ "write-changelog",
578
+ { version: args.version, ...typeof args.ref === "string" ? { ref: args.ref } : {} },
579
+ { command: "release" }
580
+ );
581
+ }
582
+ });
583
+ var verifyTagCommand = defineCommand({
584
+ meta: {
585
+ name: "verify-tag",
586
+ description: "Check that the release tag points at a first-parent commit of origin/main whose required checks are green on its push run (used by release.yml before publishing). (T14102)"
587
+ },
588
+ args: {
589
+ version: {
590
+ type: "positional",
591
+ description: "Release version (accepts v2026.10.28 or 2026.10.28)",
592
+ required: true
593
+ }
594
+ },
595
+ async run({ args }) {
596
+ await dispatchFromCli(
597
+ "query",
598
+ "release",
599
+ "verify-tag",
600
+ { version: args.version },
601
+ { command: "release" }
602
+ );
603
+ }
604
+ });
605
+ var authorizeCommand = defineCommand({
606
+ meta: {
607
+ name: "authorize",
608
+ description: "Grant or --revoke (owner only: TTY + owner-auth password), or --list, a standing release authorization that lets an agent run `cleo release cut --yes` for a scope (canary|prerelease|stable|version) until it expires (at most 30d). Grants and revocations are signed with the enrolled owner key and the revocation count is sealed in .cleo/owner-settings.json; commit that file. Limit: an agent running as your OS user that also rolls back the committed owner-settings.json is not detectable locally (the same trust boundary as the override cap). (T14141)"
609
+ },
610
+ args: {
611
+ scope: { type: "string", description: "canary, prerelease, stable, or one exact version" },
612
+ expires: { type: "string", description: "Lifetime: 30m, 24h, 7d (at most 30d)" },
613
+ reason: {
614
+ type: "string",
615
+ description: "Why the owner grants it (recorded as an owner decision)"
616
+ },
617
+ uses: { type: "string", description: "Optional cap on cuts it allows (default: no limit)" },
618
+ revoke: { type: "string", description: "Revoke the grant with this id" },
619
+ list: { type: "boolean", description: "List grants and their state" }
620
+ },
621
+ async run({ args }) {
622
+ const { runReleaseAuthorize } = await import("./release-authorize-IV4MF6OV.js");
623
+ await runReleaseAuthorize({
624
+ ...typeof args.scope === "string" ? { scope: args.scope } : {},
625
+ ...typeof args.expires === "string" ? { expires: args.expires } : {},
626
+ ...typeof args.reason === "string" ? { reason: args.reason } : {},
627
+ ...typeof args.uses === "string" ? { uses: args.uses } : {},
628
+ ...typeof args.revoke === "string" ? { revoke: args.revoke } : {},
629
+ list: args.list === true
630
+ });
631
+ }
632
+ });
513
633
  var releaseCommand = defineCommand({
514
634
  meta: {
515
635
  name: "release",
@@ -518,6 +638,11 @@ var releaseCommand = defineCommand({
518
638
  subCommands: {
519
639
  // Canonical SPEC-T9345 4-verb pipeline — list these first so `--help`
520
640
  // surfaces them as the documented default.
641
+ // T14102 — one-command release; plan/open stay one release as fallback (T14114).
642
+ cut: cutCommand,
643
+ "write-changelog": writeChangelogCommand,
644
+ "verify-tag": verifyTagCommand,
645
+ authorize: authorizeCommand,
521
646
  plan: planCommand,
522
647
  open: openCommand,
523
648
  reconcile: reconcileCommand,
@@ -543,4 +668,4 @@ var releaseCommand = defineCommand({
543
668
  export {
544
669
  releaseCommand
545
670
  };
546
- //# sourceMappingURL=release-NW7XHRVB.js.map
671
+ //# sourceMappingURL=release-NHPX6QOO.js.map
@@ -21,13 +21,21 @@ import {
21
21
  } from "./chunk-XD25OCUE.js";
22
22
 
23
23
  // packages/cleo/src/dispatch/domains/release.ts
24
- import { getLogger, getProjectRoot, resolveWorktreeRouting } from "@cleocode/core/internal";
25
24
  import {
25
+ getLogger,
26
+ getProjectRoot,
27
+ resolveInvokingCheckout,
28
+ resolveWorktreeRouting
29
+ } from "@cleocode/core/internal";
30
+ import {
31
+ releaseChangelog,
32
+ releaseCut,
26
33
  releaseGateCheck,
27
34
  releaseIvtrAutoSuggest,
28
35
  releaseOpen,
29
36
  releasePlan,
30
37
  releaseReconcileV2,
38
+ releaseVerifyTag,
31
39
  validateChangelog
32
40
  } from "@cleocode/runtime/gateway";
33
41
  var log = getLogger("domain:release");
@@ -108,6 +116,28 @@ var ReleaseHandler = class {
108
116
  // non-zero exit code — exactly the behaviour CI workflows depend on
109
117
  // (the legacy `grep -qF "## [VERSION]" || exit 1` had the same
110
118
  // contract).
119
+ // release.verify-tag — T14102: release.yml refuses to publish a tag
120
+ // that is not a green first-parent commit of the default branch.
121
+ case "verify-tag": {
122
+ const version = typeof params?.version === "string" ? params.version : void 0;
123
+ if (!version)
124
+ return errorResult(
125
+ "query",
126
+ "release",
127
+ operation,
128
+ "E_INVALID_INPUT",
129
+ // @sync-invariant none:input-shape a missing version is refused before anything is read
130
+ "version is required",
131
+ startTime
132
+ );
133
+ return wrapResult(
134
+ await releaseVerifyTag({ version, projectRoot: resolveInvokingCheckout() }),
135
+ "query",
136
+ "release",
137
+ operation,
138
+ startTime
139
+ );
140
+ }
111
141
  case "validate-changelog": {
112
142
  const version = typeof params?.version === "string" ? params.version : void 0;
113
143
  if (!version)
@@ -325,6 +355,52 @@ var ReleaseHandler = class {
325
355
  });
326
356
  return wrapResult(result, "mutate", "release", operation, startTime);
327
357
  }
358
+ // release.cut — T14102: tag the newest green default-branch commit
359
+ // (release.yml then publishes); --dry-run reports without tagging.
360
+ case "cut": {
361
+ const version = typeof params?.version === "string" ? params.version : void 0;
362
+ if (!version)
363
+ return errorResult(
364
+ "mutate",
365
+ "release",
366
+ operation,
367
+ "E_INVALID_INPUT",
368
+ // @sync-invariant none:input-shape a missing version is refused before any tag or file write
369
+ "version is required",
370
+ startTime
371
+ );
372
+ const typed = {
373
+ version,
374
+ projectRoot: getProjectRoot(),
375
+ gitRoot: resolveInvokingCheckout(),
376
+ ...typeof params?.sha === "string" ? { sha: params.sha } : {},
377
+ ...typeof params?.lead === "string" ? { leadFile: params.lead } : {},
378
+ dryRun: params?.dryRun === true,
379
+ yes: params?.yes === true
380
+ };
381
+ return wrapResult(await releaseCut(typed), "mutate", "release", operation, startTime);
382
+ }
383
+ // release.write-changelog — T14102: write the CHANGELOG section from
384
+ // the changesets since the previous tag (run by release.yml).
385
+ case "write-changelog": {
386
+ const version = typeof params?.version === "string" ? params.version : void 0;
387
+ if (!version)
388
+ return errorResult(
389
+ "mutate",
390
+ "release",
391
+ operation,
392
+ "E_INVALID_INPUT",
393
+ // @sync-invariant none:input-shape a missing version is refused before any tag or file write
394
+ "version is required",
395
+ startTime
396
+ );
397
+ const result = await releaseChangelog({
398
+ version,
399
+ projectRoot: resolveInvokingCheckout(),
400
+ ...typeof params?.ref === "string" ? { ref: params.ref } : {}
401
+ });
402
+ return wrapResult(result, "mutate", "release", operation, startTime);
403
+ }
328
404
  default:
329
405
  return unsupportedOp("mutate", "release", operation, startTime);
330
406
  }
@@ -339,12 +415,12 @@ var ReleaseHandler = class {
339
415
  /** Return declared operations for introspection and registry validation. */
340
416
  getSupportedOperations() {
341
417
  return {
342
- query: ["gate", "ivtr-suggest", "validate-changelog"],
343
- mutate: ["gate", "ivtr-suggest", "reconcile", "plan", "open"]
418
+ query: ["gate", "ivtr-suggest", "validate-changelog", "verify-tag"],
419
+ mutate: ["gate", "ivtr-suggest", "reconcile", "plan", "open", "cut", "write-changelog"]
344
420
  };
345
421
  }
346
422
  };
347
423
  export {
348
424
  ReleaseHandler
349
425
  };
350
- //# sourceMappingURL=release-OWPFPUQG.js.map
426
+ //# sourceMappingURL=release-XT2L6BZ6.js.map
@@ -0,0 +1,84 @@
1
+ (() => {
2
+ const _installed = Symbol.for('cleocode.cli.sqliteWarningFilter');
3
+ if (globalThis[_installed]) return;
4
+ globalThis[_installed] = true;
5
+ const _origEmitWarning = process.emitWarning;
6
+ process.emitWarning = function(warning, type, code, ctor) {
7
+ if (typeof warning === 'object' && warning.name === 'ExperimentalWarning' && typeof warning.message === 'string' && /SQLite is an experimental feature/i.test(warning.message)) {
8
+ return;
9
+ }
10
+ if (typeof warning === 'string' && /SQLite is an experimental feature/i.test(warning)) {
11
+ return;
12
+ }
13
+ return _origEmitWarning.call(process, warning, type, code, ctor);
14
+ };
15
+ })();
16
+ import {
17
+ ownerCaller
18
+ } from "./chunk-6C5X2J6S.js";
19
+ import "./chunk-THHPBHFL.js";
20
+ import {
21
+ cliError,
22
+ cliOutput
23
+ } from "./chunk-ESI6Q4OS.js";
24
+ import "./chunk-6JSJNYH2.js";
25
+
26
+ // packages/cleo/src/cli/lib/release-authorize.ts
27
+ import { ExitCode } from "@cleocode/contracts/exit-codes.js";
28
+ async function runReleaseAuthorize(args) {
29
+ const meta = { command: "release-authorize", operation: "release.authorize" };
30
+ const fail = (code, message, exit = ExitCode.GENERAL_ERROR) => {
31
+ cliError(message, exit, { name: code }, { operation: meta.operation });
32
+ process.exit(exit);
33
+ };
34
+ const [core, { getProjectRoot }] = await Promise.all([
35
+ import("@cleocode/core/internal"),
36
+ import("@cleocode/core/project-scope")
37
+ ]);
38
+ const root = getProjectRoot();
39
+ if (args.list) {
40
+ cliOutput({ grants: await core.listReleaseAuthorizations(root) }, meta);
41
+ return;
42
+ }
43
+ if (args.revoke) {
44
+ const { caller: caller2 } = await ownerCaller("release authorization revoke");
45
+ const result2 = await core.revokeReleaseAuthorization(root, { ...caller2, id: args.revoke });
46
+ if (!result2.ok) return fail(result2.code, result2.message);
47
+ cliOutput(
48
+ {
49
+ revoked: result2.grant.id,
50
+ scope: result2.grant.scope,
51
+ next: "Commit .cleo/owner-settings.json: it seals the revocation count."
52
+ },
53
+ meta
54
+ );
55
+ return;
56
+ }
57
+ if (!args.scope || !args.expires || !args.reason) {
58
+ return fail(
59
+ "E_VALIDATION",
60
+ "Grant with --scope <canary|prerelease|stable|version> --expires <30m|24h|30d> --reason <why> [--uses <n>], or use --list / --revoke <id>",
61
+ ExitCode.VALIDATION_ERROR
62
+ );
63
+ }
64
+ const { caller } = await ownerCaller("release authorization");
65
+ const result = await core.grantReleaseAuthorization(root, {
66
+ ...caller,
67
+ scope: args.scope,
68
+ expires: args.expires,
69
+ reason: args.reason,
70
+ ...args.uses !== void 0 ? { uses: Number(args.uses) } : {}
71
+ });
72
+ if (!result.ok) {
73
+ return fail(
74
+ result.code,
75
+ result.message,
76
+ result.code === "E_VALIDATION" ? ExitCode.VALIDATION_ERROR : ExitCode.GENERAL_ERROR
77
+ );
78
+ }
79
+ cliOutput({ grant: result.grant }, meta);
80
+ }
81
+ export {
82
+ runReleaseAuthorize
83
+ };
84
+ //# sourceMappingURL=release-authorize-IV4MF6OV.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk-ESI6Q4OS.js";
28
28
  import "./chunk-6JSJNYH2.js";
29
29
  import "./chunk-D7BAQNV2.js";
30
- import "./chunk-JRDAITPC.js";
30
+ import "./chunk-V3ZUZYBZ.js";
31
31
 
32
32
  // packages/cleo/src/cli/commands/reorder.ts
33
33
  var BOTTOM_POSITION = 999999;
@@ -84,4 +84,4 @@ var reorderCommand = defineCommand({
84
84
  export {
85
85
  reorderCommand
86
86
  };
87
- //# sourceMappingURL=reorder-M457CQRR.js.map
87
+ //# sourceMappingURL=reorder-3WRIRG5F.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -25,7 +25,7 @@ import "./chunk-QKMBWYAS.js";
25
25
  import "./chunk-ESI6Q4OS.js";
26
26
  import "./chunk-6JSJNYH2.js";
27
27
  import "./chunk-D7BAQNV2.js";
28
- import "./chunk-JRDAITPC.js";
28
+ import "./chunk-V3ZUZYBZ.js";
29
29
 
30
30
  // packages/cleo/src/cli/commands/reparent.ts
31
31
  var reparentCommand = defineCommand({
@@ -56,4 +56,4 @@ var reparentCommand = defineCommand({
56
56
  export {
57
57
  reparentCommand
58
58
  };
59
- //# sourceMappingURL=reparent-53T6IUUS.js.map
59
+ //# sourceMappingURL=reparent-OBDMBMHO.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-ESI6Q4OS.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
30
  import "./chunk-D7BAQNV2.js";
31
- import "./chunk-JRDAITPC.js";
31
+ import "./chunk-V3ZUZYBZ.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/req.ts
34
34
  var addCommand = defineCommand({
@@ -169,4 +169,4 @@ var reqCommand = defineCommand({
169
169
  export {
170
170
  reqCommand
171
171
  };
172
- //# sourceMappingURL=req-ORMMU5PV.js.map
172
+ //# sourceMappingURL=req-IC66XI36.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchFromCli
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import "./chunk-6N6WGLXE.js";
20
20
  import "./chunk-4VASFLUW.js";
21
21
  import {
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-ESI6Q4OS.js";
29
29
  import "./chunk-6JSJNYH2.js";
30
30
  import "./chunk-D7BAQNV2.js";
31
- import "./chunk-JRDAITPC.js";
31
+ import "./chunk-V3ZUZYBZ.js";
32
32
 
33
33
  // packages/cleo/src/cli/commands/research.ts
34
34
  function generateResearchId() {
@@ -336,4 +336,4 @@ var researchCommand = defineCommand({
336
336
  export {
337
337
  researchCommand
338
338
  };
339
- //# sourceMappingURL=research-LFGCGIEP.js.map
339
+ //# sourceMappingURL=research-637G66T4.js.map
@@ -15,7 +15,7 @@
15
15
  })();
16
16
  import {
17
17
  dispatchRaw
18
- } from "./chunk-OIS3BDSL.js";
18
+ } from "./chunk-K6I66OSL.js";
19
19
  import {
20
20
  CLEO_DIR_NAME,
21
21
  RESTORE_CONFLICTS_MD,
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk-ESI6Q4OS.js";
35
35
  import "./chunk-6JSJNYH2.js";
36
36
  import "./chunk-D7BAQNV2.js";
37
- import "./chunk-JRDAITPC.js";
37
+ import "./chunk-V3ZUZYBZ.js";
38
38
 
39
39
  // packages/cleo/src/cli/commands/restore.ts
40
40
  import fs from "node:fs";
@@ -479,4 +479,4 @@ export {
479
479
  parseConflictReport2 as parseConflictReport,
480
480
  restoreCommand
481
481
  };
482
- //# sourceMappingURL=restore-ZYRIZQUJ.js.map
482
+ //# sourceMappingURL=restore-VJ6UVTFO.js.map