@cleocode/core 2026.4.12 → 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 (924) 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 +11 -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 +52 -2
  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__/backup-crypto.test.ts +101 -0
  42. package/src/store/__tests__/backup-pack.test.ts +491 -0
  43. package/src/store/__tests__/backup-unpack.test.ts +298 -0
  44. package/src/store/__tests__/performance-safety.test.ts +11 -5
  45. package/src/store/__tests__/regenerators.test.ts +234 -0
  46. package/src/store/__tests__/restore-conflict-report.test.ts +274 -0
  47. package/src/store/__tests__/restore-json-merge.test.ts +521 -0
  48. package/src/store/__tests__/t310-readiness.test.ts +111 -0
  49. package/src/store/__tests__/t311-integration.test.ts +661 -0
  50. package/src/store/backup-crypto.ts +209 -0
  51. package/src/store/backup-pack.ts +739 -0
  52. package/src/store/backup-unpack.ts +583 -0
  53. package/src/store/migrate-signaldock-to-conduit.ts +14 -7
  54. package/src/store/regenerators.ts +243 -0
  55. package/src/store/restore-conflict-report.ts +317 -0
  56. package/src/store/restore-json-merge.ts +653 -0
  57. package/src/store/t310-readiness.ts +119 -0
  58. package/src/validation/protocols/_shared.ts +1 -1
  59. package/dist/adapters/adapter-registry.js +0 -64
  60. package/dist/adapters/adapter-registry.js.map +0 -1
  61. package/dist/adapters/discovery.js +0 -83
  62. package/dist/adapters/discovery.js.map +0 -1
  63. package/dist/adapters/index.js +0 -9
  64. package/dist/adapters/index.js.map +0 -1
  65. package/dist/adapters/manager.js +0 -260
  66. package/dist/adapters/manager.js.map +0 -1
  67. package/dist/admin/export-tasks.js +0 -171
  68. package/dist/admin/export-tasks.js.map +0 -1
  69. package/dist/admin/export.js +0 -103
  70. package/dist/admin/export.js.map +0 -1
  71. package/dist/admin/help.js +0 -106
  72. package/dist/admin/help.js.map +0 -1
  73. package/dist/admin/import-tasks.js +0 -182
  74. package/dist/admin/import-tasks.js.map +0 -1
  75. package/dist/admin/import.js +0 -129
  76. package/dist/admin/import.js.map +0 -1
  77. package/dist/admin/index.js +0 -13
  78. package/dist/admin/index.js.map +0 -1
  79. package/dist/adrs/find.js +0 -134
  80. package/dist/adrs/find.js.map +0 -1
  81. package/dist/adrs/index.js +0 -15
  82. package/dist/adrs/index.js.map +0 -1
  83. package/dist/adrs/link-pipeline.js +0 -160
  84. package/dist/adrs/link-pipeline.js.map +0 -1
  85. package/dist/adrs/list.js +0 -43
  86. package/dist/adrs/list.js.map +0 -1
  87. package/dist/adrs/parse.js +0 -51
  88. package/dist/adrs/parse.js.map +0 -1
  89. package/dist/adrs/show.js +0 -22
  90. package/dist/adrs/show.js.map +0 -1
  91. package/dist/adrs/sync.js +0 -188
  92. package/dist/adrs/sync.js.map +0 -1
  93. package/dist/adrs/types.js +0 -9
  94. package/dist/adrs/types.js.map +0 -1
  95. package/dist/adrs/validate.js +0 -57
  96. package/dist/adrs/validate.js.map +0 -1
  97. package/dist/agents/agent-registry.js +0 -288
  98. package/dist/agents/agent-registry.js.map +0 -1
  99. package/dist/agents/agent-schema.js +0 -82
  100. package/dist/agents/agent-schema.js.map +0 -1
  101. package/dist/agents/capacity.js +0 -116
  102. package/dist/agents/capacity.js.map +0 -1
  103. package/dist/agents/execution-learning.js +0 -474
  104. package/dist/agents/execution-learning.js.map +0 -1
  105. package/dist/agents/health-monitor.js +0 -217
  106. package/dist/agents/health-monitor.js.map +0 -1
  107. package/dist/agents/index.js +0 -29
  108. package/dist/agents/index.js.map +0 -1
  109. package/dist/agents/registry.js +0 -314
  110. package/dist/agents/registry.js.map +0 -1
  111. package/dist/agents/retry.js +0 -215
  112. package/dist/agents/retry.js.map +0 -1
  113. package/dist/audit-prune.js +0 -94
  114. package/dist/audit-prune.js.map +0 -1
  115. package/dist/audit.js +0 -68
  116. package/dist/audit.js.map +0 -1
  117. package/dist/backfill/index.js +0 -229
  118. package/dist/backfill/index.js.map +0 -1
  119. package/dist/bootstrap.js +0 -344
  120. package/dist/bootstrap.js.map +0 -1
  121. package/dist/caamp/adapter.js +0 -259
  122. package/dist/caamp/adapter.js.map +0 -1
  123. package/dist/caamp/capability-check.js +0 -38
  124. package/dist/caamp/capability-check.js.map +0 -1
  125. package/dist/caamp/index.js +0 -21
  126. package/dist/caamp/index.js.map +0 -1
  127. package/dist/caamp-init.js +0 -16
  128. package/dist/caamp-init.js.map +0 -1
  129. package/dist/cleo.js +0 -322
  130. package/dist/cleo.js.map +0 -1
  131. package/dist/code/index.js +0 -10
  132. package/dist/code/index.js.map +0 -1
  133. package/dist/code/outline.js +0 -165
  134. package/dist/code/outline.js.map +0 -1
  135. package/dist/code/parser.js +0 -295
  136. package/dist/code/parser.js.map +0 -1
  137. package/dist/code/search.js +0 -135
  138. package/dist/code/search.js.map +0 -1
  139. package/dist/code/unfold.js +0 -155
  140. package/dist/code/unfold.js.map +0 -1
  141. package/dist/codebase-map/analyzers/architecture.js +0 -129
  142. package/dist/codebase-map/analyzers/architecture.js.map +0 -1
  143. package/dist/codebase-map/analyzers/concerns.js +0 -122
  144. package/dist/codebase-map/analyzers/concerns.js.map +0 -1
  145. package/dist/codebase-map/analyzers/conventions.js +0 -149
  146. package/dist/codebase-map/analyzers/conventions.js.map +0 -1
  147. package/dist/codebase-map/analyzers/integrations.js +0 -108
  148. package/dist/codebase-map/analyzers/integrations.js.map +0 -1
  149. package/dist/codebase-map/analyzers/stack.js +0 -117
  150. package/dist/codebase-map/analyzers/stack.js.map +0 -1
  151. package/dist/codebase-map/analyzers/structure.js +0 -137
  152. package/dist/codebase-map/analyzers/structure.js.map +0 -1
  153. package/dist/codebase-map/analyzers/testing.js +0 -118
  154. package/dist/codebase-map/analyzers/testing.js.map +0 -1
  155. package/dist/codebase-map/index.js +0 -57
  156. package/dist/codebase-map/index.js.map +0 -1
  157. package/dist/codebase-map/store.js +0 -122
  158. package/dist/codebase-map/store.js.map +0 -1
  159. package/dist/codebase-map/summary.js +0 -152
  160. package/dist/codebase-map/summary.js.map +0 -1
  161. package/dist/compliance/index.js +0 -288
  162. package/dist/compliance/index.js.map +0 -1
  163. package/dist/compliance/protocol-enforcement.js +0 -332
  164. package/dist/compliance/protocol-enforcement.js.map +0 -1
  165. package/dist/compliance/protocol-rules.js +0 -786
  166. package/dist/compliance/protocol-rules.js.map +0 -1
  167. package/dist/compliance/protocol-types.js +0 -79
  168. package/dist/compliance/protocol-types.js.map +0 -1
  169. package/dist/compliance/store.js +0 -53
  170. package/dist/compliance/store.js.map +0 -1
  171. package/dist/conduit/conduit-client.js +0 -107
  172. package/dist/conduit/conduit-client.js.map +0 -1
  173. package/dist/conduit/factory.js +0 -52
  174. package/dist/conduit/factory.js.map +0 -1
  175. package/dist/conduit/http-transport.js +0 -155
  176. package/dist/conduit/http-transport.js.map +0 -1
  177. package/dist/conduit/index.js +0 -15
  178. package/dist/conduit/index.js.map +0 -1
  179. package/dist/conduit/local-transport.js +0 -255
  180. package/dist/conduit/local-transport.js.map +0 -1
  181. package/dist/conduit/sse-transport.js +0 -299
  182. package/dist/conduit/sse-transport.js.map +0 -1
  183. package/dist/config/build-config.js +0 -29
  184. package/dist/config/build-config.js.map +0 -1
  185. package/dist/config.js +0 -400
  186. package/dist/config.js.map +0 -1
  187. package/dist/constants.js +0 -18
  188. package/dist/constants.js.map +0 -1
  189. package/dist/context/index.js +0 -137
  190. package/dist/context/index.js.map +0 -1
  191. package/dist/crypto/credentials.js +0 -191
  192. package/dist/crypto/credentials.js.map +0 -1
  193. package/dist/discovery.js +0 -182
  194. package/dist/discovery.js.map +0 -1
  195. package/dist/engine-result.js +0 -12
  196. package/dist/engine-result.js.map +0 -1
  197. package/dist/error-catalog.js +0 -404
  198. package/dist/error-catalog.js.map +0 -1
  199. package/dist/error-registry.js +0 -393
  200. package/dist/error-registry.js.map +0 -1
  201. package/dist/errors.js +0 -173
  202. package/dist/errors.js.map +0 -1
  203. package/dist/hooks/handlers/agent-hooks.js +0 -106
  204. package/dist/hooks/handlers/agent-hooks.js.map +0 -1
  205. package/dist/hooks/handlers/context-hooks.js +0 -111
  206. package/dist/hooks/handlers/context-hooks.js.map +0 -1
  207. package/dist/hooks/handlers/error-hooks.js +0 -52
  208. package/dist/hooks/handlers/error-hooks.js.map +0 -1
  209. package/dist/hooks/handlers/file-hooks.js +0 -104
  210. package/dist/hooks/handlers/file-hooks.js.map +0 -1
  211. package/dist/hooks/handlers/handler-helpers.js +0 -61
  212. package/dist/hooks/handlers/handler-helpers.js.map +0 -1
  213. package/dist/hooks/handlers/index.js +0 -28
  214. package/dist/hooks/handlers/index.js.map +0 -1
  215. package/dist/hooks/handlers/memory-bridge-refresh.js +0 -42
  216. package/dist/hooks/handlers/memory-bridge-refresh.js.map +0 -1
  217. package/dist/hooks/handlers/notification-hooks.js +0 -62
  218. package/dist/hooks/handlers/notification-hooks.js.map +0 -1
  219. package/dist/hooks/handlers/session-hooks.js +0 -142
  220. package/dist/hooks/handlers/session-hooks.js.map +0 -1
  221. package/dist/hooks/handlers/task-hooks.js +0 -65
  222. package/dist/hooks/handlers/task-hooks.js.map +0 -1
  223. package/dist/hooks/handlers/work-capture-hooks.js +0 -165
  224. package/dist/hooks/handlers/work-capture-hooks.js.map +0 -1
  225. package/dist/hooks/index.js +0 -13
  226. package/dist/hooks/index.js.map +0 -1
  227. package/dist/hooks/payload-schemas.js +0 -220
  228. package/dist/hooks/payload-schemas.js.map +0 -1
  229. package/dist/hooks/provider-hooks.js +0 -66
  230. package/dist/hooks/provider-hooks.js.map +0 -1
  231. package/dist/hooks/registry.js +0 -229
  232. package/dist/hooks/registry.js.map +0 -1
  233. package/dist/hooks/types.js +0 -66
  234. package/dist/hooks/types.js.map +0 -1
  235. package/dist/hooks.js +0 -136
  236. package/dist/hooks.js.map +0 -1
  237. package/dist/init.js +0 -851
  238. package/dist/init.js.map +0 -1
  239. package/dist/inject/index.js +0 -82
  240. package/dist/inject/index.js.map +0 -1
  241. package/dist/injection.js +0 -343
  242. package/dist/injection.js.map +0 -1
  243. package/dist/intelligence/adaptive-validation.js +0 -497
  244. package/dist/intelligence/adaptive-validation.js.map +0 -1
  245. package/dist/intelligence/impact.js +0 -675
  246. package/dist/intelligence/impact.js.map +0 -1
  247. package/dist/intelligence/index.js +0 -22
  248. package/dist/intelligence/index.js.map +0 -1
  249. package/dist/intelligence/patterns.js +0 -492
  250. package/dist/intelligence/patterns.js.map +0 -1
  251. package/dist/intelligence/prediction.js +0 -499
  252. package/dist/intelligence/prediction.js.map +0 -1
  253. package/dist/intelligence/types.js +0 -13
  254. package/dist/intelligence/types.js.map +0 -1
  255. package/dist/internal.js +0 -306
  256. package/dist/internal.js.map +0 -1
  257. package/dist/issue/create.js +0 -121
  258. package/dist/issue/create.js.map +0 -1
  259. package/dist/issue/diagnostics.js +0 -59
  260. package/dist/issue/diagnostics.js.map +0 -1
  261. package/dist/issue/index.js +0 -10
  262. package/dist/issue/index.js.map +0 -1
  263. package/dist/issue/template-parser.js +0 -267
  264. package/dist/issue/template-parser.js.map +0 -1
  265. package/dist/json-schema-validator.js +0 -76
  266. package/dist/json-schema-validator.js.map +0 -1
  267. package/dist/lib/index.js +0 -11
  268. package/dist/lib/index.js.map +0 -1
  269. package/dist/lib/retry.js +0 -152
  270. package/dist/lib/retry.js.map +0 -1
  271. package/dist/lib/tree-sitter-languages.js +0 -71
  272. package/dist/lib/tree-sitter-languages.js.map +0 -1
  273. package/dist/lifecycle/chain-composition.js +0 -152
  274. package/dist/lifecycle/chain-composition.js.map +0 -1
  275. package/dist/lifecycle/chain-store.js +0 -246
  276. package/dist/lifecycle/chain-store.js.map +0 -1
  277. package/dist/lifecycle/consolidate-rcasd.js +0 -352
  278. package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
  279. package/dist/lifecycle/default-chain.js +0 -176
  280. package/dist/lifecycle/default-chain.js.map +0 -1
  281. package/dist/lifecycle/evidence.js +0 -180
  282. package/dist/lifecycle/evidence.js.map +0 -1
  283. package/dist/lifecycle/frontmatter.js +0 -363
  284. package/dist/lifecycle/frontmatter.js.map +0 -1
  285. package/dist/lifecycle/index.js +0 -756
  286. package/dist/lifecycle/index.js.map +0 -1
  287. package/dist/lifecycle/pipeline.js +0 -656
  288. package/dist/lifecycle/pipeline.js.map +0 -1
  289. package/dist/lifecycle/rcasd-index.js +0 -326
  290. package/dist/lifecycle/rcasd-index.js.map +0 -1
  291. package/dist/lifecycle/rcasd-paths.js +0 -220
  292. package/dist/lifecycle/rcasd-paths.js.map +0 -1
  293. package/dist/lifecycle/resume.js +0 -864
  294. package/dist/lifecycle/resume.js.map +0 -1
  295. package/dist/lifecycle/stage-artifacts.js +0 -94
  296. package/dist/lifecycle/stage-artifacts.js.map +0 -1
  297. package/dist/lifecycle/stage-guidance.js +0 -234
  298. package/dist/lifecycle/stage-guidance.js.map +0 -1
  299. package/dist/lifecycle/stages.js +0 -534
  300. package/dist/lifecycle/stages.js.map +0 -1
  301. package/dist/lifecycle/state-machine.js +0 -516
  302. package/dist/lifecycle/state-machine.js.map +0 -1
  303. package/dist/lifecycle/tessera-engine.js +0 -249
  304. package/dist/lifecycle/tessera-engine.js.map +0 -1
  305. package/dist/logger.js +0 -140
  306. package/dist/logger.js.map +0 -1
  307. package/dist/memory/auto-extract.js +0 -177
  308. package/dist/memory/auto-extract.js.map +0 -1
  309. package/dist/memory/brain-embedding.js +0 -66
  310. package/dist/memory/brain-embedding.js.map +0 -1
  311. package/dist/memory/brain-lifecycle.js +0 -298
  312. package/dist/memory/brain-lifecycle.js.map +0 -1
  313. package/dist/memory/brain-links.js +0 -161
  314. package/dist/memory/brain-links.js.map +0 -1
  315. package/dist/memory/brain-maintenance.js +0 -114
  316. package/dist/memory/brain-maintenance.js.map +0 -1
  317. package/dist/memory/brain-migration.js +0 -149
  318. package/dist/memory/brain-migration.js.map +0 -1
  319. package/dist/memory/brain-reasoning.js +0 -215
  320. package/dist/memory/brain-reasoning.js.map +0 -1
  321. package/dist/memory/brain-retrieval.js +0 -542
  322. package/dist/memory/brain-retrieval.js.map +0 -1
  323. package/dist/memory/brain-row-types.js +0 -10
  324. package/dist/memory/brain-row-types.js.map +0 -1
  325. package/dist/memory/brain-search.js +0 -519
  326. package/dist/memory/brain-search.js.map +0 -1
  327. package/dist/memory/brain-similarity.js +0 -145
  328. package/dist/memory/brain-similarity.js.map +0 -1
  329. package/dist/memory/claude-mem-migration.js +0 -277
  330. package/dist/memory/claude-mem-migration.js.map +0 -1
  331. package/dist/memory/decisions.js +0 -162
  332. package/dist/memory/decisions.js.map +0 -1
  333. package/dist/memory/embedding-local.js +0 -97
  334. package/dist/memory/embedding-local.js.map +0 -1
  335. package/dist/memory/embedding-queue.js +0 -271
  336. package/dist/memory/embedding-queue.js.map +0 -1
  337. package/dist/memory/embedding-worker.js +0 -58
  338. package/dist/memory/embedding-worker.js.map +0 -1
  339. package/dist/memory/engine-compat.js +0 -1397
  340. package/dist/memory/engine-compat.js.map +0 -1
  341. package/dist/memory/index.js +0 -1140
  342. package/dist/memory/index.js.map +0 -1
  343. package/dist/memory/learnings.js +0 -121
  344. package/dist/memory/learnings.js.map +0 -1
  345. package/dist/memory/memory-bridge.js +0 -370
  346. package/dist/memory/memory-bridge.js.map +0 -1
  347. package/dist/memory/patterns.js +0 -122
  348. package/dist/memory/patterns.js.map +0 -1
  349. package/dist/memory/pipeline-manifest-sqlite.js +0 -975
  350. package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
  351. package/dist/memory/session-memory.js +0 -331
  352. package/dist/memory/session-memory.js.map +0 -1
  353. package/dist/metrics/ab-test.js +0 -260
  354. package/dist/metrics/ab-test.js.map +0 -1
  355. package/dist/metrics/aggregation.js +0 -363
  356. package/dist/metrics/aggregation.js.map +0 -1
  357. package/dist/metrics/common.js +0 -64
  358. package/dist/metrics/common.js.map +0 -1
  359. package/dist/metrics/enums.js +0 -78
  360. package/dist/metrics/enums.js.map +0 -1
  361. package/dist/metrics/index.js +0 -19
  362. package/dist/metrics/index.js.map +0 -1
  363. package/dist/metrics/model-provider-registry.js +0 -88
  364. package/dist/metrics/model-provider-registry.js.map +0 -1
  365. package/dist/metrics/otel-integration.js +0 -263
  366. package/dist/metrics/otel-integration.js.map +0 -1
  367. package/dist/metrics/provider-detection.js +0 -103
  368. package/dist/metrics/provider-detection.js.map +0 -1
  369. package/dist/metrics/token-estimation.js +0 -253
  370. package/dist/metrics/token-estimation.js.map +0 -1
  371. package/dist/metrics/token-service.js +0 -450
  372. package/dist/metrics/token-service.js.map +0 -1
  373. package/dist/migration/agent-outputs.js +0 -316
  374. package/dist/migration/agent-outputs.js.map +0 -1
  375. package/dist/migration/checksum.js +0 -92
  376. package/dist/migration/checksum.js.map +0 -1
  377. package/dist/migration/index.js +0 -282
  378. package/dist/migration/index.js.map +0 -1
  379. package/dist/migration/logger.js +0 -360
  380. package/dist/migration/logger.js.map +0 -1
  381. package/dist/migration/preflight.js +0 -9
  382. package/dist/migration/preflight.js.map +0 -1
  383. package/dist/migration/state.js +0 -421
  384. package/dist/migration/state.js.map +0 -1
  385. package/dist/migration/validate.js +0 -241
  386. package/dist/migration/validate.js.map +0 -1
  387. package/dist/mvi-helpers.js +0 -74
  388. package/dist/mvi-helpers.js.map +0 -1
  389. package/dist/nexus/deps.js +0 -375
  390. package/dist/nexus/deps.js.map +0 -1
  391. package/dist/nexus/discover.js +0 -288
  392. package/dist/nexus/discover.js.map +0 -1
  393. package/dist/nexus/hash.js +0 -10
  394. package/dist/nexus/hash.js.map +0 -1
  395. package/dist/nexus/index.js +0 -40
  396. package/dist/nexus/index.js.map +0 -1
  397. package/dist/nexus/migrate-json-to-sqlite.js +0 -115
  398. package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
  399. package/dist/nexus/permissions.js +0 -105
  400. package/dist/nexus/permissions.js.map +0 -1
  401. package/dist/nexus/query.js +0 -175
  402. package/dist/nexus/query.js.map +0 -1
  403. package/dist/nexus/registry.js +0 -584
  404. package/dist/nexus/registry.js.map +0 -1
  405. package/dist/nexus/sharing/index.js +0 -288
  406. package/dist/nexus/sharing/index.js.map +0 -1
  407. package/dist/nexus/transfer-types.js +0 -8
  408. package/dist/nexus/transfer-types.js.map +0 -1
  409. package/dist/nexus/transfer.js +0 -263
  410. package/dist/nexus/transfer.js.map +0 -1
  411. package/dist/nexus/workspace.js +0 -355
  412. package/dist/nexus/workspace.js.map +0 -1
  413. package/dist/observability/index.js +0 -103
  414. package/dist/observability/index.js.map +0 -1
  415. package/dist/observability/log-filter.js +0 -63
  416. package/dist/observability/log-filter.js.map +0 -1
  417. package/dist/observability/log-parser.js +0 -99
  418. package/dist/observability/log-parser.js.map +0 -1
  419. package/dist/observability/log-reader.js +0 -139
  420. package/dist/observability/log-reader.js.map +0 -1
  421. package/dist/observability/types.js +0 -19
  422. package/dist/observability/types.js.map +0 -1
  423. package/dist/orchestration/analyze.js +0 -107
  424. package/dist/orchestration/analyze.js.map +0 -1
  425. package/dist/orchestration/bootstrap.js +0 -132
  426. package/dist/orchestration/bootstrap.js.map +0 -1
  427. package/dist/orchestration/context.js +0 -56
  428. package/dist/orchestration/context.js.map +0 -1
  429. package/dist/orchestration/critical-path.js +0 -100
  430. package/dist/orchestration/critical-path.js.map +0 -1
  431. package/dist/orchestration/hierarchy.js +0 -183
  432. package/dist/orchestration/hierarchy.js.map +0 -1
  433. package/dist/orchestration/index.js +0 -287
  434. package/dist/orchestration/index.js.map +0 -1
  435. package/dist/orchestration/parallel.js +0 -89
  436. package/dist/orchestration/parallel.js.map +0 -1
  437. package/dist/orchestration/protocol-validators.js +0 -815
  438. package/dist/orchestration/protocol-validators.js.map +0 -1
  439. package/dist/orchestration/skill-ops.js +0 -98
  440. package/dist/orchestration/skill-ops.js.map +0 -1
  441. package/dist/orchestration/status.js +0 -107
  442. package/dist/orchestration/status.js.map +0 -1
  443. package/dist/orchestration/unblock.js +0 -103
  444. package/dist/orchestration/unblock.js.map +0 -1
  445. package/dist/orchestration/validate-spawn.js +0 -67
  446. package/dist/orchestration/validate-spawn.js.map +0 -1
  447. package/dist/orchestration/waves.js +0 -86
  448. package/dist/orchestration/waves.js.map +0 -1
  449. package/dist/otel/index.js +0 -163
  450. package/dist/otel/index.js.map +0 -1
  451. package/dist/output.js +0 -164
  452. package/dist/output.js.map +0 -1
  453. package/dist/pagination.js +0 -64
  454. package/dist/pagination.js.map +0 -1
  455. package/dist/paths.js +0 -842
  456. package/dist/paths.js.map +0 -1
  457. package/dist/phases/deps.js +0 -372
  458. package/dist/phases/deps.js.map +0 -1
  459. package/dist/phases/index.js +0 -349
  460. package/dist/phases/index.js.map +0 -1
  461. package/dist/pipeline/index.js +0 -10
  462. package/dist/pipeline/index.js.map +0 -1
  463. package/dist/pipeline/phase.js +0 -45
  464. package/dist/pipeline/phase.js.map +0 -1
  465. package/dist/platform.js +0 -211
  466. package/dist/platform.js.map +0 -1
  467. package/dist/project-info.js +0 -84
  468. package/dist/project-info.js.map +0 -1
  469. package/dist/reconciliation/index.js +0 -10
  470. package/dist/reconciliation/index.js.map +0 -1
  471. package/dist/reconciliation/link-store.js +0 -129
  472. package/dist/reconciliation/link-store.js.map +0 -1
  473. package/dist/reconciliation/reconciliation-engine.js +0 -298
  474. package/dist/reconciliation/reconciliation-engine.js.map +0 -1
  475. package/dist/release/artifacts.js +0 -427
  476. package/dist/release/artifacts.js.map +0 -1
  477. package/dist/release/changelog-writer.js +0 -151
  478. package/dist/release/changelog-writer.js.map +0 -1
  479. package/dist/release/channel.js +0 -144
  480. package/dist/release/channel.js.map +0 -1
  481. package/dist/release/ci.js +0 -166
  482. package/dist/release/ci.js.map +0 -1
  483. package/dist/release/github-pr.js +0 -225
  484. package/dist/release/github-pr.js.map +0 -1
  485. package/dist/release/guards.js +0 -116
  486. package/dist/release/guards.js.map +0 -1
  487. package/dist/release/index.js +0 -22
  488. package/dist/release/index.js.map +0 -1
  489. package/dist/release/release-config.js +0 -158
  490. package/dist/release/release-config.js.map +0 -1
  491. package/dist/release/release-manifest.js +0 -1019
  492. package/dist/release/release-manifest.js.map +0 -1
  493. package/dist/release/version-bump.js +0 -255
  494. package/dist/release/version-bump.js.map +0 -1
  495. package/dist/remote/index.js +0 -257
  496. package/dist/remote/index.js.map +0 -1
  497. package/dist/repair.js +0 -130
  498. package/dist/repair.js.map +0 -1
  499. package/dist/research/index.js +0 -2
  500. package/dist/research/index.js.map +0 -1
  501. package/dist/roadmap/index.js +0 -59
  502. package/dist/roadmap/index.js.map +0 -1
  503. package/dist/routing/capability-matrix.js +0 -1556
  504. package/dist/routing/capability-matrix.js.map +0 -1
  505. package/dist/routing/index.js +0 -9
  506. package/dist/routing/index.js.map +0 -1
  507. package/dist/scaffold.js +0 -1759
  508. package/dist/scaffold.js.map +0 -1
  509. package/dist/schema-management.js +0 -295
  510. package/dist/schema-management.js.map +0 -1
  511. package/dist/security/index.js +0 -9
  512. package/dist/security/index.js.map +0 -1
  513. package/dist/security/input-sanitization.js +0 -321
  514. package/dist/security/input-sanitization.js.map +0 -1
  515. package/dist/sequence/index.js +0 -295
  516. package/dist/sequence/index.js.map +0 -1
  517. package/dist/sessions/assumptions.js +0 -54
  518. package/dist/sessions/assumptions.js.map +0 -1
  519. package/dist/sessions/briefing.js +0 -377
  520. package/dist/sessions/briefing.js.map +0 -1
  521. package/dist/sessions/context-alert.js +0 -222
  522. package/dist/sessions/context-alert.js.map +0 -1
  523. package/dist/sessions/context-inject.js +0 -61
  524. package/dist/sessions/context-inject.js.map +0 -1
  525. package/dist/sessions/context-monitor.js +0 -98
  526. package/dist/sessions/context-monitor.js.map +0 -1
  527. package/dist/sessions/decisions.js +0 -65
  528. package/dist/sessions/decisions.js.map +0 -1
  529. package/dist/sessions/find.js +0 -65
  530. package/dist/sessions/find.js.map +0 -1
  531. package/dist/sessions/handoff.js +0 -328
  532. package/dist/sessions/handoff.js.map +0 -1
  533. package/dist/sessions/hitl-warnings.js +0 -254
  534. package/dist/sessions/hitl-warnings.js.map +0 -1
  535. package/dist/sessions/index.js +0 -327
  536. package/dist/sessions/index.js.map +0 -1
  537. package/dist/sessions/session-archive.js +0 -40
  538. package/dist/sessions/session-archive.js.map +0 -1
  539. package/dist/sessions/session-cleanup.js +0 -59
  540. package/dist/sessions/session-cleanup.js.map +0 -1
  541. package/dist/sessions/session-drift.js +0 -134
  542. package/dist/sessions/session-drift.js.map +0 -1
  543. package/dist/sessions/session-enforcement.js +0 -144
  544. package/dist/sessions/session-enforcement.js.map +0 -1
  545. package/dist/sessions/session-grade.js +0 -253
  546. package/dist/sessions/session-grade.js.map +0 -1
  547. package/dist/sessions/session-history.js +0 -42
  548. package/dist/sessions/session-history.js.map +0 -1
  549. package/dist/sessions/session-id.js +0 -81
  550. package/dist/sessions/session-id.js.map +0 -1
  551. package/dist/sessions/session-memory-bridge.js +0 -52
  552. package/dist/sessions/session-memory-bridge.js.map +0 -1
  553. package/dist/sessions/session-show.js +0 -24
  554. package/dist/sessions/session-show.js.map +0 -1
  555. package/dist/sessions/session-stats.js +0 -69
  556. package/dist/sessions/session-stats.js.map +0 -1
  557. package/dist/sessions/session-suspend.js +0 -39
  558. package/dist/sessions/session-suspend.js.map +0 -1
  559. package/dist/sessions/session-switch.js +0 -51
  560. package/dist/sessions/session-switch.js.map +0 -1
  561. package/dist/sessions/session-view.js +0 -76
  562. package/dist/sessions/session-view.js.map +0 -1
  563. package/dist/sessions/snapshot.js +0 -213
  564. package/dist/sessions/snapshot.js.map +0 -1
  565. package/dist/sessions/statusline-setup.js +0 -85
  566. package/dist/sessions/statusline-setup.js.map +0 -1
  567. package/dist/sessions/types.js +0 -8
  568. package/dist/sessions/types.js.map +0 -1
  569. package/dist/skills/agents/config.js +0 -94
  570. package/dist/skills/agents/config.js.map +0 -1
  571. package/dist/skills/agents/install.js +0 -116
  572. package/dist/skills/agents/install.js.map +0 -1
  573. package/dist/skills/agents/registry.js +0 -161
  574. package/dist/skills/agents/registry.js.map +0 -1
  575. package/dist/skills/discovery.js +0 -333
  576. package/dist/skills/discovery.js.map +0 -1
  577. package/dist/skills/dispatch.js +0 -347
  578. package/dist/skills/dispatch.js.map +0 -1
  579. package/dist/skills/dynamic-skill-generator.js +0 -87
  580. package/dist/skills/dynamic-skill-generator.js.map +0 -1
  581. package/dist/skills/index.js +0 -44
  582. package/dist/skills/index.js.map +0 -1
  583. package/dist/skills/injection/subagent.js +0 -195
  584. package/dist/skills/injection/subagent.js.map +0 -1
  585. package/dist/skills/injection/token.js +0 -260
  586. package/dist/skills/injection/token.js.map +0 -1
  587. package/dist/skills/install.js +0 -40
  588. package/dist/skills/install.js.map +0 -1
  589. package/dist/skills/manifests/contribution.js +0 -175
  590. package/dist/skills/manifests/contribution.js.map +0 -1
  591. package/dist/skills/manifests/research.js +0 -281
  592. package/dist/skills/manifests/research.js.map +0 -1
  593. package/dist/skills/manifests/resolver.js +0 -146
  594. package/dist/skills/manifests/resolver.js.map +0 -1
  595. package/dist/skills/marketplace.js +0 -90
  596. package/dist/skills/marketplace.js.map +0 -1
  597. package/dist/skills/orchestrator/spawn.js +0 -178
  598. package/dist/skills/orchestrator/spawn.js.map +0 -1
  599. package/dist/skills/orchestrator/startup.js +0 -451
  600. package/dist/skills/orchestrator/startup.js.map +0 -1
  601. package/dist/skills/orchestrator/validator.js +0 -301
  602. package/dist/skills/orchestrator/validator.js.map +0 -1
  603. package/dist/skills/precedence-integration.js +0 -73
  604. package/dist/skills/precedence-integration.js.map +0 -1
  605. package/dist/skills/precedence-types.js +0 -16
  606. package/dist/skills/precedence-types.js.map +0 -1
  607. package/dist/skills/routing-table.js +0 -63
  608. package/dist/skills/routing-table.js.map +0 -1
  609. package/dist/skills/skill-paths.js +0 -217
  610. package/dist/skills/skill-paths.js.map +0 -1
  611. package/dist/skills/test-utility.js +0 -55
  612. package/dist/skills/test-utility.js.map +0 -1
  613. package/dist/skills/types.js +0 -118
  614. package/dist/skills/types.js.map +0 -1
  615. package/dist/skills/validation.js +0 -183
  616. package/dist/skills/validation.js.map +0 -1
  617. package/dist/skills/version.js +0 -57
  618. package/dist/skills/version.js.map +0 -1
  619. package/dist/snapshot/index.js +0 -188
  620. package/dist/snapshot/index.js.map +0 -1
  621. package/dist/spawn/adapter-registry.js +0 -246
  622. package/dist/spawn/adapter-registry.js.map +0 -1
  623. package/dist/spawn/index.js +0 -10
  624. package/dist/spawn/index.js.map +0 -1
  625. package/dist/stats/index.js +0 -343
  626. package/dist/stats/index.js.map +0 -1
  627. package/dist/stats/workflow-telemetry.js +0 -400
  628. package/dist/stats/workflow-telemetry.js.map +0 -1
  629. package/dist/sticky/archive.js +0 -47
  630. package/dist/sticky/archive.js.map +0 -1
  631. package/dist/sticky/convert.js +0 -235
  632. package/dist/sticky/convert.js.map +0 -1
  633. package/dist/sticky/create.js +0 -48
  634. package/dist/sticky/create.js.map +0 -1
  635. package/dist/sticky/id.js +0 -35
  636. package/dist/sticky/id.js.map +0 -1
  637. package/dist/sticky/index.js +0 -16
  638. package/dist/sticky/index.js.map +0 -1
  639. package/dist/sticky/list.js +0 -44
  640. package/dist/sticky/list.js.map +0 -1
  641. package/dist/sticky/purge.js +0 -45
  642. package/dist/sticky/purge.js.map +0 -1
  643. package/dist/sticky/show.js +0 -42
  644. package/dist/sticky/show.js.map +0 -1
  645. package/dist/sticky/types.js +0 -10
  646. package/dist/sticky/types.js.map +0 -1
  647. package/dist/store/agent-registry-accessor.js +0 -783
  648. package/dist/store/agent-registry-accessor.js.map +0 -1
  649. package/dist/store/api-key-kdf.js +0 -84
  650. package/dist/store/api-key-kdf.js.map +0 -1
  651. package/dist/store/atomic.js +0 -167
  652. package/dist/store/atomic.js.map +0 -1
  653. package/dist/store/backup.js +0 -94
  654. package/dist/store/backup.js.map +0 -1
  655. package/dist/store/brain-accessor.js +0 -397
  656. package/dist/store/brain-accessor.js.map +0 -1
  657. package/dist/store/brain-schema.js +0 -215
  658. package/dist/store/brain-schema.js.map +0 -1
  659. package/dist/store/brain-sqlite.js +0 -222
  660. package/dist/store/brain-sqlite.js.map +0 -1
  661. package/dist/store/cache.js +0 -168
  662. package/dist/store/cache.js.map +0 -1
  663. package/dist/store/chain-schema.js +0 -51
  664. package/dist/store/chain-schema.js.map +0 -1
  665. package/dist/store/cleanup-legacy.js +0 -171
  666. package/dist/store/cleanup-legacy.js.map +0 -1
  667. package/dist/store/conduit-sqlite.js +0 -570
  668. package/dist/store/conduit-sqlite.js.map +0 -1
  669. package/dist/store/converters.js +0 -124
  670. package/dist/store/converters.js.map +0 -1
  671. package/dist/store/cross-db-cleanup.js +0 -319
  672. package/dist/store/cross-db-cleanup.js.map +0 -1
  673. package/dist/store/data-accessor.js +0 -26
  674. package/dist/store/data-accessor.js.map +0 -1
  675. package/dist/store/data-safety-central.js +0 -269
  676. package/dist/store/data-safety-central.js.map +0 -1
  677. package/dist/store/data-safety.js +0 -274
  678. package/dist/store/data-safety.js.map +0 -1
  679. package/dist/store/db-helpers.js +0 -224
  680. package/dist/store/db-helpers.js.map +0 -1
  681. package/dist/store/export.js +0 -155
  682. package/dist/store/export.js.map +0 -1
  683. package/dist/store/file-utils.js +0 -270
  684. package/dist/store/file-utils.js.map +0 -1
  685. package/dist/store/git-checkpoint.js +0 -365
  686. package/dist/store/git-checkpoint.js.map +0 -1
  687. package/dist/store/global-salt.js +0 -147
  688. package/dist/store/global-salt.js.map +0 -1
  689. package/dist/store/import-logging.js +0 -139
  690. package/dist/store/import-logging.js.map +0 -1
  691. package/dist/store/import-remap.js +0 -145
  692. package/dist/store/import-remap.js.map +0 -1
  693. package/dist/store/import-sort.js +0 -121
  694. package/dist/store/import-sort.js.map +0 -1
  695. package/dist/store/index.js +0 -29
  696. package/dist/store/index.js.map +0 -1
  697. package/dist/store/json.js +0 -208
  698. package/dist/store/json.js.map +0 -1
  699. package/dist/store/lifecycle-store.js +0 -249
  700. package/dist/store/lifecycle-store.js.map +0 -1
  701. package/dist/store/lock.js +0 -70
  702. package/dist/store/lock.js.map +0 -1
  703. package/dist/store/migrate-signaldock-to-conduit.js +0 -555
  704. package/dist/store/migrate-signaldock-to-conduit.js.map +0 -1
  705. package/dist/store/migration-manager.js +0 -151
  706. package/dist/store/migration-manager.js.map +0 -1
  707. package/dist/store/migration-sqlite.js +0 -676
  708. package/dist/store/migration-sqlite.js.map +0 -1
  709. package/dist/store/nexus-schema.js +0 -62
  710. package/dist/store/nexus-schema.js.map +0 -1
  711. package/dist/store/nexus-sqlite.js +0 -242
  712. package/dist/store/nexus-sqlite.js.map +0 -1
  713. package/dist/store/nexus-validation-schemas.js +0 -40
  714. package/dist/store/nexus-validation-schemas.js.map +0 -1
  715. package/dist/store/parsers.js +0 -37
  716. package/dist/store/parsers.js.map +0 -1
  717. package/dist/store/project-detect.js +0 -457
  718. package/dist/store/project-detect.js.map +0 -1
  719. package/dist/store/provider.js +0 -101
  720. package/dist/store/provider.js.map +0 -1
  721. package/dist/store/safety-data-accessor.js +0 -257
  722. package/dist/store/safety-data-accessor.js.map +0 -1
  723. package/dist/store/schema.js +0 -7
  724. package/dist/store/schema.js.map +0 -1
  725. package/dist/store/session-store.js +0 -219
  726. package/dist/store/session-store.js.map +0 -1
  727. package/dist/store/signaldock-sqlite.js +0 -550
  728. package/dist/store/signaldock-sqlite.js.map +0 -1
  729. package/dist/store/sqlite-backup.js +0 -359
  730. package/dist/store/sqlite-backup.js.map +0 -1
  731. package/dist/store/sqlite-data-accessor.js +0 -787
  732. package/dist/store/sqlite-data-accessor.js.map +0 -1
  733. package/dist/store/sqlite.js +0 -481
  734. package/dist/store/sqlite.js.map +0 -1
  735. package/dist/store/status-registry.js +0 -8
  736. package/dist/store/status-registry.js.map +0 -1
  737. package/dist/store/task-store.js +0 -358
  738. package/dist/store/task-store.js.map +0 -1
  739. package/dist/store/tasks-schema.js +0 -610
  740. package/dist/store/tasks-schema.js.map +0 -1
  741. package/dist/store/typed-query.js +0 -15
  742. package/dist/store/typed-query.js.map +0 -1
  743. package/dist/store/validation-schemas.js +0 -278
  744. package/dist/store/validation-schemas.js.map +0 -1
  745. package/dist/system/archive-analytics.js +0 -277
  746. package/dist/system/archive-analytics.js.map +0 -1
  747. package/dist/system/archive-stats.js +0 -64
  748. package/dist/system/archive-stats.js.map +0 -1
  749. package/dist/system/audit.js +0 -145
  750. package/dist/system/audit.js.map +0 -1
  751. package/dist/system/backup.js +0 -280
  752. package/dist/system/backup.js.map +0 -1
  753. package/dist/system/cleanup.js +0 -134
  754. package/dist/system/cleanup.js.map +0 -1
  755. package/dist/system/health.js +0 -1100
  756. package/dist/system/health.js.map +0 -1
  757. package/dist/system/index.js +0 -18
  758. package/dist/system/index.js.map +0 -1
  759. package/dist/system/inject-generate.js +0 -122
  760. package/dist/system/inject-generate.js.map +0 -1
  761. package/dist/system/labels.js +0 -38
  762. package/dist/system/labels.js.map +0 -1
  763. package/dist/system/metrics.js +0 -61
  764. package/dist/system/metrics.js.map +0 -1
  765. package/dist/system/migrate.js +0 -43
  766. package/dist/system/migrate.js.map +0 -1
  767. package/dist/system/platform-paths.js +0 -80
  768. package/dist/system/platform-paths.js.map +0 -1
  769. package/dist/system/runtime.js +0 -161
  770. package/dist/system/runtime.js.map +0 -1
  771. package/dist/system/safestop.js +0 -99
  772. package/dist/system/safestop.js.map +0 -1
  773. package/dist/system/storage-preflight.js +0 -123
  774. package/dist/system/storage-preflight.js.map +0 -1
  775. package/dist/task-work/index.js +0 -159
  776. package/dist/task-work/index.js.map +0 -1
  777. package/dist/tasks/add.js +0 -736
  778. package/dist/tasks/add.js.map +0 -1
  779. package/dist/tasks/analyze.js +0 -85
  780. package/dist/tasks/analyze.js.map +0 -1
  781. package/dist/tasks/archive.js +0 -90
  782. package/dist/tasks/archive.js.map +0 -1
  783. package/dist/tasks/atomicity.js +0 -83
  784. package/dist/tasks/atomicity.js.map +0 -1
  785. package/dist/tasks/cancel-ops.js +0 -83
  786. package/dist/tasks/cancel-ops.js.map +0 -1
  787. package/dist/tasks/complete.js +0 -214
  788. package/dist/tasks/complete.js.map +0 -1
  789. package/dist/tasks/crossref-extract.js +0 -73
  790. package/dist/tasks/crossref-extract.js.map +0 -1
  791. package/dist/tasks/delete-preview.js +0 -192
  792. package/dist/tasks/delete-preview.js.map +0 -1
  793. package/dist/tasks/delete.js +0 -120
  794. package/dist/tasks/delete.js.map +0 -1
  795. package/dist/tasks/deletion-strategy.js +0 -200
  796. package/dist/tasks/deletion-strategy.js.map +0 -1
  797. package/dist/tasks/dependency-check.js +0 -278
  798. package/dist/tasks/dependency-check.js.map +0 -1
  799. package/dist/tasks/deps-ready.js +0 -32
  800. package/dist/tasks/deps-ready.js.map +0 -1
  801. package/dist/tasks/enforcement.js +0 -86
  802. package/dist/tasks/enforcement.js.map +0 -1
  803. package/dist/tasks/epic-enforcement.js +0 -294
  804. package/dist/tasks/epic-enforcement.js.map +0 -1
  805. package/dist/tasks/find.js +0 -157
  806. package/dist/tasks/find.js.map +0 -1
  807. package/dist/tasks/graph-cache.js +0 -127
  808. package/dist/tasks/graph-cache.js.map +0 -1
  809. package/dist/tasks/graph-ops.js +0 -171
  810. package/dist/tasks/graph-ops.js.map +0 -1
  811. package/dist/tasks/graph-rag.js +0 -328
  812. package/dist/tasks/graph-rag.js.map +0 -1
  813. package/dist/tasks/hierarchy-policy.js +0 -149
  814. package/dist/tasks/hierarchy-policy.js.map +0 -1
  815. package/dist/tasks/hierarchy.js +0 -185
  816. package/dist/tasks/hierarchy.js.map +0 -1
  817. package/dist/tasks/id-generator.js +0 -65
  818. package/dist/tasks/id-generator.js.map +0 -1
  819. package/dist/tasks/index.js +0 -14
  820. package/dist/tasks/index.js.map +0 -1
  821. package/dist/tasks/labels.js +0 -55
  822. package/dist/tasks/labels.js.map +0 -1
  823. package/dist/tasks/list.js +0 -75
  824. package/dist/tasks/list.js.map +0 -1
  825. package/dist/tasks/phase-tracking.js +0 -133
  826. package/dist/tasks/phase-tracking.js.map +0 -1
  827. package/dist/tasks/pipeline-stage.js +0 -248
  828. package/dist/tasks/pipeline-stage.js.map +0 -1
  829. package/dist/tasks/plan.js +0 -268
  830. package/dist/tasks/plan.js.map +0 -1
  831. package/dist/tasks/relates.js +0 -101
  832. package/dist/tasks/relates.js.map +0 -1
  833. package/dist/tasks/show.js +0 -83
  834. package/dist/tasks/show.js.map +0 -1
  835. package/dist/tasks/size-weighting.js +0 -86
  836. package/dist/tasks/size-weighting.js.map +0 -1
  837. package/dist/tasks/staleness.js +0 -86
  838. package/dist/tasks/staleness.js.map +0 -1
  839. package/dist/tasks/task-ops.js +0 -1741
  840. package/dist/tasks/task-ops.js.map +0 -1
  841. package/dist/tasks/update.js +0 -303
  842. package/dist/tasks/update.js.map +0 -1
  843. package/dist/templates/index.js +0 -10
  844. package/dist/templates/index.js.map +0 -1
  845. package/dist/templates/parser.js +0 -254
  846. package/dist/templates/parser.js.map +0 -1
  847. package/dist/ui/aliases.js +0 -153
  848. package/dist/ui/aliases.js.map +0 -1
  849. package/dist/ui/changelog.js +0 -184
  850. package/dist/ui/changelog.js.map +0 -1
  851. package/dist/ui/command-registry.js +0 -168
  852. package/dist/ui/command-registry.js.map +0 -1
  853. package/dist/ui/flags.js +0 -94
  854. package/dist/ui/flags.js.map +0 -1
  855. package/dist/ui/index.js +0 -24
  856. package/dist/ui/index.js.map +0 -1
  857. package/dist/upgrade.js +0 -1148
  858. package/dist/upgrade.js.map +0 -1
  859. package/dist/validation/chain-validation.js +0 -146
  860. package/dist/validation/chain-validation.js.map +0 -1
  861. package/dist/validation/compliance.js +0 -155
  862. package/dist/validation/compliance.js.map +0 -1
  863. package/dist/validation/docs-sync.js +0 -212
  864. package/dist/validation/docs-sync.js.map +0 -1
  865. package/dist/validation/doctor/checks.js +0 -1069
  866. package/dist/validation/doctor/checks.js.map +0 -1
  867. package/dist/validation/doctor/index.js +0 -9
  868. package/dist/validation/doctor/index.js.map +0 -1
  869. package/dist/validation/doctor/project-cache.js +0 -160
  870. package/dist/validation/doctor/project-cache.js.map +0 -1
  871. package/dist/validation/doctor/utils.js +0 -155
  872. package/dist/validation/doctor/utils.js.map +0 -1
  873. package/dist/validation/engine.js +0 -914
  874. package/dist/validation/engine.js.map +0 -1
  875. package/dist/validation/gap-check.js +0 -175
  876. package/dist/validation/gap-check.js.map +0 -1
  877. package/dist/validation/index.js +0 -40
  878. package/dist/validation/index.js.map +0 -1
  879. package/dist/validation/manifest.js +0 -237
  880. package/dist/validation/manifest.js.map +0 -1
  881. package/dist/validation/operation-gate-validators.js +0 -724
  882. package/dist/validation/operation-gate-validators.js.map +0 -1
  883. package/dist/validation/operation-verification-gates.js +0 -532
  884. package/dist/validation/operation-verification-gates.js.map +0 -1
  885. package/dist/validation/param-utils.js +0 -141
  886. package/dist/validation/param-utils.js.map +0 -1
  887. package/dist/validation/protocol-common.js +0 -300
  888. package/dist/validation/protocol-common.js.map +0 -1
  889. package/dist/validation/protocols/_shared.js +0 -82
  890. package/dist/validation/protocols/_shared.js.map +0 -1
  891. package/dist/validation/protocols/architecture-decision.js +0 -31
  892. package/dist/validation/protocols/architecture-decision.js.map +0 -1
  893. package/dist/validation/protocols/artifact-publish.js +0 -28
  894. package/dist/validation/protocols/artifact-publish.js.map +0 -1
  895. package/dist/validation/protocols/consensus.js +0 -41
  896. package/dist/validation/protocols/consensus.js.map +0 -1
  897. package/dist/validation/protocols/contribution.js +0 -27
  898. package/dist/validation/protocols/contribution.js.map +0 -1
  899. package/dist/validation/protocols/decomposition.js +0 -28
  900. package/dist/validation/protocols/decomposition.js.map +0 -1
  901. package/dist/validation/protocols/implementation.js +0 -24
  902. package/dist/validation/protocols/implementation.js.map +0 -1
  903. package/dist/validation/protocols/provenance.js +0 -29
  904. package/dist/validation/protocols/provenance.js.map +0 -1
  905. package/dist/validation/protocols/release.js +0 -29
  906. package/dist/validation/protocols/release.js.map +0 -1
  907. package/dist/validation/protocols/research.js +0 -24
  908. package/dist/validation/protocols/research.js.map +0 -1
  909. package/dist/validation/protocols/specification.js +0 -27
  910. package/dist/validation/protocols/specification.js.map +0 -1
  911. package/dist/validation/protocols/testing.js +0 -30
  912. package/dist/validation/protocols/testing.js.map +0 -1
  913. package/dist/validation/protocols/validation.js +0 -30
  914. package/dist/validation/protocols/validation.js.map +0 -1
  915. package/dist/validation/schema-integrity.js +0 -170
  916. package/dist/validation/schema-integrity.js.map +0 -1
  917. package/dist/validation/schema-validator.js +0 -176
  918. package/dist/validation/schema-validator.js.map +0 -1
  919. package/dist/validation/validate-ops.js +0 -937
  920. package/dist/validation/validate-ops.js.map +0 -1
  921. package/dist/validation/validation-rules.js +0 -226
  922. package/dist/validation/validation-rules.js.map +0 -1
  923. package/dist/validation/verification.js +0 -321
  924. 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.12",
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",
@@ -32,15 +32,16 @@
32
32
  "pino": "^10.3.1",
