Commit Graph
127 Commits
Author SHA1 Message Date
RichardandClaude Opus 4.8 f8d395b2a3 Phase 5.2: TradingState-Split (Core-State vs. CopyTradingState)
- Core TradingState (in Core): globale Schalter, Accounts, MarketCache, GlobalPnl.
- Neuer CopyTradingState (im Modul): Traders, MasterTraderPositions,
  TraderAnalyticsCache, TotalCopyTrades/GetNextTradeId, PendingOrderTimestamps,
  SixSharesMinimum.
- 10 Konsumenten umgestellt (Program, frm_main, CopyTradingEngine,
  TraderMonitor, Alchemy, WSS, Snapshot, StartupHydration, beide Analytics-Jobs):
  Modul-Felder von _state.* auf _copyState.* umgeleitet, CopyTradingState via DI.
- Rein mechanische Feld-Umleitung, keine Logikänderung. Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 20:09:50 +02:00
RichardandClaude Opus 4.8 55050a19e5 Phase 5.1: Modul-Modelle in das CopyTrading-Modul
- TrackedTrader, TraderAnalyticsResult, MasterTraderHistoryRecord nach
  src/PolyTrader.Modules.CopyTrading/Models/ (Namespace beibehalten).
- Ungenutzte Shim-/DB-Usings entfernt (BsonId kommt transitiv via Core).
- Build bestätigt: kein Core-Code referenziert diese Modelle (saubere Grenze).
- Build 0 Fehler. Voraussetzung für den CopyTradingState (5.2).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:59:40 +02:00
RichardandClaude Opus 4.8 b18f013f20 Docs: Phase 4 abgeschlossen (soweit ohne TradingState-Split möglich)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:53:26 +02:00
RichardandClaude Opus 4.8 0ffc0413c8 Phase 4.7: MullvadVpnService + ThreemaService in den Core
- Beide Services nach Core (nutzen nur TerminalLogger/ServerSettings/JobManager,
  keine DB/TradingState/Modul-Typen).
- Threema-ProjectReference von App -> Core umgehängt (App nutzte die Lib nur
  über ThreemaService).
- Microsoft.Extensions.Hosting.Abstractions als Core-Paket (BackgroundService).
- Toten Stub services/mullvad.cs gelöscht; Mullvad-DB-Usings entfernt.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:51:52 +02:00
RichardandClaude Opus 4.8 9c068b448e Phase 4.6a: CopySignal + PolymarketApiService in den Core
- CopySignal als generischer Core-Typ (Namespace PolyTraderSharp.Models beibehalten).
- PolymarketApiService nach Core (nutzt nur TerminalLogger + HttpClient,
  keine DB); ungenutzte DB-Usings entfernt.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:47:28 +02:00
bergmandClaude Opus 4.8 827193c774 Docs: Phase 4.3-4.5 abgeschlossen, CopySignal-Core-Entscheidung festgehalten
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 18:41:50 +02:00
bergmandClaude Opus 4.8 c88eac5f8a Phase 4.5: Startup-Reihenfolge-Fix (State-Hydration vor Trading-Services)
- Neuer StartupHydrationService (IHostedService), als ERSTER HostedService
  registriert: hydriert Accounts (+ Demo-Positionen via Repos) und Trader
  (trackers-Collection) in den TradingState, bevor die Trading-Services
  ihre ExecuteAsync starten.
- frm_main.LoadDatabaseAndState() + beide Aufrufe entfernt (verhinderte
  doppelte, überschreibende Hydration nach Service-Start).
- Behebt den Race, bei dem Services gegen leeren State anliefen.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 18:38:47 +02:00
bergmandClaude Opus 4.8 a1ce3fcbbc Phase 4.4: IPolyTraderModule-Contract im Core
- Modul-Vertrag (Name, DbPrefix, RegisterServices, StartAsync/StopAsync)
  unter src/PolyTrader.Core/Modularity/.
