Skip to content

Comments

refactor(cscore): produktivreife CSCore-Integration, Version 6.1.13 und Doku-Normalisierung#118

Merged
tomtastisch merged 16 commits intomainfrom
codex/docs/fc-0015-pr-scope-cut
Feb 22, 2026
Merged

refactor(cscore): produktivreife CSCore-Integration, Version 6.1.13 und Doku-Normalisierung#118
tomtastisch merged 16 commits intomainfrom
codex/docs/fc-0015-pr-scope-cut

Conversation

@tomtastisch
Copy link
Owner

@tomtastisch tomtastisch commented Feb 22, 2026

Ziel & Scope

Diese PR bringt die CSCore-Migrationskette auf einen produktionsreifen, auditierbaren Stand mit klar getrennten Themenblöcken:

  • produktive Cross-Language-Delegation (VB -> CSCore) inklusive fail-closed Fallbacks,
  • Single-Package-Packaging inkl. CSCore-Runtime-Assets,
  • stabilisierte Materializer-/Detector-/Options-Logik,
  • Versionierungskonvergenz auf 6.1.13,
  • flächige Umlaute-/Sprachvereinheitlichung in Dokumentation und C#-In-Code-Doku.

Closes #109
Closes #110
Closes #111
Closes #112

Umgesetzte Aufgaben (abhaken)

  • FileMaterializer um deterministische Secure-Extract-Entscheidungsmatrix erweitert, inkl. Mismatch-Guard zwischen CSCore- und lokalem Fail-Closed-Modus.
  • CsCoreRuntimeBridge produktiv integriert und Utility-Delegation in zentralen VB-Pfaden aktiviert.
  • FileTypeDetector auf DetectionSummaryProjection mit CSCore-Delegation für Summary/Reason/Extension-Match refaktoriert.
  • FileTypeProjectOptions.NormalizeInPlace auf normalisierte Konstanten-/Vektorlogik umgestellt.
  • Single-Package-Auslieferung erweitert: CSCore wird pro TFM gebaut, in NUPKG aufgenommen und ins TargetDir kopiert.
  • Dependency-/Analyzer-Stand zentralisiert und Lockfiles synchronisiert.
  • Versionierungs-SSOT auf 6.1.13 konvergiert (RepoVersion/Version/PackageVersion + DE/EN-Historie/Changelog).
  • Doku- und In-Code-Sprachkonsolidierung (Umlaute, Lesbarkeit, DE-Kommentare) inkl. bilingualem Sync.
  • CI-Härtung: expliziter CSCore-Restore in codeql und zentralem CI-Runner, um --no-restore-Fehlpfade fail-closed zu stabilisieren.
  • PackageBacked-Feed-Fallback stabilisiert, sodass automatische Dependency-Submission nicht an einem fehlenden lokalen Feed scheitert.
  • Qodana-High-Findings (Redundanz/Dead-Code/Unused) in produktiven Pfaden und Tests bereinigt.

Nachbesserungen aus Review (iterativ)

  • PR-Scope-Allowlist gezielt ergänzt (.github/workflows/codeql.yml) für den Governance-konformen Scope.
  • PR-Body auf die aktuell erzwungenen Governance-Pflichtsektionen normiert.
  • Lokalen Required-Check-Lauf (inkl. qodana) vollständig erneut ausgeführt.

Security- und Merge-Gates

  • security/code-scanning/tools: 0 offene Alerts als Merge-Voraussetzung im Preflight-Guard verifiziert.
  • Fail-closed Governance aktiv: Merge nur bei grünen Required Checks, ohne offene Review-Threads und ohne Scope-/Policy-Drift.
  • CI-/Workflow-Härtung umgesetzt, damit kritische Sicherheitschecks (preflight, codeql, qodana) deterministisch laufen.

Evidence (auditierbar)

