cb6ba7188a
Dokumentiert die drei ausgefuehrten Tasks (Woerterbuch + de.json, Vitest-Waechter, API-Texte), die zwei waehrend Task 2 selbst entdeckten und behobenen Woerterbuch-Luecken sowie die realen Test-/Build-Ergebnisse fuer beide Apps. Task 4 (Sichtpruefung nach Docker-Rebuild) bleibt dem Orchestrator ueberlassen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K5jtbGzC5Sf9npJ3JCjKhq
6.5 KiB
6.5 KiB
quick_id, title, status, tech-stack, key-files, decisions, actuals, metrics
| quick_id | title | status | tech-stack | key-files | decisions | actuals | metrics | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 260907-hyi | Umlaute in der deutschen Oberflaeche korrigieren | complete |
|
|
|
|
|
Quick-Task 260907-hyi: Umlaute in der deutschen Oberflaeche korrigieren Summary
Deutsche Oberflaechentexte, Passwort-/Willkommens-Mail und Marktplatz-Modulbeschreibung schrieben Umlaute als Buchstabenpaare aus; jetzt schreiben sie echte Umlaute, per expliziter Token-Liste korrigiert und mit einem Vitest-Waechter gegen Rueckfall abgesichert.
Ausgefuehrte Tasks
- Woerterbuch anlegen und de.json korrigieren —
umlaut-dictionary.tsangelegt (UMLAUT_REPLACEMENTS,UMLAUT_ALLOWLIST), 68 falsche Tokens (140 Fundstellen inkl. der in Task 2 entdeckten Ergaenzung) inde.jsonper Ganzwort-Ersetzung korrigiert. Commit3d351c6. - Regressionswaechter als Vitest-Spec —
umlaut-guard.spec.tsangelegt, liest ausschliesslich das geparste JSON, prueft drei Dinge (keine bekannten Ersatzschreibweisen mehr, kein neues ae/oe/ue/ss-Token ausserhalb der Positivliste, de/en-Schluesselparitaet). Commitcaa4827. - API-Texte — Passwort-Mail und Modul-Beschreibung —
mail.service.ts(Betreff, Reset-Fliesstext, Willkommens-Mail) unddomaincheck.seed.tskorrigiert. Commitd9f1422. - Sichtpruefung im Browser und in der Datenbank —
checkpoint:human-verify, absichtlich nicht ausgefuehrt. Der Orchestrator fuehrt Docker-Rebuild und die visuelle Pruefung durch.
Deviations from Plan
Auto-fixed Issues
1. [Rule 1 - Bug] Fehlender Grossschreibungs-Eintrag Bestaetigen → Bestätigen
- Found during: Task 2, beim ersten Lauf des neuen Waechters.
- Issue: Die Plan-Wortliste fuehrte nur
bestaetigen→bestätigen(klein), abercommon.confirminde.jsonnutzt die Grossschreibung"Bestaetigen"(Schaltflaechen-Text) — blieb nach Task 1 faelschlich unkorrigiert. - Fix:
Bestaetigen: 'Bestätigen'zuUMLAUT_REPLACEMENTSergaenzt,de.json-Wert direkt korrigiert. - Files modified:
apps/web/src/messages/umlaut-dictionary.ts,apps/web/src/messages/de.json - Commit:
caa4827
2. [Rule 1 - Bug] Fehlende Positivlisten-Eintraege fuer nach der Korrektur entstandene, aber weiterhin ae/oe/ue/ss-haltige korrekte Woerter
- Found during: Task 2, gleicher Waechter-Lauf.
- Issue: Die Korrektur von
Passwoerter,vertrauenswuerdigen,ausschliessen,entschluesseltergibt korrektes Deutsch (Passwörter,vertrauenswürdigen,ausschließen,entschlüsselt), das aber weiterhin die Zeichenfolgess/ueenthaelt (z. B.üssel,au+eintrauen,ussinausschließen) und deshalb vom zweiten Waechter-Test als "neues Wort" markiert wurde. - Fix: Die vier Woerter zu
UMLAUT_ALLOWLISTergaenzt. - Files modified:
apps/web/src/messages/umlaut-dictionary.ts - Commit:
caa4827
Beide Punkte wurden inline behoben, nicht als separate Commits — sie sind Teil der Fertigstellung des in Task 1/2 beschriebenen Woerterbuchs, keine architektonische Aenderung.
Test-/Build-Ergebnisse (real, nicht simuliert)
pnpm --filter @tessera/web test: 38 Testdateien, 225 Tests — alle gruen (inkl. neuemumlaut-guard.spec.tsund bestehendertenderRadar-parity.spec.ts).pnpm --filter @tessera/web run type-check: sauber, keine Ausgabe.pnpm --filter @tessera/api run build: sauber, keine Ausgabe.pnpm --filter @tessera/api run type-check: sauber, keine Ausgabe.pnpm --filter @tessera/api run test: 46 Testdateien, 642 Tests — alle gruen (mehrere erwarteteERROR/WARN-Log-Zeilen in der Ausgabe stammen von absichtlich simulierten Fehlerpfaden in bestehenden Tests, kein neuer Testfehler).- Manuelle Waechter-Probe (Task 2
done-Kriterium): ein probeweise eingefuegtesfuerliess die Spec mit exakt der geforderten Meldung fehlschlagen ("für"+ Schluesselpfadcommon.edit), danach zurueckgenommen —git diff --statbestaetigt keine Restspur.
Wieviele Strings geaendert wurden
- 68 verschiedene Tokens in
UMLAUT_REPLACEMENTS(67 aus dem Plan + 1 selbst gefunden:Bestaetigen), 140 Ersetzungs-Treffer inde.json-Werten insgesamt. - 65 Tokens auf
UMLAUT_ALLOWLIST(61 aus dem Plan + 4 selbst ergaenzt). - 6 Zeichenketten in
apps/api/src/mail/mail.service.ts(Betreff + 5 Fliesstext-/ Template-Literal-Stellen in beiden Mails). - 1 Zeichenkette in
apps/api/src/domaincheck/domaincheck.seed.ts.
Was bewusst unangetastet blieb
empfaenger@example.com(SchluesseltestToPlaceholder) — Platzhalter-Adresse, per@-Regel uebersprungen, wie im Plan gefordert.- Alle 65 Positivlisten-Woerter (
Passwort,Adresse,Quelle,manuell,Ausschreibung,Erzeugnisse,zuerst,neue, ...) — unveraendert, keine einzige Ersetzung darauf angewendet. - Deutsche Code-Kommentare (z. B. in
tessera-logo.tsx) — laut Plan ausdruecklich nicht Teil dieses Tasks, nicht angefasst. - Wortlaut jeder Zeichenkette — nur Schreibweise korrigiert, keine Umformulierung.
- Schluessel und Reihenfolge in
de.json/en.json— strukturell identisch geblieben (787 Schluessel, geprueft per Skript vor und nach der Aenderung). - Die beiden Backlog-Punkte aus dem Plan (
1 Mitgliederstatt1 Mitglied; Duzen im Aktivierungsdialog) — ausdruecklich nicht Teil dieses Plans, bereits im Backlog unter.planning/phases/15-modul-berechtigungen-gruppen-user-grants/15-UAT-2026-09-07.mdvermerkt. - Task 4 (Sichtpruefung, Docker-Rebuild) —
checkpoint:human-verify, dem Orchestrator ueberlassen.
Self-Check: PASSED
apps/web/src/messages/umlaut-dictionary.ts— FOUNDapps/web/src/messages/umlaut-guard.spec.ts— FOUND- Commit
3d351c6— FOUND (git log --oneline --all) - Commit
caa4827— FOUND - Commit
d9f1422— FOUND