-- 001_init.sql — initial schema for the unibus membership/key-distribution service. -- Additive and idempotent: safe to apply repeatedly. Never modify this file; -- schema changes go in new numbered migrations (see .claude/rules/db_migrations.md). CREATE TABLE IF NOT EXISTS rooms ( room_id TEXT PRIMARY KEY, subject TEXT NOT NULL, key_epoch INTEGER NOT NULL DEFAULT 1, encrypt INTEGER NOT NULL, persist INTEGER NOT NULL, sign_msgs INTEGER NOT NULL, owner_endpoint TEXT NOT NULL, created_at TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS members ( room_id TEXT NOT NULL, endpoint TEXT NOT NULL, role TEXT NOT NULL, joined_at TEXT NOT NULL, sign_pub BLOB NOT NULL, kex_pub BLOB NOT NULL, PRIMARY KEY (room_id, endpoint) ); CREATE TABLE IF NOT EXISTS room_keys ( room_id TEXT NOT NULL, epoch INTEGER NOT NULL, endpoint TEXT NOT NULL, sealed_key BLOB NOT NULL, PRIMARY KEY (room_id, epoch, endpoint) );