Files
MABEA/arbeitskacheln/13_readiness.md
T
patrickandClaude Sonnet 5 9c6426190e docs(arbeitskacheln): Open-Source-/HiOrg-Vergleich ausgewertet, 14 neue Kacheln ausgearbeitet
Vergleich mit InvenTree, Snipe-IT, Grocy, Shelf.nu, Resgrid, KP Front, FleetMS,
HiOrg-Server ergibt neue Kacheln (ASSET-010 Custody, FILE-008 Hash-Audit-Journal,
FILE-009 Notizen, NOTIF-003, MAINT-007 Tankbuch, ZUST-003 Standort-Scoping,
FOUND-007 Import/Export, FOUND-008 Fristen-Dienst, READY-006 Statistik-Dashboard,
UI2-006..010) sowie Referenz-Ergänzungen bei bestehenden Lücken. Alle Design-
Entscheidungen (Datenmodell, Sicherheitsanforderungen bei ASSET-010) geklärt.

Neues Epic 23 (Flutter-Begleit-App, Sondierungs-Prototyp FLUT-001) inkl. geklärtem
TLS-Blocker (Domain mabea.perlbach-edv.de mit Let's-Encrypt-Zertifikat statt
selbstsigniertem Server-Zertifikat).

Alle Kacheln bleiben offen/ungeplant, nur ausgearbeitet, keine Implementierung.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-10 00:49:32 +02:00

9.2 KiB

Epic 13 — Readiness

Details zu READY-001 … READY-006. READY-001-005 vollständig, READY-006 ergänzt am 2026-09-09 aus HiOrg-Server-Vergleich, offen/ungeplant.


READY-001 — Regel-Engine (Grundgerüst)

  • Ziel: Konfigurierbarer Mechanismus statt fest verdrahteter if/else-Logik, um zu bestimmen, ob ein Asset einsatzbereit ist.
  • Beschreibung: Regelkatalog (welche Faktoren zählen: Fehlbestand/Prüfung/Wartung/ Mangel/Beladung), pro Regel an-/abschaltbar, evtl. Gewichtung.
  • Benutzerwert: Verschiedene Organisationen haben unterschiedliche Kriterien für „einsatzbereit" — konfigurierbar statt Code-Änderung nötig.
  • Abhängigkeiten: ASSET-004
  • Datenmodell: readiness_regel (id, schluessel, aktiv, beschreibung)
  • Backend: Regel-Auswertungs-Engine (iteriert aktive Regeln, sammelt Gründe)
  • Frontend: keins in dieser Kachel (Konfiguration folgt READY-005)
  • Mobile: keins
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: Grundlage für Readiness-Anzeige
  • Rechte: keine neuen (Auswertung ist lesend)
  • Audit: nein
  • Akzeptanzkriterien: Regeln iterierbar, Ergebnis = Liste erfüllter/nicht erfüllter Kriterien.
  • Tests: Regel-Iterations-Test.
  • DoD: HIGH RISK (größte technische Unsicherheit im gesamten Backlog) — MABEA hat stattdessen eine fest verdrahtete Funktion (einsatzbereitschaft() mit hartcodierten Kriterien Fehlbestand/Ablauf/Prüfung/Sperre/Mangel/in_wartung/HU-UVV). Umbau zu einer echten Regel-Engine ist ein substanzieller Umbau, kein Nachzug — vor Umsetzung klären, ob der Konfigurierbarkeits-Bedarf real ist (bisher nur eine Organisation im Einsatz, ein fester Kriterienkatalog reicht evtl. aus).

READY-002 — Zustände READY/LIMITED/NOT_READY/UNKNOWN

  • Ziel: Einheitliche Zustands-Terminologie.
  • Beschreibung: Enum mit vier Werten, UNKNOWN für Assets ohne ausreichende Datenbasis (z.B. noch nie kontrolliert).
  • Benutzerwert: Klare Ampel statt Zahlenwerk.
  • Abhängigkeiten: READY-001
  • Datenmodell: keins neu (Enum-Rückgabewert der Engine)
  • Backend: Mapping Regel-Ergebnisse → einer der vier Zustände
  • Frontend: Badge/Farbe je Zustand
  • Mobile: Anzeige
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: Stammdatenbereich
  • Rechte: wie Lese-Recht
  • Audit: nein
  • Akzeptanzkriterien: alle vier Zustände erreichbar, UNKNOWN korrekt für „noch nie kontrolliert".
  • Tests: Zustandstest je Fall.
  • DoD: behoben (2026-09-05, noch am selben Tag wie dieser Backlog-Eintrag): MABEA kannte bisher nur drei Zustände. Ein noch nie kontrolliertes Objekt wurde fälschlich als „einsatzbereit" gezählt. Vierter Zustand unbekannt live ergänzt (dashboard.einsatzbereitschaft(), Grund noch_nie_kontrolliert), Dashboard-Kachel und Tests entsprechend angepasst.

