From 74e70c654ffa225cd134acf217e945331cbd6e86 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 5 Oct 2026 07:56:44 +0000 Subject: [PATCH] Plaene: Werkzeug-Vertrag nach P0-Review (Ausschluss per !, feste Uhr, missing-asset, bad-text) Co-Authored-By: Claude Opus 5.5 --- .../plans/2026-10-05-weisses-design-00-uebersicht.md | 9 +++++++-- .../plans/2026-10-05-weisses-design-p1-fundament.md | 2 ++ .../2026-10-05-weisses-design-p8-rechtliches-admin.md | 3 +++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/superpowers/plans/2026-10-05-weisses-design-00-uebersicht.md b/docs/superpowers/plans/2026-10-05-weisses-design-00-uebersicht.md index d36f4ec..d717e2a 100644 --- a/docs/superpowers/plans/2026-10-05-weisses-design-00-uebersicht.md +++ b/docs/superpowers/plans/2026-10-05-weisses-design-00-uebersicht.md @@ -54,7 +54,7 @@ Diese Regeln gelten für jede Aufgabe aller Pakete. - Jede Bash-Ausführung beginnt mit `source /root/reports/ticketsystem-design-2026-10-04/werkzeug/env.sh`. Das Skript (aus P0) setzt: - `WT=/home/webklar/apps/ticket.webklar.com/dev-design` - `W=/root/reports/ticketsystem-design-2026-10-04/werkzeug` - - `TMPDIR` auf den Scratchpad-Ordner der Sitzung (sonst `$W/tmp`) + - `TMPDIR=$W/tmp` - `set -o pipefail` - `cd "$WT"` @@ -228,7 +228,12 @@ Zu `shots.sh`: **`$W/gates.mjs`** - Format: `GATES: { p: { checks: string[], views: '*' | string[], scoped?: { [check]: { views: string[], ignore?: string[] } } } }`. -- `checks` gilt für `views`. Einträge in `views` dürfen mit `*` enden und gelten dann als Präfix (z. B. `'tickets-*'`). +- `checks` gilt für `views`. Einträge in `views` dürfen mit `*` enden und gelten dann als Präfix (z. B. `'tickets-*'`). Einträge mit führendem `!` schließen aus (nach den Einschlüssen). Ein Muster, das keine Ansicht trifft, eine leere Liste oder ein unbekannter Prüfname beenden den Lauf mit Exit 2. +- Immer aktiv sind zusätzlich `unhandled-request`, `backend-error` und `missing-asset` (fehlende statische Datei im Build). +- `bad-text` meldet sichtbare Texte wie „Invalid Date“, „NaN“, „undefined“, „[object Object]“ und das Wort „null“. Ab P2 ist die Prüfung im Gate scharf. +- Alle Läufe nutzen die feste Uhr `FIXTURE_TODAY=2026-10-05` (überschreibbar per Umgebungsvariable). So sind Bilder verschiedener Tage vergleichbar. +- Gate `p1` prüft `overflow-x` mit `['*', '!admin', '!admin-neu']`, weil die Admin-Seite heute schon waagerecht scrollt. P8 behebt das und nimmt die Ausnahme heraus. +- Das Werkzeug ist ein eigenes Git-Repo unter `$W`. Wer es ändert, committet dort. Selbsttests: `node selftest.mjs` und `"$W/run-browser.sh" "$W/checks-selftest.mjs"`. - `scoped` schaltet eine weitere Prüfung nur für die genannten Ansichten ein. Beispiel: `icon-svg` für die Ansichten des Pakets, `ignore` mit Selektoren, die bis zu einem späteren Paket ausgenommen bleiben. - `step-failed`, `external-request` und `console-error` sind in jedem Gate aktiv. - Paket N legt `p` als `{ ...GATES['p'], scoped: { ...vorherige, 'icon-svg': { views: [… Ansichten von N und allen früheren Paketen] } } }` an. diff --git a/docs/superpowers/plans/2026-10-05-weisses-design-p1-fundament.md b/docs/superpowers/plans/2026-10-05-weisses-design-p1-fundament.md index 851898b..f55327b 100644 --- a/docs/superpowers/plans/2026-10-05-weisses-design-p1-fundament.md +++ b/docs/superpowers/plans/2026-10-05-weisses-design-p1-fundament.md @@ -605,6 +605,8 @@ Ohne `challengeId` erscheint stattdessen „Code senden“ bzw. „Sende…“ u - [ ] **Step 2: `LetterGlitch` löschen und prüfen** +Zusätzlich entfällt im Werkzeug die Ausnahme `knownPageError` für LetterGlitch in `$W/shots.mjs` (eigener Commit im Werkzeug-Repo). + Run: `source /root/reports/ticketsystem-design-2026-10-04/werkzeug/env.sh && git rm -q src/components/LetterGlitch.jsx && ! rg -n "LetterGlitch" src && "$W/build.sh" "$WT" p1 && "$W/shots.sh" p1 "$W/shots/p1-t8" --only login,login-code,login-code-senden --gate p1` Expected: Exit 0. Im Bild `login-code-senden` steht der Knopf „Code senden“. diff --git a/docs/superpowers/plans/2026-10-05-weisses-design-p8-rechtliches-admin.md b/docs/superpowers/plans/2026-10-05-weisses-design-p8-rechtliches-admin.md index 709db8d..fcdb5f5 100644 --- a/docs/superpowers/plans/2026-10-05-weisses-design-p8-rechtliches-admin.md +++ b/docs/superpowers/plans/2026-10-05-weisses-design-p8-rechtliches-admin.md @@ -42,6 +42,9 @@ Zusätzlich gilt: Das Seiten-Banner der Admin-Seite bleibt für Erfolg und Lösc --- + +> **Nachtrag aus P0 (Gate):** Gate `p1` und alle folgenden Gates schließen `admin` und `admin-neu` von `overflow-x` aus (`['*', '!admin', '!admin-neu']`). P8 macht die Admin-Seite bei 390 px ohne waagerechtes Scrollen und entfernt die beiden Ausschlüsse aus allen Gates ab `p8` (ein Schritt im Abschluss-Task, geprüft mit `"$W/shots.sh" … --only admin,admin-neu --gate p8`). + ### Task 1: Paketstart und Ausgangswerte **Files:** keine Änderung.