@cleocode/core 2026.7.2 → 2026.8.2

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 (297) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/bootstrap.js +57 -27
  3. package/dist/bootstrap.js.map +1 -1
  4. package/dist/conduit/local-transport.d.ts +3 -6
  5. package/dist/conduit/local-transport.d.ts.map +1 -1
  6. package/dist/conduit/local-transport.js +6 -7
  7. package/dist/conduit/local-transport.js.map +1 -1
  8. package/dist/db/index.d.ts +28 -1
  9. package/dist/db/index.d.ts.map +1 -1
  10. package/dist/db/index.js +28 -1
  11. package/dist/db/index.js.map +1 -1
  12. package/dist/docs/display-alias.js +1 -1
  13. package/dist/docs/display-alias.js.map +1 -1
  14. package/dist/docs/export-document.js +16292 -22315
  15. package/dist/docs/export-document.js.map +3 -3
  16. package/dist/docs/numbering.js +1 -1
  17. package/dist/docs/numbering.js.map +1 -1
  18. package/dist/docs/supersede.js +1 -1
  19. package/dist/docs/supersede.js.map +1 -1
  20. package/dist/goal/store.d.ts.map +1 -1
  21. package/dist/goal/store.js.map +1 -1
  22. package/dist/hooks/payload-schemas.d.ts +9 -9
  23. package/dist/injection.d.ts.map +1 -1
  24. package/dist/injection.js +44 -3
  25. package/dist/injection.js.map +1 -1
  26. package/dist/lifecycle/index.js +1 -1
  27. package/dist/lifecycle/index.js.map +1 -1
  28. package/dist/llm/pi/pi-session-storage.d.ts.map +1 -1
  29. package/dist/llm/pi/pi-session-storage.js +6 -1
  30. package/dist/llm/pi/pi-session-storage.js.map +1 -1
  31. package/dist/llm/plugin-facade.js +5726 -16641
  32. package/dist/llm/plugin-facade.js.map +3 -3
  33. package/dist/memory/brain-backfill.js +3 -3
  34. package/dist/memory/brain-backfill.js.map +1 -1
  35. package/dist/memory/brain-consolidator.js +2 -2
  36. package/dist/memory/brain-consolidator.js.map +1 -1
  37. package/dist/memory/brain-doctor.js +1 -1
  38. package/dist/memory/brain-doctor.js.map +1 -1
  39. package/dist/memory/brain-health-dashboard.js +1 -1
  40. package/dist/memory/brain-health-dashboard.js.map +1 -1
  41. package/dist/memory/brain-lifecycle.js +10 -10
  42. package/dist/memory/brain-lifecycle.js.map +1 -1
  43. package/dist/memory/brain-links.d.ts +26 -2
  44. package/dist/memory/brain-links.d.ts.map +1 -1
  45. package/dist/memory/brain-links.js +65 -19
  46. package/dist/memory/brain-links.js.map +1 -1
  47. package/dist/memory/brain-maintenance.js +1 -1
  48. package/dist/memory/brain-maintenance.js.map +1 -1
  49. package/dist/memory/brain-page-nodes.js +4 -4
  50. package/dist/memory/brain-page-nodes.js.map +1 -1
  51. package/dist/memory/brain-reasoning.js +1 -1
  52. package/dist/memory/brain-reasoning.js.map +1 -1
  53. package/dist/memory/brain-search.js +1 -1
  54. package/dist/memory/brain-search.js.map +1 -1
  55. package/dist/memory/brain-similarity.js +1 -1
  56. package/dist/memory/brain-similarity.js.map +1 -1
  57. package/dist/memory/brain-stdp.js +6 -6
  58. package/dist/memory/brain-stdp.js.map +1 -1
  59. package/dist/memory/brain-sweep-executor.js +1 -1
  60. package/dist/memory/brain-sweep-executor.js.map +1 -1
  61. package/dist/memory/brain-writer-handlers.js +2 -2
  62. package/dist/memory/brain-writer-handlers.js.map +1 -1
  63. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  64. package/dist/memory/brain-writer-thread.js +31 -40
  65. package/dist/memory/brain-writer-thread.js.map +1 -1
  66. package/dist/memory/claude-mem-migration.d.ts.map +1 -1
  67. package/dist/memory/claude-mem-migration.js +9 -3
  68. package/dist/memory/claude-mem-migration.js.map +1 -1
  69. package/dist/memory/dialectic-evaluator.d.ts +11 -6
  70. package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
  71. package/dist/memory/dialectic-evaluator.js +8 -2
  72. package/dist/memory/dialectic-evaluator.js.map +1 -1
  73. package/dist/memory/engine-compat.js +4 -4
  74. package/dist/memory/engine-compat.js.map +1 -1
  75. package/dist/memory/extraction-gate.js +3 -3
  76. package/dist/memory/extraction-gate.js.map +1 -1
  77. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  78. package/dist/memory/graph-memory-bridge.js +12 -10
  79. package/dist/memory/graph-memory-bridge.js.map +1 -1
  80. package/dist/memory/graph-queries.js +4 -4
  81. package/dist/memory/graph-queries.js.map +1 -1
  82. package/dist/memory/learnings.d.ts +8 -8
  83. package/dist/memory/llm-extraction.js +1 -1
  84. package/dist/memory/llm-extraction.js.map +1 -1
  85. package/dist/memory/memory-bridge.js +1 -1
  86. package/dist/memory/memory-bridge.js.map +1 -1
  87. package/dist/memory/nexus-plasticity.js +1 -1
  88. package/dist/memory/nexus-plasticity.js.map +1 -1
  89. package/dist/memory/observer-reflector.js +1 -1
  90. package/dist/memory/observer-reflector.js.map +1 -1
  91. package/dist/memory/patterns.d.ts +14 -14
  92. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  93. package/dist/memory/pipeline-manifest-sqlite.js +13 -3
  94. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  95. package/dist/memory/quality-feedback.js +4 -4
  96. package/dist/memory/quality-feedback.js.map +1 -1
  97. package/dist/memory/retrieval/build-retrieval-bundle.d.ts +1 -1
  98. package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
  99. package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
  100. package/dist/memory/retrieval/increment-citation-counts.js +1 -1
  101. package/dist/memory/retrieval/increment-citation-counts.js.map +1 -1
  102. package/dist/memory/retrieval/log-retrieval.js +1 -1
  103. package/dist/memory/retrieval/log-retrieval.js.map +1 -1
  104. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  105. package/dist/memory/retrieval/observe.js +32 -17
  106. package/dist/memory/retrieval/observe.js.map +1 -1
  107. package/dist/memory/retrieval/search.js +1 -1
  108. package/dist/memory/retrieval/search.js.map +1 -1
  109. package/dist/memory/retrieval/timeline.js +1 -1
  110. package/dist/memory/retrieval/timeline.js.map +1 -1
  111. package/dist/memory/session-memory.d.ts.map +1 -1
  112. package/dist/memory/session-memory.js +35 -1
  113. package/dist/memory/session-memory.js.map +1 -1
  114. package/dist/memory/sleep-consolidation.js +4 -4
  115. package/dist/memory/sleep-consolidation.js.map +1 -1
  116. package/dist/memory/temporal-supersession.js +5 -5
  117. package/dist/memory/temporal-supersession.js.map +1 -1
  118. package/dist/memory/transcript-extractor.js +1 -1
  119. package/dist/memory/transcript-extractor.js.map +1 -1
  120. package/dist/memory/transcript-ingestor.js +1 -1
  121. package/dist/memory/transcript-ingestor.js.map +1 -1
  122. package/dist/memory/transcript-scanner.js +1 -1
  123. package/dist/memory/transcript-scanner.js.map +1 -1
  124. package/dist/nexus/living-brain.js +7 -7
  125. package/dist/nexus/living-brain.js.map +1 -1
  126. package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
  127. package/dist/nexus/migrations/M-split-graph.js +4 -1
  128. package/dist/nexus/migrations/M-split-graph.js.map +1 -1
  129. package/dist/nexus/sigil.d.ts +1 -2
  130. package/dist/nexus/sigil.d.ts.map +1 -1
  131. package/dist/nexus/tasks-bridge.js +4 -4
  132. package/dist/nexus/tasks-bridge.js.map +1 -1
  133. package/dist/nexus/user-profile.d.ts +1 -2
  134. package/dist/nexus/user-profile.d.ts.map +1 -1
  135. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  136. package/dist/orchestration/spawn-prompt.js +4 -2
  137. package/dist/orchestration/spawn-prompt.js.map +1 -1
  138. package/dist/release/reconcile.d.ts.map +1 -1
  139. package/dist/release/reconcile.js +5 -1
  140. package/dist/release/reconcile.js.map +1 -1
  141. package/dist/sagas/migrate-containment.d.ts.map +1 -1
  142. package/dist/sagas/migrate-containment.js +4 -2
  143. package/dist/sagas/migrate-containment.js.map +1 -1
  144. package/dist/scaffold/ensure-dirs.js +1 -1
  145. package/dist/scaffold/ensure-dirs.js.map +1 -1
  146. package/dist/scaffold/ensure-skills.d.ts.map +1 -1
  147. package/dist/scaffold/ensure-skills.js +67 -0
  148. package/dist/scaffold/ensure-skills.js.map +1 -1
  149. package/dist/selfimprove/dhq-adapter.d.ts.map +1 -1
  150. package/dist/selfimprove/dhq-adapter.js +6 -2
  151. package/dist/selfimprove/dhq-adapter.js.map +1 -1
  152. package/dist/selfimprove/fix-gen.js +5833 -16627
  153. package/dist/selfimprove/fix-gen.js.map +3 -3
  154. package/dist/sentient/dream-cycle.js +1 -1
  155. package/dist/sentient/dream-cycle.js.map +1 -1
  156. package/dist/sentient/hygiene-scan.js +1 -1
  157. package/dist/sentient/hygiene-scan.js.map +1 -1
  158. package/dist/sentient/propose-tick.js +3 -3
  159. package/dist/sentient/propose-tick.js.map +1 -1
  160. package/dist/sentient/stage-drift-tick.js +1 -1
  161. package/dist/sentient/stage-drift-tick.js.map +1 -1
  162. package/dist/sequence/index.js +1 -1
  163. package/dist/sequence/index.js.map +1 -1
  164. package/dist/store/agent-registry-store.d.ts.map +1 -1
  165. package/dist/store/agent-registry-store.js +72 -30
  166. package/dist/store/agent-registry-store.js.map +1 -1
  167. package/dist/store/attachment-store.js +3 -3
  168. package/dist/store/attachment-store.js.map +1 -1
  169. package/dist/store/background-jobs.d.ts +1 -2
  170. package/dist/store/background-jobs.d.ts.map +1 -1
  171. package/dist/store/background-jobs.js.map +1 -1
  172. package/dist/store/conduit-sqlite.d.ts +21 -1
  173. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  174. package/dist/store/conduit-sqlite.js +43 -58
  175. package/dist/store/conduit-sqlite.js.map +1 -1
  176. package/dist/store/cross-db-cleanup.d.ts +38 -0
  177. package/dist/store/cross-db-cleanup.d.ts.map +1 -1
  178. package/dist/store/cross-db-cleanup.js +125 -0
  179. package/dist/store/cross-db-cleanup.js.map +1 -1
  180. package/dist/store/db-helpers.d.ts +1 -2
  181. package/dist/store/db-helpers.d.ts.map +1 -1
  182. package/dist/store/dual-scope-db.d.ts +343 -4
  183. package/dist/store/dual-scope-db.d.ts.map +1 -1
  184. package/dist/store/dual-scope-db.js +665 -262
  185. package/dist/store/dual-scope-db.js.map +1 -1
  186. package/dist/store/memory-accessor.d.ts +1 -1
  187. package/dist/store/memory-accessor.d.ts.map +1 -1
  188. package/dist/store/memory-accessor.js.map +1 -1
  189. package/dist/store/memory-sqlite.d.ts +58 -4
  190. package/dist/store/memory-sqlite.d.ts.map +1 -1
  191. package/dist/store/memory-sqlite.js +70 -78
  192. package/dist/store/memory-sqlite.js.map +1 -1
  193. package/dist/store/migration-manager.d.ts +7 -4
  194. package/dist/store/migration-manager.d.ts.map +1 -1
  195. package/dist/store/migration-manager.js +10 -10
  196. package/dist/store/migration-manager.js.map +1 -1
  197. package/dist/store/migration-sqlite.js +1 -1
  198. package/dist/store/migration-sqlite.js.map +1 -1
  199. package/dist/store/nexus-sqlite.d.ts +43 -1
  200. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  201. package/dist/store/nexus-sqlite.js +80 -116
  202. package/dist/store/nexus-sqlite.js.map +1 -1
  203. package/dist/store/ports/domain-binding.d.ts +233 -0
  204. package/dist/store/ports/domain-binding.d.ts.map +1 -0
  205. package/dist/store/ports/domain-binding.js +500 -0
  206. package/dist/store/ports/domain-binding.js.map +1 -0
  207. package/dist/store/ports/fk-integrity.d.ts +155 -0
  208. package/dist/store/ports/fk-integrity.d.ts.map +1 -0
  209. package/dist/store/ports/fk-integrity.js +182 -0
  210. package/dist/store/ports/fk-integrity.js.map +1 -0
  211. package/dist/store/role-accessors-impl.js +2 -2
  212. package/dist/store/role-accessors-impl.js.map +1 -1
  213. package/dist/store/schema/attachments.d.ts +1 -1
  214. package/dist/store/schema/audit.d.ts +2 -2
  215. package/dist/store/schema/background-jobs.d.ts +1 -1
  216. package/dist/store/schema/cleo-global/agent-registry.d.ts +1 -1
  217. package/dist/store/schema/cleo-global/models-catalog.d.ts +1 -1
  218. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  219. package/dist/store/schema/cleo-project/audit.d.ts +2 -2
  220. package/dist/store/schema/cleo-project/docs.d.ts +1 -1
  221. package/dist/store/schema/cleo-project/lifecycle.d.ts +4 -4
  222. package/dist/store/schema/cleo-project/nexus-graph.d.ts +2 -2
  223. package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
  224. package/dist/store/schema/cleo-project/runtime.d.ts +2 -2
  225. package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
  226. package/dist/store/schema/cleo-project/tasks-core.d.ts +3 -3
  227. package/dist/store/schema/cleo-shared/brain.d.ts +5 -5
  228. package/dist/store/schema/jsonb.js +1 -1
  229. package/dist/store/schema/jsonb.js.map +1 -1
  230. package/dist/store/schema/lifecycle.d.ts +4 -4
  231. package/dist/store/schema/memory-schema.d.ts +3 -3
  232. package/dist/store/schema/nexus-schema.d.ts +1 -1
  233. package/dist/store/schema/provenance/releases.d.ts +3 -3
  234. package/dist/store/schema/skills-schema.d.ts +2 -2
  235. package/dist/store/schema/tasks.d.ts +2 -2
  236. package/dist/store/skills-db.d.ts +20 -1
  237. package/dist/store/skills-db.d.ts.map +1 -1
  238. package/dist/store/skills-db.js +80 -72
  239. package/dist/store/skills-db.js.map +1 -1
  240. package/dist/store/sqlite-backup.js +2 -2
  241. package/dist/store/sqlite-backup.js.map +1 -1
  242. package/dist/store/sqlite-data-accessor.js +1 -1
  243. package/dist/store/sqlite-data-accessor.js.map +1 -1
  244. package/dist/store/sqlite.d.ts +73 -11
  245. package/dist/store/sqlite.d.ts.map +1 -1
  246. package/dist/store/sqlite.js +173 -138
  247. package/dist/store/sqlite.js.map +1 -1
  248. package/dist/store/tasks-sqlite.js +2 -2
  249. package/dist/store/tasks-sqlite.js.map +1 -1
  250. package/dist/store/validation-schemas.d.ts +35 -35
  251. package/dist/store/writer-lease.d.ts +85 -53
  252. package/dist/store/writer-lease.d.ts.map +1 -1
  253. package/dist/store/writer-lease.js +194 -112
  254. package/dist/store/writer-lease.js.map +1 -1
  255. package/dist/system/health.d.ts +0 -4
  256. package/dist/system/health.d.ts.map +1 -1
  257. package/dist/system/health.js +58 -2
  258. package/dist/system/health.js.map +1 -1
  259. package/dist/tasks/add.d.ts.map +1 -1
  260. package/dist/tasks/add.js +9 -2
  261. package/dist/tasks/add.js.map +1 -1
  262. package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
  263. package/dist/tasks/backfill-child-projections.js +3 -1
  264. package/dist/tasks/backfill-child-projections.js.map +1 -1
  265. package/dist/tasks/evidence.d.ts +17 -0
  266. package/dist/tasks/evidence.d.ts.map +1 -1
  267. package/dist/tasks/evidence.js +145 -35
  268. package/dist/tasks/evidence.js.map +1 -1
  269. package/dist/tasks/infer-add-params.d.ts.map +1 -1
  270. package/dist/tasks/infer-add-params.js +6 -1
  271. package/dist/tasks/infer-add-params.js.map +1 -1
  272. package/dist/tasks/tool-cache.d.ts +29 -0
  273. package/dist/tasks/tool-cache.d.ts.map +1 -1
  274. package/dist/tasks/tool-cache.js +166 -6
  275. package/dist/tasks/tool-cache.js.map +1 -1
  276. package/dist/tasks/tool-resolver.d.ts +5 -1
  277. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  278. package/dist/tasks/tool-resolver.js +28 -20
  279. package/dist/tasks/tool-resolver.js.map +1 -1
  280. package/dist/telemetry/index.d.ts.map +1 -1
  281. package/dist/telemetry/index.js +4 -1
  282. package/dist/telemetry/index.js.map +1 -1
  283. package/dist/telemetry/sqlite.d.ts +1 -2
  284. package/dist/telemetry/sqlite.d.ts.map +1 -1
  285. package/dist/telemetry/sqlite.js +1 -2
  286. package/dist/telemetry/sqlite.js.map +1 -1
  287. package/dist/upgrade.js +2 -2
  288. package/dist/upgrade.js.map +1 -1
  289. package/dist/validation/doctor/checks.d.ts +23 -1
  290. package/dist/validation/doctor/checks.d.ts.map +1 -1
  291. package/dist/validation/doctor/checks.js +79 -19
  292. package/dist/validation/doctor/checks.js.map +1 -1
  293. package/dist/worktree/list.js +1 -1
  294. package/dist/worktree/list.js.map +1 -1
  295. package/package.json +24 -14
  296. package/schemas/project-context.schema.json +69 -0
  297. package/templates/workflows/release-prepare.yml.tmpl +10 -0
