@cleocode/core 2026.6.5 → 2026.6.7
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/dispatch/contracts/output-contracts.d.ts +36 -0
- package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -0
- package/dist/dispatch/contracts/output-contracts.js +38 -0
- package/dist/dispatch/contracts/output-contracts.js.map +1 -0
- package/dist/dispatch/describe-operation.d.ts +98 -0
- package/dist/dispatch/describe-operation.d.ts.map +1 -0
- package/dist/dispatch/describe-operation.js +101 -0
- package/dist/dispatch/describe-operation.js.map +1 -0
- package/dist/docs/export-document.js +933 -489
- package/dist/docs/export-document.js.map +3 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +6 -0
- package/dist/internal.js.map +1 -1
- package/dist/llm/api-mode.d.ts +64 -0
- package/dist/llm/api-mode.d.ts.map +1 -0
- package/dist/llm/api-mode.js +72 -0
- package/dist/llm/api-mode.js.map +1 -0
- package/dist/llm/api.d.ts.map +1 -1
- package/dist/llm/api.js +6 -37
- package/dist/llm/api.js.map +1 -1
- package/dist/llm/auxiliary-fallback.d.ts.map +1 -1
- package/dist/llm/auxiliary-fallback.js +24 -38
- package/dist/llm/auxiliary-fallback.js.map +1 -1
- package/dist/llm/index.d.ts +1 -3
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +1 -2
- package/dist/llm/index.js.map +1 -1
- package/dist/llm/model-metadata.d.ts +14 -0
- package/dist/llm/model-metadata.d.ts.map +1 -1
- package/dist/llm/model-metadata.js +23 -0
- package/dist/llm/model-metadata.js.map +1 -1
- package/dist/llm/model-runner.d.ts +127 -0
- package/dist/llm/model-runner.d.ts.map +1 -0
- package/dist/llm/model-runner.js +312 -0
- package/dist/llm/model-runner.js.map +1 -0
- package/dist/llm/plugin-facade.js +30084 -1748
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/anthropic.js +4 -0
- package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
- package/dist/llm/provider-registry/builtin/gemini.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/gemini.js +4 -0
- package/dist/llm/provider-registry/builtin/gemini.js.map +1 -1
- package/dist/llm/provider-registry/builtin/ollama.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/ollama.js +4 -0
- package/dist/llm/provider-registry/builtin/ollama.js.map +1 -1
- package/dist/llm/provider-registry/builtin/openai.d.ts.map +1 -1
- package/dist/llm/provider-registry/builtin/openai.js +6 -0
- package/dist/llm/provider-registry/builtin/openai.js.map +1 -1
- package/dist/llm/role-executor.d.ts +6 -5
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +40 -86
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts +28 -1
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +10 -0
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/session-factory.d.ts +4 -6
- package/dist/llm/session-factory.d.ts.map +1 -1
- package/dist/llm/session-factory.js +6 -72
- package/dist/llm/session-factory.js.map +1 -1
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +6 -0
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/llm/tool-loop.d.ts.map +1 -1
- package/dist/llm/tool-loop.js +9 -32
- package/dist/llm/tool-loop.js.map +1 -1
- package/dist/llm/transports/index.d.ts +5 -3
- package/dist/llm/transports/index.d.ts.map +1 -1
- package/dist/llm/transports/index.js +5 -2
- package/dist/llm/transports/index.js.map +1 -1
- package/dist/reconciliation/reconciliation-engine.d.ts.map +1 -1
- package/dist/reconciliation/reconciliation-engine.js +3 -0
- package/dist/reconciliation/reconciliation-engine.js.map +1 -1
- package/dist/release/plan.d.ts +27 -0
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +36 -2
- package/dist/release/plan.js.map +1 -1
- package/dist/release/provenance-fk.d.ts +74 -0
- package/dist/release/provenance-fk.d.ts.map +1 -0
- package/dist/release/provenance-fk.js +122 -0
- package/dist/release/provenance-fk.js.map +1 -0
- package/dist/release/reconcile.d.ts +10 -0
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +107 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/sticky/convert.d.ts.map +1 -1
- package/dist/sticky/convert.js +3 -0
- package/dist/sticky/convert.js.map +1 -1
- package/dist/store/exodus/column-transforms.d.ts +275 -0
- package/dist/store/exodus/column-transforms.d.ts.map +1 -0
- package/dist/store/exodus/column-transforms.js +478 -0
- package/dist/store/exodus/column-transforms.js.map +1 -0
- package/dist/store/exodus/count-parity.d.ts +71 -0
- package/dist/store/exodus/count-parity.d.ts.map +1 -0
- package/dist/store/exodus/count-parity.js +124 -0
- package/dist/store/exodus/count-parity.js.map +1 -0
- package/dist/store/exodus/health.d.ts +70 -0
- package/dist/store/exodus/health.d.ts.map +1 -0
- package/dist/store/exodus/health.js +130 -0
- package/dist/store/exodus/health.js.map +1 -0
- package/dist/store/exodus/index.d.ts +3 -0
- package/dist/store/exodus/index.d.ts.map +1 -1
- package/dist/store/exodus/index.js +3 -0
- package/dist/store/exodus/index.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +103 -298
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/plan.d.ts +48 -4
- package/dist/store/exodus/plan.d.ts.map +1 -1
- package/dist/store/exodus/plan.js +67 -9
- package/dist/store/exodus/plan.js.map +1 -1
- package/dist/store/exodus/seal.d.ts +69 -0
- package/dist/store/exodus/seal.d.ts.map +1 -0
- package/dist/store/exodus/seal.js +73 -0
- package/dist/store/exodus/seal.js.map +1 -0
- package/dist/store/exodus/types.d.ts +24 -1
- package/dist/store/exodus/types.d.ts.map +1 -1
- package/dist/store/exodus/types.js.map +1 -1
- package/dist/store/exodus/verify-migration.d.ts.map +1 -1
- package/dist/store/exodus/verify-migration.js +109 -24
- package/dist/store/exodus/verify-migration.js.map +1 -1
- package/dist/tasks/add.d.ts +13 -0
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +50 -18
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/archive.d.ts.map +1 -1
- package/dist/tasks/archive.js +12 -7
- package/dist/tasks/archive.js.map +1 -1
- package/dist/tasks/child-disposition.d.ts +66 -0
- package/dist/tasks/child-disposition.d.ts.map +1 -0
- package/dist/tasks/child-disposition.js +80 -0
- package/dist/tasks/child-disposition.js.map +1 -0
- package/dist/tasks/delete-preview.js +1 -1
- package/dist/tasks/delete-preview.js.map +1 -1
- package/dist/tasks/deletion-strategy.d.ts +21 -3
- package/dist/tasks/deletion-strategy.d.ts.map +1 -1
- package/dist/tasks/deletion-strategy.js +61 -15
- package/dist/tasks/deletion-strategy.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +8 -0
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +22 -9
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +12 -0
- package/dist/tasks/update.js.map +1 -1
- package/package.json +12 -12
- package/dist/llm/transports/openai.d.ts +0 -181
- package/dist/llm/transports/openai.d.ts.map +0 -1
- package/dist/llm/transports/openai.js +0 -645
- package/dist/llm/transports/openai.js.map +0 -1
|
@@ -111,12 +111,14 @@
|
|
|
111
111
|
* agent_credentials/brain_release_links tables)
|
|
112
112
|
* @saga T11242
|
|
113
113
|
*/
|
|
114
|
-
import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
114
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
115
115
|
import { join } from 'node:path';
|
|
116
116
|
import { getLogger } from '../../logger.js';
|
|
117
117
|
import { getCleoVersion } from '../../scaffold/ensure-config.js';
|
|
118
118
|
import { openDualScopeDbAtPath } from '../dual-scope-db.js';
|
|
119
119
|
import { openCleoDbSnapshot } from '../open-cleo-db.js';
|
|
120
|
+
import { buildEpochToIsoExpr, detectIsoGlobColumns, ENUM_NORMALIZATIONS, enumNormExpr, NUMERIC_CLAMPS, numericClampExpr, typeDefaultLiteral, } from './column-transforms.js';
|
|
121
|
+
import { STAGING_HEADROOM_FACTOR } from './plan.js';
|
|
120
122
|
import { resolveConsolidatedTableName, resolveTableTargetScope } from './table-name-map.js';
|
|
121
123
|
import { EXODUS_TARGET_SCHEMA_VERSION } from './types.js';
|
|
122
124
|
const log = getLogger('exodus-migrate');
|
|
@@ -252,6 +254,24 @@ function releaseAdvisoryLock(dbPath) {
|
|
|
252
254
|
// Ignore — lock may already be gone
|
|
253
255
|
}
|
|
254
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Return a file's size in bytes, or `0` when it cannot be stat'd (T11838).
|
|
259
|
+
*
|
|
260
|
+
* Used to decide whether a source exceeds the staging-copy skip threshold. A
|
|
261
|
+
* non-existent / unreadable source is treated as 0 bytes (it is filtered out of
|
|
262
|
+
* the copy loop separately), so it never trips the large-source skip branch.
|
|
263
|
+
*
|
|
264
|
+
* @param filePath - Absolute path to the file to stat.
|
|
265
|
+
* @returns The file size in bytes, or `0` on any stat failure.
|
|
266
|
+
*/
|
|
267
|
+
function safeStatBytes(filePath) {
|
|
268
|
+
try {
|
|
269
|
+
return statSync(filePath).size;
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
return 0;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
255
275
|
// ---------------------------------------------------------------------------
|
|
256
276
|
// Unique ATTACH alias per source DB (T11531)
|
|
257
277
|
// ---------------------------------------------------------------------------
|
|
@@ -273,190 +293,6 @@ function makeAttachAlias(name, index) {
|
|
|
273
293
|
// Include the index to guarantee uniqueness even if two names normalise identically.
|
|
274
294
|
return `_src_${safe}_${index}`;
|
|
275
295
|
}
|
|
276
|
-
/**
|
|
277
|
-
* Determine a safe SQL literal default for a NOT NULL column with no schema
|
|
278
|
-
* default, given its SQLite type affinity.
|
|
279
|
-
*
|
|
280
|
-
* Used to coalesce NULL source values for target-only NOT NULL columns so that
|
|
281
|
-
* rows are not silently dropped by `INSERT OR IGNORE` when a source value is
|
|
282
|
-
* NULL (T11533 ROOT CAUSE 2 fix).
|
|
283
|
-
*
|
|
284
|
-
* @param colType - Raw `type` string from `PRAGMA table_info` (e.g. `"INTEGER"`,
|
|
285
|
-
* `"TEXT"`, `"REAL"`, `"BLOB"`, or compound forms like `"text NOT NULL"`).
|
|
286
|
-
* @returns A SQL literal string suitable for embedding in a `COALESCE()` call.
|
|
287
|
-
*/
|
|
288
|
-
function typeDefaultLiteral(colType) {
|
|
289
|
-
const upper = colType.toUpperCase();
|
|
290
|
-
if (upper.includes('INT'))
|
|
291
|
-
return '0';
|
|
292
|
-
if (upper.includes('REAL') || upper.includes('FLOAT') || upper.includes('DOUBLE'))
|
|
293
|
-
return '0.0';
|
|
294
|
-
if (upper.includes('BLOB'))
|
|
295
|
-
return "x''";
|
|
296
|
-
// TEXT and any other affinity (SQLite permissive) → empty string
|
|
297
|
-
return "''";
|
|
298
|
-
}
|
|
299
|
-
const ENUM_NORMALIZATIONS = new Map([
|
|
300
|
-
// --- task_commits.link_source -------------------------------------------
|
|
301
|
-
// 'commit-message' → 'commit-subject' (pre-T9506 legacy value)
|
|
302
|
-
[
|
|
303
|
-
'tasks_task_commits.link_source',
|
|
304
|
-
(src) => `CASE ${src} WHEN 'commit-message' THEN 'commit-subject' ELSE ${src} END`,
|
|
305
|
-
],
|
|
306
|
-
// --- architecture_decisions.status (case + date-suffix normalization) ----
|
|
307
|
-
// 'Accepted', 'ACCEPTED', 'approved', 'Accepted (2026-04-18)', … → 'accepted'
|
|
308
|
-
// 'Proposed', 'PROPOSED' → 'proposed'
|
|
309
|
-
// 'Superseded', 'SUPERSEDED' → 'superseded'
|
|
310
|
-
[
|
|
311
|
-
'tasks_architecture_decisions.status',
|
|
312
|
-
(src) => `CASE` +
|
|
313
|
-
` WHEN lower(${src}) = 'accepted' OR lower(${src}) LIKE 'accepted %' OR lower(${src}) = 'approved' THEN 'accepted'` +
|
|
314
|
-
` WHEN lower(${src}) = 'proposed' THEN 'proposed'` +
|
|
315
|
-
` WHEN lower(${src}) = 'superseded' THEN 'superseded'` +
|
|
316
|
-
` WHEN lower(${src}) = 'deprecated' THEN 'deprecated'` +
|
|
317
|
-
` ELSE ${src}` +
|
|
318
|
-
` END`,
|
|
319
|
-
],
|
|
320
|
-
// --- brain_* enum normalizations REMOVED (T11647) -----------------------
|
|
321
|
-
// The brain memory family now lands in the consolidated cleo.db in its LEGACY
|
|
322
|
-
// RUNTIME shape — INTEGER epoch timestamps and, critically, NO SQL CHECK
|
|
323
|
-
// constraints (the `text({ enum })` unions are enforced only at the
|
|
324
|
-
// application layer, exactly as the runtime `drizzle-brain` tables are). With
|
|
325
|
-
// no brain CHECK constraint to satisfy, exodus MUST copy every brain enum
|
|
326
|
-
// value VERBATIM — coercing them (e.g. source_type 'observer-compressed'/
|
|
327
|
-
// 'sleep-consolidation' → 'agent', type 'observation'/'proposal'/'pattern' →
|
|
328
|
-
// nearest) would now be unnecessary data CORRUPTION, not a constraint fix.
|
|
329
|
-
// The previous brain entries (brain_observations.{source_type,type},
|
|
330
|
-
// brain_decisions.{confirmation_state,decision_category,confidence,outcome,
|
|
331
|
-
// decided_by}) are therefore deleted. The non-brain entries below still apply
|
|
332
|
-
// because those consolidated tables retain their CHECK constraints.
|
|
333
|
-
// --- tasks_token_usage.transport (T11548 → REMOVED T11649) ---------------
|
|
334
|
-
// NO normalization. 'mcp' is a first-class transport origin (MCP-gateway
|
|
335
|
-
// requests) and is preserved verbatim. The consolidated CHECK enum was WIDENED
|
|
336
|
-
// to include 'mcp' (canonical TOKEN_USAGE_TRANSPORTS SSoT + forward migration
|
|
337
|
-
// 20260602000002_t11649-token-usage-transport-mcp), so the value lands without
|
|
338
|
-
// coercion. The earlier 'mcp' → 'agent' mapping was a silent semantic alteration
|
|
339
|
-
// of ~194 rows (count-preserving, NOT integrity-preserving) — see T11649.
|
|
340
|
-
// (brain_decisions.{decision_category,confidence} normalizations removed —
|
|
341
|
-
// T11647: brain target = runtime shape with no CHECK; copy values verbatim.)
|
|
342
|
-
// --- tasks_commits.conventional_type (T11548 + T11578) -------------------
|
|
343
|
-
// The consolidated CHECK enum is feat/fix/chore/docs/refactor/test/build/ci/
|
|
344
|
-
// perf/revert/breaking. Real git history carries non-conventional subjects:
|
|
345
|
-
// - 'style' → 'chore' (pre-T11548 mapping; no 'style' in enum).
|
|
346
|
-
// - 'merge'/'release' → 'chore' (T11578): merge + release commits are
|
|
347
|
-
// maintenance-class; the precise semantic is preserved by the dedicated
|
|
348
|
-
// `is_merge_commit` / `is_release_commit` boolean columns, so collapsing
|
|
349
|
-
// `conventional_type` to the maintenance catch-all 'chore' is lossless at
|
|
350
|
-
// the row grain. Without this the 'merge'/'release' rows violate the CHECK,
|
|
351
|
-
// `INSERT OR IGNORE` drops the WHOLE commits table, and the exodus-on-open
|
|
352
|
-
// data-continuity gate aborts the cutover (T11578 CI regression).
|
|
353
|
-
// - any OTHER out-of-enum value → 'chore' (defensive: future non-conventional
|
|
354
|
-
// subjects must never re-break the zero-deficit gate; the boolean flags and
|
|
355
|
-
// raw subject text remain the precise provenance).
|
|
356
|
-
[
|
|
357
|
-
'tasks_commits.conventional_type',
|
|
358
|
-
(src) => `CASE` +
|
|
359
|
-
` WHEN ${src} IS NULL THEN NULL` +
|
|
360
|
-
` WHEN ${src} IN ('feat', 'fix', 'chore', 'docs', 'refactor', 'test', 'build', 'ci', 'perf', 'revert', 'breaking') THEN ${src}` +
|
|
361
|
-
` ELSE 'chore'` +
|
|
362
|
-
` END`,
|
|
363
|
-
],
|
|
364
|
-
// --- tasks_task_relations.relation_type (T11548) -------------------------
|
|
365
|
-
// 'grouped-by' → 'groups' (enum: related/blocks/duplicates/absorbs/fixes/extends/
|
|
366
|
-
// supersedes/groups). 4 rows.
|
|
367
|
-
[
|
|
368
|
-
'tasks_task_relations.relation_type',
|
|
369
|
-
(src) => `CASE ${src} WHEN 'grouped-by' THEN 'groups' ELSE ${src} END`,
|
|
370
|
-
],
|
|
371
|
-
// --- tasks_lifecycle_stages.stage_name (T11548) --------------------------
|
|
372
|
-
// Legacy camelCase / past-tense values → canonical snake_case stage names.
|
|
373
|
-
// 'implemented' → 'implementation', 'qaPassed' → 'validation',
|
|
374
|
-
// 'testsPassed' → 'testing'. 3 rows.
|
|
375
|
-
[
|
|
376
|
-
'tasks_lifecycle_stages.stage_name',
|
|
377
|
-
(src) => `CASE ${src}` +
|
|
378
|
-
` WHEN 'implemented' THEN 'implementation'` +
|
|
379
|
-
` WHEN 'qaPassed' THEN 'validation'` +
|
|
380
|
-
` WHEN 'testsPassed' THEN 'testing'` +
|
|
381
|
-
` ELSE ${src}` +
|
|
382
|
-
` END`,
|
|
383
|
-
],
|
|
384
|
-
// --- tasks_architecture_decisions.gate_status (T11548) ------------------
|
|
385
|
-
// 'passed (T5313 consensus)' → 'passed', 'approved' → 'passed'
|
|
386
|
-
// (enum: pending/passed/failed/waived). 2 rows.
|
|
387
|
-
[
|
|
388
|
-
'tasks_architecture_decisions.gate_status',
|
|
389
|
-
(src) => `CASE` +
|
|
390
|
-
` WHEN ${src} LIKE 'passed%' THEN 'passed'` +
|
|
391
|
-
` WHEN ${src} = 'approved' THEN 'passed'` +
|
|
392
|
-
` ELSE ${src}` +
|
|
393
|
-
` END`,
|
|
394
|
-
],
|
|
395
|
-
// --- tasks_evidence_ac_bindings.binding_type (T11548) -------------------
|
|
396
|
-
// Values with a 'validator:...' prefix → 'direct'
|
|
397
|
-
// (enum: direct/satisfies/coverage). 3 rows.
|
|
398
|
-
// Strip the namespace prefix introduced before the enum was tightened.
|
|
399
|
-
[
|
|
400
|
-
'tasks_evidence_ac_bindings.binding_type',
|
|
401
|
-
(src) => `CASE` + ` WHEN ${src} LIKE 'validator:%' THEN 'direct'` + ` ELSE ${src}` + ` END`,
|
|
402
|
-
],
|
|
403
|
-
// (brain_decisions.{outcome,decided_by} normalizations removed — T11647:
|
|
404
|
-
// brain target = runtime shape with no CHECK; legacy values like 'accepted',
|
|
405
|
-
// 'rejected', 'prime' now survive VERBATIM instead of being coerced.)
|
|
406
|
-
]);
|
|
407
|
-
/**
|
|
408
|
-
* Return a SQL CASE expression that normalises legacy enum values for `col` in
|
|
409
|
-
* `targetTableName` to the canonical values accepted by the consolidated CHECK,
|
|
410
|
-
* or return `null` when no normalization rule exists for this (table, column).
|
|
411
|
-
*
|
|
412
|
-
* @param targetTableName - Physical consolidated target table name.
|
|
413
|
-
* @param col - Column name.
|
|
414
|
-
* @param srcRef - SQL expression referencing the source column.
|
|
415
|
-
* @returns A SQL CASE expression string, or `null` if no rule applies.
|
|
416
|
-
*/
|
|
417
|
-
function enumNormExpr(targetTableName, col, srcRef) {
|
|
418
|
-
const key = `${targetTableName}.${col}`;
|
|
419
|
-
const fn = ENUM_NORMALIZATIONS.get(key);
|
|
420
|
-
return fn ? fn(srcRef) : null;
|
|
421
|
-
}
|
|
422
|
-
const NUMERIC_CLAMPS = new Map([
|
|
423
|
-
// --- brain_weight_history.delta_weight (T11782) -------------------------
|
|
424
|
-
// +Inf → 1.0 (max canonical reinforcement), -Inf → -1.0 (max canonical
|
|
425
|
-
// depression), NaN → 0.0 (no-op delta). Finite values pass through.
|
|
426
|
-
[
|
|
427
|
-
'brain_weight_history.delta_weight',
|
|
428
|
-
(src) => `CASE` +
|
|
429
|
-
` WHEN ${src} = 9e999 THEN 1.0` +
|
|
430
|
-
` WHEN ${src} = -9e999 THEN -1.0` +
|
|
431
|
-
` WHEN ${src} != ${src} THEN 0.0` +
|
|
432
|
-
` ELSE ${src}` +
|
|
433
|
-
` END`,
|
|
434
|
-
],
|
|
435
|
-
]);
|
|
436
|
-
/**
|
|
437
|
-
* Return a SQL CASE expression that clamps non-finite legacy REAL values for
|
|
438
|
-
* `col` in `targetTableName` to a finite in-range value, or `null` when no
|
|
439
|
-
* clamp rule exists for this (table, column).
|
|
440
|
-
*
|
|
441
|
-
* @param targetTableName - Physical consolidated target table name.
|
|
442
|
-
* @param col - Column name.
|
|
443
|
-
* @param srcRef - SQL expression referencing the source column.
|
|
444
|
-
* @returns A SQL CASE expression string, or `null` if no rule applies.
|
|
445
|
-
*/
|
|
446
|
-
function numericClampExpr(targetTableName, col, srcRef) {
|
|
447
|
-
const key = `${targetTableName}.${col}`;
|
|
448
|
-
const fn = NUMERIC_CLAMPS.get(key);
|
|
449
|
-
return fn ? fn(srcRef) : null;
|
|
450
|
-
}
|
|
451
|
-
// ---------------------------------------------------------------------------
|
|
452
|
-
// Epoch-to-ISO coercion layer (ROOT CAUSE 1 fix — T11546)
|
|
453
|
-
// ---------------------------------------------------------------------------
|
|
454
|
-
/**
|
|
455
|
-
* Regex to detect ISO GLOB CHECK constraints in DDL SQL.
|
|
456
|
-
* Matches: `CHECK ("colname" IS NULL OR "colname" GLOB '[0-9]...')`
|
|
457
|
-
* Uses `\[0-9` to match the literal `[0-9` at the start of the GLOB pattern.
|
|
458
|
-
*/
|
|
459
|
-
const ISO_CHECK_REGEX = /CHECK\s*\(\s*"([^"]+)"\s+IS\s+NULL\s+OR\s+"[^"]+"\s+GLOB\s+'\[0-9/gi;
|
|
460
296
|
/**
|
|
461
297
|
* Per-source-DB epoch unit lookup — used as a primary hint for the SQL magnitude
|
|
462
298
|
* heuristic (T11549 coercion fix). When the magnitude heuristic is ambiguous
|
|
@@ -503,85 +339,6 @@ function epochUnitForSource(sourceName) {
|
|
|
503
339
|
}
|
|
504
340
|
return 'seconds';
|
|
505
341
|
}
|
|
506
|
-
/**
|
|
507
|
-
* Magnitude threshold distinguishing epoch SECONDS from epoch MILLISECONDS.
|
|
508
|
-
*
|
|
509
|
-
* A Unix epoch value for years 2020–2100 is roughly 1.6e9 – 4.1e9 seconds,
|
|
510
|
-
* or 1.6e12 – 4.1e12 milliseconds. The safe boundary is 1e11 (100 billion):
|
|
511
|
-
* any value BELOW 1e11 is in seconds (even year 2100 seconds ≈ 4.1e9 < 1e11);
|
|
512
|
-
* any value AT OR ABOVE 1e11 is in milliseconds (year 2020 ms ≈ 1.6e12 > 1e11).
|
|
513
|
-
*
|
|
514
|
-
* This constant is embedded directly in the generated SQL CASE expression so
|
|
515
|
-
* it is evaluated per-row — each row's epoch is classified independently.
|
|
516
|
-
*/
|
|
517
|
-
const EPOCH_SECONDS_THRESHOLD = 100_000_000_000; // 1e11
|
|
518
|
-
/**
|
|
519
|
-
* Build a SQL expression that converts an INTEGER epoch column to ISO-8601 TEXT,
|
|
520
|
-
* automatically detecting whether the stored value is in seconds or milliseconds
|
|
521
|
-
* using a magnitude heuristic (T11549 correctness fix).
|
|
522
|
-
*
|
|
523
|
-
* ## Heuristic
|
|
524
|
-
*
|
|
525
|
-
* A per-row CASE checks whether the column value is below {@link EPOCH_SECONDS_THRESHOLD}
|
|
526
|
-
* (100 billion). If so, the value is treated as seconds and passed directly to
|
|
527
|
-
* `strftime(..., 'unixepoch')`. If at or above the threshold, it is divided by
|
|
528
|
-
* 1000.0 first (milliseconds → seconds).
|
|
529
|
-
*
|
|
530
|
-
* This replaces the previous per-source heuristic which failed when individual
|
|
531
|
-
* columns within a source DB used a different epoch unit than the majority of that
|
|
532
|
-
* source's columns. The specific bug: `nexus.user_profile.{first_observed_at,
|
|
533
|
-
* last_reinforced_at}` stores SECONDS (value ≈ 1.78e9) but the nexus source was
|
|
534
|
-
* labeled `milliseconds`, causing these values to be divided by 1000 and converted
|
|
535
|
-
* to a 1970 date.
|
|
536
|
-
*
|
|
537
|
-
* ## NULL handling
|
|
538
|
-
*
|
|
539
|
-
* A NULL source value is preserved as NULL so it passes the `IS NULL` branch of
|
|
540
|
-
* the ISO GLOB CHECK constraint on the target column.
|
|
541
|
-
*
|
|
542
|
-
* @param srcRef - SQL expression referencing the source column value.
|
|
543
|
-
* @returns A SQL CASE expression producing an ISO-8601 TEXT timestamp.
|
|
544
|
-
*/
|
|
545
|
-
function buildEpochToIsoExpr(srcRef) {
|
|
546
|
-
return (`CASE` +
|
|
547
|
-
` WHEN ${srcRef} IS NULL THEN NULL` +
|
|
548
|
-
` WHEN ${srcRef} < ${EPOCH_SECONDS_THRESHOLD}` +
|
|
549
|
-
` THEN strftime('%Y-%m-%dT%H:%M:%fZ', ${srcRef}, 'unixepoch')` +
|
|
550
|
-
` ELSE strftime('%Y-%m-%dT%H:%M:%fZ', ${srcRef}/1000.0, 'unixepoch')` +
|
|
551
|
-
` END`);
|
|
552
|
-
}
|
|
553
|
-
/**
|
|
554
|
-
* Parse the DDL for a given table from `sqlite_master` and return the set of
|
|
555
|
-
* column names that have an ISO GLOB CHECK constraint.
|
|
556
|
-
*
|
|
557
|
-
* Reads the raw DDL text and uses a regex to extract column names appearing in
|
|
558
|
-
* `CHECK ("colname" IS NULL OR "colname" GLOB '[0-9]...')` patterns. This is
|
|
559
|
-
* robust to Drizzle's generated CHECK format (all CHECK constraints generated
|
|
560
|
-
* by T11363 follow this exact pattern).
|
|
561
|
-
*
|
|
562
|
-
* @param db - Target DB with the consolidated schema.
|
|
563
|
-
* @param tableName - Physical table name (consolidated, e.g. `conduit_messages`).
|
|
564
|
-
* @param targetSchema - Schema name the target table lives in (`'main'`, or an
|
|
565
|
-
* ATTACH alias for cross-scope routing — ADR-090 nexus graph residency, T11539).
|
|
566
|
-
* @returns Set of column names that require ISO GLOB validation.
|
|
567
|
-
*/
|
|
568
|
-
function detectIsoGlobColumns(db, tableName, targetSchema = 'main') {
|
|
569
|
-
const escapedTable = tableName.replace(/'/g, "''");
|
|
570
|
-
const row = db
|
|
571
|
-
.prepare(`SELECT sql FROM "${targetSchema}".sqlite_master WHERE type='table' AND name='${escapedTable}'`)
|
|
572
|
-
.get();
|
|
573
|
-
if (!row?.sql)
|
|
574
|
-
return new Set();
|
|
575
|
-
const isoColumns = new Set();
|
|
576
|
-
// Pattern: CHECK ("colname" IS NULL OR "colname" GLOB '[0-9]...')
|
|
577
|
-
// The column name appears TWICE — we capture the first occurrence.
|
|
578
|
-
// Use matchAll to avoid the biome no-assign-in-expressions rule.
|
|
579
|
-
ISO_CHECK_REGEX.lastIndex = 0; // reset before reuse (global regex stateful)
|
|
580
|
-
for (const match of row.sql.matchAll(ISO_CHECK_REGEX)) {
|
|
581
|
-
isoColumns.add(match[1]);
|
|
582
|
-
}
|
|
583
|
-
return isoColumns;
|
|
584
|
-
}
|
|
585
342
|
/**
|
|
586
343
|
* Build a SQL SELECT expression for a shared column, applying (in priority order):
|
|
587
344
|
*
|
|
@@ -597,10 +354,10 @@ function detectIsoGlobColumns(db, tableName, targetSchema = 'main') {
|
|
|
597
354
|
* target is NOT NULL with no schema default.
|
|
598
355
|
* 5. **Plain column reference** otherwise.
|
|
599
356
|
*
|
|
600
|
-
* The epoch→ISO conversion uses `buildEpochToIsoExpr`
|
|
601
|
-
* scale (seconds vs milliseconds) per-row using a magnitude
|
|
602
|
-
* below
|
|
603
|
-
* or above are treated as milliseconds and divided by 1000.0 before conversion
|
|
357
|
+
* The epoch→ISO conversion uses `buildEpochToIsoExpr` (from `column-transforms.ts`)
|
|
358
|
+
* which detects the epoch scale (seconds vs milliseconds) per-row using a magnitude
|
|
359
|
+
* heuristic: values below `EPOCH_SECONDS_THRESHOLD` (1e11) are treated as seconds;
|
|
360
|
+
* values at or above are treated as milliseconds and divided by 1000.0 before conversion
|
|
604
361
|
* (T11549 correctness fix — the previous per-source unit was incorrect for
|
|
605
362
|
* individual columns that diverged from the source default, e.g.
|
|
606
363
|
* `nexus.user_profile.first_observed_at` stores SECONDS even though most nexus
|
|
@@ -860,40 +617,65 @@ function copyTableFromAttached(targetNativeDb, srcNativeDb, attachAlias, legacyT
|
|
|
860
617
|
// on CHECK constraint violations (dangerous — must detect and report).
|
|
861
618
|
// `targetSchema` is `main` by default; for cross-scope nexus graph tables
|
|
862
619
|
// (ADR-090 T11539) it is the ATTACH alias of the project consolidated cleo.db.
|
|
620
|
+
// Capture the target row count BEFORE the INSERT so a deficit can be classified
|
|
621
|
+
// precisely (T11835). A row that fails to copy because its PK already exists is
|
|
622
|
+
// accounted for by a pre-existing target row; only a shortfall those rows
|
|
623
|
+
// cannot explain is genuine constraint loss. (The prior code claimed it "did
|
|
624
|
+
// not know existingBefore" and hard-coded a CHECK-violation guess — which fired
|
|
625
|
+
// on every idempotent re-run against an already-populated target.)
|
|
626
|
+
const existingBeforeRow = targetNativeDb
|
|
627
|
+
.prepare(`SELECT COUNT(*) AS c FROM "${targetSchema}"."${targetTableName}"`)
|
|
628
|
+
.get();
|
|
629
|
+
const existingBefore = Number(existingBeforeRow?.c ?? 0);
|
|
863
630
|
const stmt = targetNativeDb.prepare(`INSERT OR IGNORE INTO "${targetSchema}"."${targetTableName}" (${colList}) ` +
|
|
864
631
|
`SELECT ${selectList} FROM "${attachAlias}"."${legacyTableName}"`);
|
|
865
632
|
const result = stmt.run();
|
|
866
633
|
const rowsCopied = result.changes ?? 0;
|
|
867
|
-
// --- Step 7: No-swallow assertion
|
|
868
|
-
//
|
|
869
|
-
// If rowsCopied < sourceCount, rows were silently dropped. This can happen for
|
|
870
|
-
// two reasons:
|
|
871
|
-
// a) PK/UNIQUE conflict on idempotent resume — EXPECTED and SAFE (the data
|
|
872
|
-
// is already in the target from a previous run).
|
|
873
|
-
// b) CHECK / NOT NULL / type constraint violation — DATA LOSS, must error.
|
|
634
|
+
// --- Step 7: No-swallow assertion — idempotent dedup vs real loss (T11835) ---
|
|
874
635
|
//
|
|
875
|
-
//
|
|
876
|
-
//
|
|
877
|
-
//
|
|
878
|
-
//
|
|
879
|
-
//
|
|
880
|
-
//
|
|
881
|
-
//
|
|
882
|
-
// rowsCopied < sourceCount but > 0, it may be a partial dedup. We log a
|
|
883
|
-
// warning for partial losses and a hard error for full (0-row) losses.
|
|
636
|
+
// When `rowsCopied < sourceCount`, INSERT OR IGNORE dropped rows for one of two
|
|
637
|
+
// VERY different reasons:
|
|
638
|
+
// a) PK/UNIQUE conflict — the row is ALREADY in the target (a re-run against
|
|
639
|
+
// a populated cleo.db, or an earlier source in this same migration wrote
|
|
640
|
+
// the same key). EXPECTED, idempotent, ZERO loss.
|
|
641
|
+
// b) CHECK / NOT NULL / type / enum constraint — the row was REJECTED.
|
|
642
|
+
// Genuine DATA LOSS that must be surfaced.
|
|
884
643
|
//
|
|
885
|
-
//
|
|
644
|
+
// `existingBefore` (target rows present before this INSERT) tells them apart
|
|
645
|
+
// precisely: a PK-deduped source row is accounted for by a pre-existing target
|
|
646
|
+
// row, so `existingBefore + rowsCopied` is the number of source rows provably
|
|
647
|
+
// present after the INSERT. If that is >= sourceCount every source row is
|
|
648
|
+
// present (idempotent — no loss, no error); a smaller value is the genuine
|
|
649
|
+
// shortfall. The verifier (`verifyMigration`) independently re-confirms via
|
|
650
|
+
// COUNT(*) parity.
|
|
886
651
|
if (rowsCopied < sourceCount) {
|
|
887
|
-
const
|
|
888
|
-
if (
|
|
889
|
-
//
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
652
|
+
const presentAccountedFor = existingBefore + rowsCopied;
|
|
653
|
+
if (presentAccountedFor >= sourceCount) {
|
|
654
|
+
// Idempotent: every source row is already in the target (PK dedup on a
|
|
655
|
+
// re-run / already-populated target). NOT data loss → no error reason; the
|
|
656
|
+
// table is journaled `done` with the rows it actually needed to copy.
|
|
657
|
+
log.info({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied, existingBefore }, `Exodus: '${legacyTableName}'→'${targetTableName}' — ${sourceCount - rowsCopied} of ` +
|
|
658
|
+
`${sourceCount} row(s) already present in target (idempotent PK dedup), ${rowsCopied} ` +
|
|
659
|
+
`newly copied; no loss`);
|
|
660
|
+
return { rowsCopied, skipped: false };
|
|
893
661
|
}
|
|
894
|
-
//
|
|
895
|
-
//
|
|
896
|
-
|
|
662
|
+
// Genuine shortfall: more rows are missing than the pre-existing target rows
|
|
663
|
+
// can explain — a CHECK / NOT NULL / type / enum constraint rejected them.
|
|
664
|
+
const missing = sourceCount - presentAccountedFor;
|
|
665
|
+
const reason = `INSERT OR IGNORE lost ${missing} of ${sourceCount} rows from ` +
|
|
666
|
+
`'${legacyTableName}'→'${targetTableName}' (rowsCopied=${rowsCopied}, ` +
|
|
667
|
+
`existingBefore=${existingBefore}) — a CHECK/NOT NULL/type/enum constraint rejected ` +
|
|
668
|
+
`them (NOT PK dedup); inspect epoch coercion + enum normalization. verify will confirm.`;
|
|
669
|
+
log.error({
|
|
670
|
+
legacyTableName,
|
|
671
|
+
targetTableName,
|
|
672
|
+
sourceName,
|
|
673
|
+
sourceCount,
|
|
674
|
+
rowsCopied,
|
|
675
|
+
existingBefore,
|
|
676
|
+
missing,
|
|
677
|
+
}, `Exodus: ${reason}`);
|
|
678
|
+
return { rowsCopied, skipped: false, reason };
|
|
897
679
|
}
|
|
898
680
|
return { rowsCopied, skipped: false };
|
|
899
681
|
}
|
|
@@ -931,14 +713,21 @@ function checkSchemaVersion(journal, forceCrossVersion) {
|
|
|
931
713
|
*/
|
|
932
714
|
export async function runExodusMigrate(plan, forceCrossVersion = false, onProgress) {
|
|
933
715
|
const { sources, stagingDir, diskPreflight, projectDbPath, globalDbPath } = plan;
|
|
934
|
-
// AC8: disk pre-flight
|
|
716
|
+
// AC8 (right-sized — T11838): disk pre-flight. The requirement is
|
|
717
|
+
// `1.2 × largestSource + consolidatedEstimate`, NOT 3× the SUM of all sources.
|
|
935
718
|
if (!diskPreflight) {
|
|
719
|
+
const shortfall = Math.max(0, plan.requiredBytes - plan.availableBytes);
|
|
936
720
|
return {
|
|
937
721
|
ok: false,
|
|
938
722
|
tables: [],
|
|
939
723
|
stagingDir,
|
|
940
724
|
backupPaths: [],
|
|
941
|
-
error: `Insufficient disk space: need
|
|
725
|
+
error: `Insufficient disk space for exodus: need ≥${plan.requiredBytes} bytes ` +
|
|
726
|
+
`(≈${STAGING_HEADROOM_FACTOR}× largest source ${plan.largestSourceBytes} + ` +
|
|
727
|
+
`consolidated estimate ${plan.totalSourceBytes}), but only ${plan.availableBytes} bytes ` +
|
|
728
|
+
`are free on the target filesystem — ${shortfall} bytes short. ` +
|
|
729
|
+
`Free up at least ${shortfall} bytes (e.g. \`cleo backup prune\`, clear caches), ` +
|
|
730
|
+
`or move the .cleo/ directory to a larger volume, then retry.`,
|
|
942
731
|
};
|
|
943
732
|
}
|
|
944
733
|
// Ensure staging directory exists (AC5)
|
|
@@ -986,12 +775,28 @@ export async function runExodusMigrate(plan, forceCrossVersion = false, onProgre
|
|
|
986
775
|
let projectHandle = null;
|
|
987
776
|
let globalHandle = null;
|
|
988
777
|
try {
|
|
989
|
-
// 1. Back up existing source DBs into staging dir and acquire advisory locks
|
|
778
|
+
// 1. Back up existing source DBs into staging dir and acquire advisory locks.
|
|
779
|
+
//
|
|
780
|
+
// T11838: the full `copyFileSync` staging backup is SKIPPED for sources
|
|
781
|
+
// larger than `plan.stagingCopyThresholdBytes`. On a successful cutover the
|
|
782
|
+
// legacy source is ARCHIVED (renamed into `_archive/`, not deleted — see
|
|
783
|
+
// archive.ts / T11777), so a redundant full-file backup of a multi-GB source
|
|
784
|
+
// only doubles its disk + I/O cost. The staging copy's sole remaining value
|
|
785
|
+
// is a rollback fallback if the migration crashes BEFORE archival; the
|
|
786
|
+
// consolidated target is written on a dedicated isolated handle and the
|
|
787
|
+
// source is never mutated in place, so skipping it for large sources cannot
|
|
788
|
+
// lose data. Small sources keep the cheap backup (common-case safety).
|
|
990
789
|
for (const src of sources) {
|
|
991
790
|
if (!existsSync(src.path))
|
|
992
791
|
continue;
|
|
993
792
|
const backupDest = join(stagingDir, `${src.name.replace(/[^a-z0-9-]/g, '_')}-backup.db`);
|
|
994
|
-
|
|
793
|
+
const srcBytes = safeStatBytes(src.path);
|
|
794
|
+
const skipStagingCopy = srcBytes > plan.stagingCopyThresholdBytes;
|
|
795
|
+
if (skipStagingCopy) {
|
|
796
|
+
onProgress?.(`Skipping full staging copy of ${src.name} (${srcBytes} bytes > ` +
|
|
797
|
+
`${plan.stagingCopyThresholdBytes} threshold) — source is archived, not deleted, on success.`);
|
|
798
|
+
}
|
|
799
|
+
else if (!existsSync(backupDest)) {
|
|
995
800
|
onProgress?.(`Backing up ${src.name} → staging dir…`);
|
|
996
801
|
copyFileSync(src.path, backupDest);
|
|
997
802
|
backupPaths.push(backupDest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"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"}
|