Files
Predictalytics/STATUS.md
T
RichardandClaude Opus 5 97756f24b8 Roadmap 1.1: nach main gebracht, zehn Feature-Zweige entfernt
main war als Fast-Forward auf feature/linux-net10 zu ziehen; beide stehen jetzt
auf 402c372. Vor dem Push gegen einen vollstaendigen Rebuild geprueft:
warnungsfrei, 126 Tests gruen.

Die zehn Feature-Zweige der Analytik- und Portierungsarbeit sind lokal und auf
origin geloescht. Neun waren restlos in main enthalten (rev-list einzeln
geprueft). Der zehnte, fix-event-description-truncation, nur inhaltlich: sein
Fix und sein Regressionstest stecken seit cb58e09 in main, der Commit selbst
wurde nie gemergt - der Unterschied beschraenkte sich auf den Kommentartext und
ein static. Damit das Loeschen nichts vernichtet, haelt ihn jetzt der Tag
archiv/fix-event-description-truncation (8a8a353) fest.

feature/linux-net10 bleibt vorerst stehen und ist mit main identisch.

STATUS.md und ROADMAP.md entsprechend nachgezogen: Zweig-Uebersicht, Build gilt
jetzt als warnungsfrei, und die drei bestimmenden offenen Punkte sind neu
sortiert - der Linux-Erstlauf ist jetzt der groesste Block, der geloeschte
API-Schluessel nur noch der Hinweis, dass die KI-Analyse bis zum Hinterlegen
eines neuen Schluessels ruht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 14:11:56 +02:00

