docs(backlog): PERS-008/LOAD-007 DECISION-REQUIRED-Reste bereinigt
CI / backend-tests (push) Successful in 3m32s
CI / frontend-build (push) Successful in 21s

Beide waren bereits umgesetzt (2026-09-10) - stale DECISION-REQUIRED-Text
stand noch mitten in der Kachel-Beschreibung, obwohl die DoD am Ende längst
die getroffene Entscheidung dokumentierte. Gleicher Fall wie zuvor bei
WH-006/PERS-004/MAINT-008 in dieser Session. Keine Code-Änderung, nur
Backlog-Korrektur.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VDMvneg6wKfXdXvTYNd3dN
This commit is contained in:
patrickandClaude Sonnet 5 committed 2026-09-13 22:33:42 +02:00
1 parent e5f490170a
commit 346d119054
3 files changed
+99 -14

No files matched your search

+92
View File
@@ -15463,3 +15463,95 @@ Keine Commits in dieser Session.
- DEVLOG.md | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-09-13 22:13 – 22:17 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** vsb-talk
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 33 +++++++++++++
- arbeitskacheln/14_documents.md | 12 ++++-
- arbeitskacheln/17_zustaendigkeit.md | 67 ++++++++++++++++++++++++++
- backend/alembic/versions/0057_benutzer_standort_zugriff.py | 33 +++++++++++++
- backend/app/api/v1/endpoints/benutzer.py | 43 +++++++++++++++++
- backend/app/api/v1/endpoints/dokument.py | 11 +++++
- backend/app/api/v1/endpoints/objekte.py | 12 +++--
- backend/app/models/zustaendigkeit.py | 18 +++++++
- backend/app/services/standort_sichtbarkeit.py | 94 ++++++++++++++++++++++++++++++++++++
- backend/tests/test_zust004_standort_sichtbarkeit.py | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/components/StandortZugriffDialog.tsx | 87 +++++++++++++++++++++++++++++++++
- frontend/src/pages/AdminPage.tsx | 1 +
- frontend/src/pages/admin/BenutzerSection.tsx | 27 ++++++++++-
---
## 2026-09-13 22:27 – 22:27 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 33 +++++++++++++
- arbeitskacheln/14_documents.md | 12 ++++-
- arbeitskacheln/17_zustaendigkeit.md | 67 ++++++++++++++++++++++++++
- backend/alembic/versions/0057_benutzer_standort_zugriff.py | 33 +++++++++++++
- backend/app/api/v1/endpoints/benutzer.py | 43 +++++++++++++++++
- backend/app/api/v1/endpoints/dokument.py | 11 +++++
- backend/app/api/v1/endpoints/objekte.py | 12 +++--
- backend/app/models/zustaendigkeit.py | 18 +++++++
- backend/app/services/standort_sichtbarkeit.py | 94 ++++++++++++++++++++++++++++++++++++
- backend/tests/test_zust004_standort_sichtbarkeit.py | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/components/StandortZugriffDialog.tsx | 87 +++++++++++++++++++++++++++++++++
- frontend/src/pages/AdminPage.tsx | 1 +
- frontend/src/pages/admin/BenutzerSection.tsx | 27 ++++++++++-
---
## 2026-09-13 22:28 – 22:28 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 33 +++++++++++++
- arbeitskacheln/14_documents.md | 12 ++++-
- arbeitskacheln/17_zustaendigkeit.md | 67 ++++++++++++++++++++++++++
- backend/alembic/versions/0057_benutzer_standort_zugriff.py | 33 +++++++++++++
- backend/app/api/v1/endpoints/benutzer.py | 43 +++++++++++++++++
- backend/app/api/v1/endpoints/dokument.py | 11 +++++
- backend/app/api/v1/endpoints/objekte.py | 12 +++--
- backend/app/models/zustaendigkeit.py | 18 +++++++
- backend/app/services/standort_sichtbarkeit.py | 94 ++++++++++++++++++++++++++++++++++++
- backend/tests/test_zust004_standort_sichtbarkeit.py | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/components/StandortZugriffDialog.tsx | 87 +++++++++++++++++++++++++++++++++
- frontend/src/pages/AdminPage.tsx | 1 +
- frontend/src/pages/admin/BenutzerSection.tsx | 27 ++++++++++-
---
## 2026-09-13 22:28 – 22:29 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 33 +++++++++++++
- arbeitskacheln/14_documents.md | 12 ++++-
- arbeitskacheln/17_zustaendigkeit.md | 67 ++++++++++++++++++++++++++
- backend/alembic/versions/0057_benutzer_standort_zugriff.py | 33 +++++++++++++
- backend/app/api/v1/endpoints/benutzer.py | 43 +++++++++++++++++
- backend/app/api/v1/endpoints/dokument.py | 11 +++++
- backend/app/api/v1/endpoints/objekte.py | 12 +++--
- backend/app/models/zustaendigkeit.py | 18 +++++++
- backend/app/services/standort_sichtbarkeit.py | 94 ++++++++++++++++++++++++++++++++++++
- backend/tests/test_zust004_standort_sichtbarkeit.py | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/components/StandortZugriffDialog.tsx | 87 +++++++++++++++++++++++++++++++++
- frontend/src/pages/AdminPage.tsx | 1 +
- frontend/src/pages/admin/BenutzerSection.tsx | 27 ++++++++++-
---
+3 -6
View File
@@ -159,12 +159,9 @@ Details zu LOAD-001 … LOAD-006 (vollständig).
FK); ist es gesetzt, gilt für die Ist/Soll-Bewertung dieser Position die
SUMME der Istmengen aller Positionen derselben Gruppe gegen die eine
gemeinsame Sollmenge, statt jede Position einzeln gegen ihre eigene
Sollmenge zu prüfen. **DECISION REQUIRED:** wie wird ein Fehlbestand
einer Gruppe einem KONKRETEN Standort zugeordnet, wenn die Summe unter der
gemeinsamen Sollmenge liegt, aber nicht klar ist, an welchem Standort das
Material fehlt? (Denkbarer Ansatz: Fehlbestand wird nicht pro Standort,
sondern auf Gruppenebene gemeldet — abweichend vom bisherigen Muster, wo
jeder Fehlbestand einem `objekt_id` zugeordnet ist.)
Sollmenge zu prüfen. **Entschieden (2026-09-10, bestätigt 2026-09-13):
Fehlbestand auf Gruppenebene** statt Standort-Rätselraten, siehe DoD für
Details der Umsetzung.
- **Backend:** Kontroll-/Fehlbestand-Logik (`app/services/kontrolle/erfassung.py`)
müsste die Gruppen-Summe statt der Einzelmenge prüfen, wenn eine Position
einer Gruppe angehört — Umbau an einer fachlich zentralen Stelle, nicht
+4 -8
View File
@@ -187,15 +187,11 @@ Details zu PERS-001 … PERS-007 (vollständig).
- **Abhängigkeiten:** PERS-005, PERS-006, ASSET-010 (Custody/Ausgabe)
- **Datenmodell:** keins neu — reine Wiederverwendung von PERS-005/006.
- **Backend:** `custody.ausgeben()` (ASSET-010) ruft vor dem eigentlichen
Anlegen der Custody-Zeile die bestehende Berechtigungsprüfung
(`app/services/personal.py` o.ä., je nachdem wo PERS-006 aktuell liegt) für
Anlegen der Custody-Zeile die bestehende Berechtigungsprüfung für
`objekt_id` (über `GeraetInstanz→Objektposition→Objekt`) und die
ausgewählte `person_id` auf — **DECISION REQUIRED:** blockiert eine fehlende
Einweisung die Ausgabe hart (422), oder ist es nur eine Warnung im
Ausgabe-Dialog, die die ausgebende Stelle bewusst übergehen kann (analog zur
bereits getroffenen Entscheidung bei ASSET-010, den PIN-Schritt aus
Praktikabilitätsgründen wegzulassen)? Nicht vor Implementierung klären wäre
ein Fehler — dieselbe Praktikabilitäts-vs-Sicherheit-Abwägung wie bei ASSET-010.
ausgewählte `person_id` auf — **entschieden (2026-09-10, bestätigt
2026-09-13): Warnung, übersteuerbar** (analog zur ASSET-010-PIN-
Entscheidung), siehe DoD.
- **Frontend:** `CustodyDialog.tsx` zeigt eine Warnung/Blockade, wenn die
gewählte Person die erforderliche Qualifikation nicht hat.
- **Mobile:** kein eigener Workflow (Ausgabe läuft übers Portal).