From 6858c92865a54d89d82190f1ade57c154a763fec Mon Sep 17 00:00:00 2001 From: Kalina Date: Fri, 23 Oct 2026 20:34:10 +0200 Subject: [PATCH] feat(ci): Autor und Impressum verbindlich (Kalina, kalina.si), Vision lokal --- CHANGELOG.md | 13 +++++++++++++ SKILL.md | 34 ++++++++++++++++++++++++++++++++++ css/kalina-ci.css | 8 ++++++++ templates/bild-mit-prompt.html | 2 +- templates/page.html | 2 +- templates/report.html | 11 +++++++---- 6 files changed, 64 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1978220..ccf1e26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ Format: Datum — was — warum. Die CI beginnt versioniert am 2026-10-23; davor sie verstreut (Marke in `brand/`, Dokument-CSS im Open-WebUI-Skill) und wurde nicht versioniert. +## 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`), diff --git a/SKILL.md b/SKILL.md index 551ef5e..3bd839f 100644 --- a/SKILL.md +++ b/SKILL.md @@ -57,6 +57,40 @@ nur berichtet: dichter Bericht mit Tabellen und Zeichnungen erreicht das, reiner Fließtext selten. Seite 1 gilt als Deckblatt und wird berichtet, nicht bewertet (`--kein-deckblatt-bonus` schaltet das ab) — ein Deckblatt ist absichtlich dünn. +## Autor und Impressum (verbindlich) + +**Autor ist immer Kalina** — nicht der ausführende Agent, nicht „KI", nicht Mathias. Grund +(Mathias, 23.10.2026): das Kalina-System ist der durchführende Part. Gilt ausdrücklich auch +für **Entwürfe**. + +- Jedes Dokument endet mit dem **Impressum im Fußband**: Marke, `KALINA · «Dokumenttitel» · Stand …`, + Zeile „Erstellt durch das Kalina-System · «Auftrag/Projekt · Ticket»" und **`© «JJJJ» kalina.si`**. + Die Vorlagen `report.html`, `page.html`, `bild-mit-prompt.html` tragen das bereits — Platzhalter + füllen, nicht löschen. +- **Decks:** Autor auf der Titelfolie, auf der Schlussfolie genügt Marke + `© «JJJJ» kalina.si` + in einer Zeile. +- **HTML:** `` und dieselbe Fußzeile. +- **Commit-Autor:** `Kalina `. +- **Prüfung vor Auslieferung:** `kalina.si` per Textsuche im PDF nachweisen (muss auf der letzten + Seite stehen) und das Fußband als Raster ansehen — Marke sichtbar, Copyright vollständig. + Ein Impressum, das allein auf einer leeren Seite landet, ist ein Umbruchfehler: kompakt ins + Fußband, nicht als eigener Abschnitt mit `break-inside: avoid`. + +## Vision lokal (verbindlich) + +Bildprüfung läuft **lokal auf dem ROG**, nie in der Cloud — gleiches Ergebnis, keine Token-Kosten +(Mathias, 23.10.2026). + +- Modelle am Router `http://192.168.188.187:8100/v1`: `rog-vision` (Gemma4-12B, multimodal), + `rog-agent` (Qwen2.5-VL-7B), `rog-ocr` (GLM-OCR für Text im Bild). +- Hermes: `auxiliary.vision.model=rog-vision`, `provider=kalinarouter-auto`. Prüfen mit + `hermes config get auxiliary.vision`; ändern mit `hermes config set`, nicht per Datei-Edit. +- **Nicht `auto` für Bilder**, solange `ollama-cloud` im Auto-Pfad vision-fähig ist — ein belegtes + ROG kann sonst still in die Cloud ausweichen. +- **Stichprobe statt Bilderlawine:** drei Seiten visuell, den Rest geometrisch (Pixel-Hash, + `getBoundingClientRect`, PyMuPDF-Rects). Gemessen: 43 Einzelaufrufe für ein 13-Seiten-PDF + kosteten 10 von 30 erlaubten Run-Minuten. + ## Regeln, die aus Fehlern entstanden sind - **Marke ja, Wortmarke vorsichtig.** Die Marke (Kreis + K + Beeren) ist schriftfrei diff --git a/css/kalina-ci.css b/css/kalina-ci.css index 1159a3f..7f84e81 100644 --- a/css/kalina-ci.css +++ b/css/kalina-ci.css @@ -174,8 +174,16 @@ td.zahl, th.zahl { text-align: right; font-variant-numeric: tabular-nums; } } .fuss img, .fuss svg { height: 26px; width: 26px; } +/* ---------- Impressum im Fußband (Pflicht am Dokumentende, Autor Kalina) ---------- */ +.fuss.impressum { align-items: center; } +.fuss-mitte { flex: 1; line-height: 1.35; } +.fuss-titel { font-weight: 600; color: var(--steel); } +.fuss-titel .i { color: var(--rot); } +.fuss-klein { font-size: 7.6pt; } + /* ---------- Umbruchkontrolle (nur Druck) ---------- */ @media print { + .fuss { break-inside: avoid; } h1, h2, h3 { break-after: avoid; } .abschnitt, .plakette, .hinweis { break-inside: avoid; } table { break-inside: auto; } diff --git a/templates/bild-mit-prompt.html b/templates/bild-mit-prompt.html index 086171c..69f4df1 100644 --- a/templates/bild-mit-prompt.html +++ b/templates/bild-mit-prompt.html @@ -89,7 +89,7 @@ KALINA · «Dokumenttitel» · Stand «TT.MM.JJJJ» - ai.m-m.bio + © «JJJJ» kalina.si diff --git a/templates/page.html b/templates/page.html index a583ab6..d9b97b1 100644 --- a/templates/page.html +++ b/templates/page.html @@ -90,7 +90,7 @@
KALINA · «Seitentitel» - Stand «TT.MM.JJJJ» · ai.m-m.bio + Stand «TT.MM.JJJJ» · © «JJJJ» kalina.si
diff --git a/templates/report.html b/templates/report.html index 5569ac1..7f1a6b3 100644 --- a/templates/report.html +++ b/templates/report.html @@ -82,8 +82,8 @@ das i der Wortmarke ist die Beere. «Nur einsetzen, wenn das Dokument die Marke erklären soll.»

- -