- Added `meldestelle-desktop` module using JVM/Compose Desktop, registered in `settings.gradle.kts`. - Integrated new screens and desktop navigation into core: `Veranstaltungen`, `TurnierDetail`, etc. - Expanded backend with `ExposedFunktionaerRepository` in `officials-infrastructure`. - Completed ADRs for bounded context mapping (`ADR-0014`) and context map (`ADR-0015`). - Updated and extended project documentation with session logs and architecture decisions. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
3.3 KiB
3.3 KiB
| type | date | agent | status |
|---|---|---|---|
| Session Log | 2026-03-24 | ÖTO/FEI Rulebook Expert | ABGESCHLOSSEN |
Session Log: Warn-Logik-Spezifikation competition-context
🧹 [Curator] | 24. März 2026
Aufgabe
Spezifikation der competition-context Warn-Logik für Abteilungs-Schwellenwerte
(MASTER_ROADMAP Phase 4, ÖTO/FEI Rulebook Expert).
Ergebnis
Neues Dokument erstellt
docs/03_Domain/02_Reference/OETO_Regelwerk/Warn-Logik-Spezifikation-competition-context.md
Verbindliche Implementierungs-Spezifikation für die Warn-Logik im competition-context.
Inhalt der Spezifikation
6 Warn-Codes definiert:
| Warn-Code | Typ |
|---|---|
WARN_PFLICHT_TEILUNG_UEBERSCHRITTEN |
Starter-Schwellenwert überschritten |
WARN_KANN_TEILUNG_EMPFOHLEN |
Kann-Teilung empfohlen (Dressur) |
WARN_ABTEILUNG_ZU_GROSS |
Abteilung nach Teilung > 80 Starter |
WARN_ABTEILUNG_MAX_UEBERSCHRITTEN |
Konfiguriertes Starter-Limit überschritten |
WARN_STRUKTURELLE_TEILUNG_FEHLT |
Strukturelle Pflicht-Teilung nicht vorhanden |
WARN_STRUKTURELLE_TEILUNG_UNVOLLSTAENDIG |
Strukturelle Teilung unvollständig |
3 Warn-Typen mit vollständigem Entscheidungsbaum:
- Starter-Schwellenwerte (
DomBewerb.validateAbteilungsSchwellenwerte) - Abteilungs-Größe nach Teilung (
DomAbteilung.validateStarterLimit) - Strukturelle Pflicht-Teilungen (
DomBewerb.validateStrukturellesTeilung) – NEU
Strukturelle Prüfungen abgedeckt:
- CSN Stil-/Idealzeitspringen ≤ 95 cm: ohne Lizenz vs. R1 (§ 200 Abs. 5.3)
- Springpferdeprüfung 95–110 cm / Dressurpferdeprüfung Kl. A: Pferdealter 4 vs. 5–6 (§ 200 Abs. 6 / § 100 Abs. 5)
- CSN-C-NEU ≤ 95 cm: ohne Lizenz vs. mit Lizenz (§ 231)
- CSN-C-NEU ≥ 100 cm: R1 vs. R2+ (§ 231)
- CCN-C-NEU Gelände ≤ 80 cm: 3 Abteilungen (§ 300)
- CCN-C-NEU Gelände ≥ 90 cm: 2 Abteilungen (§ 300)
- CCN Welcome / 80 cm: R2+ eigene Abteilung (§ 301 Abs. 1.4)
- Caprilli: lizenzfrei vs. RD1+ (§ 803 Abs. 2)
- Fahren/Fahrertreffen: F1+ eigene Abteilung (§ 850 Abs. 9)
Implementierungs-Vorgaben:
- Typisiertes Value Object
AbteilungsWarnung(statt roher Strings) AbteilungsWarnungCodeEEnumAbteilungsWarnungOverrideEventmit Pflicht-BegründungsfeldAbteilungsSchwellenwertConfig(konfigurierbare Schwellenwerte, nicht hard-coded)- Aufruf-Zeitpunkte (Trigger) definiert
Aktualisierte Dokumente
docs/01_Architecture/MASTER_ROADMAP.md– Task als[x]markiert, Referenz ergänzt, Referenz-Tabelle aktualisiert
Offene Fragen (weiterhin offen)
| # | Frage |
|---|---|
| 1 | Gelten § 39-Schwellenwerte auch für Reitertreffen? |
| 2 | Pflicht-Teilung bei kombinierten Turnieren (§ 4)? |
| 3 | Voltigieren (CVN): Eigene Abteilungs-Trennungsregeln? |
| 4 | Fahren (CAN): Eigene Starter-Schwellenwerte? |
| 5 | Abbildung „Geldpreise > Doppeltes Gebührenordnung" im Datenmodell? |
Session: 2026-03-24 | Agent: ÖTO/FEI Rulebook Expert + Curator (Junie)