OPS-001..003 bewusst nur als Platzhalter spezifiziert (Ursprungs-Anforderung: "noch nicht implementieren, aber architektonisch berücksichtigen") - kein MABEA-Abgleich, da kein konkreter Bedarf vorliegt. Damit sind alle 16 Epics des Backlogs mindestens einmal durchgegangen, 13 davon vollständig fachlich spezifiziert. Im Zuge der Detaillierung wurden zwei echte Bugs in MABEA gefunden und noch am selben Tag live gefixt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
16 KiB
Arbeitskacheln-Backlog — KatS-/BOS-Ressourcenplattform
Master-Prompt-Ergebnis (2026-09-05), Phase 1: Epic-Übersicht, vollständige Kachel-Liste,
Abhängigkeitsgraph, Priorisierung, MVP-Abgrenzung. Details je Kachel liegen in den
epic-eigenen Dateien (01_foundation.md, 02_identity.md, ...), fortlaufend ergänzt.
Kachel-Template und Nutzer-Vorgaben zur Methodik: siehe Memory
feedback_arbeitskacheln_methodik.md.
DECISION REQUIRED
- Verhältnis zu MABEA: Dieses Backlog beschreibt großteils, was in MABEA (dieses Repo) bereits gebaut ist. Entscheidung: (a) MABEA-Code weiterverwenden, Kacheln als nachträgliche Strukturierung/Lückenfüller — nicht (b) Neustart. Begründung: vermeidet Doppelarbeit.
- Techstack: FastAPI/PostgreSQL/React-PWA beibehalten (bereits entschieden, funktioniert, self-hosted-tauglich) statt Resgrid-(.NET)/OpenFleet-(Node) Stack zu übernehmen.
- QR-Code-Inhalt-Schema: entschieden — URL-Pfad (
/akte/{ressourcentyp}/{id}), kein signierter Token, keine Volldaten im QR. - Person/Benutzer-Trennung (PERS-001/002): MABEA hat aktuell nur
Benutzer(Login=Person verschmolzen). Echte Trennung ist ein Datenmodell-Bruch — Umfang vorher separat abschätzen, bevor verbindlich eingeplant. - ✅ UNKNOWN-Readiness-Zustand (READY-002) — erledigt (2026-09-05): war offen, wurde
noch am selben Tag live gefixt. Nie kontrollierte Objekte zählen jetzt als
unbekanntstatt fälschlich als „einsatzbereit". Siehe13_readiness.md.
Subagenten je Epic
Sieben Subagenten aus dem Subagenten-Repo sind für dieses Projekt bereits installiert
(siehe Memory reference-subagents-repo), plus fastapi-expert/python-expert passend
zum Techstack. Bei der tatsächlichen UMSETZUNG einer Kachel (nicht bei der Planung hier)
sollen die folgenden Subagenten bevorzugt herangezogen werden — als Standard-Zuordnung je
Epic, einzelne Kacheln können abweichen:
| Epic | Empfohlene Subagenten |
|---|---|
| 01 Foundation | fastapi-expert, postgres-expert, jwt-expert, docker-expert, openapi-expert |
| 02 Identity | postgres-expert (Eindeutigkeits-Constraints), owasp-top10-expert (Path-Traversal bei Codes/Labels) |
| 03 Digital File | fastapi-expert (Aggregations-Endpunkt), sql-expert (Joins über viele Tabellen) |
| 04 Assets | postgres-expert, sql-expert |
| 05 Fleet | fastapi-expert |
| 06 Inventory | postgres-expert, sql-expert (Mengen-/Chargenlogik) |
| 07 Warehouse | postgres-expert (Hierarchie-Queries, Transaktionen bei Umlagerung) |
| 08 Loadout | fastapi-expert, sql-expert |
| 09 Inspections | python-expert (Berechnungslogik Intervalle/Ampel) |
| 10 Maintenance | python-expert, postgres-expert |
| 11 Defects | fastapi-expert |
| 12 Personnel | jwt-expert/oauth-oidc-expert (bei PERS-002 Auth-Bezug), owasp-top10-expert |
| 13 Readiness | python-expert (Regel-Engine-Logik) |
| 14 Documents | owasp-top10-expert (Upload-Sicherheit/MIME-Whitelist, bereits Thema bei DOC-001), fastapi-expert |
| 15 Mobile | kein Backend-Subagent zentral (Frontend/PWA-lastig) |
| 16 Operations | noch offen, erst bei Angehen des Epics zuordnen |
Wie einbeziehen: vor Implementierungsbeginn einer Kachel kurz prüfen, ob einer der zugeordneten Subagenten als Review-Instanz (nach Fertigstellung) oder als Umsetzungs- Delegation sinnvoll ist — nicht zwingend für jede einzelne Kachel, aber als Standardpfad für sicherheitskritische (owasp/jwt/oauth) und datenbanknahe (postgres/sql) Themen.
Epic-Übersicht
| Epic | Ziel | Priorität |
|---|---|---|
| 01 Foundation | Technisches Fundament (Repo/DB/Auth/API/Logging/CI) | P0 |
| 02 Identity | Objekt-ID/Inventarnummer/Seriennummer/QR/Barcode | P0 |
| 03 Digital File | Akte als Aggregations-Entität über alle Teilbereiche | P0 |
| 04 Assets | Generisches Ressourcenmodell (Kategorie/Typ/Instanz/Set) | P0 |
| 05 Fleet | Fahrzeug-Spezialfelder | P1 |
| 06 Inventory | Material (Einzelgerät/Verbrauchsmaterial/Chargen) | P1 |
| 07 Warehouse | Lagerplätze, Bestand, Bewegungen | P1 |
| 08 Loadout | Soll/Ist-Beladung, Kontrolle | P1 |
| 09 Inspections | Prüfungen generisch | P1 |
| 10 Maintenance | Wartung | P2 |
| 11 Defects | Mängel-Ticket | P1 |
| 12 Personnel | Person/Benutzer/Qualifikation | P1 |
| 13 Readiness | Zentrale Einsatzbereitschafts-Engine | P1 |
| 14 Documents | Dokumentenverwaltung | P2 |
| 15 Mobile | QR-Scan-Workflow, PWA | P1 |
| 16 Operations | Einsatzverwaltung (Ausblick) | P3 |
Vollständige Kachel-Liste
| ID | Modul | Kachel | Prio | Aufwand | Risiko | Abhängigkeiten |
|---|---|---|---|---|---|---|
| FOUND-001 | Foundation | Repo & Projektstruktur | P0 | S | LOW | — |
| FOUND-002 | Foundation | DB-Grundgerüst + Migrationen | P0 | S | LOW | FOUND-001 |
| FOUND-003 | Foundation | Authentication | P0 | M | MEDIUM | FOUND-002 |
| FOUND-004 | Foundation | Authorization-Grundgerüst | P0 | M | MEDIUM | FOUND-003 |
| FOUND-005 | Foundation | API-Grundgerüst/Konventionen | P0 | S | LOW | FOUND-002 |
| FOUND-006 | Foundation | Logging & Audit-Grundgerüst | P0 | S | LOW | FOUND-002 |
| FOUND-007 | Foundation | Konfigurationsmanagement | P0 | XS | LOW | FOUND-001 |
| FOUND-008 | Foundation | Docker/Compose-Setup | P0 | M | MEDIUM | FOUND-001 |
| FOUND-009 | Foundation | CI/CD-Grundgerüst | P0 | S | LOW | FOUND-008 |
| FOUND-010 | Foundation | Backup-Strategie | P1 | S | MEDIUM | FOUND-002 |
| FOUND-011 | Foundation | Test-Grundgerüst | P0 | M | LOW | FOUND-002 |
| FOUND-012 | Foundation | Dokumentationsgerüst | P1 | XS | LOW | FOUND-001 |
| IDENT-001 | Identity | Objekt-ID-Schema | P0 | S | LOW | FOUND-002 |
| IDENT-002 | Identity | Inventarnummer manuell | P0 | S | LOW | IDENT-001 |
| IDENT-003 | Identity | Inventarnummer-Nummernschemata | P1 | M | MEDIUM | IDENT-002 |
| IDENT-004 | Identity | Seriennummer + Eindeutigkeitsprüfung | P0 | S | LOW | IDENT-001 |
| IDENT-005 | Identity | Hersteller/Modell-Stammdaten | P1 | S | LOW | IDENT-004 |
| IDENT-006 | Identity | QR-Code-Erzeugung | P0 | S | LOW | IDENT-001 |
| IDENT-007 | Identity | QR-Code-Druck (Label) | P0 | S | LOW | IDENT-006 |
| IDENT-008 | Identity | QR-Scan → Akte öffnen | P0 | M | MEDIUM | IDENT-006, FILE-006 |
| IDENT-009 | Identity | QR-Neuvergabe & -Historie | P2 | S | LOW | IDENT-006 |
| IDENT-010 | Identity | Barcode/GTIN | P3 | S | LOW | IDENT-001 |
| FILE-001 | Digital File | Akte-Grundgerüst | P0 | M | MEDIUM | IDENT-001 |
| FILE-002 | Digital File | Akte-Stammdatenbereich | P0 | S | LOW | FILE-001 |
| FILE-003 | Digital File | Akte-Standortbereich | P0 | S | LOW | FILE-001, WH-001 |
| FILE-004 | Digital File | Akte-Verantwortlichkeit | P1 | S | LOW | FILE-001, PERS-003 |
| FILE-005 | Digital File | Akte-Historienbereich | P0 | M | MEDIUM | FILE-001, FOUND-006 |
| FILE-006 | Digital File | Akte-Übersichtsseite (UI) | P0 | M | LOW | FILE-002..005 |
| FILE-007 | Digital File | Akte-Audit-Anbindung | P1 | S | LOW | FILE-005 |
| ASSET-001 | Assets | AssetCategory | P0 | XS | LOW | FOUND-002 |
| ASSET-002 | Assets | AssetType | P0 | S | LOW | ASSET-001 |
| ASSET-003 | Assets | Asset/AssetInstance | P0 | M | MEDIUM | ASSET-002, IDENT-001/002/004 |
| ASSET-004 | Assets | Asset-Status-Modell | P0 | S | LOW | ASSET-003 |
| ASSET-005 | Assets | Asset-Suche & Liste | P1 | S | LOW | ASSET-003 |
| ASSET-006 | Assets | Asset-Bewegungshistorie | P1 | S | LOW | ASSET-003, WH-001 |
| ASSET-007 | Assets | AssetSet | P2 | M | MEDIUM | ASSET-003 |
| ASSET-008 | Assets | Consumable | P1 | M | MEDIUM | ASSET-002 |
| ASSET-009 | Assets | Nutzungszähler (Kilometer/Betriebsstunden generisch) | P1 | S | LOW | ASSET-003 |
| FLEET-001 | Fleet | Fahrzeugtypen | P1 | XS | LOW | ASSET-002 |
| FLEET-002 | Fleet | Fahrzeuge (Kennzeichen/Funkrufname) | P1 | S | LOW | ASSET-003, FLEET-001 |
| FLEET-003 | Fleet | Kilometerstand (Anwendung von ASSET-009) | P1 | XS | LOW | FLEET-002, ASSET-009 |
| FLEET-004 | Fleet | Fahrzeugstatus (5-stufig) | P1 | S | LOW | FLEET-002, READY-002 |
| FLEET-005 | Fleet | Fahrzeug-Dokumente | P2 | XS | LOW | FLEET-002, DOC-001 |
| FLEET-006 | Fleet | Fahrzeug-Einsatzhistorie (Platzhalter) | P3 | S | MEDIUM | FLEET-002, OPS-002 |
| INV-001 | Inventory | Materialarten/Kategorien | P1 | XS | LOW | ASSET-001 |
| INV-002 | Inventory | Einzelgeräte (SN-pflichtig) | P1 | S | LOW | ASSET-003, IDENT-004 |
| INV-003 | Inventory | Verbrauchsmaterial (Mengen) | P1 | S | LOW | ASSET-008 |
| INV-004 | Inventory | Chargenverwaltung | P1 | S | MEDIUM | INV-003 |
| INV-005 | Inventory | Ablaufdaten & Warnschwellen | P1 | S | LOW | INV-004 |
| INV-006 | Inventory | Mindestbestände & Fehlbestand | P1 | M | MEDIUM | INV-003, LOAD-001 |
| INV-007 | Inventory | Ausgabe/Rückgabe | P2 | M | MEDIUM | INV-003 |
| WH-001 | Warehouse | Lager-Stammdaten (Hierarchie) | P1 | S | LOW | FOUND-002 |
| WH-002 | Warehouse | Lagerplätze | P1 | S | LOW | WH-001 |
| WH-003 | Warehouse | Bestand je Lagerplatz | P1 | M | MEDIUM | WH-002, INV-003 |
| WH-004 | Warehouse | Einlagerung/Auslagerung | P1 | M | MEDIUM | WH-003 |
| WH-005 | Warehouse | Umlagerung | P1 | S | LOW | WH-004 |
| WH-006 | Warehouse | Inventur & Bestandskorrektur | P2 | M | MEDIUM | WH-003 |
| WH-007 | Warehouse | Materialbewegungsprotokoll | P1 | S | LOW | WH-004, FOUND-006 |
| LOAD-001 | Loadout | Soll-Beladung/Beladungsplan | P1 | M | MEDIUM | ASSET-003, INV-002/003 |
| LOAD-002 | Loadout | Ist-Beladung | P1 | S | LOW | LOAD-001 |
| LOAD-003 | Loadout | Abweichungserkennung | P1 | S | MEDIUM | LOAD-002 |
| LOAD-004 | Loadout | Digitale Beladungskontrolle | P1 | M | MEDIUM | LOAD-003 |
| LOAD-005 | Loadout | Kontrollhistorie | P1 | S | LOW | LOAD-004, FOUND-006 |
| LOAD-006 | Loadout | Readiness-Kopplung | P1 | S | MEDIUM | LOAD-003, READY-001 |
| INSP-001 | Inspections | Prüfarten-Stammdaten | P1 | S | LOW | ASSET-002 |
| INSP-002 | Inspections | Prüfintervalle | P1 | S | LOW | INSP-001 |
| INSP-003 | Inspections | Prüfdurchführung/-ergebnis | P1 | M | MEDIUM | INSP-002 |
| INSP-004 | Inspections | Status-Ampel (VALID/DUE_SOON/OVERDUE/FAILED) | P1 | S | LOW | INSP-003 |
| INSP-005 | Inspections | Prüfdokument-Anbindung | P2 | XS | LOW | INSP-003, DOC-001 |
| INSP-006 | Inspections | Prüftermin-Übersicht | P1 | S | LOW | INSP-004 |
| MAINT-001 | Maintenance | Wartungspläne | P2 | S | LOW | ASSET-002 |
| MAINT-002 | Maintenance | Wartungsintervalle | P2 | S | MEDIUM | MAINT-001, ASSET-009 |
| MAINT-003 | Maintenance | Wartungsauftrag | P2 | M | MEDIUM | MAINT-002 |
| MAINT-004 | Maintenance | Wartungshistorie | P2 | S | LOW | MAINT-003, FOUND-006 |
| MAINT-005 | Maintenance | Ersatzteile/Kosten | P3 | M | MEDIUM | MAINT-003 |
| MAINT-006 | Maintenance | Wartungsdokument-Anbindung | P2 | XS | LOW | MAINT-003, DOC-001 |
| DEFECT-001 | Defects | Mangelmeldung + Foto | P1 | M | LOW | ASSET-003, DOC-001 |
| DEFECT-002 | Defects | Priorität & Status-Workflow | P1 | S | LOW | DEFECT-001 |
| DEFECT-003 | Defects | Verantwortlicher & Reparaturzuordnung | P1 | S | LOW | DEFECT-002, PERS-002 |
| DEFECT-004 | Defects | Abschluss & Dokumentation | P1 | S | LOW | DEFECT-003 |
| DEFECT-005 | Defects | Readiness-Einfluss (kritisch) | P1 | S | MEDIUM | DEFECT-002, READY-001 |
| PERS-001 | Personnel | Person (fachlich) | P1 | M | HIGH | FOUND-002 |
| PERS-002 | Personnel | Benutzer (technisch, verknüpft) | P0 | M | HIGH | PERS-001, FOUND-003 |
| PERS-003 | Personnel | Einheiten/Organisationsstruktur | P1 | S | LOW | PERS-001 |
| PERS-004 | Personnel | Funktionen/Rollen im Einsatzkontext | P2 | S | LOW | PERS-003 |
| PERS-005 | Personnel | Qualifikationen/Lehrgänge | P1 | S | LOW | PERS-001 |
| PERS-006 | Personnel | Führerscheine/Berechtigungen mit Gültigkeit | P1 | M | MEDIUM | PERS-005, ASSET-002 |
| PERS-007 | Personnel | Qualifikationsablauf-Warnungen | P1 | S | LOW | PERS-006 |
| READY-001 | Readiness | Regel-Engine (Grundgerüst) | P1 | M | HIGH | ASSET-004 |
| READY-002 | Readiness | Zustände READY/LIMITED/NOT_READY/UNKNOWN | P1 | S | MEDIUM | READY-001 |
| READY-003 | Readiness | Regel-Kopplung (Prüfung/Wartung/Mangel/Beladung) | P1 | L | HIGH | READY-002, INSP-004, DEFECT-005, LOAD-006 |
| READY-004 | Readiness | Readiness-Dashboard | P1 | S | LOW | READY-003 |
| READY-005 | Readiness | Regel-Konfiguration-UI | P2 | M | MEDIUM | READY-003 |
| DOC-001 | Documents | Dokument-Grundgerüst (Upload) | P1 | M | MEDIUM | FILE-001 |
| DOC-002 | Documents | Dokumenttypen | P2 | XS | LOW | DOC-001 |
| DOC-003 | Documents | Versionierung | P2 | M | MEDIUM | DOC-001 |
| DOC-004 | Documents | Original-vs-Kopie-Kennzeichnung | P2 | S | LOW | DOC-001 |
| DOC-005 | Documents | Zugriffsrechte je Dokument | P2 | S | MEDIUM | DOC-001, FOUND-004 |
| MOBILE-001 | Mobile | PWA-Grundgerüst | P1 | M | MEDIUM | FOUND-005 |
| MOBILE-002 | Mobile | QR-Scan-Workflow (Kernablauf) | P1 | M | MEDIUM | MOBILE-001, IDENT-008 |
| MOBILE-003 | Mobile | Offline-Grundgerüst | P2 | L | HIGH | MOBILE-001 |
| MOBILE-004 | Mobile | Mobile Mangelmeldung + Foto | P1 | S | LOW | MOBILE-002, DEFECT-001 |
| MOBILE-005 | Mobile | Mobile Beladungskontrolle | P1 | S | MEDIUM | MOBILE-002, LOAD-004 |
| OPS-001 | Operations | Einsatzverwaltung (Platzhalter) | P3 | L | HIGH | FILE-001 |
| OPS-002 | Operations | Einsatzmittel-Verknüpfung | P3 | M | MEDIUM | OPS-001, ASSET-003 |
| OPS-003 | Operations | Einsatznachbereitung (Platzhalter) | P3 | L | HIGH | OPS-001 |
Abhängigkeitsgraph (Epic-Ebene)
FOUNDATION
↓
IDENTITY ──────────────┐
↓ │
DIGITAL FILE ←──────────┤ (Akte referenziert Identity direkt)
↓ │
ASSETS ←────────────────┘
↓ ↓ ↓
FLEET INVENTORY PERSONNEL
↓ ↓ │
│ WAREHOUSE │
│ ↓ │
│ LOADOUT │
↓ ↓ ↓
INSPECTIONS DEFECTS (Qualifikation → Readiness)
↓ ↓
MAINTENANCE │
↓ ↓
READINESS ←── (bündelt Inspections+Maintenance+Defects+Loadout)
↓
DOCUMENTS (läuft quer durch alle Epics ab FILE-001)
↓
MOBILE
↓
OPERATIONS (Ausblick, P3)
MVP-Abgrenzung (P0 + P1)
P0 (zwingend, Foundation): FOUND-001…011, IDENT-001/002/004/006/007/008, FILE-001/002/003/005/006, ASSET-001…004, PERS-002.
P1 (MVP-Funktionsumfang): Fleet (komplett), Inventory (komplett), Warehouse (komplett), Loadout (komplett), Inspections (komplett), Defects (komplett), Personnel (bis auf PERS-004), Readiness (bis auf READY-005), Mobile (bis auf MOBILE-003), DOC-001 (nur Grundgerüst, Rest P2).
Bewusst außerhalb MVP: Maintenance (P2, außer Kern optional), Documents-Feinschliff (Versionierung/Zugriffsrechte, P2), Operations komplett (P3).
Deckt sich das MVP praktisch mit dem, was in MABEA schon existiert — Lücken laut diesem Backlog gegenüber MABEA-Ist-Stand: PERS-001 (Person getrennt von Benutzer), AssetSet/Consumable als eigenständige Konzepte (ASSET-007/008), Readiness als konfigurierbare Regel-Engine statt fest verdrahteter Logik (READY-001/005), Wartung als eigenes Modul (MAINT-*, MABEA hat nur Prüfung, keine Wartung).
Detaillierungsstand
| Datei | Enthält Details für |
|---|---|
01_foundation.md |
FOUND-001 … FOUND-006 |
02_identity.md |
IDENT-001, 002, 004, 005 … 010 |
03_digital_file.md |
FILE-001 … FILE-007 (vollständig) |
04_assets.md |
ASSET-001 … ASSET-009 (vollständig, ASSET-009 nachträglich ergänzt) |
05_fleet.md |
FLEET-001 … FLEET-006 (vollständig) |
06_inventory.md |
INV-001 … INV-007 (vollständig) |
07_warehouse.md |
WH-001 … WH-007 (vollständig) |
08_loadout.md |
LOAD-001 … LOAD-006 (vollständig) |
09_inspections.md |
INSP-001 … INSP-006 (vollständig) |
10_maintenance.md |
MAINT-001 … MAINT-006 (vollständig) |
11_defects.md |
DEFECT-001 … DEFECT-005 (vollständig) |
12_personnel.md |
PERS-001 … PERS-007 (vollständig) |
13_readiness.md |
READY-001 … READY-005 (vollständig) |
14_documents.md |
DOC-001 … DOC-005 (vollständig) |
15_mobile.md |
MOBILE-001 … MOBILE-005 (vollständig) |
16_operations.md |
OPS-001 … OPS-003 (bewusst nur Platzhalter, siehe Datei) |
Alle 16 Epics durchgegangen. Detaillierungsphase abgeschlossen (2026-09-05).