-- +goose Up CREATE TABLE IF NOT EXISTS source_cache ( cache_key TEXT PRIMARY KEY, content TEXT NOT NULL, metadata TEXT NOT NULL DEFAULT '{}', cached_at INTEGER NOT NULL, ttl INTEGER NOT NULL DEFAULT 300 ); CREATE INDEX IF NOT EXISTS idx_source_cache_expiry ON source_cache(cached_at + ttl);