Files
PolyTraderSharp/agentspace/antigravity/paket4-abgeschlossen.md
T
RichardandClaude Opus 5 dcc764dec1
CI / Build & Tests (Linux) (push) Canceled after 0s
CI / Plattformneutralität & Hygiene (push) Canceled after 0s
WebUI: Module, Analytics und Buchhaltung als eigene Ansichten
Das WebGUI konnte bisher Dashboard, Konten, Jobs, Logs und Einstellungen.
Die vier Strategie- und Analysemodule waren nur in der Avalonia-Oberflaeche
erreichbar - wer den Server aus der Ferne bediente, sah sie nicht.

Fuenf neue Endpunktgruppen holen sie herein:

  /api/analytics                  KPIs, Equity-Kurve, PnL je Modul und Tag,
                                  durchsuchbare Trade-Historie mit Seitenlauf
  /api/modules/copytrading        Master-Trader (CRUD), offene und
                                  geschlossene Trades, Risikolimits je Konto
  /api/modules/resolutionfarming  Scanner-Kandidaten, Positionen, Historie,
                                  Farming-Parameter je Konto
  /api/modules/supervisor         Profile, Agentenfragen, Berichtsarchiv,
                                  Signal-Dossiers, Counterfactuals
  /api/modules/accounting         BWA-Periodenabrechnung, Ledger-Journal,
                                  PDF- und CSV-Export, Ingest-Laeufe

Dazu im Bestand:
- Dashboard bekommt /overview-widgets: Modul-KPIs (heute/7T/30T), auffaellige
  Trades der letzten 24 Stunden, Warnungen und Fehler des Tages, den letzten
  Supervisor-Bericht.
- Die Kontenliste zeigt 3-Tage-PnL, Winrate, Gesamtergebnis und die
  beteiligten Module statt nur Salden.
- Jobs lassen sich ueber /toggle und /state ein- und ausschalten, nicht nur
  ausloesen.

Die Oberflaeche bleibt ohne Fremdbibliotheken: alle Diagramme sind Inline-SVG,
kein CDN, kein npm. Alle neuen Pfade liegen unter /api/ und damit hinter der
bestehenden Token-Pruefung.

Zwei Fehler nebenbei behoben:

- AccountingReportService.ResolveCurrency lief in eine NullReferenceException,
  wenn der FX-Dienst nicht gesetzt war. Betrifft jeden EUR-Aufruf ohne
  geladene EZB-Kurse.
- Ein Master-Trader, dessen Name ein Apostroph enthaelt, hatte einen toten
  Loeschen-Knopf: escapeHtml laesst ' unberuehrt, und im onclick-Attribut
  beendete das Zeichen das JavaScript-Literal vorzeitig. Laengerer Text mit
  Anfuehrungszeichen konnte darueber eigenen Code einschleusen. Neu setzt
  jsArg() den Wert als JSON-Literal ein; geprueft mit
  O'Brien "quote" <b>bold</b> \ backslash.

McpLightServerTests weicht jetzt aus, wenn HttpListener mangels URL-ACL nicht
binden darf, statt den Lauf scheitern zu lassen.

Geprueft auf der Linux-Test-VM (Ubuntu 26.04, .NET 10): Build ohne Fehler,
533 von 533 Tests bestanden, alle 11 Ansichten und 15 Unteransichten geladen,
alle Endpunkte mit 200 beantwortet, Schreibwege bis in die Datenbank
nachverfolgt, PDF- und CSV-Export gueltig, SSE-Logstrom live.

Offene Befunde aus der Abnahme liegen als #532 (Kopfleiste laeuft unter
1623 px ueber), #533 (EUR-PDF ohne EZB-Kurse liefert Nullbetraege) und #534
(Einstellungen melden Erfolg trotz gescheitertem Speichern) im Bugtracker.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 09:17:49 +02:00

5.2 KiB

Paket 4: Supervisor & Accounting (KI-Berichte, PDF-/CSV-Export & Steuerjournal) — Erfolgreich Abgeschlossen

Status: Abgeschlossen (Build 0 Fehler, 529 Tests bestanden)

1. Übersicht & Ziel

In Paket 4 wurden die Funktionen des KI-Supervisors (PolyTrader.Modules.Supervisor) und der Finanzbuchhaltung / BWA (PolyTrader.Modules.Accounting) aus der Desktop-GUI (SupervisorWindow.axaml und AccountingWindow.axaml) vollständig in das WebInterface portiert.

Damit verfügt das WebInterface nun über einen vollwertigen AI-Copilot-Chat (mit Profilen und Tool-Invocations), Dossier-Inspektor, Archiv für generierte Berichte, Counterfactual-Analysen (Vergleich abgelehnter Trades mit tatsächlichem Marktausgang), eine offizielle BWA-Periodenabrechnung mit EZB-Währungsumrechnung (USDC / USD / EUR), direkte PDF- und CSV-Downloads sowie ein durchsuchbares und paginiertes Blockchain-Ledger-Journal.

2. Implementierte Komponenten

