68d8d6f8d277c20a2bb26f569bf78ee7e1b58de6
Umsetzung von #560. Die Ansicht "Moduleinstellungen" zeigte bisher nur an, ob ein Modul laeuft. Jetzt laesst sich dort wie im Modul-Tab des Desktops festlegen, welche Module beim naechsten Start geladen werden. POST /api/modules/{name}/enabled nimmt den gewuenschten Zustand ausdruecklich entgegen ({"enabled": true|false}) und schaltet nicht einfach um. Zwei Klicks aus zwei Fenstern heben sich damit nicht auf, und ein wiederholter Aufruf aendert nichts mehr. Fehlerfaelle: - Unbekanntes Modul: 404. - Modul mit Aktivierungs-Blocker: 409. - Fehlender Zustand: 400. Die Pruefung war zuerst lueckenhaft, der Test hat es gefunden: Mit "bool Enabled" machte ein leerer Rumpf {} daraus false, und ein unvollstaendiger Aufruf haette das Modul deaktiviert. Gemeinsame Quelle statt Kopien: - KnownModules: Die Modulliste stand viermal im Code (Program, CoreViews, ModuleViews, hartkodiert im WebUI). Der Start registriert jetzt die eine Liste. - ModuleActivationView: Die Statusregeln des Desktops ("Aktiv - stoppt nach Neustart" usw.) liegen im Core. Desktop und WebUI zeigen dasselbe. ServerSettingsFile - gefunden, bevor das WebUI in die Datei schreiben durfte: ServerSettings.Load verschluckt jeden Lesefehler und liefert Vorgaben. "Frisch lesen, ein Feld aendern, speichern" haette eine gesperrte oder beschaedigte server_settings.xml durch Vorgaben ersetzt, und mit ihr Lizenzschluessel, Watchdog-Token, Mullvad-Account und Alchemy-Key. Genau so schrieb auch der Modul-Schalter des Desktops. ServerSettingsFile: - liest streng und schreibt bei unlesbarer Datei nichts, - schreibt atomar ueber eine Nachbardatei, - erhaelt unter Linux die Dateirechte, - serialisiert Aenderungen prozessweit. Der Desktop-Schalter benutzt ihn jetzt ebenfalls. Tests: Lizenzschluessel, Token und Alchemy-Key bleiben beim Umschalten in der Datei; eine kaputte Datei bleibt Byte fuer Byte unveraendert und die Anzeige bietet dann kein Umschalten an; Blocker, 404, 400, Idempotenz; die Statustabelle; strenges Lesen, atomares Schreiben und Rechte am Dateiobjekt. 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%