aboutsummaryrefslogtreecommitdiff
path: root/mcp/senia/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'mcp/senia/migrations')
-rw-r--r--mcp/senia/migrations/0001_initial.sql12
-rw-r--r--mcp/senia/migrations/0002_tasks.sql16
2 files changed, 28 insertions, 0 deletions
diff --git a/mcp/senia/migrations/0001_initial.sql b/mcp/senia/migrations/0001_initial.sql
new file mode 100644
index 0000000..e560e10
--- /dev/null
+++ b/mcp/senia/migrations/0001_initial.sql
@@ -0,0 +1,12 @@
+-- Initial schema for senia.db.
+-- Single shared database for all senia-related state.
+-- Currently: diary_logs only. Future tables (tasks, embeddings, etc.) added via new migrations.
+
+CREATE TABLE diary_logs (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ ts TEXT NOT NULL, -- ISO 8601 UTC with offset
+ content TEXT NOT NULL, -- 1-2 sentence observation
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE INDEX idx_diary_ts ON diary_logs(ts);
diff --git a/mcp/senia/migrations/0002_tasks.sql b/mcp/senia/migrations/0002_tasks.sql
new file mode 100644
index 0000000..73f7820
--- /dev/null
+++ b/mcp/senia/migrations/0002_tasks.sql
@@ -0,0 +1,16 @@
+-- Task tracking for agents.
+-- Live tasks only; completed/cancelled tasks are deleted after their
+-- lifecycle event is committed to memory (via diary_log).
+
+CREATE TABLE tasks (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ owner TEXT NOT NULL CHECK (owner IN ('agent', 'user')),
+ content TEXT NOT NULL,
+ due_at TEXT,
+ last_nudged_at TEXT,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ updated_at TEXT,
+ notes TEXT
+);
+
+CREATE INDEX idx_tasks_owner ON tasks(owner);