From 2dcfe605afb40c8a2a3477398fd02f18fd6c1b12 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 24 Mar 2026 05:13:55 -0400 Subject: [PATCH] feat: add migration scripts for autonomy-audit and roadmap-gen tables --- scripts/migrate-autonomy-audit-schema.js | 54 +++++++++++++++++++++ scripts/migrate-autonomy-audit-schema.mjs | 58 +++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100755 scripts/migrate-autonomy-audit-schema.js create mode 100644 scripts/migrate-autonomy-audit-schema.mjs diff --git a/scripts/migrate-autonomy-audit-schema.js b/scripts/migrate-autonomy-audit-schema.js new file mode 100755 index 0000000000..f9324d02e5 --- /dev/null +++ b/scripts/migrate-autonomy-audit-schema.js @@ -0,0 +1,54 @@ +#!/usr/bin/env node +/** + * Migration script: Add triad_metrics and triad_roadmaps tables + * + * Run: node scripts/migrate-autonomy-audit-schema.js + */ + +const Database = require('better-sqlite3'); +const path = require('path'); + +const DB_PATH = path.join(process.env.OPENCLAW_DIR || process.cwd(), '.aura', 'consensus.db'); +const db = new Database(DB_PATH); + +try { + console.log('Creating triad_metrics table...'); + + db.exec(` + CREATE TABLE IF NOT EXISTS triad_metrics ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + autonomy REAL NOT NULL, + consensus REAL NOT NULL, + failover REAL NOT NULL, + knowledge REAL NOT NULL, + growth REAL NOT NULL, + humanBlock REAL NOT NULL, + timestamp INTEGER NOT NULL, + calculated_at TEXT DEFAULT CURRENT_TIMESTAMP + ) + `); + + console.log('Creating triad_roadmaps table...'); + + db.exec(` + CREATE TABLE IF NOT EXISTS triad_roadmaps ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + period TEXT NOT NULL, + roadmap TEXT NOT NULL, + created_at TEXT DEFAULT CURRENT_TIMESTAMP + ) + `); + + console.log('Tables created successfully!'); + console.log('\nSchema verification:'); + + const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all(); + console.log('Available tables:', tables.map(t => t.name).join(', ')); + + db.close(); + process.exit(0); +} catch (error) { + console.error('Migration failed:', error.message); + db.close(); + process.exit(1); +} diff --git a/scripts/migrate-autonomy-audit-schema.mjs b/scripts/migrate-autonomy-audit-schema.mjs new file mode 100644 index 0000000000..ddf4730477 --- /dev/null +++ b/scripts/migrate-autonomy-audit-schema.mjs @@ -0,0 +1,58 @@ +#!/usr/bin/env node +/** + * Migration script: Add triad_metrics and triad_roadmaps tables + * + * Run: npx tsx scripts/migrate-autonomy-audit-schema.mjs + */ + +import Database from 'better-sqlite3'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const DB_PATH = path.join(process.env.OPENCLAW_DIR || process.cwd(), '.aura', 'consensus.db'); +const db = new Database(DB_PATH); + +try { + console.log('Creating triad_metrics table...'); + + db.exec(` + CREATE TABLE IF NOT EXISTS triad_metrics ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + autonomy REAL NOT NULL, + consensus REAL NOT NULL, + failover REAL NOT NULL, + knowledge REAL NOT NULL, + growth REAL NOT NULL, + humanBlock REAL NOT NULL, + timestamp INTEGER NOT NULL, + calculated_at TEXT DEFAULT CURRENT_TIMESTAMP + ) + `); + + console.log('Creating triad_roadmaps table...'); + + db.exec(` + CREATE TABLE IF NOT EXISTS triad_roadmaps ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + period TEXT NOT NULL, + roadmap TEXT NOT NULL, + created_at TEXT DEFAULT CURRENT_TIMESTAMP + ) + `); + + console.log('Tables created successfully!'); + console.log('\nSchema verification:'); + + const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all(); + console.log('Available tables:', tables.map(t => t.name).join(', ')); + + db.close(); + process.exit(0); +} catch (error) { + console.error('Migration failed:', error.message); + db.close(); + process.exit(1); +}