feat(FN-4396): complete Step 3 — migrate and persist token budget fields

Fusion-Task-Id: FN-4396
Fusion-Task-Lineage: 3839210b-b443-410d-a476-aa81128c739a
This commit is contained in:
Fusion
2026-05-14 07:42:39 -07:00
committed by gsxdsm
parent b233cb391b
commit c857bea62c
9 changed files with 159 additions and 40 deletions

View File

@@ -119,7 +119,7 @@ export function probeFts5(db: DatabaseSync): boolean {
// ── Schema Definition ────────────────────────────────────────────────
const SCHEMA_VERSION = 76;
const SCHEMA_VERSION = 77;
function normalizeTaskComments(
steeringComments: SteeringComment[] | undefined,
@@ -224,6 +224,9 @@ CREATE TABLE IF NOT EXISTS tasks (
tokenUsageTotalTokens INTEGER,
tokenUsageFirstUsedAt TEXT,
tokenUsageLastUsedAt TEXT,
tokenBudgetSoftAlertedAt TEXT,
tokenBudgetHardAlertedAt TEXT,
tokenBudgetOverride TEXT,
createdAt TEXT NOT NULL,
updatedAt TEXT NOT NULL,
columnMovedAt TEXT,
@@ -323,7 +326,6 @@ CREATE TABLE IF NOT EXISTS workflow_steps (
description TEXT NOT NULL,
mode TEXT NOT NULL DEFAULT 'prompt',
phase TEXT NOT NULL DEFAULT 'pre-merge',
gateMode TEXT NOT NULL DEFAULT 'gate',
prompt TEXT NOT NULL DEFAULT '',
gateMode TEXT NOT NULL DEFAULT 'advisory',
toolMode TEXT,
@@ -1770,7 +1772,6 @@ export class Database {
description TEXT NOT NULL,
mode TEXT NOT NULL DEFAULT 'prompt',
phase TEXT NOT NULL DEFAULT 'pre-merge',
gateMode TEXT NOT NULL DEFAULT 'gate',
prompt TEXT NOT NULL DEFAULT '',
gateMode TEXT NOT NULL DEFAULT 'advisory',
toolMode TEXT,
@@ -1801,7 +1802,6 @@ export class Database {
description,
mode,
phase,
gateMode,
prompt,
gateMode,
toolMode,
@@ -3262,6 +3262,14 @@ export class Database {
});
}
if (version < 77) {
this.applyMigration(77, () => {
this.addColumnIfMissing("tasks", "tokenBudgetSoftAlertedAt", "TEXT");
this.addColumnIfMissing("tasks", "tokenBudgetHardAlertedAt", "TEXT");
this.addColumnIfMissing("tasks", "tokenBudgetOverride", "TEXT");
});
}
}
/**