Files
tessera-ctl/.planning/quick/261008-w5w-modul-changelog-und-modulversionen-nacht/261008-w5w-SUMMARY.md
T
2026-10-08 23:34:07 +02:00

7.7 KiB

phase, plan, subsystem, tags, status, completed, commits, plan_head_before, plan_head_after, actuals, key-files, decisions
phase plan subsystem tags status completed commits plan_head_before plan_head_after actuals key-files decisions
261008-w5w-modul-changelog-und-modulversionen-nacht 01 module-registry, marketplace
changelog
modulversion
marketplace
waechter-test
complete 2026-10-08 3 1d33990 4c14ec895a
tokens tasks commits
60000 3 3
created modified
apps/api/src/module-registry/module-changelog.ts
apps/api/src/module-registry/module-changelog.registry.ts
apps/api/src/module-registry/module-changelog.spec.ts
apps/api/src/*/*.changelog.ts (10 Dateien)
apps/web/src/app/(portal)/marketplace/components/ModuleChangelog.tsx
.planning/quick/261008-w5w-modul-changelog-und-modulversionen-nacht/e2e/e2e-changelog.sh
apps/api/src/*/*.seed.ts (10 Dateien)
apps/api/src/module-registry/module-registry.controller.ts
apps/web/src/app/(portal)/marketplace/[slug]/page.tsx
apps/web/src/app/(portal)/marketplace/[slug]/detail.test.tsx
apps/web/src/messages/de.json
apps/web/src/messages/en.json
docs/anleitung-entwicklung.md
docs/anleitung-betrieb.md
docs/anleitung-anwender.md
CHANGELOG.md
Auslieferung über GET /modules/changelog/:slug aus Code (Map), keine Datenbankspalte, keine Migration
Keine CI-Prüfung Ordner-geändert-ohne-Changelog; stattdessen Wächter-Test plus Prüfbefehl in der Doku

Quick 261008-w5w: Modul-Changelog und Modulversionen nachgetragen

Jedes der zehn Module hat jetzt einen eigenen Changelog als einzige Quelle seiner Versionsnummer; der Marktplatz zeigt ihn auf der Detailseite als Abschnitt „Änderungen“, und ein Wächter-Test erzwingt die Übereinstimmung von Seed-Version und Changelog.

Commits

  • 79210d7 feat: Durchstich mit Nextcloud-Status (Typen, Register, Route, Wächter, Marktplatz-Abschnitt)
  • f2bb5ff feat: Historie der übrigen neun Module, alle Seeds auf latestVersion, Vollständigkeits-Wächter
  • 4c14ec8 docs: drei Anleitungen und CHANGELOG.md

Versionsübersicht je Modul (mit Begründung)

Daten laut CHANGELOG.md-Überschriften der Tessera-Versionen.

  • cert-manager: 1.0.0 (2026-09-15), 1.0.1 (2026-09-22), 1.0.2 (2026-09-28), 1.1.0 (2026-10-02)
    • 1.0.0: im Tag v1.0.0 enthalten. 1.0.1 (v1.3.0): ZIP-Name übersetzt (Geändert) und Bedienhilfen für Tastatur/Bildschirmleser (Behoben), kein Neu, also Patch. 1.0.2 (v1.5.0): Mosaik-Umstellung, Patch. 1.1.0 (v1.9.2): neuer Reiter „Übersicht“ ist Neu, also Minor; Siezen und PFX-Hinweis aus CHANGELOG.md und Commit 90e2157 liegen im selben Eintrag.
  • dkv-fleet: 1.0.0 (2026-09-15), 1.0.1 (2026-09-22), 1.0.2 (2026-09-28), 1.0.3 (2026-10-06), 1.1.0 (2026-10-08)
    • 1.0.1 (v1.3.0): Löschdialog gegen Doppelauslösung gesperrt, Fahrzeugtabelle übersetzt (nur Behoben), Patch. 1.0.2 (v1.5.0): Mosaik. 1.0.3 (v1.10.0): Freigabestufe „Verwalten“ (Geändert, Commit c2ebc8d). Unveröffentlicht: Modulbeschreibung (Geändert) ergäbe nach Regel 1.0.4; wegen der auf der Beta bereits sichtbaren 1.1.0 auf 1.1.0 gesetzt (Sprung von 1.0.3 auf 1.1.0 ist bewusst). Die DKV-Zeile in CHANGELOG.md nannte schon „Modulversion 1.1.0.“, daher keine Textänderung nötig (Wächter/Prüfbefehl bestätigt die Gleichheit).
  • domaincheck: 1.0.0 (2026-09-15), 1.0.1 (2026-09-28)
    • Einzige sichtbare Änderung nach der Erstaufnahme ist die Mosaik-Umstellung (v1.5.0), Patch.
  • domains: 1.0.0 (2026-10-08)
    • Nie freigegeben; Nachbesserungen sind in die fünf Neu-Punkte eingeflossen.
  • handelsware-datev: 1.0.0 (2026-10-06)
    • Erstaufnahme in v1.10.0 (Freigabestufe „Verwalten“ gehört zu 1.0.0).
  • kantine-datev: 1.0.0 (2026-10-06)
    • Erstaufnahme in v1.10.0.
  • nextcloud-files: 1.0.0 (2026-10-08)
    • Nie freigegeben; die Prüf- und Korrekturrunde vom 08.10. ist in vier Neu-Punkte verdichtet.
  • nextcloud-status: 1.0.0 (2026-10-06), 1.1.0 (2026-10-08)
    • 1.1.0 unveröffentlicht: Suchfeld und http-Bildadresse sind Neu, also Minor.
  • proxmox: 1.0.0 (2026-09-25), 1.0.1 (2026-09-28), 1.1.0 (2026-10-06)
    • 1.0.0 = Tessera v1.4.0. 1.0.1 (v1.5.0): Mosaik und Dashboard-Kacheln, Patch. 1.1.0 (v1.10.0): Autostart-Warnung (873d15d) ist Neu, plus „Verwalten“ als Geändert, Minor.
  • tender-radar: 1.0.0 (2026-09-15), 1.0.1 (2026-09-28)
    • Die v1.3.0-Commits am Modul waren reine Lint-/Refactor-/Typ-Arbeiten ohne sichtbare Wirkung, daher keine Version. v1.5.0: Mosaik, Patch.

