From 6b99e38025f53ee413da683b408f59dc54a1a4f7 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Tue, 19 May 2026 13:53:41 +0800 Subject: [PATCH] auto-sync: 2026-05-19 13:53:41 --- src/blackboard/db.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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)", ]