- UI-Teil (RegisterUi/IModuleUiHost) bewusst auf Phase 5 vertagt.
- Microsoft.Extensions.Configuration.Abstractions als Core-Paket.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 18:35:53 +02:00
bergmandClaude Opus 4.8 8c126cd1ba Phase 4.3: ServerSettings in den Core verschoben
- ServerSettings-Model nach src/PolyTrader.Core/Models/ (Namespace beibehalten).
- Keine DB-Abhängigkeit; reines Verschieben. Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 18:34:26 +02:00
bergmandClaude Opus 4.8 168c999fe2 Docs: Phase 4 Fortschritt (4.1/4.2) + CopySignal-Entanglement dokumentiert
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 17:00:20 +02:00
bergmandClaude Opus 4.8 eebe992feb Phase 4.2: PolymarketClobClient in den Core verschoben
- CLOB-Client nach src/PolyTrader.Core/Services/ (Namespace beibehalten).
- Nutzt keinerlei DB/Shim (verifiziert) -> DB-Usings entfernt.
- Nethereum.Web3 6.1.0 als Core-Paket (EIP712-Signing).
- Reines Verschieben, KEINE Logikänderung (clob.md); Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:58:44 +02:00
bergmandClaude Opus 4.8 9039af8d5e Phase 4.1: Basis-Infrastruktur in den Core (Logging, JobManager)
- TerminalLogger, JobManager, JobStatusRow nach Core verschoben
  (Namespaces PolyTraderSharp.Services/.Models beibehalten).
- TerminalLogger: ungenutzte DB-Usings entfernt.
- Toten Stub services/logging.cs (internal class Logging) gelöscht.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:53:38 +02:00
bergmandClaude Opus 4.8 f1a5541b67 Docs: Phase 3d (Hot-Path) als abgeschlossen markiert
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:42:40 +02:00
bergmandClaude Opus 4.8 0c6fc6a2af Phase 3d (2/2): CopyTradingEngine auf Repositories umgestellt
- MarketCache-Preload + Market-Hydration -> IMarketRepository
  (GetActive/FindByTokenId/Upsert).
- Demo-/Live-Positionen -> IPositionRepository (UpsertDemo/UpsertLive/DeleteDemo).
- Account-Persistenz -> IAccountRepository.
- _db (IMongoDatabase) vollständig aus CopyTradingEngine entfernt.
- Verhalten unverändert; Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:42:18 +02:00
bergmandClaude Opus 4.8 a0e367e645 Phase 3d (1/2): TraderMonitorService auf Repositories umgestellt
- 8 Positions-Zugriffe (open_positions_{id}) -> IPositionRepository
  (FindLive/UpsertLive/DeleteLive).
- 1 Market-Upsert -> IMarketRepository.
- closed_trades bleibt auf _db (ClosedTrade-Repo folgt in Phase 5).
- Verhalten unverändert (Repos bilden Shim-Semantik 1:1 nach); Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:39:28 +02:00
bergmandClaude Opus 4.8 41c43fa3aa Docs: Phase 3 Fortschritt (3a-3c erledigt, Hot-Path offen)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:34:54 +02:00
bergmandClaude Opus 4.8 7197f9b31c Phase 3c: Unkritische Call-Sites auf Repositories umgestellt
- MarketSyncService: markets-Zugriffe -> IMarketRepository (kein _db mehr).
- PolymarketWssClient: demo_positions -> IPositionRepository,
  accounts -> IAccountRepository (closed_trades bleibt vorerst auf _db,
  ClosedTrade-Repo folgt in Phase 5).
- Build 0 Fehler.

Hot-Path (CopyTradingEngine, TraderMonitorService) und frm_main-UI bewusst
noch NICHT migriert (Schritt B / Phase 5).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:34:28 +02:00
bergmandClaude Opus 4.8 ed5d6e35e0 Phase 3b: Repository-Schicht im Core (Interfaces + Mongo-Impl + DI)
- Interfaces: IAccountRepository, IMarketRepository, IPositionRepository
  (IPositionRepository kapselt das Collection-per-Account-Muster).
- Mongo-Implementierungen bilden die bisherige Shim-Semantik 1:1 mit direkten
  MongoDB.Driver-Aufrufen nach (kein App-Shim-Bezug im Core).
