summaryrefslogtreecommitdiff
path: root/makima/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'makima/migrations')
-rw-r--r--makima/migrations/20260211000000_add_directive_memories.sql20
-rw-r--r--makima/migrations/20260211000000_create_directive_memories.sql16
2 files changed, 36 insertions, 0 deletions
diff --git a/makima/migrations/20260211000000_add_directive_memories.sql b/makima/migrations/20260211000000_add_directive_memories.sql
new file mode 100644
index 0000000..69d00bf
--- /dev/null
+++ b/makima/migrations/20260211000000_add_directive_memories.sql
@@ -0,0 +1,20 @@
+-- Directive memory system: optional key-value storage scoped to a directive.
+-- Allows directives to persist learnings, decisions, and context across steps.
+
+-- Add memory_enabled flag to directives
+ALTER TABLE directives ADD COLUMN memory_enabled BOOLEAN NOT NULL DEFAULT false;
+
+-- Key-value memory entries scoped to a directive
+CREATE TABLE directive_memories (
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
+ directive_id UUID NOT NULL REFERENCES directives(id) ON DELETE CASCADE,
+ key VARCHAR(255) NOT NULL,
+ value TEXT NOT NULL,
+ category VARCHAR(100),
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
+ UNIQUE(directive_id, key)
+);
+
+CREATE INDEX idx_directive_memories_directive_id ON directive_memories(directive_id);
+CREATE INDEX idx_directive_memories_category ON directive_memories(directive_id, category);
diff --git a/makima/migrations/20260211000000_create_directive_memories.sql b/makima/migrations/20260211000000_create_directive_memories.sql
new file mode 100644
index 0000000..5aae339
--- /dev/null
+++ b/makima/migrations/20260211000000_create_directive_memories.sql
@@ -0,0 +1,16 @@
+-- Directive memory system: persistent key-value storage for directives.
+-- Allows directives to store and retrieve context across sessions.
+
+CREATE TABLE directive_memories (
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
+ directive_id UUID NOT NULL REFERENCES directives(id) ON DELETE CASCADE,
+ key VARCHAR(255) NOT NULL,
+ value TEXT NOT NULL,
+ category VARCHAR(100),
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
+ UNIQUE (directive_id, key)
+);
+
+CREATE INDEX idx_directive_memories_directive_id ON directive_memories(directive_id);
+CREATE INDEX idx_directive_memories_category ON directive_memories(directive_id, category);