@cleocode/core 2026.4.13 → 2026.4.14

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 (909) hide show
  1. package/dist/index.js +69233 -175
  2. package/dist/index.js.map +7 -1
  3. package/dist/init.d.ts.map +1 -1
  4. package/dist/internal.d.ts +16 -5
  5. package/dist/internal.d.ts.map +1 -1
  6. package/dist/memory/brain-embedding.d.ts +1 -1
  7. package/dist/memory/embedding-local.d.ts +8 -3
  8. package/dist/memory/embedding-local.d.ts.map +1 -1
  9. package/dist/memory/embedding-worker.d.ts +1 -1
  10. package/dist/memory/learnings.d.ts +2 -2
  11. package/dist/memory/patterns.d.ts +6 -6
  12. package/dist/store/agent-registry-accessor.d.ts +54 -1
  13. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  14. package/dist/store/backup-crypto.d.ts +89 -0
  15. package/dist/store/backup-crypto.d.ts.map +1 -0
  16. package/dist/store/backup-pack.d.ts +91 -0
  17. package/dist/store/backup-pack.d.ts.map +1 -0
  18. package/dist/store/backup-unpack.d.ts +140 -0
  19. package/dist/store/backup-unpack.d.ts.map +1 -0
  20. package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
  21. package/dist/store/regenerators.d.ts +126 -0
  22. package/dist/store/regenerators.d.ts.map +1 -0
  23. package/dist/store/restore-conflict-report.d.ts +118 -0
  24. package/dist/store/restore-conflict-report.d.ts.map +1 -0
  25. package/dist/store/restore-json-merge.d.ts +187 -0
  26. package/dist/store/restore-json-merge.d.ts.map +1 -0
  27. package/dist/store/sqlite-backup.d.ts +60 -5
  28. package/dist/store/sqlite-backup.d.ts.map +1 -1
  29. package/dist/store/t310-readiness.d.ts +83 -0
  30. package/dist/store/t310-readiness.d.ts.map +1 -0
  31. package/package.json +9 -9
  32. package/src/__tests__/cli-parity.test.ts +19 -14
  33. package/src/__tests__/human-output.test.ts +13 -11
  34. package/src/init.ts +18 -8
  35. package/src/internal.ts +4 -1
  36. package/src/memory/__tests__/brain-automation.test.ts +2 -2
  37. package/src/memory/brain-embedding.ts +1 -1
  38. package/src/memory/embedding-local.ts +10 -5
  39. package/src/memory/embedding-worker.ts +1 -1
  40. package/src/skills/__tests__/discovery.test.ts +22 -7
  41. package/src/store/__tests__/performance-safety.test.ts +11 -5
  42. package/src/store/migrate-signaldock-to-conduit.ts +14 -7
  43. package/src/validation/protocols/_shared.ts +1 -1
  44. package/dist/adapters/adapter-registry.js +0 -64
  45. package/dist/adapters/adapter-registry.js.map +0 -1
  46. package/dist/adapters/discovery.js +0 -83
  47. package/dist/adapters/discovery.js.map +0 -1
  48. package/dist/adapters/index.js +0 -9
  49. package/dist/adapters/index.js.map +0 -1
  50. package/dist/adapters/manager.js +0 -260
  51. package/dist/adapters/manager.js.map +0 -1
  52. package/dist/admin/export-tasks.js +0 -171
  53. package/dist/admin/export-tasks.js.map +0 -1
  54. package/dist/admin/export.js +0 -103
  55. package/dist/admin/export.js.map +0 -1
  56. package/dist/admin/help.js +0 -106
  57. package/dist/admin/help.js.map +0 -1
  58. package/dist/admin/import-tasks.js +0 -182
  59. package/dist/admin/import-tasks.js.map +0 -1
  60. package/dist/admin/import.js +0 -129
  61. package/dist/admin/import.js.map +0 -1
  62. package/dist/admin/index.js +0 -13
  63. package/dist/admin/index.js.map +0 -1
  64. package/dist/adrs/find.js +0 -134
  65. package/dist/adrs/find.js.map +0 -1
  66. package/dist/adrs/index.js +0 -15
  67. package/dist/adrs/index.js.map +0 -1
  68. package/dist/adrs/link-pipeline.js +0 -160
  69. package/dist/adrs/link-pipeline.js.map +0 -1
  70. package/dist/adrs/list.js +0 -43
  71. package/dist/adrs/list.js.map +0 -1
  72. package/dist/adrs/parse.js +0 -51
  73. package/dist/adrs/parse.js.map +0 -1
  74. package/dist/adrs/show.js +0 -22
  75. package/dist/adrs/show.js.map +0 -1
  76. package/dist/adrs/sync.js +0 -188
  77. package/dist/adrs/sync.js.map +0 -1
  78. package/dist/adrs/types.js +0 -9
  79. package/dist/adrs/types.js.map +0 -1
  80. package/dist/adrs/validate.js +0 -57
  81. package/dist/adrs/validate.js.map +0 -1
  82. package/dist/agents/agent-registry.js +0 -288
  83. package/dist/agents/agent-registry.js.map +0 -1
  84. package/dist/agents/agent-schema.js +0 -82
  85. package/dist/agents/agent-schema.js.map +0 -1
  86. package/dist/agents/capacity.js +0 -116
  87. package/dist/agents/capacity.js.map +0 -1
  88. package/dist/agents/execution-learning.js +0 -474
  89. package/dist/agents/execution-learning.js.map +0 -1
  90. package/dist/agents/health-monitor.js +0 -217
  91. package/dist/agents/health-monitor.js.map +0 -1
  92. package/dist/agents/index.js +0 -29
  93. package/dist/agents/index.js.map +0 -1
  94. package/dist/agents/registry.js +0 -314
  95. package/dist/agents/registry.js.map +0 -1
  96. package/dist/agents/retry.js +0 -215
  97. package/dist/agents/retry.js.map +0 -1
  98. package/dist/audit-prune.js +0 -94
  99. package/dist/audit-prune.js.map +0 -1
  100. package/dist/audit.js +0 -68
  101. package/dist/audit.js.map +0 -1
  102. package/dist/backfill/index.js +0 -229
  103. package/dist/backfill/index.js.map +0 -1
  104. package/dist/bootstrap.js +0 -344
  105. package/dist/bootstrap.js.map +0 -1
  106. package/dist/caamp/adapter.js +0 -259
  107. package/dist/caamp/adapter.js.map +0 -1
  108. package/dist/caamp/capability-check.js +0 -38
  109. package/dist/caamp/capability-check.js.map +0 -1
  110. package/dist/caamp/index.js +0 -21
  111. package/dist/caamp/index.js.map +0 -1
  112. package/dist/caamp-init.js +0 -16
  113. package/dist/caamp-init.js.map +0 -1
  114. package/dist/cleo.js +0 -322
  115. package/dist/cleo.js.map +0 -1
  116. package/dist/code/index.js +0 -10
  117. package/dist/code/index.js.map +0 -1
  118. package/dist/code/outline.js +0 -165
  119. package/dist/code/outline.js.map +0 -1
  120. package/dist/code/parser.js +0 -295
  121. package/dist/code/parser.js.map +0 -1
  122. package/dist/code/search.js +0 -135
  123. package/dist/code/search.js.map +0 -1
  124. package/dist/code/unfold.js +0 -155
  125. package/dist/code/unfold.js.map +0 -1
  126. package/dist/codebase-map/analyzers/architecture.js +0 -129
  127. package/dist/codebase-map/analyzers/architecture.js.map +0 -1
  128. package/dist/codebase-map/analyzers/concerns.js +0 -122
  129. package/dist/codebase-map/analyzers/concerns.js.map +0 -1
  130. package/dist/codebase-map/analyzers/conventions.js +0 -149
  131. package/dist/codebase-map/analyzers/conventions.js.map +0 -1
  132. package/dist/codebase-map/analyzers/integrations.js +0 -108
  133. package/dist/codebase-map/analyzers/integrations.js.map +0 -1
  134. package/dist/codebase-map/analyzers/stack.js +0 -117
  135. package/dist/codebase-map/analyzers/stack.js.map +0 -1
  136. package/dist/codebase-map/analyzers/structure.js +0 -137
  137. package/dist/codebase-map/analyzers/structure.js.map +0 -1
  138. package/dist/codebase-map/analyzers/testing.js +0 -118
  139. package/dist/codebase-map/analyzers/testing.js.map +0 -1
  140. package/dist/codebase-map/index.js +0 -57
  141. package/dist/codebase-map/index.js.map +0 -1
  142. package/dist/codebase-map/store.js +0 -122
  143. package/dist/codebase-map/store.js.map +0 -1
  144. package/dist/codebase-map/summary.js +0 -152
  145. package/dist/codebase-map/summary.js.map +0 -1
  146. package/dist/compliance/index.js +0 -288
  147. package/dist/compliance/index.js.map +0 -1
  148. package/dist/compliance/protocol-enforcement.js +0 -332
  149. package/dist/compliance/protocol-enforcement.js.map +0 -1
  150. package/dist/compliance/protocol-rules.js +0 -786
  151. package/dist/compliance/protocol-rules.js.map +0 -1
  152. package/dist/compliance/protocol-types.js +0 -79
  153. package/dist/compliance/protocol-types.js.map +0 -1
  154. package/dist/compliance/store.js +0 -53
  155. package/dist/compliance/store.js.map +0 -1
  156. package/dist/conduit/conduit-client.js +0 -107
  157. package/dist/conduit/conduit-client.js.map +0 -1
  158. package/dist/conduit/factory.js +0 -52
  159. package/dist/conduit/factory.js.map +0 -1
  160. package/dist/conduit/http-transport.js +0 -155
  161. package/dist/conduit/http-transport.js.map +0 -1
  162. package/dist/conduit/index.js +0 -15
  163. package/dist/conduit/index.js.map +0 -1
  164. package/dist/conduit/local-transport.js +0 -255
  165. package/dist/conduit/local-transport.js.map +0 -1
  166. package/dist/conduit/sse-transport.js +0 -299
  167. package/dist/conduit/sse-transport.js.map +0 -1
  168. package/dist/config/build-config.js +0 -29
  169. package/dist/config/build-config.js.map +0 -1
  170. package/dist/config.js +0 -400
  171. package/dist/config.js.map +0 -1
  172. package/dist/constants.js +0 -18
  173. package/dist/constants.js.map +0 -1
  174. package/dist/context/index.js +0 -137
  175. package/dist/context/index.js.map +0 -1
  176. package/dist/crypto/credentials.js +0 -191
  177. package/dist/crypto/credentials.js.map +0 -1
  178. package/dist/discovery.js +0 -182
  179. package/dist/discovery.js.map +0 -1
  180. package/dist/engine-result.js +0 -12
  181. package/dist/engine-result.js.map +0 -1
  182. package/dist/error-catalog.js +0 -404
  183. package/dist/error-catalog.js.map +0 -1
  184. package/dist/error-registry.js +0 -393
  185. package/dist/error-registry.js.map +0 -1
  186. package/dist/errors.js +0 -173
  187. package/dist/errors.js.map +0 -1
  188. package/dist/hooks/handlers/agent-hooks.js +0 -106
  189. package/dist/hooks/handlers/agent-hooks.js.map +0 -1
  190. package/dist/hooks/handlers/context-hooks.js +0 -111
  191. package/dist/hooks/handlers/context-hooks.js.map +0 -1
  192. package/dist/hooks/handlers/error-hooks.js +0 -52
  193. package/dist/hooks/handlers/error-hooks.js.map +0 -1
  194. package/dist/hooks/handlers/file-hooks.js +0 -104
  195. package/dist/hooks/handlers/file-hooks.js.map +0 -1
  196. package/dist/hooks/handlers/handler-helpers.js +0 -61
  197. package/dist/hooks/handlers/handler-helpers.js.map +0 -1
  198. package/dist/hooks/handlers/index.js +0 -28
  199. package/dist/hooks/handlers/index.js.map +0 -1
  200. package/dist/hooks/handlers/memory-bridge-refresh.js +0 -42
  201. package/dist/hooks/handlers/memory-bridge-refresh.js.map +0 -1
  202. package/dist/hooks/handlers/notification-hooks.js +0 -62
  203. package/dist/hooks/handlers/notification-hooks.js.map +0 -1
  204. package/dist/hooks/handlers/session-hooks.js +0 -142
  205. package/dist/hooks/handlers/session-hooks.js.map +0 -1
  206. package/dist/hooks/handlers/task-hooks.js +0 -65
  207. package/dist/hooks/handlers/task-hooks.js.map +0 -1
  208. package/dist/hooks/handlers/work-capture-hooks.js +0 -165
  209. package/dist/hooks/handlers/work-capture-hooks.js.map +0 -1
  210. package/dist/hooks/index.js +0 -13
  211. package/dist/hooks/index.js.map +0 -1
  212. package/dist/hooks/payload-schemas.js +0 -220
  213. package/dist/hooks/payload-schemas.js.map +0 -1
  214. package/dist/hooks/provider-hooks.js +0 -66
  215. package/dist/hooks/provider-hooks.js.map +0 -1
  216. package/dist/hooks/registry.js +0 -229
  217. package/dist/hooks/registry.js.map +0 -1
  218. package/dist/hooks/types.js +0 -66
  219. package/dist/hooks/types.js.map +0 -1
  220. package/dist/hooks.js +0 -136
  221. package/dist/hooks.js.map +0 -1
  222. package/dist/init.js +0 -851
  223. package/dist/init.js.map +0 -1
  224. package/dist/inject/index.js +0 -82
  225. package/dist/inject/index.js.map +0 -1
  226. package/dist/injection.js +0 -343
  227. package/dist/injection.js.map +0 -1
  228. package/dist/intelligence/adaptive-validation.js +0 -497
  229. package/dist/intelligence/adaptive-validation.js.map +0 -1
  230. package/dist/intelligence/impact.js +0 -675
  231. package/dist/intelligence/impact.js.map +0 -1
  232. package/dist/intelligence/index.js +0 -22
  233. package/dist/intelligence/index.js.map +0 -1
  234. package/dist/intelligence/patterns.js +0 -492
  235. package/dist/intelligence/patterns.js.map +0 -1
  236. package/dist/intelligence/prediction.js +0 -499
  237. package/dist/intelligence/prediction.js.map +0 -1
  238. package/dist/intelligence/types.js +0 -13
  239. package/dist/intelligence/types.js.map +0 -1
  240. package/dist/internal.js +0 -306
  241. package/dist/internal.js.map +0 -1
  242. package/dist/issue/create.js +0 -121
  243. package/dist/issue/create.js.map +0 -1
  244. package/dist/issue/diagnostics.js +0 -59
  245. package/dist/issue/diagnostics.js.map +0 -1
  246. package/dist/issue/index.js +0 -10
  247. package/dist/issue/index.js.map +0 -1
  248. package/dist/issue/template-parser.js +0 -267
  249. package/dist/issue/template-parser.js.map +0 -1
  250. package/dist/json-schema-validator.js +0 -76
  251. package/dist/json-schema-validator.js.map +0 -1
  252. package/dist/lib/index.js +0 -11
  253. package/dist/lib/index.js.map +0 -1
  254. package/dist/lib/retry.js +0 -152
  255. package/dist/lib/retry.js.map +0 -1
  256. package/dist/lib/tree-sitter-languages.js +0 -71
  257. package/dist/lib/tree-sitter-languages.js.map +0 -1
  258. package/dist/lifecycle/chain-composition.js +0 -152
  259. package/dist/lifecycle/chain-composition.js.map +0 -1
  260. package/dist/lifecycle/chain-store.js +0 -246
  261. package/dist/lifecycle/chain-store.js.map +0 -1
  262. package/dist/lifecycle/consolidate-rcasd.js +0 -352
  263. package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
  264. package/dist/lifecycle/default-chain.js +0 -176
  265. package/dist/lifecycle/default-chain.js.map +0 -1
  266. package/dist/lifecycle/evidence.js +0 -180
  267. package/dist/lifecycle/evidence.js.map +0 -1
  268. package/dist/lifecycle/frontmatter.js +0 -363
  269. package/dist/lifecycle/frontmatter.js.map +0 -1
  270. package/dist/lifecycle/index.js +0 -756
  271. package/dist/lifecycle/index.js.map +0 -1
  272. package/dist/lifecycle/pipeline.js +0 -656
  273. package/dist/lifecycle/pipeline.js.map +0 -1
  274. package/dist/lifecycle/rcasd-index.js +0 -326
  275. package/dist/lifecycle/rcasd-index.js.map +0 -1
  276. package/dist/lifecycle/rcasd-paths.js +0 -220
  277. package/dist/lifecycle/rcasd-paths.js.map +0 -1
  278. package/dist/lifecycle/resume.js +0 -864
  279. package/dist/lifecycle/resume.js.map +0 -1
  280. package/dist/lifecycle/stage-artifacts.js +0 -94
  281. package/dist/lifecycle/stage-artifacts.js.map +0 -1
  282. package/dist/lifecycle/stage-guidance.js +0 -234
  283. package/dist/lifecycle/stage-guidance.js.map +0 -1
  284. package/dist/lifecycle/stages.js +0 -534
  285. package/dist/lifecycle/stages.js.map +0 -1
  286. package/dist/lifecycle/state-machine.js +0 -516
  287. package/dist/lifecycle/state-machine.js.map +0 -1
  288. package/dist/lifecycle/tessera-engine.js +0 -249
  289. package/dist/lifecycle/tessera-engine.js.map +0 -1
  290. package/dist/logger.js +0 -140
  291. package/dist/logger.js.map +0 -1
  292. package/dist/memory/auto-extract.js +0 -177
  293. package/dist/memory/auto-extract.js.map +0 -1
  294. package/dist/memory/brain-embedding.js +0 -66
  295. package/dist/memory/brain-embedding.js.map +0 -1
  296. package/dist/memory/brain-lifecycle.js +0 -298
  297. package/dist/memory/brain-lifecycle.js.map +0 -1
  298. package/dist/memory/brain-links.js +0 -161
  299. package/dist/memory/brain-links.js.map +0 -1
  300. package/dist/memory/brain-maintenance.js +0 -114
  301. package/dist/memory/brain-maintenance.js.map +0 -1
  302. package/dist/memory/brain-migration.js +0 -149
  303. package/dist/memory/brain-migration.js.map +0 -1
  304. package/dist/memory/brain-reasoning.js +0 -215
  305. package/dist/memory/brain-reasoning.js.map +0 -1
  306. package/dist/memory/brain-retrieval.js +0 -542
  307. package/dist/memory/brain-retrieval.js.map +0 -1
  308. package/dist/memory/brain-row-types.js +0 -10
  309. package/dist/memory/brain-row-types.js.map +0 -1
  310. package/dist/memory/brain-search.js +0 -519
  311. package/dist/memory/brain-search.js.map +0 -1
  312. package/dist/memory/brain-similarity.js +0 -145
  313. package/dist/memory/brain-similarity.js.map +0 -1
  314. package/dist/memory/claude-mem-migration.js +0 -277
  315. package/dist/memory/claude-mem-migration.js.map +0 -1
  316. package/dist/memory/decisions.js +0 -162
  317. package/dist/memory/decisions.js.map +0 -1
  318. package/dist/memory/embedding-local.js +0 -97
  319. package/dist/memory/embedding-local.js.map +0 -1
  320. package/dist/memory/embedding-queue.js +0 -271
  321. package/dist/memory/embedding-queue.js.map +0 -1
  322. package/dist/memory/embedding-worker.js +0 -58
  323. package/dist/memory/embedding-worker.js.map +0 -1
  324. package/dist/memory/engine-compat.js +0 -1397
  325. package/dist/memory/engine-compat.js.map +0 -1
  326. package/dist/memory/index.js +0 -1140
  327. package/dist/memory/index.js.map +0 -1
  328. package/dist/memory/learnings.js +0 -121
  329. package/dist/memory/learnings.js.map +0 -1
  330. package/dist/memory/memory-bridge.js +0 -370
  331. package/dist/memory/memory-bridge.js.map +0 -1
  332. package/dist/memory/patterns.js +0 -122
  333. package/dist/memory/patterns.js.map +0 -1
  334. package/dist/memory/pipeline-manifest-sqlite.js +0 -975
  335. package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
  336. package/dist/memory/session-memory.js +0 -331
  337. package/dist/memory/session-memory.js.map +0 -1
  338. package/dist/metrics/ab-test.js +0 -260
  339. package/dist/metrics/ab-test.js.map +0 -1
  340. package/dist/metrics/aggregation.js +0 -363
  341. package/dist/metrics/aggregation.js.map +0 -1
  342. package/dist/metrics/common.js +0 -64
  343. package/dist/metrics/common.js.map +0 -1
  344. package/dist/metrics/enums.js +0 -78
  345. package/dist/metrics/enums.js.map +0 -1
  346. package/dist/metrics/index.js +0 -19
  347. package/dist/metrics/index.js.map +0 -1
  348. package/dist/metrics/model-provider-registry.js +0 -88
  349. package/dist/metrics/model-provider-registry.js.map +0 -1
  350. package/dist/metrics/otel-integration.js +0 -263
  351. package/dist/metrics/otel-integration.js.map +0 -1
  352. package/dist/metrics/provider-detection.js +0 -103
  353. package/dist/metrics/provider-detection.js.map +0 -1
  354. package/dist/metrics/token-estimation.js +0 -253
  355. package/dist/metrics/token-estimation.js.map +0 -1
  356. package/dist/metrics/token-service.js +0 -450
  357. package/dist/metrics/token-service.js.map +0 -1
  358. package/dist/migration/agent-outputs.js +0 -316
  359. package/dist/migration/agent-outputs.js.map +0 -1
  360. package/dist/migration/checksum.js +0 -92
  361. package/dist/migration/checksum.js.map +0 -1
  362. package/dist/migration/index.js +0 -282
  363. package/dist/migration/index.js.map +0 -1
  364. package/dist/migration/logger.js +0 -360
  365. package/dist/migration/logger.js.map +0 -1
  366. package/dist/migration/preflight.js +0 -9
  367. package/dist/migration/preflight.js.map +0 -1
  368. package/dist/migration/state.js +0 -421
  369. package/dist/migration/state.js.map +0 -1
  370. package/dist/migration/validate.js +0 -241
  371. package/dist/migration/validate.js.map +0 -1
  372. package/dist/mvi-helpers.js +0 -74
  373. package/dist/mvi-helpers.js.map +0 -1
  374. package/dist/nexus/deps.js +0 -375
  375. package/dist/nexus/deps.js.map +0 -1
  376. package/dist/nexus/discover.js +0 -288
  377. package/dist/nexus/discover.js.map +0 -1
  378. package/dist/nexus/hash.js +0 -10
  379. package/dist/nexus/hash.js.map +0 -1
  380. package/dist/nexus/index.js +0 -40
  381. package/dist/nexus/index.js.map +0 -1
  382. package/dist/nexus/migrate-json-to-sqlite.js +0 -115
  383. package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
  384. package/dist/nexus/permissions.js +0 -105
  385. package/dist/nexus/permissions.js.map +0 -1
  386. package/dist/nexus/query.js +0 -175
  387. package/dist/nexus/query.js.map +0 -1
  388. package/dist/nexus/registry.js +0 -584
  389. package/dist/nexus/registry.js.map +0 -1
  390. package/dist/nexus/sharing/index.js +0 -288
  391. package/dist/nexus/sharing/index.js.map +0 -1
  392. package/dist/nexus/transfer-types.js +0 -8
  393. package/dist/nexus/transfer-types.js.map +0 -1
  394. package/dist/nexus/transfer.js +0 -263
  395. package/dist/nexus/transfer.js.map +0 -1
  396. package/dist/nexus/workspace.js +0 -355
  397. package/dist/nexus/workspace.js.map +0 -1
  398. package/dist/observability/index.js +0 -103
  399. package/dist/observability/index.js.map +0 -1
  400. package/dist/observability/log-filter.js +0 -63
  401. package/dist/observability/log-filter.js.map +0 -1
  402. package/dist/observability/log-parser.js +0 -99
  403. package/dist/observability/log-parser.js.map +0 -1
  404. package/dist/observability/log-reader.js +0 -139
  405. package/dist/observability/log-reader.js.map +0 -1
  406. package/dist/observability/types.js +0 -19
  407. package/dist/observability/types.js.map +0 -1
  408. package/dist/orchestration/analyze.js +0 -107
  409. package/dist/orchestration/analyze.js.map +0 -1
  410. package/dist/orchestration/bootstrap.js +0 -132
  411. package/dist/orchestration/bootstrap.js.map +0 -1
  412. package/dist/orchestration/context.js +0 -56
  413. package/dist/orchestration/context.js.map +0 -1
  414. package/dist/orchestration/critical-path.js +0 -100
  415. package/dist/orchestration/critical-path.js.map +0 -1
  416. package/dist/orchestration/hierarchy.js +0 -183
  417. package/dist/orchestration/hierarchy.js.map +0 -1
  418. package/dist/orchestration/index.js +0 -287
  419. package/dist/orchestration/index.js.map +0 -1
  420. package/dist/orchestration/parallel.js +0 -89
  421. package/dist/orchestration/parallel.js.map +0 -1
  422. package/dist/orchestration/protocol-validators.js +0 -815
  423. package/dist/orchestration/protocol-validators.js.map +0 -1
  424. package/dist/orchestration/skill-ops.js +0 -98
  425. package/dist/orchestration/skill-ops.js.map +0 -1
  426. package/dist/orchestration/status.js +0 -107
  427. package/dist/orchestration/status.js.map +0 -1
  428. package/dist/orchestration/unblock.js +0 -103
  429. package/dist/orchestration/unblock.js.map +0 -1
  430. package/dist/orchestration/validate-spawn.js +0 -67
  431. package/dist/orchestration/validate-spawn.js.map +0 -1
  432. package/dist/orchestration/waves.js +0 -86
  433. package/dist/orchestration/waves.js.map +0 -1
  434. package/dist/otel/index.js +0 -163
  435. package/dist/otel/index.js.map +0 -1
  436. package/dist/output.js +0 -164
  437. package/dist/output.js.map +0 -1
  438. package/dist/pagination.js +0 -64
  439. package/dist/pagination.js.map +0 -1
  440. package/dist/paths.js +0 -842
  441. package/dist/paths.js.map +0 -1
  442. package/dist/phases/deps.js +0 -372
  443. package/dist/phases/deps.js.map +0 -1
  444. package/dist/phases/index.js +0 -349
  445. package/dist/phases/index.js.map +0 -1
  446. package/dist/pipeline/index.js +0 -10
  447. package/dist/pipeline/index.js.map +0 -1
  448. package/dist/pipeline/phase.js +0 -45
  449. package/dist/pipeline/phase.js.map +0 -1
  450. package/dist/platform.js +0 -211
  451. package/dist/platform.js.map +0 -1
  452. package/dist/project-info.js +0 -84
  453. package/dist/project-info.js.map +0 -1
  454. package/dist/reconciliation/index.js +0 -10
  455. package/dist/reconciliation/index.js.map +0 -1
  456. package/dist/reconciliation/link-store.js +0 -129
  457. package/dist/reconciliation/link-store.js.map +0 -1
  458. package/dist/reconciliation/reconciliation-engine.js +0 -298
  459. package/dist/reconciliation/reconciliation-engine.js.map +0 -1
  460. package/dist/release/artifacts.js +0 -427
  461. package/dist/release/artifacts.js.map +0 -1
  462. package/dist/release/changelog-writer.js +0 -151
  463. package/dist/release/changelog-writer.js.map +0 -1
  464. package/dist/release/channel.js +0 -144
  465. package/dist/release/channel.js.map +0 -1
  466. package/dist/release/ci.js +0 -166
  467. package/dist/release/ci.js.map +0 -1
  468. package/dist/release/github-pr.js +0 -225
  469. package/dist/release/github-pr.js.map +0 -1
  470. package/dist/release/guards.js +0 -116
  471. package/dist/release/guards.js.map +0 -1
  472. package/dist/release/index.js +0 -22
  473. package/dist/release/index.js.map +0 -1
  474. package/dist/release/release-config.js +0 -158
  475. package/dist/release/release-config.js.map +0 -1
  476. package/dist/release/release-manifest.js +0 -1019
  477. package/dist/release/release-manifest.js.map +0 -1
  478. package/dist/release/version-bump.js +0 -255
  479. package/dist/release/version-bump.js.map +0 -1
  480. package/dist/remote/index.js +0 -257
  481. package/dist/remote/index.js.map +0 -1
  482. package/dist/repair.js +0 -130
  483. package/dist/repair.js.map +0 -1
  484. package/dist/research/index.js +0 -2
  485. package/dist/research/index.js.map +0 -1
  486. package/dist/roadmap/index.js +0 -59
  487. package/dist/roadmap/index.js.map +0 -1
  488. package/dist/routing/capability-matrix.js +0 -1556
  489. package/dist/routing/capability-matrix.js.map +0 -1
  490. package/dist/routing/index.js +0 -9
  491. package/dist/routing/index.js.map +0 -1
  492. package/dist/scaffold.js +0 -1759
  493. package/dist/scaffold.js.map +0 -1
  494. package/dist/schema-management.js +0 -295
  495. package/dist/schema-management.js.map +0 -1
  496. package/dist/security/index.js +0 -9
  497. package/dist/security/index.js.map +0 -1
  498. package/dist/security/input-sanitization.js +0 -321
  499. package/dist/security/input-sanitization.js.map +0 -1
  500. package/dist/sequence/index.js +0 -295
  501. package/dist/sequence/index.js.map +0 -1
  502. package/dist/sessions/assumptions.js +0 -54
  503. package/dist/sessions/assumptions.js.map +0 -1
  504. package/dist/sessions/briefing.js +0 -377
  505. package/dist/sessions/briefing.js.map +0 -1
  506. package/dist/sessions/context-alert.js +0 -222
  507. package/dist/sessions/context-alert.js.map +0 -1
  508. package/dist/sessions/context-inject.js +0 -61
  509. package/dist/sessions/context-inject.js.map +0 -1
  510. package/dist/sessions/context-monitor.js +0 -98
  511. package/dist/sessions/context-monitor.js.map +0 -1
  512. package/dist/sessions/decisions.js +0 -65
  513. package/dist/sessions/decisions.js.map +0 -1
  514. package/dist/sessions/find.js +0 -65
  515. package/dist/sessions/find.js.map +0 -1
  516. package/dist/sessions/handoff.js +0 -328
  517. package/dist/sessions/handoff.js.map +0 -1
  518. package/dist/sessions/hitl-warnings.js +0 -254
  519. package/dist/sessions/hitl-warnings.js.map +0 -1
  520. package/dist/sessions/index.js +0 -327
  521. package/dist/sessions/index.js.map +0 -1
  522. package/dist/sessions/session-archive.js +0 -40
  523. package/dist/sessions/session-archive.js.map +0 -1
  524. package/dist/sessions/session-cleanup.js +0 -59
  525. package/dist/sessions/session-cleanup.js.map +0 -1
  526. package/dist/sessions/session-drift.js +0 -134
  527. package/dist/sessions/session-drift.js.map +0 -1
  528. package/dist/sessions/session-enforcement.js +0 -144
  529. package/dist/sessions/session-enforcement.js.map +0 -1
  530. package/dist/sessions/session-grade.js +0 -253
  531. package/dist/sessions/session-grade.js.map +0 -1
  532. package/dist/sessions/session-history.js +0 -42
  533. package/dist/sessions/session-history.js.map +0 -1
  534. package/dist/sessions/session-id.js +0 -81
  535. package/dist/sessions/session-id.js.map +0 -1
  536. package/dist/sessions/session-memory-bridge.js +0 -52
  537. package/dist/sessions/session-memory-bridge.js.map +0 -1
  538. package/dist/sessions/session-show.js +0 -24
  539. package/dist/sessions/session-show.js.map +0 -1
  540. package/dist/sessions/session-stats.js +0 -69
  541. package/dist/sessions/session-stats.js.map +0 -1
  542. package/dist/sessions/session-suspend.js +0 -39
  543. package/dist/sessions/session-suspend.js.map +0 -1
  544. package/dist/sessions/session-switch.js +0 -51
  545. package/dist/sessions/session-switch.js.map +0 -1
  546. package/dist/sessions/session-view.js +0 -76
  547. package/dist/sessions/session-view.js.map +0 -1
  548. package/dist/sessions/snapshot.js +0 -213
  549. package/dist/sessions/snapshot.js.map +0 -1
  550. package/dist/sessions/statusline-setup.js +0 -85
  551. package/dist/sessions/statusline-setup.js.map +0 -1
  552. package/dist/sessions/types.js +0 -8
  553. package/dist/sessions/types.js.map +0 -1
  554. package/dist/skills/agents/config.js +0 -94
  555. package/dist/skills/agents/config.js.map +0 -1
  556. package/dist/skills/agents/install.js +0 -116
  557. package/dist/skills/agents/install.js.map +0 -1
  558. package/dist/skills/agents/registry.js +0 -161
  559. package/dist/skills/agents/registry.js.map +0 -1
  560. package/dist/skills/discovery.js +0 -333
  561. package/dist/skills/discovery.js.map +0 -1
  562. package/dist/skills/dispatch.js +0 -347
  563. package/dist/skills/dispatch.js.map +0 -1
  564. package/dist/skills/dynamic-skill-generator.js +0 -87
  565. package/dist/skills/dynamic-skill-generator.js.map +0 -1
  566. package/dist/skills/index.js +0 -44
  567. package/dist/skills/index.js.map +0 -1
  568. package/dist/skills/injection/subagent.js +0 -195
  569. package/dist/skills/injection/subagent.js.map +0 -1
  570. package/dist/skills/injection/token.js +0 -260
  571. package/dist/skills/injection/token.js.map +0 -1
  572. package/dist/skills/install.js +0 -40
  573. package/dist/skills/install.js.map +0 -1
  574. package/dist/skills/manifests/contribution.js +0 -175
  575. package/dist/skills/manifests/contribution.js.map +0 -1
  576. package/dist/skills/manifests/research.js +0 -281
  577. package/dist/skills/manifests/research.js.map +0 -1
  578. package/dist/skills/manifests/resolver.js +0 -146
  579. package/dist/skills/manifests/resolver.js.map +0 -1
  580. package/dist/skills/marketplace.js +0 -90
  581. package/dist/skills/marketplace.js.map +0 -1
  582. package/dist/skills/orchestrator/spawn.js +0 -178
  583. package/dist/skills/orchestrator/spawn.js.map +0 -1
  584. package/dist/skills/orchestrator/startup.js +0 -451
  585. package/dist/skills/orchestrator/startup.js.map +0 -1
  586. package/dist/skills/orchestrator/validator.js +0 -301
  587. package/dist/skills/orchestrator/validator.js.map +0 -1
  588. package/dist/skills/precedence-integration.js +0 -73
  589. package/dist/skills/precedence-integration.js.map +0 -1
  590. package/dist/skills/precedence-types.js +0 -16
  591. package/dist/skills/precedence-types.js.map +0 -1
  592. package/dist/skills/routing-table.js +0 -63
  593. package/dist/skills/routing-table.js.map +0 -1
  594. package/dist/skills/skill-paths.js +0 -217
  595. package/dist/skills/skill-paths.js.map +0 -1
  596. package/dist/skills/test-utility.js +0 -55
  597. package/dist/skills/test-utility.js.map +0 -1
  598. package/dist/skills/types.js +0 -118
  599. package/dist/skills/types.js.map +0 -1
  600. package/dist/skills/validation.js +0 -183
  601. package/dist/skills/validation.js.map +0 -1
  602. package/dist/skills/version.js +0 -57
  603. package/dist/skills/version.js.map +0 -1
  604. package/dist/snapshot/index.js +0 -188
  605. package/dist/snapshot/index.js.map +0 -1
  606. package/dist/spawn/adapter-registry.js +0 -246
  607. package/dist/spawn/adapter-registry.js.map +0 -1
  608. package/dist/spawn/index.js +0 -10
  609. package/dist/spawn/index.js.map +0 -1
  610. package/dist/stats/index.js +0 -343
  611. package/dist/stats/index.js.map +0 -1
  612. package/dist/stats/workflow-telemetry.js +0 -400
  613. package/dist/stats/workflow-telemetry.js.map +0 -1
  614. package/dist/sticky/archive.js +0 -47
  615. package/dist/sticky/archive.js.map +0 -1
  616. package/dist/sticky/convert.js +0 -235
  617. package/dist/sticky/convert.js.map +0 -1
  618. package/dist/sticky/create.js +0 -48
  619. package/dist/sticky/create.js.map +0 -1
  620. package/dist/sticky/id.js +0 -35
  621. package/dist/sticky/id.js.map +0 -1
  622. package/dist/sticky/index.js +0 -16
  623. package/dist/sticky/index.js.map +0 -1
  624. package/dist/sticky/list.js +0 -44
  625. package/dist/sticky/list.js.map +0 -1
  626. package/dist/sticky/purge.js +0 -45
  627. package/dist/sticky/purge.js.map +0 -1
  628. package/dist/sticky/show.js +0 -42
  629. package/dist/sticky/show.js.map +0 -1
  630. package/dist/sticky/types.js +0 -10
  631. package/dist/sticky/types.js.map +0 -1
  632. package/dist/store/agent-registry-accessor.js +0 -783
  633. package/dist/store/agent-registry-accessor.js.map +0 -1
  634. package/dist/store/api-key-kdf.js +0 -84
  635. package/dist/store/api-key-kdf.js.map +0 -1
  636. package/dist/store/atomic.js +0 -167
  637. package/dist/store/atomic.js.map +0 -1
  638. package/dist/store/backup.js +0 -94
  639. package/dist/store/backup.js.map +0 -1
  640. package/dist/store/brain-accessor.js +0 -397
  641. package/dist/store/brain-accessor.js.map +0 -1
  642. package/dist/store/brain-schema.js +0 -215
  643. package/dist/store/brain-schema.js.map +0 -1
  644. package/dist/store/brain-sqlite.js +0 -222
  645. package/dist/store/brain-sqlite.js.map +0 -1
  646. package/dist/store/cache.js +0 -168
  647. package/dist/store/cache.js.map +0 -1
  648. package/dist/store/chain-schema.js +0 -51
  649. package/dist/store/chain-schema.js.map +0 -1
  650. package/dist/store/cleanup-legacy.js +0 -171
  651. package/dist/store/cleanup-legacy.js.map +0 -1
  652. package/dist/store/conduit-sqlite.js +0 -570
  653. package/dist/store/conduit-sqlite.js.map +0 -1
  654. package/dist/store/converters.js +0 -124
  655. package/dist/store/converters.js.map +0 -1
  656. package/dist/store/cross-db-cleanup.js +0 -319
  657. package/dist/store/cross-db-cleanup.js.map +0 -1
  658. package/dist/store/data-accessor.js +0 -26
  659. package/dist/store/data-accessor.js.map +0 -1
  660. package/dist/store/data-safety-central.js +0 -269
  661. package/dist/store/data-safety-central.js.map +0 -1
  662. package/dist/store/data-safety.js +0 -274
  663. package/dist/store/data-safety.js.map +0 -1
  664. package/dist/store/db-helpers.js +0 -224
  665. package/dist/store/db-helpers.js.map +0 -1
  666. package/dist/store/export.js +0 -155
  667. package/dist/store/export.js.map +0 -1
  668. package/dist/store/file-utils.js +0 -270
  669. package/dist/store/file-utils.js.map +0 -1
  670. package/dist/store/git-checkpoint.js +0 -365
  671. package/dist/store/git-checkpoint.js.map +0 -1
  672. package/dist/store/global-salt.js +0 -147
  673. package/dist/store/global-salt.js.map +0 -1
  674. package/dist/store/import-logging.js +0 -139
  675. package/dist/store/import-logging.js.map +0 -1
  676. package/dist/store/import-remap.js +0 -145
  677. package/dist/store/import-remap.js.map +0 -1
  678. package/dist/store/import-sort.js +0 -121
  679. package/dist/store/import-sort.js.map +0 -1
  680. package/dist/store/index.js +0 -29
  681. package/dist/store/index.js.map +0 -1
  682. package/dist/store/json.js +0 -208
  683. package/dist/store/json.js.map +0 -1
  684. package/dist/store/lifecycle-store.js +0 -249
  685. package/dist/store/lifecycle-store.js.map +0 -1
  686. package/dist/store/lock.js +0 -70
  687. package/dist/store/lock.js.map +0 -1
  688. package/dist/store/migrate-signaldock-to-conduit.js +0 -555
  689. package/dist/store/migrate-signaldock-to-conduit.js.map +0 -1
  690. package/dist/store/migration-manager.js +0 -151
  691. package/dist/store/migration-manager.js.map +0 -1
  692. package/dist/store/migration-sqlite.js +0 -676
  693. package/dist/store/migration-sqlite.js.map +0 -1
  694. package/dist/store/nexus-schema.js +0 -62
  695. package/dist/store/nexus-schema.js.map +0 -1
  696. package/dist/store/nexus-sqlite.js +0 -242
  697. package/dist/store/nexus-sqlite.js.map +0 -1
  698. package/dist/store/nexus-validation-schemas.js +0 -40
  699. package/dist/store/nexus-validation-schemas.js.map +0 -1
  700. package/dist/store/parsers.js +0 -37
  701. package/dist/store/parsers.js.map +0 -1
  702. package/dist/store/project-detect.js +0 -457
  703. package/dist/store/project-detect.js.map +0 -1
  704. package/dist/store/provider.js +0 -101
  705. package/dist/store/provider.js.map +0 -1
  706. package/dist/store/safety-data-accessor.js +0 -257
  707. package/dist/store/safety-data-accessor.js.map +0 -1
  708. package/dist/store/schema.js +0 -7
  709. package/dist/store/schema.js.map +0 -1
  710. package/dist/store/session-store.js +0 -219
  711. package/dist/store/session-store.js.map +0 -1
  712. package/dist/store/signaldock-sqlite.js +0 -550
  713. package/dist/store/signaldock-sqlite.js.map +0 -1
  714. package/dist/store/sqlite-backup.js +0 -359
  715. package/dist/store/sqlite-backup.js.map +0 -1
  716. package/dist/store/sqlite-data-accessor.js +0 -787
  717. package/dist/store/sqlite-data-accessor.js.map +0 -1
  718. package/dist/store/sqlite.js +0 -481
  719. package/dist/store/sqlite.js.map +0 -1
  720. package/dist/store/status-registry.js +0 -8
  721. package/dist/store/status-registry.js.map +0 -1
  722. package/dist/store/task-store.js +0 -358
  723. package/dist/store/task-store.js.map +0 -1
  724. package/dist/store/tasks-schema.js +0 -610
  725. package/dist/store/tasks-schema.js.map +0 -1
  726. package/dist/store/typed-query.js +0 -15
  727. package/dist/store/typed-query.js.map +0 -1
  728. package/dist/store/validation-schemas.js +0 -278
  729. package/dist/store/validation-schemas.js.map +0 -1
  730. package/dist/system/archive-analytics.js +0 -277
  731. package/dist/system/archive-analytics.js.map +0 -1
  732. package/dist/system/archive-stats.js +0 -64
  733. package/dist/system/archive-stats.js.map +0 -1
  734. package/dist/system/audit.js +0 -145
  735. package/dist/system/audit.js.map +0 -1
  736. package/dist/system/backup.js +0 -280
  737. package/dist/system/backup.js.map +0 -1
  738. package/dist/system/cleanup.js +0 -134
  739. package/dist/system/cleanup.js.map +0 -1
  740. package/dist/system/health.js +0 -1100
  741. package/dist/system/health.js.map +0 -1
  742. package/dist/system/index.js +0 -18
  743. package/dist/system/index.js.map +0 -1
  744. package/dist/system/inject-generate.js +0 -122
  745. package/dist/system/inject-generate.js.map +0 -1
  746. package/dist/system/labels.js +0 -38
  747. package/dist/system/labels.js.map +0 -1
  748. package/dist/system/metrics.js +0 -61
  749. package/dist/system/metrics.js.map +0 -1
  750. package/dist/system/migrate.js +0 -43
  751. package/dist/system/migrate.js.map +0 -1
  752. package/dist/system/platform-paths.js +0 -80
  753. package/dist/system/platform-paths.js.map +0 -1
  754. package/dist/system/runtime.js +0 -161
  755. package/dist/system/runtime.js.map +0 -1
  756. package/dist/system/safestop.js +0 -99
  757. package/dist/system/safestop.js.map +0 -1
  758. package/dist/system/storage-preflight.js +0 -123
  759. package/dist/system/storage-preflight.js.map +0 -1
  760. package/dist/task-work/index.js +0 -159
  761. package/dist/task-work/index.js.map +0 -1
  762. package/dist/tasks/add.js +0 -736
  763. package/dist/tasks/add.js.map +0 -1
  764. package/dist/tasks/analyze.js +0 -85
  765. package/dist/tasks/analyze.js.map +0 -1
  766. package/dist/tasks/archive.js +0 -90
  767. package/dist/tasks/archive.js.map +0 -1
  768. package/dist/tasks/atomicity.js +0 -83
  769. package/dist/tasks/atomicity.js.map +0 -1
  770. package/dist/tasks/cancel-ops.js +0 -83
  771. package/dist/tasks/cancel-ops.js.map +0 -1
  772. package/dist/tasks/complete.js +0 -214
  773. package/dist/tasks/complete.js.map +0 -1
  774. package/dist/tasks/crossref-extract.js +0 -73
  775. package/dist/tasks/crossref-extract.js.map +0 -1
  776. package/dist/tasks/delete-preview.js +0 -192
  777. package/dist/tasks/delete-preview.js.map +0 -1
  778. package/dist/tasks/delete.js +0 -120
  779. package/dist/tasks/delete.js.map +0 -1
  780. package/dist/tasks/deletion-strategy.js +0 -200
  781. package/dist/tasks/deletion-strategy.js.map +0 -1
  782. package/dist/tasks/dependency-check.js +0 -278
  783. package/dist/tasks/dependency-check.js.map +0 -1
  784. package/dist/tasks/deps-ready.js +0 -32
  785. package/dist/tasks/deps-ready.js.map +0 -1
  786. package/dist/tasks/enforcement.js +0 -86
  787. package/dist/tasks/enforcement.js.map +0 -1
  788. package/dist/tasks/epic-enforcement.js +0 -294
  789. package/dist/tasks/epic-enforcement.js.map +0 -1
  790. package/dist/tasks/find.js +0 -157
  791. package/dist/tasks/find.js.map +0 -1
  792. package/dist/tasks/graph-cache.js +0 -127
  793. package/dist/tasks/graph-cache.js.map +0 -1
  794. package/dist/tasks/graph-ops.js +0 -171
  795. package/dist/tasks/graph-ops.js.map +0 -1
  796. package/dist/tasks/graph-rag.js +0 -328
  797. package/dist/tasks/graph-rag.js.map +0 -1
  798. package/dist/tasks/hierarchy-policy.js +0 -149
  799. package/dist/tasks/hierarchy-policy.js.map +0 -1
  800. package/dist/tasks/hierarchy.js +0 -185
  801. package/dist/tasks/hierarchy.js.map +0 -1
  802. package/dist/tasks/id-generator.js +0 -65
  803. package/dist/tasks/id-generator.js.map +0 -1
  804. package/dist/tasks/index.js +0 -14
  805. package/dist/tasks/index.js.map +0 -1
  806. package/dist/tasks/labels.js +0 -55
  807. package/dist/tasks/labels.js.map +0 -1
  808. package/dist/tasks/list.js +0 -75
  809. package/dist/tasks/list.js.map +0 -1
  810. package/dist/tasks/phase-tracking.js +0 -133
  811. package/dist/tasks/phase-tracking.js.map +0 -1
  812. package/dist/tasks/pipeline-stage.js +0 -248
  813. package/dist/tasks/pipeline-stage.js.map +0 -1
  814. package/dist/tasks/plan.js +0 -268
  815. package/dist/tasks/plan.js.map +0 -1
  816. package/dist/tasks/relates.js +0 -101
  817. package/dist/tasks/relates.js.map +0 -1
  818. package/dist/tasks/show.js +0 -83
  819. package/dist/tasks/show.js.map +0 -1
  820. package/dist/tasks/size-weighting.js +0 -86
  821. package/dist/tasks/size-weighting.js.map +0 -1
  822. package/dist/tasks/staleness.js +0 -86
  823. package/dist/tasks/staleness.js.map +0 -1
  824. package/dist/tasks/task-ops.js +0 -1741
  825. package/dist/tasks/task-ops.js.map +0 -1
  826. package/dist/tasks/update.js +0 -303
  827. package/dist/tasks/update.js.map +0 -1
  828. package/dist/templates/index.js +0 -10
  829. package/dist/templates/index.js.map +0 -1
  830. package/dist/templates/parser.js +0 -254
  831. package/dist/templates/parser.js.map +0 -1
  832. package/dist/ui/aliases.js +0 -153
  833. package/dist/ui/aliases.js.map +0 -1
  834. package/dist/ui/changelog.js +0 -184
  835. package/dist/ui/changelog.js.map +0 -1
  836. package/dist/ui/command-registry.js +0 -168
  837. package/dist/ui/command-registry.js.map +0 -1
  838. package/dist/ui/flags.js +0 -94
  839. package/dist/ui/flags.js.map +0 -1
  840. package/dist/ui/index.js +0 -24
  841. package/dist/ui/index.js.map +0 -1
  842. package/dist/upgrade.js +0 -1148
  843. package/dist/upgrade.js.map +0 -1
  844. package/dist/validation/chain-validation.js +0 -146
  845. package/dist/validation/chain-validation.js.map +0 -1
  846. package/dist/validation/compliance.js +0 -155
  847. package/dist/validation/compliance.js.map +0 -1
  848. package/dist/validation/docs-sync.js +0 -212
  849. package/dist/validation/docs-sync.js.map +0 -1
  850. package/dist/validation/doctor/checks.js +0 -1069
  851. package/dist/validation/doctor/checks.js.map +0 -1
  852. package/dist/validation/doctor/index.js +0 -9
  853. package/dist/validation/doctor/index.js.map +0 -1
  854. package/dist/validation/doctor/project-cache.js +0 -160
  855. package/dist/validation/doctor/project-cache.js.map +0 -1
  856. package/dist/validation/doctor/utils.js +0 -155
  857. package/dist/validation/doctor/utils.js.map +0 -1
  858. package/dist/validation/engine.js +0 -914
  859. package/dist/validation/engine.js.map +0 -1
  860. package/dist/validation/gap-check.js +0 -175
  861. package/dist/validation/gap-check.js.map +0 -1
  862. package/dist/validation/index.js +0 -40
  863. package/dist/validation/index.js.map +0 -1
  864. package/dist/validation/manifest.js +0 -237
  865. package/dist/validation/manifest.js.map +0 -1
  866. package/dist/validation/operation-gate-validators.js +0 -724
  867. package/dist/validation/operation-gate-validators.js.map +0 -1
  868. package/dist/validation/operation-verification-gates.js +0 -532
  869. package/dist/validation/operation-verification-gates.js.map +0 -1
  870. package/dist/validation/param-utils.js +0 -141
  871. package/dist/validation/param-utils.js.map +0 -1
  872. package/dist/validation/protocol-common.js +0 -300
  873. package/dist/validation/protocol-common.js.map +0 -1
  874. package/dist/validation/protocols/_shared.js +0 -82
  875. package/dist/validation/protocols/_shared.js.map +0 -1
  876. package/dist/validation/protocols/architecture-decision.js +0 -31
  877. package/dist/validation/protocols/architecture-decision.js.map +0 -1
  878. package/dist/validation/protocols/artifact-publish.js +0 -28
  879. package/dist/validation/protocols/artifact-publish.js.map +0 -1
  880. package/dist/validation/protocols/consensus.js +0 -41
  881. package/dist/validation/protocols/consensus.js.map +0 -1
  882. package/dist/validation/protocols/contribution.js +0 -27
  883. package/dist/validation/protocols/contribution.js.map +0 -1
  884. package/dist/validation/protocols/decomposition.js +0 -28
  885. package/dist/validation/protocols/decomposition.js.map +0 -1
  886. package/dist/validation/protocols/implementation.js +0 -24
  887. package/dist/validation/protocols/implementation.js.map +0 -1
  888. package/dist/validation/protocols/provenance.js +0 -29
  889. package/dist/validation/protocols/provenance.js.map +0 -1
  890. package/dist/validation/protocols/release.js +0 -29
  891. package/dist/validation/protocols/release.js.map +0 -1
  892. package/dist/validation/protocols/research.js +0 -24
  893. package/dist/validation/protocols/research.js.map +0 -1
  894. package/dist/validation/protocols/specification.js +0 -27
  895. package/dist/validation/protocols/specification.js.map +0 -1
  896. package/dist/validation/protocols/testing.js +0 -30
  897. package/dist/validation/protocols/testing.js.map +0 -1
  898. package/dist/validation/protocols/validation.js +0 -30
  899. package/dist/validation/protocols/validation.js.map +0 -1
  900. package/dist/validation/schema-integrity.js +0 -170
  901. package/dist/validation/schema-integrity.js.map +0 -1
  902. package/dist/validation/schema-validator.js +0 -176
  903. package/dist/validation/schema-validator.js.map +0 -1
  904. package/dist/validation/validate-ops.js +0 -937
  905. package/dist/validation/validate-ops.js.map +0 -1
  906. package/dist/validation/validation-rules.js +0 -226
  907. package/dist/validation/validation-rules.js.map +0 -1
  908. package/dist/validation/verification.js +0 -321
  909. package/dist/validation/verification.js.map +0 -1
