@cleocode/core 2026.10.5 → 2026.10.6-rc.ci.673

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 (321) hide show
  1. package/dist/bootstrap.d.ts +13 -0
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +21 -32
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/build-provenance.json +2 -2
  6. package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
  7. package/dist/cloud/nexus-cloud-status.js +3 -1
  8. package/dist/cloud/nexus-cloud-status.js.map +1 -1
  9. package/dist/cloud/nexus-device.d.ts +1 -1
  10. package/dist/cloud/nexus-presence-refresh.d.ts.map +1 -1
  11. package/dist/cloud/nexus-presence-refresh.js +20 -13
  12. package/dist/cloud/nexus-presence-refresh.js.map +1 -1
  13. package/dist/cloud/nexus-vault.d.ts.map +1 -1
  14. package/dist/cloud/nexus-vault.js +4 -1
  15. package/dist/cloud/nexus-vault.js.map +1 -1
  16. package/dist/docs/derive-links.d.ts +69 -0
  17. package/dist/docs/derive-links.d.ts.map +1 -0
  18. package/dist/docs/derive-links.js +85 -0
  19. package/dist/docs/derive-links.js.map +1 -0
  20. package/dist/docs/docs-generator.d.ts.map +1 -1
  21. package/dist/docs/docs-generator.js +2 -0
  22. package/dist/docs/docs-generator.js.map +1 -1
  23. package/dist/docs/docs-update.d.ts.map +1 -1
  24. package/dist/docs/docs-update.js +24 -4
  25. package/dist/docs/docs-update.js.map +1 -1
  26. package/dist/docs/fetch-result.d.ts +77 -0
  27. package/dist/docs/fetch-result.d.ts.map +1 -0
  28. package/dist/docs/fetch-result.js +132 -0
  29. package/dist/docs/fetch-result.js.map +1 -0
  30. package/dist/docs/supersede.d.ts.map +1 -1
  31. package/dist/docs/supersede.js +9 -0
  32. package/dist/docs/supersede.js.map +1 -1
  33. package/dist/doctor/db-substrate.d.ts.map +1 -1
  34. package/dist/doctor/db-substrate.js +64 -29
  35. package/dist/doctor/db-substrate.js.map +1 -1
  36. package/dist/doctor/row-identity-refill.d.ts.map +1 -1
  37. package/dist/doctor/row-identity-refill.js +25 -10
  38. package/dist/doctor/row-identity-refill.js.map +1 -1
  39. package/dist/doctor/row-identity.d.ts.map +1 -1
  40. package/dist/doctor/row-identity.js +8 -2
  41. package/dist/doctor/row-identity.js.map +1 -1
  42. package/dist/doctor/sync-repair.d.ts +5 -0
  43. package/dist/doctor/sync-repair.d.ts.map +1 -1
  44. package/dist/doctor/sync-repair.js +11 -0
  45. package/dist/doctor/sync-repair.js.map +1 -1
  46. package/dist/doctor/sync-triggers.d.ts.map +1 -1
  47. package/dist/doctor/sync-triggers.js +3 -17
  48. package/dist/doctor/sync-triggers.js.map +1 -1
  49. package/dist/hygiene/validate-spawn-readiness.d.ts +6 -1
  50. package/dist/hygiene/validate-spawn-readiness.d.ts.map +1 -1
  51. package/dist/hygiene/validate-spawn-readiness.js +11 -6
  52. package/dist/hygiene/validate-spawn-readiness.js.map +1 -1
  53. package/dist/init.d.ts.map +1 -1
  54. package/dist/init.js +10 -1
  55. package/dist/init.js.map +1 -1
  56. package/dist/injection.d.ts +37 -12
  57. package/dist/injection.d.ts.map +1 -1
  58. package/dist/injection.js +152 -35
  59. package/dist/injection.js.map +1 -1
  60. package/dist/memory/brain-search.d.ts.map +1 -1
  61. package/dist/memory/brain-search.js +7 -32
  62. package/dist/memory/brain-search.js.map +1 -1
  63. package/dist/memory/pipeline-manifest-sqlite.d.ts +2 -0
  64. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  65. package/dist/memory/pipeline-manifest-sqlite.js +51 -9
  66. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  67. package/dist/nexus/assessment-projection.d.ts +96 -1
  68. package/dist/nexus/assessment-projection.d.ts.map +1 -1
  69. package/dist/nexus/assessment-projection.js +135 -0
  70. package/dist/nexus/assessment-projection.js.map +1 -1
  71. package/dist/nexus/assessment-store.d.ts +54 -0
  72. package/dist/nexus/assessment-store.d.ts.map +1 -1
  73. package/dist/nexus/assessment-store.js +161 -2
  74. package/dist/nexus/assessment-store.js.map +1 -1
  75. package/dist/nexus/knowledge.d.ts +19 -0
  76. package/dist/nexus/knowledge.d.ts.map +1 -1
  77. package/dist/nexus/knowledge.js +56 -2
  78. package/dist/nexus/knowledge.js.map +1 -1
  79. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  80. package/dist/orchestrate/spawn-ops.js +12 -1
  81. package/dist/orchestrate/spawn-ops.js.map +1 -1
  82. package/dist/release/commit-presence.d.ts +24 -0
  83. package/dist/release/commit-presence.d.ts.map +1 -1
  84. package/dist/release/commit-presence.js +31 -0
  85. package/dist/release/commit-presence.js.map +1 -1
  86. package/dist/release/plan.d.ts +8 -6
  87. package/dist/release/plan.d.ts.map +1 -1
  88. package/dist/release/plan.js +11 -6
  89. package/dist/release/plan.js.map +1 -1
  90. package/dist/release/reconcile.d.ts.map +1 -1
  91. package/dist/release/reconcile.js +10 -8
  92. package/dist/release/reconcile.js.map +1 -1
  93. package/dist/release/verify-provenance.d.ts.map +1 -1
  94. package/dist/release/verify-provenance.js +6 -8
  95. package/dist/release/verify-provenance.js.map +1 -1
  96. package/dist/resources/admission-ledger.d.ts +66 -0
  97. package/dist/resources/admission-ledger.d.ts.map +1 -1
  98. package/dist/resources/admission-ledger.js +145 -6
  99. package/dist/resources/admission-ledger.js.map +1 -1
  100. package/dist/resources/run-class.d.ts +71 -0
  101. package/dist/resources/run-class.d.ts.map +1 -1
  102. package/dist/resources/run-class.js +203 -0
  103. package/dist/resources/run-class.js.map +1 -1
  104. package/dist/resources/run-governed.d.ts +2 -0
  105. package/dist/resources/run-governed.d.ts.map +1 -1
  106. package/dist/resources/run-governed.js +1 -0
  107. package/dist/resources/run-governed.js.map +1 -1
  108. package/dist/scaffold/ensure-config.d.ts +20 -9
  109. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  110. package/dist/scaffold/ensure-config.js +56 -23
  111. package/dist/scaffold/ensure-config.js.map +1 -1
  112. package/dist/scaffold/ensure-skills.d.ts +10 -0
  113. package/dist/scaffold/ensure-skills.d.ts.map +1 -1
  114. package/dist/scaffold/ensure-skills.js +47 -3
  115. package/dist/scaffold/ensure-skills.js.map +1 -1
  116. package/dist/scaffold/upgrade-file-journal.d.ts +79 -0
  117. package/dist/scaffold/upgrade-file-journal.d.ts.map +1 -0
  118. package/dist/scaffold/upgrade-file-journal.js +111 -0
  119. package/dist/scaffold/upgrade-file-journal.js.map +1 -0
  120. package/dist/session/engine-ops.d.ts.map +1 -1
  121. package/dist/session/engine-ops.js +10 -2
  122. package/dist/session/engine-ops.js.map +1 -1
  123. package/dist/sessions/index.d.ts.map +1 -1
  124. package/dist/sessions/index.js +3 -0
  125. package/dist/sessions/index.js.map +1 -1
  126. package/dist/spawn/worktree-lock-holder.d.ts +59 -1
  127. package/dist/spawn/worktree-lock-holder.d.ts.map +1 -1
  128. package/dist/spawn/worktree-lock-holder.js +114 -0
  129. package/dist/spawn/worktree-lock-holder.js.map +1 -1
  130. package/dist/store/attachment-store.d.ts.map +1 -1
  131. package/dist/store/attachment-store.js +38 -0
  132. package/dist/store/attachment-store.js.map +1 -1
  133. package/dist/store/backup-recover.d.ts +4 -4
  134. package/dist/store/backup-recover.d.ts.map +1 -1
  135. package/dist/store/backup-recover.js +11 -4
  136. package/dist/store/backup-recover.js.map +1 -1
  137. package/dist/store/backup-sidecar.d.ts +19 -1
  138. package/dist/store/backup-sidecar.d.ts.map +1 -1
  139. package/dist/store/backup-sidecar.js +57 -6
  140. package/dist/store/backup-sidecar.js.map +1 -1
  141. package/dist/store/db-helpers.js +1 -1
  142. package/dist/store/display-id-alias.js +1 -1
  143. package/dist/store/display-id-alias.js.map +1 -1
  144. package/dist/store/dual-scope-db.d.ts +2 -0
  145. package/dist/store/dual-scope-db.d.ts.map +1 -1
  146. package/dist/store/dual-scope-db.js +28 -16
  147. package/dist/store/dual-scope-db.js.map +1 -1
  148. package/dist/store/exodus/archive.d.ts +42 -2
  149. package/dist/store/exodus/archive.d.ts.map +1 -1
  150. package/dist/store/exodus/archive.js +81 -4
  151. package/dist/store/exodus/archive.js.map +1 -1
  152. package/dist/store/exodus/bare-family.d.ts +104 -0
  153. package/dist/store/exodus/bare-family.d.ts.map +1 -0
  154. package/dist/store/exodus/bare-family.js +470 -0
  155. package/dist/store/exodus/bare-family.js.map +1 -0
  156. package/dist/store/exodus/column-transforms.d.ts.map +1 -1
  157. package/dist/store/exodus/column-transforms.js +15 -8
  158. package/dist/store/exodus/column-transforms.js.map +1 -1
  159. package/dist/store/exodus/health.d.ts +2 -0
  160. package/dist/store/exodus/health.d.ts.map +1 -1
  161. package/dist/store/exodus/health.js +7 -1
  162. package/dist/store/exodus/health.js.map +1 -1
  163. package/dist/store/exodus/index.d.ts +2 -2
  164. package/dist/store/exodus/index.d.ts.map +1 -1
  165. package/dist/store/exodus/index.js +2 -2
  166. package/dist/store/exodus/index.js.map +1 -1
  167. package/dist/store/exodus/migrate.d.ts.map +1 -1
  168. package/dist/store/exodus/migrate.js +30 -1
  169. package/dist/store/exodus/migrate.js.map +1 -1
  170. package/dist/store/exodus/on-open.d.ts +11 -0
  171. package/dist/store/exodus/on-open.d.ts.map +1 -1
  172. package/dist/store/exodus/on-open.js +26 -1
  173. package/dist/store/exodus/on-open.js.map +1 -1
  174. package/dist/store/exodus/prior-recoveries.d.ts +3 -2
  175. package/dist/store/exodus/prior-recoveries.d.ts.map +1 -1
  176. package/dist/store/exodus/prior-recoveries.js +7 -3
  177. package/dist/store/exodus/prior-recoveries.js.map +1 -1
  178. package/dist/store/exodus/reconcile.d.ts +44 -6
  179. package/dist/store/exodus/reconcile.d.ts.map +1 -1
  180. package/dist/store/exodus/reconcile.js +246 -173
  181. package/dist/store/exodus/reconcile.js.map +1 -1
  182. package/dist/store/exodus/recovery.d.ts +48 -0
  183. package/dist/store/exodus/recovery.d.ts.map +1 -1
  184. package/dist/store/exodus/recovery.js +104 -6
  185. package/dist/store/exodus/recovery.js.map +1 -1
  186. package/dist/store/exodus/seal.d.ts.map +1 -1
  187. package/dist/store/exodus/seal.js +4 -2
  188. package/dist/store/exodus/seal.js.map +1 -1
  189. package/dist/store/exodus/table-order.d.ts +6 -0
  190. package/dist/store/exodus/table-order.d.ts.map +1 -1
  191. package/dist/store/exodus/table-order.js +15 -0
  192. package/dist/store/exodus/table-order.js.map +1 -1
  193. package/dist/store/exodus/types.d.ts +4 -0
  194. package/dist/store/exodus/types.d.ts.map +1 -1
  195. package/dist/store/exodus/types.js +4 -0
  196. package/dist/store/exodus/types.js.map +1 -1
  197. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  198. package/dist/store/exodus/verify-migration.js +22 -17
  199. package/dist/store/exodus/verify-migration.js.map +1 -1
  200. package/dist/store/identity-share.d.ts +14 -0
  201. package/dist/store/identity-share.d.ts.map +1 -1
  202. package/dist/store/identity-share.js +33 -0
  203. package/dist/store/identity-share.js.map +1 -1
  204. package/dist/store/lock.d.ts +33 -0
  205. package/dist/store/lock.d.ts.map +1 -1
  206. package/dist/store/lock.js +60 -0
  207. package/dist/store/lock.js.map +1 -1
  208. package/dist/store/portable-bundle-import.d.ts.map +1 -1
  209. package/dist/store/portable-bundle-import.js +7 -0
  210. package/dist/store/portable-bundle-import.js.map +1 -1
  211. package/dist/store/portable-bundle-scan.d.ts +3 -2
  212. package/dist/store/portable-bundle-scan.d.ts.map +1 -1
  213. package/dist/store/portable-bundle-scan.js +7 -5
  214. package/dist/store/portable-bundle-scan.js.map +1 -1
  215. package/dist/store/portable-bundle.d.ts +1 -1
  216. package/dist/store/portable-bundle.d.ts.map +1 -1
  217. package/dist/store/portable-bundle.js +9 -1
  218. package/dist/store/portable-bundle.js.map +1 -1
  219. package/dist/store/repair-malformed-dbs.d.ts.map +1 -1
  220. package/dist/store/repair-malformed-dbs.js +36 -6
  221. package/dist/store/repair-malformed-dbs.js.map +1 -1
  222. package/dist/store/restore-marker.d.ts +20 -2
  223. package/dist/store/restore-marker.d.ts.map +1 -1
  224. package/dist/store/restore-marker.js +41 -1
  225. package/dist/store/restore-marker.js.map +1 -1
  226. package/dist/store/row-identity-flag.d.ts +9 -6
  227. package/dist/store/row-identity-flag.d.ts.map +1 -1
  228. package/dist/store/row-identity-flag.js +10 -7
  229. package/dist/store/row-identity-flag.js.map +1 -1
  230. package/dist/store/row-identity-registry.d.ts +4 -3
  231. package/dist/store/row-identity-registry.d.ts.map +1 -1
  232. package/dist/store/row-identity-registry.js +132 -31
  233. package/dist/store/row-identity-registry.js.map +1 -1
  234. package/dist/store/row-identity.d.ts +81 -14
  235. package/dist/store/row-identity.d.ts.map +1 -1
  236. package/dist/store/row-identity.js +238 -32
  237. package/dist/store/row-identity.js.map +1 -1
  238. package/dist/store/schema/cleo-shared/brain.d.ts +368 -0
  239. package/dist/store/schema/cleo-shared/brain.d.ts.map +1 -1
  240. package/dist/store/schema/cleo-shared/brain.js +104 -2
  241. package/dist/store/schema/cleo-shared/brain.js.map +1 -1
  242. package/dist/store/sync/apply/applier.d.ts +5 -0
  243. package/dist/store/sync/apply/applier.d.ts.map +1 -1
  244. package/dist/store/sync/apply/applier.js +5 -1
  245. package/dist/store/sync/apply/applier.js.map +1 -1
  246. package/dist/store/sync/apply/parent-delete.d.ts.map +1 -1
  247. package/dist/store/sync/apply/parent-delete.js +4 -0
  248. package/dist/store/sync/apply/parent-delete.js.map +1 -1
  249. package/dist/store/sync/capture.d.ts +13 -1
  250. package/dist/store/sync/capture.d.ts.map +1 -1
  251. package/dist/store/sync/capture.js +31 -3
  252. package/dist/store/sync/capture.js.map +1 -1
  253. package/dist/store/sync/flags.d.ts +14 -5
  254. package/dist/store/sync/flags.d.ts.map +1 -1
  255. package/dist/store/sync/flags.js +20 -8
  256. package/dist/store/sync/flags.js.map +1 -1
  257. package/dist/store/sync/genesis.d.ts +130 -0
  258. package/dist/store/sync/genesis.d.ts.map +1 -0
  259. package/dist/store/sync/genesis.js +337 -0
  260. package/dist/store/sync/genesis.js.map +1 -0
  261. package/dist/store/sync/repair.d.ts +2 -2
  262. package/dist/store/sync/repair.d.ts.map +1 -1
  263. package/dist/store/sync/repair.js +55 -15
  264. package/dist/store/sync/repair.js.map +1 -1
  265. package/dist/store/sync/sealer.d.ts +14 -0
  266. package/dist/store/sync/sealer.d.ts.map +1 -1
  267. package/dist/store/sync/sealer.js +27 -6
  268. package/dist/store/sync/sealer.js.map +1 -1
  269. package/dist/store/sync/segments.d.ts +124 -0
  270. package/dist/store/sync/segments.d.ts.map +1 -0
  271. package/dist/store/sync/segments.js +267 -0
  272. package/dist/store/sync/segments.js.map +1 -0
  273. package/dist/store/sync/sequencing.d.ts +44 -1
  274. package/dist/store/sync/sequencing.d.ts.map +1 -1
  275. package/dist/store/sync/sequencing.js +59 -2
  276. package/dist/store/sync/sequencing.js.map +1 -1
  277. package/dist/store/sync/timestamp-canon.d.ts +6 -3
  278. package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
  279. package/dist/store/sync/timestamp-canon.js +55 -4
  280. package/dist/store/sync/timestamp-canon.js.map +1 -1
  281. package/dist/store/sync/txn-signing.d.ts +69 -0
  282. package/dist/store/sync/txn-signing.d.ts.map +1 -0
  283. package/dist/store/sync/txn-signing.js +81 -0
  284. package/dist/store/sync/txn-signing.js.map +1 -0
  285. package/dist/store/table-classification.d.ts.map +1 -1
  286. package/dist/store/table-classification.js +30 -0
  287. package/dist/store/table-classification.js.map +1 -1
  288. package/dist/store/twin-collapse.d.ts.map +1 -1
  289. package/dist/store/twin-collapse.js +65 -2
  290. package/dist/store/twin-collapse.js.map +1 -1
  291. package/dist/system/backup.d.ts +3 -2
  292. package/dist/system/backup.d.ts.map +1 -1
  293. package/dist/system/backup.js +43 -17
  294. package/dist/system/backup.js.map +1 -1
  295. package/dist/system/health.d.ts.map +1 -1
  296. package/dist/system/health.js +2 -1
  297. package/dist/system/health.js.map +1 -1
  298. package/dist/tasks/affected-packages.d.ts +26 -0
  299. package/dist/tasks/affected-packages.d.ts.map +1 -1
  300. package/dist/tasks/affected-packages.js +95 -28
  301. package/dist/tasks/affected-packages.js.map +1 -1
  302. package/dist/tasks/change-set.d.ts.map +1 -1
  303. package/dist/tasks/change-set.js +14 -4
  304. package/dist/tasks/change-set.js.map +1 -1
  305. package/dist/tasks/done-plan.d.ts.map +1 -1
  306. package/dist/tasks/done-plan.js +50 -4
  307. package/dist/tasks/done-plan.js.map +1 -1
  308. package/dist/tasks/test-run-binding.d.ts +14 -0
  309. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  310. package/dist/tasks/test-run-binding.js +35 -4
  311. package/dist/tasks/test-run-binding.js.map +1 -1
  312. package/dist/upgrade.d.ts +6 -0
  313. package/dist/upgrade.d.ts.map +1 -1
  314. package/dist/upgrade.js +58 -11
  315. package/dist/upgrade.js.map +1 -1
  316. package/migrations/drizzle-cleo-global/20261010120000_t12894-brain-row-uids/migration.sql +88 -0
  317. package/migrations/drizzle-cleo-project/20261010120000_t12894-brain-row-uids/migration.sql +92 -0
  318. package/migrations/sync-journal/20261007120000_t12343-segment-outbox/migration.sql +38 -0
  319. package/package.json +13 -13
  320. package/templates/CLEO-INJECTION.md +1 -1
  321. package/templates/CLEO-REFERENCE.md +2 -2
