meldestelle/docs/04_Agents/Roadmaps/Rulebook_Roadmap.md
Stefan Mogeritsch c696b8c50e feat(db): add regulation-as-data tables for license height and horse age matrices
- 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>
2026-04-03 11:10:45 +02:00

4.3 KiB
Raw Blame History

📜 [Ö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.kt grü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: 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: LZFLIZENZFREI 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.