@cleocode/core 2026.9.20 → 2026.9.22

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 (961) hide show
  1. package/dist/adapters/discovery.d.ts.map +1 -1
  2. package/dist/adapters/discovery.js +3 -10
  3. package/dist/adapters/discovery.js.map +1 -1
  4. package/dist/adrs/link-pipeline.js +2 -2
  5. package/dist/adrs/link-pipeline.js.map +1 -1
  6. package/dist/adrs/parse.js +3 -3
  7. package/dist/adrs/parse.js.map +1 -1
  8. package/dist/agents/invoke-meta-agent.d.ts.map +1 -1
  9. package/dist/agents/invoke-meta-agent.js +8 -4
  10. package/dist/agents/invoke-meta-agent.js.map +1 -1
  11. package/dist/agents/scaffold.d.ts.map +1 -1
  12. package/dist/agents/scaffold.js +0 -1
  13. package/dist/agents/scaffold.js.map +1 -1
  14. package/dist/bootstrap.d.ts +5 -1
  15. package/dist/bootstrap.d.ts.map +1 -1
  16. package/dist/bootstrap.js +45 -21
  17. package/dist/bootstrap.js.map +1 -1
  18. package/dist/cloud/crypto.d.ts +47 -0
  19. package/dist/cloud/crypto.d.ts.map +1 -0
  20. package/dist/cloud/crypto.js +223 -0
  21. package/dist/cloud/crypto.js.map +1 -0
  22. package/dist/cloud/http.d.ts +52 -0
  23. package/dist/cloud/http.d.ts.map +1 -0
  24. package/dist/cloud/http.js +98 -0
  25. package/dist/cloud/http.js.map +1 -0
  26. package/dist/cloud/index.d.ts +19 -0
  27. package/dist/cloud/index.d.ts.map +1 -0
  28. package/dist/cloud/index.js +19 -0
  29. package/dist/cloud/index.js.map +1 -0
  30. package/dist/cloud/journal.d.ts +169 -0
  31. package/dist/cloud/journal.d.ts.map +1 -0
  32. package/dist/cloud/journal.js +428 -0
  33. package/dist/cloud/journal.js.map +1 -0
  34. package/dist/cloud/keys.d.ts +213 -0
  35. package/dist/cloud/keys.d.ts.map +1 -0
  36. package/dist/cloud/keys.js +362 -0
  37. package/dist/cloud/keys.js.map +1 -0
  38. package/dist/cloud/manifest-check.d.ts +36 -0
  39. package/dist/cloud/manifest-check.d.ts.map +1 -0
  40. package/dist/cloud/manifest-check.js +70 -0
  41. package/dist/cloud/manifest-check.js.map +1 -0
  42. package/dist/cloud/projects.d.ts +13 -0
  43. package/dist/cloud/projects.d.ts.map +1 -0
  44. package/dist/cloud/projects.js +11 -0
  45. package/dist/cloud/projects.js.map +1 -0
  46. package/dist/cloud/signing.d.ts +105 -0
  47. package/dist/cloud/signing.d.ts.map +1 -0
  48. package/dist/cloud/signing.js +117 -0
  49. package/dist/cloud/signing.js.map +1 -0
  50. package/dist/cloud/streams.d.ts +6 -0
  51. package/dist/cloud/streams.d.ts.map +1 -0
  52. package/dist/cloud/streams.js +5 -0
  53. package/dist/cloud/streams.js.map +1 -0
  54. package/dist/decide/audit.d.ts +131 -0
  55. package/dist/decide/audit.d.ts.map +1 -0
  56. package/dist/decide/audit.js +98 -0
  57. package/dist/decide/audit.js.map +1 -0
  58. package/dist/decide/budget.d.ts +91 -0
  59. package/dist/decide/budget.d.ts.map +1 -0
  60. package/dist/decide/budget.js +194 -0
  61. package/dist/decide/budget.js.map +1 -0
  62. package/dist/decide/cache.d.ts +49 -0
  63. package/dist/decide/cache.d.ts.map +1 -0
  64. package/dist/decide/cache.js +87 -0
  65. package/dist/decide/cache.js.map +1 -0
  66. package/dist/decide/client.d.ts +103 -0
  67. package/dist/decide/client.d.ts.map +1 -0
  68. package/dist/decide/client.js +262 -0
  69. package/dist/decide/client.js.map +1 -0
  70. package/dist/decide/credentials.d.ts +159 -0
  71. package/dist/decide/credentials.d.ts.map +1 -0
  72. package/dist/decide/credentials.js +383 -0
  73. package/dist/decide/credentials.js.map +1 -0
  74. package/dist/decide/index.d.ts +18 -0
  75. package/dist/decide/index.d.ts.map +1 -0
  76. package/dist/decide/index.js +18 -0
  77. package/dist/decide/index.js.map +1 -0
  78. package/dist/decide/jev-wire.d.ts +155 -0
  79. package/dist/decide/jev-wire.d.ts.map +1 -0
  80. package/dist/decide/jev-wire.js +420 -0
  81. package/dist/decide/jev-wire.js.map +1 -0
  82. package/dist/decide/operations.d.ts +152 -0
  83. package/dist/decide/operations.d.ts.map +1 -0
  84. package/dist/decide/operations.js +199 -0
  85. package/dist/decide/operations.js.map +1 -0
  86. package/dist/decide/provider.d.ts +90 -0
  87. package/dist/decide/provider.d.ts.map +1 -0
  88. package/dist/decide/provider.js +43 -0
  89. package/dist/decide/provider.js.map +1 -0
  90. package/dist/decide/site.d.ts +148 -0
  91. package/dist/decide/site.d.ts.map +1 -0
  92. package/dist/decide/site.js +181 -0
  93. package/dist/decide/site.js.map +1 -0
  94. package/dist/decide/transport.d.ts +67 -0
  95. package/dist/decide/transport.d.ts.map +1 -0
  96. package/dist/decide/transport.js +350 -0
  97. package/dist/decide/transport.js.map +1 -0
  98. package/dist/dispatch/mutate-projection.d.ts.map +1 -1
  99. package/dist/dispatch/mutate-projection.js +5 -0
  100. package/dist/dispatch/mutate-projection.js.map +1 -1
  101. package/dist/docs/docs-update.d.ts.map +1 -1
  102. package/dist/docs/docs-update.js +25 -9
  103. package/dist/docs/docs-update.js.map +1 -1
  104. package/dist/docs/export-document.js +5963 -2406
  105. package/dist/docs/export-document.js.map +3 -3
  106. package/dist/docs/index.d.ts +2 -2
  107. package/dist/docs/index.d.ts.map +1 -1
  108. package/dist/docs/index.js +1 -1
  109. package/dist/docs/index.js.map +1 -1
  110. package/dist/docs/projection.d.ts.map +1 -1
  111. package/dist/docs/projection.js +2 -3
  112. package/dist/docs/projection.js.map +1 -1
  113. package/dist/docs/publish-pr.d.ts +69 -1
  114. package/dist/docs/publish-pr.d.ts.map +1 -1
  115. package/dist/docs/publish-pr.js +112 -10
  116. package/dist/docs/publish-pr.js.map +1 -1
  117. package/dist/doctor/db-substrate.d.ts +13 -8
  118. package/dist/doctor/db-substrate.d.ts.map +1 -1
  119. package/dist/doctor/db-substrate.js +39 -26
  120. package/dist/doctor/db-substrate.js.map +1 -1
  121. package/dist/doctor/index.d.ts +2 -0
  122. package/dist/doctor/index.d.ts.map +1 -1
  123. package/dist/doctor/index.js +1 -0
  124. package/dist/doctor/index.js.map +1 -1
  125. package/dist/doctor/knowledge.d.ts +16 -1
  126. package/dist/doctor/knowledge.d.ts.map +1 -1
  127. package/dist/doctor/knowledge.js +58 -32
  128. package/dist/doctor/knowledge.js.map +1 -1
  129. package/dist/doctor/nexus-schema-residency.d.ts +1 -1
  130. package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
  131. package/dist/doctor/nexus-schema-residency.js +3 -0
  132. package/dist/doctor/nexus-schema-residency.js.map +1 -1
  133. package/dist/doctor/project-identity.d.ts +44 -1
  134. package/dist/doctor/project-identity.d.ts.map +1 -1
  135. package/dist/doctor/project-identity.js +237 -10
  136. package/dist/doctor/project-identity.js.map +1 -1
  137. package/dist/doctor/projects.d.ts +170 -0
  138. package/dist/doctor/projects.d.ts.map +1 -0
  139. package/dist/doctor/projects.js +1075 -0
  140. package/dist/doctor/projects.js.map +1 -0
  141. package/dist/doctor/twin-collapse.d.ts +97 -0
  142. package/dist/doctor/twin-collapse.d.ts.map +1 -0
  143. package/dist/doctor/twin-collapse.js +168 -0
  144. package/dist/doctor/twin-collapse.js.map +1 -0
  145. package/dist/doctor/worktree-orphans.d.ts.map +1 -1
  146. package/dist/doctor/worktree-orphans.js +13 -29
  147. package/dist/doctor/worktree-orphans.js.map +1 -1
  148. package/dist/doctor/worktree-stores.d.ts +128 -0
  149. package/dist/doctor/worktree-stores.d.ts.map +1 -0
  150. package/dist/doctor/worktree-stores.js +374 -0
  151. package/dist/doctor/worktree-stores.js.map +1 -0
  152. package/dist/engine/engine-ops.d.ts +36 -6
  153. package/dist/engine/engine-ops.d.ts.map +1 -1
  154. package/dist/engine/engine-ops.js +115 -14
  155. package/dist/engine/engine-ops.js.map +1 -1
  156. package/dist/error-catalog.d.ts.map +1 -1
  157. package/dist/error-catalog.js +21 -0
  158. package/dist/error-catalog.js.map +1 -1
  159. package/dist/error-registry.d.ts.map +1 -1
  160. package/dist/error-registry.js +40 -0
  161. package/dist/error-registry.js.map +1 -1
  162. package/dist/gateway-client/generated/types.gen.d.ts +1 -1
  163. package/dist/gc/cleanup.d.ts.map +1 -1
  164. package/dist/gc/cleanup.js +32 -19
  165. package/dist/gc/cleanup.js.map +1 -1
  166. package/dist/git/bounded-git.d.ts +170 -0
  167. package/dist/git/bounded-git.d.ts.map +1 -0
  168. package/dist/git/bounded-git.js +371 -0
  169. package/dist/git/bounded-git.js.map +1 -0
  170. package/dist/git/work-tree.d.ts +20 -0
  171. package/dist/git/work-tree.d.ts.map +1 -1
  172. package/dist/git/work-tree.js +20 -2
  173. package/dist/git/work-tree.js.map +1 -1
  174. package/dist/hooks/handlers/session-hooks.d.ts +11 -26
  175. package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
  176. package/dist/hooks/handlers/session-hooks.js +18 -47
  177. package/dist/hooks/handlers/session-hooks.js.map +1 -1
  178. package/dist/hooks/payload-schemas.d.ts +2 -2
  179. package/dist/index.d.ts +8 -5
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +6 -3
  182. package/dist/index.js.map +1 -1
  183. package/dist/init/engine-ops.d.ts.map +1 -1
  184. package/dist/init/engine-ops.js +23 -1
  185. package/dist/init/engine-ops.js.map +1 -1
  186. package/dist/init.d.ts +158 -1
  187. package/dist/init.d.ts.map +1 -1
  188. package/dist/init.js +578 -53
  189. package/dist/init.js.map +1 -1
  190. package/dist/inject/index.d.ts.map +1 -1
  191. package/dist/inject/index.js +8 -3
  192. package/dist/inject/index.js.map +1 -1
  193. package/dist/injection.d.ts +55 -0
  194. package/dist/injection.d.ts.map +1 -1
  195. package/dist/injection.js +102 -6
  196. package/dist/injection.js.map +1 -1
  197. package/dist/internal.d.ts +11 -7
  198. package/dist/internal.d.ts.map +1 -1
  199. package/dist/internal.js +9 -5
  200. package/dist/internal.js.map +1 -1
  201. package/dist/issue/diagnostics.d.ts.map +1 -1
  202. package/dist/issue/diagnostics.js +2 -1
  203. package/dist/issue/diagnostics.js.map +1 -1
  204. package/dist/lib/concurrency.d.ts +25 -0
  205. package/dist/lib/concurrency.d.ts.map +1 -0
  206. package/dist/lib/concurrency.js +43 -0
  207. package/dist/lib/concurrency.js.map +1 -0
  208. package/dist/lib/index.d.ts +1 -0
  209. package/dist/lib/index.d.ts.map +1 -1
  210. package/dist/lib/index.js +1 -0
  211. package/dist/lib/index.js.map +1 -1
  212. package/dist/lifecycle/engine-ops.d.ts.map +1 -1
  213. package/dist/lifecycle/engine-ops.js +4 -2
  214. package/dist/lifecycle/engine-ops.js.map +1 -1
  215. package/dist/lifecycle/stage-guidance.d.ts +5 -0
  216. package/dist/lifecycle/stage-guidance.d.ts.map +1 -1
  217. package/dist/lifecycle/stage-guidance.js +14 -4
  218. package/dist/lifecycle/stage-guidance.js.map +1 -1
  219. package/dist/llm/catalog-cache.d.ts +3 -2
  220. package/dist/llm/catalog-cache.d.ts.map +1 -1
  221. package/dist/llm/catalog-cache.js +5 -5
  222. package/dist/llm/catalog-cache.js.map +1 -1
  223. package/dist/llm/credentials.d.ts +4 -4
  224. package/dist/llm/credentials.js +6 -6
  225. package/dist/llm/credentials.js.map +1 -1
  226. package/dist/llm/plugin-facade.js +4400 -1801
  227. package/dist/llm/plugin-facade.js.map +3 -3
  228. package/dist/llm/stable-device-id.d.ts.map +1 -1
  229. package/dist/llm/stable-device-id.js +3 -5
  230. package/dist/llm/stable-device-id.js.map +1 -1
  231. package/dist/memory/attention.js +31 -31
  232. package/dist/memory/attention.js.map +1 -1
  233. package/dist/memory/decision-contradiction.d.ts +152 -0
  234. package/dist/memory/decision-contradiction.d.ts.map +1 -0
  235. package/dist/memory/decision-contradiction.js +273 -0
  236. package/dist/memory/decision-contradiction.js.map +1 -0
  237. package/dist/memory/decisions.d.ts +42 -11
  238. package/dist/memory/decisions.d.ts.map +1 -1
  239. package/dist/memory/decisions.js +153 -56
  240. package/dist/memory/decisions.js.map +1 -1
  241. package/dist/memory/dialectic-evaluator.d.ts +7 -0
  242. package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
  243. package/dist/memory/dialectic-evaluator.js +23 -8
  244. package/dist/memory/dialectic-evaluator.js.map +1 -1
  245. package/dist/memory/dispatch-trace-format.d.ts +39 -0
  246. package/dist/memory/dispatch-trace-format.d.ts.map +1 -0
  247. package/dist/memory/dispatch-trace-format.js +54 -0
  248. package/dist/memory/dispatch-trace-format.js.map +1 -0
  249. package/dist/memory/dispatch-trace.d.ts.map +1 -1
  250. package/dist/memory/dispatch-trace.js +1 -27
  251. package/dist/memory/dispatch-trace.js.map +1 -1
  252. package/dist/memory/engine-compat.d.ts +2 -0
  253. package/dist/memory/engine-compat.d.ts.map +1 -1
  254. package/dist/memory/engine-compat.js +1 -0
  255. package/dist/memory/engine-compat.js.map +1 -1
  256. package/dist/memory/import-from-provider.js +3 -3
  257. package/dist/memory/import-from-provider.js.map +1 -1
  258. package/dist/memory/learnings.d.ts +2 -2
  259. package/dist/memory/observation-type-decision.d.ts +96 -0
  260. package/dist/memory/observation-type-decision.d.ts.map +1 -0
  261. package/dist/memory/observation-type-decision.js +218 -0
  262. package/dist/memory/observation-type-decision.js.map +1 -0
  263. package/dist/memory/redaction.js +2 -0
  264. package/dist/memory/redaction.js.map +1 -1
  265. package/dist/memory/retrieval/build-retrieval-bundle.d.ts +9 -2
  266. package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
  267. package/dist/memory/retrieval/build-retrieval-bundle.js +42 -11
  268. package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
  269. package/dist/memory/retrieval/get-current-session-id.d.ts +5 -0
  270. package/dist/memory/retrieval/get-current-session-id.d.ts.map +1 -1
  271. package/dist/memory/retrieval/get-current-session-id.js +7 -2
  272. package/dist/memory/retrieval/get-current-session-id.js.map +1 -1
  273. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  274. package/dist/memory/retrieval/observe.js +30 -29
  275. package/dist/memory/retrieval/observe.js.map +1 -1
  276. package/dist/nexus/analyze-orchestrator.d.ts +38 -0
  277. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  278. package/dist/nexus/analyze-orchestrator.js +136 -48
  279. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  280. package/dist/nexus/assessment-projection.d.ts +76 -0
  281. package/dist/nexus/assessment-projection.d.ts.map +1 -0
  282. package/dist/nexus/assessment-projection.js +143 -0
  283. package/dist/nexus/assessment-projection.js.map +1 -0
  284. package/dist/nexus/assessment-store.d.ts +14 -2
  285. package/dist/nexus/assessment-store.d.ts.map +1 -1
  286. package/dist/nexus/assessment-store.js +21 -3
  287. package/dist/nexus/assessment-store.js.map +1 -1
  288. package/dist/nexus/checkout-nonce.d.ts +48 -0
  289. package/dist/nexus/checkout-nonce.d.ts.map +1 -0
  290. package/dist/nexus/checkout-nonce.js +84 -0
  291. package/dist/nexus/checkout-nonce.js.map +1 -0
  292. package/dist/nexus/devices.d.ts +93 -0
  293. package/dist/nexus/devices.d.ts.map +1 -0
  294. package/dist/nexus/devices.js +141 -0
  295. package/dist/nexus/devices.js.map +1 -0
  296. package/dist/nexus/freshness.d.ts.map +1 -1
  297. package/dist/nexus/freshness.js +25 -6
  298. package/dist/nexus/freshness.js.map +1 -1
  299. package/dist/nexus/git-state.d.ts +225 -0
  300. package/dist/nexus/git-state.d.ts.map +1 -0
  301. package/dist/nexus/git-state.js +677 -0
  302. package/dist/nexus/git-state.js.map +1 -0
  303. package/dist/nexus/graph-manifest.d.ts +20 -4
  304. package/dist/nexus/graph-manifest.d.ts.map +1 -1
  305. package/dist/nexus/graph-manifest.js +40 -5
  306. package/dist/nexus/graph-manifest.js.map +1 -1
  307. package/dist/nexus/identity.d.ts +68 -23
  308. package/dist/nexus/identity.d.ts.map +1 -1
  309. package/dist/nexus/identity.js +99 -22
  310. package/dist/nexus/identity.js.map +1 -1
  311. package/dist/nexus/index.d.ts +5 -2
  312. package/dist/nexus/index.d.ts.map +1 -1
  313. package/dist/nexus/index.js +10 -4
  314. package/dist/nexus/index.js.map +1 -1
  315. package/dist/nexus/knowledge.d.ts +5 -0
  316. package/dist/nexus/knowledge.d.ts.map +1 -1
  317. package/dist/nexus/knowledge.js +40 -5
  318. package/dist/nexus/knowledge.js.map +1 -1
  319. package/dist/nexus/legacy-alias.d.ts +60 -0
  320. package/dist/nexus/legacy-alias.d.ts.map +1 -0
  321. package/dist/nexus/legacy-alias.js +68 -0
  322. package/dist/nexus/legacy-alias.js.map +1 -0
  323. package/dist/nexus/migrate-json-to-sqlite.js +2 -2
  324. package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
  325. package/dist/nexus/ops.d.ts +1 -0
  326. package/dist/nexus/ops.d.ts.map +1 -1
  327. package/dist/nexus/path-map.d.ts +264 -20
  328. package/dist/nexus/path-map.d.ts.map +1 -1
  329. package/dist/nexus/path-map.js +580 -44
  330. package/dist/nexus/path-map.js.map +1 -1
  331. package/dist/nexus/projects-clean.d.ts +9 -1
  332. package/dist/nexus/projects-clean.d.ts.map +1 -1
  333. package/dist/nexus/projects-clean.js +126 -14
  334. package/dist/nexus/projects-clean.js.map +1 -1
  335. package/dist/nexus/projects-scan.d.ts +56 -1
  336. package/dist/nexus/projects-scan.d.ts.map +1 -1
  337. package/dist/nexus/projects-scan.js +144 -3
  338. package/dist/nexus/projects-scan.js.map +1 -1
  339. package/dist/nexus/registry-hygiene.d.ts +18 -2
  340. package/dist/nexus/registry-hygiene.d.ts.map +1 -1
  341. package/dist/nexus/registry-hygiene.js +37 -11
  342. package/dist/nexus/registry-hygiene.js.map +1 -1
  343. package/dist/nexus/registry-roots.d.ts +47 -0
  344. package/dist/nexus/registry-roots.d.ts.map +1 -0
  345. package/dist/nexus/registry-roots.js +79 -0
  346. package/dist/nexus/registry-roots.js.map +1 -0
  347. package/dist/nexus/registry.d.ts +50 -9
  348. package/dist/nexus/registry.d.ts.map +1 -1
  349. package/dist/nexus/registry.js +311 -156
  350. package/dist/nexus/registry.js.map +1 -1
  351. package/dist/nexus/stored-roots.d.ts +171 -0
  352. package/dist/nexus/stored-roots.d.ts.map +1 -0
  353. package/dist/nexus/stored-roots.js +253 -0
  354. package/dist/nexus/stored-roots.js.map +1 -0
  355. package/dist/nexus/transfer.d.ts.map +1 -1
  356. package/dist/nexus/transfer.js +3 -0
  357. package/dist/nexus/transfer.js.map +1 -1
  358. package/dist/nexus/user-profile-hygiene.d.ts +168 -0
  359. package/dist/nexus/user-profile-hygiene.d.ts.map +1 -0
  360. package/dist/nexus/user-profile-hygiene.js +305 -0
  361. package/dist/nexus/user-profile-hygiene.js.map +1 -0
  362. package/dist/nexus/user-profile.d.ts +53 -2
  363. package/dist/nexus/user-profile.d.ts.map +1 -1
  364. package/dist/nexus/user-profile.js +106 -4
  365. package/dist/nexus/user-profile.js.map +1 -1
  366. package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
  367. package/dist/orchestrate/lifecycle-ops.js +4 -1
  368. package/dist/orchestrate/lifecycle-ops.js.map +1 -1
  369. package/dist/orchestrate/pivot.d.ts.map +1 -1
  370. package/dist/orchestrate/pivot.js +5 -1
  371. package/dist/orchestrate/pivot.js.map +1 -1
  372. package/dist/orchestrate/plan.d.ts.map +1 -1
  373. package/dist/orchestrate/plan.js +5 -2
  374. package/dist/orchestrate/plan.js.map +1 -1
  375. package/dist/orchestrate/query-ops.d.ts +7 -2
  376. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  377. package/dist/orchestrate/query-ops.js +17 -6
  378. package/dist/orchestrate/query-ops.js.map +1 -1
  379. package/dist/orchestrate/spawn-ops.d.ts +12 -0
  380. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  381. package/dist/orchestrate/spawn-ops.js +157 -71
  382. package/dist/orchestrate/spawn-ops.js.map +1 -1
  383. package/dist/orchestration/bootstrap.d.ts.map +1 -1
  384. package/dist/orchestration/bootstrap.js +4 -2
  385. package/dist/orchestration/bootstrap.js.map +1 -1
  386. package/dist/orchestration/classify-readiness.d.ts +37 -1
  387. package/dist/orchestration/classify-readiness.d.ts.map +1 -1
  388. package/dist/orchestration/classify-readiness.js +48 -19
  389. package/dist/orchestration/classify-readiness.js.map +1 -1
  390. package/dist/orchestration/index.d.ts +4 -2
  391. package/dist/orchestration/index.d.ts.map +1 -1
  392. package/dist/orchestration/index.js +6 -4
  393. package/dist/orchestration/index.js.map +1 -1
  394. package/dist/orchestration/lead-rollup.d.ts +8 -5
  395. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  396. package/dist/orchestration/lead-rollup.js +32 -15
  397. package/dist/orchestration/lead-rollup.js.map +1 -1
  398. package/dist/orchestration/owner-decision-readiness.d.ts +88 -0
  399. package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -0
  400. package/dist/orchestration/owner-decision-readiness.js +152 -0
  401. package/dist/orchestration/owner-decision-readiness.js.map +1 -0
  402. package/dist/orchestration/parallel.d.ts.map +1 -1
  403. package/dist/orchestration/parallel.js +10 -17
  404. package/dist/orchestration/parallel.js.map +1 -1
  405. package/dist/orchestration/psyche-memory-budget.d.ts +105 -0
  406. package/dist/orchestration/psyche-memory-budget.d.ts.map +1 -0
  407. package/dist/orchestration/psyche-memory-budget.js +383 -0
  408. package/dist/orchestration/psyche-memory-budget.js.map +1 -0
  409. package/dist/orchestration/spawn-prompt.d.ts +16 -2
  410. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  411. package/dist/orchestration/spawn-prompt.js +144 -181
  412. package/dist/orchestration/spawn-prompt.js.map +1 -1
  413. package/dist/orchestration/spawn.d.ts +7 -0
  414. package/dist/orchestration/spawn.d.ts.map +1 -1
  415. package/dist/orchestration/spawn.js +1 -0
  416. package/dist/orchestration/spawn.js.map +1 -1
  417. package/dist/orchestration/status.d.ts +8 -3
  418. package/dist/orchestration/status.d.ts.map +1 -1
  419. package/dist/orchestration/status.js +9 -6
  420. package/dist/orchestration/status.js.map +1 -1
  421. package/dist/orchestration/wave-topic.d.ts +54 -0
  422. package/dist/orchestration/wave-topic.d.ts.map +1 -0
  423. package/dist/orchestration/wave-topic.js +68 -0
  424. package/dist/orchestration/wave-topic.js.map +1 -0
  425. package/dist/orchestration/waves.d.ts +47 -8
  426. package/dist/orchestration/waves.d.ts.map +1 -1
  427. package/dist/orchestration/waves.js +152 -43
  428. package/dist/orchestration/waves.js.map +1 -1
  429. package/dist/paths.d.ts +24 -8
  430. package/dist/paths.d.ts.map +1 -1
  431. package/dist/paths.js +135 -71
  432. package/dist/paths.js.map +1 -1
  433. package/dist/phases/index.d.ts.map +1 -1
  434. package/dist/phases/index.js +6 -2
  435. package/dist/phases/index.js.map +1 -1
  436. package/dist/platform.d.ts +6 -1
  437. package/dist/platform.d.ts.map +1 -1
  438. package/dist/platform.js +8 -19
  439. package/dist/platform.js.map +1 -1
  440. package/dist/project-info.d.ts +18 -0
  441. package/dist/project-info.d.ts.map +1 -1
  442. package/dist/project-info.js +29 -1
  443. package/dist/project-info.js.map +1 -1
  444. package/dist/project-lifecycle.d.ts +91 -32
  445. package/dist/project-lifecycle.d.ts.map +1 -1
  446. package/dist/project-lifecycle.js +639 -75
  447. package/dist/project-lifecycle.js.map +1 -1
  448. package/dist/project-scope.d.ts +104 -4
  449. package/dist/project-scope.d.ts.map +1 -1
  450. package/dist/project-scope.js +263 -13
  451. package/dist/project-scope.js.map +1 -1
  452. package/dist/project-tombstone.d.ts +111 -0
  453. package/dist/project-tombstone.d.ts.map +1 -0
  454. package/dist/project-tombstone.js +220 -0
  455. package/dist/project-tombstone.js.map +1 -0
  456. package/dist/release/artifacts.d.ts.map +1 -1
  457. package/dist/release/artifacts.js +14 -9
  458. package/dist/release/artifacts.js.map +1 -1
  459. package/dist/release/ci-evidence.d.ts +233 -0
  460. package/dist/release/ci-evidence.d.ts.map +1 -0
  461. package/dist/release/ci-evidence.js +668 -0
  462. package/dist/release/ci-evidence.js.map +1 -0
  463. package/dist/release/engine-ops.d.ts.map +1 -1
  464. package/dist/release/engine-ops.js +3 -3
  465. package/dist/release/engine-ops.js.map +1 -1
  466. package/dist/release/github-pr.d.ts +30 -0
  467. package/dist/release/github-pr.d.ts.map +1 -1
  468. package/dist/release/github-pr.js +40 -0
  469. package/dist/release/github-pr.js.map +1 -1
  470. package/dist/release/plan.d.ts.map +1 -1
  471. package/dist/release/plan.js +11 -7
  472. package/dist/release/plan.js.map +1 -1
  473. package/dist/release/pr-evidence.d.ts +38 -0
  474. package/dist/release/pr-evidence.d.ts.map +1 -1
  475. package/dist/release/pr-evidence.js +79 -15
  476. package/dist/release/pr-evidence.js.map +1 -1
  477. package/dist/release/reconcile.d.ts.map +1 -1
  478. package/dist/release/reconcile.js +3 -2
  479. package/dist/release/reconcile.js.map +1 -1
  480. package/dist/release/release-manifest.d.ts +2 -1
  481. package/dist/release/release-manifest.d.ts.map +1 -1
  482. package/dist/release/release-manifest.js +6 -5
  483. package/dist/release/release-manifest.js.map +1 -1
  484. package/dist/render/nexus/graph/index.d.ts +4 -0
  485. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  486. package/dist/render/nexus/graph/index.js +57 -0
  487. package/dist/render/nexus/graph/index.js.map +1 -1
  488. package/dist/resources/spawn-wrapper.d.ts +8 -1
  489. package/dist/resources/spawn-wrapper.d.ts.map +1 -1
  490. package/dist/resources/spawn-wrapper.js +42 -5
  491. package/dist/resources/spawn-wrapper.js.map +1 -1
  492. package/dist/routing/build-command-groups.d.ts.map +1 -1
  493. package/dist/routing/build-command-groups.js +1 -0
  494. package/dist/routing/build-command-groups.js.map +1 -1
  495. package/dist/sagas/index.d.ts +1 -1
  496. package/dist/sagas/index.d.ts.map +1 -1
  497. package/dist/sagas/index.js +1 -1
  498. package/dist/sagas/index.js.map +1 -1
  499. package/dist/sagas/reconcile.d.ts +24 -4
  500. package/dist/sagas/reconcile.d.ts.map +1 -1
  501. package/dist/sagas/reconcile.js +226 -100
  502. package/dist/sagas/reconcile.js.map +1 -1
  503. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  504. package/dist/scaffold/ensure-config.js +31 -1
  505. package/dist/scaffold/ensure-config.js.map +1 -1
  506. package/dist/scaffold/project-identity.d.ts +2 -8
  507. package/dist/scaffold/project-identity.d.ts.map +1 -1
  508. package/dist/scaffold/project-identity.js +5 -21
  509. package/dist/scaffold/project-identity.js.map +1 -1
  510. package/dist/security/input-sanitization.d.ts +9 -1
  511. package/dist/security/input-sanitization.d.ts.map +1 -1
  512. package/dist/security/input-sanitization.js +20 -3
  513. package/dist/security/input-sanitization.js.map +1 -1
  514. package/dist/selfimprove/fix-gen.js +4409 -1810
  515. package/dist/selfimprove/fix-gen.js.map +3 -3
  516. package/dist/sentient/propose-tick.d.ts.map +1 -1
  517. package/dist/sentient/propose-tick.js +4 -2
  518. package/dist/sentient/propose-tick.js.map +1 -1
  519. package/dist/sequence/index.d.ts.map +1 -1
  520. package/dist/sequence/index.js +6 -23
  521. package/dist/sequence/index.js.map +1 -1
  522. package/dist/session/engine-ops.d.ts +15 -0
  523. package/dist/session/engine-ops.d.ts.map +1 -1
  524. package/dist/session/engine-ops.js +146 -22
  525. package/dist/session/engine-ops.js.map +1 -1
  526. package/dist/sessions/assumptions.d.ts.map +1 -1
  527. package/dist/sessions/assumptions.js +7 -4
  528. package/dist/sessions/assumptions.js.map +1 -1
  529. package/dist/sessions/briefing.d.ts +23 -0
  530. package/dist/sessions/briefing.d.ts.map +1 -1
  531. package/dist/sessions/briefing.js +59 -9
  532. package/dist/sessions/briefing.js.map +1 -1
  533. package/dist/sessions/decisions.d.ts +38 -3
  534. package/dist/sessions/decisions.d.ts.map +1 -1
  535. package/dist/sessions/decisions.js +235 -21
  536. package/dist/sessions/decisions.js.map +1 -1
  537. package/dist/sessions/drift-watchdog.d.ts.map +1 -1
  538. package/dist/sessions/drift-watchdog.js +8 -5
  539. package/dist/sessions/drift-watchdog.js.map +1 -1
  540. package/dist/sessions/focus-state-store.d.ts +89 -1
  541. package/dist/sessions/focus-state-store.d.ts.map +1 -1
  542. package/dist/sessions/focus-state-store.js +97 -1
  543. package/dist/sessions/focus-state-store.js.map +1 -1
  544. package/dist/sessions/index.d.ts +2 -2
  545. package/dist/sessions/index.d.ts.map +1 -1
  546. package/dist/sessions/index.js +34 -5
  547. package/dist/sessions/index.js.map +1 -1
  548. package/dist/sessions/session-drift.d.ts.map +1 -1
  549. package/dist/sessions/session-drift.js +4 -3
  550. package/dist/sessions/session-drift.js.map +1 -1
  551. package/dist/sessions/session-end-snapshot-entry.d.ts +26 -0
  552. package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -0
  553. package/dist/sessions/session-end-snapshot-entry.js +59 -0
  554. package/dist/sessions/session-end-snapshot-entry.js.map +1 -0
  555. package/dist/sessions/session-end-snapshot.d.ts +114 -0
  556. package/dist/sessions/session-end-snapshot.d.ts.map +1 -0
  557. package/dist/sessions/session-end-snapshot.js +446 -0
  558. package/dist/sessions/session-end-snapshot.js.map +1 -0
  559. package/dist/sessions/session-manifest-mirror.d.ts.map +1 -1
  560. package/dist/sessions/session-manifest-mirror.js +10 -17
  561. package/dist/sessions/session-manifest-mirror.js.map +1 -1
  562. package/dist/sessions/session-switch.d.ts.map +1 -1
  563. package/dist/sessions/session-switch.js +5 -3
  564. package/dist/sessions/session-switch.js.map +1 -1
  565. package/dist/sessions/snapshot.d.ts.map +1 -1
  566. package/dist/sessions/snapshot.js +5 -4
  567. package/dist/sessions/snapshot.js.map +1 -1
  568. package/dist/sessions/terminal-identity.d.ts +169 -0
  569. package/dist/sessions/terminal-identity.d.ts.map +1 -0
  570. package/dist/sessions/terminal-identity.js +273 -0
  571. package/dist/sessions/terminal-identity.js.map +1 -0
  572. package/dist/setup/sections/verification.d.ts +1 -1
  573. package/dist/setup/sections/verification.d.ts.map +1 -1
  574. package/dist/setup/sections/verification.js +11 -15
  575. package/dist/setup/sections/verification.js.map +1 -1
  576. package/dist/skills/discovery.d.ts +20 -3
  577. package/dist/skills/discovery.d.ts.map +1 -1
  578. package/dist/skills/discovery.js +41 -4
  579. package/dist/skills/discovery.js.map +1 -1
  580. package/dist/skills/dispatch.d.ts +5 -2
  581. package/dist/skills/dispatch.d.ts.map +1 -1
  582. package/dist/skills/dispatch.js +5 -2
  583. package/dist/skills/dispatch.js.map +1 -1
  584. package/dist/skills/doctor.d.ts.map +1 -1
  585. package/dist/skills/doctor.js +5 -1
  586. package/dist/skills/doctor.js.map +1 -1
  587. package/dist/skills/federated-search.js +2 -2
  588. package/dist/skills/federated-search.js.map +1 -1
  589. package/dist/skills/index.d.ts +3 -3
  590. package/dist/skills/index.d.ts.map +1 -1
  591. package/dist/skills/index.js +1 -1
  592. package/dist/skills/index.js.map +1 -1
  593. package/dist/skills/migration.d.ts +5 -5
  594. package/dist/skills/migration.d.ts.map +1 -1
  595. package/dist/skills/migration.js +7 -9
  596. package/dist/skills/migration.js.map +1 -1
  597. package/dist/skills/orchestrator/startup.d.ts.map +1 -1
  598. package/dist/skills/orchestrator/startup.js +14 -7
  599. package/dist/skills/orchestrator/startup.js.map +1 -1
  600. package/dist/skills/prune-bundled.d.ts +267 -0
  601. package/dist/skills/prune-bundled.d.ts.map +1 -0
  602. package/dist/skills/prune-bundled.js +536 -0
  603. package/dist/skills/prune-bundled.js.map +1 -0
  604. package/dist/skills/skill-paths.d.ts +30 -3
  605. package/dist/skills/skill-paths.d.ts.map +1 -1
  606. package/dist/skills/skill-paths.js +28 -9
  607. package/dist/skills/skill-paths.js.map +1 -1
  608. package/dist/skills/skill-root.d.ts +60 -11
  609. package/dist/skills/skill-root.d.ts.map +1 -1
  610. package/dist/skills/skill-root.js +100 -14
  611. package/dist/skills/skill-root.js.map +1 -1
  612. package/dist/skills/skills-guard.js +5 -5
  613. package/dist/skills/skills-guard.js.map +1 -1
  614. package/dist/skills/types.d.ts +32 -1
  615. package/dist/skills/types.d.ts.map +1 -1
  616. package/dist/skills/types.js +17 -34
  617. package/dist/skills/types.js.map +1 -1
  618. package/dist/spawn/agent-identity.d.ts +51 -2
  619. package/dist/spawn/agent-identity.d.ts.map +1 -1
  620. package/dist/spawn/agent-identity.js +89 -26
  621. package/dist/spawn/agent-identity.js.map +1 -1
  622. package/dist/spawn/branch-lock.d.ts.map +1 -1
  623. package/dist/spawn/branch-lock.js +80 -79
  624. package/dist/spawn/branch-lock.js.map +1 -1
  625. package/dist/spawn/index.d.ts +2 -2
  626. package/dist/spawn/index.d.ts.map +1 -1
  627. package/dist/spawn/index.js +1 -1
  628. package/dist/spawn/index.js.map +1 -1
  629. package/dist/spawn/worktree-lock-holder.d.ts +37 -0
  630. package/dist/spawn/worktree-lock-holder.d.ts.map +1 -0
  631. package/dist/spawn/worktree-lock-holder.js +41 -0
  632. package/dist/spawn/worktree-lock-holder.js.map +1 -0
  633. package/dist/stats/index.d.ts.map +1 -1
  634. package/dist/stats/index.js +4 -2
  635. package/dist/stats/index.js.map +1 -1
  636. package/dist/sticky/convert.d.ts.map +1 -1
  637. package/dist/sticky/convert.js +16 -4
  638. package/dist/sticky/convert.js.map +1 -1
  639. package/dist/store/attachment-store.d.ts +14 -0
  640. package/dist/store/attachment-store.d.ts.map +1 -1
  641. package/dist/store/attachment-store.js +11 -1
  642. package/dist/store/attachment-store.js.map +1 -1
  643. package/dist/store/backup-inspect.d.ts +7 -3
  644. package/dist/store/backup-inspect.d.ts.map +1 -1
  645. package/dist/store/backup-inspect.js +18 -7
  646. package/dist/store/backup-inspect.js.map +1 -1
  647. package/dist/store/backup-sidecar.d.ts +60 -0
  648. package/dist/store/backup-sidecar.d.ts.map +1 -0
  649. package/dist/store/backup-sidecar.js +96 -0
  650. package/dist/store/backup-sidecar.js.map +1 -0
  651. package/dist/store/data-accessor.d.ts +1 -1
  652. package/dist/store/data-accessor.d.ts.map +1 -1
  653. package/dist/store/data-accessor.js +6 -6
  654. package/dist/store/data-accessor.js.map +1 -1
  655. package/dist/store/data-safety-central.d.ts +13 -4
  656. package/dist/store/data-safety-central.d.ts.map +1 -1
  657. package/dist/store/data-safety-central.js +31 -4
  658. package/dist/store/data-safety-central.js.map +1 -1
  659. package/dist/store/dual-scope-db.d.ts.map +1 -1
  660. package/dist/store/dual-scope-db.js +10 -0
  661. package/dist/store/dual-scope-db.js.map +1 -1
  662. package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -1
  663. package/dist/store/exodus/__fixtures__/representative-fixture.js +4 -0
  664. package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -1
  665. package/dist/store/exodus/migrate.js +1 -1
  666. package/dist/store/exodus/migrate.js.map +1 -1
  667. package/dist/store/exodus/reconcile.js +1 -1
  668. package/dist/store/exodus/reconcile.js.map +1 -1
  669. package/dist/store/exodus/runtime-targets.d.ts +4 -3
  670. package/dist/store/exodus/runtime-targets.d.ts.map +1 -1
  671. package/dist/store/exodus/runtime-targets.js +4 -3
  672. package/dist/store/exodus/runtime-targets.js.map +1 -1
  673. package/dist/store/import-logging.d.ts.map +1 -1
  674. package/dist/store/import-logging.js +5 -4
  675. package/dist/store/import-logging.js.map +1 -1
  676. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  677. package/dist/store/legacy-tasks-lineage.js +2 -7
  678. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  679. package/dist/store/lock.d.ts +1 -0
  680. package/dist/store/lock.d.ts.map +1 -1
  681. package/dist/store/lock.js +1 -0
  682. package/dist/store/lock.js.map +1 -1
  683. package/dist/store/memory-accessor.d.ts +8 -3
  684. package/dist/store/memory-accessor.d.ts.map +1 -1
  685. package/dist/store/memory-accessor.js +29 -13
  686. package/dist/store/memory-accessor.js.map +1 -1
  687. package/dist/store/memory-sqlite.d.ts.map +1 -1
  688. package/dist/store/memory-sqlite.js +5 -0
  689. package/dist/store/memory-sqlite.js.map +1 -1
  690. package/dist/store/open-cleo-db.d.ts.map +1 -1
  691. package/dist/store/open-cleo-db.js +11 -6
  692. package/dist/store/open-cleo-db.js.map +1 -1
  693. package/dist/store/portable-bundle-relocate.d.ts +13 -8
  694. package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
  695. package/dist/store/portable-bundle-relocate.js +75 -31
  696. package/dist/store/portable-bundle-relocate.js.map +1 -1
  697. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  698. package/dist/store/portable-bundle-scan.js +2 -1
  699. package/dist/store/portable-bundle-scan.js.map +1 -1
  700. package/dist/store/portable-bundle.d.ts.map +1 -1
  701. package/dist/store/portable-bundle.js +7 -3
  702. package/dist/store/portable-bundle.js.map +1 -1
  703. package/dist/store/pre-repair-snapshot.d.ts +77 -0
  704. package/dist/store/pre-repair-snapshot.d.ts.map +1 -0
  705. package/dist/store/pre-repair-snapshot.js +122 -0
  706. package/dist/store/pre-repair-snapshot.js.map +1 -0
  707. package/dist/store/regenerators.d.ts +2 -1
  708. package/dist/store/regenerators.d.ts.map +1 -1
  709. package/dist/store/regenerators.js +17 -3
  710. package/dist/store/regenerators.js.map +1 -1
  711. package/dist/store/relocated-store-guard.d.ts +71 -0
  712. package/dist/store/relocated-store-guard.d.ts.map +1 -0
  713. package/dist/store/relocated-store-guard.js +138 -0
  714. package/dist/store/relocated-store-guard.js.map +1 -0
  715. package/dist/store/safety-data-accessor.d.ts +2 -2
  716. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  717. package/dist/store/safety-data-accessor.js +2 -2
  718. package/dist/store/safety-data-accessor.js.map +1 -1
  719. package/dist/store/schema/attachments.d.ts +2 -2
  720. package/dist/store/schema/audit.d.ts +5 -5
  721. package/dist/store/schema/background-jobs.d.ts +1 -1
  722. package/dist/store/schema/cleo-global/models-catalog.d.ts +1 -1
  723. package/dist/store/schema/cleo-global/nexus.d.ts +686 -0
  724. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  725. package/dist/store/schema/cleo-global/nexus.js +175 -7
  726. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  727. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  728. package/dist/store/schema/cleo-project/audit.d.ts +5 -5
  729. package/dist/store/schema/cleo-project/docs.d.ts +3 -3
  730. package/dist/store/schema/cleo-project/lifecycle.d.ts +3 -3
  731. package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
  732. package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
  733. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
  734. package/dist/store/schema/cleo-project/tasks-core.d.ts +6 -6
  735. package/dist/store/schema/cleo-shared/brain.d.ts +26 -26
  736. package/dist/store/schema/lifecycle.d.ts +3 -3
  737. package/dist/store/schema/manifest.d.ts +1 -1
  738. package/dist/store/schema/memory-schema.d.ts +26 -26
  739. package/dist/store/schema/nexus-schema.d.ts +696 -2
  740. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  741. package/dist/store/schema/nexus-schema.js +175 -19
  742. package/dist/store/schema/nexus-schema.js.map +1 -1
  743. package/dist/store/schema/provenance/releases.d.ts +1 -1
  744. package/dist/store/schema/skills-schema.d.ts +2 -2
  745. package/dist/store/schema/tasks.d.ts +5 -5
  746. package/dist/store/session-binding-schema.d.ts +132 -0
  747. package/dist/store/session-binding-schema.d.ts.map +1 -0
  748. package/dist/store/session-binding-schema.js +53 -0
  749. package/dist/store/session-binding-schema.js.map +1 -0
  750. package/dist/store/session-store.d.ts +262 -4
  751. package/dist/store/session-store.d.ts.map +1 -1
  752. package/dist/store/session-store.js +486 -26
  753. package/dist/store/session-store.js.map +1 -1
  754. package/dist/store/skills-db.d.ts +17 -0
  755. package/dist/store/skills-db.d.ts.map +1 -1
  756. package/dist/store/skills-db.js +30 -0
  757. package/dist/store/skills-db.js.map +1 -1
  758. package/dist/store/snapshot-gate.d.ts +239 -0
  759. package/dist/store/snapshot-gate.d.ts.map +1 -0
  760. package/dist/store/snapshot-gate.js +401 -0
  761. package/dist/store/snapshot-gate.js.map +1 -0
  762. package/dist/store/split-brain-import.js +2 -2
  763. package/dist/store/split-brain-import.js.map +1 -1
  764. package/dist/store/sqlite-backup.d.ts +55 -13
  765. package/dist/store/sqlite-backup.d.ts.map +1 -1
  766. package/dist/store/sqlite-backup.js +414 -106
  767. package/dist/store/sqlite-backup.js.map +1 -1
  768. package/dist/store/sqlite-data-accessor.d.ts +15 -0
  769. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  770. package/dist/store/sqlite-data-accessor.js +73 -4
  771. package/dist/store/sqlite-data-accessor.js.map +1 -1
  772. package/dist/store/sqlite.d.ts +15 -1
  773. package/dist/store/sqlite.d.ts.map +1 -1
  774. package/dist/store/sqlite.js +75 -5
  775. package/dist/store/sqlite.js.map +1 -1
  776. package/dist/store/store-write-guard.d.ts +28 -0
  777. package/dist/store/store-write-guard.d.ts.map +1 -0
  778. package/dist/store/store-write-guard.js +50 -0
  779. package/dist/store/store-write-guard.js.map +1 -0
  780. package/dist/store/table-classification.d.ts +143 -0
  781. package/dist/store/table-classification.d.ts.map +1 -0
  782. package/dist/store/table-classification.js +1866 -0
  783. package/dist/store/table-classification.js.map +1 -0
  784. package/dist/store/task-version.d.ts +72 -0
  785. package/dist/store/task-version.d.ts.map +1 -0
  786. package/dist/store/task-version.js +93 -0
  787. package/dist/store/task-version.js.map +1 -0
  788. package/dist/store/tasks-schema.d.ts +1 -0
  789. package/dist/store/tasks-schema.d.ts.map +1 -1
  790. package/dist/store/tasks-schema.js +13 -0
  791. package/dist/store/tasks-schema.js.map +1 -1
  792. package/dist/store/tasks-sqlite.d.ts +10 -3
  793. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  794. package/dist/store/tasks-sqlite.js +12 -3
  795. package/dist/store/tasks-sqlite.js.map +1 -1
  796. package/dist/store/twin-collapse.d.ts +320 -0
  797. package/dist/store/twin-collapse.d.ts.map +1 -0
  798. package/dist/store/twin-collapse.js +931 -0
  799. package/dist/store/twin-collapse.js.map +1 -0
  800. package/dist/store/umbrella-data-accessor.d.ts +2 -2
  801. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  802. package/dist/store/umbrella-data-accessor.js +2 -2
  803. package/dist/store/umbrella-data-accessor.js.map +1 -1
  804. package/dist/store/validation-schemas.d.ts +63 -63
  805. package/dist/store/worktree-isolation-guard.d.ts +46 -24
  806. package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
  807. package/dist/store/worktree-isolation-guard.js +71 -50
  808. package/dist/store/worktree-isolation-guard.js.map +1 -1
  809. package/dist/system/backup.d.ts.map +1 -1
  810. package/dist/system/backup.js +3 -67
  811. package/dist/system/backup.js.map +1 -1
  812. package/dist/system/cleo-link.d.ts +163 -0
  813. package/dist/system/cleo-link.d.ts.map +1 -0
  814. package/dist/system/cleo-link.js +246 -0
  815. package/dist/system/cleo-link.js.map +1 -0
  816. package/dist/system/dependencies.d.ts.map +1 -1
  817. package/dist/system/dependencies.js +3 -6
  818. package/dist/system/dependencies.js.map +1 -1
  819. package/dist/system/global-delivery.d.ts +205 -0
  820. package/dist/system/global-delivery.d.ts.map +1 -0
  821. package/dist/system/global-delivery.js +320 -0
  822. package/dist/system/global-delivery.js.map +1 -0
  823. package/dist/system/health.d.ts.map +1 -1
  824. package/dist/system/health.js +29 -6
  825. package/dist/system/health.js.map +1 -1
  826. package/dist/system/inject-generate.d.ts.map +1 -1
  827. package/dist/system/inject-generate.js +4 -4
  828. package/dist/system/inject-generate.js.map +1 -1
  829. package/dist/system/project-health.d.ts.map +1 -1
  830. package/dist/system/project-health.js +1 -20
  831. package/dist/system/project-health.js.map +1 -1
  832. package/dist/system/runtime.d.ts.map +1 -1
  833. package/dist/system/runtime.js +2 -12
  834. package/dist/system/runtime.js.map +1 -1
  835. package/dist/system/safestop.d.ts.map +1 -1
  836. package/dist/system/safestop.js +5 -2
  837. package/dist/system/safestop.js.map +1 -1
  838. package/dist/system/skill-fixtures.d.ts +200 -0
  839. package/dist/system/skill-fixtures.d.ts.map +1 -0
  840. package/dist/system/skill-fixtures.js +331 -0
  841. package/dist/system/skill-fixtures.js.map +1 -0
  842. package/dist/task-work/index.d.ts +6 -0
  843. package/dist/task-work/index.d.ts.map +1 -1
  844. package/dist/task-work/index.js +6 -3
  845. package/dist/task-work/index.js.map +1 -1
  846. package/dist/tasks/add.d.ts.map +1 -1
  847. package/dist/tasks/add.js +4 -2
  848. package/dist/tasks/add.js.map +1 -1
  849. package/dist/tasks/affected-packages.d.ts +218 -0
  850. package/dist/tasks/affected-packages.d.ts.map +1 -0
  851. package/dist/tasks/affected-packages.js +496 -0
  852. package/dist/tasks/affected-packages.js.map +1 -0
  853. package/dist/tasks/affected-scope.d.ts +59 -0
  854. package/dist/tasks/affected-scope.d.ts.map +1 -0
  855. package/dist/tasks/affected-scope.js +81 -0
  856. package/dist/tasks/affected-scope.js.map +1 -0
  857. package/dist/tasks/analyze.d.ts.map +1 -1
  858. package/dist/tasks/analyze.js +7 -2
  859. package/dist/tasks/analyze.js.map +1 -1
  860. package/dist/tasks/change-set.d.ts +175 -0
  861. package/dist/tasks/change-set.d.ts.map +1 -0
  862. package/dist/tasks/change-set.js +753 -0
  863. package/dist/tasks/change-set.js.map +1 -0
  864. package/dist/tasks/complete.d.ts +10 -0
  865. package/dist/tasks/complete.d.ts.map +1 -1
  866. package/dist/tasks/complete.js +59 -5
  867. package/dist/tasks/complete.js.map +1 -1
  868. package/dist/tasks/component-pr.d.ts +106 -0
  869. package/dist/tasks/component-pr.d.ts.map +1 -0
  870. package/dist/tasks/component-pr.js +190 -0
  871. package/dist/tasks/component-pr.js.map +1 -0
  872. package/dist/tasks/done-plan.d.ts +123 -0
  873. package/dist/tasks/done-plan.d.ts.map +1 -0
  874. package/dist/tasks/done-plan.js +696 -0
  875. package/dist/tasks/done-plan.js.map +1 -0
  876. package/dist/tasks/done-record.d.ts +127 -0
  877. package/dist/tasks/done-record.d.ts.map +1 -0
  878. package/dist/tasks/done-record.js +302 -0
  879. package/dist/tasks/done-record.js.map +1 -0
  880. package/dist/tasks/duplicate-detector.d.ts +68 -11
  881. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  882. package/dist/tasks/duplicate-detector.js +314 -58
  883. package/dist/tasks/duplicate-detector.js.map +1 -1
  884. package/dist/tasks/evidence-paths.d.ts +78 -0
  885. package/dist/tasks/evidence-paths.d.ts.map +1 -0
  886. package/dist/tasks/evidence-paths.js +150 -0
  887. package/dist/tasks/evidence-paths.js.map +1 -0
  888. package/dist/tasks/evidence.d.ts +101 -1
  889. package/dist/tasks/evidence.d.ts.map +1 -1
  890. package/dist/tasks/evidence.js +278 -31
  891. package/dist/tasks/evidence.js.map +1 -1
  892. package/dist/tasks/gate-preview.d.ts +5 -0
  893. package/dist/tasks/gate-preview.d.ts.map +1 -1
  894. package/dist/tasks/gate-preview.js +25 -21
  895. package/dist/tasks/gate-preview.js.map +1 -1
  896. package/dist/tasks/gate-result-cache.d.ts +205 -0
  897. package/dist/tasks/gate-result-cache.d.ts.map +1 -0
  898. package/dist/tasks/gate-result-cache.js +285 -0
  899. package/dist/tasks/gate-result-cache.js.map +1 -0
  900. package/dist/tasks/gate-runner.d.ts +126 -3
  901. package/dist/tasks/gate-runner.d.ts.map +1 -1
  902. package/dist/tasks/gate-runner.js +483 -28
  903. package/dist/tasks/gate-runner.js.map +1 -1
  904. package/dist/tasks/session-scope.d.ts +3 -1
  905. package/dist/tasks/session-scope.d.ts.map +1 -1
  906. package/dist/tasks/session-scope.js +18 -3
  907. package/dist/tasks/session-scope.js.map +1 -1
  908. package/dist/tasks/task-next.d.ts +4 -0
  909. package/dist/tasks/task-next.d.ts.map +1 -1
  910. package/dist/tasks/task-next.js +32 -28
  911. package/dist/tasks/task-next.js.map +1 -1
  912. package/dist/tasks/tool-resolver.d.ts +23 -6
  913. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  914. package/dist/tasks/tool-resolver.js +146 -8
  915. package/dist/tasks/tool-resolver.js.map +1 -1
  916. package/dist/tasks/tool-vacuity.d.ts +71 -0
  917. package/dist/tasks/tool-vacuity.d.ts.map +1 -0
  918. package/dist/tasks/tool-vacuity.js +334 -0
  919. package/dist/tasks/tool-vacuity.js.map +1 -0
  920. package/dist/tasks/update.d.ts +8 -0
  921. package/dist/tasks/update.d.ts.map +1 -1
  922. package/dist/tasks/update.js +159 -78
  923. package/dist/tasks/update.js.map +1 -1
  924. package/dist/upgrade.d.ts.map +1 -1
  925. package/dist/upgrade.js +18 -2
  926. package/dist/upgrade.js.map +1 -1
  927. package/dist/validation/doctor/checks.d.ts +20 -2
  928. package/dist/validation/doctor/checks.d.ts.map +1 -1
  929. package/dist/validation/doctor/checks.js +64 -4
  930. package/dist/validation/doctor/checks.js.map +1 -1
  931. package/dist/validation/doctor/index.d.ts +1 -1
  932. package/dist/validation/doctor/index.d.ts.map +1 -1
  933. package/dist/validation/doctor/index.js +1 -1
  934. package/dist/validation/doctor/index.js.map +1 -1
  935. package/dist/validation/doctor/utils.d.ts.map +1 -1
  936. package/dist/validation/doctor/utils.js +7 -2
  937. package/dist/validation/doctor/utils.js.map +1 -1
  938. package/dist/validation/engine-ops.d.ts +24 -1
  939. package/dist/validation/engine-ops.d.ts.map +1 -1
  940. package/dist/validation/engine-ops.js +272 -98
  941. package/dist/validation/engine-ops.js.map +1 -1
  942. package/dist/validation/validate-ops.d.ts.map +1 -1
  943. package/dist/validation/validate-ops.js +9 -3
  944. package/dist/validation/validate-ops.js.map +1 -1
  945. package/dist/worktree/worktree-adopt.d.ts.map +1 -1
  946. package/dist/worktree/worktree-adopt.js +5 -2
  947. package/dist/worktree/worktree-adopt.js.map +1 -1
  948. package/migrations/drizzle-cleo-global/20260927000000_t12469-project-locations/migration.sql +121 -0
  949. package/migrations/drizzle-cleo-global/20260927010000_t12543-user-profile-project-scope/migration.sql +23 -0
  950. package/migrations/drizzle-cleo-global/20260928010000_t12470-location-candidates/migration.sql +72 -0
  951. package/migrations/drizzle-cleo-global/20260928020000_t12510-nexus-devices/migration.sql +34 -0
  952. package/migrations/drizzle-cleo-global/20260928030000_t12511-project-git-state/migration.sql +62 -0
  953. package/migrations/drizzle-cleo-project/20260927000000_t12499-session-terminal-bindings/migration.sql +34 -0
  954. package/migrations/drizzle-cleo-project/20260928000000_t12500-binding-provider-flag/migration.sql +15 -0
  955. package/package.json +23 -13
  956. package/schemas/config.schema.json +54 -0
  957. package/schemas/project-context.schema.json +51 -3
  958. package/schemas/project-info.schema.json +28 -1
  959. package/templates/CLEO-INJECTION.md +40 -332
  960. package/templates/CLEO-REFERENCE.md +303 -0
  961. package/templates/workflows/README.md +36 -14
