@cleocode/core 2026.9.24 → 2026.9.25

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 (328) hide show
  1. package/dist/audit-prune.d.ts +32 -0
  2. package/dist/audit-prune.d.ts.map +1 -1
  3. package/dist/audit-prune.js +37 -3
  4. package/dist/audit-prune.js.map +1 -1
  5. package/dist/build-provenance.json +2 -2
  6. package/dist/cloud/crypto.d.ts +1 -2
  7. package/dist/cloud/crypto.d.ts.map +1 -1
  8. package/dist/cloud/crypto.js +1 -11
  9. package/dist/cloud/crypto.js.map +1 -1
  10. package/dist/cloud/uuidv7.d.ts +9 -0
  11. package/dist/cloud/uuidv7.d.ts.map +1 -0
  12. package/dist/cloud/uuidv7.js +19 -0
  13. package/dist/cloud/uuidv7.js.map +1 -0
  14. package/dist/decide/bench/index.d.ts +1 -1
  15. package/dist/decide/bench/index.d.ts.map +1 -1
  16. package/dist/decide/bench/index.js +1 -1
  17. package/dist/decide/bench/index.js.map +1 -1
  18. package/dist/decide/bench/operation.d.ts +1 -1
  19. package/dist/decide/bench/operation.d.ts.map +1 -1
  20. package/dist/decide/bench/operation.js +1 -1
  21. package/dist/decide/bench/operation.js.map +1 -1
  22. package/dist/decide/bench/profiles.d.ts +50 -22
  23. package/dist/decide/bench/profiles.d.ts.map +1 -1
  24. package/dist/decide/bench/profiles.js +103 -59
  25. package/dist/decide/bench/profiles.js.map +1 -1
  26. package/dist/decide/bench/report.d.ts.map +1 -1
  27. package/dist/decide/bench/report.js +6 -1
  28. package/dist/decide/bench/report.js.map +1 -1
  29. package/dist/decide/bench/runner.d.ts +6 -1
  30. package/dist/decide/bench/runner.d.ts.map +1 -1
  31. package/dist/decide/bench/runner.js +1 -0
  32. package/dist/decide/bench/runner.js.map +1 -1
  33. package/dist/decide/client.d.ts.map +1 -1
  34. package/dist/decide/client.js +11 -5
  35. package/dist/decide/client.js.map +1 -1
  36. package/dist/decide/jev-wire.d.ts +31 -1
  37. package/dist/decide/jev-wire.d.ts.map +1 -1
  38. package/dist/decide/jev-wire.js +61 -7
  39. package/dist/decide/jev-wire.js.map +1 -1
  40. package/dist/docs/export-document.js +17181 -15536
  41. package/dist/docs/export-document.js.map +3 -3
  42. package/dist/doctor/orphan-ac-bindings.d.ts +64 -0
  43. package/dist/doctor/orphan-ac-bindings.d.ts.map +1 -0
  44. package/dist/doctor/orphan-ac-bindings.js +59 -0
  45. package/dist/doctor/orphan-ac-bindings.js.map +1 -0
  46. package/dist/doctor/projects.d.ts.map +1 -1
  47. package/dist/doctor/projects.js +43 -29
  48. package/dist/doctor/projects.js.map +1 -1
  49. package/dist/doctor/row-identity.d.ts +31 -0
  50. package/dist/doctor/row-identity.d.ts.map +1 -0
  51. package/dist/doctor/row-identity.js +93 -0
  52. package/dist/doctor/row-identity.js.map +1 -0
  53. package/dist/doctor/twin-collapse.d.ts +58 -2
  54. package/dist/doctor/twin-collapse.d.ts.map +1 -1
  55. package/dist/doctor/twin-collapse.js +212 -14
  56. package/dist/doctor/twin-collapse.js.map +1 -1
  57. package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
  58. package/dist/lifecycle/verification/satisfies-validator.js +10 -0
  59. package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
  60. package/dist/llm/plugin-facade.js +17045 -15400
  61. package/dist/llm/plugin-facade.js.map +3 -3
  62. package/dist/memory/index.d.ts.map +1 -1
  63. package/dist/memory/index.js +19 -10
  64. package/dist/memory/index.js.map +1 -1
  65. package/dist/memory/manifest-identity.d.ts +171 -0
  66. package/dist/memory/manifest-identity.d.ts.map +1 -0
  67. package/dist/memory/manifest-identity.js +345 -0
  68. package/dist/memory/manifest-identity.js.map +1 -0
  69. package/dist/memory/mental-model-queue.d.ts +14 -4
  70. package/dist/memory/mental-model-queue.d.ts.map +1 -1
  71. package/dist/memory/mental-model-queue.js +64 -35
  72. package/dist/memory/mental-model-queue.js.map +1 -1
  73. package/dist/memory/pipeline-manifest-sqlite.d.ts +47 -5
  74. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  75. package/dist/memory/pipeline-manifest-sqlite.js +130 -14
  76. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  77. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  78. package/dist/memory/retrieval/observe.js +2 -0
  79. package/dist/memory/retrieval/observe.js.map +1 -1
  80. package/dist/memory/transcript-scanner.js +1 -1
  81. package/dist/nexus/deps.d.ts.map +1 -1
  82. package/dist/nexus/deps.js +7 -14
  83. package/dist/nexus/deps.js.map +1 -1
  84. package/dist/nexus/discover.d.ts.map +1 -1
  85. package/dist/nexus/discover.js +6 -9
  86. package/dist/nexus/discover.js.map +1 -1
  87. package/dist/nexus/git-state.d.ts.map +1 -1
  88. package/dist/nexus/git-state.js +10 -1
  89. package/dist/nexus/git-state.js.map +1 -1
  90. package/dist/nexus/projects-clean.d.ts.map +1 -1
  91. package/dist/nexus/projects-clean.js +22 -11
  92. package/dist/nexus/projects-clean.js.map +1 -1
  93. package/dist/nexus/projects-scan.d.ts.map +1 -1
  94. package/dist/nexus/projects-scan.js +8 -13
  95. package/dist/nexus/projects-scan.js.map +1 -1
  96. package/dist/nexus/query.d.ts.map +1 -1
  97. package/dist/nexus/query.js +4 -12
  98. package/dist/nexus/query.js.map +1 -1
  99. package/dist/nexus/registry-roots.d.ts +5 -2
  100. package/dist/nexus/registry-roots.d.ts.map +1 -1
  101. package/dist/nexus/registry-roots.js +8 -10
  102. package/dist/nexus/registry-roots.js.map +1 -1
  103. package/dist/nexus/registry.d.ts +18 -0
  104. package/dist/nexus/registry.d.ts.map +1 -1
  105. package/dist/nexus/registry.js +37 -16
  106. package/dist/nexus/registry.js.map +1 -1
  107. package/dist/orchestrate/worktree-complete.d.ts.map +1 -1
  108. package/dist/orchestrate/worktree-complete.js +40 -2
  109. package/dist/orchestrate/worktree-complete.js.map +1 -1
  110. package/dist/orchestration/spawn-prompt.d.ts +26 -0
  111. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  112. package/dist/orchestration/spawn-prompt.js +62 -91
  113. package/dist/orchestration/spawn-prompt.js.map +1 -1
  114. package/dist/release/ci-evidence.d.ts +190 -0
  115. package/dist/release/ci-evidence.d.ts.map +1 -1
  116. package/dist/release/ci-evidence.js +436 -4
  117. package/dist/release/ci-evidence.js.map +1 -1
  118. package/dist/sdk/validator-ac-pull.d.ts.map +1 -1
  119. package/dist/sdk/validator-ac-pull.js +2 -1
  120. package/dist/sdk/validator-ac-pull.js.map +1 -1
  121. package/dist/selfimprove/fix-gen.js +17049 -15404
  122. package/dist/selfimprove/fix-gen.js.map +3 -3
  123. package/dist/sentient/cross-project-hygiene.d.ts +5 -0
  124. package/dist/sentient/cross-project-hygiene.d.ts.map +1 -1
  125. package/dist/sentient/cross-project-hygiene.js +7 -1
  126. package/dist/sentient/cross-project-hygiene.js.map +1 -1
  127. package/dist/sentient/propose-tick.d.ts.map +1 -1
  128. package/dist/sentient/propose-tick.js +2 -3
  129. package/dist/sentient/propose-tick.js.map +1 -1
  130. package/dist/sentient/stage-drift-tick.d.ts.map +1 -1
  131. package/dist/sentient/stage-drift-tick.js +2 -3
  132. package/dist/sentient/stage-drift-tick.js.map +1 -1
  133. package/dist/skills/manifests/research.js +2 -0
  134. package/dist/skills/manifests/research.js.map +1 -1
  135. package/dist/skills/orchestrator/validator.d.ts.map +1 -1
  136. package/dist/skills/orchestrator/validator.js +9 -2
  137. package/dist/skills/orchestrator/validator.js.map +1 -1
  138. package/dist/skills/validation.d.ts +4 -1
  139. package/dist/skills/validation.d.ts.map +1 -1
  140. package/dist/skills/validation.js +11 -3
  141. package/dist/skills/validation.js.map +1 -1
  142. package/dist/spawn/branch-lock.d.ts +111 -7
  143. package/dist/spawn/branch-lock.d.ts.map +1 -1
  144. package/dist/spawn/branch-lock.js +296 -8
  145. package/dist/spawn/branch-lock.js.map +1 -1
  146. package/dist/store/ac-binding-prune.d.ts +144 -0
  147. package/dist/store/ac-binding-prune.d.ts.map +1 -0
  148. package/dist/store/ac-binding-prune.js +293 -0
  149. package/dist/store/ac-binding-prune.js.map +1 -0
  150. package/dist/store/agent-registry-store.d.ts.map +1 -1
  151. package/dist/store/agent-registry-store.js +3 -2
  152. package/dist/store/agent-registry-store.js.map +1 -1
  153. package/dist/store/backup-sidecar.d.ts +85 -2
  154. package/dist/store/backup-sidecar.d.ts.map +1 -1
  155. package/dist/store/backup-sidecar.js +173 -1
  156. package/dist/store/backup-sidecar.js.map +1 -1
  157. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  158. package/dist/store/conduit-sqlite.js +3 -2
  159. package/dist/store/conduit-sqlite.js.map +1 -1
  160. package/dist/store/credential-transfer.d.ts.map +1 -1
  161. package/dist/store/credential-transfer.js +3 -0
  162. package/dist/store/credential-transfer.js.map +1 -1
  163. package/dist/store/db-helpers.d.ts +17 -11
  164. package/dist/store/db-helpers.d.ts.map +1 -1
  165. package/dist/store/db-helpers.js +61 -38
  166. package/dist/store/db-helpers.js.map +1 -1
  167. package/dist/store/display-id-alias.d.ts +529 -0
  168. package/dist/store/display-id-alias.d.ts.map +1 -0
  169. package/dist/store/display-id-alias.js +1063 -0
  170. package/dist/store/display-id-alias.js.map +1 -0
  171. package/dist/store/dual-scope-db.d.ts.map +1 -1
  172. package/dist/store/dual-scope-db.js +21 -0
  173. package/dist/store/dual-scope-db.js.map +1 -1
  174. package/dist/store/exodus/reconcile.d.ts.map +1 -1
  175. package/dist/store/exodus/reconcile.js +7 -2
  176. package/dist/store/exodus/reconcile.js.map +1 -1
  177. package/dist/store/exodus/recovery.d.ts.map +1 -1
  178. package/dist/store/exodus/recovery.js +20 -1
  179. package/dist/store/exodus/recovery.js.map +1 -1
  180. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
  181. package/dist/store/legacy-tasks-lineage.js +19 -2
  182. package/dist/store/legacy-tasks-lineage.js.map +1 -1
  183. package/dist/store/row-identity-flag.d.ts +26 -0
  184. package/dist/store/row-identity-flag.d.ts.map +1 -0
  185. package/dist/store/row-identity-flag.js +31 -0
  186. package/dist/store/row-identity-flag.js.map +1 -0
  187. package/dist/store/row-identity-registry.d.ts +61 -0
  188. package/dist/store/row-identity-registry.d.ts.map +1 -0
  189. package/dist/store/row-identity-registry.js +198 -0
  190. package/dist/store/row-identity-registry.js.map +1 -0
  191. package/dist/store/row-identity.d.ts +390 -0
  192. package/dist/store/row-identity.d.ts.map +1 -0
  193. package/dist/store/row-identity.js +1240 -0
  194. package/dist/store/row-identity.js.map +1 -0
  195. package/dist/store/safety-data-accessor.d.ts +2 -0
  196. package/dist/store/safety-data-accessor.d.ts.map +1 -1
  197. package/dist/store/safety-data-accessor.js +4 -0
  198. package/dist/store/safety-data-accessor.js.map +1 -1
  199. package/dist/store/schema/attachments.d.ts +1 -1
  200. package/dist/store/schema/audit.d.ts +4 -4
  201. package/dist/store/schema/background-jobs.d.ts +1 -1
  202. package/dist/store/schema/cleo-global/nexus.d.ts +1 -1
  203. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  204. package/dist/store/schema/cleo-project/audit.d.ts +4 -4
  205. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  206. package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
  207. package/dist/store/schema/cleo-project/nexus-graph.d.ts +3 -3
  208. package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
  209. package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
  210. package/dist/store/schema/cleo-project/runtime.d.ts +3 -3
  211. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +87 -1
  212. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts.map +1 -1
  213. package/dist/store/schema/cleo-project/tasks-core-batch2.js +35 -0
  214. package/dist/store/schema/cleo-project/tasks-core-batch2.js.map +1 -1
  215. package/dist/store/schema/cleo-project/tasks-core.d.ts +183 -7
  216. package/dist/store/schema/cleo-project/tasks-core.d.ts.map +1 -1
  217. package/dist/store/schema/cleo-project/tasks-core.js +52 -1
  218. package/dist/store/schema/cleo-project/tasks-core.js.map +1 -1
  219. package/dist/store/schema/cleo-shared/brain.d.ts +6 -6
  220. package/dist/store/schema/lifecycle.d.ts +4 -4
  221. package/dist/store/schema/manifest.d.ts +1 -1
  222. package/dist/store/schema/memory-schema.d.ts +5 -5
  223. package/dist/store/schema/nexus-schema.d.ts +3 -3
  224. package/dist/store/schema/provenance/releases.d.ts +1 -1
  225. package/dist/store/schema/skills-schema.d.ts +2 -2
  226. package/dist/store/schema/tasks.d.ts +6 -6
  227. package/dist/store/split-brain-import.d.ts +2 -14
  228. package/dist/store/split-brain-import.d.ts.map +1 -1
  229. package/dist/store/split-brain-import.js +4 -19
  230. package/dist/store/split-brain-import.js.map +1 -1
  231. package/dist/store/sqlite-data-accessor.d.ts +279 -2
  232. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  233. package/dist/store/sqlite-data-accessor.js +544 -44
  234. package/dist/store/sqlite-data-accessor.js.map +1 -1
  235. package/dist/store/sync/clock-store.d.ts +67 -0
  236. package/dist/store/sync/clock-store.d.ts.map +1 -0
  237. package/dist/store/sync/clock-store.js +117 -0
  238. package/dist/store/sync/clock-store.js.map +1 -0
  239. package/dist/store/sync/flags.d.ts +51 -0
  240. package/dist/store/sync/flags.d.ts.map +1 -0
  241. package/dist/store/sync/flags.js +81 -0
  242. package/dist/store/sync/flags.js.map +1 -0
  243. package/dist/store/sync/hlc.d.ts +115 -0
  244. package/dist/store/sync/hlc.d.ts.map +1 -0
  245. package/dist/store/sync/hlc.js +172 -0
  246. package/dist/store/sync/hlc.js.map +1 -0
  247. package/dist/store/sync/index.d.ts +20 -0
  248. package/dist/store/sync/index.d.ts.map +1 -0
  249. package/dist/store/sync/index.js +20 -0
  250. package/dist/store/sync/index.js.map +1 -0
  251. package/dist/store/sync/replica-registry.d.ts +85 -0
  252. package/dist/store/sync/replica-registry.d.ts.map +1 -0
  253. package/dist/store/sync/replica-registry.js +147 -0
  254. package/dist/store/sync/replica-registry.js.map +1 -0
  255. package/dist/store/sync/replica.d.ts +181 -0
  256. package/dist/store/sync/replica.d.ts.map +1 -0
  257. package/dist/store/sync/replica.js +305 -0
  258. package/dist/store/sync/replica.js.map +1 -0
  259. package/dist/store/sync/schema.d.ts +68 -0
  260. package/dist/store/sync/schema.d.ts.map +1 -0
  261. package/dist/store/sync/schema.js +130 -0
  262. package/dist/store/sync/schema.js.map +1 -0
  263. package/dist/store/sync/skew-hold.d.ts +71 -0
  264. package/dist/store/sync/skew-hold.d.ts.map +1 -0
  265. package/dist/store/sync/skew-hold.js +89 -0
  266. package/dist/store/sync/skew-hold.js.map +1 -0
  267. package/dist/store/table-classification.d.ts +10 -8
  268. package/dist/store/table-classification.d.ts.map +1 -1
  269. package/dist/store/table-classification.js +93 -25
  270. package/dist/store/table-classification.js.map +1 -1
  271. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  272. package/dist/store/tasks-sqlite.js +9 -1
  273. package/dist/store/tasks-sqlite.js.map +1 -1
  274. package/dist/store/twin-collapse.d.ts +113 -2
  275. package/dist/store/twin-collapse.d.ts.map +1 -1
  276. package/dist/store/twin-collapse.js +247 -19
  277. package/dist/store/twin-collapse.js.map +1 -1
  278. package/dist/store/umbrella-data-accessor.d.ts +2 -0
  279. package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
  280. package/dist/store/umbrella-data-accessor.js +4 -0
  281. package/dist/store/umbrella-data-accessor.js.map +1 -1
  282. package/dist/store/validation-schemas.d.ts +241 -49
  283. package/dist/store/validation-schemas.d.ts.map +1 -1
  284. package/dist/system/health.d.ts.map +1 -1
  285. package/dist/system/health.js +3 -0
  286. package/dist/system/health.js.map +1 -1
  287. package/dist/system/project-health.d.ts +9 -2
  288. package/dist/system/project-health.d.ts.map +1 -1
  289. package/dist/system/project-health.js +8 -3
  290. package/dist/system/project-health.js.map +1 -1
  291. package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
  292. package/dist/tasks/ac-coverage-gate.js +3 -0
  293. package/dist/tasks/ac-coverage-gate.js.map +1 -1
  294. package/dist/tasks/ac-table.d.ts +35 -7
  295. package/dist/tasks/ac-table.d.ts.map +1 -1
  296. package/dist/tasks/ac-table.js +119 -14
  297. package/dist/tasks/ac-table.js.map +1 -1
  298. package/dist/tasks/add.d.ts.map +1 -1
  299. package/dist/tasks/add.js +48 -2
  300. package/dist/tasks/add.js.map +1 -1
  301. package/dist/tasks/backfill-child-projections.js +47 -6
  302. package/dist/tasks/backfill-child-projections.js.map +1 -1
  303. package/dist/tasks/complete.d.ts.map +1 -1
  304. package/dist/tasks/complete.js +6 -1
  305. package/dist/tasks/complete.js.map +1 -1
  306. package/dist/tasks/completion-evaluation.d.ts.map +1 -1
  307. package/dist/tasks/completion-evaluation.js +3 -0
  308. package/dist/tasks/completion-evaluation.js.map +1 -1
  309. package/dist/tasks/evidence.d.ts.map +1 -1
  310. package/dist/tasks/evidence.js +14 -3
  311. package/dist/tasks/evidence.js.map +1 -1
  312. package/dist/validation/compliance.d.ts +5 -1
  313. package/dist/validation/compliance.d.ts.map +1 -1
  314. package/dist/validation/compliance.js +24 -3
  315. package/dist/validation/compliance.js.map +1 -1
  316. package/dist/validation/index.d.ts +1 -1
  317. package/dist/validation/index.d.ts.map +1 -1
  318. package/dist/validation/index.js +1 -1
  319. package/dist/validation/index.js.map +1 -1
  320. package/dist/validation/protocol-common.d.ts +47 -2
  321. package/dist/validation/protocol-common.d.ts.map +1 -1
  322. package/dist/validation/protocol-common.js +86 -21
  323. package/dist/validation/protocol-common.js.map +1 -1
  324. package/migrations/README.md +12 -0
  325. package/migrations/drizzle-cleo-project/20260928120000_t12341-row-uids/migration.sql +169 -0
  326. package/migrations/sync-journal/20260929140000_t12342-sync-clock/migration.sql +42 -0
  327. package/package.json +13 -13
  328. package/templates/CLEO-REFERENCE.md +4 -0
