@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
@@ -63,6 +63,7 @@
63
63
  * @see ./dual-scope-db.ts — the open chokepoint this engine routes through (Seams 0 & 1)
64
64
  */
65
65
  import { randomUUID } from 'node:crypto';
66
+ import { resolve as resolvePath } from 'node:path';
66
67
  import { getLogger } from '../logger.js';
67
68
  import { openDualScopeDb, openDualScopeDbAtPath, resolveDualScopeDbPath } from './dual-scope-db.js';
68
69
  import { assertWriterLeaseActiveIndexPresent, WRITER_LEASES_ACTIVE_INDEX, WRITER_LEASES_TABLE, WRITER_QUEUE_TABLE, } from './writer-lease-schema.js';
@@ -157,7 +158,6 @@ export function _resetWriterLeaseStateForTest() {
157
158
  _inflightAcquire.clear();
158
159
  _nativeDbResolver = defaultNativeDbResolver;
159
160
  _dbPathResolver = resolveDualScopeDbPath;
160
- _activeScope = null;
161
161
  }
162
162
  /**
163
163
  * Default resolver: route through the dual-scope chokepoint so the lease
@@ -250,86 +250,130 @@ const _inflightAcquire = new Map();
250
250
  * Build the lease-scope memo key. Keyed on `${scope}::${dbPath}::${lane}` — the
251
251
  * `${scope}::${dbPath}` prefix is byte-equal to `cacheKey(scope, dbPath)` in
252
252
  * `dual-scope-db.ts` so the lease scope and the handle cache agree on identity.
253
+ *
254
+ * Every call site MUST pass a canonicalized dbPath — {@link canonicalizeDbPath}
255
+ * is the single normalization boundary.
253
256
  */
254
257
  function memoKey(scope, dbPath, lane) {
255
258
  return `${scope}::${dbPath}::${lane}`;
256
259
  }
257
- // ── Active-scope registry (ST-3 · Seam 1 — process-local, no signature change) ──
258
260
  /**
259
- * The scope + resolved dbPath of the most-recent canonical cold-open in this
260
- * process.
261
+ * Normalize a dbPath for memo-key and resolver use before every lease operation.
261
262
  *
262
- * The chokepoint write primitives ({@link insertIdempotent} /
263
- * {@link upsertIdempotent} in `dual-scope-db.ts`) receive only a drizzle handle —
264
- * NOT the scope or a {@link LeaseHandle}. To gate them through the writer lease
265
- * (Seam 1) WITHOUT a signature change, the cold-open path records its scope AND
266
- * dbPath here (mirroring the `getRecordedExodusAbort` registry pattern already
267
- * used by those primitives) and the primitive reads them back via
268
- * {@link activeScope} / {@link activeScopeDbPath}.
269
- *
270
- * Recording the dbPath (not just the abstract scope LABEL) means the chokepoint
271
- * leases against the lease ROW in the SAME file the open targeted — so two
272
- * different projects opened in one process lease in their OWN cleo.db, never the
273
- * cwd-default file (Finding 1).
274
- *
275
- * `null` until the first canonical cold-open records a scope.
263
+ * This is the SINGLE normalization boundary. Every public API that accepts or
264
+ * constructs a dbPath (acquire, release, hasActiveGrant, assertWriterLeaseHeld)
265
+ * runs the path through this function before constructing a memo key, so alias
266
+ * filesystem paths produce byte-identical keys and test:// sentinels are
267
+ * preserved as opaque virtual keys.
268
+ *
269
+ * Canonicalization rules:
270
+ * - `test://*` / `sentinel://*` — URI-like test sentinels pass through
271
+ * unchanged (they are never filesystem paths).
272
+ * - Everything else — normalized via `path.resolve()` so `/a/../a/cleo.db`
273
+ * and `/a/cleo.db` are byte-identical.
274
+ *
275
+ * @param dbPath - A raw dbPath from opts or an explicit parameter.
276
+ * @returns A canonicalized path ready for memo-key construction.
277
+ *
278
+ * @task T12042 (E6-L12b · Finding 4 — alias normalization)
276
279
  */
