fix(filetypedetection): policy-045 bereinigen und prerelease-gate4 stabilisieren#85
Merged
tomtastisch merged 4 commits intomainfrom Feb 17, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses Policy-045 compliance violations in the src/FileTypeDetection/ codebase and stabilizes the release Gate-4 process for pre-releases, without modifying any public API signatures or runtime behavior.
Changes:
- Removed invalid
<exception>XML documentation tags from public fail-closed APIs and corrected German text to use proper umlauts (ä, ö, ü instead of ae, oe, ue) - Enhanced Gate-4 post-publish verification to differentiate between stable releases (require registration visibility) and pre-releases (decouple registration by default, extend retry window)
- Updated versioning documentation (DE/EN) to add commit references and align trusted-publishing documentation with the adjusted Gate-4 behavior
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/ci/release/gate4_verify_postpublish.sh | Added pre-release detection, differentiated retry schedules (stable: 408s budget, pre-release: 984s), and made registration requirement configurable based on version type |
| src/FileTypeDetection/Providers/NetStandard2_0/HashPrimitivesProvider.vb | Added complete XML documentation for internal provider methods (EncodeLowerHex, SHA256 primitives, FastHash64) |
| src/FileTypeDetection/Providers/Net8_0Plus/HashPrimitivesProvider.vb | Added complete XML documentation for internal provider methods (EncodeLowerHex, SHA256 primitives, FastHash64) |
| src/FileTypeDetection/Infrastructure/CoreInternals.vb | Fixed German umlaut: "gueltigen" → "gültigen" |
| src/FileTypeDetection/Infrastructure/ArchiveInternals.vb | Fixed German umlaut: "Ungueltiger" → "Ungültiger" |
| src/FileTypeDetection/FileTypeOptions.vb | Removed invalid <exception> tags from LoadOptions; fixed German umlauts in log messages; improved formatting consistency |
| src/FileTypeDetection/FileTypeDetector.vb | Removed invalid <exception> tags from 8 public methods (ReadFileSafe, Detect variants, DetectDetailed variants, TryValidateArchive, ExtractArchiveSafe variants); fixed German umlauts; improved code formatting |
| src/FileTypeDetection/FileMaterializer.vb | Removed invalid <exception> tags from 3 Persist overloads; fixed German umlauts in log messages |
| src/FileTypeDetection/ArchiveProcessing.vb | Removed invalid <exception> tags from TryValidate and ExtractToMemory |
| docs/versioning/103_CHANGELOG_RELEASES.MD | Updated unreleased section with changes from this PR |
| docs/versioning/102_HISTORY_VERSIONS.MD | Added commit reference [8d65a52] for version 5.2.0 |
| docs/versioning/003_CHANGELOG_RELEASES.MD | Updated unreleased section with changes from this PR (German) |
| docs/versioning/002_HISTORY_VERSIONS.MD | Added commit reference [8d65a52] for version 5.2.0 (German) |
| docs/ci/102_NUGET_TRUSTED_PUBLISHING.MD | Documented differentiated Gate-4 behavior for stable vs pre-release tags |
| docs/ci/002_NUGET_TRUSTED_PUBLISHING.MD | Documented differentiated Gate-4 behavior for stable vs pre-release tags (German) |
| docs/audit/compat/003_NETSTANDARD2_COMPAT_EVIDENCE.MD | Updated evidence commands and added Gate-4 pre-release/stable verification proofs |
| README.md | Updated release process description to reflect new Gate-4 behavior |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ziel & Scope
src/FileTypeDetection/*bereinigen (Dokumentationssemantik + Sprachkonformität).src/FileTypeDetection/*(nur policy-konforme Dokumentations-/Textkorrekturen, keine Public-API-Änderung)tools/ci/release/gate4_verify_postpublish.shdocs/und Root-README.mdSECURITY.mdUmgesetzte Aufgaben (abhaken)
Nachbesserungen aus Review (iterativ)
resolved(inkl. outdated)Security- und Merge-Gates
security/code-scanning/tools: 0 offene AlertsEvidence (auditierbar)
Relevante Befehle (lokal ausgeführt)
dotnet restore FileClassifier.sln -v minimal(Exit0)dotnet build FileClassifier.sln -c Release --no-restore -warnaserror -v minimal(Exit0)dotnet test tests/FileTypeDetectionLib.Tests/FileTypeDetectionLib.Tests.csproj -c Release --no-build -v minimal(Exit0,414grün)dotnet pack src/FileTypeDetection/FileTypeDetectionLib.vbproj -c Release --no-build -o artifacts/ci/netstandard2-compat/nuget -v minimal(Exit0)dotnet format FileClassifier.sln --verify-no-changes -v minimal(Exit0)python3 tools/check-doc-consistency.py(Exit0)python3 tools/check-docs.py(Exit0)bash tools/versioning/verify-version-convergence.sh(Exit0)EXPECTED_RELEASE_TAG=v5.2.0-rc.3 REQUIRE_RELEASE_TAG=1 bash tools/ci/check-versioning-svt.sh --repo-root . --out artifacts/ci/versioning-svt/versioning-svt-summary.json(Exit0)bash tools/ci/release/gate2_version_policy.sh release v5.2.0-rc.3 artifacts/nuget/Tomtastisch.FileClassifier.5.2.0-rc.3.nupkg(Exit0)VERIFY_ONLINE=0 bash tools/ci/release/gate4_verify_postpublish.sh 5.2.0-rc.3 artifacts/nuget/Tomtastisch.FileClassifier.5.2.0-rc.3.nupkg(Exit0,require_registration=0)VERIFY_ONLINE=0 bash tools/ci/release/gate4_verify_postpublish.sh 5.2.0 artifacts/ci/netstandard2-compat/nuget/Tomtastisch.FileClassifier.5.2.0.nupkg(Exit0,require_registration=1)Artefakte/Dateien
docs/audit/compat/003_NETSTANDARD2_COMPAT_EVIDENCE.MDartifacts/ci/netstandard2-compat/build-netstandard2.0.logartifacts/ci/netstandard2-compat/build-net8.0.logartifacts/ci/netstandard2-compat/build-net10.0.logartifacts/ci/versioning-svt/versioning-svt-summary.jsonartifacts/ci/version-convergence/summary.jsonDoD (mindestens 2 pro Punkt)
<exception>-XML-Tags mehr in fail-closed Public APIs untersrc/FileTypeDetection/*dotnet format --verify-no-changessowie Build/Test grünrequire_registration=1vs.0)flatcontainer=1docs/ci/*,docs/versioning/*,README.md)Risiken / Open Items
Details (nur falls vorhanden)
registrationin Gate4 standardmäßig entkoppelt. Mitigation: asynchrone Konvergenz bleibt blockerhaft auf allen Endpunkten (search/registration/flatcontainer).versioning-svt-Aufruf übertools/ci/bin/run.sh versioning-svtkann ohne CI-Run-URL scheitern; Mitigation: direkte Ausführung übertools/ci/check-versioning-svt.shmit explizitemEXPECTED_RELEASE_TAG.