@cleocode/core 2026.9.15 → 2026.9.17

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 (220) hide show
  1. package/dist/changesets/parser.d.ts.map +1 -1
  2. package/dist/changesets/parser.js +67 -0
  3. package/dist/changesets/parser.js.map +1 -1
  4. package/dist/crypto/credentials.d.ts +128 -26
  5. package/dist/crypto/credentials.d.ts.map +1 -1
  6. package/dist/crypto/credentials.js +183 -142
  7. package/dist/crypto/credentials.js.map +1 -1
  8. package/dist/docs/export-document.js +14705 -12949
  9. package/dist/docs/export-document.js.map +3 -3
  10. package/dist/doctor/index.d.ts +1 -1
  11. package/dist/doctor/index.d.ts.map +1 -1
  12. package/dist/doctor/index.js +1 -1
  13. package/dist/doctor/index.js.map +1 -1
  14. package/dist/doctor/nexus-schema-residency.d.ts +1 -1
  15. package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
  16. package/dist/doctor/nexus-schema-residency.js +1 -0
  17. package/dist/doctor/nexus-schema-residency.js.map +1 -1
  18. package/dist/doctor/project-identity.d.ts +124 -0
  19. package/dist/doctor/project-identity.d.ts.map +1 -0
  20. package/dist/doctor/project-identity.js +307 -0
  21. package/dist/doctor/project-identity.js.map +1 -0
  22. package/dist/doctor/superseded-store.d.ts +8 -0
  23. package/dist/doctor/superseded-store.d.ts.map +1 -1
  24. package/dist/doctor/superseded-store.js +48 -3
  25. package/dist/doctor/superseded-store.js.map +1 -1
  26. package/dist/init.d.ts +7 -0
  27. package/dist/init.d.ts.map +1 -1
  28. package/dist/init.js +17 -2
  29. package/dist/init.js.map +1 -1
  30. package/dist/internal.d.ts +5 -2
  31. package/dist/internal.d.ts.map +1 -1
  32. package/dist/internal.js +4 -2
  33. package/dist/internal.js.map +1 -1
  34. package/dist/llm/credentials-store.d.ts +10 -0
  35. package/dist/llm/credentials-store.d.ts.map +1 -1
  36. package/dist/llm/credentials-store.js +7 -1
  37. package/dist/llm/credentials-store.js.map +1 -1
  38. package/dist/llm/plugin-facade.js +13368 -1550
  39. package/dist/llm/plugin-facade.js.map +3 -3
  40. package/dist/nexus/analyze-orchestrator.d.ts +20 -3
  41. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  42. package/dist/nexus/analyze-orchestrator.js +159 -10
  43. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  44. package/dist/nexus/assessment-store.d.ts +57 -0
  45. package/dist/nexus/assessment-store.d.ts.map +1 -0
  46. package/dist/nexus/assessment-store.js +73 -0
  47. package/dist/nexus/assessment-store.js.map +1 -0
  48. package/dist/nexus/freshness.d.ts +131 -0
  49. package/dist/nexus/freshness.d.ts.map +1 -0
  50. package/dist/nexus/freshness.js +391 -0
  51. package/dist/nexus/freshness.js.map +1 -0
  52. package/dist/nexus/graph-manifest.d.ts +88 -0
  53. package/dist/nexus/graph-manifest.d.ts.map +1 -0
  54. package/dist/nexus/graph-manifest.js +114 -0
  55. package/dist/nexus/graph-manifest.js.map +1 -0
  56. package/dist/nexus/knowledge.d.ts +21 -1
  57. package/dist/nexus/knowledge.d.ts.map +1 -1
  58. package/dist/nexus/knowledge.js +76 -37
  59. package/dist/nexus/knowledge.js.map +1 -1
  60. package/dist/nexus/path-map.d.ts +55 -0
  61. package/dist/nexus/path-map.d.ts.map +1 -0
  62. package/dist/nexus/path-map.js +87 -0
  63. package/dist/nexus/path-map.js.map +1 -0
  64. package/dist/nexus/projects-clean.d.ts +21 -28
  65. package/dist/nexus/projects-clean.d.ts.map +1 -1
  66. package/dist/nexus/projects-clean.js +168 -85
  67. package/dist/nexus/projects-clean.js.map +1 -1
  68. package/dist/nexus/query.d.ts.map +1 -1
  69. package/dist/nexus/query.js +3 -2
  70. package/dist/nexus/query.js.map +1 -1
  71. package/dist/nexus/registry-hygiene.d.ts +70 -0
  72. package/dist/nexus/registry-hygiene.d.ts.map +1 -0
  73. package/dist/nexus/registry-hygiene.js +113 -0
  74. package/dist/nexus/registry-hygiene.js.map +1 -0
  75. package/dist/nexus/registry.d.ts +2 -2
  76. package/dist/nexus/registry.d.ts.map +1 -1
  77. package/dist/nexus/registry.js +48 -12
  78. package/dist/nexus/registry.js.map +1 -1
  79. package/dist/paths.d.ts +26 -0
  80. package/dist/paths.d.ts.map +1 -1
  81. package/dist/paths.js +99 -6
  82. package/dist/paths.js.map +1 -1
  83. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  84. package/dist/render/nexus/graph/index.js +8 -0
  85. package/dist/render/nexus/graph/index.js.map +1 -1
  86. package/dist/resources/spawn-wrapper.d.ts +0 -11
  87. package/dist/resources/spawn-wrapper.d.ts.map +1 -1
  88. package/dist/resources/spawn-wrapper.js +62 -6
  89. package/dist/resources/spawn-wrapper.js.map +1 -1
  90. package/dist/scaffold/ensure-config.d.ts +12 -3
  91. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  92. package/dist/scaffold/ensure-config.js +61 -38
  93. package/dist/scaffold/ensure-config.js.map +1 -1
  94. package/dist/scaffold/project-identity.d.ts +136 -0
  95. package/dist/scaffold/project-identity.d.ts.map +1 -0
  96. package/dist/scaffold/project-identity.js +225 -0
  97. package/dist/scaffold/project-identity.js.map +1 -0
  98. package/dist/selfimprove/fix-gen.js +13319 -1556
  99. package/dist/selfimprove/fix-gen.js.map +3 -3
  100. package/dist/store/agent-api-key.d.ts +114 -0
  101. package/dist/store/agent-api-key.d.ts.map +1 -0
  102. package/dist/store/agent-api-key.js +136 -0
  103. package/dist/store/agent-api-key.js.map +1 -0
  104. package/dist/store/agent-registry-accessor.d.ts +4 -2
  105. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  106. package/dist/store/agent-registry-accessor.js +39 -89
  107. package/dist/store/agent-registry-accessor.js.map +1 -1
  108. package/dist/store/api-key-kdf.d.ts +7 -0
  109. package/dist/store/api-key-kdf.d.ts.map +1 -1
  110. package/dist/store/api-key-kdf.js +7 -0
  111. package/dist/store/api-key-kdf.js.map +1 -1
  112. package/dist/store/backup-crypto.d.ts +49 -0
  113. package/dist/store/backup-crypto.d.ts.map +1 -1
  114. package/dist/store/backup-crypto.js +154 -0
  115. package/dist/store/backup-crypto.js.map +1 -1
  116. package/dist/store/credential-transfer.d.ts +303 -0
  117. package/dist/store/credential-transfer.d.ts.map +1 -0
  118. package/dist/store/credential-transfer.js +774 -0
  119. package/dist/store/credential-transfer.js.map +1 -0
  120. package/dist/store/exodus/column-transforms.d.ts +79 -4
  121. package/dist/store/exodus/column-transforms.d.ts.map +1 -1
  122. package/dist/store/exodus/column-transforms.js +121 -4
  123. package/dist/store/exodus/column-transforms.js.map +1 -1
  124. package/dist/store/exodus/index.d.ts +1 -0
  125. package/dist/store/exodus/index.d.ts.map +1 -1
  126. package/dist/store/exodus/index.js +1 -0
  127. package/dist/store/exodus/index.js.map +1 -1
  128. package/dist/store/exodus/migrate.d.ts +17 -1
  129. package/dist/store/exodus/migrate.d.ts.map +1 -1
  130. package/dist/store/exodus/migrate.js +155 -33
  131. package/dist/store/exodus/migrate.js.map +1 -1
  132. package/dist/store/exodus/on-open.d.ts +14 -0
  133. package/dist/store/exodus/on-open.d.ts.map +1 -1
  134. package/dist/store/exodus/on-open.js +115 -6
  135. package/dist/store/exodus/on-open.js.map +1 -1
  136. package/dist/store/exodus/reconcile.d.ts +103 -0
  137. package/dist/store/exodus/reconcile.d.ts.map +1 -0
  138. package/dist/store/exodus/reconcile.js +728 -0
  139. package/dist/store/exodus/reconcile.js.map +1 -0
  140. package/dist/store/exodus/recovery.d.ts.map +1 -1
  141. package/dist/store/exodus/recovery.js +14 -2
  142. package/dist/store/exodus/recovery.js.map +1 -1
  143. package/dist/store/exodus/runtime-targets.d.ts +39 -0
  144. package/dist/store/exodus/runtime-targets.d.ts.map +1 -0
  145. package/dist/store/exodus/runtime-targets.js +63 -0
  146. package/dist/store/exodus/runtime-targets.js.map +1 -0
  147. package/dist/store/exodus/table-name-map.d.ts.map +1 -1
  148. package/dist/store/exodus/table-name-map.js +5 -0
  149. package/dist/store/exodus/table-name-map.js.map +1 -1
  150. package/dist/store/exodus/table-order.d.ts +35 -0
  151. package/dist/store/exodus/table-order.d.ts.map +1 -0
  152. package/dist/store/exodus/table-order.js +62 -0
  153. package/dist/store/exodus/table-order.js.map +1 -0
  154. package/dist/store/exodus/verify-migration.d.ts +4 -1
  155. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  156. package/dist/store/exodus/verify-migration.js +142 -10
  157. package/dist/store/exodus/verify-migration.js.map +1 -1
  158. package/dist/store/global-salt.d.ts +16 -0
  159. package/dist/store/global-salt.d.ts.map +1 -1
  160. package/dist/store/global-salt.js +22 -7
  161. package/dist/store/global-salt.js.map +1 -1
  162. package/dist/store/legacy-tasks-lineage.d.ts +86 -0
  163. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -0
  164. package/dist/store/legacy-tasks-lineage.js +285 -0
  165. package/dist/store/legacy-tasks-lineage.js.map +1 -0
  166. package/dist/store/migration-manager.d.ts +27 -0
  167. package/dist/store/migration-manager.d.ts.map +1 -1
  168. package/dist/store/migration-manager.js +63 -0
  169. package/dist/store/migration-manager.js.map +1 -1
  170. package/dist/store/portable-bundle-import.d.ts +117 -0
  171. package/dist/store/portable-bundle-import.d.ts.map +1 -0
  172. package/dist/store/portable-bundle-import.js +589 -0
  173. package/dist/store/portable-bundle-import.js.map +1 -0
  174. package/dist/store/portable-bundle-relocate.d.ts +66 -0
  175. package/dist/store/portable-bundle-relocate.d.ts.map +1 -0
  176. package/dist/store/portable-bundle-relocate.js +304 -0
  177. package/dist/store/portable-bundle-relocate.js.map +1 -0
  178. package/dist/store/portable-bundle-scan.d.ts +167 -0
  179. package/dist/store/portable-bundle-scan.d.ts.map +1 -0
  180. package/dist/store/portable-bundle-scan.js +569 -0
  181. package/dist/store/portable-bundle-scan.js.map +1 -0
  182. package/dist/store/portable-bundle.d.ts +146 -0
  183. package/dist/store/portable-bundle.d.ts.map +1 -0
  184. package/dist/store/portable-bundle.js +674 -0
  185. package/dist/store/portable-bundle.js.map +1 -0
  186. package/dist/store/regenerators.d.ts +3 -1
  187. package/dist/store/regenerators.d.ts.map +1 -1
  188. package/dist/store/regenerators.js +6 -2
  189. package/dist/store/regenerators.js.map +1 -1
  190. package/dist/store/schema/cleo-global/nexus.d.ts +98 -0
  191. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  192. package/dist/store/schema/cleo-global/nexus.js +19 -0
  193. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  194. package/dist/store/schema/nexus-schema.d.ts +102 -0
  195. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  196. package/dist/store/schema/nexus-schema.js +24 -0
  197. package/dist/store/schema/nexus-schema.js.map +1 -1
  198. package/dist/store/split-brain-import.d.ts +176 -0
  199. package/dist/store/split-brain-import.d.ts.map +1 -0
  200. package/dist/store/split-brain-import.js +680 -0
  201. package/dist/store/split-brain-import.js.map +1 -0
  202. package/dist/store/sqlite.d.ts +29 -0
  203. package/dist/store/sqlite.d.ts.map +1 -1
  204. package/dist/store/sqlite.js +57 -5
  205. package/dist/store/sqlite.js.map +1 -1
  206. package/dist/system/health.d.ts.map +1 -1
  207. package/dist/system/health.js +30 -5
  208. package/dist/system/health.js.map +1 -1
  209. package/dist/upgrade.d.ts.map +1 -1
  210. package/dist/upgrade.js +60 -0
  211. package/dist/upgrade.js.map +1 -1
  212. package/dist/validation/doctor/checks.d.ts +14 -0
  213. package/dist/validation/doctor/checks.d.ts.map +1 -1
  214. package/dist/validation/doctor/checks.js +33 -0
  215. package/dist/validation/doctor/checks.js.map +1 -1
  216. package/migrations/drizzle-cleo-global/20260924000000_t12354-project-paths/migration.sql +40 -0
  217. package/migrations/drizzle-nexus/20260924000000_t12315-nexus-parse-cache/migration.sql +21 -0
  218. package/package.json +13 -13
  219. package/templates/CLEO-INJECTION.md +3 -3
  220. package/templates/cleo-gitignore +7 -0
