@cleocode/core 2026.5.133 → 2026.6.0

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 (560) hide show
  1. package/binaries/README.md +49 -27
  2. package/dist/agents/{agent-registry.d.ts → agent-capacity-tracker.d.ts} +2 -2
  3. package/dist/agents/agent-capacity-tracker.d.ts.map +1 -0
  4. package/dist/agents/{agent-registry.js → agent-capacity-tracker.js} +2 -2
  5. package/dist/agents/agent-capacity-tracker.js.map +1 -0
  6. package/dist/agents/index.d.ts +1 -1
  7. package/dist/agents/index.d.ts.map +1 -1
  8. package/dist/agents/index.js +4 -2
  9. package/dist/agents/index.js.map +1 -1
  10. package/dist/agents/seed-install.d.ts +1 -1
  11. package/dist/agents/seed-install.d.ts.map +1 -1
  12. package/dist/agents/seed-install.js +42 -36
  13. package/dist/agents/seed-install.js.map +1 -1
  14. package/dist/caamp-export.d.ts +18 -0
  15. package/dist/caamp-export.d.ts.map +1 -0
  16. package/dist/caamp-export.js +18 -0
  17. package/dist/caamp-export.js.map +1 -0
  18. package/dist/conduit/local-transport.d.ts +1 -1
  19. package/dist/conduit/local-transport.d.ts.map +1 -1
  20. package/dist/conduit/local-transport.js +69 -43
  21. package/dist/conduit/local-transport.js.map +1 -1
  22. package/dist/dispatch/mutate-projection.d.ts.map +1 -1
  23. package/dist/dispatch/mutate-projection.js +11 -0
  24. package/dist/dispatch/mutate-projection.js.map +1 -1
  25. package/dist/docs/docs-read-model.d.ts +7 -0
  26. package/dist/docs/docs-read-model.d.ts.map +1 -1
  27. package/dist/docs/docs-read-model.js +5 -0
  28. package/dist/docs/docs-read-model.js.map +1 -1
  29. package/dist/docs/supersede.d.ts.map +1 -1
  30. package/dist/docs/supersede.js +12 -7
  31. package/dist/docs/supersede.js.map +1 -1
  32. package/dist/doctor/db-substrate.d.ts.map +1 -1
  33. package/dist/doctor/db-substrate.js +10 -9
  34. package/dist/doctor/db-substrate.js.map +1 -1
  35. package/dist/git-shim-export.d.ts +18 -0
  36. package/dist/git-shim-export.d.ts.map +1 -0
  37. package/dist/git-shim-export.js +18 -0
  38. package/dist/git-shim-export.js.map +1 -0
  39. package/dist/hooks/payload-schemas.d.ts +2 -2
  40. package/dist/init.d.ts.map +1 -1
  41. package/dist/init.js +39 -32
  42. package/dist/init.js.map +1 -1
  43. package/dist/internal.d.ts +11 -3
  44. package/dist/internal.d.ts.map +1 -1
  45. package/dist/internal.js +14 -5
  46. package/dist/internal.js.map +1 -1
  47. package/dist/lafs-export.d.ts +18 -0
  48. package/dist/lafs-export.d.ts.map +1 -0
  49. package/dist/lafs-export.js +18 -0
  50. package/dist/lafs-export.js.map +1 -0
  51. package/dist/lifecycle/effective-stage.js +1 -1
  52. package/dist/lifecycle/index.js +1 -1
  53. package/dist/lifecycle/index.js.map +1 -1
  54. package/dist/lifecycle/rollup.js +1 -1
  55. package/dist/llm/credential-pool.d.ts +17 -0
  56. package/dist/llm/credential-pool.d.ts.map +1 -1
  57. package/dist/llm/credential-pool.js +40 -1
  58. package/dist/llm/credential-pool.js.map +1 -1
  59. package/dist/llm/plugin-facade.d.ts.map +1 -1
  60. package/dist/llm/plugin-facade.js +11 -19
  61. package/dist/llm/plugin-facade.js.map +1 -1
  62. package/dist/llm/role-executor.d.ts +8 -0
  63. package/dist/llm/role-executor.d.ts.map +1 -1
  64. package/dist/llm/role-executor.js +96 -4
  65. package/dist/llm/role-executor.js.map +1 -1
  66. package/dist/llm/role-resolver.d.ts.map +1 -1
  67. package/dist/llm/role-resolver.js +56 -1
  68. package/dist/llm/role-resolver.js.map +1 -1
  69. package/dist/llm/transports/codex-oauth-headers.d.ts +51 -0
  70. package/dist/llm/transports/codex-oauth-headers.d.ts.map +1 -0
  71. package/dist/llm/transports/codex-oauth-headers.js +89 -0
  72. package/dist/llm/transports/codex-oauth-headers.js.map +1 -0
  73. package/dist/memory/claude-mem-migration.d.ts.map +1 -1
  74. package/dist/memory/claude-mem-migration.js +1 -3
  75. package/dist/memory/claude-mem-migration.js.map +1 -1
  76. package/dist/memory/decisions.d.ts.map +1 -1
  77. package/dist/memory/decisions.js +77 -23
  78. package/dist/memory/decisions.js.map +1 -1
  79. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  80. package/dist/memory/graph-memory-bridge.js +12 -6
  81. package/dist/memory/graph-memory-bridge.js.map +1 -1
  82. package/dist/memory/learnings.d.ts +2 -2
  83. package/dist/memory/nexus-plasticity.d.ts +21 -9
  84. package/dist/memory/nexus-plasticity.d.ts.map +1 -1
  85. package/dist/memory/nexus-plasticity.js +44 -22
  86. package/dist/memory/nexus-plasticity.js.map +1 -1
  87. package/dist/memory/patterns.d.ts +2 -2
  88. package/dist/memory/redaction.d.ts +19 -3
  89. package/dist/memory/redaction.d.ts.map +1 -1
  90. package/dist/memory/redaction.js +22 -94
  91. package/dist/memory/redaction.js.map +1 -1
  92. package/dist/metrics/token-service.d.ts +8 -2
  93. package/dist/metrics/token-service.d.ts.map +1 -1
  94. package/dist/metrics/token-service.js +1 -1
  95. package/dist/metrics/token-service.js.map +1 -1
  96. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  97. package/dist/nexus/analyze-orchestrator.js +6 -8
  98. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  99. package/dist/nexus/api-extractors/http-extractor.d.ts.map +1 -1
  100. package/dist/nexus/api-extractors/http-extractor.js +3 -3
  101. package/dist/nexus/api-extractors/http-extractor.js.map +1 -1
  102. package/dist/nexus/clusters.d.ts.map +1 -1
  103. package/dist/nexus/clusters.js +3 -2
  104. package/dist/nexus/clusters.js.map +1 -1
  105. package/dist/nexus/context.d.ts.map +1 -1
  106. package/dist/nexus/context.js +10 -16
  107. package/dist/nexus/context.js.map +1 -1
  108. package/dist/nexus/diff.d.ts.map +1 -1
  109. package/dist/nexus/diff.js +6 -4
  110. package/dist/nexus/diff.js.map +1 -1
  111. package/dist/nexus/export.d.ts.map +1 -1
  112. package/dist/nexus/export.js +7 -4
  113. package/dist/nexus/export.js.map +1 -1
  114. package/dist/nexus/flows.d.ts.map +1 -1
  115. package/dist/nexus/flows.js +3 -1
  116. package/dist/nexus/flows.js.map +1 -1
  117. package/dist/nexus/impact.d.ts +1 -1
  118. package/dist/nexus/impact.d.ts.map +1 -1
  119. package/dist/nexus/impact.js +31 -17
  120. package/dist/nexus/impact.js.map +1 -1
  121. package/dist/nexus/living-brain.d.ts.map +1 -1
  122. package/dist/nexus/living-brain.js +27 -15
  123. package/dist/nexus/living-brain.js.map +1 -1
  124. package/dist/nexus/nexus-bridge.d.ts.map +1 -1
  125. package/dist/nexus/nexus-bridge.js +28 -29
  126. package/dist/nexus/nexus-bridge.js.map +1 -1
  127. package/dist/nexus/plasticity-queries.d.ts +4 -2
  128. package/dist/nexus/plasticity-queries.d.ts.map +1 -1
  129. package/dist/nexus/plasticity-queries.js +27 -15
  130. package/dist/nexus/plasticity-queries.js.map +1 -1
  131. package/dist/nexus/query.d.ts.map +1 -1
  132. package/dist/nexus/query.js +6 -2
  133. package/dist/nexus/query.js.map +1 -1
  134. package/dist/nexus/registry.d.ts.map +1 -1
  135. package/dist/nexus/registry.js +65 -30
  136. package/dist/nexus/registry.js.map +1 -1
  137. package/dist/nexus/route-analysis.d.ts +3 -2
  138. package/dist/nexus/route-analysis.d.ts.map +1 -1
  139. package/dist/nexus/route-analysis.js +11 -10
  140. package/dist/nexus/route-analysis.js.map +1 -1
  141. package/dist/nexus/sigil.d.ts.map +1 -1
  142. package/dist/nexus/sigil.js +60 -13
  143. package/dist/nexus/sigil.js.map +1 -1
  144. package/dist/nexus/user-profile.d.ts +2 -1
  145. package/dist/nexus/user-profile.d.ts.map +1 -1
  146. package/dist/nexus/user-profile.js +8 -4
  147. package/dist/nexus/user-profile.js.map +1 -1
  148. package/dist/orchestrate/index.d.ts +1 -1
  149. package/dist/orchestrate/index.d.ts.map +1 -1
  150. package/dist/orchestrate/index.js +1 -1
  151. package/dist/orchestrate/index.js.map +1 -1
  152. package/dist/orchestrate/plan.d.ts +3 -3
  153. package/dist/orchestrate/plan.d.ts.map +1 -1
  154. package/dist/orchestrate/plan.js +7 -7
  155. package/dist/orchestrate/plan.js.map +1 -1
  156. package/dist/orchestrate/spawn-ops.js +2 -2
  157. package/dist/orchestrate/spawn-ops.js.map +1 -1
  158. package/dist/orchestration/classify.d.ts +2 -2
  159. package/dist/orchestration/classify.js +3 -3
  160. package/dist/orchestration/classify.js.map +1 -1
  161. package/dist/orchestration/validate-spawn.d.ts.map +1 -1
  162. package/dist/orchestration/validate-spawn.js +5 -5
  163. package/dist/orchestration/validate-spawn.js.map +1 -1
  164. package/dist/paths-export.d.ts +18 -0
  165. package/dist/paths-export.d.ts.map +1 -0
  166. package/dist/paths-export.js +18 -0
  167. package/dist/paths-export.js.map +1 -0
  168. package/dist/paths.d.ts.map +1 -1
  169. package/dist/paths.js +24 -11
  170. package/dist/paths.js.map +1 -1
  171. package/dist/playbooks/index.d.ts +1 -0
  172. package/dist/playbooks/index.d.ts.map +1 -1
  173. package/dist/playbooks/index.js +4 -0
  174. package/dist/playbooks/index.js.map +1 -1
  175. package/dist/playbooks/skill-node-executor.d.ts +155 -0
  176. package/dist/playbooks/skill-node-executor.d.ts.map +1 -0
  177. package/dist/playbooks/skill-node-executor.js +156 -0
  178. package/dist/playbooks/skill-node-executor.js.map +1 -0
  179. package/dist/repair.d.ts +3 -7
  180. package/dist/repair.d.ts.map +1 -1
  181. package/dist/repair.js +5 -43
  182. package/dist/repair.js.map +1 -1
  183. package/dist/sagas/migrate-containment.js +7 -7
  184. package/dist/sagas/migrate-containment.js.map +1 -1
  185. package/dist/scaffold/ensure-dirs.d.ts +8 -2
  186. package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
  187. package/dist/scaffold/ensure-dirs.js +24 -11
  188. package/dist/scaffold/ensure-dirs.js.map +1 -1
  189. package/dist/scaffold/project-detection.d.ts +5 -1
  190. package/dist/scaffold/project-detection.d.ts.map +1 -1
  191. package/dist/scaffold/project-detection.js +9 -5
  192. package/dist/scaffold/project-detection.js.map +1 -1
  193. package/dist/sentient/hygiene-scan.js +6 -6
  194. package/dist/sentient/hygiene-scan.js.map +1 -1
  195. package/dist/sentient/proposal-dedup.js +2 -2
  196. package/dist/sentient/proposal-rate-limiter.js +1 -1
  197. package/dist/sentient/propose-tick.js +5 -5
  198. package/dist/sentient/propose-tick.js.map +1 -1
  199. package/dist/sentient/stage-drift-tick.js +3 -3
  200. package/dist/sentient/stage-drift-tick.js.map +1 -1
  201. package/dist/sequence/index.d.ts.map +1 -1
  202. package/dist/sequence/index.js +6 -2
  203. package/dist/sequence/index.js.map +1 -1
  204. package/dist/setup/sections/verification.js +2 -2
  205. package/dist/setup/sections/verification.js.map +1 -1
  206. package/dist/shutdown.d.ts +81 -0
  207. package/dist/shutdown.d.ts.map +1 -0
  208. package/dist/shutdown.js +105 -0
  209. package/dist/shutdown.js.map +1 -0
  210. package/dist/skills/index.d.ts +2 -0
  211. package/dist/skills/index.d.ts.map +1 -1
  212. package/dist/skills/index.js +1 -0
  213. package/dist/skills/index.js.map +1 -1
  214. package/dist/skills/skill-executor-adapter.d.ts +136 -0
  215. package/dist/skills/skill-executor-adapter.d.ts.map +1 -0
  216. package/dist/skills/skill-executor-adapter.js +137 -0
  217. package/dist/skills/skill-executor-adapter.js.map +1 -0
  218. package/dist/skills/usage-recorder.d.ts.map +1 -1
  219. package/dist/skills/usage-recorder.js +30 -0
  220. package/dist/skills/usage-recorder.js.map +1 -1
  221. package/dist/skills-export.d.ts +23 -0
  222. package/dist/skills-export.d.ts.map +1 -0
  223. package/dist/skills-export.js +23 -0
  224. package/dist/skills-export.js.map +1 -0
  225. package/dist/stats/index.d.ts.map +1 -1
  226. package/dist/stats/index.js +8 -3
  227. package/dist/stats/index.js.map +1 -1
  228. package/dist/store/agent-doctor.d.ts +3 -3
  229. package/dist/store/agent-doctor.d.ts.map +1 -1
  230. package/dist/store/agent-doctor.js +18 -13
  231. package/dist/store/agent-doctor.js.map +1 -1
  232. package/dist/store/agent-install.d.ts +6 -5
  233. package/dist/store/agent-install.d.ts.map +1 -1
  234. package/dist/store/agent-install.js +20 -16
  235. package/dist/store/agent-install.js.map +1 -1
  236. package/dist/store/agent-registry-accessor.d.ts +66 -28
  237. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  238. package/dist/store/agent-registry-accessor.js +248 -167
  239. package/dist/store/agent-registry-accessor.js.map +1 -1
  240. package/dist/store/agent-registry-store.d.ts +242 -0
  241. package/dist/store/agent-registry-store.d.ts.map +1 -0
  242. package/dist/store/agent-registry-store.js +501 -0
  243. package/dist/store/agent-registry-store.js.map +1 -0
  244. package/dist/store/agent-resolver.d.ts +8 -8
  245. package/dist/store/agent-resolver.d.ts.map +1 -1
  246. package/dist/store/agent-resolver.js +19 -17
  247. package/dist/store/agent-resolver.js.map +1 -1
  248. package/dist/store/backup-pack.d.ts.map +1 -1
  249. package/dist/store/backup-pack.js +24 -8
  250. package/dist/store/backup-pack.js.map +1 -1
  251. package/dist/store/conduit-sqlite.d.ts +181 -74
  252. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  253. package/dist/store/conduit-sqlite.js +307 -528
  254. package/dist/store/conduit-sqlite.js.map +1 -1
  255. package/dist/store/cross-db-cleanup.d.ts +5 -5
  256. package/dist/store/cross-db-cleanup.d.ts.map +1 -1
  257. package/dist/store/cross-db-cleanup.js +12 -10
  258. package/dist/store/cross-db-cleanup.js.map +1 -1
  259. package/dist/store/data-accessor.d.ts +4 -4
  260. package/dist/store/data-accessor.js +5 -5
  261. package/dist/store/data-accessor.js.map +1 -1
  262. package/dist/store/data-safety-central.d.ts +83 -1
  263. package/dist/store/data-safety-central.d.ts.map +1 -1
  264. package/dist/store/data-safety-central.js +257 -0
  265. package/dist/store/data-safety-central.js.map +1 -1
  266. package/dist/store/db-helpers.d.ts +8 -2
  267. package/dist/store/db-helpers.d.ts.map +1 -1
  268. package/dist/store/db-helpers.js +6 -2
  269. package/dist/store/db-helpers.js.map +1 -1
  270. package/dist/store/dual-scope-db.d.ts +46 -4
  271. package/dist/store/dual-scope-db.d.ts.map +1 -1
  272. package/dist/store/dual-scope-db.js +103 -9
  273. package/dist/store/dual-scope-db.js.map +1 -1
  274. package/dist/store/exodus/__fixtures__/representative-fixture.d.ts +116 -0
  275. package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -0
  276. package/dist/store/exodus/__fixtures__/representative-fixture.js +274 -0
  277. package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -0
  278. package/dist/store/exodus/index.d.ts +18 -0
  279. package/dist/store/exodus/index.d.ts.map +1 -0
  280. package/dist/store/exodus/index.js +18 -0
  281. package/dist/store/exodus/index.js.map +1 -0
  282. package/dist/store/exodus/migrate.d.ts +160 -0
  283. package/dist/store/exodus/migrate.d.ts.map +1 -0
  284. package/dist/store/exodus/migrate.js +1220 -0
  285. package/dist/store/exodus/migrate.js.map +1 -0
  286. package/dist/store/exodus/on-open.d.ts +189 -0
  287. package/dist/store/exodus/on-open.d.ts.map +1 -0
  288. package/dist/store/exodus/on-open.js +464 -0
  289. package/dist/store/exodus/on-open.js.map +1 -0
  290. package/dist/store/exodus/plan.d.ts +44 -0
  291. package/dist/store/exodus/plan.d.ts.map +1 -0
  292. package/dist/store/exodus/plan.js +178 -0
  293. package/dist/store/exodus/plan.js.map +1 -0
  294. package/dist/store/exodus/status.d.ts +22 -0
  295. package/dist/store/exodus/status.d.ts.map +1 -0
  296. package/dist/store/exodus/status.js +88 -0
  297. package/dist/store/exodus/status.js.map +1 -0
  298. package/dist/store/exodus/table-name-map.d.ts +173 -0
  299. package/dist/store/exodus/table-name-map.d.ts.map +1 -0
  300. package/dist/store/exodus/table-name-map.js +660 -0
  301. package/dist/store/exodus/table-name-map.js.map +1 -0
  302. package/dist/store/exodus/types.d.ts +169 -0
  303. package/dist/store/exodus/types.d.ts.map +1 -0
  304. package/dist/store/exodus/types.js +21 -0
  305. package/dist/store/exodus/types.js.map +1 -0
  306. package/dist/store/exodus/verify-migration.d.ts +72 -0
  307. package/dist/store/exodus/verify-migration.d.ts.map +1 -0
  308. package/dist/store/exodus/verify-migration.js +678 -0
  309. package/dist/store/exodus/verify-migration.js.map +1 -0
  310. package/dist/store/exodus/verify.d.ts +58 -0
  311. package/dist/store/exodus/verify.d.ts.map +1 -0
  312. package/dist/store/exodus/verify.js +74 -0
  313. package/dist/store/exodus/verify.js.map +1 -0
  314. package/dist/store/index.d.ts +2 -3
  315. package/dist/store/index.d.ts.map +1 -1
  316. package/dist/store/index.js +2 -3
  317. package/dist/store/index.js.map +1 -1
  318. package/dist/store/memory-accessor.d.ts +31 -0
  319. package/dist/store/memory-accessor.d.ts.map +1 -1
  320. package/dist/store/memory-accessor.js +38 -0
  321. package/dist/store/memory-accessor.js.map +1 -1
  322. package/dist/store/memory-sqlite.d.ts +86 -13
  323. package/dist/store/memory-sqlite.d.ts.map +1 -1
  324. package/dist/store/memory-sqlite.js +326 -528
  325. package/dist/store/memory-sqlite.js.map +1 -1
  326. package/dist/store/migrate-signaldock-to-conduit.d.ts +1 -1
  327. package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
  328. package/dist/store/migrate-signaldock-to-conduit.js +126 -35
  329. package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
  330. package/dist/store/migration-manager.d.ts +49 -0
  331. package/dist/store/migration-manager.d.ts.map +1 -1
  332. package/dist/store/migration-manager.js +167 -67
  333. package/dist/store/migration-manager.js.map +1 -1
  334. package/dist/store/migration-sqlite.d.ts +1 -1
  335. package/dist/store/migration-sqlite.d.ts.map +1 -1
  336. package/dist/store/migration-sqlite.js +32 -3
  337. package/dist/store/migration-sqlite.js.map +1 -1
  338. package/dist/store/nexus-sqlite.d.ts +152 -29
  339. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  340. package/dist/store/nexus-sqlite.js +496 -177
  341. package/dist/store/nexus-sqlite.js.map +1 -1
  342. package/dist/store/nexus-validation-schemas.d.ts +32 -32
  343. package/dist/store/open-cleo-db.d.ts +37 -40
  344. package/dist/store/open-cleo-db.d.ts.map +1 -1
  345. package/dist/store/open-cleo-db.js +76 -153
  346. package/dist/store/open-cleo-db.js.map +1 -1
  347. package/dist/store/role-accessors-impl.d.ts +4 -4
  348. package/dist/store/role-accessors-impl.d.ts.map +1 -1
  349. package/dist/store/role-accessors-impl.js +18 -15
  350. package/dist/store/role-accessors-impl.js.map +1 -1
  351. package/dist/store/schema/{signaldock-schema.d.ts → agent-registry-schema.d.ts} +15 -5
  352. package/dist/store/schema/agent-registry-schema.d.ts.map +1 -0
  353. package/dist/store/schema/{signaldock-schema.js → agent-registry-schema.js} +15 -5
  354. package/dist/store/schema/agent-registry-schema.js.map +1 -0
  355. package/dist/store/schema/agent-schema.d.ts +1 -1
  356. package/dist/store/schema/agent-schema.js +4 -4
  357. package/dist/store/schema/agent-schema.js.map +1 -1
  358. package/dist/store/schema/attachments.d.ts +1 -1
  359. package/dist/store/schema/audit.d.ts +15 -5
  360. package/dist/store/schema/audit.d.ts.map +1 -1
  361. package/dist/store/schema/audit.js +12 -2
  362. package/dist/store/schema/audit.js.map +1 -1
  363. package/dist/store/schema/background-jobs.d.ts +1 -1
  364. package/dist/store/schema/cleo-global/{signaldock.d.ts → agent-registry.d.ts} +277 -271
  365. package/dist/store/schema/cleo-global/agent-registry.d.ts.map +1 -0
  366. package/dist/store/schema/cleo-global/{signaldock.js → agent-registry.js} +136 -125
  367. package/dist/store/schema/cleo-global/agent-registry.js.map +1 -0
  368. package/dist/store/schema/cleo-global/index.d.ts +29 -22
  369. package/dist/store/schema/cleo-global/index.d.ts.map +1 -1
  370. package/dist/store/schema/cleo-global/index.js +29 -22
  371. package/dist/store/schema/cleo-global/index.js.map +1 -1
  372. package/dist/store/schema/cleo-global/nexus.d.ts +36 -1034
  373. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  374. package/dist/store/schema/cleo-global/nexus.js +32 -337
  375. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  376. package/dist/store/schema/cleo-global/skills.d.ts +16 -0
  377. package/dist/store/schema/cleo-global/skills.d.ts.map +1 -1
  378. package/dist/store/schema/cleo-global/skills.js +11 -0
  379. package/dist/store/schema/cleo-global/skills.js.map +1 -1
  380. package/dist/store/schema/{cleo-project → cleo-global}/telemetry.d.ts +33 -17
  381. package/dist/store/schema/cleo-global/telemetry.d.ts.map +1 -0
  382. package/dist/store/schema/{cleo-project → cleo-global}/telemetry.js +30 -18
  383. package/dist/store/schema/cleo-global/telemetry.js.map +1 -0
  384. package/dist/store/schema/cleo-project/audit.d.ts +8 -8
  385. package/dist/store/schema/cleo-project/audit.d.ts.map +1 -1
  386. package/dist/store/schema/cleo-project/audit.js +2 -6
  387. package/dist/store/schema/cleo-project/audit.js.map +1 -1
  388. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  389. package/dist/store/schema/cleo-project/index.d.ts +29 -12
  390. package/dist/store/schema/cleo-project/index.d.ts.map +1 -1
  391. package/dist/store/schema/cleo-project/index.js +29 -12
  392. package/dist/store/schema/cleo-project/index.js.map +1 -1
  393. package/dist/store/schema/cleo-project/lifecycle.d.ts +2 -2
  394. package/dist/store/schema/cleo-project/nexus-graph.d.ts +1067 -0
  395. package/dist/store/schema/cleo-project/nexus-graph.d.ts.map +1 -0
  396. package/dist/store/schema/cleo-project/nexus-graph.js +407 -0
  397. package/dist/store/schema/cleo-project/nexus-graph.js.map +1 -0
  398. package/dist/store/schema/cleo-project/provenance-orphans.d.ts +385 -0
  399. package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -0
  400. package/dist/store/schema/cleo-project/provenance-orphans.js +142 -0
  401. package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -0
  402. package/dist/store/schema/cleo-project/provenance-rest.d.ts +1 -1
  403. package/dist/store/schema/cleo-project/runtime.d.ts +1 -1
  404. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
  405. package/dist/store/schema/cleo-project/tasks-core.d.ts +3 -3
  406. package/dist/store/schema/cleo-shared/brain.d.ts +711 -494
  407. package/dist/store/schema/cleo-shared/brain.d.ts.map +1 -1
  408. package/dist/store/schema/cleo-shared/brain.js +215 -134
  409. package/dist/store/schema/cleo-shared/brain.js.map +1 -1
  410. package/dist/store/schema/conduit-schema.d.ts +63 -51
  411. package/dist/store/schema/conduit-schema.d.ts.map +1 -1
  412. package/dist/store/schema/conduit-schema.js +23 -11
  413. package/dist/store/schema/conduit-schema.js.map +1 -1
  414. package/dist/store/schema/goal.d.ts +3 -2
  415. package/dist/store/schema/goal.d.ts.map +1 -1
  416. package/dist/store/schema/goal.js +3 -2
  417. package/dist/store/schema/goal.js.map +1 -1
  418. package/dist/store/schema/index.d.ts +1 -0
  419. package/dist/store/schema/index.d.ts.map +1 -1
  420. package/dist/store/schema/index.js +1 -0
  421. package/dist/store/schema/index.js.map +1 -1
  422. package/dist/store/schema/lifecycle.d.ts +2 -2
  423. package/dist/store/schema/memory-schema.d.ts +2 -2
  424. package/dist/store/schema/nexus-schema.d.ts +174 -115
  425. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  426. package/dist/store/schema/nexus-schema.js +175 -55
  427. package/dist/store/schema/nexus-schema.js.map +1 -1
  428. package/dist/store/schema/provenance/releases.d.ts +1 -1
  429. package/dist/store/schema/schema-utils.d.ts +78 -0
  430. package/dist/store/schema/schema-utils.d.ts.map +1 -0
  431. package/dist/store/schema/schema-utils.js +49 -0
  432. package/dist/store/schema/schema-utils.js.map +1 -0
  433. package/dist/store/schema/skills-schema.d.ts +81 -44
  434. package/dist/store/schema/skills-schema.d.ts.map +1 -1
  435. package/dist/store/schema/skills-schema.js +49 -16
  436. package/dist/store/schema/skills-schema.js.map +1 -1
  437. package/dist/store/schema/tasks.d.ts +3 -3
  438. package/dist/store/skills-db.d.ts +90 -50
  439. package/dist/store/skills-db.d.ts.map +1 -1
  440. package/dist/store/skills-db.js +132 -146
  441. package/dist/store/skills-db.js.map +1 -1
  442. package/dist/store/sqlite-backup.d.ts +2 -2
  443. package/dist/store/sqlite-backup.d.ts.map +1 -1
  444. package/dist/store/sqlite-backup.js +11 -10
  445. package/dist/store/sqlite-backup.js.map +1 -1
  446. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  447. package/dist/store/sqlite-data-accessor.js +25 -18
  448. package/dist/store/sqlite-data-accessor.js.map +1 -1
  449. package/dist/store/sqlite.d.ts +72 -12
  450. package/dist/store/sqlite.d.ts.map +1 -1
  451. package/dist/store/sqlite.js +153 -89
  452. package/dist/store/sqlite.js.map +1 -1
  453. package/dist/store/tasks-schema.d.ts +4 -0
  454. package/dist/store/tasks-schema.d.ts.map +1 -1
  455. package/dist/store/tasks-schema.js +60 -0
  456. package/dist/store/tasks-schema.js.map +1 -1
  457. package/dist/store/tasks-sqlite.d.ts +2 -2
  458. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  459. package/dist/store/tasks-sqlite.js +10 -5
  460. package/dist/store/tasks-sqlite.js.map +1 -1
  461. package/dist/store/umbrella-data-accessor.d.ts +17 -6
  462. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  463. package/dist/store/umbrella-data-accessor.js +8 -8
  464. package/dist/store/umbrella-data-accessor.js.map +1 -1
  465. package/dist/store/validation-schemas.d.ts +241 -208
  466. package/dist/store/validation-schemas.d.ts.map +1 -1
  467. package/dist/system/health.d.ts.map +1 -1
  468. package/dist/system/health.js +11 -6
  469. package/dist/system/health.js.map +1 -1
  470. package/dist/system/project-health.d.ts.map +1 -1
  471. package/dist/system/project-health.js +58 -12
  472. package/dist/system/project-health.js.map +1 -1
  473. package/dist/tasks/add.d.ts +8 -0
  474. package/dist/tasks/add.d.ts.map +1 -1
  475. package/dist/tasks/add.js +101 -0
  476. package/dist/tasks/add.js.map +1 -1
  477. package/dist/tasks/cancelled-child-waiver-audit.d.ts +47 -0
  478. package/dist/tasks/cancelled-child-waiver-audit.d.ts.map +1 -0
  479. package/dist/tasks/cancelled-child-waiver-audit.js +34 -0
  480. package/dist/tasks/cancelled-child-waiver-audit.js.map +1 -0
  481. package/dist/tasks/complete.d.ts +22 -2
  482. package/dist/tasks/complete.d.ts.map +1 -1
  483. package/dist/tasks/complete.js +71 -6
  484. package/dist/tasks/complete.js.map +1 -1
  485. package/dist/tasks/compute-task-view.js +1 -1
  486. package/dist/tasks/session-scope.d.ts +5 -0
  487. package/dist/tasks/session-scope.d.ts.map +1 -1
  488. package/dist/tasks/session-scope.js +4 -0
  489. package/dist/tasks/session-scope.js.map +1 -1
  490. package/dist/tools/guard.d.ts +71 -1
  491. package/dist/tools/guard.d.ts.map +1 -1
  492. package/dist/tools/guard.js +73 -1
  493. package/dist/tools/guard.js.map +1 -1
  494. package/dist/tools/index.d.ts +21 -0
  495. package/dist/tools/index.d.ts.map +1 -1
  496. package/dist/tools/index.js +25 -0
  497. package/dist/tools/index.js.map +1 -1
  498. package/dist/upgrade.d.ts.map +1 -1
  499. package/dist/upgrade.js +22 -13
  500. package/dist/upgrade.js.map +1 -1
  501. package/dist/workgraph/containment.js +18 -18
  502. package/dist/workgraph/relations.js +2 -2
  503. package/dist/worktree/list.d.ts +1 -1
  504. package/dist/worktree/list.d.ts.map +1 -1
  505. package/dist/worktree/list.js +19 -21
  506. package/dist/worktree/list.js.map +1 -1
  507. package/dist/worktree-export.d.ts +18 -0
  508. package/dist/worktree-export.d.ts.map +1 -0
  509. package/dist/worktree-export.js +18 -0
  510. package/dist/worktree-export.js.map +1 -0
  511. package/migrations/drizzle-agent-registry/20260412000000_initial-global-agent-registry/migration.sql +29 -0
  512. package/migrations/drizzle-brain/20260601000001_t11522-brain-task-observations/migration.sql +28 -0
  513. package/migrations/drizzle-brain/20260601000002_t11522-inline-only-brain-tables/migration.sql +75 -0
  514. package/migrations/drizzle-cleo-global/20260531000001_t11363-consolidation-cleo-global/migration.sql +49 -144
  515. package/migrations/drizzle-cleo-global/20260531000001_t11363-consolidation-cleo-global/snapshot.json +8 -8
  516. package/migrations/drizzle-cleo-global/20260531000002_t11546-brain-usage-log/migration.sql +16 -0
  517. package/migrations/drizzle-cleo-global/20260601000001_t11544-skills-usage-project-id/migration.sql +12 -0
  518. package/migrations/drizzle-cleo-global/20260602000001_t11622-agent-registry-rename/migration.sql +80 -0
  519. package/migrations/drizzle-cleo-project/20260531000001_t11363-consolidation-cleo-project/migration.sql +26 -167
  520. package/migrations/drizzle-cleo-project/20260531000001_t11363-consolidation-cleo-project/snapshot.json +8 -8
  521. package/migrations/drizzle-cleo-project/20260531000002_t11546-brain-usage-log/migration.sql +21 -0
  522. package/migrations/drizzle-cleo-project/20260601000001_t11549-agent-credentials-brain-release-links/migration.sql +49 -0
  523. package/migrations/drizzle-cleo-project/20260601000002_t11538-project-nexus-graph/migration.sql +140 -0
  524. package/migrations/drizzle-cleo-project/20260602000002_t11649-token-usage-transport-mcp/migration.sql +146 -0
  525. package/migrations/drizzle-conduit/20260601000003_t11523-conduit-inline-schema/migration.sql +82 -0
  526. package/migrations/drizzle-nexus/20260421200001_t1165-baseline-reset/migration.sql +26 -8
  527. package/migrations/drizzle-nexus/20260601000001_t11545-nexus-relation-weights-partition/migration.sql +97 -0
  528. package/package.json +43 -11
  529. package/scripts/install-supervisor-binary.mjs +50 -201
  530. package/scripts/napi-binary-picker.mjs +267 -0
  531. package/dist/agents/agent-registry.d.ts.map +0 -1
  532. package/dist/agents/agent-registry.js.map +0 -1
  533. package/dist/store/data-safety.d.ts +0 -92
  534. package/dist/store/data-safety.d.ts.map +0 -1
  535. package/dist/store/data-safety.js +0 -274
  536. package/dist/store/data-safety.js.map +0 -1
  537. package/dist/store/schema/cleo-global/signaldock.d.ts.map +0 -1
  538. package/dist/store/schema/cleo-global/signaldock.js.map +0 -1
  539. package/dist/store/schema/cleo-project/telemetry.d.ts.map +0 -1
  540. package/dist/store/schema/cleo-project/telemetry.js.map +0 -1
  541. package/dist/store/schema/signaldock-schema.d.ts.map +0 -1
  542. package/dist/store/schema/signaldock-schema.js.map +0 -1
  543. package/dist/store/signaldock-sqlite.d.ts +0 -173
  544. package/dist/store/signaldock-sqlite.d.ts.map +0 -1
  545. package/dist/store/signaldock-sqlite.js +0 -445
  546. package/dist/store/signaldock-sqlite.js.map +0 -1
  547. package/migrations/drizzle-nexus/20260318205558_initial/migration.sql +0 -46
  548. package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +0 -49
  549. package/migrations/drizzle-nexus/20260415000001_t622-project-registry-paths/migration.sql +0 -12
  550. package/migrations/drizzle-nexus/20260419000001_t998-nexus-plasticity/migration.sql +0 -13
  551. package/migrations/drizzle-nexus/20260423052640_t1077-add-user-profile-table/migration.sql +0 -16
  552. package/migrations/drizzle-nexus/20260423052640_t1077-add-user-profile-table/snapshot.json +0 -1531
  553. package/migrations/drizzle-nexus/20260424140538_t1148-add-sigils-table/migration.sql +0 -13
  554. package/migrations/drizzle-nexus/20260424140538_t1148-add-sigils-table/snapshot.json +0 -1652
  555. package/migrations/drizzle-nexus/20260504000001_t1839-fts5-nexus-symbols/migration.sql +0 -68
  556. package/migrations/drizzle-nexus/20260507135519_t9163-nexus-is-external/migration.sql +0 -20
  557. package/migrations/drizzle-nexus/20260507135519_t9163-nexus-is-external/snapshot.json +0 -1652
  558. package/migrations/drizzle-nexus/20260526222449_t11025-project-id-aliases/migration.sql +0 -16
  559. package/migrations/drizzle-signaldock/20260412000000_initial-global-signaldock/migration.sql +0 -209
  560. package/migrations/drizzle-signaldock/20260412000000_initial-global-signaldock/snapshot.json +0 -2060
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EAEf,mBAAmB,EAEnB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,aAAa,EACb,qBAAqB,EAIrB,eAAe,GAChB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/playbooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,eAAe,EAEf,mBAAmB,EAEnB,qBAAqB,EAGrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,aAAa,EACb,qBAAqB,EAIrB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,2EAA2E;AAC3E,6EAA6E;AAC7E,0BAA0B;AAC1B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GAIpB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Skill-node executor factory — wires the in-process {@link SkillExecutorAdapter}
3
+ * into `CoreAgentDispatcherOptions.executor` while RETAINING the subprocess-spawn
4
+ * path for isolation nodes (T11477 · epic T11391 · saga T11387).
5
+ *
6
+ * ## The routing decision (AC2 + AC3)
7
+ *
8
+ * `CoreAgentDispatcher` resolves `agentId = node.agent ?? node.skill` and then
9
+ * calls its injected `executor` to perform the actual work. This factory builds
10
+ * that executor so it routes on the node's nature:
11
+ *
12
+ * - **In-process skill node** — the `agentId` names a `ct-*` skill that
13
+ * resolves via {@link findSkill}, AND the dispatch context does not request
14
+ * isolation. These run through {@link SkillExecutorAdapter} **in-process**:
15
+ * the skill→tool joint is a function call over the injected
16
+ * {@link GuardedToolSurface}, NOT a process boundary (AC1, AC4). This is the
17
+ * DEFAULT for in-process skill nodes, REPLACING `orchestrateSpawnExecute`
18
+ * for them (AC2).
19
+ *
20
+ * - **Isolation / agent node** — anything else (an `agent`-backed node, a node
21
+ * whose context requests `isolation`, or a skill that does not resolve
22
+ * in-process). These delegate to the INJECTED {@link SubprocessSpawnExecutor}
23
+ * — typically the runtime's `orchestrateSpawnExecute`, which provisions a git
24
+ * worktree and spawns a real subagent (AC3). The fallback is injected, not
25
+ * imported, so `@cleocode/core` keeps its no-dependency-on-`@cleocode/runtime`
26
+ * invariant (DIP again — the worktree mechanism is a detail core depends on
27
+ * through an abstraction).
28
+ *
29
+ * ## Why the fallback is injected
30
+ *
31
+ * `orchestrateSpawnExecute` lives in `@cleocode/runtime/gateway`. `core` must not
32
+ * import it (directed layering `contracts → core → runtime`). The CLI/runtime
33
+ * layer that already imports the gateway supplies it via
34
+ * {@link SkillNodeExecutorOptions.subprocessSpawn}; when omitted, isolation nodes
35
+ * report a structured failure rather than silently degrading.
36
+ *
37
+ * @epic T11391
38
+ * @task T11477
39
+ * @saga T11387
40
+ */
41
+ import type { ResolvedAgent } from '@cleocode/contracts';
42
+ import type { GuardedToolSurface } from '@cleocode/contracts/tools/skill-executor';
43
+ import { type SkillRunner } from '../skills/skill-executor-adapter.js';
44
+ import type { DispatchContext, DispatchResult } from './agent-dispatcher.js';
45
+ /**
46
+ * Context-binding key the playbook author / dispatcher uses to FORCE the
47
+ * subprocess-spawn (isolation) path even when the node names a resolvable
48
+ * `ct-*` skill. Truthy → isolation; absent/falsy → in-process skill execution.
49
+ */
50
+ export declare const ISOLATION_CONTEXT_KEY = "isolation";
51
+ /**
52
+ * Subprocess-spawn fallback for isolation / agent nodes. Mirrors the shape the
53
+ * runtime's `orchestrateSpawnExecute` is adapted to: given the resolved agent
54
+ * and dispatch context, perform a real (worktree-isolated) spawn and return a
55
+ * dispatch envelope.
56
+ *
57
+ * Injected (not imported) so `core` never depends on `@cleocode/runtime`.
58
+ *
59
+ * @param agent - The resolved agent/skill envelope from the dispatcher.
60
+ * @param context - The dispatch context (run id, node id, agent id, bindings).
61
+ * @returns The terminal {@link DispatchResult} for the subprocess spawn.
62
+ */
63
+ export type SubprocessSpawnExecutor = (agent: ResolvedAgent, context: DispatchContext) => Promise<DispatchResult>;
64
+ /**
65
+ * Options accepted by {@link createSkillNodeExecutor}.
66
+ *
67
+ * @task T11477
68
+ */
69
+ export interface SkillNodeExecutorOptions {
70
+ /**
71
+ * The deny-first guarded tool surface handed to every in-process skill
72
+ * execution. Typically the result of `createToolGuard({ allowedRoots: [...] })`.
73
+ * Injected (DIP) — the executor never constructs its own guard.
74
+ */
75
+ readonly tools: GuardedToolSurface;
76
+ /**
77
+ * The subprocess-spawn fallback used for isolation / agent nodes (AC3). When
78
+ * omitted, isolation nodes return a structured failure instead of silently
79
+ * running in-process — refusing to weaken the isolation guarantee.
80
+ */
81
+ readonly subprocessSpawn?: SubprocessSpawnExecutor;
82
+ /**
83
+ * Working directory used to resolve `ct-*` skills. Defaults to the process
84
+ * cwd via {@link findSkill}.
85
+ */
86
+ readonly cwd?: string;
87
+ /**
88
+ * Optional in-process runner strategy forwarded to the
89
+ * {@link SkillExecutorAdapter} (the GenKit-phase model runner plugs in here).
90
+ */
91
+ readonly runner?: SkillRunner;
92
+ }
93
+ /**
94
+ * Build a `CoreAgentDispatcherOptions.executor` that runs in-process skill nodes
95
+ * through {@link SkillExecutorAdapter} and routes isolation / agent nodes to the
96
+ * injected subprocess-spawn fallback.
97
+ *
98
+ * Inject the result as `executor` when constructing a `CoreAgentDispatcher`:
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * import { createToolGuard } from '@cleocode/core/tools/guard';
103
+ * import { orchestrateSpawnExecute } from '@cleocode/runtime/gateway';
104
+ *
105
+ * const tools = createToolGuard({ allowedRoots: [projectRoot] });
106
+ * const dispatcher = new CoreAgentDispatcher({
107
+ * db,
108
+ * projectRoot,
109
+ * executor: createSkillNodeExecutor({
110
+ * tools,
111
+ * cwd: projectRoot,
112
+ * subprocessSpawn: async (agent, ctx) => adaptOrchestrateSpawn(agent, ctx),
113
+ * }),
114
+ * });
115
+ * ```
116
+ *
117
+ * @param opts - Injected tool surface + subprocess-spawn fallback + cwd/runner.
118
+ * @returns An executor suitable for `CoreAgentDispatcherOptions.executor`.
119
+ * @task T11477
120
+ */
121
+ export declare function createSkillNodeExecutor(opts: SkillNodeExecutorOptions): (agent: ResolvedAgent, context: DispatchContext) => Promise<DispatchResult>;
122
+ /**
123
+ * Minimal projection of the playbook runtime's `AgentDispatchInput` that the
124
+ * routing helper needs. Declared structurally so `core` does NOT import
125
+ * `@cleocode/playbooks` (preserves the directed layering `contracts → core →
126
+ * playbooks`) — the CLI passes its runtime input through unchanged.
127
+ */
128
+ export interface SkillNodeDispatchInput {
129
+ /** Node identifier within the run graph. */
130
+ readonly nodeId: string;
131
+ /** Agent identity resolved from `node.agent ?? node.skill`. */
132
+ readonly agentId: string;
133
+ /** Accumulated bindings at dispatch time (may carry an `isolation` flag). */
134
+ readonly context: Record<string, unknown>;
135
+ }
136
+ /**
137
+ * Route a single agentic dispatch: run it in-process via
138
+ * {@link SkillExecutorAdapter} when it is a resolvable `ct-*` skill node, else
139
+ * delegate to the injected subprocess-spawn fallback (isolation/agent nodes).
140
+ *
141
+ * This is the runtime-input-shaped companion to {@link createSkillNodeExecutor},
142
+ * used by the CLI's default `cleo playbook run` dispatcher so the in-process
143
+ * skill path becomes the DEFAULT, REPLACING `orchestrateSpawnExecute` for skill
144
+ * nodes (AC2) while RETAINING it for isolation nodes (AC3). Keeping the routing
145
+ * decision here keeps the CLI dispatcher a thin adapter (CLI package boundary).
146
+ *
147
+ * @param input - The runtime dispatch input (node id, agent id, context).
148
+ * @param opts - Injected tool surface, cwd/runner, and subprocess-spawn fallback.
149
+ * @returns The terminal {@link DispatchResult} envelope.
150
+ * @task T11477
151
+ */
152
+ export declare function runSkillNodeOrSpawn(input: SkillNodeDispatchInput, opts: SkillNodeExecutorOptions & {
153
+ subprocessSpawn: () => Promise<DispatchResult>;
154
+ }): Promise<DispatchResult>;
155
+ //# sourceMappingURL=skill-node-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-node-executor.d.ts","sourceRoot":"","sources":["../../src/playbooks/skill-node-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,KACrB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAgC7E;AAMD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,sBAAsB,EAC7B,IAAI,EAAE,wBAAwB,GAAG;IAAE,eAAe,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;CAAE,GAClF,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Skill-node executor factory — wires the in-process {@link SkillExecutorAdapter}
3
+ * into `CoreAgentDispatcherOptions.executor` while RETAINING the subprocess-spawn
4
+ * path for isolation nodes (T11477 · epic T11391 · saga T11387).
5
+ *
6
+ * ## The routing decision (AC2 + AC3)
7
+ *
8
+ * `CoreAgentDispatcher` resolves `agentId = node.agent ?? node.skill` and then
9
+ * calls its injected `executor` to perform the actual work. This factory builds
10
+ * that executor so it routes on the node's nature:
11
+ *
12
+ * - **In-process skill node** — the `agentId` names a `ct-*` skill that
13
+ * resolves via {@link findSkill}, AND the dispatch context does not request
14
+ * isolation. These run through {@link SkillExecutorAdapter} **in-process**:
15
+ * the skill→tool joint is a function call over the injected
16
+ * {@link GuardedToolSurface}, NOT a process boundary (AC1, AC4). This is the
17
+ * DEFAULT for in-process skill nodes, REPLACING `orchestrateSpawnExecute`
18
+ * for them (AC2).
19
+ *
20
+ * - **Isolation / agent node** — anything else (an `agent`-backed node, a node
21
+ * whose context requests `isolation`, or a skill that does not resolve
22
+ * in-process). These delegate to the INJECTED {@link SubprocessSpawnExecutor}
23
+ * — typically the runtime's `orchestrateSpawnExecute`, which provisions a git
24
+ * worktree and spawns a real subagent (AC3). The fallback is injected, not
25
+ * imported, so `@cleocode/core` keeps its no-dependency-on-`@cleocode/runtime`
26
+ * invariant (DIP again — the worktree mechanism is a detail core depends on
27
+ * through an abstraction).
28
+ *
29
+ * ## Why the fallback is injected
30
+ *
31
+ * `orchestrateSpawnExecute` lives in `@cleocode/runtime/gateway`. `core` must not
32
+ * import it (directed layering `contracts → core → runtime`). The CLI/runtime
33
+ * layer that already imports the gateway supplies it via
34
+ * {@link SkillNodeExecutorOptions.subprocessSpawn}; when omitted, isolation nodes
35
+ * report a structured failure rather than silently degrading.
36
+ *
37
+ * @epic T11391
38
+ * @task T11477
39
+ * @saga T11387
40
+ */
41
+ import { findSkill } from '../skills/discovery.js';
42
+ import { SkillExecutorAdapter } from '../skills/skill-executor-adapter.js';
43
+ /**
44
+ * Context-binding key the playbook author / dispatcher uses to FORCE the
45
+ * subprocess-spawn (isolation) path even when the node names a resolvable
46
+ * `ct-*` skill. Truthy → isolation; absent/falsy → in-process skill execution.
47
+ */
48
+ export const ISOLATION_CONTEXT_KEY = 'isolation';
49
+ /**
50
+ * `true` when this dispatch should take the in-process skill path: the agentId
51
+ * names a `ct-*`-resolvable skill AND the context does not request isolation.
52
+ *
53
+ * @param agentId - The resolved agent/skill id (`node.agent ?? node.skill`).
54
+ * @param context - The dispatch context whose bindings may request isolation.
55
+ * @param cwd - Skill-resolution cwd.
56
+ * @returns Whether the in-process {@link SkillExecutorAdapter} should handle it.
57
+ */
58
+ function isInProcessSkillNode(agentId, context, cwd) {
59
+ if (context.context[ISOLATION_CONTEXT_KEY])
60
+ return false;
61
+ return findSkill(agentId, cwd) !== null;
62
+ }
63
+ /**
64
+ * Build a `CoreAgentDispatcherOptions.executor` that runs in-process skill nodes
65
+ * through {@link SkillExecutorAdapter} and routes isolation / agent nodes to the
66
+ * injected subprocess-spawn fallback.
67
+ *
68
+ * Inject the result as `executor` when constructing a `CoreAgentDispatcher`:
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * import { createToolGuard } from '@cleocode/core/tools/guard';
73
+ * import { orchestrateSpawnExecute } from '@cleocode/runtime/gateway';
74
+ *
75
+ * const tools = createToolGuard({ allowedRoots: [projectRoot] });
76
+ * const dispatcher = new CoreAgentDispatcher({
77
+ * db,
78
+ * projectRoot,
79
+ * executor: createSkillNodeExecutor({
80
+ * tools,
81
+ * cwd: projectRoot,
82
+ * subprocessSpawn: async (agent, ctx) => adaptOrchestrateSpawn(agent, ctx),
83
+ * }),
84
+ * });
85
+ * ```
86
+ *
87
+ * @param opts - Injected tool surface + subprocess-spawn fallback + cwd/runner.
88
+ * @returns An executor suitable for `CoreAgentDispatcherOptions.executor`.
89
+ * @task T11477
90
+ */
91
+ export function createSkillNodeExecutor(opts) {
92
+ const adapter = new SkillExecutorAdapter({
93
+ ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
94
+ ...(opts.runner !== undefined ? { runner: opts.runner } : {}),
95
+ });
96
+ return async (agent, context) => {
97
+ // In-process skill node (default; replaces orchestrateSpawnExecute) — AC1/AC2/AC4.
98
+ if (isInProcessSkillNode(context.agentId, context, opts.cwd)) {
99
+ const result = await adapter.execute({
100
+ skillId: context.agentId,
101
+ context: context.context,
102
+ tools: opts.tools,
103
+ });
104
+ // SkillExecuteResult and DispatchResult are structurally identical envelopes.
105
+ return result.error !== undefined
106
+ ? { status: result.status, output: { ...result.output }, error: result.error }
107
+ : { status: result.status, output: { ...result.output } };
108
+ }
109
+ // Isolation / agent node — RETAIN the subprocess-spawn path (AC3).
110
+ if (opts.subprocessSpawn !== undefined) {
111
+ return opts.subprocessSpawn(agent, context);
112
+ }
113
+ return {
114
+ status: 'failure',
115
+ output: {},
116
+ error: `node "${context.nodeId}" requires subprocess-spawn (isolation/agent "${context.agentId}") ` +
117
+ 'but no subprocessSpawn executor was injected',
118
+ };
119
+ };
120
+ }
121
+ /**
122
+ * Route a single agentic dispatch: run it in-process via
123
+ * {@link SkillExecutorAdapter} when it is a resolvable `ct-*` skill node, else
124
+ * delegate to the injected subprocess-spawn fallback (isolation/agent nodes).
125
+ *
126
+ * This is the runtime-input-shaped companion to {@link createSkillNodeExecutor},
127
+ * used by the CLI's default `cleo playbook run` dispatcher so the in-process
128
+ * skill path becomes the DEFAULT, REPLACING `orchestrateSpawnExecute` for skill
129
+ * nodes (AC2) while RETAINING it for isolation nodes (AC3). Keeping the routing
130
+ * decision here keeps the CLI dispatcher a thin adapter (CLI package boundary).
131
+ *
132
+ * @param input - The runtime dispatch input (node id, agent id, context).
133
+ * @param opts - Injected tool surface, cwd/runner, and subprocess-spawn fallback.
134
+ * @returns The terminal {@link DispatchResult} envelope.
135
+ * @task T11477
136
+ */
137
+ export async function runSkillNodeOrSpawn(input, opts) {
138
+ const isolationRequested = Boolean(input.context[ISOLATION_CONTEXT_KEY]);
139
+ if (!isolationRequested && findSkill(input.agentId, opts.cwd) !== null) {
140
+ const adapter = new SkillExecutorAdapter({
141
+ ...(opts.cwd !== undefined ? { cwd: opts.cwd } : {}),
142
+ ...(opts.runner !== undefined ? { runner: opts.runner } : {}),
143
+ });
144
+ const result = await adapter.execute({
145
+ skillId: input.agentId,
146
+ context: input.context,
147
+ tools: opts.tools,
148
+ });
149
+ return result.error !== undefined
150
+ ? { status: result.status, output: { ...result.output }, error: result.error }
151
+ : { status: result.status, output: { ...result.output } };
152
+ }
153
+ // Isolation / agent node — RETAIN the subprocess-spawn path (AC3).
154
+ return opts.subprocessSpawn();
155
+ }
156
+ //# sourceMappingURL=skill-node-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-node-executor.js","sourceRoot":"","sources":["../../src/playbooks/skill-node-executor.ts"],"names":[],"mappings":"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"}
package/dist/repair.d.ts CHANGED
@@ -22,16 +22,12 @@ export declare function repairMissingSizes(cwd: string | undefined, dryRun: bool
22
22
  * Operates directly on the SQLite tasks table.
23
23
  */
24
24
  export declare function repairMissingCompletedAt(cwd: string | undefined, dryRun: boolean): Promise<RepairAction>;
25
- /**
26
- * Detect and add missing required columns on the tasks table.
27
- * Uses PRAGMA table_info to check actual schema vs required columns.
28
- *
29
- * @see https://github.com/anthropics/cleo/issues/63
30
- */
31
- export declare function repairMissingColumns(cwd: string | undefined, dryRun: boolean): Promise<RepairAction>;
32
25
  /**
33
26
  * Run all repair functions.
34
27
  * Returns all actions taken (or previewed in dry-run mode).
28
+ *
29
+ * Note: column-level schema repair was removed in T11527 — DDL is now owned
30
+ * exclusively by the forward Drizzle migrations, not post-hoc `ensureColumns`.
35
31
  */
36
32
  export declare function runAllRepairs(cwd: string | undefined, dryRun: boolean): Promise<RepairAction[]>;
37
33
  //# sourceMappingURL=repair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,CA+BvB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,EAAE,CAAC,CAOzB"}
1
+ {"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,CA+BvB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,CA0CvB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,EAAE,CAAC,CAMzB"}
package/dist/repair.js CHANGED
@@ -75,56 +75,18 @@ export async function repairMissingCompletedAt(cwd, dryRun) {
75
75
  details: `Set completedAt for ${affected.length} done/cancelled task(s)`,
76
76
  };
77
77
  }
