diff --git a/UMSETZUNGSPLAN-Modularisierung.md b/UMSETZUNGSPLAN-Modularisierung.md index 8f26f5c..4d743a6 100644 --- a/UMSETZUNGSPLAN-Modularisierung.md +++ b/UMSETZUNGSPLAN-Modularisierung.md @@ -201,21 +201,21 @@ Eintrag in den Core-Log und einen Detaileintrag in seinen eigenen Log. - [x] **4.1** (`9039af8`): TerminalLogger, JobManager, JobStatusRow → Core; toten Stub `logging.cs` gelöscht. - [x] **4.2** (`eebe992`): PolymarketClobClient → Core (+ Nethereum.Web3), reines Verschieben. -- [ ] **4.3:** ServerSettings → Core (clean). -- [ ] **4.4:** `IPolyTraderModule`-Contract + Modul-Registry + Bootstrap im Core. -- [ ] **4.5 — Startup-Reihenfolge-Fix:** State-Hydration (heute `frm_main.LoadDatabaseAndState`) - in einen Core-Bootstrap ziehen, der **vor** den Trading-Services läuft. -- [ ] **Entanglement-Klärung nötig (siehe unten):** PolymarketApiService, MarketSyncService, - AlchemyWebsocketService, PolymarketWssClient hängen an `CopySignal`; `TradingState`-Split - hängt an `TrackedTrader`/`TraderAnalyticsResult`. Diese Moves + der Split erst nach der - Entscheidung, wo `CopySignal` wohnt (Core vs. Modul). +- [x] **4.3** (`8c126cd`): ServerSettings → Core. +- [x] **4.4** (`a1ce3fc`): `IPolyTraderModule`-Contract im Core (UI-Teil auf Phase 5 vertagt). +- [x] **4.5** (`c88eac5`): Startup-Reihenfolge-Fix — `StartupHydrationService` (IHostedService, + als erster registriert) hydriert Accounts/Trader vor den Trading-Services; + `frm_main.LoadDatabaseAndState` entfernt. +- [ ] **4.6 — Infrastruktur-Kette (entschieden: `CopySignal` → Core):** CopySignal in den Core, + dann PolymarketApiService, MarketSyncService, AlchemyWebsocketService, PolymarketWssClient + → Core. (Optional später: `CopySignal` zu `TradeSignal` umbenennen.) +- [ ] **4.7:** Restliche Infra (SnapshotService, MullvadVpnService, ThreemaService) → Core prüfen. +- [ ] **TradingState-Split** (Core-State vs. Modul-State) → in Phase 5 zusammen mit der Modulgrenze. - [ ] **Ergebnis (Ziel):** Core baut eigenständig; App nutzt Core. -> **Design-Fund (2026-07-01):** `PolymarketApiService.ParseBlockchainTransactionAsync` erzeugt -> `CopySignal`. Da `MarketSyncService`, WSS/Alchemy den ApiService nutzen, hängt eine ganze -> Infrastruktur-Kette an der Frage, ob `CopySignal` ein **Core**-Typ (generisches Markt-Trade- -> Signal) oder ein **Modul**-Typ ist. Unser ursprünglicher Plan sagte „Modul" — technisch wäre -> „Core" der Enkoppler. Entscheidung offen. +> **Entscheidung (2026-07-01):** `CopySignal` wird ein **Core**-Typ (generisches Markt-Trade- +> Signal). Das entkoppelt die Polymarket-Infrastruktur sauber in den Core. Der Channel/Workflow +> bleibt Copytrading. Umbenennung zu `TradeSignal` optional/später. ### Phase 5 — CopyTrading-Modul herauslösen - [ ] Nach `PolyTrader.Modules.CopyTrading` verschieben: TraderMonitorService,