-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
ciCI/workflow changeCI/workflow changetestTest changeTest changeversioning:patchFix/Refactor/Docs/CI/Tooling; requires PATCH bumpFix/Refactor/Docs/CI/Tooling; requires PATCH bump
Milestone
Description
Ziel
Proof-of-Value fuer Boilerplate-Reduktion in CSCore via C# Records, Init-Only-Semantik und compile-time Mapping (Mapperly), inkl. auditierbarer Governance und fail-closed CI-Nachweis.
Abhaengigkeiten
Scope
In Scope
- 1-2 C# Records in CSCore mit validierten Konstruktoren.
- Mapperly-Mapper (
public) fuer deterministische compile-time Mapping-Generierung. - netstandard-Compat-Regel (
IsExternalInit) und CPM-konforme Paketverwaltung. - Governance-Doku fuer Cross-Language-Regeln und Analyzer/Banned-API-Nutzung.
Out of Scope
- Breite Migration grosser Teile des VB-Codebestands.
- Runtime-Reflections als Primarmechanismus fuer Mapping.
Kritische technische Regeln
- Bei Records auf
netstandard2.0:IsExternalInit-Polyfill bereitstellen. - Mapperly/Analyzer nur CPM-konform einbinden:
PackageVersioninDirectory.Packages.propsPackageReferenceohneVersionim CSCore-Projektpackages.lock.jsonkonsistent aktualisieren
- Banned APIs fail-closed ueber Analyzer/AdditionalFiles erzwingen.
Umsetzung (Steps)
- Record(s) + Guards in CSCore anlegen.
- Mapperly-Mapper implementieren.
- Analyzer-Pakete inkl. Banned-API-Konfiguration integrieren.
- Governance-Doku und CI-Gates aktualisieren.
- Restore/Build/Format/Pack/Consumer-/Security-Checks verifizieren.
Definition of Done (DoD)
- Mindestens 1 Record + 1 Mapperly-Mapper kompiliert deterministisch.
- Analyzer-/Banned-API-Regeln sind aktiv und auditierbar.
- Governance-Doku beschreibt die CSCore-Regeln verbindlich.
- Required CI-Checks fuer Build/Tests/Security/Pack bestehen.
Evidence
- Diff fuer CSCore-Modelle/Mapper/Analyzer-Setup
- Logs fuer Build/Format/Pack/Consumer/Security
- Governance-Doku-Verweise
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ciCI/workflow changeCI/workflow changetestTest changeTest changeversioning:patchFix/Refactor/Docs/CI/Tooling; requires PATCH bumpFix/Refactor/Docs/CI/Tooling; requires PATCH bump