Files
RichardandClaude Opus 5 6218a04fe4 Eine Roadmap statt fuenfzehn Plandokumente; Altbestand ins Archiv
Der Status des Projekts stand verstreut in elf Umsetzungsplaenen, drei
Konzepten, der Linux-Analyse und dem Projektstand - teils widersprechend, teils
wochenlang veraltet. Ab jetzt gibt es genau eine Statusquelle.

docs/ROADMAP.md (neu):
- Alle Vorhaben in vier Stufen A bis D, plus technische Schuld und Verlauf.
  Die Stufen sind eine Reihenfolge, keine Termine: jede schafft die
  Voraussetzung fuer die naechste.
- Statuszeichen: erledigt / offen / blockiert (mit Ursache) / bewusst
  zurueckgestellt / Idee, nicht beschlossen. Damit ist das, was wir NICHT bauen
  wollen, sichtbar vorgehalten statt unauffindbar in einem Plan zu schlummern.
- Inhaltlich getragen, nicht nur verlinkt: je Vorhaben Ziel, Phasen,
  Akzeptanzkriterien, offene Entscheidungen und Leitplanken aus den Quelldokumenten.
- Sichtbar gemacht, was vorher zwischen den Dokumenten verborgen lag:
  CopyTrading Phase 1 ist der Engpass der gesamten Roadmap (MarketMaking und
  BundleArbitrage haben harte Voraussetzungen darauf), und die Sniper-Metriken
  aus Phase 3.2 sind ein Spezialfall des StrategieDrift-Fingerprints - zusammen
  bauen statt doppelt.

Archiv (docs/archiv/):
- 15 Dokumente verschoben (11 Umsetzungsplaene, 3 Konzepte, ANALYSE-Linux-Portierung).
  Sie bleiben die Bauanleitungen mit Code-Bezuegen, Risikotabellen und
  Begruendungen - eingefroren ist nur ihr Status.
- archiv/README.md ordnet jedes Dokument seinem Roadmap-Punkt zu.

Verweise nachgezogen - der eigentliche Aufwand:
- 25 Markdown-Links repariert. 15 davon verschiebungsbedingt (eine Ebene
  tiefer), der Rest war schon vorher falsch: die Ideensammlung verlinkte
  Quellcode relativ zum Repo-Wurzelverzeichnis statt zu docs/.
- 12 Dateien ausserhalb von docs/ verwiesen in Kommentaren auf die Plaene
  (csproj, props, setup.json, sechs Quelldateien) - alle auf archiv/ umgebogen.
- Verweise auf Dateien, die der Fruehjahrsputz geloescht hat (Ui/,
  Program.cs, WindowMenuBar), zu Klartext entschaerft statt tote Links zu lassen.
- Gegenprobe: 85 Links geprueft, 0 kaputt. Build gruen, 476 Tests gruen.

PROJEKTSTAND.md entdoppelt: Abschnitt "Offen" verweist jetzt auf die Roadmap.
Arbeitsteilung ist damit klar - Projektstand sagt was IST, Roadmap was KOMMT.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 18:56:50 +02:00

8.5 KiB
Raw Permalink Blame History

Projektstand PolyTrader

Stand: 22.08.2026 · erstellt beim Frühjahrsputz, alle Angaben am Code nachgeprüft (nicht aus Plandokumenten übernommen — mehrere davon waren veraltet).

Arbeitsteilung: Dieses Dokument beschreibt, was ist — Architektur, Kennzahlen, Modul-Stand. Was kommt, steht in der ROADMAP.md. Die Detailpläne im Archiv bleiben maßgeblich für das Wie.


1. Kurzfassung

PolyTrader ist eine modulare Trading- und Analyse-Suite für Polymarket: ein schlanker Core und vier eigenständige Module, dazu eine plattformneutrale Avalonia-Oberfläche.

Projekte 7 (Core, 4 Module, Avalonia-App, Tests) — alle auf net10.0
Plattform Windows und Linux. Seit dem 22.08.2026 kein net10.0-windows mehr im Repo; Linux-Publish verifiziert
Produktivcode ~27.100 LOC, davon Core ~8.000, CopyTrading ~7.700, UI ~4.900
Tests 476, alle grün (~5.700 LOC)
Build 0 Fehler, 15 Warnungen (alle im Avalonia-Projekt, siehe §5.3)
Sicherheit 0 anfällige Pakete über alle 7 Projekte, inkl. transitiver
Datenbank MySQL über EF Core / Pomelo. Mongo und SQLite vollständig entfernt

