4c556be57dc251710c87787d46e9c3398ded6bc4
Behebt #534. Die vier schreibenden Endpunkte verschluckten die Ausnahme des Repositories und meldeten anschliessend unbedingt Erfolg. Das Verschlucken war unschoen; die Reihenfolge war gefaehrlich: copyState wurde auch dann geaendert, wenn die Datenbank abgelehnt hatte. Das Modul handelte danach mit Risikolimits, die nirgends standen, und nach dem naechsten Neustart konnte niemand mehr rekonstruieren, womit es gehandelt hatte. Neu geht der Schreibvorgang zuerst, und der Hauptspeicher wird nur nachgezogen, wenn er gelang. Sonst 500 mit Klartext und unveraenderter Zustand. Fehlt die Ablage ganz, ist die Aenderung ebenso rein fluechtig — auch das wird abgelehnt, mit 503. Betroffen: CopyTrading-Kontoeinstellungen, ResolutionFarming-Kontoeinstellungen, Master-Trader anlegen/aendern, Master-Trader loeschen. Dass alle vier denselben Helfer (PersistenceGuard) benutzen, ist der eigentliche Punkt: Aus je eigenem try/catch je Endpunkt ist die Ungleichheit ueberhaupt erst entstanden. Bewusst anders behandelt bleibt das Archivieren eines Supervisor-Berichts: Die Antwort des Agenten steht dort bereits und hat Geld gekostet: sie wegen eines fehlgeschlagenen Archiveintrags zu verwerfen, waere schlimmer als der fehlende Eintrag, und an diesem Schreibvorgang haengt kein Verhalten des Systems. Stillschweigend verschwindet er aber nicht mehr, sondern wird protokolliert. In der Oberflaeche zeigten die Schreibwege bisher nur "HTTP 500" an und verschenkten damit genau die Begruendung, die der Server jetzt mitliefert. errorText() liest sie aus der Antwort. Entscheidung von Richard: ablehnen statt fluechtig uebernehmen. Damit sind waehrend eines Datenbankausfalls keine Aenderungen an den Einstellungen mehr moeglich; das Handeln selbst laeuft weiter. Geprueft auf der Linux-Test-VM mit angehaltener MariaDB: alle drei Schreibwege antworten mit 500 und nennen den Grund, das Limit bleibt bei 11,25 statt auf 99,99 zu springen, der Phantom-Trader entsteht weder im Hauptspeicher noch in der Datenbank, jeder Fehlschlag steht im Protokoll. Nach dem Wiederanlauf speichert es wieder. 556 von 556 Tests bestanden (5 neue). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Doku (Predictalytics / PolyTraderSharp)
Zentrale Ablage für Roadmap, Leitfäden, Fach- und Business-Dokumente. Code-gekoppelte Pläne bleiben bewusst in diesem Repo (statt in einem separaten Docs-Repo), damit „Plan → umsetzende Commits" nachvollziehbar bleibt.
Wo anfangen?
| ROADMAP.md | Das Steuerungsdokument. Alle Vorhaben, Status, Reihenfolge — was als Nächstes zu tun ist und was bewusst liegen bleibt |
| PROJEKTSTAND.md | Der Ist-Zustand: Architektur, Kennzahlen, Modul-Stand |
Kurzformel: PROJEKTSTAND = was ist. ROADMAP = was kommt.
Leitfäden (vor der Arbeit lesen)
- LEITFADEN-Avalonia-Portierung.md — Arbeitsregeln für die Oberfläche. Vor jeder UI-Arbeit lesen: Layout ist deklarativ, keine festen Farben, Module bleiben frei von Avalonia.
- LEITFADEN-CI.md — was die CI prüft und wie der Gitea-Runner eingerichtet wird.
.agents/rules/clob.md— verbindlich für alles, was Geld bewegt.
Struktur
archiv/— die Umsetzungspläne und Konzepte, aus denen die Roadmap zusammengeführt wurde. Nicht tot: weiterhin die Bauanleitungen mit Code-Bezügen, Akzeptanzkriterien und Begründungen. Nur der Status darin ist eingefroren — dafür gilt ausschließlich die Roadmap. Details inarchiv/README.md.sicherheit/— Sicherheitskonzept und die wiederkehrende Audit-Checkliste. Die offenen Kästchen in Abschnitt 6 sind eine Vorlage für jedes Release, kein Rückstand.steuer/— Steuer-/Buchhaltungs-Fachdokumente und Vorlagen, auch zum Weitergeben an Berater.Accounting-US-Tax-Questionnaire.md— Fragebogen (EN) für die US-Steuerberaterin (Florida LLC).
pruefplaene/— Prüf-/Validierungspläne zum Abarbeiten.PRUEFPLAN-Linux-Betrieb.md— erster Lauf auf einer Linux-VM (Roadmap A4a).PREDICTALYTICS-PRUEFPLAN-Master-Auswahl.md— Master-Trader-Auswahl (separates Predictalytics-Projekt).
ideen/— frühe Ideen, bevor sie zu einem Konzept reifen.- UI-SPEZIFIKATION-WinForms.md — Beschreibung der abgelösten Oberfläche. Vergleichsvorlage für die Abnahme A5.
- IDEENSAMMLUNG-Feldtest-2026-08.md — Beobachtungen aus dem laufenden Einsatz. Nur sammeln, Umsetzung später.
Konventionen
- Eine Statusquelle. Fortschritt wird ausschließlich in der Roadmap gepflegt, nirgends sonst. Bis zum 22.08.2026 stand der Status in einem Dutzend Dokumenten — mehrere davon waren wochenlang falsch.
- Plandokument und Code wandern im selben Commit. Wer etwas abhakt, committet die Roadmap mit.
- Neue Detailpläne:
UMSETZUNGSPLAN-*.md→archiv/umsetzungsplaene/, und in der Roadmap verlinken. Neue Konzepte analog nacharchiv/konzepte/. - Übergreifende, an Externe weitergebbare Dokumente können später in ein eigenes
Predictalytics-Docs-Repo ausgelagert werden (Ordner rausziehen genügt) — für jetzt bewusst hier gebündelt.
Languages
C#
87%
JavaScript
6.5%
HTML
4.6%
CSS
1.3%
PowerShell
0.6%