docs: nächste 10 Arbeitskacheln (FLEET-001..006, INV-001..004)
CI / backend-tests (push) Failing after 1m52s
CI / frontend-build (push) Successful in 17s

Fleet-Epic vollständig, Inventory-Epic begonnen (INV-005..007 folgen). Zwei
konkrete Funde beim MABEA-Abgleich: FLEET-003 (Kilometerstand) hat in MABEA
keine Rückwärtslauf-Validierung; INV-004 (Chargenverwaltung) wäre in MABEA
kein Nachzug sondern ein struktureller Umbau (Objektposition führt aktuell
nur eine Charge/Ablaufdatum, nicht mehrere gleichzeitig).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
This commit is contained in:
2026-09-05 15:20:55 +02:00
co-authored by Claude Sonnet 5
parent 862236f6d1
commit c7784f0106
3 changed files with 241 additions and 1 deletions
+136
View File
@@ -0,0 +1,136 @@
# Epic 05 — Fleet
Details zu FLEET-001 … FLEET-006 (vollständig).
---
## FLEET-001 — Fahrzeugtypen
- **Ziel:** Fahrzeugspezifische Typebene oberhalb AssetType.
- **Beschreibung:** Fahrzeugtyp-Stammdaten (z.B. „GW-San", „MTW"), verweist auf AssetType.
- **Benutzerwert:** Vorlage für Fahrzeug-Anlage, ähnliche Fahrzeuge gruppiert.
- **Abhängigkeiten:** ASSET-002
- **Datenmodell:** `fahrzeugtyp` (id, asset_type_id, ...) oder Erweiterungsfelder an
`asset_type`
- **Backend:** CRUD
- **Frontend:** Verwaltung
- **Mobile:** Anzeige
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Stammdatenbereich
- **Rechte:** Materialwart/Administrator
- **Audit:** Änderung geloggt
- **Akzeptanzkriterien:** Fahrzeugtyp anlegen, Verknüpfung zu AssetType.
- **Tests:** CRUD-Test.
- **DoD:** mind. ein Fahrzeugtyp angelegt.
## FLEET-002 — Fahrzeuge (Kennzeichen/Funkrufname)
- **Ziel:** Fahrzeug-Spezialfelder am Asset.
- **Beschreibung:** Kennzeichen, Fahrgestellnummer, Funkrufname als 1:1-Erweiterungstabelle
zu Asset.
- **Benutzerwert:** Fahrzeuge sind die wichtigste Ressourcenklasse im Rettungsdienst — eigene
Kennfelder sind Pflicht.
- **Abhängigkeiten:** ASSET-003, FLEET-001
- **Datenmodell:** `fahrzeugdetails` (asset_id, kennzeichen, fahrgestellnummer,
funkrufname)
- **Backend:** CRUD/Upsert
- **Frontend:** Formular
- **Mobile:** Anzeige
- **QR-Code:** Kennzeichen kann Klartext-Fallback auf dem Label sein
- **Seriennummer/Inventarnummer:** ergänzend, siehe Asset-Kernfelder
- **Akte:** Fahrzeug-spezifischer Stammdatenbereich
- **Rechte:** Materialwart/Administrator
- **Audit:** Änderung geloggt
- **Akzeptanzkriterien:** Felder setzen/anzeigen funktioniert.
- **Tests:** CRUD-Test.
- **DoD:** deckt sich mit MABEA `fahrzeugdetails` (bereits umgesetzt, diente hier als
Vorbild).
## FLEET-003 — Kilometerstand/Betriebsstunden
- **Ziel:** Nutzungsgrad des Fahrzeugs erfassen (Basis für km-/std-abhängige
Wartungsintervalle, MAINT-002).
- **Beschreibung:** Felder + Erfassungsverlauf (nicht nur aktueller Wert, sondern Verlauf
der Meldungen).
- **Benutzerwert:** Grundlage für Wartungsplanung.
- **Abhängigkeiten:** FLEET-002
- **Datenmodell:** `fahrzeugdetails.kilometerstand`/`betriebsstunden` (aktuell) +
optional `km_stand_historie`
- **Backend:** Update-Endpoint mit Plausibilitätsprüfung
- **Frontend:** Eingabefeld bei Kontrolle/Rückkehr
- **Mobile:** Eingabe im Feld (nach Fahrt)
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Stammdatenbereich
- **Rechte:** jeder Fahrzeugnutzer darf melden (breiter als reine Materialwart-Rechte),
Korrektur nur Administrator
- **Audit:** Änderung geloggt
- **Akzeptanzkriterien:** Wert kann nur steigen (Validierung gegen Rückwärtslauf, außer
Admin-Korrektur-Override).
- **Tests:** Validierungstest (Rückwärtslauf abgelehnt, Override funktioniert).
- **DoD:** funktioniert, Validierung greift nachweisbar.
## FLEET-004 — Fahrzeugstatus (5-stufig)
- **Ziel:** Fahrzeug-spezifische Verfeinerung von ASSET-004.
- **Beschreibung:** einsatzbereit/eingeschränkt/nicht einsatzbereit/in Wartung/außer Dienst
— die ersten drei rechnerisch aus der Readiness-Engine (READY-002), die letzten zwei
manuell gesetzt.
- **Benutzerwert:** Differenziertere Aussage als der generische Asset-Status.
- **Abhängigkeiten:** FLEET-002, READY-002
- **Datenmodell:** kein Extra-Feld nötig, wenn ASSET-004 generisch genug +
Readiness-Overlay reicht — sonst eigenes Statusfeld
- **Backend:** Statuswechsel + Readiness-Kopplung
- **Frontend:** Status-Anzeige/-Dropdown
- **Mobile:** Anzeige
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Stammdatenbereich
- **Rechte:** manuelle Zustände (Wartung/außer Dienst) nur Materialwart/Administrator
- **Audit:** Statuswechsel geloggt
- **Akzeptanzkriterien:** 5 Zustände korrekt unterscheidbar, rechnerischer vs. manueller
Anteil klar getrennt.
- **Tests:** Statustest je Zustand.
- **DoD:** deckt sich vollständig mit MABEA (bereits umgesetzt: `ObjektStatus` inkl.
`in_wartung` + Readiness-Berechnung im Dashboard).
## FLEET-005 — Fahrzeug-Dokumente
- **Ziel:** Fahrzeugpapiere/Zulassung digital anhängen.
- **Beschreibung:** Nutzt DOC-001 generisch, hier nur die Fach-Kopplung/Anzeige in der
Fahrzeug-Akte.
- **Benutzerwert:** Zulassungsbescheinigung/Versicherungsnachweis griffbereit.
- **Abhängigkeiten:** FLEET-002, DOC-001
- **Datenmodell:** keins neu (nutzt Dokument-Polymorphie)
- **Backend:** keins zusätzlich
- **Frontend:** Dokumente-Panel in der Fahrzeug-Akte
- **Mobile:** Anzeige
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Dokumentenbereich
- **Rechte:** wie DOC-001
- **Audit:** wie DOC-001
- **Akzeptanzkriterien:** Dokument an Fahrzeug hochladen/anzeigen.
- **Tests:** Integrationstest mit DOC-001.
- **DoD:** entspricht MABEA (DokumentePanel bereits generisch wiederverwendbar,
funktioniert unverändert für Fahrzeuge).
## FLEET-006 — Fahrzeug-Einsatzhistorie (Platzhalter, P3)
- **Ziel:** Welche Einsätze ein Fahrzeug gefahren ist.
- **Beschreibung:** Platzhalter-Kachel — echte Umsetzung hängt vom noch nicht entworfenen
Operations-Epic ab.
- **Benutzerwert:** Nutzungsnachweis/Auslastungsstatistik.
- **Abhängigkeiten:** FLEET-002, OPS-002
- **Datenmodell / Backend / Frontend / Mobile / QR / SN / Inv / Akte / Rechte / Audit:**
TBD — nicht sinnvoll spezifizierbar vor OPS-001/002.
- **Akzeptanzkriterien:** TBD.
- **Tests:** TBD.
- **DoD:** **DECISION REQUIRED:** diese Kachel bleibt bewusst Platzhalter, erst bei
tatsächlichem Angehen des Operations-Epics neu aufsetzen statt jetzt blind zu spezifizieren.
---
**MABEA-Ist-Stand-Abgleich:** FLEET-001…005 sind praktisch 1:1 in MABEA vorhanden
(Objekttyp mit `ist_zugfahrzeug`, `fahrzeugdetails`-Tabelle, 5-stufiger `ObjektStatus`,
generisches DokumentePanel). Einzige offene Lücke: FLEET-003s Plausibilitätsprüfung
(„Kilometerstand darf nicht sinken") ist in MABEA **nicht** validiert — reiner
Zahlen-Input ohne Rückwärtslauf-Schutz. Kleine, konkrete Nachbesserung, keine neue Kachel
nötig. FLEET-006 ist in MABEA (noch) nicht relevant, da kein Operations-Epic existiert.