Der große Bogen ist geschlossen. Aus dem monolithischen WinForms-Copytrader ist ein modulares, plattformneutrales System geworden. Was noch offen ist, teilt sich sauber in zwei Gruppen: Dinge, die nur im Zielland mit echtem Geld abgenommen werden können, und bewusst zurückgestellte Neuentwicklung.


2. Architektur

PolyTrader.Core          Host, Persistenz (EF/MySQL), Settings, Jobs, Logging,
                         CLOB-Client, Streaming, Security, Deploymentcenter-Anbindung
   │
   ├── Modules.CopyTrading        Master-Trader spiegeln
   ├── Modules.ResolutionFarming  Favoriten nahe Auflösung
   ├── Modules.Supervisor         KI-gestützte Handelsanalyse (OpenRouter)
   └── Modules.Accounting         Unabhängige Buchhaltung aller Live-Accounts
   │
PolyTrader.App.Avalonia  Einfenster-Shell mit Seitenleiste

Leitprinzip, das gehalten hat: Der Core kennt keine Module. Module registrieren sich über IPolyTraderModule und liefern ihre Ansichten über einen toolkit-neutralen UI-Contract — deshalb war der Wechsel von WinForms nach Avalonia überhaupt möglich, ohne die Fachlogik anzufassen.


3. Modul-Stand

Modul Stand Offen
CopyTrading Produktiv nutzbar. Rentabilitätsplan und alle Review-Fixes umgesetzt CLOB-User-/Market-WSS-Kanal + Orderbuch-Check, Partial-Fill-Verdrahtung, echte fee_rate_bps — alles live-gebunden
ResolutionFarming Slices 05 fertig: Logik, Persistenz, Scanner, UI, Demo-Execution, Monitor Live-Anbindung und On-Chain-Redeem
Supervisor S-0 bis S-4 komplett: Journal, Dossiers, OpenRouter-Agent, Profile, Berichte, Counterfactual Predictalytics-Werkzeuge (API existiert noch nicht), Live-Key-Test
Accounting A-1 Ingest, A-2 Abrechnung/BWA/FX und A-4 Export (CSV + PDF) sind gebaut A-3 US-Steuerschicht fehlt vollständig — kein UsTaxEngine, kein Form-8949/Schedule-D

4. Abgeschlossen

  • Modularisierung (Phasen 06) — Core + vier Module, kein Monolith mehr
  • MySQL-Migration — Mongo restlos raus, core_/mod_-Schema, Migration über --migrate-json / --verify-mysql gelaufen
  • Linux-Portierung, UI-Teil — WinForms vollständig nach Avalonia portiert (A1A4), LiveCharts2 statt ScottPlot, kategorisierter SettingsEditor statt PropertyGrid
  • Einfenster-Shell — Mehrfenster-Launcher durch eine Shell mit Seitenleiste ersetzt
  • Deploymentcenter-Integration (D-0 bis D-5) — Lizenz, Watchdog, Fehler-Reporting, Auslieferung und Erstinstallation, code-seitig
  • Sicherheit F1F6 — AES-GCM at-rest für Keys über POLYTRADER_MASTER_KEY, keine Secrets in Argumenten oder Logs
  • WinForms-Ausbau (P11/L5) und LicenseLabrador-Ablösung (D-6) — 22.08.2026

5. Offen

Steht vollständig in der ROADMAP.md. Dort sind alle Vorhaben nach Stufen geordnet, mit Blockern und Begründungen — dieses Dokument beschreibt den Ist-Zustand, die Roadmap den Weg nach vorn. Kurz zusammengefasst:

  • Stufe A — Abnahme & Fundament: A5-Abnahme der Oberfläche, CI-Runner, Deploymentcenter live, systemd/Feldtest, Master-Key im Zielland
  • Stufe B — Module scharf schalten: CopyTrading Phase 1 (Marktdaten-Fundament, der wichtigste Einzelposten), ResolutionFarming live, AutoRedeem, Accounting A-3/A-5
  • Stufe C — Neue Strategiemodule: MarketMaking, BundleArbitrage (beide hängen an CopyTrading Phase 1), StrategieDrift und AI-Auflösequalität (zurückgestellt)
  • Stufe D — Nicht beschlossen: DataDriven, Predictalytics-Anbindung
  • Technische Schuld: 15 Build-Warnungen, TerminalLogger/Zeitzone, God-Methoden

6. Der Frühjahrsputz vom 22.08.2026