@@ -269,6 +269,13 @@ export async function reconcileOrphanedRefs(cwd) {
269
269
  }
270
270
  return result;
271
271
  }
272
+ /**
273
+ * Verify a session ID through the caller's shared tasks database handle.
274
+ *
275
+ * @param sessionId - Session ID to verify.
276
+ * @param tasksDb - Shared tasks database handle.
277
+ * @returns True when the session exists.
278
+ */
272
279
  export async function sessionExistsInTasksDb(sessionId, tasksDb) {
273
280
  const { sessions } = await import('./tasks-schema.js');
274
281
  const { eq: eqOp } = await import('drizzle-orm');
@@ -279,6 +286,124 @@ export async function sessionExistsInTasksDb(sessionId, tasksDb) {
279
286
  .all();
280
287
  return result.length > 0;
281
288
  }
289
+ const FRESH_PROBE_ATTEMPTS = 3;
290
+ const FRESH_PROBE_RETRY_DELAY_MS = 25;
291
+ function projectRecordExists(probe, id, tableNames) {
292
+ const availableRows = probe
293
+ .prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name IN (?, ?)")
294
+ .all(...tableNames);
295
+ const availableNames = new Set();
296
+ for (const row of availableRows) {
297
+ const name = row['name'];
298
+ if (name === 'sessions' ||
299
+ name === 'tasks_sessions' ||
300
+ name === 'tasks' ||
301
+ name === 'tasks_tasks') {
302
+ availableNames.add(name);
303
+ }
304
+ }
305
+ for (const tableName of tableNames) {
306
+ if (!availableNames.has(tableName))
307
+ continue;
308
+ const row = probe
309
+ .prepare(`SELECT 1 AS present FROM ${tableName} WHERE id = ? LIMIT 1`)
310
+ .get(id);
311
+ if (row !== undefined)
312
+ return true;
313
+ }
314
+ return false;
315
+ }
316
+ async function recordExistsInTasksDbFresh(id, tableNames, tasksDb, cwd) {
317
+ const [{ resolveDualScopeDbPath }, { openNativeDatabase }] = await Promise.all([
318
+ import('./dual-scope-db.js'),
319
+ import('./sqlite-native.js'),
320
+ ]);
321
+ const sharedNative = tasksDb?.$client;
322
+ const preferredPath = cwd !== undefined
323
+ ? resolveDualScopeDbPath('project', cwd)
324
+ : (sharedNative?.location() ?? resolveDualScopeDbPath('project'));
325
+ const sharedPath = sharedNative?.location();
326
+ const probePath = (dbPath) => {
327
+ const probe = openNativeDatabase(dbPath, {
328
+ readonly: true,
329
+ });
330
+ try {
331
+ return projectRecordExists(probe, id, tableNames);
332
+ }
333
+ finally {
334
+ probe.close();
335
+ }
336
+ };
337
+ const candidatePaths = sharedPath != null && sharedPath !== preferredPath
338
+ ? [preferredPath, sharedPath]
339
+ : [preferredPath];
340
+ let completedProbe = false;
341
+ for (let attempt = 0; attempt < FRESH_PROBE_ATTEMPTS; attempt += 1) {
342
+ for (const dbPath of candidatePaths) {
343
+ try {
344
+ const exists = probePath(dbPath);
345
+ completedProbe = true;
346
+ if (exists)
347
+ return true;
348
+ }
349
+ catch {
350
+ // A stale candidate may disappear between path discovery and the read-only open.
351
+ }
352
+ }
353
+ if (sharedNative?.isOpen) {
354
+ try {
355
+ const exists = projectRecordExists(sharedNative, id, tableNames);
356
+ completedProbe = true;
357
+ if (exists)
358
+ return true;
359
+ }
360
+ catch {
361
+ // The caller's handle may close after the liveness check.
362
+ }
363
+ }
364
+ if (attempt + 1 < FRESH_PROBE_ATTEMPTS) {
365
+ await new Promise((resolve) => setTimeout(resolve, FRESH_PROBE_RETRY_DELAY_MS));
366
+ }
367
+ }
368
+ if (completedProbe)
369
+ return false;
370
+ throw new Error(`Unable to verify project record ${id}: no readable tasks database candidate`);
371
+ }
372
+ /**
373
+ * Verify a session ID through fresh read-only connections and the caller's live handle.
374
+ *
375
+ * This is the bounded fallback for callers whose shared project handle either
376
+ * closed during the primary query or returned a stale empty result. It does not
377
+ * evict the dual-scope cache, so other domains retaining the shared handle stay
378
+ * live while the probe runs. The live handle is checked last because it can own
379
+ * a committed, unlinked SQLite file that is no longer reachable by path.
380
+ *
381
+ * @param sessionId - Session ID to verify.
382
+ * @param tasksDb - Shared tasks handle whose native path anchors the probe when available.
383
+ * @param cwd - Project root used to resolve the project-scope cleo.db.
384
+ * @returns True when the session is present in any live project session table.
385
+ * @throws Error when no database candidate can be read, distinguishing unavailable validation from absence.
386
+ * @task T12034
387
+ */
388
+ export async function sessionExistsInTasksDbFresh(sessionId, tasksDb, cwd) {
389
+ return recordExistsInTasksDbFresh(sessionId, ['sessions', 'tasks_sessions'], tasksDb, cwd);
390
+ }
391
+ /**
392
+ * Verify a task ID through fresh read-only connections and the caller's live handle.
393
+ *
394
+ * Checks both the active legacy tasks table and its consolidated prefixed
395
+ * counterpart so callers remain correct during the E3-to-E6 transition.
396
+ *
397
+ * @param taskId - Task ID to verify.
398
+ * @param tasksDb - Shared tasks handle used only when no project root is available.
399
+ * @param cwd - Project root used to resolve the authoritative project database.
400
+ * @returns True when the task exists in either supported project table.
401
+ * @throws Error when no database candidate can be read, distinguishing unavailable validation from absence.
402
+ * @task T12034
403
+ */
404
+ export async function taskExistsInTasksDbFresh(taskId, tasksDb, cwd) {
405
+ return recordExistsInTasksDbFresh(taskId, ['tasks', 'tasks_tasks'], tasksDb, cwd);
406
+ }
282
407
  /**
283
408
  * Verify an agent exists in the global Agent Registry before creating cross-DB references.
284
409
  * Returns true if the agent_id exists in the global cleo.db agent_registry_agents table.
@@ -1 +1 @@
1
- {"version":3,"file":"cross-db-cleanup.js","sourceRoot":"","sources":["../../src/store/cross-db-cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross-db-cleanup.js","sourceRoot":"","sources":["../../src/store/cross-db-cleanup.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,8 @@
9
9
  import type { ArchiveReasonValue, Session, Task } from '@cleocode/contracts';
10
10
  import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
11
11
  import type { NewTaskRow } from './tasks-schema.js';
12
- import * as schema from './tasks-schema.js';
13
12
  /** Drizzle database instance type. */
14
- type DrizzleDb = NodeSQLiteDatabase<typeof schema>;
13
+ type DrizzleDb = NodeSQLiteDatabase;
15
14
  /** Archive-specific fields for task upsert. */
16
15
  export interface ArchiveFields {
17
16
  archivedAt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"db-helpers.d.ts","sourceRoot":"","sources":["../../src/store/db-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAI5C,sCAAsC;AACtC,KAAK,SAAS,GAAG,kBAAkB,CAAC,OAAO,MAAM,CAAC,CAAC;AAEnD,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,UAAU,EACf,aAAa,CAAC,EAAE,aAAa,EAC7B,iBAAiB,UAAQ,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Ff;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAa3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ClF;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAS9F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAChD,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BvF"}
1
+ {"version":3,"file":"db-helpers.d.ts","sourceRoot":"","sources":["../../src/store/db-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD,sCAAsC;AACtC,KAAK,SAAS,GAAG,kBAAkB,CAAC;AAEpC,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,UAAU,EACf,aAAa,CAAC,EAAE,aAAa,EAC7B,iBAAiB,UAAQ,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Ff;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAa3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ClF;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAS9F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EAChD,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BvF"}
@@ -51,8 +51,7 @@
51
51
  */
52
52
  import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
53
53
  import { type ExodusAbortDetail } from './exodus/abort-events.js';
54
- import type * as CleoGlobalSchemaTypes from './schema/cleo-global/index.js';
55
- import type * as CleoProjectSchemaTypes from './schema/cleo-project/index.js';
54
+ import { type WriterLeaseIdentity } from './writer-lease.js';
56
55
  /**
57
56
  * The two canonical scopes for the consolidated dual-scope `cleo.db` substrate.
58
57
  *
@@ -61,9 +60,9 @@ import type * as CleoProjectSchemaTypes from './schema/cleo-project/index.js';
61
60
  */
62
61
  export type DualScope = 'project' | 'global';
63
62
  /** Typed Drizzle handle for the project-scope `cleo.db`. */
64
- export type CleoProjectDb = NodeSQLiteDatabase<typeof CleoProjectSchemaTypes>;
63
+ export type CleoProjectDb = NodeSQLiteDatabase;
65
64
  /** Typed Drizzle handle for the global-scope `cleo.db`. */
66
- export type CleoGlobalDb = NodeSQLiteDatabase<typeof CleoGlobalSchemaTypes>;
65
+ export type CleoGlobalDb = NodeSQLiteDatabase;
67
66
  /**
68
67
  * Handle returned by {@link openDualScopeDb}.
69
68
  *
@@ -78,6 +77,18 @@ export interface DualScopeDbHandle<TScope extends DualScope = DualScope> {
78
77
  readonly scope: TScope;
79
78
  /** Absolute path to the underlying SQLite file. */
80
79
  readonly dbPath: string;
80
+ /**
81
+ * Immutable writer-lease identity bound to this exact handle at construction
82
+ * (T12042). The chokepoint write primitives derive scope + dbPath from this
83
+ * identity via {@link resolveDbIdentity} — a caller cannot pair file-A
84
+ * identity with file-B DB. Frozen and normalized.
85
+ */
86
+ readonly identity: WriterLeaseIdentity;
87
+ /**
88
+ * Whether the underlying native `DatabaseSync` connection is still
89
+ * open. Reflects `nativeDb.isOpen` and is `false` after `close()`.
90
+ */
91
+ readonly isOpen: boolean;
81
92
  /**
82
93
  * Set ONLY when the exodus-on-open data-continuity gate ABORTED the first-open
83
94
  * auto-migration for this scope (T11828 · DHQ-059). When present, the handle is
@@ -253,6 +264,324 @@ export declare function openDualScopeDbAtPath(scope: 'global', dbPath: string, e
253
264
  * @internal
254
265
  */
255
266
  export declare function _resetDualScopeDbCache(scope?: DualScope): void;
267
+ /**
268
+ * A typed handle to a single project's consolidated `cleo.db`, keyed by canonical
269
+ * database path. Obtained from {@link CleoRuntime.openProject}.
270
+ *
271
+ * Each {@link ProjectStore} wraps ONE shared {@link DualScopeDbHandle} — closing
272
+ * it affects only this project; other projects and the global scope are untouched.
273
+ *
274
+ * ## Lifecycle identity
275
+ *
276
+ * Every store carries an opaque identity tag. Its `close()` is stale-safe: it only
277
+ * evicts the registry entry when that entry still belongs to THIS store (not a
278
+ * replacement opened after close). An old stale `close()` is a no-op.
279
+ *
280
+ * @task T12036 (E6-L12)
281
+ * @epic T11249 (E6)
282
+ * @saga T11242
283
+ */
284
+ export interface ProjectStore {
285
+ /** The literal scope discriminator. */
286
+ readonly scope: 'project';
287
+ /** Absolute on-disk path to this project's `cleo.db`. */
288
+ readonly dbPath: string;
289
+ /**
290
+ * Immutable writer-lease identity bound to this store's underlying
291
+ * {@link DualScopeDbHandle} at construction (T12042).
292
+ */
293
+ readonly identity: WriterLeaseIdentity;
294
+ /** The typed Drizzle ORM handle for the project-scope consolidated schema. */
295
+ readonly db: CleoProjectDb;
296
+ /**
297
+ * Whether the underlying native `DatabaseSync` connection is still
298
+ * open. `false` after `close()`. Delegates to
299
+ * {@link DualScopeDbHandle.isOpen}.
300
+ */
301
+ readonly isOpen: boolean;
302
+ /**
303
+ * Set when the exodus-on-open auto-migration aborted for this project
304
+ * (T11828 · DHQ-059). `undefined` on a normal open.
305
+ */
306
+ readonly exodusAbort?: ExodusAbortDetail;
307
+ /**
308
+ * Close this project's handle and evict it from the runtime registry
309
+ * if-and-only-if the registry still points to this store. Safe to call
310
+ * multiple times (idempotent). Does NOT affect the global scope or other
311
+ * open projects.
312
+ */
313
+ close(): void;
314
+ }
315
+ /**
316
+ * A typed handle to the global consolidated `cleo.db`, keyed by canonical
317
+ * database path. Obtained from {@link CleoRuntime.openGlobal}.
318
+ *
319
+ * The {@link GlobalStore} wraps the shared dual-scope chokepoint handle —
320
+ * closing it only disposes the global entry, never any project.
321
+ *
322
+ * ## Lifecycle identity
323
+ *
324
+ * Same stale-safe semantics as {@link ProjectStore}: an old `close()` after a
325
+ * reopen is a no-op.
326
+ *
327
+ * @task T12036 (E6-L12)
328
+ * @epic T11249 (E6)
329
+ * @saga T11242
330
+ */
331
+ export interface GlobalStore {
332
+ /** The literal scope discriminator. */
333
+ readonly scope: 'global';
334
+ /** Absolute on-disk path to the global `cleo.db`. */
335
+ readonly dbPath: string;
336
+ /**
337
+ * Immutable writer-lease identity bound to this store's underlying
338
+ * {@link DualScopeDbHandle} at construction (T12042).
339
+ */
340
+ readonly identity: WriterLeaseIdentity;
341
+ /** The typed Drizzle ORM handle for the global-scope consolidated schema. */
342
+ readonly db: CleoGlobalDb;
343
+ /**
344
+ * Whether the underlying native `DatabaseSync` connection is still
345
+ * open. `false` after `close()`. Delegates to
346
+ * {@link DualScopeDbHandle.isOpen}.
347
+ */
348
+ readonly isOpen: boolean;
349
+ /**
350
+ * Set when the exodus-on-open auto-migration aborted for the global scope
351
+ * (T11828 · DHQ-059). `undefined` on a normal open.
352
+ */
353
+ readonly exodusAbort?: ExodusAbortDetail;
354
+ /**
355
+ * Close the global handle and evict it from the runtime registry
356
+ * if-and-only-if the registry still points to this store. Safe to call
357
+ * multiple times (idempotent).
358
+ */
359
+ close(): void;
360
+ }
361
+ /**
362
+ * The CleoRuntime store registry — the explicit composition root that owns
363
+ * project and global database entries keyed by canonical database path.
364
+ *
365
+ * Created via {@link createCleoRuntime}. Each entry in the registry is a
366
+ * {@link ProjectStore} or {@link GlobalStore} that wraps a shared consolidated
367
+ * {@link DualScopeDbHandle} obtained from the dual-scope chokepoint
368
+ * ({@link openDualScopeDbAtPath}). The registry provides:
369
+ *
370
+ * - **Path-keyed identity** — entries are keyed by `${scope}::${canonical
371
+ * dbPath}` (scoped composite key), not cwd or "last opened project".
372
+ * Equivalent path spellings are normalized via `path.resolve` before keying
373
+ * so `/path/./to/cleo.db` and `/path/to/cleo.db` single-flight together.
374
+ * - **Single-flight** — concurrent `openProject(p)` or `openGlobal()` calls
375
+ * for the same key share one initialization. If the entry is closed during
376
+ * that initialization, the acquired handle is closed and the openers reject.
377
+ * - **Scoped disposal** — closing a project never closes another project or
378
+ * the global scope. `closeAll()` disposes every entry. Each store's `close()`
379
+ * is stale-safe: only evicts if the registry still references that exact
380
+ * store instance.
381
+ * - **Cache-hit liveness** — when the underlying `DatabaseSync` was externally
382
+ * closed, the registry evicts and reopens (mirrors the dual-scope chokepoint
383
+ * pattern).
384
+ *
385
+ * ## Cross-runtime sharing
386
+ *
387
+ * Two separate {@link CleoRuntime} instances (created by independent calls to
388
+ * {@link createCleoRuntime}) share the **process-global** dual-scope handle
389
+ * cache (`_cache` in this module). A project opened by runtime A returns a
390
+ * store whose `close()` closes that shared handle — runtime B's store for the
391
+ * same path will observe `isOpen === false` on its store, and the
392
+ * **cache-hit liveness** check in this runtime will reacquire a fresh handle
393
+ * on the next `openProject`/`openGlobal`. This is by design: the runtime
394
+ * registry owns **entry lifecycle**, not the underlying connection.
395
+ *
396
+ * For connection-level isolation, pass `{ dedicated: true }` to
397
+ * {@link CleoRuntime.openProject} or {@link CleoRuntime.openGlobal}. This
398
+ * opens a second `DatabaseSync` connection to the same file (WAL allows
399
+ * concurrent connections), bypasses the shared chokepoint cache, and returns
400
+ * a store whose `close()` closes only that dedicated connection. Dedicated
401
+ * entries are NOT keyed or tracked by the runtime registry — they are
402
+ * returned directly and the caller is responsible for closing them.
403
+ *
404
+ * @task T12036 (E6-L12)
405
+ * @epic T11249 (E6)
406
+ * @saga T11242
407
+ */
408
+ /**
409
+ * Options for {@link CleoRuntime.openProject} and
410
+ * {@link CleoRuntime.openGlobal}.
411
+ *
412
+ * @task T12036 (E6-L12)
413
+ */
414
+ export interface CleoRuntimeOpenOptions {
415
+ /**
416
+ * When `true`, open a DEDICATED, NON-cached connection — a second SQLite
417
+ * handle to the same file, independent of the singleton `_cache`. The
418
+ * returned store is NOT tracked in the runtime registry and its `close()`
419
+ * closes only that dedicated connection. Used for isolation between
420
+ * concurrent consumers (e.g. a snapshot worker, a migration engine).
421
+ *
422
+ * @default false
423
+ */
424
+ readonly dedicated?: boolean;
425
+ /**
426
+ * The project working directory that this open was resolved FROM.
427
+ *
428
+ * Forwarded verbatim to {@link openDualScopeDbAtPath} as its `exodusCwd`
429
+ * argument, which is what arms the exodus-on-open legacy-fleet
430
+ * auto-migration (E6 · T11553). {@link openDualScopeDb} passes its own
431
+ * `cwd` for exactly this reason; a runtime open that omits it would
432
+ * silently DISABLE auto-migration for users still carrying legacy
433
+ * standalone `tasks.db` / `brain.db` files.
434
+ *
435
+ * Domain ports that replace a `getDb(cwd)`-style facade MUST forward the
436
+ * caller's `cwd` here so behaviour is identical to the facade they retire.
437
+ * Leave `undefined` for explicit-path opens (test fixtures, snapshots)
438
+ * that must never auto-migrate.
439
+ *
440
+ * @task T12037 (E6-L13)
441
+ */
442
+ readonly exodusCwd?: string;
443
+ }
444
+ export interface CleoRuntime {
445
+ /**
446
+ * Open (or reuse) the project-scope `cleo.db` at the given path.
447
+ *
448
+ * The path may be relative or absolute — it is normalized via
449
+ * `path.resolve()` before keying. The path MUST resolve to a project's
450
+ * canonical `cleo.db` file (use {@link resolveDualScopeDbPath} to compute
451
+ * it from a project root directory).
452
+ *
453
+ * Concurrent calls for the same normalized path single-flight — all callers
454
+ * receive the same {@link ProjectStore} instance unless `dedicated: true`
455
+ * was passed.
456
+ *
457
+ * @param dbPath - Absolute or relative path to the project's `cleo.db`.
458
+ * Normalized via `path.resolve()` before keying.
459
+ * @param options - Optional open mode (e.g. `{ dedicated: true }`).
460
+ * @returns A typed {@link ProjectStore} bound to the requested path.
461
+ */
462
+ openProject(dbPath: string, options?: CleoRuntimeOpenOptions): Promise<ProjectStore>;
463
+ /**
464
+ * Open (or reuse) the global-scope `cleo.db`. The path is resolved
465
+ * internally via {@link getCleoHome}.
466
+ *
467
+ * Concurrent calls single-flight — all callers receive the same
468
+ * {@link GlobalStore} instance unless `dedicated: true`.
469
+ *
470
+ * @param options - Optional open mode (e.g. `{ dedicated: true }`).
471
+ * @returns A typed {@link GlobalStore} bound to the global scope.
472
+ */
473
+ openGlobal(options?: CleoRuntimeOpenOptions): Promise<GlobalStore>;
474
+ /**
475
+ * Open (or reuse) a global-scope `cleo.db` at an EXPLICIT path, bypassing the
476
+ * `getCleoHome()` resolver.
477
+ *
478
+ * The path-aware sibling of {@link openGlobal}, mirroring
479
+ * {@link openProject}. Exists for domains whose lifecycle API accepts an
480
+ * explicit on-disk path — notably the skills registry's test-sandbox
481
+ * `{ path }` override — so those opens still flow through ONE registry
482
+ * instead of a private cache.
483
+ *
484
+ * Keyed as `global::<normalized path>`, so a sandbox file and the canonical
485
+ * global `cleo.db` are distinct entries that never collide.
486
+ *
487
+ * @param dbPath - Absolute or relative path to a global-scope `cleo.db`.
488
+ * Normalized via `path.resolve()` before keying.
489
+ * @param options - Optional open mode (e.g. `{ dedicated: true }`).
490
+ * @returns A typed {@link GlobalStore} bound to the requested path.
491
+ *
492
+ * @task T12039 (E6-L15)
493
+ */
494
+ openGlobalAt(dbPath: string, options?: CleoRuntimeOpenOptions): Promise<GlobalStore>;
495
+ /**
496
+ * Close and evict a single project entry from the registry. The
497
+ * underlying dual-scope handle is closed (evicted from the chokepoint
498
+ * cache) and this project is removed from the registry map. Other
499
+ * projects and the global scope are unaffected.
500
+ *
501
+ * If the project is mid-initialization, the in-flight open is cancelled:
502
+ * its acquired handle is closed and its promise rejects.
503
+ *
504
+ * Idempotent — a path not in the registry is a no-op.
505
+ *
506
+ * @param dbPath - The path previously passed to {@link openProject}.
507
+ * Normalized internally.
508
+ */
509
+ closeProject(dbPath: string): void;
510
+ /**
511
+ * Close and evict every entry in the registry. Disposes all project
512
+ * handles and the global handle if open. Cancels any in-flight opens.
513
+ * Safe to call multiple times.
514
+ */
515
+ closeAll(): void;
516
+ /**
517
+ * The set of composite registry keys (`scope::normalizedDbPath`)
518
+ * currently tracked by this runtime. The key format matches the
519
+ * internal scope-qualified cache key and distinguishes a project
520
+ * path from a global path that happens to share the same spelling.
521
+ *
522
+ * Read-only snapshot — concurrent opens/closes may race the snapshot.
523
+ */
524
+ readonly openPaths: ReadonlySet<string>;
525
+ }
526
+ /**
527
+ * Override the dual-scope opener function used by the given
528
+ * {@link CleoRuntime} instance. Tests inject a custom opener to return a
529
+ * pre-closed handle, exercising the post-await liveness and bounded-
530
+ * reacquisition code paths.
531
+ *
532
+ * The injected function receives the same `(scope, dbPath)` signature as
533
+ * {@link openDualScopeDbAtPath} and must return a
534
+ * {@link DualScopeDbHandle}. Only non-dedicated opens (
535
+ * {@link CleoRuntime.openProject} and {@link CleoRuntime.openGlobal}
536
+ * without `{ dedicated: true }`) are affected. Dedicated opens always
537
+ * call {@link openDualScopeDbAtPath} directly — a custom opener can
538
+ * never turn a dedicated store into a cached/shared store.
539
+ *
540
+ * Pass `undefined` to restore the default (`openDualScopeDbAtPath`).
541
+ *
542
+ * @param runtime - The runtime instance to configure.
543
+ * @param fn - The opener to use, or `undefined` to reset.
544
+ *
545
+ * @internal Test seam; imported directly from this module, not the barrel.
546
+ */
547
+ export declare function setRuntimeOpenFn(runtime: CleoRuntime, fn: typeof openDualScopeDbAtPath | undefined): void;
548
+ /**
549
+ * Create a new {@link CleoRuntime} store registry.
550
+ *
551
+ * The returned runtime is the explicit composition root for project and
552
+ * global database entries. Use {@link CleoRuntime.openProject} to open a
553
+ * project's `cleo.db` at a canonical path, and {@link CleoRuntime.openGlobal}
554
+ * for the global scope. Closing a project via {@link CleoRuntime.closeProject}
555
+ * or the store's own `close()` disposes only that entry.
556
+ *
557
+ * ## Cross-runtime behavior
558
+ *
559
+ * Two separate runtime instances SHARE the **process-global dual-scope
560
+ * handle cache** (`_cache`). Closing a store in one runtime closes the
561
+ * shared `DatabaseSync` — another runtime referencing the same path
562
+ * will observe a closed connection. The **cache-hit liveness** check in
563
+ * this runtime reacquires a fresh handle on the next `openProject`/
564
+ * `openGlobal`. This is by design: the runtime owns **entry lifecycle**,
565
+ * not the underlying connection. Use a dedicated connection for isolation.
566
+ *
567
+ * @returns A fresh {@link CleoRuntime} instance with an empty registry.
568
+ *
569
+ * @example
570
+ * ```ts
571
+ * import { createCleoRuntime, resolveDualScopeDbPath } from '@cleocode/core/db';
572
+ *
573
+ * const runtime = createCleoRuntime();
574
+ * const projectA = await runtime.openProject(resolveDualScopeDbPath('project', '/path/to/projA'));
575
+ * const projectB = await runtime.openProject(resolveDualScopeDbPath('project', '/path/to/projB'));
576
+ * // projectA and projectB are distinct, independent handles.
577
+ * projectA.close(); // Only closes projectA; projectB and any global handle are intact.
578
+ * ```
579
+ *
580
+ * @task T12036 (E6-L12)
581
+ * @epic T11249 (E6)
582
+ * @saga T11242
583
+ */
584
+ export declare function createCleoRuntime(): CleoRuntime;
256
585
  import type { InferInsertModel } from 'drizzle-orm';
257
586
  import type { SQLiteTableWithColumns, TableConfig } from 'drizzle-orm/sqlite-core';
258
587
  /**
@@ -276,6 +605,11 @@ import type { SQLiteTableWithColumns, TableConfig } from 'drizzle-orm/sqlite-cor
276
605
  * the consolidated-schema MUTATION primitives, so the guard is write-only and
277
606
  * never affects read paths.
278
607
  *
608
+ * Derives the writer-lease identity from the DB handle itself via
609
+ * {@link resolveDbIdentity} — the identity was registered at
610
+ * {@link DualScopeDbHandle} construction, so a caller cannot pair file-A
611
+ * identity with file-B DB (T12042).
612
+ *
279
613
  * @example
280
614
  * ```ts
281
615
  * import { tasksTasksTable } from '@cleocode/core/store/schema/cleo-project';
@@ -284,6 +618,7 @@ import type { SQLiteTableWithColumns, TableConfig } from 'drizzle-orm/sqlite-cor
284
618
  *
285
619
  * @task T11513 (E4-T2)
286
620
  * @task T11828 (write-side exodus-abort guard)
621
+ * @task T12042 (E6-L12b — exact DB-bound identity)
287
622
  * @epic T11247 (E4)
288
623
  * @saga T11242
289
624
  */
@@ -309,6 +644,9 @@ export declare function insertIdempotent<TTable extends SQLiteTableWithColumns<T
309
644
  * Refuses the write (throws {@link ExodusAbortWriteUnsafeError}) when a prior
310
645
  * exodus-on-open aborted in this process (T11828 · DHQ-059) — write-only guard.
311
646
  *
647
+ * Derives the writer-lease identity from the DB handle itself via
648
+ * {@link resolveDbIdentity} (T12042 — exact DB-bound identity, no fallback).
649
+ *
312
650
  * @example
313
651
  * ```ts
314
652
  * await upsertIdempotent(db, tasksTasksTable, updatedTask, 'idempotencyKey',
@@ -317,6 +655,7 @@ export declare function insertIdempotent<TTable extends SQLiteTableWithColumns<T
317
655
  *
318
656
  * @task T11513 (E4-T2)
319
657
  * @task T11828 (write-side exodus-abort guard)
658
+ * @task T12042 (E6-L12b — exact DB-bound identity)
320
659
  * @epic T11247 (E4)
321
660
  * @saga T11242
322
661
  */
@@ -1 +1 @@
1
- {"version":3,"file":"dual-scope-db.d.ts","sourceRoot":"","sources":["../../src/store/dual-scope-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dual-scope-db.d.ts","sourceRoot":"","sources":["../../src/store/dual-scope-db.ts"],"names":[],"mappings":"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"}