@@ -0,0 +1,64 @@
1
+ /**
2
+ * `cleo doctor ac-bindings` — evidence bindings whose acceptance criterion is gone.
3
+ *
4
+ * `tasks_evidence_ac_bindings.ac_id` has no foreign key to
5
+ * `tasks_task_acceptance_criteria` in the consolidated schema, so before
6
+ * T12790 every AC removed by an edit, and every AC cascaded away by a hard
7
+ * task delete, left its bindings behind. Those rows are meaningless to the
8
+ * coverage gate (it only reads bindings of ACs that exist) but they are not
9
+ * harmless: they count as evidence nobody can see and they inflate every
10
+ * scan of the table.
11
+ *
12
+ * T12790 prunes bindings together with their AC going forward. This check
13
+ * finds the rows already left behind. It is read-only by default; `--fix`
14
+ * removes them in one accessor transaction, writing each removed row to the
15
+ * task audit log (`ac.bindings.pruned`, reason `orphan-repair`) first, so the
16
+ * binding history alias-drift detection relies on is preserved.
17
+ *
18
+ * @module
19
+ * @task T12790
20
+ */
21
+ import type { AcBindingRow } from '@cleocode/contracts';
22
+ /** Orphan count for one binding type. */
23
+ export interface OrphanAcBindingTypeCount {
24
+ /** `direct`, `satisfies` or `coverage`. */
25
+ readonly bindingType: AcBindingRow['bindingType'];
26
+ /** Orphaned rows of that type. */
27
+ readonly count: number;
28
+ }
29
+ /** Outcome of {@link scanOrphanAcBindings}. */
30
+ export interface OrphanAcBindingsReport {
31
+ /** Number of bindings whose AC no longer exists (before any repair). */
32
+ readonly orphanCount: number;
33
+ /** {@link orphanCount} split by binding type. */
34
+ readonly byType: readonly OrphanAcBindingTypeCount[];
35
+ /** Distinct missing AC ids the orphans point at. */
36
+ readonly missingAcIds: readonly string[];
37
+ /** The orphan rows themselves (capped by `limit`). */
38
+ readonly orphans: readonly AcBindingRow[];
39
+ /** `true` when `--fix` ran. */
40
+ readonly repaired: boolean;
41
+ /** Rows removed by `--fix` (0 when read-only). */
42
+ readonly removed: number;
43
+ }
44
+ /**
45
+ * Find — and with `fix: true`, remove — bindings whose AC row is gone.
46
+ *
47
+ * @param cwd - project root
48
+ * @param opts - `fix: true` removes the orphans (audited); `limit` caps the
49
+ * rows echoed in the report (default 50; counts are exact)
50
+ * @returns what was found and what was removed
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const report = await scanOrphanAcBindings(projectRoot);
55
+ * if (report.orphanCount > 0) console.error('dangling evidence bindings');
56
+ * ```
57
+ *
58
+ * @task T12790
59
+ */
60
+ export declare function scanOrphanAcBindings(cwd: string, opts?: {
61
+ fix?: boolean;
62
+ limit?: number;
63
+ }): Promise<OrphanAcBindingsReport>;
64
+ //# sourceMappingURL=orphan-ac-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-ac-bindings.d.ts","sourceRoot":"","sources":["../../src/doctor/orphan-ac-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,yCAAyC;AACzC,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAClD,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrD,oDAAoD;IACpD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3C,OAAO,CAAC,sBAAsB,CAAC,CAqBjC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * `cleo doctor ac-bindings` — evidence bindings whose acceptance criterion is gone.
3
+ *
4
+ * `tasks_evidence_ac_bindings.ac_id` has no foreign key to
5
+ * `tasks_task_acceptance_criteria` in the consolidated schema, so before
6
+ * T12790 every AC removed by an edit, and every AC cascaded away by a hard
7
+ * task delete, left its bindings behind. Those rows are meaningless to the
8
+ * coverage gate (it only reads bindings of ACs that exist) but they are not
9
+ * harmless: they count as evidence nobody can see and they inflate every
10
+ * scan of the table.
11
+ *
12
+ * T12790 prunes bindings together with their AC going forward. This check
13
+ * finds the rows already left behind. It is read-only by default; `--fix`
14
+ * removes them in one accessor transaction, writing each removed row to the
15
+ * task audit log (`ac.bindings.pruned`, reason `orphan-repair`) first, so the
16
+ * binding history alias-drift detection relies on is preserved.
17
+ *
18
+ * @module
19
+ * @task T12790
20
+ */
21
+ import { getTaskAccessor } from '../store/data-accessor.js';
22
+ /**
23
+ * Find — and with `fix: true`, remove — bindings whose AC row is gone.
24
+ *
25
+ * @param cwd - project root
26
+ * @param opts - `fix: true` removes the orphans (audited); `limit` caps the
27
+ * rows echoed in the report (default 50; counts are exact)
28
+ * @returns what was found and what was removed
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const report = await scanOrphanAcBindings(projectRoot);
33
+ * if (report.orphanCount > 0) console.error('dangling evidence bindings');
34
+ * ```
35
+ *
36
+ * @task T12790
37
+ */
38
+ export async function scanOrphanAcBindings(cwd, opts = {}) {
39
+ const accessor = await getTaskAccessor(cwd);
40
+ const found = await accessor.findOrphanAcBindings();
41
+ let removed = 0;
42
+ if (opts.fix === true && found.length > 0) {
43
+ const pruned = await accessor.transaction((tx) => tx.pruneOrphanAcBindings());
44
+ removed = pruned.length;
45
+ }
46
+ const counts = new Map();
47
+ for (const row of found)
48
+ counts.set(row.bindingType, (counts.get(row.bindingType) ?? 0) + 1);
49
+ const limit = Math.max(0, Math.floor(opts.limit ?? 50));
50
+ return {
51
+ orphanCount: found.length,
52
+ byType: [...counts].map(([bindingType, count]) => ({ bindingType, count })),
53
+ missingAcIds: [...new Set(found.map((row) => row.acId))],
54
+ orphans: found.slice(0, limit),
55
+ repaired: opts.fix === true,
56
+ removed,
57
+ };
58
+ }
59
+ //# sourceMappingURL=orphan-ac-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphan-ac-bindings.js","sourceRoot":"","sources":["../../src/doctor/orphan-ac-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA0B5D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAW,EACX,OAA0C,EAAE;IAE5C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC9E,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuC,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAExD,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,MAAM;QACzB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/doctor/projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAIV,4BAA4B,EAG5B,2BAA2B,EAE5B,MAAM,qBAAqB,CAAC;AAiE7B,2CAA2C;AAC3C,MAAM,WAAW,0BAA0B;IACzC,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4DD,mEAAmE;AACnE,qBAAa,mBAAoB,SAAQ,KAAK;IAS1C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,qBAAqB;IARtD,gBAAgB;IAChB,SAAkB,IAAI,yBAAyB;IAE/C;;;OAGG;gBAEQ,IAAI,EAAE,aAAa,GAAG,qBAAqB,EACpD,OAAO,EAAE,MAAM;CAIlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,OAAO,CAGvF;AA8DD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASjD;AA8gBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAoMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,4BAA4B,CAAC,CAuIvC;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAM,GACtD,OAAO,CAAC,2BAA2B,CAAC,CAiEtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9D,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAwDhC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/doctor/projects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAIV,4BAA4B,EAG5B,2BAA2B,EAE5B,MAAM,qBAAqB,CAAC;AAkE7B,2CAA2C;AAC3C,MAAM,WAAW,0BAA0B;IACzC,mFAAmF;IACnF,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4DD,mEAAmE;AACnE,qBAAa,mBAAoB,SAAQ,KAAK;IAS1C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,qBAAqB;IARtD,gBAAgB;IAChB,SAAkB,IAAI,yBAAyB;IAE/C;;;OAGG;gBAEQ,IAAI,EAAE,aAAa,GAAG,qBAAqB,EACpD,OAAO,EAAE,MAAM;CAIlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,OAAO,CAGvF;AAgED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASjD;AAuhBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAoMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,4BAA4B,CAAC,CAuIvC;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAM,GACtD,OAAO,CAAC,2BAA2B,CAAC,CAiEtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,aAAa,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9D,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAwDhC"}
@@ -44,6 +44,7 @@ import { collectCheckoutEvidence } from '../nexus/identity.js';
44
44
  import { registryAliasClaimants } from '../nexus/legacy-alias.js';
