Commit Graph
3 Commits
Author SHA1 Message Date
RichardandClaude Opus 5 5507db3e32 CI fuer Gitea Actions: Build und Tests auf Linux plus Waechter gegen Rueckfaelle
Die Plattformneutralitaet war nach dem WinForms-Ausbau eine Momentaufnahme: eine
einzige net10.0-windows-Zeile oder ein "using System.Drawing" genuegt, und der
Linux-Build ist kaputt, ohne dass es auf einer Windows-Maschine auffaellt - dort
baut es weiter. Genau das faengt die CI ab, und zwar auf Linux.

.gitea/workflows/ci.yml, zwei Jobs auf ubuntu-latest:

- build-test: restore, build, die 476 Tests (brauchen keine DB, laufen gegen
  EF-InMemory), Linux-Publish. Der Publish ist kein Selbstzweck - dort faellt
  auf, wenn ein Paket doch windows-only ist. Anschliessend wird geprueft, dass
  die Executable, appsettings.json, setup.json und libSkiaSharp.so wirklich im
  Ergebnis liegen.
- guard: keine windows-TFMs, kein UseWindowsForms/UseWPF, keine windows-only
  using-Direktiven, keine versionierten Secret-Dateien, keine anfaelligen Pakete.

Alle Waechter sind in beide Richtungen gegengeprueft: sie schlagen bei
simulierten Regressionen an (windows-TFM, UseWindowsForms, using System.Drawing,
getrackte packager.config.json samt dc_sub_-Token, Newtonsoft 11.0.2) und
schweigen beim Ist-Zustand. Die Namespace-Pruefung trifft bewusst nur echte
using-Direktiven: im Bestand steht an vielen Stellen erklaert, WARUM
System.Drawing nicht verwendet wird, und das darf keinen Fehlalarm ausloesen.

Der Schwachstellen-Check ist Punkt 1 der wiederkehrenden Audit-Checkliste aus
dem Sicherheitskonzept - laeuft ab jetzt bei jedem Push statt quartalsweise von
Hand. Er wuerde zum Beispiel anschlagen, wenn der Newtonsoft-Pin im Core faellt.

Bewusst kein -warnaserror: die 15 vorhandenen Warnungen muessten erst weg, sonst
ist die CI ab dem ersten Tag rot und wird ignoriert.

WICHTIG - die CI laeuft noch nicht: auf der Gitea-Instanz ist kein Actions-Runner
registriert (auf Repo-, Benutzer- und Instanzebene geprueft, ueberall 0).
has_actions ist true, es fehlt nur der Runner. Einrichtung Schritt fuer Schritt
in docs/LEITFADEN-CI.md Abschnitt 3.

.gitattributes neu: erzwingt LF fuer .yml/.sh/.service. Entwickelt wird mit
autocrlf=true auf Windows, ausgefuehrt auf Linux - ein Shell-Skript mit CRLF
scheitert dort mit irrefuehrenden Meldungen. Bisher gab es keine .gitattributes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 11:25:01 +02:00
RichardandClaude Opus 5 1fd3671b42 Projektstand dokumentiert; Modularisierungsplan auf den Iststand nachgezogen
docs/PROJEKTSTAND.md neu: Einstiegsdokument mit Gesamtueberblick - Architektur,
Modul-Stand, was abgeschlossen ist und was offen. Alle Angaben am Code
nachgeprueft, nicht aus den Plandokumenten uebernommen. Die offenen Punkte sind
danach getrennt, ob sie am Schreibtisch erledigt werden koennen oder echtes
Geld/den Zielserver brauchen - das war vorher nirgends zusammengefasst.

Modularisierungsplan korrigiert: Die Phasen 3 bis 6 standen auf "IN ARBEIT"
beziehungsweise offen, obwohl die Arbeit seit Wochen getan war. Nachgeprueft und
abgehakt sind unter anderem:
- Phase 5: alle Modul-Services liegen im Modulprojekt, frm_main ist weg, alle
  vier Module implementieren IPolyTraderModule
- Phase 6: komplett - kein MongoDB.Driver/LiteDB mehr in irgendeiner csproj
- Phase 7 teilweise: 476 Tests, keine leeren catch-Bloecke mehr,
  Secrets-Verschluesselung umgesetzt (AES-GCM statt DPAPI, da DPAPI Windows-only
  ist und die Linux-Portierung blockiert haette)
Offen bleiben aus Phase 7 nur God-Methoden und die TerminalLogger-Umstellung.

Beim Nachpruefen aufgefallen: Accounting A-3 (US-Steuerschicht, Form 8949) ist
entgegen der bisherigen Annahme nicht gebaut - es gibt keinen UsTaxEngine.
A-2 und A-4 dagegen sind da. Im Projektstand vermerkt.

docs/README.md verweist jetzt auf den Projektstand und fuehrt die bisher
fehlenden Ordner sicherheit/ und den Deploymentcenter-Plan auf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 11:04:02 +02:00
RichardandClaude Opus 4.8 c5f0b1d188 Docs: Konzepte/Plaene in docs/ mit Typ-Unterordnern buendeln
Root aufgeraeumt: alle Konzept-/Plan-/Fach-Dokumente nach docs/ verschoben,
organisiert nach Typ (wie fuer ein separates Docs-Repo vorgeschlagen, aber bewusst
in diesem Repo, damit Plan->umsetzende-Commits nachvollziehbar bleiben):
- docs/konzepte/       (KONZEPT-*)
- docs/umsetzungsplaene/ (UMSETZUNGSPLAN-*)
- docs/ideen/          (fruehe Ideen, Platzhalter)
- docs/pruefplaene/    (PRUEFPLAN-*)
- docs/steuer/         (Steuer-/Buchhaltungs-Doks, z.B. US-CPA-Fragebogen)
- docs/README.md       (Index/Konventionen)

Getrackte Plaene als Rename verschoben (History erhalten); zuvor untracked Konzept-/
Plan-Dateien jetzt versioniert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:15:08 +02:00