feat: Änderungsbericht listet eigenmächtige Modelländerungen „Zu prüfen“

Verglichen wird der Text nach den Glossar-Ersetzungen mit dem Ergebnis des
Modells. Gemeldet werden ersetzte gültige Wörter (Systemwortliste
/usr/share/dict/ngerman bzw. american-english), stark veränderte, eingefügte
und gestrichene Wörter; Hörfehler-Korrekturen, reine Zusammen-/Getrennt-
schreibung, Füllwörter und Glossarwörter nicht. Eigener Abschnitt im
HTML-Bericht, Rahmen im Text, Liste in der Konsole. aenderungen.py versteht
dafür -g und -l.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-11 21:32:06 +02:00
commit 82ce30ca72

View file

@ -12,7 +12,9 @@ import time
import urllib.error
import urllib.request
from aenderungen import REVIEW_MARK, print_summary, report_path, write_report
from aenderungen import (
REVIEW_MARK, glossary_words, print_summary, report_path, write_report,
)
from extract_text import fetch_text
from vtt2txt import (
add_time_options, join_segments, range_argv, resolve_time_ranges, split_segments,
@ -616,6 +618,9 @@ def main():
).split("\n")
segments = [(header, body) for (header, _), body in zip(segments, bodies)]
# What the model gets; only its own changes against this count as suspect
model_text = join_segments(segments)
blocks = [(header, split_chunks(body)) for header, body in segments]
total = sum(len(chunks) for _, chunks in blocks)
@ -672,7 +677,10 @@ def main():
if not args.kein_bericht:
report = report_path(target)
comparison = write_report(raw_text, text, report, target.name)
comparison = write_report(
raw_text, text, report, target.name, model_input=model_text,
known=glossary_words(terms, replacements), lang=lang,
)
print_summary(comparison)
print(f"Bericht: {report}")
@ -680,6 +688,8 @@ def main():
print(f"\n{len(warnings)} Abschnitt(e) mit auffälliger Wortzahl:")
for message in warnings:
print(f"- {message}")
if not args.kein_bericht and comparison.suspects:
print(f"\n{len(comparison.suspects)} Stelle(n) zu prüfen, siehe {report}")
if __name__ == "__main__":