fix: reduce memory footprint to prevent OOM on constrained containers
- DuckDB threads 2→1 (saves ~125MB native), memory_limit 512→256MB
- FTS rebuild interval 500→5000 (reduces frequency of expensive shadow table materialization)
- CHECKPOINT after FTS rebuild to compact WAL and free DuckDB memory
- Startup phase memory logging to diagnose where memory is consumed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>