2.6 KiB
#026 Zwei Konventionen präzisieren, die strenger klingen als sie gemeint sind
Status: erledigt Im Tracker: #40 Meilenstein: v0.2.0 Labels: phase-2, docs Geschätzt: 1 h Tatsächlich: 20 min
Ziel
Zwei Sätze in CLAUDE.md beschreiben den Code nicht genau. Beide fielen beim Abnahme-Review zu
#019 auf.
Nachtrag aus der Umsetzung: docs/architektur.md trägt die Gestaltungsregel gar nicht — sie
steht nur in CLAUDE.md. Und es sind sechs Ausnahmen, nicht vier: der Review hat src/lib/qr.ts
übersehen, wo der QR-Code reines Schwarz auf reinem Weiß braucht, damit ein Decoder ihn liest.
1. Rohe Hexwerte. Die Regel sagt „Komponenten greifen nur darauf zu, nie auf rohe Hexwerte“.
Tatsächlich stehen sechs begründete Ausnahmen im Code: #ffffff in drucken/lauf/[id]/page.tsx und
drucken/etiketten/page.tsx (Druck ist immer hell, unabhängig vom Farbschema der Anwendung),
#000000ff/#ffffffff in src/lib/qr.ts (ein QR-Code muss reines Schwarz auf reinem Weiß sein)
sowie #0B0D10 in layout.tsx und zweimal in manifest.ts (themeColor und das Manifest
vertragen keine CSS-Variablen). Die Regel ist strenger formuliert als gemeint — sie soll um diese
Ausnahmen ergänzt werden, nicht der Code geändert.
2. pnpm test ohne LDAP-Container. „Vor jedem Commit“ in CLAUDE.md und „Qualitätsschranken“ im
README nennen pnpm test, aber nicht
docker compose -f docker-compose.test.yml up -d ldap. Ohne den Container überspringt die Suite die
Tests gegen das echte Verzeichnis — sie sagt das auf stderr, aber der Lauf sieht grün aus. Wer nur
dem dokumentierten Weg folgt, prüft den Verzeichnis-Abgleich nie. Ein Satz in beiden Dateien.
Nachgezählt sind es 22 Tests: tests/abgleich.test.ts und tests/verzeichnis.test.ts ergeben
mit Container 81, ohne 59. Dabei fiel auf, dass im README zusätzlich format:pruefen fehlte.
Aufgaben
- Ausnahme für rohe Hexwerte in
CLAUDE.mdbenennen, mit Begründung (indocs/architektur.mdsteht die Regel nicht) - Den LDAP-Container in
CLAUDE.md(„Vor jedem Commit“) undREADME.mdaufnehmen - Prüfen, ob sich der Hinweis maschinell absichern lässt —
pruefe:dokukönnte verlangen, dass jede inCLAUDE.mdgenannte Schranke auch den nötigen Vorlauf nennt
Akzeptanzkriterien
- Die sechs Hexwerte im Code stehen in Einklang mit der Regel, ohne den Code zu ändern
- Wer
CLAUDE.mdvon oben nach unten befolgt, fährt die Suite mit LDAP-Container