@@ -2,14 +2,17 @@
2
2
  * SQLite backup via VACUUM INTO with snapshot rotation.
3
3
  *
4
4
  * Produces self-contained, WAL-free copies of CLEO SQLite databases
5
- * (tasks.db, brain.db at project tier; nexus.db at global tier) into
6
- * `.cleo/backups/sqlite/` (project) or `$XDG_DATA_HOME/cleo/backups/sqlite/`
7
- * (global) with a configurable rotation limit. All errors are swallowed —
8
- * backup failure must never interrupt normal operation.
5
+ * (tasks.db, brain.db, conduit.db at project tier; nexus.db, signaldock.db at
6
+ * global tier) into `.cleo/backups/sqlite/` (project) or
7
+ * `$XDG_DATA_HOME/cleo/backups/sqlite/` (global) with a configurable rotation
8
+ * limit. Also provides raw-file backup for the global-salt binary (not SQLite).
9
+ * All errors are swallowed — backup failure must never interrupt normal operation.
9
10
  *
10
11
  * @task T4873
11
12
  * @task T5158 — extended to cover brain.db
12
13
  * @task T306 — extended to cover global-tier nexus.db (epic T299)
14
+ * @task T369 — extended to cover conduit.db (project), signaldock.db (global),
15
+ * and global-salt raw-file backup (epic T310)
13
16
  * @epic T4867
