docs: log session outcomes and apply enhancements across multiple components
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled

- **Docker Fixes:** Resolved failed builds for Gateway and Ping services by switching to `eclipse-temurin:21-jdk-alpine`, correcting Gradle configurations, and fixing cache mount paths.
- **ZNS-Import Consul Registration:** Enabled Consul service discovery by updating `application.yaml` and `build.gradle.kts`.
- **pgAdmin Provisioning:** Preconfigured the database server in `servers.json` and updated `dc-ops.yaml` for seamless setup.
- **Postman Documentation:** Added a detailed Postman test guide covering environment setup, endpoint groups, and recommended test sequences.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-03 14:24:42 +02:00
parent ed3d327c82
commit b9ec070993
16 changed files with 1685 additions and 22 deletions
@@ -0,0 +1,68 @@
# 📜 [ÖTO/FEI Rulebook Expert] — Zwischenbericht zur Besprechung vom 3. April 2026
> **Datum:** 3. April 2026, ca. 13:00 Uhr
> **Rolle:** Regelwerks-Wächter, Validierungs-Spezialist, Compliance (ÖTO, FEI)
---
## ✅ Was wurde erreicht?
### Sprint A — vollständig abgeschlossen
- **Validierungs-Spezifikation v0.3 DRAFT (A-1):** Paragraphen-Pins ergänzt (Springen § 231, Dressur § 103, CCN §§ 3xx).
Einheitliche Label-Konventionen definiert (`ohne Lizenz`, `mit Lizenz`, `R2 und höher`; Keys: `LZF_ONLY`, `R1_PLUS`,
`R1_ONLY`, `R2_PLUS`). Optionale Jugend-/Jahrgangsteilungen als Regulation-as-Data modelliert. CVN (Voltigieren) und
CAN (Fahren) als Fallback-Regelung dokumentiert.
- **Abteilungs-Schwellenwerte:** Dokument abgelegt in
`docs/03_Domain/02_Reference/OETO_Regelwerk/Abteilungs-Trennungs-Schwellenwerte.md`.
- **Warn-Logik-Spezifikation:**
`docs/03_Domain/02_Reference/OETO_Regelwerk/Warn-Logik-Spezifikation-competition-context.md` abgelegt.
- **`OetoValidators` (KMP) implementiert:** `OetoValidatorsTest.kt` ist grün.
### Sprint B (teilweise) — Frontend-Begleitung abgeschlossen
- **B-1 Frontend-Validierung begleitet:** Spezifikation v0.3 DRAFT an 🎨 Frontend übergeben. Implementierung geprüft —
Live-Validierung entspricht den Anforderungen. Fehlermeldungs-Texte geprüft. Session-Log dokumentiert.
- **B-2 Regulation-as-Data an Backend übergeben:**
- `LizenzKlasseE`-Enum mit `R4` ergänzt, `RD4`-Fehler in V008 korrigiert.
- Flyway V009: `license_height_matrix` + `horse_min_age_matrix` angelegt und befüllt.
- B-2-Übergabe-Spezifikation: `docs/03_Domain/02_Reference/OETO_Regelwerk/B2-Backend-Uebergabe-Regulation-as-Data.md`.
- `Validierungsregeln.md` auf Version 0.4 angehoben (`LZF``LIZENZFREI` korrigiert).
- FEI Legacy→Numeric Resolver in Masterdata-SCS implementiert.
---
## 🔄 Was ist noch offen?
### Sprint B — offen
- **B-2 Rest:** Serverseitige Validierung prüfen. Backend-Endpunkte `/api/regulation/*` noch ausstehend (liegt bei
Backend). Abweichungen Backend ↔ Frontend dokumentieren. Lizenz×Bewerb-Tabellen von DRAFT auf STABLE anheben (
Fachfreigabe erforderlich).
### Sprint C — geplant
- **C-1 `AltersklasseRechner`:** Altersklassen-Berechnung Pferd (Jahrgang → Kategorie), Grenzfälle (Geburtsjahr,
Jahreswechsel, Stichtag), Unit-Tests.
- **C-2 Regelwerk-Enums vervollständigen:** Lizenzklassen-Übergänge, FEI-Kategorien-Mapping, Enums in `core:domain` als
SSoT.
- **C-3 Compliance-Dokumentation:** Series-Context (Cups, Serien, Meisterschaften) vorbereiten.
---
## 🔗 Abhängigkeiten & Auswirkungen
| Meine Aufgabe | Blockiert wen |
|-------------------------|---------------------------------------------------|
| B-2 Spec an Backend ✅ | 👷 Backend: A-3 Sonderregeln, B-3 ÖTO-Validierung |
| B-1 Spec an Frontend ✅ | 🎨 Frontend: B-3 Live-Validierung |
| C-1 AltersklasseRechner | 🧐 QA: C-3 Validierungs-Tests |
---
## 💬 Botschaft an die Runde
Die fachliche Grundlage für Validierung steht: `OetoValidators` ist implementiert, die Lizenz-/Altersmatrix liegt als
Regulation-as-Data im Backend. Der kritische offene Punkt ist die **Fachfreigabe für Lizenz×Bewerb-Tabellen** (DRAFT →
STABLE) — ohne diese können Backend und Frontend nicht auf stabiler Basis arbeiten. Der **`AltersklasseRechner` (C-1)**
muss vor der Backend-Implementierung spezifiziert sein, da die Grenzfall-Logik komplex ist.