# Content Moderation Profiles
# Per-game moderation configuration for the AI narrator pipeline.
#
# Each profile defines:
#   - vocabulary_whitelist: Game terms safe in context (won't trigger moderation)
#   - context_prompt: System prompt framing for the narrator
#   - threshold: Confidence threshold — flags below this pass through
#   - fallbacks: Pre-generated safe narration by scene type
#
# Model options (from research):
#   llama-guard3:1b  — Speed (<30ms/sentence, INT4 quantized)
#   shieldgemma:2b   — Accuracy (+10.8% AU-PRC, ~50-100ms)
#
# Override guard model via MODERATION_GUARD_MODEL env var.

# ── Guard model selection ────────────────────────────────────────────────────
guard_model: "llama-guard3:1b"

# ── Streaming disclosure notes ───────────────────────────────────────────────
# YouTube: Use "Altered or synthetic content" toggle
# Twitch: Standard community guidelines (no specific AI disclosure req as of 2026-03)

# ── Game Profiles ────────────────────────────────────────────────────────────
profiles:

  morrowind:
    display_name: "The Elder Scrolls III: Morrowind"
    threshold: 0.85
    vocabulary_whitelist:
      - Skooma
      - Moon Sugar
      - slave
      - slavery
      - Morag Tong
      - Dark Brotherhood
      - Telvanni
      - Camonna Tong
      - smuggler
      - assassin
      - Sixth House
      - Corprus
      - Dagoth Ur
      - Nerevarine
      - Balmora
      - Vivec
      - Almsivi
      - Ordinators
      - Ashlanders
      - outlander
      - N'wah
    context_prompt: >
      You are narrating gameplay of The Elder Scrolls III: Morrowind.
      Morrowind contains mature themes including slavery, drug use
      (Skooma/Moon Sugar), assassin guilds (Morag Tong, Dark Brotherhood),
      and political intrigue. Treat these as game mechanics and historical
      worldbuilding within the game's fictional universe. Never editorialize
      on real-world parallels. Narrate events neutrally as a game
      commentator would.
    fallbacks:
      combat: "The battle rages on in the ashlands of Vvardenfell."
      dialogue: "The conversation continues between the characters."
      exploration: "The Nerevarine presses onward through the landscape."
      quest: "The quest unfolds as the hero navigates Morrowind's politics."
      default: "The adventure continues in Morrowind."

  skyrim:
    display_name: "The Elder Scrolls V: Skyrim"
    threshold: 0.85
    vocabulary_whitelist:
      - Skooma
      - Dark Brotherhood
      - Thieves Guild
      - Stormcloak
      - Imperial
      - Dragonborn
      - Dovahkiin
      - Daedra
      - Thalmor
      - bandit
      - assassin
      - Forsworn
      - necromancer
    context_prompt: >
      You are narrating gameplay of The Elder Scrolls V: Skyrim.
      Skyrim features civil war, thieves guilds, assassin organizations,
      and fantasy violence. Treat all content as in-game fiction.
      Never draw real-world parallels. Narrate as a neutral game
      commentator.
    fallbacks:
      combat: "Steel clashes as the battle continues in the wilds of Skyrim."
      dialogue: "The conversation plays out in the cold northern land."
      exploration: "The Dragonborn ventures further into the province."
      default: "The adventure continues in Skyrim."

  default:
    display_name: "Generic Game"
    threshold: 0.80
    vocabulary_whitelist: []
    context_prompt: >
      You are narrating gameplay. Describe in-game events as a neutral
      game commentator. Never reference real-world violence, politics,
      or controversial topics. Stay focused on game mechanics and story.
    fallbacks:
      combat: "The action continues on screen."
      dialogue: "The conversation unfolds between characters."
      exploration: "The player explores the game world."
      default: "The gameplay continues."
