Commit Graph
6 Commits
Author SHA1 Message Date
mhoennig 82f34b2c09 rename: example-werkbaum.werkbaum zu werkbaum.werkbaum. 2026-08-16 12:05:01 +02:00
mhoennigandClaude Opus 4.8 6836352e84 deploy: „fertig" wird erst beim Deploy „in Produktion" (D30)
Der mitgelieferte Werkbaum-Plan behauptete [^] für Funktionen, die nur auf der
automatisch deployten Pages-Instanz lagen, nicht auf werkbaum.javagil.de
(manueller Deploy, D16). Ausgerechnet das Dokument, das den Stand beschreiben
soll, war ungenau — und „Was ist neu?" (D28) meldete Dinge als live, die es
dort nicht waren.

Die Unterscheidung gibt es längst: SPEC §4 trennt [x] fertig von [^] in
Produktion. Der Plan hat sie für sich selbst nie benutzt. Konvention ab jetzt:
beim Mergen [x], der Deploy befördert — nur er weiß, wann die Aussage wahr wird.

- scripts/promote-shipped.sh schreibt Statusboxen am Zeilenanfang von [x] auf
  [^] und hält das als eigenen Commit fest (-n zeigt nur, -y ohne Rückfrage).
  Bricht ab, wenn die Plandatei uncommittete Änderungen hat; committet nur
  diesen einen Pfad; pusht nicht.
- deploy-prod.sh ruft es als Schritt 0 auf (--no-promote schaltet es ab) und
  warnt, wenn HEAD noch nicht auf origin liegt — der Footer-Versionslink zeigt
  sonst auf einen Commit, den GitHub nicht kennt.

Warum ein Commit und kein Rewrite beim Bauen: Ein Rewrite macht GENAU EINE
Installation ehrlich; Pages untertriebe dauerhaft und die Neu-Anzeige wäre dort
für immer stumm. Der Commit wird von beiden Pipelines gesehen (Pages beim Push,
prod beim rsync), das Artefakt bleibt inhaltsgleich mit dem Repo — die
vorhandenen sed-Regeln (D16) fassen nur Pfade und Version an, Infrastruktur,
kein Rewrite dessen, was das Dokument aussagt. Außerdem Präzedenzfall D16:
VERSION per bewusstem Bump-Commit, „vollständig aus dem Repo reproduzierbar".

Einmalige Nachholung, exakt statt geschätzt: Der Footer der stabilen Instanz
verlinkt den deployten Commit (4061362); alles danach ist dort nicht drin. Es
sind GENAU ZWEI Knoten — „Optional nodes" (D29) und „Show what is new since
your last visit" (D28) —, nicht das Dutzend, das ich vorher grob geschätzt
hatte. Beide stehen jetzt auf [x] und leuchten beim nächsten Prod-Deploy als
neu auf. Eine Demotion [^]→[x] löst kein Falschleuchten aus: freshProdSet
meldet nur Knoten, die JETZT [^] sind (test-abgedeckt).

Umfang: nur example-werkbaum.werkbaum. Die übrigen Beispieldateien sind
erfunden und sagen nichts über ein Deployment aus.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 12:38:21 +02:00
mhoennigandClaude Opus 4.8 61023019aa frontend: Übersetzungen für Mandarin (中) und Japanisch (日)
Zwei weitere aufklappbare Sprachen hinter dem "…"-Umschalter mit
vollständigen UI-Übersetzungen (inkl. Diagramm-Tooltips). Reihenfolge:
de en es fr pl ru hi zh ja …. LANG_EXTRA und CLAUDE.md-Konvention ergänzt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 12:47:19 +02:00
mhoennigandClaude Opus 4.8 6eaf9fad33 frontend: Aufklappbare Sprachen PL/RU/HI hinter "…"-Umschalter
Der Sprachumschalter zeigt DE/EN/ES/FR direkt; ein "…"-Button klappt
Polnisch, Russisch und Hindi auf. Ist eine dieser Sprachen aktiv (auch
per gemerkter Auswahl), öffnet sich der Bereich automatisch. Vollständige
Übersetzungen aller UI-Texte inkl. Diagramm-Tooltips für PL/RU/HI.
Wurzel-CLAUDE.md-Konvention entsprechend ergänzt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 12:20:11 +02:00
Michael HoennigandClaude Opus 4.8 15bcfe75eb frontend: Mehrsprachige UI (DE/EN/ES/FR) mit Umschalter
Sprachumschalter oben rechts neben dem Titel. Alle UI-Texte, Tooltips,
die Legende und die dynamischen Diagramm-Texte (Status-Tooltips,
Geister-Knoten, Warnungen, Leer-Hinweis) laufen über ein I18N-Objekt mit
t()/applyLang(); Auswahl wird in localStorage gemerkt, html-lang gesetzt.
Deutsch ist Quell- und Default-Sprache. Der Beispiel-Notationstext bleibt
unverändert (Nutzerdaten). CLAUDE.md-Konvention entsprechend angepasst.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 11:33:09 +02:00
Michael Hoennig ded894a4da initial, vibe-coded version, mostly frontend 2026-07-21 09:55:30 +02:00