Letzte Versionen auf dem laufenden Stack (Katalog = neuester Changelog-Eintrag, per E2E bestätigt): cert-manager 1.1.0, dkv-fleet 1.1.0, domaincheck 1.0.1, domains 1.0.0, handelsware-datev 1.0.0, kantine-datev 1.0.0, nextcloud-files 1.0.0, nextcloud-status 1.1.0, proxmox 1.1.0, tender-radar 1.0.1.

Tests

  • API: pnpm --filter @tessera/api test 152 Dateien, 3036 Tests grün; tsc --noEmit sauber. Wächter module-changelog.spec.ts (75 Fälle: Format, Seed-Version, Vollständigkeit, keine Waisen, Prototyp-Schlüssel, Ersatzschreibungen, Mandanten-/Lizenzbegriffe, dkv >= 1.1.0, domains/nextcloud-files 1.0.0 vom 2026-10-08).
  • Web: pnpm --filter @tessera/web test 144 Dateien, 1653 Tests grün (inklusive neuer Detailseiten-Fälle und umlaut-guard); tsc --noEmit sauber.
  • E2E e2e/e2e-changelog.sh (Stack neu gebaut): 401 ohne Anmeldung, [] für does-not-exist/__proto__/constructor/toString, für alle zehn Katalog-Module Katalog-Version = neuester Changelog-Eintrag: „e2e-changelog ok“.

Browserprüfung

Sieben Bildschirmfotos in .playwright-mcp/module-changelog/ (git-ignoriert): t3-dark-marketplace, t3-dark-nextcloud-status, t3-dark-nextcloud-status-open, t3-dark-tender-radar, t3-dark-domains, t3-light-nextcloud-status, t3-dark-en. Beurteilt: Abschnitt „Änderungen“ in Dunkel und Hell, „Aktuell“-Abzeichen, ältere Version zugeklappt und aufgeklappt, domains ohne aufklappbare Version, Englisch („Changes“, englische Einträge, Datum „October 8, 2026“). Keine Auffälligkeiten bei Abständen, Kontrast oder abgeschnittenen Texten.

Deviations from Plan

1. [Rule 3 - Blocking] Browserprüfung per Playwright-Bibliothek statt Playwright-MCP-Werkzeug

  • Der Ausführende hat die MCP-Browserwerkzeuge nicht zur Verfügung. Stattdessen lief ein Node-Skript mit playwright-core aus dem npx-Cache und /bin/chromium gegen http://localhost:3000 (angemeldet als admin; Dunkel/Hell per localStorage-Schlüssel theme des next-themes statt Klick auf den Theme-Knopf; Englisch per Cookie NEXT_LOCALE=en). Das Skript liegt nur im Scratchpad, nicht im Repo. Gemessen wurde nur am gerenderten Inhalt, keine fetch-Messungen aus der Seite.

2. [Hinweis, keine Abweichung im Ergebnis] Marktplatz-Kacheln zeigen keine Version

  • Der Plan sprach von „Versionen der Kacheln“ in der Übersicht; die Kacheln zeigen aber keine Versionsnummer (nur die Detailseite). Abgeglichen wurde daher die Katalog-Version (E2E) und die Versionszeile der Detailseite.

3. Reihenfolge Test/Umsetzung in Aufgabe 1

  • Typen, Register und Route wurden vor dem Spec geschrieben; der Spec wurde danach vervollständigt. Ergebnis ist identisch, aber kein echter Rot-Lauf vorab.

4. CHANGELOG.md-DKV-Zeile unverändert

  • Sie nennt bereits „Modulversion 1.1.0.“, entspricht dem neuesten dkv-Eintrag, kein Eingriff nötig.

Sonst: Plan wie geschrieben ausgeführt. Arbeit direkt auf main (laut Auftrag), nichts gepusht.

Known Stubs

Keine.

Threat Flags

Keine neuen. T-261008-w5w-02 (Map-Zugriff), -03 (nur Textknoten, Antwort wird geprüft) und -04 (statisches Segment, E2E: 401 statt 404) sind umgesetzt und per Test/E2E belegt.

Self-Check: PASSED

Alle Dateien vorhanden (zehn *.changelog.ts, Register, Spec, Komponente, E2E-Skript, sieben PNG), Commits 79210d7, f2bb5ff, 4c14ec8 sind Vorfahren von HEAD.