feat: integrate new desktop shell and extend backend & ADRs

- 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>
This commit is contained in:
2026-03-24 18:22:15 +01:00
parent c624df8744
commit 354bd49de6
75 changed files with 7616 additions and 48 deletions
@@ -0,0 +1,251 @@
---
type: Reference
status: ACTIVE
owner: ÖTO/FEI Rulebook Expert
last_update: 2026-03-24
sources:
- ÖTO 2026, A-Teil § 39 (Teilen von Bewerben)
- ÖTO 2026, B-Teil § 200 ff. (Springen / CSN)
- ÖTO 2026, B-Teil § 100 ff. (Dressur / CDN)
- ÖTO 2026, B-Teil § 300 ff. (Vielseitigkeit / CCN)
- ÖTO 2026, B-Teil § 803 (Caprilli)
- ÖTO 2026, B-Teil § 850 ff. (Reitertreffen / Fahren)
---
# Abteilungs-Trennungs-Schwellenwerte
📜 **[ÖTO/FEI Rulebook Expert]** | 24. März 2026
Dieses Dokument ist die **Single Source of Truth** für alle Regeln zur Pflicht- und Kann-Teilung
von Bewerben in Abteilungen. Es ergänzt die [Ubiquitous Language](../../01_Glossary/Ubiquitous_Language.md)
und dient als Grundlage für die Implementierung der Warn-Logik im `competition-context`.
> ⚠️ **System-Philosophie:** Das System gibt bei Überschreitung eines Schwellenwerts **niemals**
> einen harten Fehler, sondern immer nur eine **WARNUNG**. Der TBA hat das letzte Wort und kann
> per **Override-Event** bewusst abweichen (→ Ubiquitous Language: *Override-Event*).
---
## 1. Allgemeine Schwellenwerte (§ 39 A-Teil) Alle Sparten
Diese Regeln gelten für **alle Turniere der Kategorien A\*, A, B\*, B und C** und für alle Sparten,
sofern die spartenspezifischen Bestimmungen (Abschnitt 2) keine strengeren Regeln vorsehen.
### 1.1 Pflicht-Teilung (MUSS)
| Prüfungstyp | Schwellenwert (Starter) | Abteilungs-Kriterium (Standard) | ÖTO-Referenz |
|------------------------------------------------|-------------------------|---------------------------------|--------------|
| Stil- und Springpferdeprüfungen | **> 30** | Lizenzstufen (sonst: Plätze) | § 39 Abs. 2 |
| Vielseitigkeitsprüfungen | **> 40** | Lizenzstufen (sonst: Plätze) | § 39 Abs. 2 |
| Übrige Springprüfungen (Standard, Spezial ...) | **> 80** | Lizenzstufen (sonst: Plätze) | § 39 Abs. 2 |
| Jede Abteilung nach Teilung | **> 80** | Erneute Teilung verpflichtend | § 39 Abs. 2 |
> **Hinweis:** „Übrige Springprüfungen" umfasst alle Springprüfungen, die **nicht** als Stil- oder
> Springpferdeprüfung ausgeschrieben sind (Standardspringprüfung, Zweiphasen, Punkte, Risiko etc.).
### 1.2 Kann-Teilung (KANN / DARF)
| Prüfungstyp | Schwellenwert (Starter) | Abteilungs-Kriterium (Standard) | ÖTO-Referenz |
|------------------|-------------------------|---------------------------------|--------------|
| Dressurprüfungen | **> 30** | Lizenzstufen (sonst: Plätze) | § 39 Abs. 2 |
### 1.3 Teilungs-Kriterien (Priorität)
Sofern in der Ausschreibung kein anderes Kriterium festgelegt ist, gilt folgende Priorität:
1. **Ausschreibungs-Kriterium** (Altersklasse, Pferdealter, Geschlecht etc.) hat Vorrang
2. **Lizenzstufen** (Standard-Fallback)
3. **Plätze** (wenn Teilung nach Lizenzstufen nicht möglich)
### 1.4 Ausnahmen von der Pflicht-Teilung
| Ausnahme | ÖTO-Referenz |
|---------------------------------------------------------------------|--------------|
| Meisterschaftsbewerbe (Cups und Serien) | § 39 Abs. 4 |
| Bewerbe mit Geldpreisen > Doppeltes der Gebührenordnungs-Geldpreise | § 39 Abs. 2 |
### 1.5 Pflicht-Teilung nach Klasse (unabhängig von Starterzahl)
Diese Teilungen sind **strukturell verpflichtend** und gelten unabhängig von der Starterzahl:
| Prüfungstyp | Pflicht-Teilung | ÖTO-Referenz |
|------------------------------------------------------|-------------------------------------------------------|--------------|
| Dressur- und Springprüfungen Klassen **A und L** | Mindestens 2 Abteilungen; R1 in **eigener** Abteilung | § 39 Abs. 1 |
| Lizenzprüfungsaufgaben | Getrennt nach R2/RD2 und R3/RD3 | § 39 Abs. 1 |
| LM-Springen bei B- und C-Turnieren | Kann getrennt werden: R2/RS2 und R3/RS3/RS4 | § 39 Abs. 1 |
| Pferdeprüfungen (Dressur- und Springpferdeprüfungen) | Teilung nach **Pferdealter** (nicht nach Lizenzen) | § 39 Abs. 1 |
---
## 2. Spartenspezifische Schwellenwerte
### 2.1 Springen (CSN) Sparte B II
#### 2.1.1 Stil- und Idealzeitspringprüfungen bis 95 cm (alle CSN-Kategorien)
Pflicht-Teilung in **getrennte Abteilungen** nach Lizenzstatus unabhängig von der Starterzahl:
| Abteilung | Teilnehmerkreis |
|-----------|--------------------------|
| Abt. 1 | Reiter **ohne Lizenz** |
| Abt. 2 | Reiter mit Lizenz **R1** |
> **Referenz:** ÖTO B-Teil § 200 Abs. 5.3
#### 2.1.2 Springpferdeprüfungen Pflicht-Teilung nach Pferdealter
| Höhe | Erlaubtes Pferdealter | Pflicht-Teilung | ÖTO-Referenz |
|--------------|-----------------------|------------------------------------------|---------------------|
| 95 110 cm | 4 6 jährig | **Ja:** 4-jährige / 56-jährige getrennt | B-Teil § 200 Abs. 6 |
| 115 130 cm | 5 6 jährig | Nein (keine Teilung erforderlich) | B-Teil § 200 Abs. 6 |
| 135 cm | 6 7 jährig | Nein (keine Teilung erforderlich) | B-Teil § 200 Abs. 6 |
#### 2.1.3 CSN-C-NEU Zwingend 2 Abteilungen (strukturell, unabhängig von Starterzahl)
| Höhenbereich | Abt. 1 | Abt. 2 | ÖTO-Referenz |
|--------------|-----------------|------------------|--------------|
| bis 95 cm | **ohne Lizenz** | **mit Lizenz** | B-Teil § 231 |
| ab 100 cm | **R1** | **R2 und höher** | B-Teil § 231 |
---
### 2.2 Dressur (CDN) Sparte B I
#### 2.2.1 Allgemeine Schwellenwerte
Für Dressurprüfungen gilt die **Kann-Teilung** aus § 39 Abs. 2 (> 30 Starter).
Es gibt **keine Pflicht-Teilung** allein aufgrund der Starterzahl bei Dressur
(außer den strukturellen Pflichten aus § 39 Abs. 1 für Klassen A/L).
#### 2.2.2 Dressurpferdeprüfungen Pflicht-Teilung nach Pferdealter
| Klasse | Erlaubtes Pferdealter | Pflicht-Teilung | ÖTO-Referenz |
|--------|-----------------------|------------------------------------------|---------------------|
| A | 4 6 jährig | **Ja:** 4-jährige / 56-jährige getrennt | B-Teil § 100 Abs. 5 |
| L | 5 6 jährig | Nein (keine Teilung erforderlich) | B-Teil § 100 Abs. 5 |
| M | 6 7 jährig | Nein (keine Teilung erforderlich) | B-Teil § 100 Abs. 5 |
| S | 7 8 jährig | Nein (keine Teilung erforderlich) | B-Teil § 100 Abs. 5 |
---
### 2.3 Vielseitigkeit (CCN) Sparte B III
#### 2.3.1 Allgemeine Schwellenwerte
Für Vielseitigkeitsprüfungen gilt die **Pflicht-Teilung** aus § 39 Abs. 2 (> 40 Starter).
#### 2.3.2 Klasse Welcome und 80 cm Lizenz-Abteilung
| Klasse | Regel | ÖTO-Referenz |
|---------|---------------------------------------------------------------------------------------------|-----------------------|
| Welcome | Nur Reiter mit Reiterpass und **höchstens R1**. R2+ sind in **eigener Abteilung** zu werten | B-Teil § 301 Abs. 1.4 |
| 80 cm | R2+ startberechtigt, aber in **eigener Abteilung** zu werten, erhalten keine Ehrenpreise | B-Teil § 301 Abs. 1.4 |
#### 2.3.3 CCN-C-NEU Geländeritte/Geländepferdeprüfungen Zwingend nach Lizenz
| Höhenbereich | Abt. 1 | Abt. 2 | Abt. 3 | ÖTO-Referenz |
|--------------|-----------------|------------------|------------------|----------------------|
| bis 80 cm | **ohne Lizenz** | **R1-Reiter** | **R2 und höher** | B-Teil § 300 (C-NEU) |
| ab 90 cm | **ohne Lizenz** | **R1 und höher** | | B-Teil § 300 (C-NEU) |
---
### 2.4 Caprilli-Prüfungen (§ 803) Alle Sparten
Pflicht-Teilung in **mindestens 2 Abteilungen** unabhängig von der Starterzahl:
| Abteilung | Teilnehmerkreis |
|-----------|-----------------------|
| Abt. 1 | **lizenzfrei** |
| Abt. 2 | **RD1, R1 und höher** |
> **Referenz:** ÖTO B-Teil § 803 Abs. 2
---
### 2.5 Fahren (CAN) Reitertreffen
Bei Fahrertreffen (§ 850 ff.) gilt:
| Regel | ÖTO-Referenz |
|-------------------------------------------------------------------------------------|---------------------|
| Fahrer mit Lizenz **höher als F1** werden in einer **separaten Abteilung** gewertet | B-Teil § 850 Abs. 9 |
---
## 3. Zusammenfassung: Schwellenwert-Matrix
| Sparte | Prüfungstyp | Schwellenwert | Typ | Kriterium |
|--------|-------------------------------|---------------|------|-----------------------|
| Alle | Stil- / Springpferdeprüfungen | > 30 Starter | MUSS | Lizenz / Plätze |
| Alle | Vielseitigkeitsprüfungen | > 40 Starter | MUSS | Lizenz / Plätze |
| Alle | Übrige Springprüfungen | > 80 Starter | MUSS | Lizenz / Plätze |
| Alle | Jede Abteilung nach Teilung | > 80 Starter | MUSS | Erneute Teilung |
| CDN | Dressurprüfungen | > 30 Starter | KANN | Lizenz / Plätze |
| CDN | Dressurpferdeprüfung Klasse A | strukturell | MUSS | Pferdealter (4 / 56) |
| CSN | Stil-/Idealzeit bis 95 cm | strukturell | MUSS | Lizenz (ohne / R1) |
| CSN | Springpferdeprüfung 95110 cm | strukturell | MUSS | Pferdealter (4 / 56) |
| CSN | C-NEU bis 95 cm | strukturell | MUSS | Lizenz (ohne / mit) |
| CSN | C-NEU ab 100 cm | strukturell | MUSS | Lizenz (R1 / R2+) |
| CCN | C-NEU Gelände bis 80 cm | strukturell | MUSS | Lizenz (3 Abt.) |
| CCN | C-NEU Gelände ab 90 cm | strukturell | MUSS | Lizenz (2 Abt.) |
| CCN | Welcome / 80 cm | strukturell | MUSS | R2+ eigene Abt. |
| Alle | Caprilli (§ 803) | strukturell | MUSS | Lizenz (frei / RD1+) |
| CAN | Fahrertreffen | strukturell | MUSS | F1+ eigene Abt. |
---
## 4. Implementierungs-Hinweise für den `competition-context`
### 4.1 Warn-Logik (keine harten Fehler!)
Das System soll folgende **Warnungen** ausgeben (nie harte Fehler):
```
WARN_ABTEILUNG_PFLICHT_TEILUNG_UEBERSCHRITTEN
→ Bewerb [BW-Nr], Prüfungstyp [Typ], Starter: [N] > Schwellenwert [S]
→ Empfehlung: Teilung in Abteilungen nach [Kriterium]
→ Override möglich (TBA-Entscheidung erforderlich)
WARN_ABTEILUNG_STRUKTURELL_NICHT_GETRENNT
→ Bewerb [BW-Nr], Sparte [Sparte], Klasse/Höhe [X]
→ Strukturelle Pflicht-Teilung fehlt (z.B. CSN-C-NEU ohne Lizenz-Trennung)
→ Override möglich (TBA-Entscheidung erforderlich)
```
### 4.2 Konfigurierbare Parameter
Die Schwellenwerte sind **nicht hard-coded**, sondern als konfigurierbare Werte zu hinterlegen:
| Parameter | Standardwert | Quelle |
|----------------------------------------|--------------|-------------|
| `threshold.stil_springpferd.pflicht` | 30 | § 39 Abs. 2 |
| `threshold.vielseitigkeit.pflicht` | 40 | § 39 Abs. 2 |
| `threshold.springen_uebrig.pflicht` | 80 | § 39 Abs. 2 |
| `threshold.dressur.kann` | 30 | § 39 Abs. 2 |
| `threshold.abteilung.max_nach_teilung` | 80 | § 39 Abs. 2 |
### 4.3 Beziehung zu Domain-Modellen
| Domain-Modell | Relevanz |
|------------------|---------------------------------------------------------------|
| `DomAbteilung` | Trägt `abteilungsNummer`, `teilnehmerkreis`, `starterAnzahl` |
| `DomBewerb` | Kennt `prüfungsTyp`, `sparte`, `turnierkategorie`, `höhe` |
| `DomNennung` | Referenziert `DomAbteilung` als kleinste Einheit |
| `Override-Event` | Wird gespeichert, wenn TBA eine Warn-Überschreibung bestätigt |
---
## 5. Offene Fragen / Klärungsbedarf
| # | Frage | Status |
|---|-----------------------------------------------------------------------------------------------------------------------|----------|
| 1 | Gelten die Schwellenwerte aus § 39 auch für **Reitertreffen** (nicht nur Turniere)? | 🔍 Offen |
| 2 | Wie verhält sich die Pflicht-Teilung bei **kombinierten Turnieren** (CDN + CSN am selben Wochenende, § 4)? | 🔍 Offen |
| 3 | Gibt es für **Voltigieren (CVN)** eigene Abteilungs-Trennungsregeln? (B-Teil § 400 ff. nicht vollständig ausgewertet) | 🔍 Offen |
| 4 | Gibt es für **Fahren (CAN)** eigene Starter-Schwellenwerte jenseits der Reitertreffen-Regel? | 🔍 Offen |
---
*Erstellt: 2026-03-24 | Autor: ÖTO/FEI Rulebook Expert (Junie)*
*Basiert auf: ÖTO 2026 A-Teil § 39, B-Teil §§ 100, 200, 231, 300, 803, 850*