128 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Predictalytics — Stand des Projekts
> Bestandsaufnahme vom **2026-08-23**, erstellt beim Frühjahrsputz. Jede Aussage hier ist
> gegen den Code geprüft, nicht aus den Plandokumenten übernommen — die waren zu diesem
> Zeitpunkt durchweg veraltet.
>
> Dieses Dokument beschreibt den **Ist-Stand**. Was ansteht, steht in
> [`ROADMAP.md`](ROADMAP.md); die abgelösten Plandokumente liegen unter
> [`docs/archiv/`](docs/archiv/).
---
## 1. Wo wir stehen
Predictalytics analysiert Polymarket-Trader auf ihre Eignung fürs Copytrading. Die
Anwendung ist **funktional vollständig und läuft im Betrieb**: 151.094 Trader und
38,2 Mio. Trades in der Produktivdatenbank (Stand 2026-08-08).
Der Hauptzweig ist `main`; die Portierung auf .NET 10 und Avalonia ist dort seit dem
2026-08-24 angekommen (`402c372`). `feature/linux-net10` steht auf demselben Stand.
| | |
|---|---|
| Zielframework | net10.0, ein einziges für alle Projekte |
| Oberfläche | Avalonia 12.1.1 (Windows + Linux), zusätzlich ein Headless-Modus |
| Datenzugriff | EF Core **9** (bewusst; Pomelo hat keinen EF-10-Provider), 32 Migrationen |
| Tests | **126 grün, 1 bewusst übersprungen** |
| Build | fehlerfrei und **warnungsfrei** |
### Aufbau
```
Predictalytics.Domain 1.321 Z. Entities, Enums, Repository-Interfaces
Predictalytics.Application 3.036 Z. Analytik, Scoring, Kalkulatoren
Predictalytics.Infrastructure 4.966 Z. EF-Kontext, Repositories, Provider (+65 Migrationsdateien)
Predictalytics.Worker 2.449 Z. 13 Hintergrunddienste
Predictalytics.Api 896 Z. Minimal-API-Endpunkte + WebUI (3.247 Z. HTML/JS/CSS)
Predictalytics.Hosting 1.972 Z. Plattformneutraler Kern: Kestrel, Worker, Lizenz, Heartbeat
Predictalytics.Shell 1.305 Z. Avalonia-Bedienhülle
Predictalytics.Application.Tests 3.216 Z. 126 Tests
```
`Predictalytics.Hosting` hängt an einem **Schwester-Repo**: `Deploymentcenter` muss neben
dem Predictalytics-Checkout liegen, sonst bricht der Build mit einer erklärenden Meldung ab.
---
## 2. Was fertig ist
Alles Folgende ist im Code belegt; die Belegstellen stehen in den archivierten Plandokumenten
unter [`docs/archiv/`](docs/archiv/).
* **Kernanalytik** ([`archiv/UMSETZUNGSPLAN.md`](docs/archiv/UMSETZUNGSPLAN.md), Phase 1): positionsbasierte PnL-Engine nach
Average-Cost mit sauberer Behandlung jeder `TradeSide`, marktbasierte Win-Rate,
Deep-Dive-Kennzahlen aus echter Preishistorie, Copytrading-Score aus gemessenem
Alpha-Verfall gegen das Markt-Tape.
* **Robustheit** (Phase 2): EF-Migrationen statt handgeschriebener `ALTER TABLE`,
entkoppelte Scoring-Pipeline, Log-Retention, Testprojekt. Alle fünf Bugs aus dem
Review-Pass vom 2026-07-01 sind behoben.
* **Speicher-Haushalt** ([`archiv/FIXPLAN-G-Speicher.md`](docs/archiv/FIXPLAN-G-Speicher.md)): budgetabhängiges Retention-Fenster,
Burst-Kompaktierung, Per-Kategorie-Edge.
* **Kategorie-Erkennung** ([`archiv/FIXPLAN-TODO.md`](docs/archiv/FIXPLAN-TODO.md), Teil F): kanonische Tag-Tabelle,
Rausch-Filter, Tag-Nachladen für On-Demand-Märkte, Offline-Backfill beim Start.
* **HF-Trader-Tiering** (Teil D): `IngestMode` mit Hysterese, wöchentliche Biopsie,
Aggregations-Buckets.
* **Web-UI** ([`archiv/FIXPLAN-UI-Ranglisten.md`](docs/archiv/FIXPLAN-UI-Ranglisten.md)): Showcase-Sektionen, serverseitige Sortierung
und Filterung.
* **Copytrading-Analytik**: Co-Movement samt Clusterung, Strategie-Drift, Edge-Freshness,
Copy-Portfolio, Insider-Feed — alle fünf Vorschläge der Roadmap sind umgesetzt und
in diesem Zweig enthalten.
* **Portierung** ([`archiv/PLAN-Linux-Portierung.md`](docs/archiv/PLAN-Linux-Portierung.md), Phasen 04): .NET 10, extrahierter
Hosting-Kern, Avalonia-Shell, abgesicherte Steuerendpunkte, plattformfeste Kultur- und
Log-Pfade. Der WinForms-Host ist entfernt.
* **Betriebsanbindung**: Lizenz, Watchdog, UpdateService, Fehler-Stream und Bugtracker
laufen alle über das Deployment Center.
---
## 3. Was offen ist
Die offenen Punkte stehen vollständig und nach Reihenfolge sortiert in
**[`ROADMAP.md`](ROADMAP.md)** — hier nur die drei, die den Blick aufs Ganze bestimmen:
1. **Die Portierung ist auf keinem Linux-System je gelaufen.** Der Code ist plattformneutral
gebaut, die Ende-zu-Ende-Prüfung vom 2026-08-08 lief aber unter Windows. Solange das
aussteht, ist „läuft unter Linux" eine Annahme. Roadmap Stufe 2 — der größte offene Block.
2. **Die Strategie-Klassifikation ist faktisch wirkungslos** — zwei Signale, der Großteil
der Trader landet auf `Unknown`, und die Logik steht doppelt da. Roadmap 3.1.
3. **Die KI-Analyse ist ohne Schlüssel abgeschaltet.** Der alte OpenRouter-Schlüssel ist
entfernt (er war inaktiv); ein neuer gehört in die Umgebungsvariable `OpenRouter__ApiKey`,
nicht in `appsettings.json`. Bis dahin überspringt die Anwendung die Analyse mit einer
Warnung, alles andere läuft normal. Roadmap 0.1.
---
## 4. Zweige
Aufgeräumt am 2026-08-24. Es gibt nur noch zwei, beide auf `402c372`:
* **`main`** — der Hauptzweig, aktuell.
* **`feature/linux-net10`** — identisch mit `main`, bleibt vorerst stehen.
Die zehn Feature-Zweige der Analytik- und Portierungsarbeit sind lokal und auf origin
gelöscht. `fix-event-description-truncation` war der einzige, dessen Commit nie gemergt
wurde (nur sein Inhalt, seit `cb58e09`); er ist als Tag
`archiv/fix-event-description-truncation` festgehalten.
---
## 5. Bewusst stehengelassen
Beim Aufräumen geprüft und **nicht** entfernt, weil Löschen hier Funktionsverlust wäre und
nicht Entrümpelung. Dieselbe Liste steht im Anhang der [`ROADMAP.md`](ROADMAP.md), damit sie
nicht versehentlich als Aufgabe wieder auftaucht:
| Was | Warum es bleibt |
|---|---|
| `Providers/Azuro/AzuroProvider.cs` | Platzhalter mit `IsImplemented => false`. Die Worker überspringen ihn sauber; er kostet nichts und markiert den Ausbaupfad. |
| `Providers/Limitless/` (3 Dateien) | **Voll implementierter** zweiter Marktplatz mit `IsImplemented => true`. Wird produktiv nur nicht bespielt. |
| `Services/CopytradingBacktestHarness.cs` (123 Z.) | Fertig implementierter Latenz-Sweep, per DI registriert, aber **von niemandem aufgerufen**. Entscheidung steht aus, siehe Roadmap 3.2. |
| `wwwroot/landing.html`, `wwwroot/docs.html` | Marketing-Seiten mit Preis-Abschnitt, vom Dashboard aus nicht verlinkt. Passen zur später angedachten Monetarisierung. |
| 65 Migrationsdateien | Die Schemahistorie. Zusammenfassen ginge, ist aber riskant — siehe Roadmap 4.4. |
*(Ein hier zuvor notierter Nebenbefund — der Kategorie-Backfill lade beim Start alle Märkte
in den Speicher — war in zwei Punkten falsch: er läuft nicht beim Start, sondern nur in der
manuellen Aktion „Recalculate All Traders", und die Abfrage ist seit dem 2026-08-24
eingeschränkt. Siehe Roadmap 1.3.)*