Ausgeführt im Repo-Root:

  • tools/ci/bin/run.sh preflight
  • tools/ci/bin/run.sh docs-links-full
  • tools/ci/bin/run.sh naming-snt
  • tools/ci/bin/run.sh versioning-svt
  • tools/ci/bin/run.sh version-convergence
  • tools/ci/bin/run.sh build
  • tools/ci/bin/run.sh api-contract
  • tools/ci/bin/run.sh pack
  • tools/ci/bin/run.sh consumer-smoke
  • tools/ci/bin/run.sh package-backed-tests
  • tools/ci/bin/run.sh security-nuget
  • tools/ci/bin/run.sh tests-bdd-coverage
  • tools/ci/bin/run.sh qodana
  • tools/ci/bin/run.sh summary

Artefakte:

  • artifacts/ci/preflight/result.json
  • artifacts/ci/build/result.json
  • artifacts/ci/pack/result.json
  • artifacts/ci/qodana/result.json
  • artifacts/ci/tests-bdd-coverage/result.json
  • artifacts/ci/security-nuget/result.json

DoD (mindestens 2 pro Punkt)

Umgesetzter Punkt DoD A (auditierbar) DoD B (auditierbar)
Materializer-Matrix Property-Test Persist_SecureExtractDecisionMatrix_IsDeterministic_ForPayloadKinds grün tests-bdd-coverage + build grün
Bridge-Integration CsCoreUtilityBridgeUnitTests grün Package-backed Contract prüft CSCore-Typ-Presence
Detector-Refactor api-contract grün BDD/Schrittketten grün ohne ReasonCode-/Extension-Regressionsfehler
Options-Normalisierung build + Unit/BDD grün fail-closed Fallbackpfad bleibt erhalten (Bridge-Miss -> VB-Path)
Single-Package pack erzeugt NUPKG inkl. CSCore-Assets consumer-smoke + package-backed-tests grün
Dependency-/Analyzer-Update security-nuget ohne High/Critical naming-snt/versioning-svt grün
Versionierung 6.1.13 RepoVersion/Version/PackageVersion konvergent DE/EN Version-History + Changelog enthalten 6.1.13
Doku-/Sprachkonsolidierung docs-links-full grün sync_bilingual_structure.py Parität/Switch-Checks grün
CI-/Qodana-Stabilisierung build/codeql-Restorepfad ohne CSCore-Asset-Fehler qodana blockierende Findings auf 0 reduziert

Copilot AI review requested due to automatic review settings February 22, 2026 14:01
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Diese PR bringt die CSCore-Migrationskette in einen produktionsreifen Zustand: ein optionaler C#-Core-Layer wird per Runtime-Bridge (fail-closed) aus dem VB-Kern genutzt, in das Single-Package integriert und durch Tests/CI-Policies sowie Doku-Normalisierung abgesichert.

Changes:

  • Neues src/FileClassifier.CSCore/ Projekt (Model/Mapping/Utilities) inkl. Mapperly/PolySharp und Utility-SSOTs.
  • VB-Core delegiert ausgewählte Guard-/Normalize-/Policy-Entscheidungen an CSCore via CsCoreRuntimeBridge mit Fallback.
  • CI/Tests/Docs: PR-Scope-Guard in preflight, Package-backed Contract erweitert (CSCore-DLL Presence), plus breite Doku-Synchronisation (DE/EN) und Dependency/Analyzer-Zentralisierung.

Reviewed changes

