docs(konventionen): Hexwert-Ausnahmen und LDAP-Container festhalten
Zwei Saetze in CLAUDE.md beschrieben den Code nicht genau. "Nie auf rohe Hexwerte" hat sechs begruendete Ausnahmen, nicht null: Papier, ein QR-Decoder und das Web-App-Manifest entscheiden nicht nach unserem Farbschema. Sie stehen jetzt als Tabelle mit Begruendung je Zeile. Die Regel wurde ergaenzt, nicht der Code geaendert -- eine Konstante ueber drei unverwandte Dinge haette die Begruendung versteckt. Das Tor vor jedem Commit nennt den LDAP-Container. Ohne ihn ueberspringt die Suite 22 Tests -- nachgezaehlt, nicht geschaetzt: 81 mit Container, 59 ohne. Sie sagt es auf stderr, der Lauf sieht trotzdem gruen aus. Im README fehlte zusaetzlich format:pruefen, das CLAUDE.md seit #010 verlangt. Damit das haelt, auch wenn niemand hinsieht: pruefe:doku vergleicht die beiden Schranken-Bloecke und verlangt von beiden den Container. Gegenprobe gefahren. Der Review hatte vier Hexwerte genannt und src/lib/qr.ts uebersehen, und das Issue behauptete die Regel stehe auch in docs/architektur.md -- tut sie nicht. Beides im Issue-Text richtiggestellt, statt einen Haken ueber falschen Text zu setzen. Closes #40
This commit is contained in:
@@ -176,9 +176,16 @@ speichern, neu laden, und nachsehen, ob es wirklich in der Datenbank steht.
|
||||
## Vor jedem Commit
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.test.yml up -d --wait ldap
|
||||
pnpm lint && pnpm typecheck && pnpm format:pruefen && pnpm test && pnpm pruefe:doku
|
||||
```
|
||||
|
||||
**Der LDAP-Container gehört in die erste Zeile.** Ohne ihn überspringt die Suite **22 Tests** — den
|
||||
ganzen Verzeichnis-Abgleich (nachgezählt: 81 statt 59 in `tests/abgleich.test.ts` und
|
||||
`tests/verzeichnis.test.ts`). Sie sagt das auf stderr, aber der Lauf sieht grün aus, und wer nur
|
||||
diesem Abschnitt folgte, hat den Abgleich nie geprüft. In CI bricht sie stattdessen ab, absichtlich.
|
||||
Aufgefallen bei der Abnahme zu #019.
|
||||
|
||||
`format:pruefen` gehört dazu, seit der Review in #010 darauf gestoßen ist: `lint-staged` formatiert
|
||||
beim Commit automatisch nach, und das Ergebnis wäre ein Commit mit Änderungen, die niemand gesehen
|
||||
hat. Lieber vorher sehen, was sich ändert.
|
||||
@@ -198,6 +205,17 @@ Abschnitte mit zweistelliger Nummer (`01 · Vorbereitung`), die aus der Position
|
||||
kommt und nie gespeichert wird. Druckansichten und Etiketten immer hell.
|
||||
**Am Handy nie horizontales Scrollen** — bei 390 px geprüft.
|
||||
|
||||
**„Nie auf rohe Hexwerte" meint die Oberfläche.** Es gibt genau sechs begründete Ausnahmen, und sie
|
||||
haben alle denselben Grund: dort entscheidet nicht unser Farbschema, sondern etwas außerhalb davon.
|
||||
|
||||
| Stelle | Wert | Warum kein Token |
|
||||
|---|---|---|
|
||||
| `src/app/drucken/lauf/[id]/page.tsx`, `src/app/drucken/etiketten/page.tsx` | `#ffffff` | Druck ist immer hell, unabhängig vom Erscheinungsbild der Anwendung |
|
||||
| `src/lib/qr.ts` | `#000000ff` / `#ffffffff` | Ein QR-Code muss reines Schwarz auf reinem Weiß sein, sonst liest ihn kein Decoder |
|
||||
| `src/app/layout.tsx` (`themeColor`), `src/app/manifest.ts` (zweimal) | `#0B0D10` | `themeColor` und das Web-App-Manifest vertragen keine CSS-Variablen |
|
||||
|
||||
Wer eine siebte hinzufügt, trägt sie hier ein — oder lässt es.
|
||||
|
||||
> Der folgende Block ist **nicht von uns**: `next dev` schreibt ihn bei jedem Start selbst in diese
|
||||
> Datei und stellt ihn wieder her, wenn man ihn löscht. Er steht deshalb hier, auf Englisch, und
|
||||
> wird mitcommittet, damit der Arbeitsbaum sauber bleibt.
|
||||
|
||||
Reference in New Issue
Block a user