Phase 1: Modul-System formalisiert (IModule + ModuleRegistry)

- Core/Modules/IModule.cs: Vertrag (Key, DisplayName, Description, Version,
  RegisterServices, InitializeAsync, GetWorkers, CreateWindow)
- Core/Modules/ModuleRegistry.cs
- CongressTradingModule auf IModule umgestellt (instanzbasiert, Platzhalter-Fenster)
- Program.cs iteriert ueber IModule[] + Registry; Form1 initialisiert Module ueber Registry
- Testbarkeit: WorkerBase DB-Log-Seam (virtuell); CapitolTradesScraper.ParseTradesFromHtml
  extrahiert (offline gegen ct_raw.html testbar)
- Tests: ModuleRegistry, CongressTradingModule, WorkerBase, CapitolTradesScraper -> 15/15 gruen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@
This commit is contained in:
Richard
2026-07-27 10:07:47 +02:00
parent 9abad277c2
commit af398353f0
13 changed files with 449 additions and 35 deletions
+7 -6
View File
@@ -101,12 +101,13 @@ WinForms selbst wird **nicht** unit-getestet Logik in Services/Manager halte
- [x] Repo-lokale `NuGet.config` (Test-Pakete in Allowlist ergänzt)
- [x] Erster Smoke-Test grün (`dotnet test` → 2/2 bestanden)
### Phase 1 Modul-System formalisieren (Refactoring, kein Verhaltensänderung)
- [ ] `Core/Modules/IModule.cs` (`Key`, `DisplayName`, `Description`, `Version`, `RegisterServices`, `InitializeAsync`, `GetWorkers`, `CreateWindow`)
- [ ] `Core/Modules/ModuleRegistry.cs`
- [ ] `CongressTradingModule``IModule`
- [ ] `Program.cs` iteriert über Registry statt CongressTrading hart zu nennen
- [ ] Tests: `ModuleRegistry`, `WorkerBase`, `CapitolTradesScraper` (gegen `ct_raw.html`)
### Phase 1 Modul-System formalisieren (Refactoring, kein Verhaltensänderung)
- [x] `Core/Modules/IModule.cs` (`Key`, `DisplayName`, `Description`, `Version`, `RegisterServices`, `InitializeAsync`, `GetWorkers`, `CreateWindow`)
- [x] `Core/Modules/ModuleRegistry.cs`
- [x] `CongressTradingModule``IModule` (instanzbasiert, + Platzhalter-`CreateWindow`)
- [x] `Program.cs` iteriert über `IModule[]` + `ModuleRegistry`; `Form1` initialisiert Module über die Registry
- [x] Testbarkeits-Seams: `WorkerBase.BeginRunLogAsync/EndRunLogAsync`, `CapitolTradesScraper.ParseTradesFromHtml`
- [x] Tests: `ModuleRegistry`, `CongressTradingModule`, `WorkerBase`, `CapitolTradesScraper` (gegen `ct_raw.html`) → **15/15 grün**
### Phase 2 Launcher-UI + Modul-Fenster
- [ ] `Form1``LauncherForm`; Kern-Panels behalten (Workers, Logs, Settings, Core-Status)