docs: README im Root, Backend/Frontend-READMEs, Statuszeilen (2026-10-16)
Backend Image / build-and-push (push) Successful in 6m43s
Frontend Image / build-and-push (push) Failing after 12m42s
Manifests / validate (push) Successful in 18s

Neues README im Root mit Zweck, Aufbau, Start, Prüfbefehlen, Betrieb und
Projektstand (Issues #44, #43). Backend- und Frontend-README ersetzen die
Framework-Vorlagen. CLAUDE.md: Ordnerstruktur und echte Arbeitsweise
(main, gebündelt pushen, Rollout nur mit Freigabe). ARCHITECTURE §7/§8:
Live-ConfigMap, ensure-secrets.sh, korrektes Admin-Seed-Verhalten.
.env.example um BACKUP_MAX_IMPORT_BYTES und SEED_ADMIN_* ergänzt.
Statuszeilen in Plänen Rückgrat, T3–T6 und Specs Fahrplan, T7.

Refs #42

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-10-16 08:12:49 +02:00
1 parent b48fb157c8
commit ec8c95056d
15 files changed
+194 -125

No files matched your search

+5 -4
View File
@@ -1,7 +1,8 @@
# Prüfung & Verbesserung ApiCore / Wabenhain – Arbeitsstand September 2026
Branch in ApiCore: `improve/integrity-sync-audhd` (nicht gemergt, nicht gepusht).
Wabenhain: Commits direkt auf `main` (nicht gepusht).
ApiCore: entstanden auf dem Branch `improve/integrity-sync-audhd`, inzwischen vollständig in `main` (Commits vom 2026-09-27 bis 2026-10-01, ausgerollt mit dem Backend-Image `sha-f5b1964` am 2026-10-12).
Wabenhain: Commits direkt auf `main`, gepusht (u. a. `d38f430`, `5642f0c`, `3bc0693` liegen auf `origin/main`).
Offene Punkte aus diesem Bericht werden als Gitea-Issues geführt (ApiCore #39 „Offene Fachfragen aus der Prüfung September 2026“, #9 „AuDHD-Anpassung: Restpunkte“).
Verifikationsstufen: **CR** = durch Codeprüfung beurteilt, **AT** = automatisiert getestet,
**MP** = manuell im Browser geprüft (Desktop 1366 px + Mobil 390 px), **NV** = nicht verifiziert.
@@ -63,8 +64,8 @@ Umgesetzt in Wabenhain `d38f430` (AT: Entscheidungslogik; CR: DB-Ablauf der Serv
1. ~~Zuständigkeit pro Feld im Sync~~ – erledigt.
2. ~~Eigene, versionierte Sync-Schnittstelle~~ – erledigt: `GET /api/v1/shop-sync` (Vertragsversion 1, Feld-Allowlist, Berechtigung `shop-sync:read`). Bewusst ohne „geändert seit“: kleine Datenmenge, Voll-Abgleich heilt verpasste Läufe selbst. Wabenhain nutzt sie seit `5642f0c`; seit `3bc0693` ausschließlich (kein Rückfall auf andere Endpunkte).
3. ~~Nur-Lese-API-Schlüssel~~ – erledigt: Verwaltung → Automatisierung → API-Schlüssel. Nur Hash gespeichert, Klartext einmalig angezeigt, Scope nur `shop-sync:read`, widerrufbar, optional befristet, „zuletzt benutzt“ sichtbar. Wabenhain liest nur noch `APICORE_API_KEY`; der Passwort-Login ist entfernt (`3bc0693`).
4. Ende-zu-Ende-Test beider Systeme gegen Test-Instanzen.
5. Merge/Push.
4. Ende-zu-Ende-Test beider Systeme gegen Test-Instanzen (offen, Issue #39).
5. ~~Merge/Push~~ – erledigt.
## Offen / Entscheidungen
@@ -1,5 +1,7 @@
# Plattform-Rückgrat Implementation Plan
**Status (2026-10-16):** Alle 26 Tasks umgesetzt und gemergt (Commits `c01a388`, `cdd30cf`, Merge `7097fcd`). Nicht ausgerollt; das Rollout-Runbook unten ist noch bei keinem Schritt angewendet. Issues: [#13](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/13) (Paket), [#28](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/28) (Rollout).
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** ApiCore läuft aus einem Image in drei Rollen (`api`, `worker`, `job`). Fachliche Folgen hängen nicht mehr an direkten Service-Aufrufen nach dem Commit, sondern an einer dauerhaften Outbox (`DomainEvent`), die der Worker genau einmal je Handler zustellt. Zeitgesteuerte Arbeit läuft als Kubernetes-CronJob. Rate-Limits zählen über alle Pods. Schlüssel sind je Zweck getrennt. Die öffentliche Herkunftsseite verrät keinen Standort. Die Manifeste in `deploy/k8s` werden wieder zur Quelle der Wahrheit.
@@ -1,5 +1,7 @@
# T3 Erfassung am Stand Implementation Plan
**Status (2026-10-16):** Tasks 1–17 umgesetzt und gemergt (Commits `c01a388`, `cdd30cf`). Offen nur die manuelle Prüfung der Foto-Metadaten auf einem echten Telefon. Nicht ausgerollt. Issues: [#14](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/14), [#38](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/38), Rollout [#28](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/28).
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Ein Imker erfasst am Bienenstand mit Handschuhen und ohne Netz Durchsichten, Varroa, Behandlungen und Fütterungen schnell und korrekt. Dazu gehören Standrunde, Sammelerfassung, Offline-Standmodus mit echtem Kaltstart und eine Navigation, über die jeder Bereich erreichbar ist.
@@ -1,5 +1,7 @@
# T4 Logik-Ketten und Saison-Autopilot Implementation Plan
**Status (2026-10-16):** T4a (Tasks 1–22), T4b (23–33) und T4c (34–38) umgesetzt und gemergt (Wellen 1–11, zuletzt `9760ce1`, Browser-Fixes `7a14801`). Nicht ausgerollt. Issues: [#15](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/15), Folgepunkt `packagingSize` [#36](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/36), Rollout [#28](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/28).
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Was der Imker erfasst, wirkt weiter: Aus Durchsicht, Messung, Ableger, Behandlung und Pflanzenentwicklung entstehen datierte Vorschläge, je Volk „die nächsten 3 Schritte“ mit Begründung, Warnungen entlang der Honig-Kette, ein Bewegungsbuch der Honigcharge und Erinnerungen in der App und per Telegram. Automatik plant nie heimlich: Sie schlägt vor, der Imker übernimmt oder verwirft.
@@ -1,5 +1,7 @@
# T5 Optik mit eigener Handschrift Implementation Plan
**Status (2026-10-16):** Noch nicht begonnen. Vorher Plan-Review und die Bewegungs-Sprache aus Beute-Spec §12.4 ergänzen; Inhaber-Fragen der Spec §16 vorläufig mit A/A/A. Issue: [#26](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/26).
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** ApiCore ist draußen am Stand lesbar und bedienbar (Sonne, Handschuhe, eine Hand) und erkennbar eine Imker-App: vier geprüfte Farbsätze (hell, dunkel, Sonne hell, Sonne dunkel), ein durchgesetzter Baukasten und die Wabenzelle als einziges Motiv (Waben-Standkarte, Mini-Waben-Marker, Lebenslinie, Bienenjahr-Rad, Markenzeichen).
@@ -1,5 +1,7 @@
# T6 Compliance-Autopilot „prüfungsfest“ Implementation Plan
**Status (2026-10-16):** Tasks 1–19 umgesetzt und gemergt (Wellen 1–6, `8a31c42` bis `8188e4c`, Browser-Fixes `e712c5d`). Nicht ausgerollt. Issues: [#16](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/16), Inhaber-Punkte nach dem Rollout [#34](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/34), Rollout [#28](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/28).
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Bei einer Kontrolle durch Veterinäramt oder Lebensmittelüberwachung legt Imkerei Wabenhain alles Verlangte sofort vor: ein Bestandsbuch ohne „FEHLT“ (Katalog und Packungen füllen die Behandlung vor und buchen ab), Etiketten nur mit Pflichtangaben, ein Behördenpaket (Änderungshinweis, Anzeige als PDF, TSK-Zählung, Sperrbezirk) und eine Seite „Prüfbereitschaft“ mit jedem offenen Punkt in Rot und einem Knopf zum Beheben.
@@ -1,5 +1,7 @@
# Plattform-Rückgrat und Ausbau-Fahrplan — Design
**Status (2026-10-16):** Rückgrat gebaut ([#13](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/13)), Paket 0 erledigt ([#12](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/12)), T3 ([#14](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/14)), T4 ([#15](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/15)) und T6 ([#16](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/16)) gebaut; nichts davon ausgerollt ([#28](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/28)). T5 ([#26](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/26)) und T7 ([#27](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/27)) haben eigene Specs, sind aber noch nicht gebaut. Die Liste „Offen“ in Abschnitt 11 ist der Befund vom 2026-10-12, nicht der heutige Stand.
Stand: 2026-10-12 · Betrifft: ApiCore (Backend, Frontend, `deploy/k8s`)
## 1. Ziel
@@ -1,5 +1,7 @@
# T7 „Freihand“ (Spracherfassung) — Design
**Status (2026-10-16):** Spec fertig. Der Umsetzungsplan `docs/superpowers/plans/2026-10-16-t7-sprache.md` (6 Lieferungen, 25 Tasks) ist lokal geschrieben, aber noch nicht gepusht. Inhaber-Fragen aus Abschnitt 15 offen, noch nicht gebaut. Issue: [#27](https://git.encry.de/Nick.Rosenloecher/ApiCore/issues/27).
Stand: 2026-10-14 · Betrifft: ApiCore (Backend, Frontend, Whisper-Image, `deploy/k8s`) · Grundlage: Spec `2026-10-12-plattform-rueckgrat-und-fahrplan-design.md` §1, §2, §3, §5, §7 und §10 „T7“, Inhaber-Entscheidungen vom 2026-10-13, Muster aus T3 (Offline-Warteschlange v3, Foto-Warteschlange, Hinweise „Letztes Mal“) und T6 (Vorbelegung nur sichtbar, Annahmen als Einstellungen)
## 1. Ziel