78
- /**
79
- * Detect and add missing required columns on the tasks table.
80
- * Uses PRAGMA table_info to check actual schema vs required columns.
81
- *
82
- * @see https://github.com/anthropics/cleo/issues/63
83
- */
84
- export async function repairMissingColumns(cwd, dryRun) {
85
- const { getDb } = await import('./store/sqlite.js');
86
- const db = await getDb(cwd);
87
- // getDb() already calls ensureRequiredColumns(), so if we get here
88
- // the column should exist. But we still report the action for visibility.
89
- const { sql } = await import('drizzle-orm');
90
- const columns = db.all(sql `PRAGMA table_info(tasks)`);
91
- const existingCols = new Set(columns.map((c) => c.name));
92
- const missingCols = ['pipeline_stage'].filter((c) => !existingCols.has(c));
93
- if (missingCols.length === 0) {
94
- return {
95
- action: 'fix_missing_columns',
96
- status: 'skipped',
97
- details: 'All required columns present on tasks table',
98
- };
99
- }
100
- if (dryRun) {
101
- return {
102
- action: 'fix_missing_columns',
103
- status: 'preview',
104
- details: `Would add missing column(s): ${missingCols.join(', ')}`,
105
- };
106
- }
107
- // Columns should already be added by ensureRequiredColumns() in getDb(),
108
- // but apply again defensively.
109
- for (const col of missingCols) {
110
- db.run(sql.raw(`ALTER TABLE tasks ADD COLUMN ${col} text`));
111
- }
112
- return {
113
- action: 'fix_missing_columns',
114
- status: 'applied',
115
- details: `Added missing column(s): ${missingCols.join(', ')}`,
116
- };
117
- }
118
78
  /**
119
79
  * Run all repair functions.
120
80
  * Returns all actions taken (or previewed in dry-run mode).
81
+ *
82
+ * Note: column-level schema repair was removed in T11527 — DDL is now owned
83
+ * exclusively by the forward Drizzle migrations, not post-hoc `ensureColumns`.
121
84
  */
