ff53d8bd1b
The previous run_llm_only only applied the gazetteer post-LLM, which silently underestimated the production pipeline: tokens like Inoxaparin or Klappenvizien are caught pre-LLM in production, but the test tool left them in the LLM input. Adding `gazetteer.replace()` to each recording before render_prompt mirrors transcribe/worker.rs:138 exactly, making sandbox results faithful to production behavior. New prompt variants kept for the iteration record: - v3_treue_konsolidiert.txt — the winning variant now in server/src/analyze/prompt.rs; redundancies eliminated where they were not load-bearing - v4_treue_kompakt.txt — rejected variant (3/3 unmarked Hypotonie hallucinations); kept so future iterations don't repeat the experiment baseline.txt now mirrors the current server prompt (was a stale pre-v2 snapshot), so future sandbox runs against `baseline.txt` compare against what is actually shipping.