docs: STATUS.md auf Phase-9-Polish-Stand
TL;DR aktualisiert: 17 Commits, 94 Tests, Phase 9 läuft mit 6 Sprints durch (9a Card-Edit, 9b Cloze-Editor, 9c Inbox-Banner, 9d Protocol- Swap+npm.mana.how, 9e Account/DSGVO-Self-Service, 9f Statistik). Architektur-Subtilität #3 von "lokaler Mirror" auf "Re-Export + historischer Kontext" geschärft. Git-Historie + "Was als Nächstes" auf den neuen Stand gezogen — Schwerpunkt jetzt i18n/A11y, Hint- Anzeige, Media-Upload für Anki-Import. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6db6dc3e42
commit
a640594a24
1 changed files with 59 additions and 25 deletions
84
STATUS.md
84
STATUS.md
|
|
@ -1,6 +1,6 @@
|
|||
# Cards — Projekt-Status & Onboarding
|
||||
|
||||
**Letztes Update:** 2026-05-08 (Phase 8)
|
||||
**Letztes Update:** 2026-05-08 (Phase 8 + Phase 9 Polish-Welle)
|
||||
**Wenn du gerade neu bist (Mensch oder KI):** dieses Dokument soll dir
|
||||
in 5 Minuten den vollen Kontext geben. Lies es vor allem anderen.
|
||||
|
||||
|
|
@ -13,15 +13,25 @@ in 5 Minuten den vollen Kontext geben. Lies es vor allem anderen.
|
|||
Code-Übernahme aus dem alten `mana-monorepo`, sauber neu gebaut —
|
||||
mit einer dokumentierten Ausnahme für den Anki-Format-Parser
|
||||
(Phase 8c, standalone Parser-Logik).
|
||||
- **11 saubere Commits** auf `main`. Type-check 4/4 grün, **92 Tests
|
||||
grün** (41 Domain + 46 API + 5 Web), lokaler E2E-Smoke (Postgres →
|
||||
API → Frontend → Föderations-Endpunkte → Cloze-Card mit 2-Cluster-
|
||||
Sub-Index) durch.
|
||||
- **Phasen 0, 1, 3, 4, 5, 8 sind durch** und verifiziert. Phase 2
|
||||
(Auth-Föderation) ist auf user-side Pre-Flight blockiert.
|
||||
- **17 saubere Commits** auf `main`. Type-check 4/4 grün, **94 Tests
|
||||
grün** (41 Domain + 48 API + 5 Web), lokaler E2E-Smoke (Postgres →
|
||||
API → Frontend → Föderations-Endpunkte → Cloze-Card → /stats →
|
||||
/me/export) durch.
|
||||
- **Phasen 0, 1, 3, 4, 5, 8 vollständig durch.** **Phase 9 Polish-
|
||||
Welle teilweise** (Card-Edit, Cloze-Editor, Inbox-Banner, Account-
|
||||
/DSGVO-Self-Service, Statistik-Dashboard) — i18n + Image-Occlusion
|
||||
+ Hint-Anzeige bei Cloze stehen noch offen. Phase 2 (Auth-
|
||||
Föderation) ist auf user-side Pre-Flight blockiert.
|
||||
- **Pre-Flight teilweise abgeräumt (Sprint 8d):** Verdaccio-Token
|
||||
produktiv via npm.mana.how, lokaler Protocol-Mirror durch
|
||||
Re-Exports aus `@mana/shared-share-protocol` ersetzt, Spec-Drift
|
||||
`mana/url` → `mana/link` gefixt. Verbleibend Pre-Flight: DNS,
|
||||
GitHub-Repo, mana-auth-App-Reg, mana-share-Manifest-Reg.
|
||||
- Cards läuft lokal, ist im Browser benutzbar, hat alle Föderations-
|
||||
Endpoints aus dem `app-manifest.json` implementiert. Anki-Decks
|
||||
können importiert werden (Cloze first-class).
|
||||
können importiert werden (Cloze first-class), Karten manuell
|
||||
editiert, Statistiken angeschaut, Daten via DSGVO-Self-Service
|
||||
exportiert/gelöscht.
|
||||
|
||||
```
|
||||
┌─────────────────────────────────┐
|
||||
|
|
@ -78,8 +88,8 @@ Vollständiger Plan: [`mana/docs/playbooks/CARDS_GREENFIELD.md`](../mana/docs/pl
|
|||
| 5 | Föderations-Endpunkte (share, tools, search, dsgvo) | ✅ | 70 Tests grün, E2E-Smoke (Quote→Inbox→Search→DSGVO-Roundtrip) |
|
||||
| 6 | Subscriptions/Credits via mana-credits | ⏸ offen | autonom möglich |
|
||||
| 7 | AI/MCP-Integration | ⏸ offen | braucht laufende mana-mcp |
|
||||
| 8 | Anki-Import (.apkg-Parser, Cloze-Support) | ✅ | 92 Tests grün, /import-Route benutzbar, Cloze als 3. MVP-Card-Type. Media + Editor-UI bewusst out-of-scope |
|
||||
| 9 | Polish (DSGVO-UI, Settings, Account, Statistik, i18n, A11y) | ⏸ offen | breite Polish-Phase |
|
||||
| 8 | Anki-Import (.apkg-Parser, Cloze-Support) | ✅ | 92 Tests grün, /import-Route benutzbar, Cloze als 3. MVP-Card-Type |
|
||||
| 9 | Polish (DSGVO-UI, Settings, Account, Statistik, i18n, A11y) | 🟡 läuft | Card-Edit + Cloze-Editor + Inbox-Banner + Account/DSGVO + Statistik durch (9a-9f). i18n, A11y-Pass, Hint-Anzeige bei Cloze, Image-Occlusion und manuelle Cloze-Hint-UI offen |
|
||||
| 10 | Production-Deploy (Mac Mini, Cloudflare-Tunnel) | ⏸ offen | braucht DNS + Tunnel-Config |
|
||||
| 11 | Decommission Cards-Modul aus mana-monorepo | ⏸ offen | erst nach Phase 10 |
|
||||
|
||||
|
|
@ -221,6 +231,13 @@ Volle Konventionen: [`CLAUDE.md`](CLAUDE.md)
|
|||
## Git-Historie
|
||||
|
||||
```
|
||||
6db6dc3 Phase 9f: Statistik-Dashboard
|
||||
03117d5 Phase 9e: Account-Page mit DSGVO-Self-Service
|
||||
aff4d95 Phase 9d: Pre-Flight — Protocol-Mirror durch upstream ersetzt
|
||||
47419b3 Phase 9c: Inbox-Banner auf /decks und /study
|
||||
35366ed Phase 9b: Cloze-Editor in /cards/new
|
||||
0a40367 Phase 9a: Card-Edit-Page für alle 3 CardTypes
|
||||
9da10b3 Phase 8d: STATUS.md auf Phase-8-Stand aktualisiert
|
||||
2ca09fe Phase 8c: Anki-Import via portiertem Parser
|
||||
0b609c4 Phase 8b: Cloze-Render im Study-View
|
||||
553a78d Phase 8a: Cloze als MVP-Card-Type, Cluster-Counter
|
||||
|
|
@ -262,9 +279,24 @@ mit angelegt — siehe `apps/api/src/routes/cards.ts` POST-Handler.
|
|||
Typen. Für Cloze siehe Subtilität #6 — `subIndexCountForCloze(text)` ist
|
||||
die SoT, weil die Anzahl text-abhängig ist.
|
||||
|
||||
### 3. Lokales Protocol-Mirror
|
||||
### 3. Protocol-Mirror auf upstream umgestellt (Sprint 8d, 2026-05-08)
|
||||
|
||||
`packages/cards-domain/src/protocol/` enthält eine **TEMPORARY**-
|
||||
`packages/cards-domain/src/protocol/` war ursprünglich ein lokaler
|
||||
Mirror, ist seit Sprint 8d ein dünner Re-Export von
|
||||
`@mana/shared-share-protocol@0.1.0` aus Verdaccio (npm.mana.how). Die
|
||||
gemeinsamen Schemas (Envelope, Search, Quote/Link/Text-Payloads) kommen
|
||||
direkt aus dem Föderations-Vertrag, nur die Cards-spezifische
|
||||
Akzeptanz-Map (`PAYLOAD_SCHEMAS`, `validatePayloadForType`) bleibt
|
||||
lokal. Drift-Risiko ist damit beseitigt — `pnpm update` zieht
|
||||
automatisch nach.
|
||||
|
||||
**Repo-`.npmrc` zeigt auf `npm.mana.how`** (nicht `pkg.mana.how` wie
|
||||
zuvor — der Tunnel wurde am 2026-05-07 zurückgerollt). NPM_AUTH_TOKEN
|
||||
muss als env-var oder im Shell-Profile vor `pnpm install` gesetzt sein.
|
||||
|
||||
### 3-historisch. Lokales Protocol-Mirror (vor Sprint 8d)
|
||||
|
||||
`packages/cards-domain/src/protocol/` enthielt eine **TEMPORARY**-
|
||||
Kopie der Schemas aus `@mana/shared-share-protocol`. Solange Verdaccio
|
||||
nicht offen ist (kein `NPM_AUTH_TOKEN`), halten wir sie hier lokal.
|
||||
|
||||
|
|
@ -365,20 +397,22 @@ diskutiert worden.
|
|||
|
||||
In Reihenfolge meiner Empfehlung:
|
||||
|
||||
1. **Card-Edit-Page + Inbox-Banner im Frontend** — 1–2 Tage Polish.
|
||||
Schließt die augenfälligste UI-Lücke (Karten kann man anlegen aber
|
||||
nicht editieren). Cloze-Editor wäre sinnvoll mitzuziehen.
|
||||
2. **Pre-Flight aktiv abräumen** — Mana-Plattform-Stack + mana-auth
|
||||
live, dann Cards als App registrieren (Phase 2). NPM_AUTH_TOKEN
|
||||
für Verdaccio liegt laut Memory bereits vor — der Protocol-Mirror-
|
||||
Swap auf `@mana/shared-share-protocol` ist eine 1-2h-Arbeit.
|
||||
3. **Phase 6 (Subscriptions)** — braucht laufende mana-credits.
|
||||
4. **Phase 9 (Polish)** — Settings, Account, DSGVO-UI, Statistik,
|
||||
i18n, Hint-Anzeige bei Cloze, Media-Upload für Anki-Import
|
||||
(additiv zu Phase 8c).
|
||||
1. **Phase 9 weiter ausbauen** — i18n DE/EN-Pass über alle Routes,
|
||||
A11y-Pass, Hint-Anzeige bei Cloze (`{{c1::a::hint}}`), Media-
|
||||
Upload für Anki-Import (additiv via lokalem cards-api-Endpoint).
|
||||
Re-Import-Dedupe wäre nice. ~3–5 Tage.
|
||||
2. **Pre-Flight Restklemmen abräumen** — DNS, GitHub-Repo
|
||||
`mana-ev/cards`, mana-auth-App-Reg (Service-Key + Public-Key),
|
||||
mana-share-Manifest-Reg. Verdaccio + Protocol-Swap durch
|
||||
(Sprint 8d). Hängt an User-Aktion + laufender Plattform.
|
||||
3. **Phase 6 (Subscriptions)** — braucht laufende mana-credits +
|
||||
Phase 2 Auth-Föderation.
|
||||
4. **Phase 7 (AI/MCP)** — braucht laufende mana-mcp.
|
||||
5. **Phase 10 (Production-Deploy)** — Mac Mini + Cloudflare-Tunnel,
|
||||
nach allen Pre-Flight-Items.
|
||||
|
||||
Was nicht autonom geht: Phase 2 (Auth-Föderation), Phase 7 (mana-mcp-
|
||||
Live), Phase 10 (Mac-Mini-Deploy) — alle hängen an Pre-Flight-Items.
|
||||
Was nicht autonom geht: Phase 2, 6, 7, 10 — alle hängen an Pre-Flight
|
||||
oder Plattform-Diensten. Phase 9 weiter ist autonom möglich.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue