Zuletzt aktualisiert:

Bericht: Welle 7 — Vorrat wird ein Kreislauf (07.06.2026 spätnachts)

Executive Summary

Alle 7 Funde aus Dennis' Welle-6-Gerätetest sind behoben (ADR-49). Der rote Faden: Der Vorrat war bisher eine Einbahnstraße — Abzüge kannten ihren Anlass nicht, also konnte nichts zurückgebucht werden, Plan-Essen zog gar nichts ab, und hinein kam nur, was ein Bon lieferte. Jetzt ist es ein Kreislauf: Jeder Abzug hängt per inv_log.ref am Tagebuch-Eintrag, Löschen/Zurücknehmen bucht zurück (Undo zieht wieder ab, zyklenfest), Plan-Essen zieht Zutaten ab, und Artikel lassen sich per Suche oder Barcode-Scan einlagern. Dazu: Gerichte direkt im Essen-loggen-Sheet, grammgenaues Verbrauchen, neuer Einkaufslisten-Kopf. Parallel hat ein Sub-Agent das Testplan-Feedback-Konzept erarbeitet (Defects direkt am Testplan + Continuity-Paste für Screenshots).

In einfachen Worten

Bisher galt: Was der Vorrat einmal hergegeben hat, war weg — auch wenn man den Tagebuch-Eintrag gleich wieder löschte. Und wer nach Wochenplan aß, dessen Vorrat bekam davon gar nichts mit. Jetzt merkt sich jeder Abzug, zu welchem Essen er gehört: Eintrag weg → Zutaten wieder da; Eintrag per Undo zurück → Zutaten wieder weg. Außerdem kann man endlich Sachen in den Vorrat legen (suchen oder Barcode scannen), beim Verbrauchen in Gramm denken statt in ganzen Packungen, und Gerichte direkt beim Essen-Loggen auswählen.

Die 7 Funde und ihre Fixes

# Fund Fix
1 Tagebuch-Löschen gibt 🪸-Abzug nicht zurück Abzüge tragen ref="diary:{id}"; DELETE bucht die Netto-Summe je Food zurück (storniert), Restore zieht frisch wieder ab — Zyklus löschen↔undo beliebig oft, per API verifiziert (2,0 → 1,5 → 2,0 → 1,5 → 2,0)
2 Balken „immer grün" bei 50 g/400 g Diagnose: bei 0,125 × WAR er bernstein — Dennis' Fall war „50 g offen + 1 voll" (Gesamt-Regel). Neu: Bernstein folgt dem, was der Balken zeigt — die offene Packung < ¼
3 Keine neuen Artikel in den Vorrat „+ Artikel" im Vorrat: Katalogsuche oder 📷 EAN-Scan (bekannte EAN → Mengen-Schritt, unbekannte → OFF-Vorschau → Artikel wird angelegt), Menge + Stück/kg, Journal-reason eingelagert
4 Verbrauchen nimmt nur GANZE Stücke Verbrauchen-Sheet ist bei Packungs-Artikeln grammgesteuert: „🪸 −200 g vom Vorrat (0,5 von 1,13 Pck à 400 g)" — Abzug = Gramm/Packungsgewicht, gedeckelt am Bestand
5 Einkaufslisten-Kopf „schlecht" EIN Hero-Panel statt Chip-Zeile + Karte: Wochen-Navigation, „X offen" groß, ~€-Schätzung, Fortschrittsbalken (grün + 🎉 bei komplett), Aktionen — Look wie der Heute-Hero
6 Nur Artikel loggbar, keine Gerichte Essen-loggen-Suche findet Gerichte (Sektion 🍲, ⭐-Favoriten ohne Suchtext), Portionen-Stepper, „🪸 Zutaten vom Vorrat abziehen (N von M im Vorrat)" — läuft über das bestehende POST /api/dishes/{id}/log
7 Plan-Essen zieht Zutaten nicht ab plan_eat ruft jetzt mit deplete_stock=True (Gericht UND Einzel-Artikel); „↩︎ gegessen" bucht zurück. Per API mit dem echten Sriracha-Sandwich verifiziert (0,971 → 0,916 → 0,971)

Beifang

Testplan-Feedback-Konzept (Sub-Agent, parallel)

Recherche im Archiv. Kurzfassung: Continuity-Paste funktioniert (iPhone-Screenshot → Universal Clipboard → Cmd+V im Mac-Browser), aber über clipboardData.items + getAsFile() mit gezieltem image/png-Griff (Safari-TIFF-Falle). Architektur: Testpläne hinter der App-Auth (silverscale.dennisfisch.de/testplan/welle-N) + same-origin Feedback-Endpoint — kein CORS, kein Token im öffentlichen HTML; Ablage app/data/testplan-feedback/welle-N/ (findings.json + findings.md + img/), direkt von Claude lesbar. Inzwischen GEBAUT (ADR-50, Nachtrag §9 in der Recherche): nur noch App-Domain (Archiv-Kategorie entfernt), findings.md bleibt lokal, Bilder unskaliert.

Verifikation


Bezug: Welle-6-Feedback (7 Funde) · ADR-49 in app/ARCHITEKTUR.md · Welle-6-Bericht