# 📜 [ÖTO/FEI Rulebook Expert] — Zwischenstand & Roadmap > **Stand:** 3. April 2026 (Session 2) > **Rolle:** Regelwerks-Wächter, Validierungs-Spezialist, Compliance (ÖTO, FEI) --- ## ✅ Erledigte Sprints ### Sprint A — Abgeschlossen - [x] **A-1** | Validierungs-Spezifikation erstellen (v0.3 DRAFT) - [x] Paragraphen-Pins ergänzt (Springen § 231, Dressur § 103, CCN §§ 3xx) - [x] Einheitliche Label-Konventionen: `ohne Lizenz`, `mit Lizenz`, `R2 und höher`; Keys: `LZF_ONLY`, `R1_PLUS`, `R1_ONLY`, `R2_PLUS` - [x] Optionale Jugend-/Jahrgangsteilungen als Regulation-as-Data modelliert (keine systemweite Pflicht) - [x] Abteilungs-Trennungs-Schwellenwerte dokumentiert → `docs/03_Domain/02_Reference/OETO_Regelwerk/Abteilungs-Trennungs-Schwellenwerte.md` - [x] Warn-Logik-Spezifikation → `docs/03_Domain/02_Reference/OETO_Regelwerk/Warn-Logik-Spezifikation-competition-context.md` - [x] CVN (Voltigieren): § 39 Abs. 2 als Fallback; eigene OEPS-CVN-Regeln gelten - [x] CAN (Fahren): § 39 Abs. 2 als Fallback; § 850 Abs. 9 für F1+ Fahrertreffen - [x] `OetoValidators` (KMP) implementiert; `OetoValidatorsTest.kt` grün ### Sprint B (Teilweise) — Abgeschlossen - [x] **B-1** | Validierungs-Implementierung Frontend begleiten - [x] Spezifikation v0.3 DRAFT an 🎨 Frontend übergeben - [x] Implementierung geprüft: Live-Validierung entspricht Regelwerks-Anforderungen - [x] Fehlermeldungs-Texte auf Korrektheit und Verständlichkeit geprüft - [x] Session-Log → `docs/99_Journal/2026-04-03_Rulebook_B1_Validierung_Frontend.md` --- ## 🟡 Sprint B — Teilweise offen - [ ] **B-2** | Validierungs-Implementierung Backend begleiten - [x] FEI Legacy→Numeric Resolver implementiert (`/api/fei/resolve/{id}`) — erste Version in Masterdata-SCS - [x] Lizenz-/Altersmatrix als Regulation-as-Data an 👷 Backend übergeben - [x] `LizenzKlasseE`-Enum: `R4` ergänzt, `RD4`-Fehler in V008 korrigiert - [x] Flyway V009: `license_height_matrix` + `horse_min_age_matrix` angelegt und befüllt - [x] B-2-Übergabe-Spezifikation → `docs/03_Domain/02_Reference/OETO_Regelwerk/B2-Backend-Uebergabe-Regulation-as-Data.md` - [x] `Validierungsregeln.md`: `LZF` → `LIZENZFREI` korrigiert, Version 0.4, Verweis auf B2-Spec ergänzt - [ ] Serverseitige Validierung prüfen: Werden alle Regeln korrekt durchgesetzt? - [ ] Backend-Endpunkte `/api/regulation/*` implementieren (👷 Backend) - [ ] Abweichungen Backend ↔ Frontend-Validierung dokumentieren und klären - [ ] Lizenz×Bewerb-Tabellen (Springen + Dressur) von DRAFT auf STABLE anheben (nach Fachfreigabe) --- ## 🟠 Sprint C — Priorität 2 (nächste Woche) - [ ] **C-1** | `AltersklasseRechner` implementieren und testen - [ ] Altersklassen-Berechnung für Pferd (Jahrgang → Kategorie) umsetzen - [ ] Grenzfälle: Pferd im Geburtsjahr, Jahreswechsel, Stichtag-Regeln - [ ] Unit-Tests mit `OetoValidatorsTest.kt`-Grenzfällen als Basis - [ ] **C-2** | Regelwerk-Enums vervollständigen - [ ] Alle Lizenzklassen-Übergänge formal prüfen (R1→R2→R3→R4, LZF-Sonderfall) - [ ] FEI-Kategorien-Mapping auf ÖTO-Lizenzklassen vervollständigen - [ ] Enums in KMP-Modul `core:domain` als SSoT festlegen - [ ] **C-3** | Compliance-Dokumentation: Series-Context vorbereiten - [ ] Regelwerk-Grundlagen für Cups/Serien/Meisterschaften recherchieren - [ ] Anforderungen an konfigurierbare Reglements (Phase 2+) dokumentieren --- ## 📌 Abhängigkeiten | 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 | --- ## 💡 Empfehlungen (nach Priorität) 1. **B-2 Backend-Übergabe** — Lizenz-/Altersmatrix als Regulation-as-Data an Backend übergeben; Backend wartet auf diese Spezifikation für A-3 und B-3. 2. **Lizenz×Bewerb DRAFT → STABLE** — Fachfreigabe einholen, damit Backend und Frontend auf stabiler Basis arbeiten können. 3. **C-1 AltersklasseRechner** — Grenzfälle (Jahrgang, Stichtag) sind komplex und müssen vor Backend-Implementierung spezifiziert sein.