diff --git a/src/blackboard/db.py b/src/blackboard/db.py index e1b9ab3..774c5d5 100644 --- a/src/blackboard/db.py +++ b/src/blackboard/db.py @@ -415,4 +415,21 @@ _SCHEMA_STATEMENTS = [ "CREATE INDEX IF NOT EXISTS idx_routing_task ON routing_decisions(task_id)", "CREATE INDEX IF NOT EXISTS idx_routing_mode ON routing_decisions(mode)", "CREATE INDEX IF NOT EXISTS idx_routing_time ON routing_decisions(created_at)", + + # checkpoints(M3) + """CREATE TABLE IF NOT EXISTS checkpoints ( + id TEXT PRIMARY KEY, + task_id TEXT NOT NULL REFERENCES tasks(id), + type TEXT NOT NULL CHECK (type IN ('verify', 'decision', 'action')), + title TEXT NOT NULL, + description TEXT, + status TEXT NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'approved', 'rejected')), + payload TEXT NOT NULL, + created_at TEXT NOT NULL DEFAULT (datetime('now')), + resolved_at TEXT, + resolved_by TEXT, + resolve_note TEXT + )""", + "CREATE INDEX IF NOT EXISTS idx_checkpoints_task ON checkpoints(task_id)", + "CREATE INDEX IF NOT EXISTS idx_checkpoints_status ON checkpoints(status)", ]