33
33
  "pino-roll": "^4.0.0",
34
34
  "proper-lockfile": "^4.1.2",
35
+ "tar": "^7.4.3",
35
36
  "write-file-atomic": "^6.0.0",
36
- "yaml": "^2.8.2",
37
+ "yaml": "^2.8.3",
37
38
  "zod": "^3.25.76",
38
- "@cleocode/adapters": "2026.4.12",
39
- "@cleocode/agents": "2026.4.12",
40
- "@cleocode/contracts": "2026.4.12",
41
- "@cleocode/caamp": "2026.4.12",
42
- "@cleocode/lafs": "2026.4.12",
43
- "@cleocode/skills": "2026.4.12"
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"
44
45
  },
45
46
  "optionalDependencies": {
46
47
  "tree-sitter-c": "^0.24.1",
@@ -70,6 +71,7 @@
70
71
  ],
71
72
  "devDependencies": {
72
73
  "@types/proper-lockfile": "^4.1.4",
74
+ "@types/tar": "^6.1.13",
73
75
  "@types/write-file-atomic": "^4.0.3"
74
76
  },
75
77
  "repository": {
@@ -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
@@ -410,6 +410,9 @@ export { listStickies, purgeSticky } from './sticky/index.js';
410
410
  export type { CreateStickyParams, ListStickiesParams, StickyNote } from './sticky/types.js';
411
411
  // Store
412
412
  export { createBackup, listBackups, restoreFromBackup } from './store/backup.js';
413
+ // Backup portability — bundle packer (T311 / T347)
414
+ export type { PackBundleInput, PackBundleResult } from './store/backup-pack.js';
415
+ export { packBundle } from './store/backup-pack.js';
413
416
  export { getBrainDb, getBrainNativeDb } from './store/brain-sqlite.js';
414
417
  export type { LegacyCleanupResult, StrayNexusCleanupResult } from './store/cleanup-legacy.js';
415
418
  export {
@@ -442,7 +445,11 @@ export {
442
445
  SIGNALDOCK_SCHEMA_VERSION,
443
446
  } from './store/signaldock-sqlite.js';
444
447
  export { getDb, getNativeDb } from './store/sqlite.js';
445
- export type { BackupScope, GlobalBackupEntry, GlobalSaltBackupEntry } from './store/sqlite-backup.js';
448
+ export type {
449
+ BackupScope,
450
+ GlobalBackupEntry,
451
+ GlobalSaltBackupEntry,
452
+ } from './store/sqlite-backup.js';
446
453
  export {
447
454
  backupGlobalSalt,
448
455
  listBrainBackups,
@@ -696,11 +703,51 @@ export { readSnapshot } from './snapshot/index.js';
696
703
  export { addSticky } from './sticky/create.js';
697
704
  export { getSticky } from './sticky/index.js';
698
705
 
706
+ // Store — backup crypto (T363)
707
+ export { decryptBundle, encryptBundle, isEncryptedBundle } from './store/backup-crypto.js';
708
+
699
709
  // Store (additional)
700
710
  export { resolveProjectRoot } from './store/file-utils.js';
701
711
  export { TASK_PRIORITIES } from './store/tasks-schema.js';
702
712
  // System (additional)
703
713
  export type { MigrateResult } from './system/index.js';
714
+
715
+ // ---------------------------------------------------------------------------
716
+ // T311 Backup portability — unpack + verify + A/B restore (T350, T352, T354, T357)
717
+ // ---------------------------------------------------------------------------
718
+
719
+ // Unpack + verify (T350)
720
+ export type {
721
+ SchemaCompatWarning as BundleSchemaCompatWarning,
722
+ UnpackBundleInput,
723
+ UnpackBundleResult,
724
+ } from './store/backup-unpack.js';
725
+ export { BundleError, cleanupStaging, unpackBundle } from './store/backup-unpack.js';
726
+ // Dry-run JSON file generators (T352)
727
+ export type { RegeneratedFile } from './store/regenerators.js';
728
+ export {
729
+ regenerateAllJson,
730
+ regenerateConfigJson,
731
+ regenerateProjectContextJson,
732
+ regenerateProjectInfoJson,
733
+ } from './store/regenerators.js';
734
+ // Conflict report formatter (T357)
735
+ export type {
736
+ BuildConflictReportInput,
737
+ ReauthWarning,
738
+ SchemaCompatWarning as RestoreSchemaCompatWarning,
739
+ } from './store/restore-conflict-report.js';
740
+ export { buildConflictReport, writeConflictReport } from './store/restore-conflict-report.js';
741
+ // A/B regenerate-and-compare engine (T354)
742
+ export type {
743
+ FieldCategory,
744
+ FieldClassification,
745
+ FilenameForRestore,
746
+ JsonRestoreReport,
747
+ RegenerateAndCompareInput,
748
+ Resolution,
749
+ } from './store/restore-json-merge.js';
750
+ export { regenerateAndCompare, regenerateAndCompareAll } from './store/restore-json-merge.js';
704
751
  // Tasks (additional — stats)
705
752
  export { coreTaskStats } from './tasks/task-ops.js';
706
753
 
@@ -867,11 +914,14 @@ export { checkRootGitignore } from './validation/doctor/checks.js';
867
914
  // ---------------------------------------------------------------------------
868
915
 
869
916
  // Conduit DB lifecycle — ensureConduitDb is called at every CLI startup (step 3)
870
- 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';
871
920
  export {
872
921
  CONDUIT_DB_FILENAME,
873
922
  CONDUIT_SCHEMA_VERSION,
874
923
  checkConduitDbHealth,
924
+ closeConduitDb,
875
925
  ensureConduitDb,
876
926
  getConduitDbPath,
877
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
  });