@@ -13,7 +13,7 @@
13
13
  * |------|---------|
14
14
  * | 0 | Minimal: task metadata + return-format contract + evidence-gate commands |
15
15
  * | 1 | Standard (DEFAULT): tier 0 + CLEO-INJECTION.md embed + stage-specific guidance + quality-gate commands + absolute paths + session linkage |
16
- * | 2 | Full: tier 1 + ct-cleo + ct-orchestrator skill excerpts + SUBAGENT-PROTOCOL-BLOCK + anti-pattern reference |
16
+ * | 2 | Full: tier 1 + CLEO-REFERENCE.md embed + ct-cleo + ct-orchestrator skill excerpts + SUBAGENT-PROTOCOL-BLOCK + anti-pattern reference |
17
17
  *
18
18
  * ## Protocol phases (RCASD-IVTR+C)
19
19
  *
@@ -40,9 +40,12 @@
40
40
  import { existsSync, readFileSync } from 'node:fs';
41
41
  import { dirname, join, resolve } from 'node:path';
42
42
  import { fileURLToPath } from 'node:url';
43
+ import { getProviderAskTool } from '@cleocode/caamp';
43
44
  import { normalizeSlug } from '../docs/slug-normalize.js';
44
- import { ISOLATION_ENV_KEYS, provisionIsolatedShell } from '../sdk/isolation.js';
45
- import { resolveSkillPath } from '../skills/skill-paths.js';
45
+ import { provisionIsolatedShell } from '../sdk/isolation.js';
46
+ import { resolveSkillLocation, resolveSkillPath } from '../skills/skill-paths.js';
47
+ import { buildBudgetedPsycheMemoryBlock, relevanceContextFromTask, } from './psyche-memory-budget.js';
48
+ import { coordinationTopic, waveTopic as waveTopicName } from './wave-topic.js';
46
49
  /**
47
50
  * Locate `packages/core/templates/CLEO-INJECTION.md` at runtime.
48
51
  *
@@ -62,15 +65,18 @@ import { resolveSkillPath } from '../skills/skill-paths.js';
62
65
  * Returns the absolute path to CLEO-INJECTION.md, or `null` if no layout
63
66
  * contains the file. The cached string in {@link loadCleoInjection} degrades
64
67
  * gracefully on `null`.
68
+ *
69
+ * @param fileName - Template file name; `CLEO-REFERENCE.md` locates the
70
+ * on-demand reference that ships beside the core (T12580).
65
71
  */
