Files
MABEA/arbeitskacheln/11_defects.md
T
patrickandClaude Sonnet 5 11a62db3bd
CI / backend-tests (push) Failing after 1m52s
CI / frontend-build (push) Successful in 17s
docs: Defects-Epic komplettiert (DEFECT-001..005)
Fast vollständig in MABEA umgesetzt (Mangel-Modul deckt 4 von 5 Kacheln 1:1
ab). Kleinste Lücke aller bisher abgeglichenen Epics: DEFECT-003, eine aktive
Zuständigkeits-Zuweisung während der Mangel noch offen ist, fehlt (nur
erledigt_von nach Abschluss vorhanden).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
2026-09-05 15:33:51 +02:00

125 lines
5.6 KiB
Markdown

# Epic 11 — Defects
Details zu DEFECT-001 … DEFECT-005 (vollständig).
---
## DEFECT-001 — Mangelmeldung + Foto
- **Ziel:** Schaden/Defekt an einer Ressource melden, inkl. Foto.
- **Beschreibung:** Meldung mit Beschreibung, Priorität, optionalem Foto-Anhang
(DOC-001).
- **Benutzerwert:** Jeder Helfer kann sofort einen Schaden dokumentieren, kein separater
Meldezettel.
- **Abhängigkeiten:** ASSET-003, DOC-001
- **Datenmodell:** `mangel` (id, asset_id, entitaet_typ, entitaet_id, beschreibung,
prioritaet, status, gemeldet_von, gemeldet_am)
- **Backend:** POST melden
- **Frontend:** Meldeformular
- **Mobile:** zentraler mobiler Anwendungsfall (Foto direkt von Kamera)
- **QR-Code:** Scan Asset startet Mangelmeldung direkt
- **Seriennummer/Inventarnummer:** nein
- **Akte:** Mängelbereich
- **Rechte:** Mitarbeiter+ (jeder darf melden)
- **Audit:** Meldung geloggt
- **Akzeptanzkriterien:** Mangel melden inkl. Foto-Anhang funktioniert.
- **Tests:** Melde-Test, Foto-Anhang-Test.
- **DoD:** deckt sich mit MABEA Mangel-Modul (bereits umgesetzt, inkl.
entitaet_typ/entitaet_id-Polymorphie für Teilressourcen und
Dokumente-Panel-Integration für Fotos).
## DEFECT-002 — Priorität & Status-Workflow
- **Ziel:** Mängel nach Dringlichkeit einstufen, Bearbeitungsstand nachhalten.
- **Beschreibung:** Priorität (niedrig/normal/hoch), Status
neu→in_bearbeitung→ersatzteil_bestellt/reparatur_geplant→erledigt.
- **Benutzerwert:** Materialwart kann priorisieren statt alles gleich zu behandeln.
- **Abhängigkeiten:** DEFECT-001
- **Datenmodell:** `mangel.prioritaet`, `mangel.status` (enum)
- **Backend:** Statuswechsel-Endpoint
- **Frontend:** Status-Dropdown
- **Mobile:** Anzeige
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Mängelbereich
- **Rechte:** Status ändern: Materialwart/Leitung/Administrator
- **Audit:** Statuswechsel geloggt
- **Akzeptanzkriterien:** alle Statuswerte durchlaufbar, Priorität beeinflusst
Sortierung.
- **Tests:** Statuswechsel-Test.
- **DoD:** deckt sich mit MABEA (bereits umgesetzt, inkl. Historie-Logging).
## DEFECT-003 — Verantwortlicher & Reparaturzuordnung
- **Ziel:** Wer kümmert sich gerade um die Behebung.
- **Beschreibung:** Zuweisung an eine Person/Werkstatt, optional Verknüpfung zu einem
Wartungsauftrag (MAINT-003).
- **Benutzerwert:** Klare Zuständigkeit statt „irgendwer wird sich schon kümmern".
- **Abhängigkeiten:** DEFECT-002, PERS-002
- **Datenmodell:** `mangel.zustaendiger_id` (optional), `mangel.wartungsauftrag_id`
(optional, Kopplung)
- **Backend:** Zuweisen-Endpoint
- **Frontend:** Zuweisungsfeld
- **Mobile:** Anzeige
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Mängelbereich
- **Rechte:** Materialwart/Leitung/Administrator
- **Audit:** Zuweisung geloggt
- **Akzeptanzkriterien:** Zuweisung setzen/ändern.
- **Tests:** Zuweisungstest.
- **DoD:** Kopplung zu MAINT-003 optional, funktioniert auch ohne. **Lücke:** MABEA hat
keine explizite Zuständigen-Zuweisung am Mangel selbst — nur `erledigt_von` NACH
Abschluss ist bekannt, „wer bearbeitet es gerade" während offener Status fehlt.
## DEFECT-004 — Abschluss & Dokumentation
- **Ziel:** Mangel sauber abschließen mit Nachweis der Behebung.
- **Beschreibung:** Abschluss setzt Status=erledigt, erledigt_von/erledigt_am, optional
Abschluss-Foto/-Dokument.
- **Benutzerwert:** Nachweis „wurde wirklich behoben", nicht nur Status umgeschaltet.
- **Abhängigkeiten:** DEFECT-003
- **Datenmodell:** `mangel.erledigt_von`/`erledigt_am` (bereits Teil des
DEFECT-002-Datenmodells)
- **Backend:** Abschluss-Endpoint
- **Frontend:** Abschluss-Aktion inkl. optionalem Dokument
- **Mobile:** Abschluss im Feld
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Mängelbereich
- **Rechte:** Materialwart/Leitung/Administrator
- **Audit:** Abschluss geloggt
- **Akzeptanzkriterien:** Abschluss auch ohne Nachweis möglich (Dokument bleibt optional,
keine Überregulierung), mit Nachweis nachvollziehbar besser.
- **Tests:** Abschlusstest.
- **DoD:** deckt sich mit MABEA (bereits umgesetzt: erledigt_von/erledigt_am +
Historie-Eintrag) — Foto-Nachweis beim Abschluss ist keine erzwungene Pflicht, aber
über das generische DokumentePanel bereits jetzt möglich.
## DEFECT-005 — Readiness-Einfluss (kritisch)
- **Ziel:** Ein offener kritischer Mangel macht die Ressource nicht einsatzbereit.
- **Beschreibung:** Nur `prioritaet=hoch` + Status offen fließt in die
Readiness-Berechnung ein.
- **Benutzerwert:** Niedrige/normale Mängel sind Hinweise, kein Blocker — verhindert
Alarmmüdigkeit.
- **Abhängigkeiten:** DEFECT-002, READY-001
- **Datenmodell:** keins neu
- **Backend:** Readiness-Regel liest offene kritische Mängel je Asset
- **Frontend:** Grund-Anzeige im Readiness-Dashboard
- **Mobile:** Anzeige
- **QR-Code/Seriennummer/Inventarnummer:** nein
- **Akte:** Readiness-Anzeige
- **Rechte:** wie Lese-Recht
- **Audit:** nein zusätzlich
- **Akzeptanzkriterien:** nur hoch+offen blockiert, niedrig/normal nicht.
- **Tests:** Prioritäts-Filtertest.
- **DoD:** deckt sich 1:1 mit MABEA (`objekt_ids_mit_kritischem_offenem_mangel()`,
bereits umgesetzt und getestet).
---
**MABEA-Ist-Stand-Abgleich:** Das Defects-Epic ist **fast vollständig in MABEA
umgesetzt** (Mangel-Modul wurde explizit in dieser Session gebaut und deckt
DEFECT-001/002/004/005 1:1 ab, inklusive Historie-Anbindung und Readiness-Kopplung).
Einzige offene Lücke: **DEFECT-003** — eine aktive „wer bearbeitet das gerade"-Zuweisung
während der Mangel noch offen ist, existiert nicht (nur `erledigt_von` nach Abschluss).
Kleinste Lücke aller bisher abgeglichenen Epics.