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>
8.5 KiB
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 0–5 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 0–6) — Core + vier Module, kein Monolith mehr
- MySQL-Migration — Mongo restlos raus,
core_/mod_-Schema, Migration über--migrate-json/--verify-mysqlgelaufen - Linux-Portierung, UI-Teil — WinForms vollständig nach Avalonia portiert (A1–A4),
LiveCharts2 statt ScottPlot, kategorisierter
SettingsEditorstattPropertyGrid - 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 F1–F6 — 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.icoundPolyTrader.App.csproj LicenseLabrador.Clientauslib/nugetund dem Quellen-Mappingagentspace/(30 Dateien: WinForms-Designer-Patcher,fix_mongo.py, Wegwerfskripte)Ideen-fuer-Mittwoch.txt, das Root-appsettings.json(Duplikat), lokalMongoDB/,data.dbund eine.bak-Datei
Beim Aufräumen aufgefallen und mitbehoben:
- Der Rückfall-Tag
winforms-finallag 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 insrc/PolyTrader.App.Avalonia/Assets/; deravares://-Pfad blieb gleich.
Bewusst nicht entfernt, obwohl Pläne es nahelegten:
Newtonsoft.Jsonim 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 inServerSettings. 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 3–6 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.