# 📜 [Ö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.