Files
Laufzettel/docs/issues/026-konventionen-praezisieren.md
T
Florian Wilde bf1e52cf73
Prüfung / pruefung (push) Canceled after 0s
Prüfung / pruefung (pull_request) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
Prüfung / e2e (pull_request) Canceled after 0s
feat(betrieb): native Installation, Proxmox-Einzeiler und Abnahme
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
#024.

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
2026-09-26 15:53:01 +02:00

1.9 KiB
Raw Blame History

#026 Zwei Konventionen präzisieren, die strenger klingen als sie gemeint sind

Status: offen Im Tracker: – 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.md und docs/architektur.md benennen, mit Begründung
  • 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 vier 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