122
85
  export async function runAllRepairs(cwd, dryRun) {
123
- const [sizes, completedAt, columns] = await Promise.all([
86
+ const [sizes, completedAt] = await Promise.all([
124
87
  repairMissingSizes(cwd, dryRun),
125
88
  repairMissingCompletedAt(cwd, dryRun),
126
- repairMissingColumns(cwd, dryRun),
127
89
  ]);
128
- return [sizes, completedAt, columns];
90
+ return [sizes, completedAt];
129
91
  }
130
92
  //# sourceMappingURL=repair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repair.js","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../src/repair.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ export async function migrateSagaContainment(projectRoot, params = {}) {
70
70
  // 1. Find sagas to scan.
71
71
  const sagaFilter = sagaId ? `AND p.id = ?` : '';
72
72
  const sagaArgs = sagaId ? [sagaId] : [];
73
- const sagas = db.all(`SELECT DISTINCT p.id, p.title FROM tasks p WHERE p.type = 'saga' ${sagaFilter} ORDER BY p.id`, ...sagaArgs);
73
+ const sagas = db.all(`SELECT DISTINCT p.id, p.title FROM tasks_tasks p WHERE p.type = 'saga' ${sagaFilter} ORDER BY p.id`, ...sagaArgs);
74
74
  if (sagas.length === 0) {
75
75
  return engineSuccess({
76
76
  sagasScanned: 0,
@@ -85,9 +85,9 @@ export async function migrateSagaContainment(projectRoot, params = {}) {
85
85
  const sagaIds = sagas.map((s) => s.id);
86
86
  const sagaPlaceholders = sagaIds.map(() => '?').join(',');
87
87
  const epics = db.all(`SELECT t.id, t.title, t.parent_id as parentId, p.id as sagaId
88
- FROM task_relations r
89
- JOIN tasks p ON r.task_id = p.id
90
- JOIN tasks t ON r.related_to = t.id
88
+ FROM tasks_task_relations r
89
+ JOIN tasks_tasks p ON r.task_id = p.id
90
+ JOIN tasks_tasks t ON r.related_to = t.id
91
91
  WHERE r.relation_type = 'groups'
92
92
  AND p.type = 'saga'
93
93
  AND t.type = 'epic'
@@ -95,9 +95,9 @@ export async function migrateSagaContainment(projectRoot, params = {}) {
95
95
  ORDER BY t.id`, ...sagaIds);
96
96
  // 3. Find legacy groups relations whose target is not an Epic (conflicts).
97
97
  const tasks = db.all(`SELECT t.id, t.title, t.type, t.parent_id as parentId, p.id as sagaId
98
- FROM task_relations r
99
- JOIN tasks p ON r.task_id = p.id
100
- JOIN tasks t ON r.related_to = t.id
98
+ FROM tasks_task_relations r
99
+ JOIN tasks_tasks p ON r.task_id = p.id
100
+ JOIN tasks_tasks t ON r.related_to = t.id
101
101
  WHERE r.relation_type = 'groups'
102
102
  AND p.type = 'saga'
103
103
  AND t.type != 'epic'
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-containment.js","sourceRoot":"","sources":["../../src/sagas/migrate-containment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-containment.js","sourceRoot":"","sources":["../../src/sagas/migrate-containment.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,14 @@ export declare function ensureProjectGitInitialCommit(projectRoot: string): Prom
43
43
  */
44
44
  export declare function ensureSqliteDb(projectRoot: string): Promise<ScaffoldResult>;
45
45
  /**
46
- * Create brain.db if missing.
47
- * Idempotent: skips if brain.db already exists.
46
+ * Initialize the brain domain if missing.
47
+ *
48
+ * ## E6-L2 (T11522)
49
+ *
50
+ * The brain domain now lives inside the consolidated project `cleo.db`
51
+ * (`getBrainDb` → `openDualScopeDb('project')`), not a standalone `brain.db`.
52
+ * The idempotency probe therefore targets the consolidated `cleo.db` path so a
53
+ * second scaffold run correctly reports `skipped` rather than always `created`.
48
54
  *
49
55
  * @param projectRoot - Absolute path to the project root directory
50
56
  * @returns Scaffold result indicating the action taken
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-dirs.d.ts","sourceRoot":"","sources":["../../src/scaffold/ensure-dirs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAK/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,8FAOxB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BtF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BpF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA+DhG;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBjF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAwChF"}
1
+ {"version":3,"file":"ensure-dirs.d.ts","sourceRoot":"","sources":["../../src/scaffold/ensure-dirs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAK/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,8FAOxB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BtF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BpF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA+DhG;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAuBjF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA6ChF"}
@@ -160,9 +160,13 @@ export async function ensureProjectGitInitialCommit(projectRoot) {
160
160
  */
161
161
  export async function ensureSqliteDb(projectRoot) {
162
162
  const cleoDir = resolveScaffoldCleoDir(projectRoot);
163
- const dbPath = join(cleoDir, 'tasks.db');
163
+ // E6-L1 (T11521): getDb() now opens the consolidated project `cleo.db` via
164
+ // openDualScopeDb('project'), not the legacy `tasks.db`. The idempotency probe
165
+ // must check the file getDb actually creates, otherwise a second scaffold pass
166
+ // re-reports the DB as freshly `created`.
167
+ const dbPath = join(cleoDir, 'cleo.db');
164
168
  if (existsSync(dbPath)) {
165
- return { action: 'skipped', path: dbPath, details: 'tasks.db already exists' };
169
+ return { action: 'skipped', path: dbPath, details: 'cleo.db already exists' };
166
170
  }
167
171
  try {
168
172
  const { getDb } = await import('../store/sqlite.js');
@@ -178,18 +182,24 @@ export async function ensureSqliteDb(projectRoot) {
178
182
  }
179
183
  }
180
184
  /**
181
- * Create brain.db if missing.
182
- * Idempotent: skips if brain.db already exists.
185
+ * Initialize the brain domain if missing.
186
+ *
187
+ * ## E6-L2 (T11522)
188
+ *
189
+ * The brain domain now lives inside the consolidated project `cleo.db`
190
+ * (`getBrainDb` → `openDualScopeDb('project')`), not a standalone `brain.db`.
191
+ * The idempotency probe therefore targets the consolidated `cleo.db` path so a
192
+ * second scaffold run correctly reports `skipped` rather than always `created`.
183
193
  *
184
194
  * @param projectRoot - Absolute path to the project root directory
185
195
  * @returns Scaffold result indicating the action taken
186
196
  */
187
197
  export async function ensureBrainDb(projectRoot) {
188
- const cleoDir = resolveScaffoldCleoDir(projectRoot);
189
- const dbPath = join(cleoDir, 'brain.db');
198
+ const { getBrainDbPath, getBrainDb, getBrainNativeDb } = await import('../store/memory-sqlite.js');
199
+ // E6-L2: getBrainDbPath resolves to the consolidated `cleo.db`.
200
+ const dbPath = getBrainDbPath(projectRoot);
190
201
  if (existsSync(dbPath)) {
191
202
  try {
192
- const { getBrainNativeDb } = await import('../store/memory-sqlite.js');
193
203
  const nativeDb = getBrainNativeDb();
194
204
  if (nativeDb) {
195
205
  const { ensureFts5Tables } = await import('../memory/brain-search.js');
@@ -199,10 +209,9 @@ export async function ensureBrainDb(projectRoot) {
199
209
  catch {
200
210
  // Non-fatal
201
211
  }
202
- return { action: 'skipped', path: dbPath, details: 'brain.db already exists' };
212
+ return { action: 'skipped', path: dbPath, details: 'brain domain (cleo.db) already exists' };
203
213
  }
204
214
  try {
205
- const { getBrainDb, getBrainNativeDb } = await import('../store/memory-sqlite.js');
206
215
  await getBrainDb(projectRoot);
207
216
  try {
208
217
  const nativeDb = getBrainNativeDb();
@@ -214,13 +223,17 @@ export async function ensureBrainDb(projectRoot) {
214
223
  catch {
215
224
  // FTS5 may not be available — non-fatal
216
225
  }
217
- return { action: 'created', path: dbPath, details: 'Brain database initialized with FTS5' };
226
+ return {
227
+ action: 'created',
228
+ path: dbPath,
229
+ details: 'Brain domain initialized in cleo.db with FTS5',
230
+ };
218
231
  }
219
232
  catch (err) {
220
233
  return {
221
234
  action: 'skipped',
222
235
  path: dbPath,
223
- details: `Failed to initialize brain.db: ${err instanceof Error ? err.message : String(err)}`,
236
+ details: `Failed to initialize brain domain: ${err instanceof Error ? err.message : String(err)}`,
224
237
  };
225
238
  }
226
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-dirs.js","sourceRoot":"","sources":["../../src/scaffold/ensure-dirs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-dirs.js","sourceRoot":"","sources":["../../src/scaffold/ensure-dirs.ts"],"names":[],"mappings":"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"}