diff --git a/UMSETZUNGSPLAN-Modularisierung.md b/UMSETZUNGSPLAN-Modularisierung.md index 531ce88..414c97d 100644 --- a/UMSETZUNGSPLAN-Modularisierung.md +++ b/UMSETZUNGSPLAN-Modularisierung.md @@ -182,13 +182,19 @@ Eintrag in den Core-Log und einen Detaileintrag in seinen eigenen Log. - [ ] *Offen (bewusst später):* Alchemy-Key / Mullvad-Account / Threema bleiben vorerst im GUI-editierbaren `server_settings.xml` (kein Konflikt mit Settings-Tab). -### Phase 3 — Persistenz-Abstraktion (DB noch Mongo) -- [ ] Repository-Interfaces im Core definieren (`IAccountRepository`, - `IPositionRepository`, `IMarketRepository`, `ITradeLogRepository` (generisch), - und im Modul `ICopyTradeLogRepository` + `ITraderRepository`). -- [ ] Bestehende Mongo/Shim-Zugriffe hinter diese Interfaces ziehen (eine Implementierung). -- [ ] Direkte `GetCollection<>()`-Aufrufe aus Services/Engine/UI durch Repositories ersetzen. -- [ ] **Ergebnis:** Kein direkter DB-Zugriff mehr außerhalb der Repository-Schicht. +### Phase 3 — Persistenz-Abstraktion (DB noch Mongo) *(IN ARBEIT)* +- [x] **3a** (`8b3264f`): Core-Modelle `AccountState`/`Position`/`MarketData` in den Core + verschoben (Namespace `PolyTraderSharp.Models` beibehalten), MongoDB.Driver-Paket im Core. +- [x] **3b** (`ed5d6e3`): Repository-Interfaces + Mongo-Implementierungen im Core + (`IAccountRepository`, `IMarketRepository`, `IPositionRepository`), `AddCorePersistence()`. +- [x] **3c** (`7197f9b`): Unkritische Call-Sites migriert (MarketSyncService, PolymarketWssClient). +- [ ] **3d — Hot-Path (Schritt B, besonders sorgfältig):** CopyTradingEngine + TraderMonitorService + auf `IPositionRepository`/`IMarketRepository` umstellen. CLOB-Regel beachten. +- [ ] **frm_main-UI:** Account/Market/Demo-Position-Zugriffe → wird zusammen mit der + UI-Zerlegung in Phase 5 migriert (vermeidet Wegwerf-Arbeit). +- [ ] *Offen für Phase 5:* generisches `ITradeLogRepository` (Core) + `ICopyTradeLogRepository` + + `ITraderRepository` (Modul), sobald `ClosedTrade`/`TrackedTrader` ins Modul wandern. +- [ ] **Ergebnis (Ziel):** Kein direkter DB-Zugriff mehr außerhalb der Repository-Schicht. ### Phase 4 — Core herauslösen - [ ] Infrastruktur-Services nach `PolyTrader.Core` verschieben: Persistenz, Settings,