45
45
  import { confirmProjectLocation, currentDeviceId, demoteProjectLocation, holdingKey, isSupersededRegistryPath, LOCAL_DEVICE_SENTINEL, probeProjectHolding, } from '../nexus/path-map.js';
46
46
  import { walkForCleoBounded, withinBudget } from '../nexus/projects-scan.js';
47
+ import { toRegistryReadError } from '../nexus/registry-errors.js';
47
48
  import { isEphemeralPath } from '../nexus/registry-hygiene.js';
48
49
  import { getCleoHome } from '../paths.js';
49
50
  import { isStrictlyInsideDir, readValidProjectTombstone } from '../project-tombstone.js';
@@ -133,11 +134,14 @@ function chunks(items) {
133
134
  async function openRegistry(cleoHome) {
134
135
  const { getNexusRegistryDb, getNexusRegistryDbPath } = await import('../store/nexus-sqlite.js');
135
136
  const schema = await import('../store/schema/nexus-schema.js');
136
- return {
137
- db: await getNexusRegistryDb(cleoHome),
138
- storePath: getNexusRegistryDbPath(cleoHome),
139
- ...schema,
140
- };
137
+ let db;
138
+ try {
139
+ db = await getNexusRegistryDb(cleoHome);
140
+ }
141
+ catch (error) {
142
+ throw toRegistryReadError('open project registry', error);
143
+ }
144
+ return { db, storePath: getNexusRegistryDbPath(cleoHome), ...schema };
141
145
  }
142
146
  /**
143
147
  * Scan `roots` and read the id each found project declares. Every `.cleo/`
@@ -458,30 +462,40 @@ async function inspect(opts) {
458
462
  const cleoHome = opts.cleoHome ?? getCleoHome();
459
463
  const budget = scanBudget(opts);
460
464
  const { db, storePath, projectRegistry, projectLocations, projectIdAliases } = await openRegistry(cleoHome);
461
- const rows = db
462
- .select({
463
- projectId: projectRegistry.projectId,
464
- projectPath: projectRegistry.projectPath,
465
- name: projectRegistry.name,
466
- })
467
- .from(projectRegistry)
468
- .all();
469
- const locations = db
470
- .select({
471
- projectId: projectLocations.projectId,
472
- deviceId: projectLocations.deviceId,
473
- path: projectLocations.path,
474
- state: projectLocations.state,
475
- checkoutNonce: projectLocations.checkoutNonce,
476
- gitRemote: projectLocations.gitRemote,
477
- gitRootCommit: projectLocations.gitRootCommit,
478
- })
479
- .from(projectLocations)
480
- .all();
481
- const aliases = db
482
- .select({ legacyId: projectIdAliases.legacyId, canonicalId: projectIdAliases.canonicalId })
483
- .from(projectIdAliases)
484
- .all();
465
+ // T12512: an unreadable registry is a typed error (E_NEXUS_REGISTRY_READ,
466
+ // exit 75), never an empty report that reads as "nothing to repair".
467
+ let rows;
468
+ let locations;
469
+ let aliases;
470
+ try {
471
+ rows = db
472
+ .select({
473
+ projectId: projectRegistry.projectId,
474
+ projectPath: projectRegistry.projectPath,
475
+ name: projectRegistry.name,
476
+ })
477
+ .from(projectRegistry)
478
+ .all();
479
+ locations = db
480
+ .select({
481
+ projectId: projectLocations.projectId,
482
+ deviceId: projectLocations.deviceId,
483
+ path: projectLocations.path,
484
+ state: projectLocations.state,
485
+ checkoutNonce: projectLocations.checkoutNonce,
486
+ gitRemote: projectLocations.gitRemote,
487
+ gitRootCommit: projectLocations.gitRootCommit,
488
+ })
489
+ .from(projectLocations)
490
+ .all();
491
+ aliases = db
492
+ .select({ legacyId: projectIdAliases.legacyId, canonicalId: projectIdAliases.canonicalId })
493
+ .from(projectIdAliases)
494
+ .all();
495
+ }
496
+ catch (error) {
497
+ throw toRegistryReadError('inspect project registry', error);
498
+ }
485
499
  const deviceId = currentDeviceId();
486
500
  const local = (l) => l.deviceId === deviceId || l.deviceId === LOCAL_DEVICE_SENTINEL;
487
501
  const aliasPairs = new Set(aliases.map((a) => `${a.legacyId}\u0000${a.canonicalId}`));
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/doctor/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/doctor/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * `cleo doctor` view of row uids (T12341; spec `t12341-uid-scheme` §5, §6).
3
+ *
4
+ * Reads the project store read-only, WITHOUT binding a domain, and reports:
5
+ *
6
+ * - rows still without a uid or birth fingerprint (an older build wrote them;
7
+ * the next open by this build fills them);
8
+ * - rows the uid recipes flag: an unknown birth (uid timestamp 0), a natural
9
+ * row whose key references a missing row (`dangling:` uid), and the reversed
10
+ * twin of a symmetric relation stored both ways (a duplicate to drop).
11
+ *
12
+ * @module
13
+ * @task T12341
14
+ */
15
+ /** One row of the default `cleo doctor` report (the `DoctorCheck` shape). */
16
+ export interface RowIdentityDoctorCheck {
17
+ readonly check: 'row_identity';
18
+ readonly status: 'ok' | 'warning';
19
+ readonly message: string;
20
+ readonly details?: Record<string, unknown>;
21
+ }
22
+ /**
23
+ * The `row_identity` check of the default `cleo doctor` report: `warning` when
24
+ * rows lack a uid or fingerprint, or when the recipes flag rows.
25
+ *
26
+ * @param projectRoot - Project directory.
27
+ * @returns The check row.
28
+ * @task T12341
29
+ */
30
+ export declare function rowIdentityDoctorCheck(projectRoot: string): RowIdentityDoctorCheck;
31
+ //# sourceMappingURL=row-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-identity.d.ts","sourceRoot":"","sources":["../../src/doctor/row-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,CAgElF"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * `cleo doctor` view of row uids (T12341; spec `t12341-uid-scheme` §5, §6).
3
+ *
4
+ * Reads the project store read-only, WITHOUT binding a domain, and reports:
5
+ *
6
+ * - rows still without a uid or birth fingerprint (an older build wrote them;
7
+ * the next open by this build fills them);
8
+ * - rows the uid recipes flag: an unknown birth (uid timestamp 0), a natural
9
+ * row whose key references a missing row (`dangling:` uid), and the reversed
10
+ * twin of a symmetric relation stored both ways (a duplicate to drop).
11
+ *
12
+ * @module
13
+ * @task T12341
14
+ */
15
+ import { existsSync } from 'node:fs';
16
+ import { resolveDualScopeDbPath } from '../store/dual-scope-db.js';
17
+ import { openCleoDbSnapshot } from '../store/open-cleo-db.js';
18
+ import { BIRTH_FP_COLUMN, ROW_IDENTITY, rowIdentityFindings, UID_COLUMN, } from '../store/row-identity.js';
19
+ import { ROW_UID_FILL_FLAG, rowUidFillEnabled } from '../store/row-identity-flag.js';
20
+ /**
21
+ * The `row_identity` check of the default `cleo doctor` report: `warning` when
22
+ * rows lack a uid or fingerprint, or when the recipes flag rows.
23
+ *
24
+ * @param projectRoot - Project directory.
25
+ * @returns The check row.
26
+ * @task T12341
27
+ */
28
+ export function rowIdentityDoctorCheck(projectRoot) {
29
+ if (!rowUidFillEnabled()) {
30
+ return {
31
+ check: 'row_identity',
32
+ status: 'ok',
33
+ message: `row uids are off (set ${ROW_UID_FILL_FLAG}=1 to enable them)`,
34
+ };
35
+ }
36
+ const dbPath = resolveDualScopeDbPath('project', projectRoot);
37
+ if (!existsSync(dbPath)) {
38
+ return { check: 'row_identity', status: 'ok', message: 'no project store yet' };
39
+ }
40
+ let unfilled;
41
+ let findings;
42
+ try {
43
+ const snap = openCleoDbSnapshot(dbPath, { readOnly: true });
44
+ try {
45
+ const has = (column, table) => (snap.db.prepare('SELECT 1 FROM pragma_table_info(?) WHERE name = ?').get(table, column) ??
46
+ null) !== null;
47
+ unfilled = {};
48
+ for (const spec of ROW_IDENTITY.project) {
49
+ if (!has(UID_COLUMN, spec.table))
50
+ continue;
51
+ const fp = spec.kind === 'minted' && has(BIRTH_FP_COLUMN, spec.table);
52
+ const row = snap.db
53
+ .prepare(`SELECT count(*) AS n FROM "${spec.table}" WHERE ${UID_COLUMN} IS NULL${fp ? ` OR ${BIRTH_FP_COLUMN} IS NULL` : ''}`)
54
+ .get();
55
+ if (row.n > 0)
56
+ unfilled[spec.table] = row.n;
57
+ }
58
+ findings = rowIdentityFindings(snap.db, 'project');
59
+ }
60
+ finally {
61
+ snap.close();
62
+ }
63
+ }
64
+ catch (error) {
65
+ return {
66
+ check: 'row_identity',
67
+ status: 'warning',
68
+ message: `row uid state unreadable: ${error instanceof Error ? error.message : String(error)}`,
69
+ };
70
+ }
71
+ const list = (counts) => Object.entries(counts)
72
+ .map(([table, n]) => `${table} (${n})`)
73
+ .join(', ');
74
+ const parts = [
75
+ Object.keys(unfilled).length > 0
76
+ ? `rows without a uid or birth fingerprint, filled at the next open: ${list(unfilled)}`
77
+ : '',
78
+ Object.keys(findings.unknownBirth).length > 0
79
+ ? `rows with an unknown birth (uid timestamp 0): ${list(findings.unknownBirth)}`
80
+ : '',
81
+ Object.keys(findings.danglingRefs).length > 0
82
+ ? `rows referencing a missing row (dangling uid): ${list(findings.danglingRefs)}`
83
+ : '',
84
+ Object.keys(findings.mirrorEdges).length > 0
85
+ ? `symmetric relations stored in both directions (duplicates to drop): ${list(findings.mirrorEdges)}`
86
+ : '',
87
+ ].filter(Boolean);
88
+ const details = { dbPath, unfilled, findings };
89
+ return parts.length > 0
90
+ ? { check: 'row_identity', status: 'warning', message: parts.join('; '), details }
91
+ : { check: 'row_identity', status: 'ok', message: 'every row has a uid', details };
92
+ }
93
+ //# sourceMappingURL=row-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-identity.js","sourceRoot":"","sources":["../../src/doctor/row-identity.ts"],"names":[],"mappings":"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"}