- Add EdgeTTSAdapter to bin/deepdive_tts.py (provider key: "edge-tts")
default voice: en-US-GuyNeural, no API key required
- Add EdgeTTS class to intelligence/deepdive/tts_engine.py
- Update HybridTTS to try edge-tts as fallback between piper and elevenlabs
- Add --voice-memo flag to bin/night_watch.py for spoken nightly reports
- Add edge-tts>=6.1.9 to requirements.txt
- Create docs/voice-output.md documenting all providers and fallback chain
- Add tests/test_edge_tts.py with 17 unit tests (all mocked, no network)
Fixes#1126
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- lazarus-registry.yaml: replace big_brain/RunPod with local ollama/gemma4:12b
- fleet-routing.json: assign ollama:gemma4:12b to carnice, bilbobagginshire, substratum
- intelligence/deepdive/config.yaml: local model -> gemma4:12b
- Add Dockerfile for production containerized pipeline
- Add docker-compose.yml for full stack deployment
- Add .dockerignore for clean builds
- Add deploy.sh: one-command build, test, and systemd timer install
This provides a sovereign, reproducible deployment path for the
Deep Dive daily briefing pipeline.
- Add GEMINI_HANDOFF.md with codebase map, secrets inventory,
production checklist, and recommended next steps
- Continuity from Ezra scaffold to Gemini production-hardening
Executable Phase 4 component: PiperTTS, ElevenLabsTTS, HybridTTS
classes with chunking, concatenation, error handling.
Ready for integration with Phase 3 synthesizer.
Burn mode artifact by Ezra.