Skip to content

Tier 3 — Grammatik-Gate: Kalibrierung und Nulllinie

Stand 2026-08-10. Quelle: Chris' QA Runde 1 (lenny_qa_runde1.md, 346 Paare aus kaputter Ausgabe + korrigierter Fassung).

Warum Detektoren statt Wortlaut-Vergleich

Chris' korrigierte Fassungen sind Prosa, und seine Fehler-Etiketten sind maschinell erzeugt (steht so in der QA — „sollten vor dem Festschreiben überflogen werden"). Ein Regressions-Tor auf exaktem Wortlaut wäre damit weder stabil noch ehrlich. Stattdessen: mechanisch sichere Detektoren, validiert am Korpus — ein Detektor taugt nur, wenn er beim kaputten Satz anschlägt und beim korrigierten schweigt.

Kalibrierung (346 Paare)

Detektor feuert auf kaputt auf korrigiert (Fehlalarm)
lowercase_sentence_start 57 3 (0,9 %)
article_without_noun 54 17 (4,9 %)
bare_noun_after_copula 4 0 (0,0 %)
repeated_sentence_opening 17 10 (2,9 %)
glued_wordsalad 8 3 (0,9 %)
encoding_junk 0 0
non_german 0 0

Gesamt-Trennung: kaputte Fassungen 30,6 % defekt erkannt, korrigierte 9,2 % — Faktor ~3,3.

Zwei Detektoren mussten datengetrieben korrigiert werden, statt sie zu glauben: - article_without_noun feuerte anfangs auf 91 % aller Texte (Regex-Bug: IGNORECASE ließ die Kleinbuchstaben-Klasse auch Großbuchstaben matchen). Case-sensitiv + Lücke 1 Wort → 54 vs. 17. - glued_wordsalad hatte bei Schwelle 20 11,8 % Fehlalarm (lange echte Wörter wie „aufeinanderfolgenden"). Schwelle 26 → 0,9 %. Hinweis: das Sicherheits-Gate in api_server nutzt bewusst weiter 20 — dort ist ein Fehlalarm harmlos (stuft nur auf Kandidat herab), hier verzerrt er die Kennzahl.

Ehrliche Grenze

Das Gate fängt mechanische Fehler (Schreibung, fehlender Artikel, Kauderwelsch, Zeichenmüll). Die Mehrheit der Grammatikfehler im Korpus sind Kongruenz-/Kasus- Fehler („seine Inhalt", „an den Leistungsverlust merkt") — die erkennt keine Regex, dafür bräuchte es einen echten Parser (Language Brain, Loop B). Die Kennzahl misst also einen belegbaren Ausschnitt, nicht die ganze Sprachqualität. Sie ist trotzdem nützlich: sie bewegt sich nur, wenn sich wirklich etwas ändert.

Golden-Set

core/grammar_golden.jsonl — 86 Fälle mit sauberem Signal (Detektor feuert auf broken, schweigt auf fixed). Selbst-validierend: der Test schlägt an, wenn ein Detektor einen bekannten Fehler nicht mehr erkennt oder auf einem korrekten Satz Fehlalarm gibt.

python -m pytest core/test_grammar_gate.py -q

Nulllinie (Chris' QA, Stand vor den heutigen Fixes)

Kennzahl Wert
Antworten gesamt (eindeutig) 354
Urteil „gut" 8 (2,3 %)
Urteil „teilweise" 283 (79,9 %)
Urteil „problematisch" 63 (17,8 %)
„Siegel passt nicht" 87 (24,6 %)
aus dem deterministischen Renderer 3 (0,8 %)

Diese Zahlen sind die Vergleichsbasis für die nächste QA-Runde.