From de5132c2ec0fd066cb9d8f1dbf49052b02a668fe Mon Sep 17 00:00:00 2001 From: fs Date: Fri, 31 Jul 2026 17:48:27 +0200 Subject: [PATCH] =?UTF-8?q?CLAUDE.md:=20Bild-Einfrieren=20beim=20Ver=C3=B6?= =?UTF-8?q?ffentlichen=20dokumentieren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nachtrag zu 7223122 — der Doku-Teil war beim Commit durchgefallen, weil meine Textsuche in CLAUDE.md nicht griff. Enthält auch den Hinweis, dass veröffentlicht werden muss, wo der frische Sync-Stand liegt: auf dem Server. data/matchcenter.json ist gitignored, lokal ist er also älter. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7 --- CLAUDE.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1689b2f..10ef991 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -520,8 +520,25 @@ die Live-Seiten (Tabellen/News/Ergebnisse/Vorschau) bei jedem Aufruf frisch aus Stand als `snapshot`-Feld ein (`stadionzeitung_build_snapshot()`, dieselbe Berechnung wie die Entwurfs-Vorschau — `stadionzeitung_live_data()` in `helpers.php` entscheidet snapshot vs. live) und setzt `status: veroeffentlicht`. Ab dann ändert sich die Ausgabe nie mehr („gedruckt = fixiert"); -sinnvoller Zeitpunkt: Spieltagmorgen nach dem letzten Matchcenter-Sync. `--entwurf` zieht zurück -(Snapshot wird verworfen). Ein erneuter `stadionzeitung-add.php`-Lauf setzt eine veröffentlichte +sinnvoller Zeitpunkt: Spieltagmorgen nach dem letzten Matchcenter-Sync — **auf dem Server**, dort +liegt der frische Sync-Stand (`data/matchcenter.json` ist gitignored, lokal also älter). +`--entwurf` zieht zurück (Snapshot wird verworfen). + +**Mit dem Snapshot werden auch die BILDER eingefroren** (seit 31.07.2026): das Skript kopiert +alles, worauf er zeigt (`img/crests/`, `img/instagram/`, `img/news/`), als `fix-*` in den +Ausgaben-Ordner und schreibt die Pfade um. **Grund:** vorher fror nur die Daten ein, die Pfade +zeigten weiter in Ordner, die die Sync-Skripte verwalten — `matchcenter-sync` räumt Wappen weg, +die der BFV nicht mehr führt (eine Saison), `instagram-sync` ältere Posts (Wochen). Am 31.07.2026 +nachgewiesen: ein Lauf löschte 18 Wappen und 3 Bilder. Eine archivierte Ausgabe wäre also von +selbst zerfallen. `img/news` ist mit dabei, weil ein Artikelbild im Chat ersetzt werden kann. +**Varianten-Sets** (`{base, widths}`) werden über alle Breiten kopiert und nur umgeschrieben, wenn +**alle** da sind — ein halbes `srcset` wäre schlimmer als der alte Pfad. Fehlt eine Quelle, bleibt +der Pfad stehen und es gibt eine WARN (die `crest`-Komponente fällt auf Initialen zurück; ein +fehlendes Bild darf das Veröffentlichen nicht verhindern). Flache `fix-*`-Dateinamen statt eines +Unterordners, weil die Aufräum-Logik in `stadionzeitung-add.php` nur Dateien entfernt und ein +Unterordner als Waise bliebe. `--entwurf` löscht sie wieder, sie gehören zum Snapshot. +`bin/preflight.php` warnt, wenn eine veröffentlichte Ausgabe noch auf `img/crests` oder +`img/instagram` zeigt — Reparatur: `--entwurf`, dann neu veröffentlichen. Ein erneuter `stadionzeitung-add.php`-Lauf setzt eine veröffentlichte Ausgabe zurück auf Entwurf (Seiten ersetzt = Stand muss neu geprüft und veröffentlicht werden). Ausgaben ohne `status`-Feld gelten als veröffentlicht (Bestandsschutz). Die Kontakt-Seite ist bewusst NICHT im Snapshot: sie liest immer `data/ansprechpartner.json` (ein Snapshot würde nur