- AddCorePersistence()-Erweiterung + Registrierung in Program.cs.
- Noch keine Call-Sites umgestellt; Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:29:51 +02:00
bergmandClaude Opus 4.8 8b3264f240 Phase 3a: Core-Domänenmodelle in den Core verschoben
- AccountState, Position, MarketData nach src/PolyTrader.Core/Models/
  (Namespace PolyTraderSharp.Models beibehalten → keine Consumer-Änderung).
- AccountState: ungenutzte usings (MongoDB.Driver, PolyTraderSharp.Extensions)
  entfernt (Core darf App-Shim nicht referenzieren).
- MongoDB.Driver 2.24.0 als Core-Paket (für BsonId-Attribute).
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:27:28 +02:00
bergmandClaude Opus 4.8 e2c01432cd Docs: Phase 2 im Umsetzungsplan als abgeschlossen markiert
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:23:00 +02:00
bergmandClaude Opus 4.8 e312fbbaa7 Phase 2: Konfiguration externalisieren (appsettings.json + IOptions)
- Neue Core-Klasse DatabaseOptions (Sektion "Database"), gebunden via IOptions.
- appsettings.json im App-Projekt (Mongo-Connection + DB-Name), wird in den
  Output kopiert.
- Program.cs: hart codierte "mongodb://localhost:27017" und "PolyTraderDB"
  durch konfigurierte Werte ersetzt.
- Startup-Cleanup-Hack aus dem Kopf von Main() entfernt und gekapselt nach
  dem Host-Build über die konfigurierte DB neu verankert.
- Solution-Build 0 Fehler; appsettings.json im Output verifiziert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:22:37 +02:00
bergmandClaude Opus 4.8 119697a0c0 Docs: Phase 1 im Umsetzungsplan als abgeschlossen markiert
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 16:19:22 +02:00
bergmandClaude Opus 4.8 4f130ff6dd Phase 1: Multi-Projekt-Gerüst (Core / Modules.CopyTrading / App)
- WinForms-Projekt umbenannt zu PolyTrader.App (AssemblyName=PolyTrader.App,
  RootNamespace bleibt PolyTraderSharp → .resx/Namespaces intakt).
- Neue leere Class-Libraries: src/PolyTrader.Core, src/PolyTrader.Modules.CopyTrading
  (net8.0-windows; CopyTrading mit UseWindowsForms für spätere UI-Tabs).
- Referenzen: App → Core + CopyTrading; CopyTrading → Core; Core → nichts.
- App-csproj: src/** vom Globbing ausgeschlossen (keine Glob-Kollision).
- Noch KEIN Code verschoben — App unverändert lauffähig.
- Solution-Build: alle 4 Projekte, 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 15:14:26 +02:00
bergmandClaude Opus 4.8 cc95034f2f Docs: Phase 0 im Umsetzungsplan als abgeschlossen markiert
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:21:59 +02:00
bergmandClaude Opus 4.8 030ad8075c Phase 0: .claude/settings.local.json von Versionierung ausschließen
Maschinenlokale Claude-Code-Einstellungen (ändern sich laufend) gehören
nicht ins Repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:21:26 +02:00
bergmandClaude Opus 4.8 f76ad737d6 Phase 0: Alt-Backups (.bak) und tote Stub-Klassen entfernt
- 11 *.bak-Dateien entfernt (weiterhin im Baseline-Commit rekonstruierbar)
- Tote Stubs entfernt: services/database.cs, services/settings.cs,
  polymarket/{blockchainlistener,polymarket-api,trademanager}.cs
  (leere, unreferenzierte Klassen)
- Debug-Build verifiziert: 0 Fehler

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:20:59 +02:00
bergmandClaude Opus 4.8 475d396f80 Baseline: Ausgangszustand vor Modularisierung
Erster Commit des bestehenden monolithischen WinForms-Copytraders,
inklusive der Alt-Backups (*.bak), damit diese dauerhaft in der
Historie rekonstruierbar bleiben. Threema-Lib unter libs/ wurde
vendored (nested .git entfernt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:16:16 +02:00