AkurAI Build
Menu

AkurAI-Build

public

Latest 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;