66
- function locateCleoInjectionTemplate() {
72
+ function locateCleoInjectionTemplate(fileName = 'CLEO-INJECTION.md') {
67
73
  const thisFile = fileURLToPath(import.meta.url);
68
74
  const candidates = [];
69
75
  // Layout 1 + 2: walk up from this file until we find a `templates/` sibling
70
76
  // of our own package (or hit filesystem root).
71
77
  let dir = dirname(thisFile);
72
78
  for (let i = 0; i < 8; i++) {
73
- const direct = join(dir, 'templates', 'CLEO-INJECTION.md');
79
+ const direct = join(dir, 'templates', fileName);
74
80
  if (existsSync(direct))
75
81
  return direct;
76
82
  candidates.push(direct);
@@ -83,7 +89,7 @@ function locateCleoInjectionTemplate() {
83
89
  // few ancestor directories of the bundle.
84
90
  let baseDir = dirname(thisFile);
85
91
  for (let i = 0; i < 8; i++) {
86
- const nm = join(baseDir, 'node_modules', '@cleocode', 'core', 'templates', 'CLEO-INJECTION.md');
92
+ const nm = join(baseDir, 'node_modules', '@cleocode', 'core', 'templates', fileName);
87
93
  if (existsSync(nm))
88
94
  return nm;
89
95
  const parent = resolve(baseDir, '..');
@@ -145,6 +151,7 @@ export const ALL_SPAWN_PROTOCOL_PHASES = [
145
151
  ];
146
152
  const CACHE = {
147
153
  cleoInjection: null,
154
+ cleoReference: null,
148
155
  ctCleoExcerpt: null,
149
156
  ctOrchestratorExcerpt: null,
150
157
  ctLeadExcerpt: null,
@@ -158,6 +165,7 @@ const CACHE = {
158
165
  */
159
166
  export function resetSpawnPromptCache() {
160
167
  CACHE.cleoInjection = null;
168
+ CACHE.cleoReference = null;
161
169
  CACHE.ctCleoExcerpt = null;
162
170
  CACHE.ctOrchestratorExcerpt = null;
163
171
  CACHE.ctLeadExcerpt = null;
@@ -186,30 +194,57 @@ function loadCleoInjection() {
186
194
  }
187
195
  return null;
188
196
  }
197
+ /**
198
+ * Load the on-demand protocol reference (`CLEO-REFERENCE.md`) that ships
199
+ * beside CLEO-INJECTION.md. Returns `null` when absent so tier-2 assembly
200
+ * degrades to the core embed plus its `cleo briefing inject` pointers.
201
+ *
202
+ * @task T12580
203
+ */
204
+ function loadCleoReference() {
205
+ if (CACHE.cleoReference !== null)
206
+ return CACHE.cleoReference;
207
+ try {
208
+ const templatePath = locateCleoInjectionTemplate('CLEO-REFERENCE.md');
209
+ if (templatePath) {
210
+ CACHE.cleoReference = readFileSync(templatePath, 'utf-8');
211
+ return CACHE.cleoReference;
212
+ }
213
+ }
214
+ catch {
215
+ // fall-through
216
+ }
217
+ return null;
218
+ }
189
219
  /**
190
220
  * Load an excerpt from a skill's SKILL.md file.
191
221
  *
192
222
  * Excerpts are trimmed to the first N characters so that tier 2 prompts do
193
223
  * not balloon. If the skill is not found (CAAMP not installed, filesystem
194
- * error) returns `null` and the caller omits the excerpt.
224
+ * error) returns `null` and the caller omits the excerpt. A skill read from
225
+ * the bundled `@cleocode/skills` copy because it is not installed is prefixed
226
+ * with a notice saying so (T12646).
195
227
  */
196
228
  function loadSkillExcerpt(skillName, maxChars, projectRoot) {
197
- const skillDir = resolveSkillPath(skillName, projectRoot);
198
- if (!skillDir)
229
+ const location = resolveSkillLocation(skillName, projectRoot);
230
+ if (!location)
199
231
  return null;
200
- const skillFile = join(skillDir, 'SKILL.md');
232
+ const skillFile = join(location.path, 'SKILL.md');
201
233
  if (!existsSync(skillFile))
202
234
  return null;
235
+ const notice = location.origin === 'bundled'
236
+ ? `> [${skillName} is not installed in this environment — excerpt read from the \`@cleocode/skills\` package]\n\n`
237
+ : '';
203
238
  try {
204
239
  const content = readFileSync(skillFile, 'utf-8');
205
240
  if (content.length <= maxChars)
206
- return content;
241
+ return `${notice}${content}`;
207
242
  // Truncate at a newline boundary for readability.
208
243
  const sliced = content.slice(0, maxChars);
209
244
  const lastNewline = sliced.lastIndexOf('\n');
210
245
  return lastNewline > 0
211
- ? `${sliced.slice(0, lastNewline)}\n\n> [excerpt — full skill at ${skillFile}]`
212
- : `${sliced}\n\n> [excerpt — full skill at ${skillFile}]`;
246
+ ? `${notice}${sliced.slice(0, lastNewline)}\n\n> [excerpt — full skill at ${skillFile}]`
247
+ : `${notice}${sliced}\n\n> [excerpt — full skill at ${skillFile}]`;
213
248
  }
214
249
  catch {
215
250
  return null;
@@ -248,19 +283,20 @@ function loadSubagentProtocolBlock(projectRoot) {
248
283
  * Emitted when the orchestrate engine has pre-provisioned a git worktree for
249
284
  * the task (worktree-by-default per T1140 / ADR-055). The section:
250
285
  *
251
- * - Names the worktree absolute path and branch.
252
- * - States the context-isolation constraint so the agent knows it is
253
- * authorized only within the worktree boundary.
254
- * - Provides the `FIRST ACTION` directive so the agent initializes its cwd.
255
- * - Warns that each Bash tool call starts a fresh shell — cwd does NOT persist
256
- * between calls (T1758). Agents MUST re-cd at the start of every Bash call.
257
- * - Embeds the utility preamble from {@link provisionIsolatedShell} as the
258
- * single source of truth for the cd-guard + env-export snippet, so the
259
- * isolation contract is never duplicated (T1758).
286
+ * - Names the branch and task, and states the context-isolation constraint so
287
+ * the agent knows it is authorized only within the worktree boundary.
288
+ * - Provides the `FIRST ACTION` directive and warns that each Bash tool call
289
+ * starts a fresh shell — cwd does NOT persist between calls (T1758).
290
+ * - Embeds the preamble from {@link provisionIsolatedShell} as the ONE cd
291
+ * guard and the only shell rendering of the worktree path (T12520). The
292
+ * preamble single-quotes every path, so the commands survive a path with
293
+ * spaces such as macOS `~/Library/Application Support/...`. Earlier versions
294
+ * also emitted an unquoted `WORKTREE=<path>` snippet and a bare
295
+ * `cd <path>` FIRST ACTION (both broke on every macOS worktree) plus a
296
+ * stale `/mnt/projects/cleocode` example; all three are gone.
260
297
  *
261
- * When `--no-worktree` is passed at spawn time this function is not called
262
- * and the section is absent. Agents that encounter a prompt without this
263
- * section may still run on the primary worktree (backward compat).
298
+ * When there is no worktree (`--no-worktree`, or provisioning skipped) this
299
+ * function is not called and the section is absent.
264
300
  *
265
301
  * The `projectHash` is derived from the worktree path (second-to-last path
266
302
  * component per the canonical XDG layout: `.../worktrees/<hash>/<taskId>`).
@@ -272,6 +308,7 @@ function loadSubagentProtocolBlock(projectRoot) {
272
308
  *
273
309
  * @task T1140 — worktree-by-default spawn prompt
274
310
  * @task T1758 — harden tier-1 spawn prompt: cwd-reset warning + cd guard
311
+ * @task T12520 — quoted paths, one cd guard, no stale literal
275
312
  */
276
313
  function buildWorktreeSetupBlock(worktreePath, worktreeBranch, taskId, identity = {}) {
277
314
  // Derive projectHash from the canonical path layout:
@@ -294,58 +331,23 @@ function buildWorktreeSetupBlock(worktreePath, worktreeBranch, taskId, identity
294
331
  ...(identity.sessionId ? { sessionId: identity.sessionId } : {}),
295
332
  ...(identity.agentId ? { agentId: identity.agentId } : {}),
296
333
  });
297
- // The cd guard snippet in a copy-pastable form for the CRITICAL section.
298
- const cdGuardSnippet = `WORKTREE=${worktreePath}; cd "$WORKTREE" || exit 1; pwd | grep -q "$WORKTREE" || exit 1`;
299
- // Enumerate the injected env keys for the note at the bottom.
300
- const envKeyList = ISOLATION_ENV_KEYS.join(', ');
334
+ // T12520 — the preamble is the ONE cd guard and the only place a path is
335
+ // rendered as shell text; `provisionIsolatedShell` single-quotes every path,
336
+ // so the block stays valid under `~/Library/Application Support/...`. The
337
+ // prose below deliberately names no path (it would need its own quoting and
338
+ // would be a second, drifting copy of the guard).
301
339
  return [
302
- '## Worktree Setup (REQUIRED) — STRICT ISOLATION',
303
- '',
304
- `> Authorized only within \`${worktreePath}\`.`,
340
+ '## Worktree Setup (REQUIRED)',
305
341
  '',
306
- `- **Worktree**: \`${worktreePath}\``,
307
- `- **Branch**: \`${worktreeBranch}\``,
308
- `- **Task**: \`${taskId}\``,
342
+ `Authorized only within this worktree (branch \`${worktreeBranch}\`, task \`${taskId}\`). Never read or write the main checkout or any path outside the worktree in Edit/Write.`,
309
343
  '',
310
- `**FIRST ACTION**: \`cd ${worktreePath}\``,
311
- '',
312
- '**CRITICAL — WORKTREE ISOLATION**:',
313
- '1. After initial `cd`, `pwd` must show worktree path',
314
- '2. Each Bash call starts a fresh shell. Re-`cd` at start of EVERY Bash call: `cd <worktree> && <command>`',
315
- `3. NEVER \`cd /mnt/projects/cleocode\`. NEVER use absolute paths outside the worktree in Edit/Write`,
316
- `4. Read merged branches via your worktree (it tracks \`main\`'s latest)`,
317
- '',
318
- '**WARNING — cwd does NOT persist between Bash calls**:',
319
- 'Each Bash tool invocation starts a new shell process. Your working directory',
320
- 'resets to the default every call. You MUST prefix every Bash call with the',
321
- 'worktree cd-guard below — failure to do so is the leading cause of agents',
322
- 'accidentally writing files to the wrong location.',
323
- '',
324
- 'Ready-to-use cd-guard snippet (copy-paste to start every Bash call):',
325
- '```bash',
326
- cdGuardSnippet,
327
- '```',
344
+ '**FIRST ACTION**: run the block below. Each Bash call starts a new shell and cwd does NOT persist between Bash calls, so begin EVERY Bash call with its `cd ... || exit 1` line.',
328
345
  '',
329
- 'Shell isolation preamble (single-source-of-truth from `provisionIsolatedShell`):',
330
346
  '```bash',
331
347
  isolation.preamble.trimEnd(),
332
348
  '```',
333
349
  '',
334
- `Injected env vars: \`${envKeyList}\``,
335
- '',
336
- 'Forbidden git ops: `git checkout, git switch, git branch -b/-D, git reset --hard, git worktree add/remove, git rebase, git stash pop, git push --force`',
337
- '',
338
- 'All commits MUST land on YOUR branch only. The orchestrator integrates via `git merge --no-ff` (ADR-062), preserving your commit SHAs and authorship.',
339
- '',
340
- '**BRANCH PROVENANCE (T1927)**:',
341
- `The orchestrator provisioned \`${worktreeBranch}\` cleanly from the integration base.`,
342
- 'If you ever need to manually create a task branch (e.g. in a fallback flow), ALWAYS run:',
343
- '```bash',
344
- `git branch -D ${worktreeBranch} 2>/dev/null || true`,
345
- `git branch ${worktreeBranch} <base-ref>`,
346
- '```',
347
- 'NEVER use `git worktree add -b` on a branch that may already exist — it silently reuses',
348
- 'orphan history from prior sessions or test fixtures and will corrupt the merge on completion.',
350
+ `**CRITICAL — WORKTREE ISOLATION**: commit only to \`${worktreeBranch}\`; the orchestrator integrates with \`git merge --no-ff\` (ADR-062). Forbidden: \`git checkout\`, \`git switch\`, \`git branch -b/-D\`, \`git reset --hard\`, \`git worktree add/remove\`, \`git rebase\`, \`git stash pop\`, \`git push --force\`.`,
349
351
  ].join('\n');
350
352
  }
351
353
  /**
@@ -769,8 +771,25 @@ function buildQualityGateBlock() {
769
771
  'If ANY gate fails, fix it before completing. Do not bypass. Do not `--no-verify`. Do not amend published commits.',
770
772
  ].join('\n');
771
773
  }
774
+ /**
775
+ * Build the one-line HITL rule for a SUBAGENT (T12482).
776
+ *
777
+ * Spawned agents never ask the human: harness ask tools are unavailable to
778
+ * subagents (Claude Code's `AskUserQuestion` included), and the owner
779
+ * directive routes every decision through the orchestrator. The subagent
780
+ * returns `blocked` with the question + options in the manifest; the line
781
+ * names the tool the ORCHESTRATOR asks with, or the `hitl.request` fallback.
782
+ *
783
+ * @param type - Return-contract type word (e.g. `Implementation`).
784
+ * @param askProviderId - Orchestrator's CAAMP provider id, if known.
785
+ */
786
+ function buildHitlLine(type, askProviderId) {
787
+ const tool = askProviderId ? getProviderAskTool(askProviderId).toolName : null;
788
+ const how = tool ? `asks via \`${tool}\`` : 'emits one `hitl.request` LAFS envelope';
789
+ return `HITL: never ask the human. Return \`${type} blocked.\` with {question, options[{label,description}], recommended} in the manifest; the orchestrator ${how}.`;
790
+ }
772
791
  /** Build the return-format contract — exact strings the subagent may return. */
773
- function buildReturnFormatBlock(protocol) {
792
+ function buildReturnFormatBlock(protocol, askProviderId) {
774
793
  const type = protocol === 'research'
775
794
  ? 'Research'
776
795
  : protocol === 'consensus'
@@ -806,6 +825,8 @@ function buildReturnFormatBlock(protocol) {
806
825
  '1. The `pipeline_manifest` table via `cleo manifest append` (see **Manifest Protocol** below)',
807
826
  '2. The task record itself (gates, status, notes)',
808
827
  '3. Files committed to your branch',
828
+ '',
829
+ buildHitlLine(type, askProviderId),
809
830
  ].join('\n');
810
831
  }
811
832
  /**
@@ -894,7 +915,8 @@ function buildManifestProtocolBlock(taskId, protocol) {
894
915
  * The legacy flat-file manifest row was removed when `pipeline_manifest`
895
916
  * (SQLite) became the canonical manifest store (ADR-027 §6.2, T1096). Subagents append
896
917
  * manifest entries via `cleo manifest append` — see the Manifest Protocol block
897
- * rendered alongside this one.
918
+ * rendered alongside this one. T12482 dropped this block's restatement of that
919
+ * rule (the Manifest Protocol block already says it) to fund the HITL line.
898
920
  */
899
921
  function buildFilePathsBlock(taskId, outputDir, rcasdDir, testRunsDir) {
900
922
  return [
@@ -905,10 +927,6 @@ function buildFilePathsBlock(taskId, outputDir, rcasdDir, testRunsDir) {
905
927
  `| Agent output directory | \`${outputDir}\` |`,
906
928
  `| RCASD workspace (${taskId}) | \`${rcasdDir}\` |`,
907
929
  `| Test-run captures | \`${testRunsDir}\` |`,
908
- '',
909
- '> Manifest entries are stored in `pipeline_manifest` (tasks.db) and MUST be',
910
- '> written via `cleo manifest append` (see **Manifest Protocol**). Never',
911
- '> create a flat `.jsonl` manifest file — the legacy sink was retired (ADR-027).',
912
930
  ].join('\n');
913
931
  }
914
932
  /** Build the session-linkage block — thread orchestrator session id to subagent. */
@@ -940,6 +958,8 @@ function buildTier0ProtocolPointer() {
940
958
  'Full protocol reference: `~/.cleo/templates/CLEO-INJECTION.md` (global) or `packages/core/templates/CLEO-INJECTION.md` (source).',
941
959
  '',
942
960
  'Cheapest-first discovery: `cleo session status` → `cleo dash` → `cleo current` → `cleo next` → `cleo show <id>`.',
961
+ '',
962
+ 'On-demand protocol sections: `cleo briefing inject --section <name>`.',
943
963
  ].join('\n');
944
964
  }
945
965
  /** Build the tier 1 CLEO-INJECTION embed. */
@@ -956,7 +976,32 @@ function buildTier1InjectionEmbed() {
956
976
  return [
957
977
  '## CLEO Protocol (embedded — tier 1)',
958
978
  '',
959
- '<details><summary>Click to expand full protocol</summary>',
979
+ '<details><summary>Click to expand core protocol</summary>',
980
+ '',
981
+ content,
982
+ '',
983
+ '</details>',
984
+ ].join('\n');
985
+ }
986
+ /**
987
+ * Build the tier 2 protocol-reference embed.
988
+ *
989
+ * CLEO-INJECTION.md is only the always-loaded core; its reference sections
990
+ * live in CLEO-REFERENCE.md. Tier-2 workers run autonomously, so they get the
991
+ * reference resolved in full rather than a `cleo briefing inject` round-trip
992
+ * per section. Emitted even when the core embed is deduplicated, because no
993
+ * harness auto-loads the reference.
994
+ *
995
+ * @task T12580
996
+ */
997
+ function buildTier2ReferenceEmbed() {
998
+ const content = loadCleoReference();
999
+ if (!content)
1000
+ return null;
1001
+ return [
1002
+ '## CLEO Protocol Reference (embedded — tier 2)',
1003
+ '',
1004
+ '<details><summary>Click to expand on-demand reference sections</summary>',
960
1005
  '',
961
1006
  content,
962
1007
  '',
@@ -1075,8 +1120,8 @@ function buildDashboardContextBlock(summary) {
1075
1120
  }
1076
1121
  function buildConduitSubscriptionBlock(config) {
1077
1122
  const { epicId, waveId, peerId } = config;
1078
- const waveTopic = `epic-${epicId}.wave-${waveId}`;
1079
- const coordTopic = `epic-${epicId}.coordination`;
1123
+ const waveTopic = waveTopicName(epicId, waveId);
1124
+ const coordTopic = coordinationTopic(epicId);
1080
1125
  return [
1081
1126
  '## CONDUIT Subscription (A2A Wave Coordination · T1252)',
1082
1127
  '',
@@ -1172,114 +1217,28 @@ function buildAntiPatternBlock() {
1172
1217
  * the spawned agent its user profile, peer memory, and session context.
1173
1218
  * Mirrors the `computeBriefing` path in `briefing.ts` (M1 parity).
1174
1219
  *
1220
+ * T12519: the block is budgeted. Operation receipts and dispatch traces are
1221
+ * excluded. The rest is ranked by relevance to `task` and capped at
1222
+ * `PSYCHE_MEMORY_TOKEN_BUDGET` tokens, admitting whole entries only. See
1223
+ * `psyche-memory-budget.ts`.
1224
+ *
1175
1225
  * Called only when `tier >= 1` and `retrievalBundle` is set.
1176
- * Callers MUST NOT crash if the bundle is empty (all arrays may be empty
1177
- * until T1147 W7 sweep ships in .132).
1226
+ * Callers MUST NOT crash if the bundle is empty.
1178
1227
  *
1179
1228
  * @param bundle - The retrieval bundle from `buildRetrievalBundle`.
1229
+ * @param task - The task being spawned (relevance ranking source).
1230
+ * @param attentionDigestLines - Pre-rendered Tier-2 attention lines (T11374).
1180
1231
  * @returns Markdown string for the `## PSYCHE-MEMORY` section.
1181
1232
  *
1182
1233
  * @task T1260 PSYCHE E3
1234
+ * @task T12519
1183
1235
  */
1184
- function buildPsycheMemoryBlock(bundle, attentionDigestLines) {
1185
- const lines = ['## PSYCHE-MEMORY'];
1186
- lines.push('');
1187
- lines.push(`> Token budget used: ${bundle.tokenCounts.total} (cold=${bundle.tokenCounts.cold}, warm=${bundle.tokenCounts.warm}, hot=${bundle.tokenCounts.hot})`);
1188
- // -- Tier-2 attention digest (T11374) — budget-bounded MVI lines from the
1189
- // open working-memory jots visible to the spawned task's scope. Empty when
1190
- // there are no open items (the empty-attention contract: inject nothing).
1191
- if (attentionDigestLines && attentionDigestLines.length > 0) {
1192
- lines.push('');
1193
- lines.push(...attentionDigestLines);
1194
- }
1195
- // -- Cold: user profile --
1196
- if (bundle.cold.userProfile.length > 0) {
1197
- lines.push('');
1198
- lines.push('### User Profile');
1199
- for (const trait of bundle.cold.userProfile) {
1200
- lines.push(`- **${trait.traitKey}**: ${trait.traitValue}`);
1201
- }
1202
- }
1203
- // -- Cold: sigil card (Wave 8 T1148) --
1204
- if (bundle.cold.sigilCard) {
1205
- const s = bundle.cold.sigilCard;
1206
- lines.push('');
1207
- lines.push('### Active Peer Sigil');
1208
- if (s.displayName)
1209
- lines.push(`- **Name**: ${s.displayName}`);
1210
- if (s.role)
1211
- lines.push(`- **Role**: ${s.role}`);
1212
- if (s.cantFile)
1213
- lines.push(`- **CANT file**: ${s.cantFile}`);
1214
- if (s.capabilityFlags)
1215
- lines.push(`- **Capabilities**: ${s.capabilityFlags}`);
1216
- }
1217
- if (bundle.cold.peerInstructions) {
1218
- lines.push('');
1219
- lines.push('### Peer Instructions');
1220
- lines.push(bundle.cold.peerInstructions);
1221
- }
1222
- // -- Warm: peer memory --
1223
- if (bundle.warm.decisions.length > 0) {
1224
- lines.push('');
1225
- lines.push('### Key Decisions');
1226
- for (const d of bundle.warm.decisions) {
1227
- lines.push(`- [${d.id}] ${d.decision}`);
1228
- }
1229
- }
1230
- if (bundle.warm.peerPatterns.length > 0) {
1231
- lines.push('');
1232
- lines.push('### Patterns');
1233
- for (const p of bundle.warm.peerPatterns) {
1234
- lines.push(`- [${p.id}] ${p.pattern}`);
1235
- }
1236
- }
1237
- if (bundle.warm.peerLearnings.length > 0) {
1238
- lines.push('');
1239
- lines.push('### Learnings');
1240
- for (const l of bundle.warm.peerLearnings) {
1241
- lines.push(`- [${l.id}] ${l.insight}`);
1242
- }
1243
- }
1244
- // -- Hot: session state --
1245
- if (bundle.hot.sessionNarrative) {
1246
- lines.push('');
1247
- lines.push('### Session Narrative');
1248
- lines.push(bundle.hot.sessionNarrative);
1249
- }
1250
- if (bundle.hot.recentObservations.length > 0) {
1251
- lines.push('');
1252
- lines.push('### Recent Observations');
1253
- for (const o of bundle.hot.recentObservations) {
1254
- lines.push(`- [${o.id}] ${o.title}`);
1255
- }
1256
- }
1257
- if (bundle.hot.activeTasks.length > 0) {
1258
- lines.push('');
1259
- lines.push('### Active Tasks');
1260
- for (const t of bundle.hot.activeTasks) {
1261
- lines.push(`- ${t.id}: ${t.title} (${t.status})`);
1262
- }
1263
- }
1264
- // Empty bundle notice (expected until T1147 W7 sweep ships in .132).
1265
- // Tier-2 attention lines count as content — if the agent has open jots the
1266
- // block is non-empty even when the retrieval bundle is bare (T11374).
1267
- const hasContent = (attentionDigestLines !== undefined && attentionDigestLines.length > 0) ||
1268
- bundle.cold.userProfile.length > 0 ||
1269
- bundle.cold.peerInstructions ||
1270
- bundle.cold.sigilCard !== undefined ||
1271
- bundle.warm.decisions.length > 0 ||
1272
- bundle.warm.peerPatterns.length > 0 ||
1273
- bundle.warm.peerLearnings.length > 0 ||
1274
- bundle.hot.sessionNarrative ||
1275
- bundle.hot.recentObservations.length > 0 ||
1276
- bundle.hot.activeTasks.length > 0;
1277
- if (!hasContent) {
1278
- lines.push('');
1279
- lines.push('> No memory context available. All entries are pending the T1147 W7 sweep (.132) ' +
1280
- "to promote from 'unswept-pre-T1151' to 'swept-clean'. Proceed without memory context.");
1281
- }
1282
- return lines.join('\n');
1236
+ function buildPsycheMemoryBlock(bundle, task, attentionDigestLines) {
1237
+ return buildBudgetedPsycheMemoryBlock({
1238
+ bundle,
1239
+ relevance: relevanceContextFromTask(task),
1240
+ ...(attentionDigestLines !== undefined ? { attentionDigestLines } : {}),
1241
+ }).block;
1283
1242
  }
1284
1243
  // ============================================================================
1285
1244
  // Public API
@@ -1353,7 +1312,8 @@ export function buildSpawnPrompt(input) {
1353
1312
  // 9. Quality Gates — biome / build / test
1354
1313
  authoredSections.push(buildHeader(input.task, protocol, tier));
1355
1314
  authoredSections.push(buildTaskIdentity(input.task));
1356
- authoredSections.push(buildReturnFormatBlock(protocol));
1315
+ const askProviderId = input.askProviderId ?? (input.harnessHint === 'claude-code' ? 'claude-code' : undefined);
1316
+ authoredSections.push(buildReturnFormatBlock(protocol, askProviderId));
1357
1317
  authoredSections.push(buildManifestProtocolBlock(taskId, protocol));
1358
1318
  authoredSections.push(buildSessionBlock(input.sessionId));
1359
1319
  // Worktree Setup (T1140) — only emitted when the engine provisioned one.
@@ -1397,7 +1357,7 @@ export function buildSpawnPrompt(input) {
1397
1357
  // legacy entries; callers must not crash on an empty bundle. T11374 threads
1398
1358
  // the Tier-2 attention digest lines into the same block (budget-bounded).
1399
1359
  if (tier >= 1 && input.retrievalBundle) {
1400
- authoredSections.push(buildPsycheMemoryBlock(input.retrievalBundle, input.attentionDigestLines));
1360
+ authoredSections.push(buildPsycheMemoryBlock(input.retrievalBundle, input.task, input.attentionDigestLines));
1401
1361
  }
1402
1362
  authoredSections.push(buildFilePathsBlock(taskId, outputDir, rcasdDir, testRunsDir));
1403
1363
  // Task Documents (T1614) — only emitted when the task has attachments.
@@ -1446,6 +1406,9 @@ export function buildSpawnPrompt(input) {
1446
1406
  else {
1447
1407
  embeddedSections.push(buildTier1InjectionEmbed());
1448
1408
  }
1409
+ const referenceEmbed = buildTier2ReferenceEmbed();
1410
+ if (referenceEmbed)
1411
+ embeddedSections.push(referenceEmbed);
1449
1412
  embeddedSections.push(buildTierSkillExcerpts(2, input.role ?? 'orchestrator', input.projectRoot));
1450
1413
  // The anti-patterns block is authored by us, so keep its tokens subject
1451
1414
  // to resolution (currently there are none — but structurally it belongs