READY-003 — Regel-Kopplung (Prüfung/Wartung/Mangel/Beladung)

  • Ziel: Tatsächliche Verzahnung der Regel-Engine mit den anderen Epics.
  • Beschreibung: Jede Regel liest den relevanten Zustand aus INSP/MAINT/DEFECT/LOAD.
  • Benutzerwert: Gesamtbild statt Einzelmodule, die nichts voneinander wissen.
  • Abhängigkeiten: READY-002, INSP-004, DEFECT-005, LOAD-006, MAINT (falls Wartung ebenfalls einfließen soll)
  • Datenmodell: keins neu
  • Backend: Regel-Implementierungen je Faktor
  • Frontend: Gründe-Liste in der Readiness-Anzeige
  • Mobile: Anzeige
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: Stammdatenbereich
  • Rechte: wie Lese-Recht
  • Audit: nein zusätzlich
  • Akzeptanzkriterien: jeder Faktor einzeln testbar, Kombination mehrerer Faktoren korrekt (mehrere Gründe gleichzeitig möglich).
  • Tests: Faktor-Einzeltests + Kombinationstest.
  • DoD: deckt sich weitgehend mit MABEA (dashboard.einsatzbereitschaft() hat bereits Fehlbestand/Ablauf/Prüfung/Sperre/Mangel/in_wartung/HU-UVV kombiniert) — Wartung (MAINT) kann noch nicht einfließen, da das Wartungs-Epic in MABEA nicht existiert.

