CREATE TABLE memory_candidates (
id TEXT PRIMARY KEY,
namespace TEXT NOT NULL DEFAULT 'default',
status TEXT NOT NULL DEFAULT 'pending',
candidate_class TEXT NOT NULL DEFAULT 'personal_semantic',
candidate_kind TEXT NOT NULL,
text TEXT NOT NULL,
thread_id TEXT,
source_event_id TEXT,
source_turn_id TEXT,
confidence REAL DEFAULT 0.0,
reason TEXT,
labels TEXT,
evidence_event_ids TEXT,
meta TEXT,
dedupe_key TEXT,
curated_memory_id TEXT,
decided_at TEXT,
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
FOREIGN KEY (source_event_id) REFERENCES events(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (source_turn_id) REFERENCES conversation_turns(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED
)