@@ -45,8 +45,8 @@ import { createRequire } from 'node:module';
45
45
  import { MIGRATION_ENUM_DRIFT_SAMPLE_LIMIT } from '@cleocode/contracts';
46
46
  import { getLogger } from '../../logger.js';
47
47
  import { openCleoDbSnapshot } from '../open-cleo-db.js';
48
- import { buildDigestExpr, detectIsoGlobColumns, } from './column-transforms.js';
49
- import { resolveConsolidatedTableName, resolveTableTargetScope } from './table-name-map.js';
48
+ import { buildDigestExpr, detectIsoGlobColumns, legacyRowProjection, } from './column-transforms.js';
49
+ import { resolveConsolidatedTableName, resolveTableTargetScope, reverseLookup, } from './table-name-map.js';
50
50
  const log = getLogger('verify-migration');
51
51
  const _require = createRequire(import.meta.url);
52
52
  // ---------------------------------------------------------------------------
@@ -136,9 +136,13 @@ function computeTableDigest(db, tableName, columns, transform) {
136
136
  return `"${c}"`;
137
137
  // SOURCE side: route the raw value through the SAME transform migrate
138
138
  // applied, aliased back to `c` so the row key matches the target side.
139
+ // A projected column (T12346) digests in the form migrate wrote it.
140
+ const project = legacyRowProjection(transform.targetTableName, transform.sourceTableName).get(c);
141
+ if (project)
142
+ return `${project((name) => `"${name}"`)} AS "${c}"`;
139
143
  const srcType = transform.srcTypeByCol.get(c) ?? '';
140
144
  const tgtCol = transform.tgtColByCol.get(c);
141
- const expr = buildDigestExpr(transform.targetTableName, c, srcType, transform.isoGlobCols, tgtCol);
145
+ const expr = buildDigestExpr(transform.targetTableName, c, srcType, transform.isoGlobCols, tgtCol, new Set(transform.srcTypeByCol.keys()));
142
146
  return `${expr} AS "${c}"`;
143
147
  })
