CREATE VIRTUAL TABLE fts_notes USING fts5(
            title,
            tags,
            description,
            content,
            rel_path UNINDEXED,
            note_type UNINDEXED,
            tokenize='unicode61'
        )
/* fts_notes(title,tags,description,content,rel_path,note_type) */;
CREATE TABLE IF NOT EXISTS 'fts_notes_data'(id INTEGER PRIMARY KEY, block BLOB);
CREATE TABLE IF NOT EXISTS 'fts_notes_idx'(segid, term, pgno, PRIMARY KEY(segid, term)) WITHOUT ROWID;
CREATE TABLE IF NOT EXISTS 'fts_notes_content'(id INTEGER PRIMARY KEY, c0, c1, c2, c3, c4, c5);
CREATE TABLE IF NOT EXISTS 'fts_notes_docsize'(id INTEGER PRIMARY KEY, sz BLOB);
CREATE TABLE IF NOT EXISTS 'fts_notes_config'(k PRIMARY KEY, v) WITHOUT ROWID;
CREATE TABLE file_metadata (
            rel_path TEXT PRIMARY KEY,
            mtime REAL
        );
CREATE TABLE doc_embeddings (
            rel_path TEXT PRIMARY KEY,
            embedding BLOB,
            mtime REAL
        );
CREATE TABLE chunk_embeddings (
            chunk_id TEXT PRIMARY KEY,
            rel_path TEXT,
            embedding BLOB,
            content TEXT,
            mtime REAL
        );
CREATE TABLE dense_index_manifest (
            manifest_key TEXT PRIMARY KEY,
            manifest_value TEXT NOT NULL
        );
CREATE TABLE tf_vectors (
            rel_path TEXT PRIMARY KEY,
            tf_data TEXT,
            mtime REAL
        );
CREATE TABLE relations (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            source_path TEXT NOT NULL,
            subject TEXT NOT NULL,
            relation TEXT NOT NULL,
            object TEXT NOT NULL,
            confidence REAL DEFAULT 1.0,
            created_at TEXT NOT NULL
        );
CREATE TABLE sqlite_sequence(name,seq);
CREATE INDEX idx_relations_source ON relations(source_path);
