- Introduced `license_height_matrix` for mapping minimum license requirements to jump heights (ÖTO § 231). - Added `horse_min_age_matrix` for defining minimum horse ages by discipline, height, or level (ÖTO § 103, FEI GR Art. 136). - Populated both tables with ÖTO 2026 and FEI-compliant seed data. - Updated Flyway V008 to remove incorrect `RD4` entry and annotated corrected enum references. - Created Flyway V009 for introducing the new tables and their seeds. - Aligned documentation, validation rules, and roadmaps for backend implementation handover. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
4.3 KiB
4.3 KiB
📜 [Ö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
- A-1 | Validierungs-Spezifikation erstellen (v0.3 DRAFT)
- Paragraphen-Pins ergänzt (Springen § 231, Dressur § 103, CCN §§ 3xx)
- Einheitliche Label-Konventionen:
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 (keine systemweite Pflicht)
- Abteilungs-Trennungs-Schwellenwerte dokumentiert →
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 - CVN (Voltigieren): § 39 Abs. 2 als Fallback; eigene OEPS-CVN-Regeln gelten
- CAN (Fahren): § 39 Abs. 2 als Fallback; § 850 Abs. 9 für F1+ Fahrertreffen
OetoValidators(KMP) implementiert;OetoValidatorsTest.ktgrün
Sprint B (Teilweise) — Abgeschlossen
- B-1 | Validierungs-Implementierung Frontend begleiten
- Spezifikation v0.3 DRAFT an 🎨 Frontend übergeben
- Implementierung geprüft: Live-Validierung entspricht Regelwerks-Anforderungen
- Fehlermeldungs-Texte auf Korrektheit und Verständlichkeit geprüft
- Session-Log →
docs/99_Journal/2026-04-03_Rulebook_B1_Validierung_Frontend.md
🟡 Sprint B — Teilweise offen
- B-2 | Validierungs-Implementierung Backend begleiten
- FEI Legacy→Numeric Resolver implementiert (
/api/fei/resolve/{id}) — erste Version in Masterdata-SCS - Lizenz-/Altersmatrix als Regulation-as-Data an 👷 Backend übergeben
LizenzKlasseE-Enum:R4ergänzt,RD4-Fehler in V008 korrigiert- Flyway V009:
license_height_matrix+horse_min_age_matrixangelegt und befüllt - B-2-Übergabe-Spezifikation →
docs/03_Domain/02_Reference/OETO_Regelwerk/B2-Backend-Uebergabe-Regulation-as-Data.md Validierungsregeln.md:LZF→LIZENZFREIkorrigiert, 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)
- FEI Legacy→Numeric Resolver implementiert (
🟠 Sprint C — Priorität 2 (nächste Woche)
-
C-1 |
AltersklasseRechnerimplementieren 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:domainals 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)
- 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.
- Lizenz×Bewerb DRAFT → STABLE — Fachfreigabe einholen, damit Backend und Frontend auf stabiler Basis arbeiten können.
- C-1 AltersklasseRechner — Grenzfälle (Jahrgang, Stichtag) sind komplex und müssen vor Backend-Implementierung spezifiziert sein.