Zwei Wege in den Betrieb, beide so weit gefahren, wie es hier moeglich war. deploy/install.sh richtet Debian 13 in neun Schritten ein: PostgreSQL 17 hoert nur am Unix-Socket, der Dienstnutzer hat kein Login, die Geheimnisse entstehen im Zielsystem und liegen 0600 bei root. Die Umgebungsdatei wird nie ueberschrieben -- auch nicht beim Aktualisieren, sonst enden alle Sitzungen und die verschluesselten Bind-Passwoerter waeren unlesbar. deploy/proxmox/laufzettel.sh legt den Container an und ruft install.sh darin auf. Der pct-Teil ist ungetestet, weil kein PVE-Host zur Verfuegung stand; die Gegenprobe steht als Pruefliste in docs/betrieb/proxmox.md, das Folge-Issue ist Nummer 38. Die Abnahme gegen alle 61 Kriterien hat drei Zusagen ohne Deckung gefunden, alle behoben: der Healthcheck des Webdienstes konnte nie bestehen (busybox loest localhost nach ::1 auf, Next lauscht nur auf IPv4), die CI-Pipeline konnte in keinem Job gruen werden (kein LDAP-Dienst, kein gestarteter Server, kein shellcheck), und der README nannte fuer die Entwicklungsdatenbank den falschen Port. Closes #19
2.0 KiB
#026 Zwei Konventionen präzisieren, die strenger klingen als sie gemeint sind
Status: offen Im Tracker: #40 Meilenstein: v0.2.0 Labels: phase-2, docs Geschätzt: 1 h Tatsächlich: –
Ziel
Zwei Sätze in CLAUDE.md (und gleichlautend in docs/architektur.md) beschreiben den Code nicht
genau. Beide fielen beim Abnahme-Review zu #019 auf.
1. Rohe Hexwerte. Die Regel sagt „Komponenten greifen nur darauf zu, nie auf rohe Hexwerte“.
Tatsächlich stehen vier 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) sowie
#0B0D10 in layout.tsx und 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.
Aufgaben
- Ausnahme für rohe Hexwerte in
CLAUDE.mdunddocs/architektur.mdbenennen, mit Begründung - 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 vier 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