Files
Predictalytics/STATUS.md
T
Richard 1131d257cf Eigenständiges token-geschütztes Verwaltungs-WebGUI (Admin WebGUI) hinzugefügt
- Unabhängige Kestrel-Instanz auf Port 5001 (vollständig getrennt vom Analyse-Webserver)
- Admin API Endpunkte ohne Swagger-Exposition
- Token-Gatekeeper mit sofortigem Login-Overlay bei unautorisiertem Zugriff
- Live-Terminal via SSE-Log-Streaming und Log-Download-Übersicht
- Steuerung von Workern, Analyse-Webserver, Wartungsaktionen und Einstellungen
- Nahtlose Integration in Avalonia Desktop-Shell und Linux Headless-Modus
- Unit-Tests für Admin-Filter, Optionen und Log-Puffer
2026-09-07 21:09:03 +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 | **147 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 0–4): .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.)*