Copilot reviewed 201 out of 223 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/tests/run-package-backed-local.sh Lokaler Runner für package-backed Tests gegen frisch gepacktes NUPKG
tools/ci/policies/data/pr_scope_allowlist.txt Allowlist für PR-Scope-Guard (preflight)
tools/ci/policies/data/dependency_canary.json Dependency-Canary um CodePages ergänzt
tools/ci/checks/ResultSchemaValidator/packages.lock.json Lockfile-Update für Validator-Abhängigkeiten
tools/ci/checks/QodanaContractValidator/packages.lock.json Lockfile-Update für Validator-Abhängigkeiten
tools/ci/checks/PolicyRunner/packages.lock.json Lockfile-Update für Validator-Abhängigkeiten
tools/ci/checks/CiGraphValidator/packages.lock.json Lockfile-Update für Validator-Abhängigkeiten
tools/ci/bin/run.sh preflight erweitert (PR scope guard) + nupkg-Finder geändert
tests/PackageBacked.Tests/PackageBackedContractTests.cs Contract-Test für CSCore-Assembly/Types im Paket
tests/PackageBacked.Tests/PackageBacked.Tests.csproj Lokales Feed als zusätzliche Restore-Quelle
tests/PackageBacked.Tests/NuGet.config Lokales Pack-Feed als Source ergänzt
tests/FileTypeDetectionLib.Tests/packages.lock.json Lockfile-Update (ReproducibleBuilds)
tests/FileTypeDetectionLib.Tests/Steps/FileTypeDetectionSteps.cs Alias-Ergänzung (Jpg -> Jpeg)
tests/FileTypeDetectionLib.Tests/Property/FileMaterializerPropertyTests.cs Property-Test für deterministische Secure-Extract-Matrix
src/README.md Link auf CSCore-Modul-Index ergänzt
src/FileTypeDetection/README.md CSCore-Layer dokumentiert/verlinkt
src/FileTypeDetection/Infrastructure/Utils/IterableUtils.vb Delegation: Array-Clone via CSCore-Bridge
src/FileTypeDetection/Infrastructure/Utils/Guards/ExceptionFilterGuard.vb Delegation: Exception-Filter via CSCore-Bridge
src/FileTypeDetection/Infrastructure/Utils/Guards/DestinationPathGuard.vb Delegation: Root-Path-Check via CSCore-Bridge
src/FileTypeDetection/Infrastructure/Utils/Guards/ArgumentGuard.vb Delegation: Guard-Checks via CSCore-Bridge
src/FileTypeDetection/Infrastructure/Utils/Guards/ArchiveGuards.vb Delegation: Archivpfad-Normalisierung via CSCore-Bridge
src/FileTypeDetection/Infrastructure/Utils/EnumUtils.vb Delegation: Enum-Wertauflistung via CSCore-Bridge
src/FileTypeDetection/Abstractions/Hashing/Internal/EvidenceHashingCore.vb Delegation: HMAC-Key/Notes/Label-Policy via CSCore-Bridge
src/FileTypeDetection/Abstractions/Hashing/HashOptions.vb Delegation: MaterializedFileName-Normalisierung/Coalesce via CSCore-Bridge
src/FileTypeDetection/Abstractions/Hashing/HashDigestSet.vb Delegation: Digest-Normalisierung + Empty-Parts via CSCore-Bridge
src/FileClassifier.CSCore/Utilities/README.md Doku: Utilities-SSOT und Bridge-Verweise
src/FileClassifier.CSCore/Utilities/MaterializationUtility.cs Utility: Materialisierungsmodus-Entscheidung
src/FileClassifier.CSCore/Utilities/IterableUtility.cs Utility: defensive Array-Kopie
src/FileClassifier.CSCore/Utilities/HashNormalizationUtility.cs Utility: Digest/Dateiname-Normalisierung + Empty-Parts
src/FileClassifier.CSCore/Utilities/GuardUtility.cs Utility: Argument-/Enum-/Length-Guards
src/FileClassifier.CSCore/Utilities/ExceptionFilterUtility.cs Utility: Exception-Filter-Mengen
src/FileClassifier.CSCore/Utilities/EvidencePolicyUtility.cs Utility: Label/Notes/HMAC-Key-Resolution
src/FileClassifier.CSCore/Utilities/EnumUtility.cs Utility: Enum-Werte (Sortierung/Slicing)
src/FileClassifier.CSCore/README.md Root-Doku: Scope/Architektur/Verifikation
src/FileClassifier.CSCore/Model/README.md Doku: Model-Layer
src/FileClassifier.CSCore/Model/ProjectOptionsSnapshot.cs Model: normalisierte Options-Snapshot-Struktur
src/FileClassifier.CSCore/Model/HashOptionsSnapshot.cs Model: HashOptions-Snapshot
src/FileClassifier.CSCore/Model/DetectionSummary.cs Model: DetectionSummary-Projektion
src/FileClassifier.CSCore/Model/DetectionSignal.cs Model: DetectionSignal
src/FileClassifier.CSCore/Mapping/README.md Doku: Mapping-Layer (Mapperly)
src/FileClassifier.CSCore/Mapping/ProjectOptionsSnapshotMapper.cs Mapperly-Mapper: Clone-Projektionen
src/FileClassifier.CSCore/Mapping/FileDetectionMapper.cs Mapperly-Mapper: Signal -> Summary
src/FileClassifier.CSCore/FileClassifier.CSCore.csproj Neues CSCore-Projekt (multi-target, Mapperly/PolySharp, analyzers)
src/FileClassifier.App/packages.lock.json Lockfile-Update (Analyzers/ReproducibleBuilds)
docs/verification/002_FLOW_BDD.MD Doku: Umlaut-/Sprach-Normalisierung
docs/verification/001_INDEX_TESTS.MD Doku: Umlaut-/Sprach-Normalisierung
docs/security/010_CODEQL_DEFAULT_SETUP_GUARDRAIL.MD Doku: Umlaut-/Sprach-Normalisierung
docs/secure/001_HMAC_KEY_SETUP.MD Doku: Umlaut-/Sprach-Normalisierung
docs/migrations/001_HASHING_RENAME.MD Doku: Umlaut-/Sprach-Normalisierung
docs/guides/004_GUIDE_MIGRATE_LEGACY_NUGET.MD Doku: Umlaut-/Sprach-Normalisierung
docs/guides/003_GUIDE_PORTABLE.MD Doku: Umlaut-/Sprach-Normalisierung
docs/governance/046_ISSUE_105_106_107_CLOSURE_DE.MD Entfernt: alte Governance-Statusdatei
docs/governance/045_COMPLIANCE_STATUS_DE.MD Entfernt: alte Governance-Statusdatei
docs/governance/045_CODE_QUALITY_POLICY_DE.MD Policy erweitert: Cross-Language CSCore-Regeln
docs/governance/007_POLICY_BRANCH_PR_NAMING_DE.MD Doku: Umlaut-/Sprach-Normalisierung
docs/governance/003_POLICY_VERSIONING_SVT.MD Doku: Umlaut-/Sprach-Normalisierung
docs/governance/002_POLICY_NAMING_UNIFIED.MD Doku: Umlaut-/Sprach-Normalisierung
docs/governance/002_POLICY_LABELING.MD Doku: Umlaut-/Sprach-Normalisierung
docs/governance/001_POLICY_CI.MD Doku: Umlaut-/Sprach-Normalisierung
docs/contracts/001_CONTRACT_HASHING.MD Doku: Umlaut-/Sprach-Normalisierung
docs/ci/002_NUGET_TRUSTED_PUBLISHING.MD Doku: Umlaut-/Sprach-Normalisierung
docs/ci/001_PIPELINE_CI.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/compat/002_NETSTANDARD2_INVENTORY.MD Doku: LANG_SWITCH + Umlaut-/Sprach-Normalisierung
docs/audit/compat/001_NETSTANDARD2_POLICY_SNAPSHOT.MD Doku: LANG_SWITCH + Umlaut-/Sprach-Normalisierung
docs/audit/013_SCORECARD_GOVERNANCE_ALERT_MAPPING.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/011_SECURITY_BENCHMARK.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/010_REFACTOR_BACKLOG.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/009_SUPPLY_CHAIN_BASELINE.MD Doku: ergänzt Dependency-Strategie für netstandard2.0
docs/audit/008_INCIDENT_RESPONSE_RUNBOOK.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/007_THREAT_MODEL.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/006_CODE_REVIEW_FINDINGS.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/005_CODE_ANALYSIS_METHOD.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/004_CERTIFICATION_AND_ATTESTATION_ROADMAP.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/002_AUDIT_CONTRACT_AND_GUARDRAILS.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/000_INDEX.MD Doku: Umlaut-/Sprach-Normalisierung
docs/audit/000_HASHING_BASELINE.MD Doku: Umlaut-/Sprach-Normalisierung
docs/1_en/verification/001_INDEX_TESTS.MD Neu: EN-Spiegel für Verification-Index
docs/1_en/security/010_CODEQL_DEFAULT_SETUP_GUARDRAIL.MD Neu: EN-Spiegel für CodeQL-Guardrail
docs/1_en/secure/001_HMAC_KEY_SETUP.MD Neu: EN-Spiegel für HMAC-Setup
docs/1_en/quality/001_CHECKLIST_PRODUCTION.MD Neu: EN-Production-Checklist
docs/1_en/migrations/001_HASHING_RENAME.MD Neu: EN-Spiegel für Migration
docs/1_en/guides/004_GUIDE_MIGRATE_LEGACY_NUGET.MD Neu: EN-Spiegel für Guide
docs/1_en/guides/003_GUIDE_PORTABLE.MD Neu: EN-Spiegel für Guide
docs/1_en/guides/000_INDEX_GUIDES.MD Neu: EN-Guides-Index
docs/1_en/governance/007_POLICY_BRANCH_PR_NAMING_DE.MD Neu: EN-Spiegel (DE-Policy)
docs/1_en/governance/006_INDEX_CI_RULES.MD Neu: EN-Index der CI-Regeln
docs/1_en/governance/004_POLICY_DOCUMENTATION.MD Neu: EN-Doku-Standard
docs/1_en/governance/003_POLICY_VERSIONING_SVT.MD Neu: EN-Versioning-Policy
docs/1_en/governance/003_INDEX_GOVERNANCE.MD Neu: EN-Governance-Index
docs/1_en/governance/002_POLICY_NAMING_UNIFIED.MD Neu: EN-Naming-Policy
docs/1_en/governance/002_POLICY_LABELING.MD Neu: EN-Labeling-Policy
docs/1_en/governance/001_POLICY_CI.MD Neu: EN-CI-Policy
docs/1_en/contracts/001_CONTRACT_HASHING.MD Neu: EN-Hashing-Contract
docs/1_en/ci/002_NUGET_TRUSTED_PUBLISHING.MD Neu: EN-NuGet-Trusted-Publishing
docs/1_en/audit/compat/002_NETSTANDARD2_INVENTORY.MD Neu: EN-Spiegel für Compat-Inventar
docs/1_en/audit/compat/001_NETSTANDARD2_POLICY_SNAPSHOT.MD Neu: EN-Spiegel für Compat-Policy Snapshot
docs/1_en/audit/012_WAVE_EXECUTION_DOD.MD Neu: EN-Wave-DoD-Matrix
docs/1_en/audit/010_REFACTOR_BACKLOG.MD Neu: EN-Refactor-Backlog
docs/1_en/audit/009_SUPPLY_CHAIN_BASELINE.MD Neu: EN-Supply-Chain-Baseline
docs/1_en/audit/008_INCIDENT_RESPONSE_RUNBOOK.MD Neu: EN-Incident-Runbook
docs/1_en/audit/006_CODE_REVIEW_FINDINGS.MD Neu: EN-Code-Review-Findings
docs/1_en/audit/005_CODE_ANALYSIS_METHOD.MD Neu: EN-Code-Analysis-Method
docs/1_en/audit/004_CERTIFICATION_AND_ATTESTATION_ROADMAP.MD Neu: EN-Roadmap
docs/1_en/audit/002_AUDIT_CONTRACT_AND_GUARDRAILS.MD Neu: EN-Audit-Contract
docs/1_en/audit/000_INDEX.MD Neu: EN-Audit-Index
docs/0_de/verification/001_INDEX_TESTS.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/security/010_CODEQL_DEFAULT_SETUP_GUARDRAIL.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/secure/001_HMAC_KEY_SETUP.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/migrations/001_HASHING_RENAME.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/guides/004_GUIDE_MIGRATE_LEGACY_NUGET.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/guides/003_GUIDE_PORTABLE.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/guides/000_INDEX_GUIDES.MD Neu: DE-Guides-Index
docs/0_de/governance/007_POLICY_BRANCH_PR_NAMING_DE.MD Neu: DE-Spiegelstruktur unter docs/0_de
docs/0_de/governance/006_INDEX_CI_RULES.MD Neu: DE-Index der CI-Regeln
docs/0_de/governance/003_POLICY_VERSIONING_SVT.MD Neu: DE-Versioning-Policy unter docs/0_de
docs/0_de/governance/003_INDEX_GOVERNANCE.MD Neu: DE-Governance-Index
docs/0_de/governance/002_POLICY_NAMING_UNIFIED.MD Neu: DE-Naming-Policy unter docs/0_de
docs/0_de/governance/002_POLICY_LABELING.MD Neu: DE-Labeling-Policy unter docs/0_de
docs/0_de/governance/001_POLICY_CI.MD Neu: DE-CI-Policy unter docs/0_de
docs/0_de/contracts/001_CONTRACT_HASHING.MD Neu: DE-Hashing-Contract unter docs/0_de
docs/0_de/ci/002_NUGET_TRUSTED_PUBLISHING.MD Neu: DE-NuGet-Trusted-Publishing unter docs/0_de
docs/0_de/audit/compat/002_NETSTANDARD2_INVENTORY.MD Neu: DE-Compat-Inventar unter docs/0_de
docs/0_de/audit/compat/001_NETSTANDARD2_POLICY_SNAPSHOT.MD Neu: DE-Compat-Policy Snapshot unter docs/0_de
docs/0_de/audit/010_REFACTOR_BACKLOG.MD Neu: DE-Refactor-Backlog unter docs/0_de
docs/0_de/audit/008_INCIDENT_RESPONSE_RUNBOOK.MD Neu: DE-Incident-Runbook unter docs/0_de
docs/0_de/audit/005_CODE_ANALYSIS_METHOD.MD Neu: DE-Code-Analyse-Methode unter docs/0_de
docs/0_de/audit/004_CERTIFICATION_AND_ATTESTATION_ROADMAP.MD Neu: DE-Roadmap unter docs/0_de
docs/0_de/audit/002_AUDIT_CONTRACT_AND_GUARDRAILS.MD Neu: DE-Audit-Vertrag unter docs/0_de
docs/0_de/audit/000_INDEX.MD Neu: DE-Audit-Index unter docs/0_de
docs/001_INDEX_CORE.MD Linktext normalisiert (Umlaute)
Directory.Packages.props Zentralisierte Paketversionen (Analyzer/Mapperly/PolySharp/CodePages etc.)
Directory.Build.props Analyzer-/ReproducibleBuilds-Injection + RepoVersion auf 6.1.13

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 201 out of 223 changed files in this pull request and generated no new comments.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 202 out of 223 changed files in this pull request and generated no new comments.

@tomtastisch tomtastisch requested a review from Copilot February 22, 2026 14:30
@tomtastisch tomtastisch merged commit b5a2f17 into main Feb 22, 2026
32 checks passed
@tomtastisch tomtastisch deleted the codex/docs/fc-0015-pr-scope-cut branch February 22, 2026 14:32
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 202 out of 223 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment