# Changelog Format: Datum — was — warum. Die CI beginnt versioniert am 2026-10-23; davor existierte sie verstreut (Marke in `brand/`, Dokument-CSS im Open-WebUI-Skill) und wurde nicht versioniert. ## 1.3.0 — 2026-11-02 - **Die CI reicht bis in die Shell.** `shell/prompt.zsh` rendert einen zweizeiligen Prompt (`┌─ kalina ~/kalina-ci · main ✚1 ✎2 · 4.2s` / `└─ ❯`) aus denselben Werten wie `themes/kalina-ci-dark.json`: Tinte `#0B0F14`, Knochenweiß `#F5F5EF`, Markenrot `#C1121F` nur als Grafik, Text-Rot `#E0454F` (4,70:1), Salbei `#7FA88C` nur an Git. Ausgerollt auf vier Maschinen (Arbeitsplatz, Laptop, iMac, Gast-VM); die Pixelprobe zeigt auf jeder `#0B0F14`. - **Die Startseite traegt Vorschaubild und Marke.** `assets/vorschau.png` (1200 × 630) zeigt Deckblatt, Prompt und Token in einem Bild; `assets/vorschau-shell.png` steht im Shell-Abschnitt, `assets/logo-platte.png` ist die Marke auf Knochenweiss (lesbar auf hellem wie dunklem Gitea). - **`shell/install.sh` richtet weitere Maschinen ohne meinen Zugriff ein.** Idempotent, sichert jede Datei nach `.vor-kalina-ci-`, erkennt foot, qterminal, xfce4-terminal und xterm und prüft anschließend mit `zsh -n`, `foot --check-config` und `xrdb`-Query. Aufruf per `curl … | bash` funktioniert: fehlt `prompt.zsh` neben dem Skript, holt es das Modul über die Raw-Adresse des Repos (`KALINA_CI_RAW` überschreibt sie). - **Vier Erkenntnisse, die das Ausrollen gekostet hat:** p10k lässt sich nicht umfärben, nur ablösen (der dreizeilige Instant-Prompt hinterlässt beim Auskommentieren ein `fi`, danach startet keine Shell mehr); `${PWD/#$HOME/~}` ersetzt in zsh 5.9 nichts; `COLORTERM` wird per SSH nicht übertragen, remote bleibt es beim 256-Farben-Ersatz; wer die Login-Shell auf zsh umstellt, braucht `no_nomatch` in `~/.zshenv`, sonst brechen `ssh host '…'`-Aufrufe an leeren Globs ab, wo bash weitermachte. - **Terminal-Paletten sind nicht ratbar, sie sind messbar.** qterminal liest sein Schema nur aus `XDG_DATA_DIRS` (nicht aus `~/.local/share/qterminal`), xfce4-terminal ignoriert `terminalrc`, solange `xfconf` `/color-use-theme=true` hält, und foot 1.28 will `[colors-dark]` mit `cursor= ` statt `[colors]` mit `cursor-text`. ## 1.2.0 — 2026-10-23 - **Jede Seite wird durchgestempelt, keine eigene Impressumsseite** (Mathias: „Alle durchstempeln – es benötigt keine eigene Seite"). Gilt auch für den Bestand: zehn Gästehaus-PDFs und der Router-Bericht tragen jetzt `KALINA · © 2026 kalina.si` auf jeder Seite. - **`scripts/stamp_existing_pdf.py` gestempelt-tauglich:** Das Fußband wird vorher in der gemessenen Seitenfarbe gefüllt, sonst steht auf Ink-Seiten ein weißer Balken über dem alten Fuß; Copyright-Vermerk ist `© kalina.si` statt `ai.m-m.bio` (Jahr zur Laufzeit). - **Bestehende PDFs nicht aus HTML neu bauen.** WeasyPrint 69 lokal gegen 62.3 bei den Originalen plus eigene CSS-Kopien je Dokumentordner: derselbe Quelltext verlor 155 Wörter und verlagerte Tabellen (`buchungsportale-…-v1.pdf`, Seite 5: 157 → 55 Wörter). Stempeln erhält das Layout; `--ohne-deckblatt` hält die Seitenzahl. - **Agentennamen raus aus dem Verfasserfeld:** sieben Dokumente nannten „Seitenweise", „Textmarke" oder „Webstuhl" als Verfasser. Jetzt `Kalina`; die Zuordnung bleibt im Ticket. - **`nc-put.py --overwrite`** (nutzt `nc_webdav_write_file` über MCP) für das Ersetzen in Nextcloud — ohne `--overwrite` schlägt es fail-closed fehl. Danach die Dateigröße vergleichen. ## 1.1.0 — 2026-10-23 - **Autor und Impressum verbindlich:** Jedes Dokument nennt **Kalina** als Urheber (auch Entwürfe), das Fußband trägt `Erstellt durch das Kalina-System · Auftrag/Ticket` und `© kalina.si`. Die drei Vorlagen sind entsprechend umgestellt (`ai.m-m.bio` → `© kalina.si`). Grund: das Kalina-System ist der durchführende Part, also zeichnet es (Mathias, 23.10.2026). - **Impressum ins Fußband statt als eigener Abschnitt.** Ein Impressum-Block mit `break-inside: avoid` landete allein auf einer Folgeseite (gemessen: 2,1 % Füllgrad, `check` Exit 1). Das Fußband bleibt jetzt zusammen (`break-inside: avoid` in `@media print`). - **Vision lokal dokumentiert:** `rog-vision` / `rog-agent` / `rog-ocr` am Router, explizites Modell statt `auto`, Stichprobe statt Einzelprüfung jeder Seite. Grund: Cloud-Vision kostet Token bei gleichem Ergebnis. ## 1.0.0 — 2026-10-23 - **Konsolidiert:** Marke, Wortmarke, Favicon-Satz, Satzvorlage (`kalina-ci.css`), drei Dokumentvorlagen und das Stempel-Skript aus den bisherigen Ablageorten in **ein** Repository zusammengeführt. Grund: die CI lag an zwei Orten (Markendoku und Open-WebUI-Skill), Agenten kannten nur den, den sie zufällig fanden. - **Neu `tools/kalina-pdf`** mit `build`, `stamp`, `check`, `tokens`. Grund: die Reihenfolge (Layout per weasyprint, Marke danach stempeln) war Erfahrungswissen und wurde je Projekt neu entschieden; `check` ersetzt das „sieht wohl gut aus" durch Seitenzahl und Füllgrad je Seite. - **Neu `tokens.json`** — Farben, Schriften, Geometrie, Zonen maschinenlesbar, damit Werkzeuge die CI lesen können, statt sie abzuschreiben. - **Neu `docs/aenderungen.md`** — Änderungen laufen über Issue, Branch, PR. Grund: eine Vorlage, die jeder lokal „schnell anders" macht, ist nach zwei Wochen keine Vorlage. - **Regeln aus Fehlern** in `SKILL.md` übernommen (Wortmarke nur in DejaVu Sans, `s >= 0.24`, Bone auf Bone unsichtbar, `break-inside` nur für kurze Abschnitte, Füllgrad ohne Kopf-/Fußzone messen).