LWgrammar: die Formulierungsprüfung am Aufsatz famulus-plattform
Ein Golden-Notebook: Zurückweisung, Befunde, Dreiwegevergleich, Prüfung eines Absatzes
Im September 2026 veränderte ein Lektoratslauf 137 Absätze des Aufsatzes famulus-plattform und fügte Bewertungen, fremde Wörter und neue Aussagen ein. Die Formulierungsprüfung von LWgrammar vergleicht jede dieser Fassungen mit ihrem Absatz vom 9. September. Das Notebook liest das Ergebnis, zählt die Befunde, stellt die drei Fassungen des Aufsatzes nebeneinander und prüft einen Absatz im Lauf.
Die Ergebnisse stammen aus python -m lwgrammar_reference.evaluate.golden und python -m lwgrammar_reference.evaluate.threeway. Beide schreiben nach ~/ai-mac-studio/LWgrammar/evaluate/golden/. Das Notebook liest diese Dateien nur; es verändert sie nicht.
1 Frage 1. Wie viele der veränderten Absätze weist die Prüfung zurück?
Veränderte Absätze des Lektoratslaufs, von der Formulierungsprüfung zurückgewiesene Fassungen und die Kontrollen: jeder Absatz vom 9. September, gegen sich selbst geprüft.
Partitur
---
id: golden-zurueckweisung
display: kennzahl
partiturs:
- id: duckdb-read
input:
sql: |
SELECT changed AS veraendert,
rejected AS zurueckgewiesen,
rejection_rate AS quote,
len(identity_controls_failed) AS kontrollen_verfehlt
FROM read_json_auto('~/ai-mac-studio/LWgrammar/evaluate/golden/famulus-plattform.json')
artefacts:
- name: zurueckweisung
kind: table
file: zurueckweisung.json
oracle:
zurueckgewiesen: {min: 130}
kontrollen_verfehlt: {max: 0}
---
Veränderte Absätze des Lektoratslaufs, von der Formulierungsprüfung
zurückgewiesene Fassungen und die Kontrollen: jeder Absatz vom 9. September,
gegen sich selbst geprüft.133 zurueckgewiesen, 0 kontrollen_verfehlt.
bestandenDas Urteil besteht, wenn mindestens 130 der 136 Fassungen zurückgewiesen werden (95 %) und keine Kontrolle fehlschlägt. Eine Prüfung, die alles zurückweist, bestünde die erste Bedingung auch; die zweite schließt sie aus.
2 Frage 2. Welche Befunde tragen die Zurückweisung?
Zahl der Fassungen je Befund. Eine Fassung kann mehrere Befunde tragen.
Partitur
---
id: golden-befunde
depends_on: [golden-zurueckweisung]
display: tabelle
partiturs:
- id: duckdb-read
input:
sql: |
WITH p AS (
SELECT unnest(pairs) AS p
FROM read_json_auto('~/ai-mac-studio/LWgrammar/evaluate/golden/famulus-plattform.json')
),
m AS (SELECT unnest(p.failed) AS metrik FROM p)
SELECT metrik, count(*) AS fassungen
FROM m
GROUP BY metrik
ORDER BY fassungen DESC
artefacts:
- name: befunde
kind: table
file: befunde.json
oracle:
n_sentences: {min: 5}
---
Zahl der Fassungen je Befund. Eine Fassung kann mehrere Befunde tragen.14 Sätze.
bestanden3 Frage 3. Was unterscheidet die drei Fassungen des Aufsatzes?
Die Fassung vom 9. September, die beschädigte Fassung und die neue Fassung vom 23. September. Absätze werden über ihre gemeinsamen Inhaltswörter zugeordnet (Jaccard mindestens 0,35); „voll erhalten“ heißt, dass jede Aussage des Absatzes vom 9. September in seinem Gegenstück folgt.
Wörter, eingefügte Bewertungen und Verstärkungswörter, zugeordnete und voll erhaltene Absätze der beschädigten und der neuen Fassung, jeweils gegenüber der Fassung vom 9. September.
Partitur
---
id: dreiweg
display: tabelle
partiturs:
- id: duckdb-read
input:
sql: |
WITH t AS (
SELECT * FROM read_json_auto('~/ai-mac-studio/LWgrammar/evaluate/golden/famulus-plattform-threeway.json')
)
SELECT 'beschädigt' AS fassung,
damaged.document.words AS woerter,
damaged.document.inserted.evaluative."count" AS bewertungen,
damaged.document.inserted.intensifier."count" AS verstaerker,
damaged.paragraphs.aligned AS zugeordnet,
damaged.paragraphs.fully_preserved AS voll_erhalten
FROM t
UNION ALL
SELECT 'neu', rewrite.document.words,
rewrite.document.inserted.evaluative."count",
rewrite.document.inserted.intensifier."count",
rewrite.paragraphs.aligned,
rewrite.paragraphs.fully_preserved
FROM t
artefacts:
- name: dreiweg
kind: table
file: dreiweg.json
oracle:
n_sentences: {min: 2}
---
Wörter, eingefügte Bewertungen und Verstärkungswörter, zugeordnete und voll
erhaltene Absätze der beschädigten und der neuen Fassung, jeweils gegenüber
der Fassung vom 9. September.2 Sätze.
bestandenDie beschädigte Fassung erhält in mehr Absätzen alle Aussagen als die neue. Sie hat den Inhalt weitgehend stehen lassen und die Wörter verändert; die neue Fassung ist eine Neufassung mit neu gemessenen Zahlen und neuen Abschnitten. Die Tabelle trennt beides: Bewertungen und Verstärkungswörter stehen in der beschädigten Fassung, veränderte Aussagen in der neuen.
4 Frage 4. Wie entscheidet die Prüfung über einen einzelnen Absatz?
Absatz sec-neugier#5, links die Fassung vom 9. September, rechts die des Lektoratslaufs.
Prüfe die Fassung des Lektoratslaufs gegen den Absatz vom 9. September.
Partitur
---
id: absatz-pruefen
display: tabelle
partiturs:
- id: lwgrammar:lw_evaluate
input:
rows_from: metrics
task: revise-segment
context: {lang: de, author: grasshoff, family: grasshoff-de}
source: >-
Dieselbe Abfrage – eine Person in wechselnder Schreibweise – erstreckt
sich auf `eulerOO` (56 Formen `bernoul%`, 16 ms), `kepler-prim` (108
Formen `Tycho`, 25 ms) und `karman-nachlass` (85 Formen `Prandtl`, 19
ms).
revision: >-
**Bemerkenswert:** Dieselbe Abfrage – eine Person in wechselnder
Schreibweise – meistert Famulus über drei heterogene Bestände hinweg in
Millisekunden: `eulerOO` (56 Formen `bernoul%`, 16 ms), `kepler-prim`
(108 Formen `Tycho`, 25 ms) und `karman-nachlass` (85 Formen `Prandtl`,
19 ms).
artefacts:
- name: pruefung
kind: table
file: pruefung.json
oracle:
n_blocking_failed: {min: 1}
---
Prüfe die Fassung des Lektoratslaufs gegen den Absatz vom 9. September.6 n_blocking_failed.
bestandenDas Urteil besteht, wenn die Prüfung mindestens einen blockierenden Befund meldet. Die Gegenprobe ist der Absatz gegen sich selbst:
Prüfe den Absatz vom 9. September gegen sich selbst.
Partitur
---
id: absatz-kontrolle
display: tabelle
partiturs:
- id: lwgrammar:lw_evaluate
input:
rows_from: metrics
task: revise-segment
context: {lang: de, author: grasshoff, family: grasshoff-de}
source: >-
Dieselbe Abfrage – eine Person in wechselnder Schreibweise – erstreckt
sich auf `eulerOO` (56 Formen `bernoul%`, 16 ms), `kepler-prim` (108
Formen `Tycho`, 25 ms) und `karman-nachlass` (85 Formen `Prandtl`, 19
ms).
revision: >-
Dieselbe Abfrage – eine Person in wechselnder Schreibweise – erstreckt
sich auf `eulerOO` (56 Formen `bernoul%`, 16 ms), `kepler-prim` (108
Formen `Tycho`, 25 ms) und `karman-nachlass` (85 Formen `Prandtl`, 19
ms).
artefacts:
- name: kontrolle
kind: table
file: kontrolle.json
oracle:
n_blocking_failed: {max: 0}
---
Prüfe den Absatz vom 9. September gegen sich selbst.0 n_blocking_failed.
bestanden