Files
Laufzettel/docs/issues/026-konventionen-praezisieren.md
T
florian.wilde 88d7db8c3d
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
fix(abnahme): Healthcheck schweigt, zwei Konventionen praezisiert (#41)
2026-10-04 14:12:28 +00:00

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.md benennen, mit Begründung (in docs/architektur.md steht die Regel nicht)
  • Den LDAP-Container in CLAUDE.md („Vor jedem Commit“) und README.md aufnehmen
  • Prüfen, ob sich der Hinweis maschinell absichern lässt — pruefe:doku könnte verlangen, dass jede in CLAUDE.md genannte 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.md von oben nach unten befolgt, fährt die Suite mit LDAP-Container