feat(events): wordeck user-owned-Routen auf event-sourced Coordinator umleiten

E-4.4b Rewiring: WordeckAPIs decks/cards/reviews-Methoden delegieren jetzt
über die @MainActor-Fassade WordeckData an WordeckEventCoordinator (lokaler
EventLog + FSRS + sync2) statt an die toten REST-Routen (410). Views/Stores/
GradeQueue/StudySession bleiben unverändert — minimal-invasiv. duplicateDeck
+ distractors lokal ergänzt (Server-Endpoints kennen event-sourced Karten
nicht). configure() beim App-Launch. Marketplace/Generate/Author bleiben REST.
Build grün, 48/48 Tests grün.

Kompilier-verifiziert — Study-Loop braucht noch Geräte-Verifikation.
Offen: Datenmigration vor-Cutover gecachter Decks (CachedDeck→Events).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-25 15:33:04 +02:00
parent 579622e9dc
commit 3daca22477
3 changed files with 125 additions and 84 deletions

View file

@ -41,6 +41,10 @@ struct WordeckNativeApp: App {
auth.bootstrap()
_auth = State(initialValue: auth)
_authGate = State(initialValue: ManaAuthGate(auth: auth))
// Event-Sync-Coordinator initialisieren (E-4.4b): user-owned-Daten
// (decks/cards/reviews) laufen jetzt event-sourced über ManaEventSync
// statt über die toten REST-Routen. Crypto + Sync starten async.
WordeckEventCoordinator.configure(auth: auth)
Log.app.info("Wordeck starting — auth status: \(String(describing: auth.status), privacy: .public)")
}