Docs: Phase 4 Fortschritt (4.1/4.2) + CopySignal-Entanglement dokumentiert

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
bergm
2026-07-01 17:00:20 +02:00
co-authored by Claude Opus 4.8
parent eebe992feb
commit 168c999fe2
+19 -10
View File
@@ -197,16 +197,25 @@ Eintrag in den Core-Log und einen Detaileintrag in seinen eigenen Log.
+ `ITraderRepository` (Modul), sobald `ClosedTrade`/`TrackedTrader` ins Modul wandern. + `ITraderRepository` (Modul), sobald `ClosedTrade`/`TrackedTrader` ins Modul wandern.
- [ ] **Ergebnis (Ziel):** Kein direkter DB-Zugriff mehr außerhalb der Repository-Schicht. - [ ] **Ergebnis (Ziel):** Kein direkter DB-Zugriff mehr außerhalb der Repository-Schicht.
### Phase 4 — Core herauslösen ### Phase 4 — Core herauslösen *(IN ARBEIT)*
- [ ] Infrastruktur-Services nach `PolyTrader.Core` verschieben: Persistenz, Settings, - [x] **4.1** (`9039af8`): TerminalLogger, JobManager, JobStatusRow → Core;
JobManager, Logging, PolymarketApiService, PolymarketClobClient, PolymarketWssClient, toten Stub `logging.cs` gelöscht.
AlchemyWebsocketService, MullvadVpnService, ThreemaService, SnapshotService. - [x] **4.2** (`eebe992`): PolymarketClobClient → Core (+ Nethereum.Web3), reines Verschieben.
- [ ] `TradingState` aufteilen (Core-State vs. Modul-State, siehe 2.3). - [ ] **4.3:** ServerSettings → Core (clean).
- [ ] `IPolyTraderModule`-Contract + Modul-Registry + Bootstrap im Core. - [ ] **4.4:** `IPolyTraderModule`-Contract + Modul-Registry + Bootstrap im Core.
- [ ] **Startup-Reihenfolge-Fix:** State-Hydration (heute `frm_main.LoadDatabaseAndState`) - [ ] **4.5 — Startup-Reihenfolge-Fix:** State-Hydration (heute `frm_main.LoadDatabaseAndState`)
in einen Core-Bootstrap ziehen, der **vor** dem Start der Module/Trading-Services läuft. in einen Core-Bootstrap ziehen, der **vor** den Trading-Services läuft.
Trading-Services dürfen nicht mehr gegen leeren State anlaufen. - [ ] **Entanglement-Klärung nötig (siehe unten):** PolymarketApiService, MarketSyncService,
- [ ] **Ergebnis:** Core baut eigenständig; App nutzt Core. 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).
- [ ] **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.
### Phase 5 — CopyTrading-Modul herauslösen ### Phase 5 — CopyTrading-Modul herauslösen
- [ ] Nach `PolyTrader.Modules.CopyTrading` verschieben: TraderMonitorService, - [ ] Nach `PolyTrader.Modules.CopyTrading` verschieben: TraderMonitorService,