Sprint 4: Fehlbestand-Statusmaschine komplett, Nachfüllung sofort/später/teilweise
CI / backend-tests (push) Successful in 40s

- Nachfuellung-Modell: einzige Aktion, die Objektposition.istmenge tatsächlich
  ändert (Vier-Kernbegriffe). Deckt Sofort-Nachfüllung während Kontrolle (Karte 07)
  und spätere/externe Nachfüllung (Prompt 02.5) mit derselben Logik ab
- Wichtiger Fix vor dem ersten Testlauf: Objektposition.istmenge wird bei Nachfüllung
  auf den neuen Wert GESETZT (fehlbestand.istmenge + menge), nicht unabhängig
  inkrementiert - sonst bliebe sie beim initialen "nicht kontrolliert"-Stand (0)
  stehen, obwohl die Kontrolle bereits einen realen Zählwert kennt
- Statusübergänge: offen -> nachgefuellt_teilweise (Fehlmenge>0) -> erledigt
  (Fehlmenge=0), ausschließlich automatisch bei Ist=Soll (U3)
- Überbestand durch Nachfüllung erlaubt, als Info gekennzeichnet, kein Fehler (E4)
- KontrollpositionRead liefert jetzt fehlbestand_id mit, damit die UI direkt eine
  Sofort-Nachfüllung anbieten kann, ohne separat nachzufragen
- Tests: U3, U4 (Sofort-Nachfüllung ohne Zwischenstatus), U5 (Teilnachfüllung),
  Überbestand-Fall, Nachfüllung auf bereits erledigten Fehlbestand -> 409

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
This commit is contained in:
2026-09-03 23:46:21 +02:00
co-authored by Claude Sonnet 5
parent 8fd507cc5d
commit 18fba28eae
11 changed files with 456 additions and 22 deletions
+42
View File
@@ -1199,3 +1199,45 @@ Keine Commits in dieser Session.
- backend/tests/test_vorlagen.py | 34 ++++++++++++
---
## 2026-09-03 23:34 23:40 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
- 8fd507c Sprint 3: Kontroll-Kern (Statusmaschine, Objekt-Sperre, automatische Fehlbestand-Erzeugung)
### Geänderte Dateien
- DEVLOG.md | 39 +++++++++++++
- backend/app/api/v1/api.py | 3 +-
- backend/app/api/v1/endpoints/kontrollen.py | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/models/__init__.py | 9 +++
- backend/app/models/fehlbestand.py | 47 +++++++++++++++
- backend/app/models/historie.py | 27 +++++++++
- backend/app/models/kontrolle.py | 53 +++++++++++++++++
- backend/app/schemas/kontrolle.py | 47 +++++++++++++++
- backend/app/services/kontrolle.py | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/conftest.py | 52 +++++++++++++++++
- backend/tests/test_kontrolle.py | 238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---
## 2026-09-03 23:40 23:40 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- DEVLOG.md | 39 +++++++++++++
- backend/app/api/v1/api.py | 3 +-
- backend/app/api/v1/endpoints/kontrollen.py | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/models/__init__.py | 9 +++
- backend/app/models/fehlbestand.py | 47 +++++++++++++++
- backend/app/models/historie.py | 27 +++++++++
- backend/app/models/kontrolle.py | 53 +++++++++++++++++
- backend/app/schemas/kontrolle.py | 47 +++++++++++++++
- backend/app/services/kontrolle.py | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/conftest.py | 52 +++++++++++++++++
- backend/tests/test_kontrolle.py | 238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---