Spaces:
Sleeping
Sleeping
| -- ============================================================ | |
| -- MLForge Benchmark Bridge β SQLite Schema | |
| -- Version: 1.0.0 | |
| -- ============================================================ | |
| PRAGMA journal_mode = WAL; | |
| PRAGMA foreign_keys = ON; | |
| -- ββ Benchmark Jobs ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| -- Tracks every benchmark run from queued β running β completed/failed. | |
| -- config stores the full BenchmarkContext JSON for full reproducibility. | |
| CREATE TABLE IF NOT EXISTS benchmark_jobs ( | |
| id TEXT PRIMARY KEY, | |
| model_id TEXT NOT NULL, | |
| dataset_id TEXT NOT NULL, | |
| task TEXT NOT NULL, | |
| framework TEXT NOT NULL, | |
| hardware TEXT NOT NULL DEFAULT 'cpu', | |
| precision TEXT NOT NULL DEFAULT 'FP32', | |
| batch_size INTEGER NOT NULL DEFAULT 1, | |
| config TEXT NOT NULL DEFAULT '{}', -- full BenchmarkContext JSON | |
| status TEXT NOT NULL DEFAULT 'queued', -- queued|running|completed|failed | |
| progress REAL NOT NULL DEFAULT 0.0, -- 0.0β1.0 | |
| logs TEXT NOT NULL DEFAULT '[]', -- JSON array of timestamped log strings | |
| error TEXT, | |
| created_at TEXT NOT NULL DEFAULT (datetime('now')), | |
| updated_at TEXT NOT NULL DEFAULT (datetime('now')), | |
| started_at TEXT, | |
| ended_at TEXT | |
| ); | |
| -- ββ Benchmark Results βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| -- Stores final computed metrics + telemetry summary after job completion. | |
| CREATE TABLE IF NOT EXISTS benchmark_results ( | |
| id TEXT PRIMARY KEY, | |
| job_id TEXT NOT NULL REFERENCES benchmark_jobs(id) ON DELETE CASCADE, | |
| metrics TEXT NOT NULL DEFAULT '{}', -- JSON: BenchmarkMetrics | |
| telemetry_summary TEXT NOT NULL DEFAULT '{}', -- JSON: TelemetrySummary | |
| created_at TEXT NOT NULL DEFAULT (datetime('now')) | |
| ); | |
| -- ββ Validation Logs βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| -- Immutable audit trail of every compatibility check performed. | |
| -- job_id = 'pre-check' for validations that blocked job creation. | |
| CREATE TABLE IF NOT EXISTS benchmark_validation_logs ( | |
| id TEXT PRIMARY KEY, | |
| job_id TEXT NOT NULL, | |
| model_id TEXT NOT NULL, | |
| dataset_id TEXT NOT NULL, | |
| checks TEXT NOT NULL DEFAULT '[]', -- JSON: list[ValidationCheck] | |
| passed INTEGER NOT NULL DEFAULT 1, -- 1=passed, 0=failed | |
| created_at TEXT NOT NULL DEFAULT (datetime('now')) | |
| ); | |
| -- ββ Indexes βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| CREATE INDEX IF NOT EXISTS idx_bmark_jobs_status ON benchmark_jobs(status); | |
| CREATE INDEX IF NOT EXISTS idx_bmark_jobs_model ON benchmark_jobs(model_id); | |
| CREATE INDEX IF NOT EXISTS idx_bmark_jobs_dataset ON benchmark_jobs(dataset_id); | |
| CREATE INDEX IF NOT EXISTS idx_bmark_jobs_created ON benchmark_jobs(created_at DESC); | |
| CREATE INDEX IF NOT EXISTS idx_bmark_results_job ON benchmark_results(job_id); | |
| CREATE INDEX IF NOT EXISTS idx_bmark_valid_job ON benchmark_validation_logs(job_id); | |
| CREATE INDEX IF NOT EXISTS idx_bmark_valid_model ON benchmark_validation_logs(model_id); | |