READY-004 — Readiness-Dashboard

  • Ziel: Zentrale Übersicht „wie viele Assets sind einsatzbereit".
  • Beschreibung: Kachel mit Zahlen je Zustand + aufklappbare Detailliste mit Gründen.
  • Benutzerwert: Leitungsverantwortliche sehen auf einen Blick den Gesamtzustand.
  • Abhängigkeiten: READY-003
  • Datenmodell: keins neu
  • Backend: Aggregations-Endpunkt
  • Frontend: Dashboard-Kachel
  • Mobile: Anzeige
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: nein (übergreifende Sicht)
  • Rechte: Verantwortliche
  • Audit: nein
  • Akzeptanzkriterien: Zahlen stimmen mit Summe der Einzel-Assets überein.
  • Tests: Konsistenztest (Summe Detail = Summe Kachel).
  • DoD: deckt sich 1:1 mit MABEA (Kachel „Einsatzbereites Material", bereits umgesetzt inkl. aufklappbarer Detailliste).

READY-005 — Regel-Konfiguration-UI

  • Ziel: Administrator kann Regeln an-/abschalten ohne Code-Änderung.
  • Beschreibung: UI zum Umschalten der READY-001-Regeln.
  • Benutzerwert: Organisationsspezifische Anpassung ohne Entwicklerbeteiligung.
  • Abhängigkeiten: READY-003
  • Datenmodell: keins neu (nutzt readiness_regel.aktiv)
  • Backend: PATCH-Endpunkt
  • Frontend: Einstellungsseite
  • Mobile: keins
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte: nein
  • Rechte: Administrator
  • Audit: Änderung geloggt
  • Akzeptanzkriterien: Regel abschalten entfernt sie sichtbar aus der Bewertung.
  • Tests: Ein-/Ausschalt-Test.
  • DoD: P2, abhängig von READY-001 (ob die Regel-Engine überhaupt gebaut wird) — kann komplett entfallen, wenn READY-001 zurückgestellt bleibt und ein fester Kriterienkatalog ausreicht.

READY-006 — Statistik-/Reporting-Dashboard-Kachel (P2, neu)

  • Ziel: Kennzahlen über Zeit statt nur Momentaufnahme des aktuellen Zustands.
  • Beschreibung: Neue Dashboard-Kachel mit Verlaufs-Kennzahlen: Bereitschaftsquote über Zeit (Anteil READY/LIMITED/NOT_READY/UNKNOWN je Zeitpunkt), Mängelquote je Standort, Anzahl offener Wartungen. Nutzt bereits vorhandene Daten (Einsatzbereitschaft, Mängel, Wartungsaufträge), aggregiert sie nur zeitlich/ gruppiert statt nur aktuellen Stand zu zeigen.
  • Benutzerwert: Trends erkennbar („wird die Bereitschaft besser/schlechter") statt nur Snapshot — Grundlage für Leitungsentscheidungen (z.B. wo Ressourcen fehlen).
  • Abhängigkeiten: READY-004, Mangel-Modell, MAINT-003
  • Datenmodell (entschieden 2026-09-10): täglicher Snapshot, nicht Live-Berechnung — readiness_snapshot (Zeitpunkt, Standort, Zustand, Anzahl). Begründung: Live-Berechnung würde bedeuten, die READY-003-Regel-Logik rückwirkend auf jeden historischen Zeitpunkt anzuwenden (zeitpunktbezogener Nachbau der Ampel-Logik) — deutlich fehleranfälliger als ein simpler täglicher Snapshot. Tägliche Auflösung reicht für Trend-Reporting.
  • Backend: Aggregations-Endpunkt(e), periodischer Snapshot-Job via systemd-Timer (mabea-readiness-snapshot.timer, gleiches Muster wie mabea-eskalation.timer bei NOTIF-002) — Zeitplan über OnCalendar in der Timer-Unit auf dem Server jederzeit ohne Codeänderung/Deploy anpassbar (systemctl edit + daemon-reload), reine Betriebskonfiguration. Standard- Anzeigezeitraum im Frontend: letzte 90 Tage, mit Filter für längere Zeiträume.
  • Frontend: neue Dashboard-Kachel (react-grid-layout, wie bestehende Tiles), einfache Zeitreihen-Darstellung
  • Mobile: Anzeige, kein Erfassungsbedarf
  • QR-Code/Seriennummer/Inventarnummer: nein
  • Akte (ergänzt 2026-09-10): zusätzlich zum globalen Dashboard bekommt jedes einzelne Objekt einen Verlaufs-Abschnitt in seiner Akte (FILE-005-Bereich) — „Bereitschaftshistorie dieses Objekts" (z.B. „in den letzten 6 Monaten X Tage nicht einsatzbereit"). Nutzt dieselbe zugrundeliegende Datenquelle wie das globale Dashboard, nur gefiltert auf ein Objekt statt aggregiert über alle — andere Abfrage-Granularität, kein zweiter Datenspeicher nötig.
  • Rechte: Leitungsverantwortliche/Administration
  • Audit: nein (reine Auswertung)
  • Akzeptanzkriterien: mind. eine Kennzahl (z.B. Bereitschaftsquote) über mehrere Zeitpunkte hinweg korrekt dargestellt.
  • Tests: Aggregations-Test mit synthetischen Daten über mehrere Zeitpunkte.
  • DoD: offen — Design vollständig geklärt (2026-09-10), bereit für Implementierung. Referenz (HiOrg-Server-Vergleich 2026-09-09): HiOrg bietet dedizierte Statistiken über Dienste/Kurse — MABEA hat vergleichbare Rohdaten (Einsatzbereitschaft, Mängel, Wartung), aber keine Verlaufs-/Trend-Ansicht, nur den aktuellen Zustand (READY-004).

MABEA-Ist-Stand-Abgleich: Funktional ist Readiness in MABEA bereits gut abgedeckt (dashboard.einsatzbereitschaft() kombiniert mehr Faktoren als in dieser Kachel-Spezifikation ursprünglich vorgesehen — sogar Fahrzeug-HU/UVV und Mangel-Priorität fließen schon ein). Die konzeptionelle Lücke ist die fehlende Konfigurierbarkeit (READY-001/005: alles ist fest im Code verdrahtet statt als an-/abschaltbare Regeln). Der UNKNOWN-Zustand (READY-002) war die wichtigste fachliche Nachfrage aus diesem Epic — wurde direkt im Zuge dieses Backlog-Durchgangs live gefixt, nicht nur dokumentiert (siehe READY-002 oben).