index|idx_config_versions_root_fingerprint|config_versions|CREATE INDEX idx_config_versions_root_fingerprint ON config_versions(root_id, fingerprint)
index|idx_config_versions_root_version|config_versions|CREATE UNIQUE INDEX idx_config_versions_root_version ON config_versions(root_id, version) WHERE scope = 'root'
index|idx_config_versions_server_version|config_versions|CREATE UNIQUE INDEX idx_config_versions_server_version ON config_versions(version) WHERE scope = 'server'
table|config_versions|config_versions|CREATE TABLE config_versions ( id BLOB PRIMARY KEY DEFAULT (randomblob(16)), scope TEXT NOT NULL CHECK (scope IN ('server', 'root')), root_id BLOB REFERENCES work_items(id) ON DELETE CASCADE, version INTEGER NOT NULL CHECK (version >= 1), yaml TEXT NOT NULL, fingerprint TEXT NOT NULL, canonical_json TEXT, model_version INTEGER, source TEXT NOT NULL CHECK (source IN ('push', 'file-import', 'migration', 'rollback', 'reset')), principal_id TEXT, req_id TEXT, created_at TEXT NOT NULL CHECK (length(created_at) = 23), warnings_json TEXT, CHECK ((scope = 'server') = (root_id IS NULL)) )
