CREATE TABLE IF NOT EXISTS lessons ( id TEXT PRIMARY KEY, source_run_ids TEXT NOT NULL, source_review_ids TEXT NOT NULL, kind TEXT NOT NULL, title TEXT NOT NULL, content_path TEXT NOT NULL, status TEXT NOT NULL, decided_by TEXT, decided_at TEXT, rationale TEXT, target_ref TEXT, CHECK (status IN ('proposed', 'reviewing', 'promoted', 'rejected')), CHECK (json_array_length(source_run_ids) >= 1), CHECK (json_array_length(source_review_ids) >= 1) );