@@ -32,6 +32,7 @@ import { getCleoDirAbsolute } from '../paths.js';
32
32
  import { getDb, getNativeTasksDb } from '../store/sqlite.js';
33
33
  import { attachmentRefs, attachments } from '../store/tasks-schema.js';
34
34
  import { assertTwinCollapseWritable } from '../store/twin-collapse.js';
35
+ import { deriveDocLinks, linksJsonOrNull } from './derive-links.js';
35
36
  import { validateDocBody } from './validate-body.js';
36
37
  import { getCanonicalCleoVersion } from './version-ssot.js';
37
38
  /**
@@ -376,7 +377,7 @@ export async function updateDocBySlug(projectRoot, params) {
376
377
  squashed: false,
377
378
  summary,
378
379
  ownerVersion: getCanonicalCleoVersion(projectRoot),
379
- docVersion: oldRow.doc_version ?? 1,
380
+ docVersion: oldRow.docVersion,
380
381
  dryRun: true,
381
382
  wouldWrite: false,
382
383
  wouldChange,
@@ -429,7 +430,7 @@ export async function updateDocBySlug(projectRoot, params) {
429
430
  ? `slug '${slug}' was left untouched (bytes and lifecycle status unchanged)`
430
431
  : `slug '${slug}' bytes unchanged but lifecycle status changed from '${oldRow.lifecycleStatus}' to '${status}'`,
431
432
  ownerVersion: getCanonicalCleoVersion(projectRoot),
432
- docVersion: oldRow.doc_version ?? 1,
433
+ docVersion: oldRow.docVersion,
433
434
  },
434
435
  };
435
436
  }
@@ -439,6 +440,11 @@ export async function updateDocBySlug(projectRoot, params) {
439
440
  // future put of the same content will reuse the file rather than
440
441
  // creating a duplicate.
441
442
  const mime = hasContent ? 'text/plain' : 'application/octet-stream';
443
+ // T13357: re-derive mention links from the new body; topics carry over
444
+ // from the old row (labels do not flow through the update path).
445
+ const derivedRelatedTasks = buf !== null && hasContent
446
+ ? linksJsonOrNull(deriveDocLinks(buf.toString('utf-8')).relatedTasks)
447
+ : (oldRow.relatedTasks ?? null);
442
448
  // Contract-compliant BlobAttachment shape (T11262). Historic rows used
443
449
  // {name, blobId} which violated the canonical {sha256, storageKey} shape
444
450
  // defined in `@cleocode/contracts/attachment.ts` and broke read paths that
@@ -534,6 +540,9 @@ export async function updateDocBySlug(projectRoot, params) {
534
540
  slug,
535
541
  type: oldRow.type ?? null,
536
542
  lifecycleStatus: status,
543
+ docVersion: oldRow.docVersion + 1,
544
+ topics: oldRow.topics ?? null,
545
+ relatedTasks: derivedRelatedTasks,
537
546
  })
538
547
  .where(eq(attachments.id, existingNewRow.id))
539
548
  .run();
@@ -552,7 +561,9 @@ export async function updateDocBySlug(projectRoot, params) {
552
561
  ...(oldRow.type ? { type: oldRow.type } : {}),
553
562
  lifecycleStatus: status,
554
563
  ownerVersion: getCanonicalCleoVersion(projectRoot),
555
- docVersion: (oldRow.doc_version ?? 0) + 1,
564
+ docVersion: oldRow.docVersion + 1,
565
+ topics: oldRow.topics ?? null,
566
+ relatedTasks: derivedRelatedTasks,
556
567
  })
557
568
  .run();
558
569
  }
@@ -616,6 +627,15 @@ export async function updateDocBySlug(projectRoot, params) {
616
627
  attachedBy,
617
628
  },
618
629
  });
630
+ // T13357: refresh the wikilinks edge table after the write. Best-effort —
631
+ // a graph rebuild failure must not fail the completed update.
632
+ try {
633
+ const { rebuildDocsWikilinks } = await import('./wikilinks.js');
634
+ await rebuildDocsWikilinks({ projectRoot });
635
+ }
636
+ catch (rebuildErr) {
637
+ process.emitWarning(`docs wikilinks rebuild failed after update of slug '${slug}': ${rebuildErr instanceof Error ? rebuildErr.message : String(rebuildErr)}`);
638
+ }
619
639
  return {
620
640
  ok: true,
621
641
  result: {
@@ -632,7 +652,7 @@ export async function updateDocBySlug(projectRoot, params) {
632
652
  squashed,
633
653
  summary: `slug '${slug}' was changed — content replaced${params.message ? ` ("${params.message}")` : ''}`,
634
654
  ownerVersion: getCanonicalCleoVersion(projectRoot),
635
- docVersion: (oldRow.doc_version ?? 1) + 1,
655
+ docVersion: oldRow.docVersion + 1,
636
656
  },
637
657
  };
638
658
  }
@@ -1 +1 @@
1
- {"version":3,"file":"docs-update.js","sourceRoot":"","sources":["../../src/docs/docs-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-update.js","sourceRoot":"","sources":["../../src/docs/docs-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Shared `docs.fetch` / `docs view --json` result builder — T13352.
3
+ *
4
+ * Previously both call sites hand-built the envelope: they re-encoded the
5
+ * already-decoded UTF-8 body to base64, hard-coded `refCount: 0`, and
6
+ * reported a storage path inside the legacy `.cleo/attachments` tree even
7
+ * for docs whose bytes live in the blob manifest store (where the reported
8
+ * path does not exist).
9
+ *
10
+ * This builder is the single source of truth for the fetch envelope:
11
+ *
12
+ * - **Text docs carry `content`** (decoded UTF-8) directly in the envelope —
13
+ * no base64 round-trip for the overwhelmingly common markdown case.
14
+ * Binary docs keep `bytesBase64` (≤ 1 MB inline cap).
15
+ * - **`refCount` is the real value** from the read model
16
+ * (`attachments.ref_count`; 0 for manifest-only blobs).
17
+ * - **`path` resolves against the doc's actual backing store**:
18
+ * `manifest-db` → `.cleo/blobs/blobs/<sha256>`; anything else → the legacy
19
+ * content-addressed attachment path (with the MIME-correct extension).
20
+ * - **mime/type come from the record**, never literals.
21
+ *
22
+ * @task T13352 (Epic T13340 / Saga T13339)
23
+ * @see ResolvedDoc — packages/core/src/docs/docs-read-model.ts
24
+ * @see readDoc — sibling read API with the same utf-8-vs-base64 body rule
25
+ */
26
+ import type { DocsFetchResult } from '@cleocode/contracts/operations/docs.js';
27
+ import type { ResolvedDoc } from './docs-read-model.js';
28
+ /**
29
+ * Whether a MIME type denotes UTF-8 text. An absent MIME defaults to text:
30
+ * docs blobs are overwhelmingly markdown, and the read model has already
31
+ * decoded the body to a string by the time this predicate runs.
32
+ *
33
+ * @param mime - IANA MIME type, or null when unknown.
34
+ * @returns True when the body should be surfaced as decoded `content`.
35
+ * @task T13352
36
+ */
37
+ export declare function isTextMime(mime: string | null): boolean;
38
+ /**
39
+ * Resolve the on-disk storage path for a doc against its ACTUAL backing
40
+ * store. `manifest-db` docs live in the blob store
41
+ * (`.cleo/blobs/blobs/<sha256>`); everything else lives in the legacy
42
+ * content-addressed attachment tree. Returns undefined for docs without a
43
+ * content hash.
44
+ *
45
+ * @param doc - The resolved doc record.
46
+ * @param cleoDir - The project's `.cleo` directory.
47
+ * @returns Absolute storage path, or undefined.
48
+ * @task T13352
49
+ */
50
+ export declare function docsStoragePath(doc: ResolvedDoc, cleoDir: string): string | undefined;
51
+ /**
52
+ * Build the canonical `docs.fetch` result from a resolved doc and its
53
+ * decoded body. Used by both the dispatch `docs.fetch` handler and the
54
+ * `docs view --json` renderer, so the envelope shape can never drift
55
+ * between the two again.
56
+ *
57
+ * @param opts.doc - The resolved doc record (metadata source of truth).
58
+ * @param opts.content - The decoded UTF-8 body from `fetchContent`.
59
+ * @param opts.projectRoot - Project root (resolves `.cleo` for the path).
60
+ * @param opts.attachmentBackend - Current backend, echoed into the envelope.
61
+ * @returns The typed {@link DocsFetchResult}.
62
+ * @task T13352
63
+ */
64
+ export declare function buildDocsFetchResult(opts: {
65
+ doc: ResolvedDoc;
66
+ content: string;
67
+ projectRoot: string;
68
+ /**
69
+ * Current backend label, echoed into the envelope. Typed as `string`
70
+ * because core-internal `AttachmentBackend` (`'llmtxt'`) and the contracts
71
+ * `AttachmentBackend` (`'legacy' | 'llmstxt-v2'`) are two divergent types
72
+ * (pre-existing debt) — the historical fetch handler passed the internal
73
+ * value through with a cast, and this builder preserves that behaviour.
74
+ */
75
+ attachmentBackend?: string;
76
+ }): DocsFetchResult;
77
+ //# sourceMappingURL=fetch-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-result.d.ts","sourceRoot":"","sources":["../../src/docs/fetch-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,wCAAwC,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAsBxD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAKvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMrF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,eAAe,CAmClB"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Shared `docs.fetch` / `docs view --json` result builder — T13352.
3
+ *
4
+ * Previously both call sites hand-built the envelope: they re-encoded the
5
+ * already-decoded UTF-8 body to base64, hard-coded `refCount: 0`, and
6
+ * reported a storage path inside the legacy `.cleo/attachments` tree even
7
+ * for docs whose bytes live in the blob manifest store (where the reported
8
+ * path does not exist).
9
+ *
10
+ * This builder is the single source of truth for the fetch envelope:
11
+ *
12
+ * - **Text docs carry `content`** (decoded UTF-8) directly in the envelope —
13
+ * no base64 round-trip for the overwhelmingly common markdown case.
14
+ * Binary docs keep `bytesBase64` (≤ 1 MB inline cap).
15
+ * - **`refCount` is the real value** from the read model
16
+ * (`attachments.ref_count`; 0 for manifest-only blobs).
17
+ * - **`path` resolves against the doc's actual backing store**:
18
+ * `manifest-db` → `.cleo/blobs/blobs/<sha256>`; anything else → the legacy
19
+ * content-addressed attachment path (with the MIME-correct extension).
20
+ * - **mime/type come from the record**, never literals.
21
+ *
22
+ * @task T13352 (Epic T13340 / Saga T13339)
23
+ * @see ResolvedDoc — packages/core/src/docs/docs-read-model.ts
24
+ * @see readDoc — sibling read API with the same utf-8-vs-base64 body rule
25
+ */
26
+ import { Buffer } from 'node:buffer';
27
+ import { join } from 'node:path';
28
+ import { resolveCleoDir } from '../paths.js';
29
+ import { blobFilePath } from '../store/blob-keep.js';
30
+ /** Largest body inlined into the envelope (matches the historical cap). */
31
+ const MAX_INLINE_BYTES = 1024 * 1024;
32
+ /**
33
+ * `application/*` MIME types that are UTF-8 text on the wire. Anything
34
+ * `text/*` is text by definition; binary `application/*` types (pdf,
35
+ * octet-stream, zip, wasm, …) are not listed here.
36
+ */
37
+ const TEXT_APPLICATION_MIMES = new Set([
38
+ 'application/json',
39
+ 'application/xml',
40
+ 'application/yaml',
41
+ 'application/x-yaml',
42
+ 'application/javascript',
43
+ 'application/typescript',
44
+ 'application/toml',
45
+ 'application/x-sh',
46
+ 'application/ld+json',
47
+ ]);
48
+ /**
49
+ * Whether a MIME type denotes UTF-8 text. An absent MIME defaults to text:
50
+ * docs blobs are overwhelmingly markdown, and the read model has already
51
+ * decoded the body to a string by the time this predicate runs.
52
+ *
53
+ * @param mime - IANA MIME type, or null when unknown.
54
+ * @returns True when the body should be surfaced as decoded `content`.
55
+ * @task T13352
56
+ */
57
+ export function isTextMime(mime) {
58
+ if (!mime)
59
+ return true;
60
+ const base = mime.split(';')[0]?.trim().toLowerCase() ?? '';
61
+ if (base === 'application/octet-stream')
62
+ return false;
63
+ return base.startsWith('text/') || TEXT_APPLICATION_MIMES.has(base);
64
+ }
65
+ /**
66
+ * Resolve the on-disk storage path for a doc against its ACTUAL backing
67
+ * store. `manifest-db` docs live in the blob store
68
+ * (`.cleo/blobs/blobs/<sha256>`); everything else lives in the legacy
69
+ * content-addressed attachment tree. Returns undefined for docs without a
70
+ * content hash.
71
+ *
72
+ * @param doc - The resolved doc record.
73
+ * @param cleoDir - The project's `.cleo` directory.
74
+ * @returns Absolute storage path, or undefined.
75
+ * @task T13352
76
+ */
77
+ export function docsStoragePath(doc, cleoDir) {
78
+ if (!doc.sha256)
79
+ return undefined;
80
+ if (doc.source === 'manifest-db') {
81
+ return join(cleoDir, 'blobs', 'blobs', doc.sha256);
82
+ }
83
+ return blobFilePath(cleoDir, doc.sha256, doc.mimeType ?? 'text/markdown');
84
+ }
85
+ /**
86
+ * Build the canonical `docs.fetch` result from a resolved doc and its
87
+ * decoded body. Used by both the dispatch `docs.fetch` handler and the
88
+ * `docs view --json` renderer, so the envelope shape can never drift
89
+ * between the two again.
90
+ *
91
+ * @param opts.doc - The resolved doc record (metadata source of truth).
92
+ * @param opts.content - The decoded UTF-8 body from `fetchContent`.
93
+ * @param opts.projectRoot - Project root (resolves `.cleo` for the path).
94
+ * @param opts.attachmentBackend - Current backend, echoed into the envelope.
95
+ * @returns The typed {@link DocsFetchResult}.
96
+ * @task T13352
97
+ */
98
+ export function buildDocsFetchResult(opts) {
99
+ const { doc, content, projectRoot, attachmentBackend } = opts;
100
+ const cleoDir = resolveCleoDir(projectRoot);
101
+ const contentBytes = Buffer.from(content, 'utf-8');
102
+ const inline = contentBytes.length <= MAX_INLINE_BYTES;
103
+ const text = isTextMime(doc.mimeType);
104
+ const contentField = inline && text ? content : undefined;
105
+ const bytesBase64 = inline && !text ? contentBytes.toString('base64') : undefined;
106
+ return {
107
+ metadata: {
108
+ id: doc.id,
109
+ sha256: doc.sha256,
110
+ kind: 'blob',
111
+ mime: doc.mimeType ?? 'text/plain',
112
+ size: doc.sizeBytes,
113
+ description: doc.summary ?? undefined,
114
+ createdAt: doc.createdAt,
115
+ refCount: doc.refCount,
116
+ ...(doc.slug ? { slug: doc.slug } : {}),
117
+ ...(doc.kind ? { type: doc.kind } : {}),
118
+ ...(doc.displayNumber !== null ? { displayNumber: doc.displayNumber } : {}),
119
+ ...(doc.title ? { title: doc.title } : {}),
120
+ ...(doc.blobName ? { blobName: doc.blobName } : {}),
121
+ },
122
+ path: docsStoragePath(doc, cleoDir),
123
+ sizeBytes: contentBytes.length,
124
+ ...(contentField !== undefined ? { content: contentField } : {}),
125
+ ...(bytesBase64 !== undefined ? { bytesBase64 } : {}),
126
+ inlined: contentField !== undefined || bytesBase64 !== undefined,
127
+ ...(attachmentBackend !== undefined
128
+ ? { attachmentBackend: attachmentBackend }
129
+ : {}),
130
+ };
131
+ }
132
+ //# sourceMappingURL=fetch-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-result.js","sourceRoot":"","sources":["../../src/docs/fetch-result.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"supersede.d.ts","sourceRoot":"","sources":["../../src/docs/supersede.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAeH,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AACtD,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA0F7B"}
1
+ {"version":3,"file":"supersede.d.ts","sourceRoot":"","sources":["../../src/docs/supersede.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAeH,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AACtD,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAqG7B"}
@@ -121,6 +121,15 @@ export async function supersedeDoc(projectRoot, params) {
121
121
  }
122
122
  throw txErr;
123
123
  }
