From 470654151794e1aa8f1779a8d4f9a659b04e7f63 Mon Sep 17 00:00:00 2001 From: mhoennig Date: Sat, 22 Aug 2026 19:50:56 +0200 Subject: [PATCH] fix: promote-shipped.sh kennt den umbenannten Plan und die neue Syntax MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Rename example-werkbaum.werkbaum → werkbaum.werkbaum (82f34b2) hatte das Skript nicht erreicht — der Deploy brach mit „Plan nicht gefunden" ab. Dazu die Statusbox-Erkennung um das =-Gate und die Faltmarken >/< erweitert (SPEC §1), damit auch `- > [x] …`-Zeilen befördert werden. Co-Authored-By: Claude Fable 5 --- frontend/CLAUDE.md | 2 +- scripts/promote-shipped.sh | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/frontend/CLAUDE.md b/frontend/CLAUDE.md index 7abdc92..fe0d013 100644 --- a/frontend/CLAUDE.md +++ b/frontend/CLAUDE.md @@ -111,7 +111,7 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der (nicht mehr pauschal alle `werkbaum-*` löschen!). Das letzte gelöschte Dokument wird als Beispiel neu gesät. - Mitgeliefertes Dokument „Werkbaum" (D27): `app.js` importiert - `../../docs/examples/example-werkbaum.werkbaum?raw` — die Beispieldatei ist + `../../docs/examples/werkbaum.werkbaum?raw` — die Beispieldatei ist damit **Build-Eingabe**, Umbenennen/Verschieben bricht den Build (Zugriff außerhalb des Roots erlaubt `server.fs.allow:['..']`). `seedShippedDocs()` legt es **einmalig** an (auch für Bestandsnutzer); ohne den Merker `werkbaum-seeded` diff --git a/scripts/promote-shipped.sh b/scripts/promote-shipped.sh index 83f6b38..bd1d2ba 100755 --- a/scripts/promote-shipped.sh +++ b/scripts/promote-shipped.sh @@ -54,12 +54,13 @@ done ROOT="$(cd "$(dirname "$0")/.." && pwd)" cd "$ROOT" -PLAN="docs/examples/example-werkbaum.werkbaum" +PLAN="docs/examples/werkbaum.werkbaum" [ -f "$PLAN" ] || { echo "Plan nicht gefunden: $PLAN" >&2; exit 1; } -# Nur Statusboxen am Zeilenanfang (nach optionalem Zeichen -/+/|), damit ein -# „[x]" mitten im Label unangetastet bleibt. `x` auch als `X` (SPEC §4). -MATCH='^([[:space:]]*([-+|][[:space:]]*)?)\[[xX]\]' +# Nur Statusboxen am Zeilenanfang — nach optionalem Zeichen -/+/|/= und +# optionaler Faltmarke >/< (SPEC §1) —, damit ein „[x]" mitten im Label +# unangetastet bleibt. `x` auch als `X` (SPEC §4). +MATCH='^([[:space:]]*([-+|=][[:space:]]*)?([<>][[:space:]]+)?)\[[xX]\]' mapfile -t HITS < <(grep -nE "$MATCH" "$PLAN" || true) @@ -88,7 +89,7 @@ fi # Labels für den Commit-Text sammeln (ohne Zeichen, Statusbox und Größe). mapfile -t LABELS < <(printf '%s\n' "${HITS[@]}" \ - | sed -E 's/^[0-9]+:[[:space:]]*([-+|][[:space:]]*)?\[[xX]\][[:space:]]*//' \ + | sed -E 's/^[0-9]+:[[:space:]]*([-+|=][[:space:]]*)?([<>][[:space:]]+)?\[[xX]\][[:space:]]*//' \ | sed -E 's/[[:space:]]*\((XS|S|M|L|XL|XXL)\)[[:space:]]*$//') IS_GIT=0