277
- let _activeScope = null;
278
- let _activeScopeDbPath = null;
280
+ function canonicalizeDbPath(dbPath) {
281
+ if (dbPath.startsWith('test://') || dbPath.startsWith('sentinel://')) {
282
+ return dbPath;
283
+ }
284
+ return resolvePath(dbPath);
285
+ }
279
286
  /**
280
- * Record the scope (and optionally the resolved dbPath) of the cold-open
281
- * currently in progress / most recently opened. Called by `dual-scope-db.ts` at
282
- * the head of its cold-open critical section (Seam 0). Idempotent — last writer
283
- * wins; a project open after a global open makes `'project'` the active scope,
284
- * which is correct because the chokepoint write primitives only ever write the
285
- * project-tier `tasks_*` tables.
286
- *
287
- * @param scope - The scope of the in-progress cold-open.
288
- * @param dbPath - The resolved on-disk path of that scope's cleo.db. When
289
- * omitted, the active dbPath is cleared so {@link activeScopeDbPath} falls back
290
- * to the canonical scope→path resolver.
291
- * @internal
292
- * @task T11627
287
+ * Build a frozen {@link WriterLeaseIdentity} from scope + dbPath.
288
+ *
289
+ * The dbPath is normalized via `path.resolve()` before freezing — so alias paths
290
+ * (`/a/../a/cleo.db`, `/a/cleo.db`) produce byte-identical identities and a
291
+ * single memoized grant row. Callers MUST pass the identity through
292
+ * {@link registerDbIdentity} to bind it to a concrete drizzle DB handle; the
293
+ * chokepoint write primitives resolve identity from the handle itself.
294
+ *
295
+ * @param scope - The cleo.db scope.
296
+ * @param dbPath - An absolute or relative path to the scope's cleo.db. Normalized
297
+ * via `path.resolve()` before freezing.
298
+ * @returns A frozen, normalized identity.
299
+ *
300
+ * @task T12042 (E6-L12b)
293
301
  */
