Bildleser: den Titel gegenlesen -- und ein Protokollwort, das kein Satz war
ZWEI KLEINE SACHEN, BEIDE DERSELBEN ART: Etwas steht still da und sieht fast richtig aus. 1. DER TITEL WIRD GEGENGELESEN Anlass war ein echter Fall aus dem Betrieb: Filipe hat den Bildweg benutzt, und aus "Refined visuals Goal 1.0" wurde "Refined visvals Goal 1.0" -- ein u als v. Genau die Verwechslung, die man beim Korrekturlesen ueberliest, weil das Wort noch fast richtig aussieht. NACHGEMESSEN, OB DIE SPRACHWAHL HILFT: auf dem Server gegen die gespeicherte Pruefdatei mit deu, eng, deu+eng und eng+deu -- alle vier lesen "visuals" RICHTIG. Der Fehler liess sich also nicht nachstellen, und eine Einstellung zu aendern, deren Wirkung man nicht messen kann, ist Raten, das danach wie eine Loesung aussieht. Es bleibt bei `deu`. Was stattdessen hilft: Der Titel steht auf der Seite ZWEIMAL -- oben als Ueberschrift (gross, fett) und im Raster hinter "Gruppenname" (klein, normal). Zwei Schriftgroessen heisst zwei Gelegenheiten, sich zu verlesen, und zwar unabhaengig voneinander. Gehen die Lesungen auseinander, sagt die Kachel es, und beide stehen im Auszug. EIN HINWEIS, KEINE ABLEHNUNG -- anders als beim Zeitraum. Ein falsches Datum ist eine Falschauskunft: Die Kachel behauptet einen Termin, den sie nicht kennt, und niemand sieht es ihr an. Ein verlesener Buchstabe im Titel ist ein Schoenheitsfehler; daran eine ganze Kachel scheitern zu lassen waere unverhaeltnismaessig. 2. "Kampagne bremse" IST KEIN SATZ Die Protokollseite baut ihren Anzeigetext aus dem Schluessel: `aktionLesbar()` in personen.js macht aus Unterstrichen Leerzeichen und schreibt nur den ersten Buchstaben gross. Aus `kampagne_bremse` wurde damit "Kampagne bremse" -- Maschinensprache mit einem grossen Anfangsbuchstaben. Gemessen an allen sechs Woertern dieses Hauses war es das einzige kaputte: "Kampagne eingelesen", "Kampagne gescheitert", "Event geteilt" und sogar "Event zurueckgezogen" (die Umlautliste macht daraus "zurueckgezogen" mit u-Umlaut) lesen sich als Satz. Die Regel dahinter: Hauptwort plus Mittelwort, nie zwei Hauptwoerter. UND DAS UMBENENNEN WAR UMSONST ZU HABEN -- vorher gezaehlt, weil es bei Altbestand eine andere Rechnung waere: In der Live-Datenbank steht KEINE Zeile mit dem alten Wort (die Bremse hat nie gegriffen; zum Vergleich event_geteilt 7, kampagne_eingelesen 3). Es gibt also nichts, was danach krumm angezeigt wuerde. GEPRUEFT: 48 (Bildleser, +5 mit Gegenprobe, dass der Hinweis NICHT immer kommt), 190 (Route, unveraendert). Keine ausgelieferte Datei beruehrt, also kein neuer Stempel noetig. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -243,6 +243,70 @@ melde("=== 2. Lieber keine Kachel als eine mit erfundenem Termin ===");
|
||||
ok(h.hinweise.some((x) => /nur an einer Stelle/i.test(x)),
|
||||
` und die Kachel sagt, dass nicht gegengeprueft werden konnte`);
|
||||
|
||||
/* ---- DER TITEL WIRD GEGENGELESEN (08.10.2026) --------------
|
||||
|
||||
ANLASS WAR EIN ECHTER FALL: Filipe hat den Bildweg benutzt, und
|
||||
aus „Refined visuals Goal 1.0“ wurde „Refined visvals Goal 1.0“
|
||||
— ein u als v. Genau die Verwechslung, die man beim
|
||||
Korrekturlesen überliest, weil das Wort noch fast richtig
|
||||
aussieht. Auf der Kachel stand sie still da.
|
||||
|
||||
NACHGEMESSEN, OB DIE SPRACHWAHL HILFT: Auf dem Server gegen die
|
||||
gespeicherte Prüfdatei mit `deu`, `eng`, `deu+eng` und
|
||||
`eng+deu` — alle vier lesen „visuals“ RICHTIG. Der Fehler ließ
|
||||
sich also nicht nachstellen, und eine Einstellung zu ändern,
|
||||
deren Wirkung man nicht messen kann, ist Raten. Es bleibt bei
|
||||
`deu`.
|
||||
|
||||
WAS STATTDESSEN HILFT: Der Titel steht auf der Seite ZWEIMAL —
|
||||
oben als Überschrift (groß, fett) und im Raster hinter
|
||||
„Gruppenname“ (klein, normal). Zwei Schriftgrößen heißt zwei
|
||||
Gelegenheiten, sich zu verlesen, und zwar unabhängig
|
||||
voneinander. Gehen die beiden Lesungen auseinander, sagt die
|
||||
Kachel es.
|
||||
|
||||
EIN HINWEIS, KEINE ABLEHNUNG — anders als beim Zeitraum. Ein
|
||||
falsches Datum ist eine Falschauskunft; ein verlesener
|
||||
Buchstabe im Titel ein Schönheitsfehler. Daran eine ganze
|
||||
Kachel scheitern zu lassen wäre unverhältnismäßig. */
|
||||
{
|
||||
const zweierlei = [
|
||||
"【Star Light】Refined visvals Goal 1.0 In Bearbeitung",
|
||||
"Gruppenname 【Star Light】Refined visuals Goal 1.0 Zeitzone Europe/Berlin",
|
||||
"Daten 01.10.2026 00:00 ~ 31.10.2026 22:59",
|
||||
].join("\n");
|
||||
const g = leseBild(zweierlei);
|
||||
/* ERST BELEGEN, DASS DIE KACHEL ÜBERHAUPT ENTSTEHT. Ohne diese
|
||||
Zeile wäre das Folgende auch bei einer Ablehnung grün. */
|
||||
ok(g.pflicht.titel.includes("Refined"),
|
||||
`die Kachel entsteht trotzdem: ${JSON.stringify(g.pflicht.titel)}`);
|
||||
ok(g.hinweise.some((h) => /zweimal auf dem Bild/i.test(h)),
|
||||
`und sagt, dass der Titel zweimal verschieden gelesen wurde: `
|
||||
+ `${JSON.stringify(g.hinweise.find((h) => /zweimal/i.test(h)) || null)}`);
|
||||
/* BEIDE LESUNGEN KOMMEN MIT. Fällt später auf, dass die falsche
|
||||
gewonnen hat, steht die andere schon da. */
|
||||
ok(g.auszug.titel_raster && g.auszug.titel_kopf
|
||||
&& g.auszug.titel_raster !== g.auszug.titel_kopf,
|
||||
`und beide stehen im Auszug: ${JSON.stringify(
|
||||
[g.auszug.titel_raster, g.auszug.titel_kopf])}`);
|
||||
|
||||
/* GEGENPROBE: Stimmen beide überein, gibt es KEINEN Hinweis.
|
||||
Ohne sie wäre „der Hinweis kommt“ auch dann grün, wenn er
|
||||
immer käme — und ein Hinweis, der immer kommt, wird
|
||||
überlesen (CLAUDE.md, 03.09.2026). */
|
||||
const einig = zweierlei.replace("visvals", "visuals");
|
||||
const h = leseBild(einig);
|
||||
ok(!h.hinweise.some((x) => /zweimal auf dem Bild/i.test(x)),
|
||||
`Gegenprobe: bei zwei gleichen Lesungen kommt kein Hinweis `
|
||||
+ `(${h.hinweise.length} Hinweise)`);
|
||||
|
||||
/* UND DER ECHTE ERKENNUNGSTEXT LÖST IHN AUCH NICHT AUS. Sonst
|
||||
stünde er an jeder Kachel, und das wäre derselbe Fehler. */
|
||||
const echt = leseBild(ERKANNT);
|
||||
ok(!echt.hinweise.some((x) => /zweimal auf dem Bild/i.test(x)),
|
||||
"und am gespeicherten Erkennungstext ebenso wenig");
|
||||
}
|
||||
|
||||
/* Ein Ende vor dem Anfang ist ein Zahlendreher, kein Zeitraum. */
|
||||
wirft("Kampagne Z\nGruppenname Kampagne Z\nDaten 20.11.2026 ~ 05.11.2026",
|
||||
"pflicht", "Ende vor Anfang");
|
||||
|
||||
Reference in New Issue
Block a user