Backend Endpoints

  • src/PolyTrader.Web/Endpoints/SupervisorEndpoints.cs:
    • GET /api/modules/supervisor/profiles: Verfügbare Supervisor-Profile (Allgemein, Technik, CopyTrading, ResolutionFarming).
    • POST /api/modules/supervisor/ask: Interaktive Anfrage an den LLM-Agenten (SupervisorAgent), Tool-Invocations, Token-Zählung und automatische Archivierung als Bericht.
    • GET /api/modules/supervisor/reports: Gespeicherte Supervisor-Berichte im Archiv (paginiert / limitiert).
    • GET /api/modules/supervisor/reports/{id}: Volltext und Metadaten eines einzelnen Berichts.
    • GET /api/modules/supervisor/dossiers: Übersicht der analysierten Trading-Signale mit Entscheidungen und Begründungen.
    • GET /api/modules/supervisor/dossiers/{signalId}: Vollständiges Trade-Dossier mit Markdown-Rendering (DossierBuilder.ToMarkdown).
    • GET /api/modules/supervisor/counterfactuals: Realitäts-Abgleich für abgelehnte Signale (Hypothetischer PnL je Share).
  • src/PolyTrader.Web/Endpoints/AccountingEndpoints.cs:
    • GET /api/modules/accounting/statement: Aggregierte BWA-Periodenabrechnung (Anfangs-/Endbestand, Handelsvolumen, Ein-/Auszahlungen, Gebühren, Netto-Ergebnis) mit FX-Umrechnung (USDC, USD, EUR).
    • GET /api/modules/accounting/export/pdf: Direkter Binärstream (application/pdf) für die druckreife Periodenabrechnung (PdfExporter.Render).
    • GET /api/modules/accounting/export/csv: Direkter CSV-Download (text/csv) aller Ledger-Einträge des Zeitraums (CsvExporter.Ledger).
    • GET /api/modules/accounting/ledger: Buchungsjournal mit Suche (Markt, TxHash, Event) und Server-Paginierung.
    • GET /api/modules/accounting/runs: Historie der Blockchain-Ingestion-Läufe inklusive Soll-Ist-Saldendifferenz.
    • POST /api/modules/accounting/ingest: Manueller Start eines Ingestions-Laufs (Live oder Backfill).
  • src/PolyTrader.Web/Hosting/WebUiHostingExtensions.cs:
    • Registrierung von MapSupervisorEndpoints() und MapAccountingEndpoints().

Frontend

  • src/PolyTrader.Web/wwwroot/index.html:
    • Neue Navigationspunkte "Supervisor" und "Accounting" in der Header-Leiste.
    • View #view-supervisor mit 4 Sub-Tabs:
      1. AI Copilot Chat: Interaktiver Chat mit Preset-Prompts, Profil- und Modell-Auswahl, Tool-Call-Details.
      2. Berichte-Archiv: Tabelle aller generierten Supervisor-Berichte mit Volltext-Ansicht.
      3. Signal-Dossiers: Aufgezeichnete Signale mit One-Click-Dossier-Inspektor.
      4. Counterfactuals: Analyse abgelehnter Trades vs. Wirklichkeit.
    • View #view-accounting mit 3 Sub-Tabs:
      1. BWA & Periodenabrechnung: Datumsfilter, Währungswahl (USDC/USD/EUR), 4 KPI-Karten, monatliche Tabelle, PDF- und CSV-Export-Buttons.
      2. Ledger-Journal: Durchsuchbare und paginierte Tabelle aller On-Chain- und Trade-Transaktionen mit Polygonscan-Links.
      3. Sync & Ingest Läufe: Status der Datenabrufe und Dialog zum manuellen Start eines Blockchain-Syncs.
    • Universelles Modal #modalReport zur formatierten Darstellung von Langtext-Berichten und Markdown-Signal-Dossiers.
  • src/PolyTrader.Web/wwwroot/css/app.css:
    • Chat-Box-Layout, Prompt-Presets, User- und Assistant-Chat-Bubbles, einklappbare Tool-Details, Währungsauswahl-Pills (.currency-pills), formatierte Markdown-Boxen (.markdown-pre).
  • src/PolyTrader.Web/wwwroot/js/app.js:
    • Chat-Handling inklusive Streaming/Asynchron-Feedback, Bubble-Rendering und Fehlertoleranz.
    • Abruf und Anzeige von Berichten, Signal-Dossiers und Counterfactuals.
    • BWA-Berechnung mit Währungswechsel, PDF/CSV-Download-Trigger.
    • Paginierung und Suche im Ledger-Journal sowie Blockchain-Sync-Trigger.

Tests & Verifikation

  • tests/PolyTrader.Tests/WebUi/SupervisorAndAccountingEndpointsTests.cs:
    • 8 Unit-Tests für SupervisorProfiles, AskRequest-Validierung, Report-Serialisierung, Counterfactual-Metriken, Währungsumrechnung (USDC/USD/EUR), BWA-Saldenlogik, Ledger-Suche/-Paginierung und IngestRun-Tracking.
  • Gesamtergebnis Testlauf: 529 von 529 Tests bestanden (100% Erfolgsquote, 0 Fehler).
  • Debug-Build: Erfolgreich ausgeführt (0 Fehler).

Nächstes Paket: Paket 5: Feinschliff & End-to-End-Audit (Abschluss-Audit aller Web-Routen, Konsistenzprüfung Desktop vs. Web, Bereinigung temporärer Artefakte).