124
+ // T13357: refresh the wikilinks edge table so the new supersedes pair
125
+ // shows up as graph edges. Best-effort — the supersede itself committed.
126
+ try {
127
+ const { rebuildDocsWikilinks } = await import('./wikilinks.js');
128
+ await rebuildDocsWikilinks({ projectRoot });
129
+ }
130
+ catch (rebuildErr) {
131
+ process.emitWarning(`docs wikilinks rebuild failed after supersede ${oldSlug} -> ${newSlug}: ${rebuildErr instanceof Error ? rebuildErr.message : String(rebuildErr)}`);
132
+ }
124
133
  const edgeId = makeEdgeId(newRow.id, oldRow.id);
125
134
  const result = {
126
135
  oldSlug,
@@ -1 +1 @@
1
- {"version":3,"file":"supersede.js","sourceRoot":"","sources":["../../src/docs/supersede.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supersede.js","sourceRoot":"","sources":["../../src/docs/supersede.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"db-substrate.d.ts","sourceRoot":"","sources":["../../src/doctor/db-substrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-substrate.d.ts","sourceRoot":"","sources":["../../src/doctor/db-substrate.ts"],"names":[],"mappings":"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"}
@@ -469,7 +469,10 @@ export function computeMigrationCoverage(snapshotDb, migrationsFolderPath) {
469
469
  */
470
470
  export function inspectDbFile(entry, filePath, options = {}) {
471
471
  const timeoutMs = options.integrityCheckTimeoutMs ?? DEFAULT_INTEGRITY_CHECK_TIMEOUT_MS;
472
- const autoQuarantine = options.autoQuarantine ?? true;
472
+ // A role living in a consolidated store (it has a legacy file) resolves to
473
+ // the LIVE store: doctor never moves it (a slow integrity_check alone would),
474
+ // and suggests the guarded `cleo backup recover <role>` instead (T13245).
475
+ const autoQuarantine = (options.autoQuarantine ?? true) && entry.legacyFilePathTemplate === undefined;
473
476
  if (!existsSync(filePath)) {
474
477
  return {
475
478
  filePath,
@@ -710,6 +713,21 @@ function buildSkippedReport(invariant, description, suggestedFix, reason) {
710
713
  skipReason: reason,
711
714
  };
712
715
  }
716
+ /**
717
+ * The table holding a tasks-domain concept in a snapshot: the consolidated
718
+ * prefixed name (`tasks_tasks`, `tasks_sessions`) in the live `cleo.db`,
719
+ * else the bare name of a pre-consolidation `tasks.db` (T13245). `null`
720
+ * when neither exists.
721
+ *
722
+ * @param snapshot - Open snapshot.
723
+ * @param bare - The pre-consolidation table name (`tasks`, `sessions`).
724
+ */
725
+ function tasksDomainTable(snapshot, bare) {
726
+ const prefixed = `tasks_${bare}`;
727
+ if (snapshotHasTable(snapshot, prefixed))
728
+ return prefixed;
729
+ return snapshotHasTable(snapshot, bare) ? bare : null;
730
+ }
713
731
  /**
714
732
  * Helper: check whether a SQLite snapshot has a given table.
715
733
  *
@@ -768,13 +786,14 @@ export function checkInvariantI1(tasksSnap, brainSnap) {
768
786
  return buildSkippedReport('I1', description, I1_FIX, 'brain.db missing or unreadable');
769
787
  }
770
788
  if (tasksSnap === null) {
771
- return buildSkippedReport('I1', description, I1_FIX, 'tasks.db missing or unreadable');
789
+ return buildSkippedReport('I1', description, I1_FIX, 'the project store is missing or unreadable');
772
790
  }
773
791
  if (!snapshotHasTable(brainSnap, 'brain_memory_links')) {
774
792
  return buildSkippedReport('I1', description, I1_FIX, 'brain.db has no brain_memory_links table');
775
793
  }
776
- if (!snapshotHasTable(tasksSnap, 'tasks')) {
777
- return buildSkippedReport('I1', description, I1_FIX, 'tasks.db has no tasks table');
794
+ const i1Tasks = tasksDomainTable(tasksSnap, 'tasks');
795
+ if (i1Tasks === null) {
796
+ return buildSkippedReport('I1', description, I1_FIX, 'the project store has no tasks table');
778
797
  }
779
798
  let candidateIds;
780
799
  try {
@@ -787,7 +806,7 @@ export function checkInvariantI1(tasksSnap, brainSnap) {
787
806
  return buildSkippedReport('I1', description, I1_FIX, `brain.db query threw: ${err instanceof Error ? err.message : String(err)}`);
788
807
  }
789
808
  const orphans = [];
790
- const lookup = tasksSnap.db.prepare('SELECT id FROM tasks WHERE id = ? LIMIT 1');
809
+ const lookup = tasksSnap.db.prepare(`SELECT id FROM "${i1Tasks}" WHERE id = ? LIMIT 1`);
791
810
  for (const taskId of candidateIds) {
792
811
  try {
793
812
  const row = lookup.get(taskId);
@@ -830,13 +849,14 @@ export function checkInvariantI2(tasksSnap, manifestSnap) {
830
849
  return buildSkippedReport('I2', description, I2_FIX, 'manifest.db missing or unreadable');
831
850
  }
832
851
  if (tasksSnap === null) {
833
- return buildSkippedReport('I2', description, I2_FIX, 'tasks.db missing or unreadable');
852
+ return buildSkippedReport('I2', description, I2_FIX, 'the project store is missing or unreadable');
834
853
  }
835
854
  if (!snapshotHasTable(manifestSnap, 'blob_attachments')) {
836
855
  return buildSkippedReport('I2', description, I2_FIX, 'manifest.db has no blob_attachments table');
837
856
  }
838
- if (!snapshotHasTable(tasksSnap, 'tasks')) {
839
- return buildSkippedReport('I2', description, I2_FIX, 'tasks.db has no tasks table');
857
+ const i2Tasks = tasksDomainTable(tasksSnap, 'tasks');
858
+ if (i2Tasks === null) {
859
+ return buildSkippedReport('I2', description, I2_FIX, 'the project store has no tasks table');
840
860
  }
841
861
  let candidates;
842
862
  try {
@@ -850,7 +870,7 @@ export function checkInvariantI2(tasksSnap, manifestSnap) {
850
870
  return buildSkippedReport('I2', description, I2_FIX, `manifest.db query threw: ${err instanceof Error ? err.message : String(err)}`);
851
871
  }
852
872
  const orphans = [];
853
- const lookup = tasksSnap.db.prepare('SELECT id FROM tasks WHERE id = ? LIMIT 1');
873
+ const lookup = tasksSnap.db.prepare(`SELECT id FROM "${i2Tasks}" WHERE id = ? LIMIT 1`);
854
874
  for (const slug of candidates) {
855
875
  try {
856
876
  const row = lookup.get(slug);
@@ -959,10 +979,11 @@ export function checkInvariantI4(tasksSnap, llmtxtSnap) {
959
979
  return buildSkippedReport('I4', description, I4_FIX, 'llmtxt.db missing or unreadable');
960
980
  }
961
981
  if (tasksSnap === null) {
962
- return buildSkippedReport('I4', description, I4_FIX, 'tasks.db missing or unreadable');
982
+ return buildSkippedReport('I4', description, I4_FIX, 'the project store is missing or unreadable');
963
983
  }
964
- if (!snapshotHasTable(tasksSnap, 'sessions')) {
965
- return buildSkippedReport('I4', description, I4_FIX, 'tasks.db has no sessions table');
984
+ const i4Sessions = tasksDomainTable(tasksSnap, 'sessions');
985
+ if (i4Sessions === null) {
986
+ return buildSkippedReport('I4', description, I4_FIX, 'the project store has no sessions table');
966
987
  }
967
988
  let userTables;
968
989
  try {
@@ -1005,7 +1026,7 @@ export function checkInvariantI4(tasksSnap, llmtxtSnap) {
1005
1026
  }
1006
1027
  }
1007
1028
  const orphans = [];
1008
- const lookup = tasksSnap.db.prepare('SELECT id FROM sessions WHERE id = ? LIMIT 1');
1029
+ const lookup = tasksSnap.db.prepare(`SELECT id FROM "${i4Sessions}" WHERE id = ? LIMIT 1`);
1009
1030
  for (const sessionId of allCandidates) {
1010
1031
  try {
1011
1032
  const row = lookup.get(sessionId);
@@ -1064,8 +1085,9 @@ export function checkInvariantI5(tasksSnap, brainSnap, conduitSnap) {
1064
1085
  catch (err) {
1065
1086
  return buildSkippedReport('I5', description, I5_FIX, `conduit.db query threw: ${err instanceof Error ? err.message : String(err)}`);
1066
1087
  }
1067
- const tasksLookup = tasksSnap !== null && snapshotHasTable(tasksSnap, 'tasks')
1068
- ? tasksSnap.db.prepare('SELECT id FROM tasks WHERE id = ? LIMIT 1')
1088
+ const i5Tasks = tasksSnap !== null ? tasksDomainTable(tasksSnap, 'tasks') : null;
1089
+ const tasksLookup = tasksSnap !== null && i5Tasks !== null
1090
+ ? tasksSnap.db.prepare(`SELECT id FROM "${i5Tasks}" WHERE id = ? LIMIT 1`)
1069
1091
  : null;
1070
1092
  const brainPageLookup = brainSnap !== null && snapshotHasTable(brainSnap, 'brain_page_nodes')
1071
1093
  ? brainSnap.db.prepare('SELECT id FROM brain_page_nodes WHERE id = ? LIMIT 1')
@@ -1157,12 +1179,21 @@ export function walkCrossDbInvariants(projectRoot) {
1157
1179
  const manifestPath = resolveByRole('manifest');
1158
1180
  const llmtxtPath = resolveByRole('llmtxt');
1159
1181
  const nexusPath = resolveByRole('nexus');
1160
- const tasksSnap = tasksPath ? tryOpenSnapshot(tasksPath) : null;
1161
- const brainSnap = brainPath ? tryOpenSnapshot(brainPath) : null;
1162
- const conduitSnap = conduitPath ? tryOpenSnapshot(conduitPath) : null;
1163
- const manifestSnap = manifestPath ? tryOpenSnapshot(manifestPath) : null;
1164
- const llmtxtSnap = llmtxtPath ? tryOpenSnapshot(llmtxtPath) : null;
1165
- const nexusSnap = nexusPath ? tryOpenSnapshot(nexusPath) : null;
1182
+ // One snapshot per file: tasks, brain and conduit share the project cleo.db (T13245).
1183
+ const opened = new Map();
1184
+ const snapOf = (path) => {
1185
+ if (path === null)
1186
+ return null;
1187
+ if (!opened.has(path))
1188
+ opened.set(path, tryOpenSnapshot(path));
1189
+ return opened.get(path) ?? null;
1190
+ };
1191
+ const tasksSnap = snapOf(tasksPath);
1192
+ const brainSnap = snapOf(brainPath);
1193
+ const conduitSnap = snapOf(conduitPath);
1194
+ const manifestSnap = snapOf(manifestPath);
1195
+ const llmtxtSnap = snapOf(llmtxtPath);
1196
+ const nexusSnap = snapOf(nexusPath);
1166
1197
  try {
1167
1198
  const reports = [
1168
1199
  checkInvariantI1(tasksSnap, brainSnap),
@@ -1175,12 +1206,8 @@ export function walkCrossDbInvariants(projectRoot) {
1175
1206
  }
1176
1207
  finally {
1177
1208
  // Close every snapshot we opened, regardless of which checks ran.
1178
- tasksSnap?.close();
1179
- brainSnap?.close();
1180
- conduitSnap?.close();
1181
- manifestSnap?.close();
1182
- llmtxtSnap?.close();
1183
- nexusSnap?.close();
1209
+ for (const snap of opened.values())
1210
+ snap?.close();
1184
1211
  }
1185
1212
  }
1186
1213
  /**
@@ -1199,9 +1226,15 @@ export function walkCrossDbInvariants(projectRoot) {
1199
1226
  */
1200
1227
  export function surveyProjectDbSubstrate(projectRoot, options = {}) {
1201
1228
  const dbs = {};
1229
+ // Roles sharing a file (tasks, brain and conduit: the project cleo.db) are
1230
+ // inspected once (T13245).
1231
+ const byPath = new Map();
1202
1232
  for (const entry of DB_INVENTORY) {
1203
1233
  const filePath = resolveInventoryFilePath(entry, projectRoot);
1204
- dbs[entry.role] = inspectDbFile(entry, filePath, options);
1234
+ const seen = byPath.get(filePath);
1235
+ const inspected = seen ?? inspectDbFile(entry, filePath, options);
1236
+ byPath.set(filePath, inspected);
1237
+ dbs[entry.role] = inspected;
1205
1238
  }
1206
1239
  return {
1207
1240
  projectRoot,
@@ -1233,7 +1266,9 @@ export function surveyProjectDbSubstrate(projectRoot, options = {}) {
1233
1266
  * @task T10308
1234
1267
  */
1235
1268
  export function isLegitimateCleoProjectRoot(cleoDirPath) {
1236
- return (existsSync(join(cleoDirPath, 'project-info.json')) && existsSync(join(cleoDirPath, 'tasks.db')));
1269
+ return (existsSync(join(cleoDirPath, 'project-info.json')) &&
1270
+ // The consolidated store, or a pre-consolidation one (T13245).
1271
+ (existsSync(join(cleoDirPath, 'cleo.db')) || existsSync(join(cleoDirPath, 'tasks.db'))));
1237
1272
  }
1238
1273
  /**
1239
1274
  * Best-effort read of the `workspace` field from