14
17
  */
15
18
  /** Options accepted by {@link vacuumIntoBackup} and {@link vacuumIntoBackupAll}. */
@@ -96,12 +99,13 @@ export type BackupScope = 'project' | 'global';
96
99
  * Non-fatal: errors from any individual step are surfaced via the return value
97
100
  * but never thrown — a failed snapshot MUST NOT interrupt normal operation.
98
101
  *
99
- * @param dbName - Which global-tier DB to snapshot (`'nexus'`; `'signaldock'` reserved for T310)
102
+ * @param dbName - Which global-tier DB to snapshot (`'nexus'` or `'signaldock'`)
100
103
  * @param opts.rotation - Maximum retained snapshots per prefix (default 10)
101
104
  * @param opts.cleoHomeOverride - Override `getCleoHome()` path (use in tests to target a tmp dir)
102
105
  * @returns Object containing the new snapshot path and any rotated (deleted) file paths
103
106
  *
104
107
  * @task T306
108
+ * @task T369 — activated signaldock target (epic T310)
105
109
  * @epic T299
106
110
  * @why ADR-036 §Backup Mechanism requires VACUUM INTO rotation at the global tier;
107
111
  * nexus.db has zero backup coverage prior to v2026.4.11.
@@ -142,4 +146,55 @@ export interface GlobalBackupEntry {
142
146
  * @epic T299
143
147
  */
144
148
  export declare function listGlobalSqliteBackups(prefix?: string, cleoHomeOverride?: string): GlobalBackupEntry[];
149
+ /**
150
+ * Creates a raw-file backup of the global-salt binary at
151
+ * `${getCleoHome()}/backups/global-salt-YYYYMMDD-HHmmss` with `0o600`
152
+ * permissions. Rotates to {@link MAX_SNAPSHOTS} (10) copies, deleting the
153
+ * oldest when the limit is reached.
154
+ *
155
+ * Non-fatal: errors are swallowed — salt backup failure must never block cleo.
156
+ * Returns empty strings and no rotated paths on failure.
157
+ *
158
+ * @param opts.cleoHomeOverride - Override `getCleoHome()` path (use in tests to target a tmp dir)
159
+ * @returns Object with the new snapshot path and any rotated (deleted) file paths
160
+ *
161
+ * @task T369
162
+ * @epic T310
163
+ * @why ADR-037 §5 — global-salt is security-critical; losing it invalidates
164
+ * all API keys. Backup enables recovery from accidental deletion.
165
+ */
166
+ export declare function backupGlobalSalt(opts?: {
167
+ cleoHomeOverride?: string;
168
+ }): Promise<{
169
+ snapshotPath: string;
170
+ rotated: string[];
171
+ }>;
172
+ /**
173
+ * A single entry returned by {@link listGlobalSaltBackups}.
174
+ *
175
+ * @task T369
176
+ * @epic T310
177
+ */
178
+ export interface GlobalSaltBackupEntry {
179
+ /** Backup filename, e.g. `global-salt-20260408-143022`. */
180
+ name: string;
181
+ /** Absolute path to the backup file. */
182
+ path: string;
183
+ /** File size in bytes (should be 32 for a valid global-salt). */
184
+ size: number;
185
+ /** Last-modified timestamp. */
186
+ mtime: Date;
187
+ }
188
+ /**
189
+ * List global-salt backup files from `$XDG_DATA_HOME/cleo/backups/`, sorted
190
+ * newest-first by mtime.
191
+ *
192
+ * Returns an empty array when the backup directory does not exist.
193
+ *
194
+ * @param cleoHomeOverride - Override `getCleoHome()` path (use in tests to target a tmp dir)
195
+ *
196
+ * @task T369
197
+ * @epic T310
198
+ */
199
+ export declare function listGlobalSaltBackups(cleoHomeOverride?: string): GlobalSaltBackupEntry[];
145
200
  //# sourceMappingURL=sqlite-backup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-backup.d.ts","sourceRoot":"","sources":["../../src/store/sqlite-backup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA6FH,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjF;AA8BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,CAAC,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,CAAC,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAMxE;AAQD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAmB/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,GAAG,YAAY,EAC9B,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAsDtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB,iBAAiB,EAAE,CAkBrB"}
1
+ {"version":3,"file":"sqlite-backup.d.ts","sourceRoot":"","sources":["../../src/store/sqlite-backup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA6GH,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjF;AA8BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,CAAC,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,CAAC,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAMxE;AAQD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAyB/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,GAAG,YAAY,EAC9B,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAsDtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB,iBAAiB,EAAE,CAkBrB;AAyDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA2BvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAgBxF"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * T310-readiness gate: detect conduit.db vs legacy signaldock.db at project tier.
3
+ *
4
+ * T311 backup/restore code paths reference `.cleo/conduit.db` (project tier) and
5
+ * `$XDG_DATA_HOME/cleo/signaldock.db` (global tier) per ADR-037. A project that
6
+ * has not yet been migrated (still has `.cleo/signaldock.db` without a
7
+ * `.cleo/conduit.db`) will confuse T311 export/import commands. This gate runs
8
+ * as a precondition on every T311 CLI verb.
9
+ *
10
+ * @task T342
11
+ * @epic T311
12
+ * @why T311 export/import references .cleo/conduit.db (project tier) and
13
+ * $XDG_DATA_HOME/cleo/signaldock.db (global tier) per ADR-037.
14
+ * If the current project is still on the pre-T310 topology, T311
15
+ * commands must surface a clear error telling the user to run a
16
+ * cleo command first to trigger migration.
17
+ * @what Throws T310MigrationRequiredError with instructions if legacy
18
+ * signaldock.db exists AND conduit.db does not.
19
+ */
20
+ /**
21
+ * Thrown by `assertT310Ready` when the current project is still on the
22
+ * pre-T310 topology: `.cleo/signaldock.db` is present but `.cleo/conduit.db`
23
+ * is absent. T311 commands cannot proceed until migration has run.
24
+ *
25
+ * @task T342
26
+ * @epic T311
27
+ */
28
+ export declare class T310MigrationRequiredError extends Error {
29
+ readonly projectRoot: string;
30
+ /**
31
+ * @param projectRoot - Absolute path to the project root that needs migration.
32
+ */
33
+ constructor(projectRoot: string);
34
+ }
35
+ /**
36
+ * Asserts the current project is on the post-T310 topology. Does nothing
37
+ * if conduit.db exists (migration already ran) OR if no legacy signaldock.db
38
+ * exists (fresh install — no migration needed).
39
+ *
40
+ * Throws when legacy signaldock.db is present AND conduit.db is absent,
41
+ * which indicates the project has not yet been migrated to the T310 topology
42
+ * expected by T311 backup/restore commands.
43
+ *
44
+ * @param projectRoot - Absolute path to the project root. Defaults to
45
+ * `getProjectRoot()` (walks ancestors for `.cleo/` sentinel).
46
+ * @throws {T310MigrationRequiredError} if legacy signaldock.db exists
47
+ * without conduit.db at the project tier.
48
+ *
49
+ * @task T342
50
+ * @epic T311
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Precondition guard at the top of every T311 CLI verb handler:
55
+ * assertT310Ready();
56
+ * ```
57
+ */
58
+ export declare function assertT310Ready(projectRoot?: string): void;
59
+ /**
60
+ * Returns true if T311 commands can safely run on the current project.
61
+ *
62
+ * This is the non-throwing companion to `assertT310Ready`. Returns false
63
+ * only when the pre-T310 topology is detected (legacy signaldock.db exists
64
+ * without conduit.db). All other states — fresh installs, fully-migrated
65
+ * projects — return true.
66
+ *
67
+ * @param projectRoot - Absolute path to the project root. Defaults to
68
+ * `getProjectRoot()` (walks ancestors for `.cleo/` sentinel).
69
+ * @returns `true` if the project is on the post-T310 topology or is a fresh
70
+ * install; `false` if migration is required.
71
+ *
72
+ * @task T342
73
+ * @epic T311
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * if (!isT310Ready()) {
78
+ * console.error('Run `cleo version` to trigger T310 migration first.');
79
+ * }
80
+ * ```
81
+ */
82
+ export declare function isT310Ready(projectRoot?: string): boolean;
83
+ //# sourceMappingURL=t310-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"t310-readiness.d.ts","sourceRoot":"","sources":["../../src/store/t310-readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;aAIvB,WAAW,EAAE,MAAM;IAH/C;;OAEG;gBACyB,WAAW,EAAE,MAAM;CAQhD;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAQzD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/core",
3
- "version": "2026.4.13",
3
+ "version": "2026.4.14",
4
4
  "description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -23,7 +23,7 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@xenova/transformers": "^2.17.2",
26
+ "@huggingface/transformers": "^4.0.1",
27
27
  "ajv": "^8.18.0",
28
28
  "ajv-formats": "^3.0.1",
29
29
  "drizzle-orm": "1.0.0-beta.19-d95b7a4",
@@ -34,14 +34,14 @@
34
34
  "proper-lockfile": "^4.1.2",
35
35
  "tar": "^7.4.3",
36
36
  "write-file-atomic": "^6.0.0",
37
- "yaml": "^2.8.2",
37
+ "yaml": "^2.8.3",
38
38
  "zod": "^3.25.76",
39
- "@cleocode/adapters": "2026.4.13",
40
- "@cleocode/agents": "2026.4.13",
41
- "@cleocode/contracts": "2026.4.13",
42
- "@cleocode/caamp": "2026.4.13",
43
- "@cleocode/lafs": "2026.4.13",
44
- "@cleocode/skills": "2026.4.13"
39
+ "@cleocode/agents": "2026.4.14",
40
+ "@cleocode/contracts": "2026.4.14",
41
+ "@cleocode/lafs": "2026.4.14",
42
+ "@cleocode/caamp": "2026.4.14",
43
+ "@cleocode/adapters": "2026.4.14",
44
+ "@cleocode/skills": "2026.4.14"
45
45
  },
46
46
  "optionalDependencies": {
47
47
  "tree-sitter-c": "^0.24.1",
@@ -172,20 +172,22 @@ describe('Exit Code Parity', () => {
172
172
  // LAFS Envelope Format Parity
173
173
  // ============================================================
174
174
 
175
- describe('LAFS Envelope Format', () => {
176
- it('success envelope is full LAFS with $schema and _meta', () => {
175
+ describe('Canonical CLI Envelope Format (ADR-039)', () => {
176
+ it('success envelope uses canonical CLI shape { success, data, meta }', () => {
177
177
  const result = formatSuccess({ task: { id: 'T001', title: 'Test' } });
178
178
  const parsed = JSON.parse(result);
179
179
 
180
- // Full LAFS envelope: { $schema, _meta, success: true, result: {...} }
181
- expect(parsed.$schema).toBe('https://lafs.dev/schemas/v1/envelope.schema.json');
182
- expect(parsed._meta).toBeDefined();
180
+ // Canonical CLI envelope (ADR-039): { success, data, meta } — no $schema, no _meta, no result.
181
+ expect(parsed.$schema).toBeUndefined();
182
+ expect(parsed._meta).toBeUndefined();
183
+ expect(parsed.result).toBeUndefined();
184
+ expect(parsed.meta).toBeDefined();
183
185
  expect(parsed.success).toBe(true);
184
- expect(parsed.result).toBeDefined();
185
- expect(parsed.result.task).toBeDefined();
186
+ expect(parsed.data).toBeDefined();
187
+ expect(parsed.data.task).toBeDefined();
186
188
  });
187
189
 
188
- it('error envelope is full LAFS with $schema and _meta', () => {
190
+ it('error envelope uses canonical CLI shape { success, error, meta }', () => {
189
191
  const err = new CleoError(ExitCode.NOT_FOUND, 'Task T999 not found', {
190
192
  fix: 'Use cleo list to find tasks',
191
193
  alternatives: [{ action: 'Search', command: 'cleo find query' }],
@@ -193,9 +195,11 @@ describe('LAFS Envelope Format', () => {
193
195
  const result = formatError(err);
194
196
  const parsed = JSON.parse(result);
195
197
 
196
- // Full LAFS envelope: { $schema, _meta, success: false, result: null, error: {...} }
197
- expect(parsed.$schema).toBe('https://lafs.dev/schemas/v1/envelope.schema.json');
198
- expect(parsed._meta).toBeDefined();
198
+ // Canonical CLI envelope (ADR-039): { success: false, error, meta } — no $schema, no _meta, no result.
199
+ expect(parsed.$schema).toBeUndefined();
200
+ expect(parsed._meta).toBeUndefined();
201
+ expect(parsed.result).toBeUndefined();
202
+ expect(parsed.meta).toBeDefined();
199
203
  expect(parsed.success).toBe(false);
200
204
  expect(parsed.error).toBeDefined();
201
205
  expect(parsed.error.code).toMatch(/^E_CLEO_NOT_FOUND/);
@@ -204,7 +208,7 @@ describe('LAFS Envelope Format', () => {
204
208
  expect(parsed.error.details.alternatives).toHaveLength(1);
205
209
  });
206
210
 
207
- it('CleoError.toJSON matches LAFS envelope', () => {
211
+ it('CleoError.toJSON matches legacy error shape', () => {
208
212
  const err = new CleoError(ExitCode.VALIDATION_ERROR, 'Bad input');
209
213
  const json = err.toJSON();
210
214
  expect(json.success).toBe(false);
@@ -212,11 +216,12 @@ describe('LAFS Envelope Format', () => {
212
216
  expect((json.error as Record<string, unknown>).name).toBe('VALIDATION_ERROR');
213
217
  });
214
218
 
215
- it('success with noChange flag', () => {
219
+ it('success with noChange flag attaches message to meta.message', () => {
216
220
  const result = formatSuccess(null, 'No changes needed');
217
221
  const parsed = JSON.parse(result);
218
222
  expect(parsed.success).toBe(true);
219
- expect(parsed.message).toBe('No changes needed');
223
+ // ADR-039: message is now carried in meta.message, not at the top level.
224
+ expect(parsed.meta.message).toBe('No changes needed');
220
225
  });
221
226
  });
222
227
 
@@ -98,8 +98,8 @@ describe('--human output verification (T4696)', () => {
98
98
  });
99
99
  });
100
100
 
101
- describe('LAFS envelopes are valid regardless of format flags', () => {
102
- it('formatSuccess produces valid JSON for show operation', () => {
101
+ describe('Canonical CLI envelopes are valid regardless of format flags (ADR-039)', () => {
102
+ it('formatSuccess produces canonical envelope for show operation', () => {
103
103
  const json = formatSuccess(
104
104
  {
105
105
  task: { id: 'T4663', title: 'Wave 8: Full System Integration', status: 'active' },
@@ -110,12 +110,14 @@ describe('--human output verification (T4696)', () => {
110
110
  const parsed = JSON.parse(json);
111
111
 
112
112
  expect(parsed.success).toBe(true);
113
- expect(parsed.$schema).toBeDefined();
114
- expect(parsed._meta).toBeDefined();
115
- expect(parsed.result.task.id).toBe('T4663');
113
+ // ADR-039: canonical shape drops $schema and _meta; payload lives in data.
114
+ expect(parsed.$schema).toBeUndefined();
115
+ expect(parsed._meta).toBeUndefined();
116
+ expect(parsed.meta).toBeDefined();
117
+ expect(parsed.data.task.id).toBe('T4663');
116
118
  });
117
119
 
118
- it('formatSuccess produces valid JSON for list operation', () => {
120
+ it('formatSuccess produces canonical envelope for list operation', () => {
119
121
  const json = formatSuccess(
120
122
  {
121
123
  tasks: [
@@ -130,11 +132,11 @@ describe('--human output verification (T4696)', () => {
130
132
  const parsed = JSON.parse(json);
131
133
 
132
134
  expect(parsed.success).toBe(true);
133
- expect(parsed.result.tasks).toHaveLength(2);
134
- expect(parsed.result.total).toBe(2);
135
+ expect(parsed.data.tasks).toHaveLength(2);
136
+ expect(parsed.data.total).toBe(2);
135
137
  });
136
138
 
137
- it('formatSuccess produces valid JSON for dash operation', () => {
139
+ it('formatSuccess produces canonical envelope for dash operation', () => {
138
140
  const json = formatSuccess(
139
141
  {
140
142
  project: { name: 'cleo' },
@@ -146,8 +148,8 @@ describe('--human output verification (T4696)', () => {
146
148
  const parsed = JSON.parse(json);
147
149
 
148
150
  expect(parsed.success).toBe(true);
149
- expect(parsed.result.project.name).toBe('cleo');
150
- expect(parsed.result.stats.total).toBe(50);
151
+ expect(parsed.data.project.name).toBe('cleo');
152
+ expect(parsed.data.stats.total).toBe(50);
151
153
  });
152
154
 
153
155
  it('formatError produces valid JSON with fix suggestions', () => {
package/src/init.ts CHANGED
@@ -521,7 +521,14 @@ export async function updateDocs(): Promise<InitResult> {
521
521
  */
522
522
  export async function initProject(opts: InitOptions = {}): Promise<InitResult> {
523
523
  const cleoDir = getCleoDirAbsolute();
524
- const projRoot = getProjectRoot();
524
+ // `cleo init` CREATES the project root, so we cannot call getProjectRoot()
525
+ // here — that walks up looking for an existing `.cleo/` sentinel and throws
526
+ // `E_NOT_FOUND` when none is present (the whole point of `init` is that
527
+ // none is present yet). `cleoDir` is `<cwd>/.cleo` by default, so its
528
+ // parent directory is the project root. This also respects an absolute
529
+ // `CLEO_DIR` env var used by the init-e2e test suite to pin the target
530
+ // directory.
531
+ const projRoot = dirname(cleoDir);
525
532
 
526
533
  // Guard: fail if project already initialized (unless --force)
527
534
  const alreadyInitialized =
@@ -586,16 +593,19 @@ export async function initProject(opts: InitOptions = {}): Promise<InitResult> {
586
593
  created.push(`brain.db (deferred: ${err instanceof Error ? err.message : String(err)})`);
587
594
  }
588
595
 
589
- // Initialize signaldock.db for local agent messaging infrastructure (T223)
596
+ // Initialize conduit.db for project-tier agent messaging infrastructure.
597
+ // T310 (v2026.4.12) moved project-tier messaging from signaldock.db to
598
+ // conduit.db; global agent identity continues to live in the global
599
+ // signaldock.db, which the CLI startup sequence ensures separately.
590
600
  try {
591
- const { ensureSignaldockDb } = await import('./store/signaldock-sqlite.js');
592
- const sdResult = await ensureSignaldockDb(projRoot);
593
- if (sdResult.action === 'created') {
594
- created.push('signaldock.db');
601
+ const { ensureConduitDb } = await import('./store/conduit-sqlite.js');
602
+ const cdResult = ensureConduitDb(projRoot);
603
+ if (cdResult.action === 'created') {
604
+ created.push('conduit.db');
595
605
  }
596
606
  } catch (err) {
597
- // Non-fatal — signaldock.db will be created on first agent operation
598
- created.push(`signaldock.db (deferred: ${err instanceof Error ? err.message : String(err)})`);
607
+ // Non-fatal — conduit.db will be created on first agent operation
608
+ created.push(`conduit.db (deferred: ${err instanceof Error ? err.message : String(err)})`);
599
609
  }
600
610
 
601
611
  // T4681: Create .cleo/.gitignore (respect force flag)
package/src/internal.ts CHANGED
@@ -914,11 +914,14 @@ export { checkRootGitignore } from './validation/doctor/checks.js';
914
914
  // ---------------------------------------------------------------------------
915
915
 
916
916
  // Conduit DB lifecycle — ensureConduitDb is called at every CLI startup (step 3)
917
- export type { ProjectAgentRef } from './store/conduit-sqlite.js';
917
+ // ProjectAgentRef lives in @cleocode/contracts; conduit-sqlite.ts only imports it.
918
+ // We re-export from the canonical source here to keep the internal barrel stable.
919
+ export type { ProjectAgentRef } from '@cleocode/contracts';
918
920
  export {
919
921
  CONDUIT_DB_FILENAME,
920
922
  CONDUIT_SCHEMA_VERSION,
921
923
  checkConduitDbHealth,
924
+ closeConduitDb,
922
925
  ensureConduitDb,
923
926
  getConduitDbPath,
924
927
  getConduitNativeDb,
@@ -69,8 +69,8 @@ vi.mock('../../store/data-accessor.js', () => ({
69
69
  }),
70
70
  }));
71
71
 
72
- // Mock @xenova/transformers to prevent model downloads in tests
73
- vi.mock('@xenova/transformers', () => ({
72
+ // Mock @huggingface/transformers to prevent model downloads in tests
73
+ vi.mock('@huggingface/transformers', () => ({
74
74
  pipeline: vi
75
75
  .fn()
76
76
  .mockResolvedValue(vi.fn().mockResolvedValue({ data: new Float32Array(384).fill(0.1) })),
@@ -72,7 +72,7 @@ export function isEmbeddingAvailable(): boolean {
72
72
  * setEmbeddingProvider(). Should be called once at startup when
73
73
  * `brain.embedding.enabled` is true.
74
74
  *
75
- * Uses dynamic import to avoid loading the heavy @xenova/transformers
75
+ * Uses dynamic import to avoid loading the heavy @huggingface/transformers
76
76
  * bundle unless embedding is actually requested.
77
77
  *
78
78
  * @task T136 @epic T134
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Local embedding provider using @xenova/transformers.
2
+ * Local embedding provider using @huggingface/transformers (transformers.js v4).
3
3
  *
4
4
  * Implements the EmbeddingProvider interface for brain memory vector search.
5
5
  * Uses all-MiniLM-L6-v2 (22MB, 384 dimensions) — matches the brain_embeddings
@@ -9,7 +9,12 @@
9
9
  * @epic T134
10
10
  * @task T136
11
11
  * @why Ship vector search out-of-the-box without external API keys
12
- * @what Local embedding provider using @xenova/transformers all-MiniLM-L6-v2
12
+ * @what Local embedding provider using @huggingface/transformers all-MiniLM-L6-v2
13
+ * @remarks Migrated from @xenova/transformers (v2) to @huggingface/transformers
14
+ * (v4) — the upstream rename, same author. v4 drops the deprecated
15
+ * prebuild-install transitive (via sharp@0.34+) and ships with newer
16
+ * onnxruntime. Public API (`pipeline`, `FeatureExtractionPipeline`) is
17
+ * unchanged; Xenova-hosted models still resolve by their original names.
13
18
  */
14
19
 
15
20
  import type { EmbeddingProvider } from './brain-embedding.js';
@@ -19,7 +24,7 @@ import { EMBEDDING_DIMENSIONS } from './brain-embedding.js';
19
24
  const MODEL_NAME = 'Xenova/all-MiniLM-L6-v2';
20
25
 
21
26
  /** Pipeline singleton — initialized lazily on first call. */
22
- let _pipeline: import('@xenova/transformers').FeatureExtractionPipeline | null = null;
27
+ let _pipeline: import('@huggingface/transformers').FeatureExtractionPipeline | null = null;
23
28
 
24
29
  /** Whether the pipeline has been successfully initialized. */
25
30
  let _ready = false;
@@ -31,13 +36,13 @@ let _ready = false;
31
36
  async function loadPipeline(): Promise<void> {
32
37
  if (_ready) return;
33
38
  // Dynamic import — only resolves when embedding is explicitly enabled
34
- const { pipeline } = await import('@xenova/transformers');
39
+ const { pipeline } = await import('@huggingface/transformers');
35
40
  _pipeline = await pipeline('feature-extraction', MODEL_NAME);
36
41
  _ready = true;
37
42
  }
38
43
 
39
44
  /**
40
- * Local embedding provider backed by @xenova/transformers.
45
+ * Local embedding provider backed by @huggingface/transformers.
41
46
  *
42
47
  * Produces 384-dimension Float32Array vectors compatible with the
43
48
  * brain_embeddings vec0 table. The model is downloaded on first use
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * @epic T134
14
14
  * @task T137
15
- * @why Prevent @xenova/transformers model inference from blocking the main thread
15
+ * @why Prevent @huggingface/transformers model inference from blocking the main thread
16
16
  * @what Worker thread script for async embedding generation
17
17
  */
18
18
 
@@ -217,13 +217,28 @@ describe('toSkillSummary', () => {
217
217
 
218
218
  describe('getSkillSearchPaths', () => {
219
219
  it('should return ordered search paths', () => {
220
- const paths = getSkillSearchPaths(testDir);
221
-
222
- // Returns paths that exist on disk; may be 0 or more depending on environment
223
- expect(Array.isArray(paths)).toBe(true);
224
- // Should be in priority order
225
- for (let i = 1; i < paths.length; i++) {
226
- expect(paths[i].priority).toBeGreaterThanOrEqual(paths[i - 1].priority);
220
+ // Pin the project root to the isolated test dir via CLEO_ROOT (the
221
+ // escape hatch documented in paths.ts). Without this, the test
222
+ // depends on the worker process cwd happening to live inside a
223
+ // CLEO project (true locally when running from the monorepo, false
224
+ // on CI where the checkout has no `.cleo/` sentinel).
225
+ const savedRoot = process.env['CLEO_ROOT'];
226
+ process.env['CLEO_ROOT'] = testDir;
227
+ try {
228
+ const paths = getSkillSearchPaths(testDir);
229
+
230
+ // Returns paths that exist on disk; may be 0 or more depending on environment
231
+ expect(Array.isArray(paths)).toBe(true);
232
+ // Should be in priority order
233
+ for (let i = 1; i < paths.length; i++) {
234
+ expect(paths[i].priority).toBeGreaterThanOrEqual(paths[i - 1].priority);
235
+ }
236
+ } finally {
237
+ if (savedRoot === undefined) {
238
+ delete process.env['CLEO_ROOT'];
239
+ } else {
240
+ process.env['CLEO_ROOT'] = savedRoot;
241
+ }
227
242
  }
228
243
  });
229
244
  });
@@ -122,7 +122,7 @@ describe('Safety Performance', () => {
122
122
  });
123
123
 
124
124
  describe('Bulk Operations', () => {
125
- it('should create 50 tasks within <5000ms', async () => {
125
+ it('should create 50 tasks within <10000ms', async () => {
126
126
  const { createTask } = await import('../task-store.js');
127
127
 
128
128
  const start = performance.now();
@@ -140,11 +140,15 @@ describe('Safety Performance', () => {
140
140
 
141
141
  const duration = performance.now() - start;
142
142
 
143
- // 50 tasks in <5s (100ms per task is generous for CI)
144
- expect(duration).toBeLessThan(5000);
143
+ // 50 sequential SQLite writes. Baseline on a quiet laptop is ~600ms.
144
+ // Budget is set to 10s to absorb CI parallelism (4+ vitest workers
145
+ // sharing CPU) and the extra write-ahead logging overhead that the
146
+ // data-safety wrapper performs per-call. The cap still catches real
147
+ // regressions — a 20x slowdown (200ms/task) would trip it.
148
+ expect(duration).toBeLessThan(10_000);
145
149
  });
146
150
 
147
- it('should verify 50 tasks within <2000ms', async () => {
151
+ it('should verify 50 tasks within <3000ms', async () => {
148
152
  const { createTask } = await import('../task-store.js');
149
153
  const { verifyTaskWrite } = await import('../data-safety.js');
150
154
 
@@ -167,7 +171,9 @@ describe('Safety Performance', () => {
167
171
  }
168
172
  const duration = performance.now() - start;
169
173
 
170
- expect(duration).toBeLessThan(2000);
174
+ // Baseline ~200ms on a quiet laptop; 3s allows CI parallelism headroom
175
+ // while still catching a meaningful regression (>15x slowdown).
176
+ expect(duration).toBeLessThan(3000);
171
177
  });
172
178
  });
173
179
 
@@ -24,7 +24,7 @@
24
24
  import { existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
25
25
  import { createRequire } from 'node:module';
26
26
  import { join } from 'node:path';
27
- import type { DatabaseSync as _DatabaseSyncType } from 'node:sqlite';
27
+ import type { DatabaseSync as _DatabaseSyncType, SQLInputValue } from 'node:sqlite';
28
28
  import { getLogger } from '../logger.js';
29
29
  import { getCleoHome } from '../paths.js';
30
30
  import { ensureConduitDb } from './conduit-sqlite.js';
@@ -195,7 +195,10 @@ function copyTableRows(
195
195
 
196
196
  const stmt = destDb.prepare(insertSql);
197
197
  for (const row of rows) {
198
- const values = cols.map((c) => row[c] ?? null);
198
+ // Values originate from another SQLite row via prepare().all(), so at runtime
199
+ // they are already SQLInputValue-compatible (string | number | bigint | Uint8Array | null).
200
+ // The surrounding `Record<string, unknown>` type erases this, hence the narrow cast.
201
+ const values = cols.map((c) => (row[c] ?? null) as SQLInputValue);
199
202
  stmt.run(...values);
200
203
  }
201
204
  return rows.length;
@@ -278,7 +281,7 @@ export function migrateSignaldockToConduit(projectRoot: string): MigrationResult
278
281
  // -----------------------------------------------------------------------
279
282
  let legacy: DatabaseSync | null = null;
280
283
  try {
281
- legacy = new DatabaseSync(legacyPath, { readonly: true });
284
+ legacy = new DatabaseSync(legacyPath, { readOnly: true });
282
285
  } catch (err) {
283
286
  const message = err instanceof Error ? err.message : String(err);
284
287
  log.error({ legacyPath, error: message }, 'T310 migration: cannot open legacy signaldock.db');
@@ -479,8 +482,10 @@ export function migrateSignaldockToConduit(projectRoot: string): MigrationResult
479
482
  log.error({ error: message }, 'T310 migration: conduit.db integrity_check threw');
480
483
  result.errors.push({ step: 'step-10-conduit-integrity', error: message });
481
484
  result.status = 'failed';
482
- conduit.close();
483
- conduit = null;
485
+ if (conduit) {
486
+ conduit.close();
487
+ conduit = null;
488
+ }
484
489
  legacy.close();
485
490
  return result;
486
491
  }
@@ -610,8 +615,10 @@ export function migrateSignaldockToConduit(projectRoot: string): MigrationResult
610
615
  log.error({ error: message }, 'T310 migration: global signaldock.db integrity_check threw');
611
616
  result.errors.push({ step: 'step-14-global-integrity', error: message });
612
617
  result.status = 'failed';
613
- globalDb.close();
614
- globalDb = null;
618
+ if (globalDb) {
619
+ globalDb.close();
620
+ globalDb = null;
621
+ }
615
622
  legacy.close();
616
623
  return result;
617
624
  }
@@ -32,7 +32,7 @@ export function findManifestEntry(taskId: string, manifestPath: string): string
32
32
  const lines = content.split('\n');
33
33
  for (let i = lines.length - 1; i >= 0; i--) {
34
34
  const line = lines[i];
35
- if (line && line.includes(`"${taskId}"`)) return line;
35
+ if (line?.includes(`"${taskId}"`)) return line;
36
36
  }
37
37
  return null;
38
38
  }