forked from Rockachopa/Timmy-time-dashboard
Implement real-time content moderation for narration output using a local safety model (Llama Guard 3 via Ollama). The pipeline is designed to run in parallel with TTS preprocessing for near-zero added latency. Key components: - ContentModerator singleton with async check() method - Game-context profiles (Morrowind vocabulary whitelist, fallback narrations) - Configurable fail-open/fail-closed degradation when model unavailable - Llama Guard response parsing (safe/unsafe with category codes) - 40 unit tests covering profiles, parsing, whitelist, and async checks Config settings: moderation_enabled, moderation_model, moderation_timeout_ms, moderation_fail_open, moderation_game_profile Fixes #987 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>