@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.
- package/dist/changesets/parser.d.ts.map +1 -1
- package/dist/changesets/parser.js +67 -0
- package/dist/changesets/parser.js.map +1 -1
- package/dist/crypto/credentials.d.ts +128 -26
- package/dist/crypto/credentials.d.ts.map +1 -1
- package/dist/crypto/credentials.js +183 -142
- package/dist/crypto/credentials.js.map +1 -1
- package/dist/docs/export-document.js +14705 -12949
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/index.d.ts +1 -1
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +1 -1
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
- package/dist/doctor/nexus-schema-residency.js +1 -0
- package/dist/doctor/nexus-schema-residency.js.map +1 -1
- package/dist/doctor/project-identity.d.ts +124 -0
- package/dist/doctor/project-identity.d.ts.map +1 -0
- package/dist/doctor/project-identity.js +307 -0
- package/dist/doctor/project-identity.js.map +1 -0
- package/dist/doctor/superseded-store.d.ts +8 -0
- package/dist/doctor/superseded-store.d.ts.map +1 -1
- package/dist/doctor/superseded-store.js +48 -3
- package/dist/doctor/superseded-store.js.map +1 -1
- package/dist/init.d.ts +7 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +17 -2
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +5 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -2
- package/dist/internal.js.map +1 -1
- package/dist/llm/credentials-store.d.ts +10 -0
- package/dist/llm/credentials-store.d.ts.map +1 -1
- package/dist/llm/credentials-store.js +7 -1
- package/dist/llm/credentials-store.js.map +1 -1
- package/dist/llm/plugin-facade.js +13368 -1550
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/nexus/analyze-orchestrator.d.ts +20 -3
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +159 -10
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-store.d.ts +57 -0
- package/dist/nexus/assessment-store.d.ts.map +1 -0
- package/dist/nexus/assessment-store.js +73 -0
- package/dist/nexus/assessment-store.js.map +1 -0
- package/dist/nexus/freshness.d.ts +131 -0
- package/dist/nexus/freshness.d.ts.map +1 -0
- package/dist/nexus/freshness.js +391 -0
- package/dist/nexus/freshness.js.map +1 -0
- package/dist/nexus/graph-manifest.d.ts +88 -0
- package/dist/nexus/graph-manifest.d.ts.map +1 -0
- package/dist/nexus/graph-manifest.js +114 -0
- package/dist/nexus/graph-manifest.js.map +1 -0
- package/dist/nexus/knowledge.d.ts +21 -1
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +76 -37
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/path-map.d.ts +55 -0
- package/dist/nexus/path-map.d.ts.map +1 -0
- package/dist/nexus/path-map.js +87 -0
- package/dist/nexus/path-map.js.map +1 -0
- package/dist/nexus/projects-clean.d.ts +21 -28
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +168 -85
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +3 -2
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry-hygiene.d.ts +70 -0
- package/dist/nexus/registry-hygiene.d.ts.map +1 -0
- package/dist/nexus/registry-hygiene.js +113 -0
- package/dist/nexus/registry-hygiene.js.map +1 -0
- package/dist/nexus/registry.d.ts +2 -2
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +48 -12
- package/dist/nexus/registry.js.map +1 -1
- package/dist/paths.d.ts +26 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +99 -6
- package/dist/paths.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +8 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/resources/spawn-wrapper.d.ts +0 -11
- package/dist/resources/spawn-wrapper.d.ts.map +1 -1
- package/dist/resources/spawn-wrapper.js +62 -6
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts +12 -3
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +61 -38
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +136 -0
- package/dist/scaffold/project-identity.d.ts.map +1 -0
- package/dist/scaffold/project-identity.js +225 -0
- package/dist/scaffold/project-identity.js.map +1 -0
- package/dist/selfimprove/fix-gen.js +13319 -1556
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/store/agent-api-key.d.ts +114 -0
- package/dist/store/agent-api-key.d.ts.map +1 -0
- package/dist/store/agent-api-key.js +136 -0
- package/dist/store/agent-api-key.js.map +1 -0
- package/dist/store/agent-registry-accessor.d.ts +4 -2
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +39 -89
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/api-key-kdf.d.ts +7 -0
- package/dist/store/api-key-kdf.d.ts.map +1 -1
- package/dist/store/api-key-kdf.js +7 -0
- package/dist/store/api-key-kdf.js.map +1 -1
- package/dist/store/backup-crypto.d.ts +49 -0
- package/dist/store/backup-crypto.d.ts.map +1 -1
- package/dist/store/backup-crypto.js +154 -0
- package/dist/store/backup-crypto.js.map +1 -1
- package/dist/store/credential-transfer.d.ts +303 -0
- package/dist/store/credential-transfer.d.ts.map +1 -0
- package/dist/store/credential-transfer.js +774 -0
- package/dist/store/credential-transfer.js.map +1 -0
- package/dist/store/exodus/column-transforms.d.ts +79 -4
- package/dist/store/exodus/column-transforms.d.ts.map +1 -1
- package/dist/store/exodus/column-transforms.js +121 -4
- package/dist/store/exodus/column-transforms.js.map +1 -1
- package/dist/store/exodus/index.d.ts +1 -0
- package/dist/store/exodus/index.d.ts.map +1 -1
- package/dist/store/exodus/index.js +1 -0
- package/dist/store/exodus/index.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts +17 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +155 -33
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts +14 -0
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +115 -6
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/reconcile.d.ts +103 -0
- package/dist/store/exodus/reconcile.d.ts.map +1 -0
- package/dist/store/exodus/reconcile.js +728 -0
- package/dist/store/exodus/reconcile.js.map +1 -0
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +14 -2
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +39 -0
- package/dist/store/exodus/runtime-targets.d.ts.map +1 -0
- package/dist/store/exodus/runtime-targets.js +63 -0
- package/dist/store/exodus/runtime-targets.js.map +1 -0
- package/dist/store/exodus/table-name-map.d.ts.map +1 -1
- package/dist/store/exodus/table-name-map.js +5 -0
- package/dist/store/exodus/table-name-map.js.map +1 -1
- package/dist/store/exodus/table-order.d.ts +35 -0
- package/dist/store/exodus/table-order.d.ts.map +1 -0
- package/dist/store/exodus/table-order.js +62 -0
- package/dist/store/exodus/table-order.js.map +1 -0
- package/dist/store/exodus/verify-migration.d.ts +4 -1
- package/dist/store/exodus/verify-migration.d.ts.map +1 -1
- package/dist/store/exodus/verify-migration.js +142 -10
- package/dist/store/exodus/verify-migration.js.map +1 -1
- package/dist/store/global-salt.d.ts +16 -0
- package/dist/store/global-salt.d.ts.map +1 -1
- package/dist/store/global-salt.js +22 -7
- package/dist/store/global-salt.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts +86 -0
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -0
- package/dist/store/legacy-tasks-lineage.js +285 -0
- package/dist/store/legacy-tasks-lineage.js.map +1 -0
- package/dist/store/migration-manager.d.ts +27 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +63 -0
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts +117 -0
- package/dist/store/portable-bundle-import.d.ts.map +1 -0
- package/dist/store/portable-bundle-import.js +589 -0
- package/dist/store/portable-bundle-import.js.map +1 -0
- package/dist/store/portable-bundle-relocate.d.ts +66 -0
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -0
- package/dist/store/portable-bundle-relocate.js +304 -0
- package/dist/store/portable-bundle-relocate.js.map +1 -0
- package/dist/store/portable-bundle-scan.d.ts +167 -0
- package/dist/store/portable-bundle-scan.d.ts.map +1 -0
- package/dist/store/portable-bundle-scan.js +569 -0
- package/dist/store/portable-bundle-scan.js.map +1 -0
- package/dist/store/portable-bundle.d.ts +146 -0
- package/dist/store/portable-bundle.d.ts.map +1 -0
- package/dist/store/portable-bundle.js +674 -0
- package/dist/store/portable-bundle.js.map +1 -0
- package/dist/store/regenerators.d.ts +3 -1
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +6 -2
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +98 -0
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +19 -0
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/nexus-schema.d.ts +102 -0
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +24 -0
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/split-brain-import.d.ts +176 -0
- package/dist/store/split-brain-import.d.ts.map +1 -0
- package/dist/store/split-brain-import.js +680 -0
- package/dist/store/split-brain-import.js.map +1 -0
- package/dist/store/sqlite.d.ts +29 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +57 -5
- package/dist/store/sqlite.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +30 -5
- package/dist/system/health.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +60 -0
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +14 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +33 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/migrations/drizzle-cleo-global/20260924000000_t12354-project-paths/migration.sql +40 -0
- package/migrations/drizzle-nexus/20260924000000_t12315-nexus-parse-cache/migration.sql +21 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +3 -3
- 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
|
|
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 {
|
|
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 =
|
|
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":"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"}
|
|
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,
|
|
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
|
-
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAElD,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,sEAAsE;AACtE,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;;GAGG;AACH,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;
|
|
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"}
|