fix: Keine Gedankenstriche (mdash/endash) in LLM-generierten Inhalten

- Keine-Gedankenstriche-Regel in factchecker.py und researcher.py Prompts
- _sanitize_mdash() in claude_client.py als Sicherheitsnetz: ersetzt
  alle mdash/endash im Output durch Kommas
- analyzer.py hatte die Prompt-Regel bereits

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-03-25 22:37:01 +01:00
Ursprung 5a695ce07c
Commit a2aaa061d4
3 geänderte Dateien mit 14 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -38,6 +38,11 @@ class UsageAccumulator:
self.call_count += 1
def _sanitize_mdash(text: str) -> str:
"""Entfernt Gedankenstriche aus LLM-Output (KI-Indikator)."""
return text.replace("\u2014", ", ").replace("\u2013", ", ")
async def call_claude(prompt: str, tools: str | None = "WebSearch,WebFetch", model: str | None = None) -> tuple[str, ClaudeUsage]:
"""Ruft Claude CLI auf. Gibt (result_text, usage) zurück.
@@ -122,4 +127,5 @@ async def call_claude(prompt: str, tools: str | None = "WebSearch,WebFetch", mod
except json.JSONDecodeError:
logger.warning("Claude CLI Antwort kein gültiges JSON, nutze raw output")
result_text = _sanitize_mdash(result_text)
return result_text, usage