144
148
  .join(', ');
@@ -214,10 +218,11 @@ function sharedColumnsSorted(srcDb, srcTable, tgtDb, tgtTable) {
214
218
  * @param srcDb - Source database handle.
215
219
  * @param srcTable - Physical legacy source table name.
216
220
  * @param tgtDb - Target database handle (consolidated cleo.db).
217
- * @param targetTableName - Physical consolidated target table name.
221
+ * @param targetTableName - Physical target table name (column metadata source).
222
+ * @param transformTableName - Consolidated name the value transforms are keyed on.
218
223
  * @returns A transform spec, or `undefined` when source metadata is unavailable.
219
224
  */
220
- function buildSourceDigestTransform(srcDb, srcTable, tgtDb, targetTableName) {
225
+ function buildSourceDigestTransform(srcDb, srcTable, tgtDb, targetTableName, transformTableName = targetTableName) {
221
226
  try {
222
227
  const srcTypeByCol = new Map(srcDb.prepare(`PRAGMA table_info("${srcTable}")`).all().map((r) => [r.name, r.type]));
223
228
  const isoGlobCols = detectIsoGlobColumns(tgtDb, targetTableName);
@@ -228,7 +233,13 @@ function buildSourceDigestTransform(srcDb, srcTable, tgtDb, targetTableName) {
228
233
  r.name,
229
234
  { notnull: r.notnull, dflt_value: r.dflt_value, type: r.type },
230
235
  ]));
231
- return { targetTableName, srcTypeByCol, isoGlobCols, tgtColByCol };
236
+ return {
237
+ targetTableName: transformTableName,
238
+ srcTypeByCol,
239
+ isoGlobCols,
240
+ tgtColByCol,
241
+ sourceTableName: srcTable,
242
+ };
232
243
  }
233
244
  catch {
234
245
  return undefined;
@@ -478,6 +489,122 @@ function orphanSignature(db, v, sourceName) {
478
489
  // Fallback: rowid-qualified signature (only collides with itself).
479
490
  return `${childTable}|${parentTable}|rowid:${v.rowid ?? '?'}`;
480
491
  }
492
+ /**
493
+ * Decide whether a TARGET orphan was ALREADY an orphan in the legacy source.
494
+ *
495
+ * Pre-existing only if the SAME child row — identified by the target child
496
+ * table's primary key — exists in a legacy table that feeds the child table,
497
+ * holds the SAME value in the FK column, and that value was already dangling
498
+ * there: no legacy table feeding the parent holds it. That covers a reference
499
+ * the legacy schema never declared as an FK, which `PRAGMA foreign_key_check`
500
+ * cannot report (claude-todo: `ADR-006.supersedes_id = 'ADR-001'`, no
501
+ * `ADR-001` anywhere, T12319).
502
+ *
503
+ * Everything else in a table the migration WROTE is INTRODUCED: a child row
504
+ * absent from every source, a child whose FK value differs from its source row
505
+ * (a clean `1 → 1` that became `1 → 99` is corruption the migration made, even
506
+ * though `99` exists nowhere), a keyless child table, or any question that
507
+ * cannot be answered.
508
+ *
509
+ * A child table NO legacy table feeds was not written by the migration (e.g. a
510
+ * bare table the tasks-domain lineage rebuild restored from the store's own
511
+ * prior rows — claude-todo's `releases` → `commits`); an orphan there is
512
+ * introduced only if the migration lost its parent, i.e. a source held the key.
513
+ *
514
+ * @param targetDb - Consolidated DB holding the orphan row.
515
+ * @param fk - One target `PRAGMA foreign_key_check` row.
516
+ * @param sources - Legacy source descriptors of this verification.
517
+ * @param resolveTarget - Where legacy tables were copied.
518
+ * @returns `true` only when the same source row carried the same dangling reference.
519
+ * @task T12355
520
+ */
521
+ function orphanAlreadyInSource(targetDb, fk, sources, resolveTarget = resolveConsolidatedTableName) {
522
+ if (fk.rowid === null)
523
+ return false;
524
+ try {
525
+ const refs = targetDb.prepare(`PRAGMA foreign_key_list("${fk.table}")`).all().filter((r) => r.id === fk.fkid);
526
+ const ref = refs[0];
527
+ if (refs.length !== 1 || ref === undefined || ref.to === null)
528
+ return false;
529
+ const refFrom = ref.from;
530
+ const refTo = ref.to;
531
+ const pk = targetDb.prepare(`PRAGMA table_info("${fk.table}")`).all()
532
+ .filter((c) => c.pk > 0)
533
+ .sort((a, b) => a.pk - b.pk)
534
+ .map((c) => c.name);
535
+ if (pk.length === 0)
536
+ return false;
537
+ const child = targetDb
538
+ .prepare(`SELECT ${[...pk, refFrom].map((c) => `"${c}"`).join(', ')} FROM "${fk.table}" WHERE rowid = ?`)
539
+ .get(fk.rowid);
540
+ if (child === undefined)
541
+ return false;
542
+ const key = child[refFrom];
543
+ if (key === null || key === undefined)
544
+ return false;
545
+ const pkValues = pk.map((c) => child[c] ?? null);
546
+ /** Legacy (source, table) pairs whose rows land in `targetTable`. */
547
+ const feedersOf = (targetTable) => {
548
+ const feeders = reverseLookup(targetTable, sources);
549
+ for (const src of sources) {
550
+ const routed = resolveTarget(src.name, targetTable);
551
+ if (routed.kind !== 'skip' && routed.targetName === targetTable)
552
+ feeders.push({ sourceName: src.name, legacyTable: targetTable });
553
+ }
554
+ return feeders;
555
+ };
556
+ /** Run `probe` against each existing feeder table; true if any hit. */
557
+ const anyFeeder = (targetTable, probe) => {
558
+ for (const feeder of feedersOf(targetTable)) {
559
+ const src = sources.find((s) => s.name === feeder.sourceName);
560
+ if (src === undefined || !existsSync(src.path))
561
+ continue;
562
+ const snap = openCleoDbSnapshot(src.path, { readOnly: true });
563
+ try {
564
+ if (!tableExists(snap.db, feeder.legacyTable))
565
+ continue;
566
+ const cols = new Set(snap.db.prepare(`PRAGMA table_info("${feeder.legacyTable}")`).all().map((c) => c.name));
567
+ if (probe(snap.db, feeder.legacyTable, cols))
568
+ return true;
569
+ }
570
+ finally {
571
+ snap.close();
572
+ }
573
+ }
574
+ return false;
575
+ };
576
+ const parentExistedInSource = () => anyFeeder(fk.parent, (db, legacyTable, cols) => {
577
+ if (!cols.has(refTo))
578
+ return false;
579
+ return (db
580
+ .prepare(`SELECT 1 AS ok FROM "${legacyTable}" WHERE "${refTo}" = ? LIMIT 1`)
581
+ .get(key) !== undefined);
582
+ });
583
+ // A child table no legacy table feeds was not written by this migration
584
+ // (e.g. a bare table the tasks-domain lineage rebuild restored from the
585
+ // store's own prior state). The migration can only have introduced such
586
+ // an orphan by LOSING its parent — i.e. if a source held the parent key.
587
+ // "Feeds" means a source that actually HAS such a table — the identity
588
+ // fallback maps any name, so a bare name alone proves nothing.
589
+ const writtenByMigration = anyFeeder(fk.table, () => true);
590
+ if (!writtenByMigration)
591
+ return !parentExistedInSource();
592
+ const sameChildSameReference = anyFeeder(fk.table, (db, legacyTable, cols) => {
593
+ if (!pk.every((c) => cols.has(c)) || !cols.has(refFrom))
594
+ return false;
595
+ const where = [...pk, refFrom].map((c) => `"${c}" IS ?`).join(' AND ');
596
+ return (db
597
+ .prepare(`SELECT 1 AS ok FROM "${legacyTable}" WHERE ${where} LIMIT 1`)
598
+ .get(...pkValues, key) !== undefined);
599
+ });
600
+ if (!sameChildSameReference)
601
+ return false;
602
+ return !parentExistedInSource();
603
+ }
604
+ catch {
605
+ return false;
606
+ }
607
+ }
481
608
  /**
482
609
  * Collect the set of {@link orphanSignature}s for every FK orphan in a SOURCE DB.
483
610
  *
@@ -528,6 +655,8 @@ function sourceOrphanSignatures(db, sourceName, scope) {
528
655
  * @param projectDbPath - Absolute path to the consolidated project `cleo.db`.
529
656
  * @param globalDbPath - Absolute path to the consolidated global `cleo.db`.
530
657
  * @param onProgress - Optional progress callback.
658
+ * @param resolveTarget - Where each legacy table was copied (defaults to the
659
+ * consolidated map; on-open passes the runtime-read targets, T12355).
531
660
  *
532
661
  * @returns A {@link VerifyMigrationResult}. `ok === false` (with `error`
533
662
  * populated) on any count mismatch, content mismatch, FK orphan, or enum
@@ -535,7 +664,7 @@ function sourceOrphanSignatures(db, sourceName, scope) {
535
664
  *
536
665
  * @task T11551 (DHQ-045 — exodus zero-loss durable guard · AC1)
537
666
  */
538
- export function verifyMigration(sources, projectDbPath, globalDbPath, onProgress) {
667
+ export function verifyMigration(sources, projectDbPath, globalDbPath, onProgress, resolveTarget = resolveConsolidatedTableName) {
539
668
  const tables = [];
540
669
  const enumDrift = [];
541
670
  const foreignKeyViolations = [];
@@ -597,12 +726,15 @@ export function verifyMigration(sources, projectDbPath, globalDbPath, onProgress
597
726
  const globalTables = new Set(listTables(globalSnap.db));
598
727
  for (const legacyTableName of sourceTables) {
599
728
  onProgress?.(`Verifying ${src.name}.${legacyTableName}…`);
600
- const resolution = resolveConsolidatedTableName(src.name, legacyTableName);
729
+ const resolution = resolveTarget(src.name, legacyTableName);
601
730
  if (resolution.kind === 'skip') {
602
731
  onProgress?.(` [skip] ${src.name}.${legacyTableName} — ${resolution.reason}`);
603
732
  continue;
604
733
  }
605
734
  const targetTableName = resolution.targetName;
735
+ // Value transforms are registered under the CONSOLIDATED name (T12355).
736
+ const consolidated = resolveConsolidatedTableName(src.name, legacyTableName);
737
+ const transformTableName = consolidated.kind === 'skip' ? targetTableName : consolidated.targetName;
606
738
  // Per-table scope override (ADR-090 · T11539): the four nexus graph
607
739
  // tables come from the GLOBAL `nexus.db` source but land in PROJECT
608
740
  // scope. Pick the verify target DB by the effective per-table scope.
@@ -648,7 +780,7 @@ export function verifyMigration(sources, projectDbPath, globalDbPath, onProgress
648
780
  // the SAME transforms migrate applied (epoch→ISO, enum-normalize,
649
781
  // non-finite clamp) so equal logical data digests EQUAL. The target
650
782
  // side already holds canonical values and is digested raw.
651
- const srcTransform = buildSourceDigestTransform(srcSnap.db, legacyTableName, targetSnap.db, targetTableName);
783
+ const srcTransform = buildSourceDigestTransform(srcSnap.db, legacyTableName, targetSnap.db, targetTableName, transformTableName);
652
784
  const srcDigest = computeTableDigest(srcSnap.db, legacyTableName, cols, srcTransform);
653
785
  const tgtDigest = computeTableDigest(targetSnap.db, targetTableName, cols);
654
786
  const countMatch = srcDigest.count === tgtDigest.count;
@@ -713,7 +845,7 @@ export function verifyMigration(sources, projectDbPath, globalDbPath, onProgress
713
845
  // orphan lives in whichever scope DB declares the child table.
714
846
  const orphanDb = tableExists(projectSnap.db, fk.table) ? projectSnap.db : globalSnap.db;
715
847
  const sig = orphanSignature(orphanDb, fk);
716
- const preExisting = sourceOrphanSigs.has(sig);
848
+ const preExisting = sourceOrphanSigs.has(sig) || orphanAlreadyInSource(orphanDb, fk, sources, resolveTarget);
717
849
  if (preExisting) {
718
850
  preExistingForeignKeyViolations.push(fk);
719
851
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify-migration.js","sourceRoot":"","sources":["../../../src/store/exodus/verify-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,eAAe,EACf,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG5F,MAAM,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAE1C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhD,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CAAC,EAAgB,EAAE,SAAiB;IACxD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,SAAS,IAAI,CAAC,CAAC,GAAG,EAGhE,CAAC;QACH,MAAM,MAAM,GAAG,MAAM;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,kBAAkB,CACzB,EAAgB,EAChB,SAAiB,EACjB,OAAiC,EACjC,SAA+B;IAE/B,0EAA0E;IAC1E,EAAE;IACF,0EAA0E;IAC1E,+EAA+E;IAC/E,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,SAAS,GAAG,CAAC,CAAC,GAAG,EAEzD,CAAC;QACd,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,EACvB,yFAAyF,CAC1F,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAiC,CAAC;IAC/E,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,YAAoB,CAAC;IACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,YAAY,GAAG,OAAO;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC;YAC7C,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,eAAe,CAC1B,SAAS,CAAC,eAAe,EACzB,CAAC,EACD,OAAO,EACP,SAAS,CAAC,WAAW,EACrB,MAAM,CACP,CAAC;YACF,OAAO,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC;QAC7B,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,8EAA8E;IAC9E,mEAAmE;IACnE,EAAE;IACF,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,gFAAgF;IAChF,kDAAkD;IAClD,EAAE;IACF,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,YAAY,UAAU,SAAS,cAAc,OAAO,EAAE,CAAC,CAAC;QAC1F,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,GAA8B,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CACN,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,EACvB,6HAA6H,CAC9H,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,KAAK;QACL,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAC1B,KAAmB,EACnB,QAAgB,EAChB,KAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,OAAO,GACX,KAAK,CAAC,OAAO,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC,GAAG,EACtD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,OAAO,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC,GAAG,EAA8B,CAAC,GAAG,CACtF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,CACF,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,0BAA0B,CACjC,KAAmB,EACnB,QAAgB,EAChB,KAAmB,EACnB,eAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAExB,KAAK,CAAC,OAAO,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC,GAAG,EAItD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAC/B,CAAC;QACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACjE,oEAAoE;QACpE,2EAA2E;QAC3E,uDAAuD;QACvD,MAAM,WAAW,GAAG,IAAI,GAAG,CAEvB,KAAK,CAAC,OAAO,CAAC,sBAAsB,eAAe,IAAI,CAAC,CAAC,GAAG,EAM7D,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACX,CAAC,CAAC,IAAI;YACN,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAA6B;SAC1F,CAAC,CACH,CAAC;QACF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,EAAgB;IAClC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN,8HAA8H,CAC/H;SACA,GAAG,EAA6B,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,EAAgB,EAAE,SAAiB;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,CACL,EAAE,CAAC,OAAO,CAAC,4DAA4D,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE;YACxF,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,gBAAgB,GACpB,kFAAkF,CAAC;AAErF;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,EAAgB,EAAE,SAAiB;IAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,8DAA8D,OAAO,GAAG,CAAC;SACjF,GAAG,EAA4B,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,GAAG;QAAE,OAAO,GAAG,CAAC;IAE1B,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAC3B,KAAmB,EACnB,QAAgB,EAChB,KAAmB,EACnB,QAAgB;IAEhB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,GAAG,CACd,KAAK,CAAC,OAAO,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC,GAAG,EAA8B,CAAC,GAAG,CACtF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACd,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAChC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,GAAG,KAAK;iBACT,OAAO,CACN,WAAW,GAAG,+BAA+B,QAAQ,YAAY,GAAG,2BAA2B,GAAG,GAAG,CACtG;iBACA,GAAG,EAAsC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,SAAS,CAAC,MAAM,GAAG,iCAAiC;oBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC;gBACZ,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE,SAAS;gBAC1B,aAAa,EAAE,OAAO;gBACtB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,EAAgB,EAAE,KAAa;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAKrD,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EACvD,mDAAmD,IAAI,CAAC,MAAM,gBAAgB,CAC/E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,8DAA8D,CAAC,CAAC;QACzF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAS,eAAe,CACtB,EAAgB,EAChB,CAAwE,EACxE,UAAmB;IAEnB,+EAA+E;IAC/E,qEAAqE;IACrE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE;QACvC,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC,qCAAqC;QAChF,MAAM,GAAG,GAAG,4BAA4B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEtC,2EAA2E;IAC3E,8CAA8C;IAC9C,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAGpE,CAAC;QACH,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,gDAAgD;IAClD,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAExE,CAAC;YACd,IAAI,GAAG,EAAE,CAAC;gBACR,+DAA+D;gBAC/D,MAAM,IAAI,GAAG,SAAS;qBACnB,KAAK,EAAE;qBACP,IAAI,EAAE;qBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,GAAG,UAAU,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,OAAO,GAAG,UAAU,IAAI,WAAW,UAAU,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,sBAAsB,CAAC,EAAgB,EAAE,UAAkB,EAAE,KAAa;IACjF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAKrD,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EACvD,uCAAuC,IAAI,CAAC,MAAM,yGAAyG,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,qEAAqE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA6B,EAC7B,aAAqB,EACrB,YAAoB,EACpB,UAAkC;IAElC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,MAAM,oBAAoB,GAAmC,EAAE,CAAC;IAChE,MAAM,8BAA8B,GAAmC,EAAE,CAAC;IAC1E,MAAM,+BAA+B,GAAmC,EAAE,CAAC;IAC3E,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,EAAE;YACV,oBAAoB,EAAE,EAAE;YACxB,8BAA8B,EAAE,EAAE;YAClC,+BAA+B,EAAE,EAAE;YACnC,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,6CAA6C,aAAa,oCAAoC;SACtG,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,EAAE;YACV,oBAAoB,EAAE,EAAE;YACxB,8BAA8B,EAAE,EAAE;YAClC,+BAA+B,EAAE,EAAE;YACnC,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,4CAA4C,YAAY,oCAAoC;SACpG,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAExE,IAAI,CAAC;QACH,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,UAAU,EAAE,CAAC,YAAY,GAAG,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjE,IAAI,CAAC;gBACH,wEAAwE;gBACxE,wEAAwE;gBACxE,0EAA0E;gBAC1E,yEAAyE;gBACzE,yEAAyE;gBACzE,oBAAoB;gBACpB,KAAK,MAAM,GAAG,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACrF,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5C,kEAAkE;gBAClE,yEAAyE;gBACzE,qDAAqD;gBACrD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;gBAExD,KAAK,MAAM,eAAe,IAAI,YAAY,EAAE,CAAC;oBAC3C,UAAU,EAAE,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,eAAe,GAAG,CAAC,CAAC;oBAE1D,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAC3E,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC/B,UAAU,EAAE,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,eAAe,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC/E,SAAS;oBACX,CAAC;oBACD,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC;oBAE9C,oEAAoE;oBACpE,oEAAoE;oBACpE,qEAAqE;oBACrE,MAAM,KAAK,GAAgB,uBAAuB,CAChD,GAAG,CAAC,IAAI,EACR,eAAe,EACf,GAAG,CAAC,WAAW,CAChB,CAAC;oBACF,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;oBAClE,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;oBAExE,uEAAuE;oBACvE,IAAI,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;wBACtC,MAAM,KAAK,GAAG,oBAAoB,CAChC,OAAO,CAAC,EAAE,EACV,eAAe,EACf,UAAU,CAAC,EAAE,EACb,eAAe,CAChB,CAAC;wBACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;4BACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gCACtB,YAAY,CAAC,IAAI,CACf,IAAI,KAAK,KAAK,eAAe,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,UAAU,wBAAwB;oCAChF,iBAAiB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,eAAe;yCACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;yCACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAClB,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,8CAA8C;oBAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;wBACvC,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;wBACxE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC;wBACzC,MAAM,CAAC,IAAI,CAAC;4BACV,WAAW,EAAE,eAAe;4BAC5B,WAAW,EAAE,eAAe;4BAC5B,KAAK;4BACL,WAAW,EAAE,SAAS,CAAC,KAAK;4BAC5B,WAAW,EAAE,CAAC;4BACd,UAAU,EAAE,SAAS,CAAC,IAAI;4BAC1B,UAAU,EAAE,EAAE;4BACd,SAAS,EAAE,UAAU;4BACrB,UAAU;yBACX,CAAC,CAAC;wBACH,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,YAAY,CAAC,IAAI,CACf,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,eAAe,MAAM,eAAe,IAAI;gCAChE,mCAAmC,SAAS,CAAC,KAAK,QAAQ,CAC7D,CAAC;wBACJ,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,MAAM,IAAI,GAAG,mBAAmB,CAC9B,OAAO,CAAC,EAAE,EACV,eAAe,EACf,UAAU,CAAC,EAAE,EACb,eAAe,CAChB,CAAC;oBACF,sEAAsE;oBACtE,kEAAkE;oBAClE,oEAAoE;oBACpE,2DAA2D;oBAC3D,MAAM,YAAY,GAAG,0BAA0B,CAC7C,OAAO,CAAC,EAAE,EACV,eAAe,EACf,UAAU,CAAC,EAAE,EACb,eAAe,CAChB,CAAC;oBACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;oBACtF,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;oBAC3E,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC;oBACvD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;oBAEpD,qEAAqE;oBACrE,iEAAiE;oBACjE,uEAAuE;oBACvE,uEAAuE;oBACvE,sEAAsE;oBACtE,sEAAsE;oBACtE,oEAAoE;oBACpE,wDAAwD;oBACxD,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;wBACtC,YAAY,CAAC,IAAI,CACf,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,eAAe,MAAM,eAAe,IAAI;4BAChE,oBAAoB,SAAS,CAAC,KAAK,iBAAiB,SAAS,CAAC,KAAK,UACjE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAC9B,wBAAwB,SAAS,EAAE,CACtC,CAAC;oBACJ,CAAC;yBAAM,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;wBAC7C,GAAG,CAAC,IAAI,CACN;4BACE,KAAK;4BACL,MAAM,EAAE,GAAG,CAAC,IAAI;4BAChB,KAAK,EAAE,eAAe;4BACtB,WAAW,EAAE,SAAS,CAAC,KAAK;4BAC5B,WAAW,EAAE,SAAS,CAAC,KAAK;4BAC5B,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK;yBACzC,EACD,oBAAoB,eAAe,QACjC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAC9B,0EAA0E;4BACxE,gFAAgF,CACnF,CAAC;oBACJ,CAAC;yBAAM,IAAI,CAAC,SAAS,EAAE,CAAC;wBACtB,qEAAqE;wBACrE,YAAY,CAAC,IAAI,CACf,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,eAAe,MAAM,eAAe,IAAI;4BAChE,UAAU,SAAS,CAAC,KAAK,iBAAiB,SAAS,CAAC,KAAK,oBAAoB,SAAS,EAAE,CAC3F,CAAC;oBACJ,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC;wBACV,WAAW,EAAE,eAAe;wBAC5B,WAAW,EAAE,eAAe;wBAC5B,KAAK;wBACL,WAAW,EAAE,SAAS,CAAC,KAAK;wBAC5B,WAAW,EAAE,SAAS,CAAC,KAAK;wBAC5B,UAAU,EAAE,SAAS,CAAC,IAAI;wBAC1B,UAAU,EAAE,SAAS,CAAC,IAAI;wBAC1B,SAAS;wBACT,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,aAAa,GAAmC,EAAE,CAAC;QACzD,aAAa,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChE,oBAAoB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAE5C,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,yEAAyE;YACzE,0EAA0E;YAC1E,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACxF,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxC,4DAA4D;gBAC5D,YAAY,CAAC,IAAI,CACf,QAAQ,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,IAAI,GAAG,uBAAuB,EAAE,CAAC,MAAM,UAAU,EAAE,CAAC,IAAI,6BAA6B,CACxH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,+BAA+B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CACN;gBACE,KAAK,EAAE,+BAA+B,CAAC,MAAM;gBAC7C,MAAM,EAAE,+BAA+B,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACpD,EACD,oBAAoB,+BAA+B,CAAC,MAAM,qIAAqI,CAChM,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM;YACN,oBAAoB;YACpB,8BAA8B;YAC9B,+BAA+B;YAC/B,SAAS;YACT,KAAK;SACN,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,2BAA2B,YAAY,CAAC,MAAM,eAAe,YAAY;aACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM;YACN,oBAAoB;YACpB,8BAA8B;YAC9B,+BAA+B;YAC/B,SAAS;YACT,KAAK;SACN,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM;QACN,oBAAoB;QACpB,8BAA8B;QAC9B,+BAA+B;QAC/B,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"verify-migration.js","sourceRoot":"","sources":["../../../src/store/exodus/verify-migration.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,22 @@ export declare function getGlobalSaltPath(): string;
45
45
  * ```
46
46
  */
47
47
  export declare function getGlobalSalt(): Buffer;
48
+ /**
49
+ * Read (or generate on first use) the global salt of an EXPLICIT CLEO home,
50
+ * bypassing the process memo.
51
+ *
52
+ * {@link getGlobalSalt} memoizes the salt of the ambient home for the process
53
+ * lifetime. That is wrong for code that addresses a different home, or one
54
+ * whose salt file was just replaced — a backup import that places the bundled
55
+ * `global-salt` and then re-encrypts credentials under it (T12326). Same
56
+ * generation and validation rules as {@link getGlobalSalt}.
57
+ *
58
+ * @param cleoHome - Absolute CLEO home directory.
59
+ * @returns The 32-byte salt stored at `<cleoHome>/global-salt`.
60
+ * @throws {Error} If the salt file exists with wrong size or wrong permissions.
61
+ * @task T12326
62
+ */
63
+ export declare function loadGlobalSaltAt(cleoHome: string): Buffer;
48
64
  /**
49
65
  * Runtime validation helper for startup integrity checks.
50
66
  *
@@ -1 +1 @@
1
- {"version":3,"file":"global-salt.d.ts","sourceRoot":"","sources":["../../src/store/global-salt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAWnC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAkDtC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAwBzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"global-salt.d.ts","sourceRoot":"","sources":["../../src/store/global-salt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAWnC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2CzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAwBzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -60,8 +60,26 @@ export function getGlobalSaltPath() {
60
60
  export function getGlobalSalt() {
61
61
  if (cached !== null)
62
62
  return cached;
63
- const saltPath = getGlobalSaltPath();
64
- const cleoHome = getCleoHome();
63
+ cached = loadGlobalSaltAt(getCleoHome());
64
+ return cached;
65
+ }
66
+ /**
67
+ * Read (or generate on first use) the global salt of an EXPLICIT CLEO home,
68
+ * bypassing the process memo.
69
+ *
70
+ * {@link getGlobalSalt} memoizes the salt of the ambient home for the process
71
+ * lifetime. That is wrong for code that addresses a different home, or one
72
+ * whose salt file was just replaced — a backup import that places the bundled
73
+ * `global-salt` and then re-encrypts credentials under it (T12326). Same
74
+ * generation and validation rules as {@link getGlobalSalt}.
75
+ *
76
+ * @param cleoHome - Absolute CLEO home directory.
77
+ * @returns The 32-byte salt stored at `<cleoHome>/global-salt`.
78
+ * @throws {Error} If the salt file exists with wrong size or wrong permissions.
79
+ * @task T12326
80
+ */
81
+ export function loadGlobalSaltAt(cleoHome) {
82
+ const saltPath = path.join(cleoHome, GLOBAL_SALT_FILENAME);
65
83
  if (!fs.existsSync(saltPath)) {
66
84
  // First-run generation: ensure the directory exists
67
85
  if (!fs.existsSync(cleoHome)) {
@@ -74,8 +92,7 @@ export function getGlobalSalt() {
74
92
  // Explicit chmod in case writeFileSync's mode arg is ignored on some FS
75
93
  fs.chmodSync(tmpPath, SALT_FILE_MODE);
76
94
  fs.renameSync(tmpPath, saltPath);
77
- cached = salt;
78
- return cached;
95
+ return salt;
79
96
  }
80
97
  // Existing file — validate before trusting
81
98
  const stat = fs.statSync(saltPath);
@@ -92,9 +109,7 @@ export function getGlobalSalt() {
92
109
  `Fix with: chmod 600 ${saltPath}`);
93
110
  }
94
111
  }
95
- const salt = fs.readFileSync(saltPath);
96
- cached = salt;
97
- return cached;
112
+ return fs.readFileSync(saltPath);
98
113
  }
99
114
  /**
100
115
  * Runtime validation helper for startup integrity checks.
@@ -1 +1 @@
1
- {"version":3,"file":"global-salt.js","sourceRoot":"","sources":["../../src/store/global-salt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-salt.js","sourceRoot":"","sources":["../../src/store/global-salt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Rebuild an unconvergeable legacy `drizzle-tasks` table family inside a
3
+ * consolidated `cleo.db`.
4
+ *
5
+ * ## The failure (T12346)
6
+ *
7
+ * Post-E6 the project store is `cleo.db`, and the tasks domain still replays
8
+ * the legacy `drizzle-tasks` lineage on it. That lineage creates the BARE table
9
+ * family (`tasks`, `sessions`, `architecture_decisions`, `attachments`, …),
10
+ * which is dead for task reads and writes (those use the prefixed
11
+ * `tasks_tasks` family), apart from a few still-live tables such as `attachments`.
12
+ * On a fresh project the lineage runs from scratch on empty tables.
13
+ *
14
+ * Some projects instead carry a `cleo.db` that began life as a copy of their
15
+ * pre-consolidation `tasks.db` (claude-todo: every bare table row-identical to
16
+ * `tasks.db`). Its journal was written by the old created_at HIGH-WATER
17
+ * migrator, which treated every migration older than the newest applied one as
18
+ * done — so 40 lineage migrations were never executed, and their tables and
19
+ * columns never existed. Drizzle 1.x selects pending migrations BY NAME, so it
20
+ * replays those gaps against a schema they were never written for:
21
+ *
22
+ * - `t033` rebuilds `architecture_decisions` with a self-FK, and a reference
23
+ * that was ALREADY dangling fails the copy (`FOREIGN KEY constraint failed`);
24
+ * - with that out of the way, `t033` rebuilds `tasks` without `assignee`, which a
25
+ * later migration then SELECTs (`no such column: assignee`);
26
+ * - stamping the gaps as applied (the high-water reading) instead leaves the
27
+ * later migrations reaching for tables the gaps create (`no such table:
28
+ * attachments`).
29
+ *
30
+ * No replay order converges, and every command in the project dies at open.
31
+ *
32
+ * ## The repair
33
+ *
34
+ * The lineage objects are rebuilt exactly as a fresh project gets them:
35
+ *
36
+ * 1. `VACUUM INTO` a full snapshot of the database (the bare rows are preserved
37
+ * there byte-for-byte; the repair refuses to proceed without it);
38
+ * 2. in ONE transaction, drop every table, view, trigger and index the lineage
39
+ * creates — never an object any sibling lineage (consolidated schema, brain,
40
+ * nexus, …) also creates — and delete only the lineage's journal rows;
41
+ * 3. in the same transaction, execute the whole lineage in order, journaling each
42
+ * migration as drizzle does.
43
+ *
44
+ * Any failure rolls the transaction back, leaving the database byte-identical
45
+ * to before, and the caller rethrows the original migration error. The
46
+ * prefixed tables, which hold the project's live data, are never touched.
47
+ *
48
+ * @module
49
+ * @task T12346
50
+ */
51
+ import type { DatabaseSync } from 'node:sqlite';
52
+ /** Outcome of {@link rebuildLegacyTasksLineage}. */
53
+ export interface LegacyTasksLineageRebuild {
54
+ /** Full pre-repair snapshot of the database (holds every dropped row). */
55
+ readonly snapshotPath: string;
56
+ /** Lineage objects that existed and were dropped, by name. */
57
+ readonly dropped: readonly string[];
58
+ /** Lineage migrations executed afresh. */
59
+ readonly migrationsApplied: number;
60
+ /**
61
+ * Per dropped table: rows in the snapshot and rows in the recreated table
62
+ * after the verified copy-back (never fewer; more only where the fresh
63
+ * lineage seeded rows the snapshot lacked).
64
+ */
65
+ readonly carriedForward: readonly {
66
+ table: string;
67
+ snapshotRows: number;
68
+ restored: number;
69
+ }[];
70
+ }
71
+ /**
72
+ * Rebuild the `drizzle-tasks` table family of a consolidated `cleo.db` from
73
+ * scratch, after snapshotting the whole database. Atomic: on any failure the
74
+ * transaction is rolled back and the error is rethrown.
75
+ *
76
+ * @param nativeDb - Connection on the consolidated `cleo.db`; must not be mid-transaction.
77
+ * @param dbPath - Absolute path of that database (the snapshot goes beside it).
78
+ * @param migrationsFolder - The `drizzle-tasks` migrations folder.
79
+ * @param siblingFolders - Every other lineage sharing this database; objects
80
+ * they create are never dropped.
81
+ * @returns What was snapshotted, dropped and applied.
82
+ * @throws When the snapshot cannot be written, or when the rebuild fails (rolled back).
83
+ * @task T12346
84
+ */
85
+ export declare function rebuildLegacyTasksLineage(nativeDb: DatabaseSync, dbPath: string, migrationsFolder: string, siblingFolders: readonly string[]): LegacyTasksLineageRebuild;
86
+ //# sourceMappingURL=legacy-tasks-lineage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-tasks-lineage.d.ts","sourceRoot":"","sources":["../../src/store/legacy-tasks-lineage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6ChD,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/F;AA8JD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,yBAAyB,CAuG3B"}