Zwei Commits: dd8da3f sicherte den unversionierten Arbeitsstand (58 Dateien: die Deploymentcenter-Integration und die Einfenster-Shell lagen uncommittet im Arbeitsbaum), bf8048b räumte auf.

Entfernt — 124 Dateien, 10.619 Zeilen weniger:

  • Das WinForms-Projekt samt Ui/, Models/, Licensing/, services/, Properties/, Resources/icons/, Program.cs, favicon.ico und PolyTrader.App.csproj
  • LicenseLabrador.Client aus lib/nuget und dem Quellen-Mapping
  • agentspace/ (30 Dateien: WinForms-Designer-Patcher, fix_mongo.py, Wegwerfskripte)
  • Ideen-fuer-Mittwoch.txt, das Root-appsettings.json (Duplikat), lokal MongoDB/, data.db und eine .bak-Datei

Beim Aufräumen aufgefallen und mitbehoben:

  • Der Rückfall-Tag winforms-final lag nur lokal und war nicht auf dem Server — genau die Sicherung, auf die sich die Doku als Fallback beruft. Jetzt gepusht.
  • Die Avalonia-App band ihre PNG-Symbole aus dem Repo-Root ein (..\..\Resources\*.png) und hätte sie beim Ausbau verloren. Sie liegen jetzt in src/PolyTrader.App.Avalonia/Assets/; der avares://-Pfad blieb gleich.

Bewusst nicht entfernt, obwohl Pläne es nahelegten:

  • Newtonsoft.Json im Core ist kein toter Ballast, sondern ein Sicherheits-Pin: Nethereum 6.1.0 würde sonst transitiv auf 11.0.2 auflösen (GHSA-5crp-9r3c-p9vr).
  • Die Watchdog*-Felder in ServerSettings. Schnitt D-6 verlangte ihre Entfernung, aber D-1 hatte sie zuvor auf die Deploymentcenter-API umgewidmet. Sie sind in Gebrauch; ein Entfernen wäre ein Rückschritt gewesen.
  • Resources/*.png — siehe oben.

Gesucht und nicht gefunden: toter Code. Eine Prüfung aller 285 Typen in src/ gegen ihre Verwendung ergab keinen einzigen verwaisten Typ. Die scheinbaren Treffer waren EF-Design-Time-Factories und Migrationen (per Reflection genutzt) sowie Null-Stubs, die über DI registriert sind. Auch leere catch {}-Blöcke: keine.

Doku nachgezogen: Der Modularisierungsplan führte die Phasen 36 als „IN ARBEIT" beziehungsweise offen, obwohl sie seit Wochen erledigt waren — die Häkchen sind jetzt am Code nachgeprüft gesetzt. Der Watchdog/LicenseLabrador-Plan ist als abgelöst gekennzeichnet, ANALYSE-Linux-Portierung.md steht auf Revision 6.


7. Doku-Landkarte

Dokument Rolle
ROADMAP.md Das Steuerungsdokument — alle Vorhaben, Status, Reihenfolge
PROJEKTSTAND.md Dieses Dokument — der Ist-Zustand: Architektur, Kennzahlen, Modul-Stand
archiv/ Die Detailpläne, aus denen die Roadmap entstand. Weiterhin die Bauanleitungen
LEITFADEN-Avalonia-Portierung.md Arbeitsregeln für die Oberfläche. Vor jeder UI-Arbeit lesen
LEITFADEN-CI.md Was die CI prüft und wie der Gitea-Runner eingerichtet wird
UI-SPEZIFIKATION-WinForms.md Beschreibung der alten Oberfläche — Vergleichsvorlage für A5
sicherheit/SICHERHEITSKONZEPT.md Konzept + wiederkehrende Audit-Checkliste. Die offenen Kästchen dort sind eine Vorlage, keine Rückstände
IDEENSAMMLUNG-Feldtest-2026-08.md Beobachtungen aus dem laufenden Einsatz. Nur sammeln
.agents/rules/clob.md Regeln für alles, was Geld bewegt

Abgelöst, nur noch Verlauf: UMSETZUNGSPLAN-Watchdog-LicenseLabrador-Integration.md


8. Wie es weitergeht

Die Reihenfolge steht in der ROADMAP.md. Die kürzeste Fassung: erst die Abnahmen aus Stufe A abschließen (dort steckt fertige Arbeit, die nur noch bestätigt werden muss), dann CopyTrading Phase 1 — daran hängen beide geplanten Strategiemodule.