chore: initial import

This commit is contained in:
2026-07-24 21:37:03 +02:00
commit 45bc449ea0
53 changed files with 12329 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
# Zutaten-Kategorien
Ordnet Zutaten ohne **Supermarkt-Kategorie** einer der in Tandoor bereits
vorhandenen Kategorien zu. Neue Kategorien werden nicht angelegt.
## Ablauf
1. **Prüfen** liest die vorhandenen Kategorien und alle Zutaten. Zutaten ohne
Kategorie stehen oben und sind hervorgehoben.
2. **Einordnen lassen** (ChatGPT, optional) weist jeder noch nicht eingeordneten
Zutat die am besten passende vorhandene Kategorie zu und hakt sie an. Passt
keine, bleibt die Zutat offen. Das Modell kommt aus den Einstellungen
(`OPENAI_MODEL`), der Schlüssel aus `OPENAI_API_KEY`.
3. Du prüfst, korrigierst per Auswahlfeld und hakst an, was geschrieben werden
soll. Geschrieben wird nur, was sich vom Ist-Stand unterscheidet.
4. **Zuweisen** schreibt die Kategorien nach Tandoor. Vorher sichern, per
Trockenübung testen. Über **Sicherungen** lässt sich jeder Lauf exakt
zurückspielen.
## Sicherheit
* Es werden nur Kategorien vergeben, die es in Tandoor schon gibt — die
Oberfläche kann keine fremde ID unterschieben (das Backend prüft gegen die
im Plan bekannten Kategorien).
* Kategorie-Zuweisungen sind nicht destruktiv und voll rückspielbar.
* Wie bei den Einheiten wird robust geschrieben: zuerst per PATCH, bei einem
Server-500 per vollständigem PUT.
## Kommandozeile
```
categories.py pruefen
categories.py vorschlagen --plan <datei> [--alle]
categories.py anwenden --plan <datei> [--apply]
categories.py zurueck --lauf <ordner> [--apply]
categories.py probe
```