294
- export function setActiveScope(scope, dbPath) {
295
- _activeScope = scope;
296
- _activeScopeDbPath = dbPath ?? null;
302
+ export function makeWriterLeaseIdentity(scope, dbPath) {
303
+ return Object.freeze({ scope, dbPath: resolvePath(dbPath) });
297
304
  }
305
+ // ── DB-identity registry (typed WeakMap — immutable, concurrency-safe) ──────
298
306
  /**
299
- * The scope the chokepoint write primitives should lease against. Defaults to
300
- * `'project'` (the tasks chokepoint is project-tier) when no cold-open has
301
- * recorded a scope yet — a write before any open is degenerate, but `'project'`
302
- * is the only correct lease scope for `tasks_*` mutations.
307
+ * Maps a drizzle DB object to its immutable writer-lease identity. Keyed on the
308
+ * EXACT drizzle DB object reference so two different projects' drizzle handles
309
+ * are distinct keys — a caller cannot pair file-A identity with file-B DB.
303
310
  *
304
- * @returns The active {@link LeaseScope}.
305
- * @internal
306
- * @task T11627
311
+ * Typed `WeakMap<object, …>` because WeakMap keys must be non-primitive; the DB
312
+ * handles are always objects. Unregistered lookups throw a descriptive error —
313
+ * there is NO fallback, ambient cwd lookup, or compatibility shim.
314
+ *
315
+ * @task T12042 (E6-L12b)
307
316
  */
308
- export function activeScope() {
309
- return _activeScope ?? 'project';
310
- }
317
+ const _dbIdentityRegistry = new WeakMap();
311
318
  /**
312
- * The dbPath the chokepoint write primitives should lease their row in. Returns
313
- * the path recorded by the most-recent cold-open, or — defensively — the
314
- * canonical scope→path resolution for {@link activeScope} when none was recorded.
319
+ * Register a drizzle DB handle's immutable writer-lease identity.
315
320
  *
316
- * @returns The active cleo.db on-disk path.
317
- * @internal
318
- * @task T11627
321
+ * Called at {@link DualScopeDbHandle} construction time (both cached and
322
+ * dedicated opens). Idempotent when the same DB handle is re-registered with
323
+ * the SAME canonical identity (same scope AND same `dbPath`). Throws
324
+ * `E_WRITER_LEASE_IDENTITY_MISMATCH` when the same DB handle is registered
325
+ * with a DIFFERENT identity — a scope/path mismatch for the same handle is a
326
+ * programming error.
327
+ *
328
+ * @param db - The drizzle DB handle (or any non-primitive key). Must be the
329
+ * exact same object reference that {@link resolveDbIdentity} will look up.
330
+ * @param identity - The frozen identity built by {@link makeWriterLeaseIdentity}.
331
+ * @throws {Error} When the handle was previously registered with a different
332
+ * scope or dbPath.
333
+ *
334
+ * @task T12042 (E6-L12b)
319
335
  */
320
- export function activeScopeDbPath() {
321
- return _activeScopeDbPath ?? _dbPathResolver(activeScope());
336
+ export function registerDbIdentity(db, identity) {
337
+ const existing = _dbIdentityRegistry.get(db);
338
+ if (existing) {
339
+ if (existing.scope === identity.scope && existing.dbPath === identity.dbPath) {
340
+ return; // idempotent — same canonical identity
341
+ }
342
+ throw new Error('E_WRITER_LEASE_IDENTITY_MISMATCH: the same drizzle DB handle was ' +
343
+ `previously registered as ${existing.scope}::${existing.dbPath} ` +
344
+ `but is being re-registered as ${identity.scope}::${identity.dbPath}. ` +
345
+ 'A DB handle must carry exactly one immutable identity (T12042).');
346
+ }
347
+ _dbIdentityRegistry.set(db, identity);
322
348
  }
323
349
  /**
324
- * Clear the recorded active scope + dbPath. Tests only — production records once
325
- * per cold-open and never clears (the scope of the last canonical open remains
326
- * the lease target for subsequent writes).
350
+ * Resolve the immutable writer-lease identity bound to a drizzle DB handle.
327
351
  *
328
- * @internal
352
+ * The chokepoint write primitives ({@link insertIdempotent} /
353
+ * {@link upsertIdempotent}) call this with their `db` parameter to derive the
354
+ * correct scope + dbPath for the writer lease. A handle opened through the
355
+ * dual-scope chokepoint is always registered; a stub or synthetic handle
356
+ * passed in tests must be registered via {@link registerDbIdentity} before a
357
+ * write primitive reaches the identity-resolve point.
358
+ *
359
+ * @param db - The drizzle DB handle whose identity to look up.
360
+ * @returns The frozen identity registered at construction time.
361
+ * @throws {Error} `E_WRITER_LEASE_IDENTITY_UNREGISTERED` when the handle was
362
+ * not registered — the caller MUST open the DB through the dual-scope
363
+ * chokepoint or call {@link registerDbIdentity} explicitly.
364
+ *
365
+ * @task T12042 (E6-L12b)
329
366
  */
330
- export function _clearActiveScopeForTest() {
331
- _activeScope = null;
332
- _activeScopeDbPath = null;
367
+ export function resolveDbIdentity(db) {
368
+ const identity = _dbIdentityRegistry.get(db);
369
+ if (!identity) {
370
+ throw new Error('E_WRITER_LEASE_IDENTITY_UNREGISTERED: the drizzle DB handle has no ' +
371
+ 'registered writer-lease identity. Open the DB through the dual-scope ' +
372
+ 'chokepoint (openDualScopeDb/openDualScopeDbAtPath) or call ' +
373
+ 'registerDbIdentity(handle, identity) explicitly in tests. ' +
374
+ '(T12042 — no ambient fallback)');
375
+ }
376
+ return identity;
333
377
  }
334
378
  // ── Small helpers ─────────────────────────────────────────────────────────────
335
379
  /**
@@ -418,26 +462,32 @@ class InternalLeaseHandle {
418
462
  log().debug({ scope: this.scope, lane: this.lane, err: err instanceof Error ? err.message : err }, 'writer-lease heartbeat failed (native handle likely closed); stopping heartbeat');
419
463
  }
420
464
  }
421
- /** Free the row (`active = 0`) under the epoch guard, stop the heartbeat. */
422
- releaseRow() {
423
- if (this.released)
424
- return;
425
- this.released = true;
426
- if (this.heartbeatTimer) {
427
- clearInterval(this.heartbeatTimer);
428
- this.heartbeatTimer = null;
465
+ /**
466
+ * Free the row (`active = 0`) under the epoch guard and stop the heartbeat.
467
+ *
468
+ * @param nativeDb - Handle to use for the release update. A caller may retry
469
+ * with a freshly resolved handle when the lease's original shared handle
470
+ * was closed mid-operation.
471
+ * @returns True when the release update executed successfully.
472
+ */
473
+ releaseRow(nativeDb = this.nativeDb) {
474
+ if (!this.released) {
475
+ this.released = true;
476
+ if (this.heartbeatTimer) {
477
+ clearInterval(this.heartbeatTimer);
478
+ this.heartbeatTimer = null;
479
+ }
429
480
  }
430
- // Tolerate a closed native handle on release (same race as the heartbeat):
431
- // the lease row is freed implicitly when the DB closes / dies, so a failed
432
- // free-row UPDATE must not throw out of `release()`.
433
481
  try {
434
- this.nativeDb
482
+ nativeDb
435
483
  .prepare(`UPDATE ${WRITER_LEASES_TABLE} SET active = 0, reentrancy_depth = 0 ` +
436
484
  `WHERE scope = ? AND lane = ? AND holder_id = ? AND epoch = ? AND active = 1`)
437
485
  .run(this.scope, this.lane, this.holderId, this.epoch);
486
+ return true;
438
487
  }
439
488
  catch (err) {
440
- log().debug({ scope: this.scope, lane: this.lane, err: err instanceof Error ? err.message : err }, 'writer-lease releaseRow failed (native handle likely closed); row freed by close/TTL');
489
+ log().debug({ scope: this.scope, lane: this.lane, err: err instanceof Error ? err.message : err }, 'writer-lease releaseRow failed (native handle likely closed); fresh-handle retry required');
490
+ return false;
441
491
  }
442
492
  }
443
493
  async release() {
@@ -491,12 +541,14 @@ export class WriterLeaseRequiredError extends Error {
491
541
  *
492
542
  * @param scope - The cleo.db scope.
493
543
  * @param lane - The write lane.
544
+ * @param dbPath - Optional explicit database path to inspect.
494
545
  * @returns `true` iff a memoized grant with `refcount > 0` exists for the key.
495
546
  *
496
547
  * @task T11627
497
548
  */
498
- export function hasActiveGrant(scope, lane) {
499
- const entry = _grantMemo.get(memoKey(scope, _dbPathResolver(scope), lane));
549
+ export function hasActiveGrant(scope, lane, dbPath) {
550
+ const normalized = dbPath ? canonicalizeDbPath(dbPath) : _dbPathResolver(scope);
551
+ const entry = _grantMemo.get(memoKey(scope, normalized, lane));
500
552
  return entry !== undefined && entry.refcount > 0;
501
553
  }
502
554
  /**
@@ -507,14 +559,15 @@ export function hasActiveGrant(scope, lane) {
507
559
  *
508
560
  * @param scope - The cleo.db scope the handle writes to.
509
561
  * @param lane - The write lane that must be held.
562
+ * @param dbPath - Optional explicit database path the write will target.
510
563
  * @throws {WriterLeaseRequiredError} when no grant is held and mode is not `off`.
511
564
  *
512
565
  * @task T11627
513
566
  */
514
- export function assertWriterLeaseHeld(scope, lane) {
567
+ export function assertWriterLeaseHeld(scope, lane, dbPath) {
515
568
  if (effectiveMode() === 'off')
516
569
  return;
517
- if (!hasActiveGrant(scope, lane)) {
570
+ if (!hasActiveGrant(scope, lane, dbPath)) {
518
571
  throw new WriterLeaseRequiredError(scope, lane);
519
572
  }
520
573
  }
@@ -630,13 +683,11 @@ export async function acquireWriterLease(scope, lane, opts) {
630
683
  if (mode === 'off') {
631
684
  return makeNoopHandle(scope, lane);
632
685
  }
633
- // Build the lease-scope key up front from the explicit pinned dbPath (when the
634
- // chokepoint pins a non-cwd-default file) or the I/O-free path resolver, so the
635
- // re-entrant fast path AND the single-flight guard are decided SYNCHRONOUSLY,
636
- // before any `await` yields the event loop. Keying on `${scope}::${dbPath}::
637
- // ${lane}` means two different project files in one process are distinct lease
638
- // scopes (Finding 1) and that the same (scope,dbPath,lane) never double-claims.
639
- const dbPath = opts?.dbPath ?? _dbPathResolver(scope);
686
+ // Build the lease-scope key up front from the normalized dbPath. Normalizing
687
+ // BEFORE keying and resolver use means alias paths (/a/../a/cleo.db) resolve
688
+ // to the same memo key + grant row as canonical (/a/cleo.db) — a single
689
+ // memoized grant, one active row (T12042 Finding 4).
690
+ const dbPath = opts?.dbPath ? canonicalizeDbPath(opts.dbPath) : _dbPathResolver(scope);
640
691
  const key = memoKey(scope, dbPath, lane);
641
692
  // Re-entrant fast path: an existing same-(scope,dbPath,lane) grant is shared
642
693
  // (refcount++ + durable depth++) without a second claim txn.
@@ -644,12 +695,20 @@ export async function acquireWriterLease(scope, lane, opts) {
644
695
  const existing = _grantMemo.get(key);
645
696
  if (existing) {
646
697
  existing.refcount += 1;
647
- // Reflect the re-entry in the durable row depth (best-effort under epoch guard).
648
- const { native } = await _nativeDbResolver(scope, dbPath);
649
- native
650
- .prepare(`UPDATE ${WRITER_LEASES_TABLE} SET reentrancy_depth = reentrancy_depth + 1 ` +
651
- `WHERE scope = ? AND lane = ? AND holder_id = ? AND epoch = ? AND active = 1`)
652
- .run(scope, lane, existing.handle.holderId, existing.handle.epoch);
698
+ try {
699
+ const { native } = await _nativeDbResolver(scope, dbPath);
700
+ native
701
+ .prepare(`UPDATE ${WRITER_LEASES_TABLE} SET reentrancy_depth = reentrancy_depth + 1 ` +
702
+ `WHERE scope = ? AND lane = ? AND holder_id = ? AND epoch = ? AND active = 1`)
703
+ .run(scope, lane, existing.handle.holderId, existing.handle.epoch);
704
+ }
705
+ catch (err) {
706
+ // Native resolver or depth-update failed — roll back the refcount
707
+ // increment so the grant is not leaked. The caller receives the
708
+ // original error; the held grant is intact (single refcount tick).
709
+ existing.refcount -= 1;
710
+ throw err;
711
+ }
653
712
  return existing.handle;
654
713
  }
655
714
  // Single-flight FIRST acquisition (Finding 2): if another caller is already
@@ -665,12 +724,17 @@ export async function acquireWriterLease(scope, lane, opts) {
665
724
  const entry = _grantMemo.get(key);
666
725
  if (entry && entry.handle === shared) {
667
726
  entry.refcount += 1;
668
- // `entry.handle` is the concrete InternalLeaseHandle (holderId/epoch).
669
- const { native } = await _nativeDbResolver(scope, dbPath);
670
- native
671
- .prepare(`UPDATE ${WRITER_LEASES_TABLE} SET reentrancy_depth = reentrancy_depth + 1 ` +
672
- `WHERE scope = ? AND lane = ? AND holder_id = ? AND epoch = ? AND active = 1`)
673
- .run(scope, lane, entry.handle.holderId, entry.handle.epoch);
727
+ try {
728
+ const { native } = await _nativeDbResolver(scope, dbPath);
729
+ native
730
+ .prepare(`UPDATE ${WRITER_LEASES_TABLE} SET reentrancy_depth = reentrancy_depth + 1 ` +
731
+ `WHERE scope = ? AND lane = ? AND holder_id = ? AND epoch = ? AND active = 1`)
732
+ .run(scope, lane, entry.handle.holderId, entry.handle.epoch);
733
+ }
734
+ catch (err) {
735
+ entry.refcount -= 1;
736
+ throw err;
737
+ }
674
738
  return entry.handle;
675
739
  }
676
740
  // The shared acquire is no longer active — fall through to a fresh acquire.
@@ -754,7 +818,19 @@ async function performFirstAcquire(scope, dbPath, lane, mode, key, opts) {
754
818
  // on the connection still serializes the actual write. A no-op handle writes
755
819
  // no row, starts no heartbeat, and is never memoized — so single-flight
756
820
  // followers find no memo entry and acquire freshly.
757
- log().warn({ scope, lane }, 'writer-lease acquire deadline exceeded; proceeding under busy_timeout fallback (degraded)');
821
+ const active = native
822
+ .prepare(`SELECT holder_id, holder_pid, epoch, heartbeat_at, ttl_ms ` +
823
+ `FROM ${WRITER_LEASES_TABLE} WHERE scope = ? AND lane = ? AND active = 1`)
824
+ .get(scope, lane);
825
+ log().warn({
826
+ scope,
827
+ lane,
828
+ dbPath,
829
+ activeHolderId: active?.holder_id,
830
+ activeHolderPid: active?.holder_pid,
831
+ activeEpoch: active?.epoch,
832
+ activeHeartbeatAgeMs: active === undefined ? undefined : Math.max(0, Date.now() - active.heartbeat_at),
833
+ }, 'writer-lease acquire deadline exceeded; proceeding under busy_timeout fallback (degraded)');
758
834
  return makeNoopHandle(scope, lane);
759
835
  }
760
836
  await sleepAsync(CLAIM_RETRY_DELAY_MS);
@@ -780,7 +856,19 @@ async function releaseGrant(scope, dbPath, lane) {
780
856
  }
781
857
  // Depth 0 — free the row and evict the memo.
782
858
  _grantMemo.delete(key);
783
- entry.handle.releaseRow();
859
+ if (entry.handle.releaseRow())
860
+ return;
861
+ // The domain can close and replace the shared dual-scope handle while a lease
862
+ // is still unwinding. Closing SQLite does not mutate the persisted lease row;
863
+ // retry through the path-aware resolver so the next writer does not wait for
864
+ // the full stale-holder TTL.
865
+ try {
866
+ const { native } = await _nativeDbResolver(scope, dbPath);
867
+ entry.handle.releaseRow(native);
868
+ }
869
+ catch (err) {
870
+ log().debug({ scope, lane, dbPath, err: err instanceof Error ? err.message : err }, 'writer-lease fresh-handle release retry failed; row will expire by TTL');
871
+ }
784
872
  }
785
873
  /**
786
874
  * A no-op handle for `off` mode and degraded-fallback returns: it holds no row,
@@ -912,9 +1000,9 @@ function ensureColdOpenLeaseTables(nativeDb) {
912
1000
  * Unlike {@link withWriterLease} it operates DIRECTLY on the already-opened native
913
1001
  * handle — it never routes through the default resolver (which would re-enter
914
1002
  * `openDualScopeDb` and recurse) and it bootstraps the lease tables first (the full
915
- * migration that creates them runs inside `fn`). It also records the scope in the
916
- * Seam-1 active-scope registry ({@link setActiveScope}) so chokepoint write
917
- * primitives lease against the right scope.
1003
+ * migration that creates them runs inside `fn`). The identity is bound to the
1004
+ * drizzle DB handle at construction via {@link registerDbIdentity} — this function
1005
+ * no longer records a process-global side effect (T12042).
918
1006
  *
919
1007
  * Mode semantics mirror {@link withWriterLease}:
920
1008
  * - `off` → pass-through: runs `fn` under today's `busy_timeout=30000`, byte-
@@ -927,21 +1015,15 @@ function ensureColdOpenLeaseTables(nativeDb) {
927
1015
  * @param scope - The cleo.db scope being cold-opened.
928
1016
  * @param nativeDb - The native handle the cold-open just created (pragmas applied).
929
1017
  * @param fn - The cold-open body to run while holding the lease.
930
- * @param opts - Priority / TTL options + the resolved `dbPath` of this cold-open.
931
- * `dbPath` is recorded in the Seam-1 active-scope registry so the chokepoint
932
- * write primitives lease their row in the SAME file this open targeted (correct
933
- * when more than one project is open in one process — Finding 1). Cold-open
934
- * defaults to highest priority ({@link SCHEMA_BOOTSTRAP_PRIORITY}) and a 60s TTL
935
- * (schema bootstrap can be slow).
1018
+ * @param opts - Priority / TTL options. Cold-open defaults to highest priority
1019
+ * ({@link SCHEMA_BOOTSTRAP_PRIORITY}) and a 60s TTL (schema bootstrap can be
1020
+ * slow).
936
1021
  * @returns The resolved value of `fn`.
937
1022
  *
938
1023
  * @task T11627
1024
+ * @task T12042 (E6-L12b — no process-global side effect)
939
1025
  */
940
1026
  export async function withColdOpenLease(scope, nativeDb, fn, opts) {
941
- // Seam 1 wiring: record the scope + resolved dbPath of this cold-open so
942
- // chokepoint write primitives (insertIdempotent/upsertIdempotent) lease against
943
- // the right scope AND the right file.
944
- setActiveScope(scope, opts?.dbPath);
945
1027
  const mode = effectiveMode();
946
1028
  // `off` mode — pure pass-through. busy_timeout=30000 on the connection still
947
1029
  // serializes the migrate/reconcile write-txn exactly as before the lease.
@@ -1 +1 @@
1
- {"version":3,"file":"writer-lease.js","sourceRoot":"","sources":["../../src/store/writer-lease.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer-lease.js","sourceRoot":"","sources":["../../src/store/writer-lease.ts"],"names":[],"mappings":"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"}
@@ -66,10 +66,6 @@ export interface FixResult {
66
66
  action: 'fixed' | 'skipped' | 'failed';
67
67
  message: string;
68
68
  }
69
- /**
70
- * Run auto-fix for failed doctor checks by calling the corresponding ensure* functions.
71
- * Returns a list of fix results for each attempted repair.
72
- */
73
69
  export declare function runDoctorFixes(projectRoot: string): Promise<FixResult[]>;
74
70
  /**
75
71
  * Outcome of a startup health check. Tells the caller exactly what state
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/system/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/system/health.ts"],"names":[],"mappings":"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"}