Menu
AkurAI-Build
publicLatest change 20dad6d02033d14ae8d348daf8be44524b5a8ecd - Add secure collaboration and Build operations by Ólafur Búi Ólafsson
-- Consequential operation history and approval identity.
-- Existing rows remain valid; NULL approved_by means the historical approval
-- predates actor capture.
ALTER TABLE jobs ADD COLUMN approved_by TEXT
CHECK (approved_by IS NULL OR length(approved_by) BETWEEN 1 AND 256);
CREATE TABLE audit_events (
id INTEGER PRIMARY KEY,
actor TEXT NOT NULL CHECK (length(actor) BETWEEN 1 AND 256),
operation TEXT NOT NULL CHECK (length(operation) BETWEEN 1 AND 128),
repository TEXT CHECK (repository IS NULL OR length(repository) BETWEEN 1 AND 64),
environment TEXT CHECK (environment IS NULL OR length(environment) BETWEEN 1 AND 128),
target TEXT CHECK (target IS NULL OR length(target) BETWEEN 1 AND 512),
outcome TEXT NOT NULL CHECK (length(outcome) BETWEEN 1 AND 64),
details_json TEXT NOT NULL DEFAULT '{}' CHECK (length(details_json) <= 8192),
created_at INTEGER NOT NULL DEFAULT (unixepoch())
) STRICT;
CREATE INDEX audit_events_created ON audit_events(created_at DESC, id DESC);
CREATE INDEX audit_events_repository ON audit_events(repository, created_at DESC, id DESC);
PRAGMA user_version = 10;