feat: automatic embedding generation via background worker
- add embedder.zig: background worker that generates embeddings via Voyage API
- polls for documents missing embeddings, batches them, updates Turso
- content truncation to stay under Voyage token limits
- fix indexer to use ON CONFLICT instead of INSERT OR REPLACE
(INSERT OR REPLACE was nuking embeddings on document updates)
no more dependency on manual backfill scripts for new documents.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>