diff --git a/docs/governance/047_PR_108_REVIEW_AUDIT_DE.MD b/docs/governance/047_PR_108_REVIEW_AUDIT_DE.MD new file mode 100644 index 00000000..8a6ea993 --- /dev/null +++ b/docs/governance/047_PR_108_REVIEW_AUDIT_DE.MD @@ -0,0 +1,74 @@ +# PR-108 Review-Audit (DE) + +- Quelle: PR #108 (https://github.com/tomtastisch/FileClassifier/pull/108) +- Stand: automatisierter Snapshot via GitHub GraphQL + manuell verifizierte Evidence-Mapping-Liste +- Review-Threads gesamt: 53 +- Thread-Status: UMGESETZT=44, ASSUMPTION=9, OFFEN=0 +- GitHub-Resolved-Flag: unresolved=0 +- PR-Konversationskommentare von @tomtastisch: 2 + +## Audit-Tabelle (Review-Threads) + +| # | Erstkommentar | Autor | Befund (gekürzt) | Status | Evidence | Auflösungsnotiz (gekürzt) | +| --- | --- | --- | --- | --- | --- | --- | +| 1 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836118721) | `copilot-pull-request-reviewer` | The XML documentation comment for the Doc enum value has a typo: it reads "Office Open XML Word-Dokument (DOCX." but is missing the closing parenthesis. It should be "(DOCX)." ```s… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/3e25950) | Typo in DOCX summary korrigiert; Enum-Dokumentation vereinheitlicht. | +| 2 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836118733) | `copilot-pull-request-reviewer` | The variable `idx` is used in the For loop at line 144, but it is not declared in the "Deklarationsblock" section (lines 107-113) as required by the internal policy. According to t… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Deklarationsblock angepasst; idx explizit im Methoden-Deklarationsbereich geführt. | +| 3 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836121176) | `chatgpt-codex-connector` | **![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat) Restrict internal utility classes to Friend visibility** `EnumUtils` is declared `Public` e… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Interne Utility-Typen auf Friend/NotInheritable gehärtet; Public-API-Expansion vermieden. | +| 4 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836124228) | `tomtastisch` | bitte korrekt benennen: EvidenceHashingIO | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Benennung auf EvidenceHashingIO vereinheitlicht (Datei- und Typname). | +| 5 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836126215) | `copilot-pull-request-reviewer` | The FILE header comment contains "(neue version)" which appears to be a development artifact. This should be cleaned up to just "FILE: HashRoundTripReport.vb" to match the establis… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Header-/Kommentarartefakte bereinigt; Policy-konforme FILE-Header konsolidiert. | +| 6 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836126220) | `copilot-pull-request-reviewer` | VB.NET keywords should be consistently cased. Line 427 uses lowercase "End if" but should be "End If" (capital I) to match the language standard and the rest of the codebase. ```su… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | VB-Keyword-Casing bereinigt (End If) und Style-Drift entfernt. | +| 7 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836126223) | `copilot-pull-request-reviewer` | Inconsistent indentation in the Catch filter clause. Line 448 has extra indentation (4 additional spaces) compared to the other TypeOf checks in the same filter (lines 447, 449-454… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Catch-Filter-Indentation auf einheitliches Layout gebracht. | +| 8 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836126227) | `copilot-pull-request-reviewer` | Inconsistent indentation in the Catch filter clause. Line 496 has extra indentation (4 additional spaces) compared to the other TypeOf checks in the same filter (lines 495, 497-500… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Catch-Filter-Indentation auf einheitliches Layout gebracht. | +| 9 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836126232) | `copilot-pull-request-reviewer` | The property declaration is unnecessarily split across multiple lines (lines 33-36). The type `ImmutableArray(Of Byte)` should be kept on the same line as the property declaration … | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | Property-Deklaration auf policy-konformes Single-Line-Layout normalisiert. | +| 10 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836126235) | `copilot-pull-request-reviewer` | The XML documentation comment is incomplete. Line 59 shows "(DOC." but is missing the closing parenthesis. It should be "(DOC)." or more appropriately describe what DOC represents … | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9ccf814) | XML-Dokumentation für Office/DOC-Domäne präzisiert und geschlossen. | +| 11 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836390250) | `tomtastisch` | IOGruards nicht IoGuard IO immer beide Buchstaben Uppercase | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | IO-Guard-Benennung vereinheitlicht (IO uppercase) und konsolidiert. | +| 12 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836393241) | `tomtastisch` | Benennung ist nciht passend Einheitlich bleiben in der benneung, andere klassen sind immer als *...Guard.vb, entsprechend: diese klasse logisch sinnvoll benennen, jedoch wenn Guard… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Guard-Namensschema vereinheitlicht (*Guard) und Redundanzen entfernt. | +| 13 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836394356) | `tomtastisch` | Guard-utillities sollte unter Utils/Guards/* gekapselt/geclustert werden. Dies steigert die striktheit + lesbarkeit und ist sinnvoll bezüglich logisch getrennter Zuordnung | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Guards nach Infrastructure/Utils/Guards geclustert und Imports angepasst. | +| 14 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836394786) | `tomtastisch` | Gleiche Anmerkung wie in : https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 15 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836395189) | `tomtastisch` | Gleiche Anmerkung wie in: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 16 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836395308) | `tomtastisch` | Gleiche Anmerkung wie in: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 17 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836395872) | `tomtastisch` | Gleiche anmerkung wie in: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 18 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836395938) | `tomtastisch` | Gleiche anmerkung wie in: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 19 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836396242) | `tomtastisch` | Gleiche anmerkung wie in: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 20 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836396351) | `tomtastisch` | Gleiche anmerkung wie in: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836394356 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1e2c6bb) | Cluster-Änderung aus Referenzthread übernommen (gleiche Anmerkung). | +| 21 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836399164) | `tomtastisch` | Fehlende dokumentation entsprechend der Code-Policy | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/905a28b) | Member-Dokumentation für Hashing-Typen nach Policy ergänzt. | +| 22 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836399321) | `tomtastisch` | Fehlende dokumentation entsprechend der Code-Policy | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/8a8da4b) | Interne Hashing-Core-Dokumentation vollständig ergänzt. | +| 23 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836401562) | `tomtastisch` | Fehlende dokumentation entsprechend der Code-Policy anscheinend nur teilweise dokumentiert | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/077f14f) | Ergänzende interne Doku-Lücken geschlossen (policy-konform). | +| 24 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836403769) | `tomtastisch` | Alle drei Erstellungen von HashRoundTripReport haben starke Ähnlichkei (redundanz)! Zusammenführen und sinnvoll durch einen einzigen return erzeugen durch entsprechend logisch/sin… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1209ad8) | Umgesetzt in Commit 1209ad8: CreateFailureReport(...) eingefuehrt und alle Fail-Pfade in EvidenceHashingRoundTrip zentralisiert. Evidence: https://github.com/tomtastisch/FileClassi… | +| 25 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836403838) | `copilot-pull-request-reviewer` | `BuildAliasMap` iteriert direkt über `ImmutableDictionary` (`For Each kv In types`). Die Enumerationsreihenfolge ist nicht garantiert stabil; damit ist das im Kommentar erwähnte „d… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1209ad8) | Umgesetzt in Commit 1209ad8: BuildAliasMap iteriert deterministisch ueber OrderedKindsCache + TryGetValue. Evidence: https://github.com/tomtastisch/FileClassifier/commit/1209ad8 | +| 26 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836403840) | `copilot-pull-request-reviewer` | Im Job `version-convergence` wird `SECURITY_CLAIMS_TOKEN` als Secret in die Umgebung injiziert, obwohl `REQUIRE_REMOTE: "0"` gesetzt ist. Das erhöht unnötig die Secret-Exposure-Flä… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1209ad8) | Umgesetzt in Commit 1209ad8: SECURITY_CLAIMS_TOKEN wurde aus dem version-convergence Job bei REQUIRE_REMOTE=0 entfernt. Evidence: https://github.com/tomtastisch/FileClassifier/comm… | +| 27 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836403845) | `copilot-pull-request-reviewer` | PR-Beschreibung/Titel sprechen von lokaler Konvergenz auf `6.0.0`, aber `RepoVersion` wird hier auf `6.0.1` gesetzt (und weitere Dateien/Dokus folgen ebenfalls `6.0.1`). Bitte entw… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/pull/108) | Umgesetzt: PR-Metadaten auf 6.0.1 vereinheitlicht (Titel + Body), RepoVersion bleibt 6.0.1. Evidence: https://github.com/tomtastisch/FileClassifier/pull/108 | +| 28 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836406984) | `tomtastisch` | Allgemein ist die klasse zu stark auf h1,h2...,h4 spezifiziert, dies ist stark fehleranfällig, wenn sich in zukünftigen anpassungen die h+n erweitern. Hierbei wäre ein dynamisches … | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1209ad8) | ASSUMPTION + Evidence: Vollstaendig dynamisches Hn-Modell in EvidenceHashingRoundTrip waere ausserhalb des aktuellen API-stabilen Scope; Redundanz wurde ohne Vertragsbruch reduzier… | +| 29 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836407638) | `tomtastisch` | Fehlende dokumentation entsprechend der Code-Policy | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/479dd6d) | Umgesetzt in Commit 479dd6d: fehlende Dokumentation in HashDigestSet.vb vollstaendig ergaenzt. Evidence: https://github.com/tomtastisch/FileClassifier/commit/479dd6d | +| 30 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836409254) | `tomtastisch` | `b = ...` ist nicht eindeutig in dessen Benennung und sollte angepasst werden, son das es ein prägnantem deutschen und zuordenbaren Ausdruck gemäß der policy und best-practise für… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/479dd6d) | Umgesetzt in Commit 479dd6d: unpraezises b wurde in FileTypeRegistryConfig auf sprechende Builder-Bezeichner umgestellt. Evidence: https://github.com/tomtastisch/FileClassifier/com… | +| 31 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836414353) | `tomtastisch` | # Policy Semantik-Regel einhalten/ergänzen Leerzeile nach Methodenkopf bitte immer beachten, diese Leerzeile ist/sollte in der Code-Policy bereits vorgegeben sein. Wenn nciht: nach… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1b6f8db) | Umgesetzt in Commit 1b6f8db: Leerzeile nach Methodenkopf in Guard-Dateien umgesetzt und Policy 045/145 explizit ergaenzt. Evidence: https://github.com/tomtastisch/FileClassifier/co… | +| 32 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836418150) | `tomtastisch` | Es gibt sehr oft identische TypeOf-Blöcke Überlegung: Util-klasse für bestimmte valiadte*(...) methoden mit interner redundanzfreier clustering-/map-logik o.Ä. welche dann entspre… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1b6f8db) | Umgesetzt in Commit 1b6f8db: ExceptionFilterGuard als SSOT eingefuehrt und redundante Catch-TypeOf-Bloecke zentralisiert. Evidence: https://github.com/tomtastisch/FileClassifier/co… | +| 33 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836421216) | `tomtastisch` | Line 178 bis 198 ist stark vereinfachter, beziehungsweise sinnvoller dynamisch umzusetzen ohne redundanter ablaufe durch hilfsfunktionen/interner vereinheitliung durch interne meth… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/86225ec) | Umgesetzt in Commit 86225ec: TryPrepareRelativePath + HasOnlyAllowedPathSegments extrahiert, Pfadnormalisierung in ArchiveGuards dynamisch vereinfacht. Evidence: https://github.com… | +| 34 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836422624) | `tomtastisch` | ```suggestion Dim aliasGruppenBuilder = ImmutableDictionary.CreateBuilder( Of String, ImmutableArray(Of String) )( … | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/86225ec) | Umgesetzt in Commit 86225ec: aliasGruppenBuilder auf das vorgeschlagene mehrzeilige Builder-Format umgestellt. Evidence: https://github.com/tomtastisch/FileClassifier/commit/86225e… | +| 35 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836425395) | `tomtastisch` | Benennungen ohne Office_* Bitte, da diese (siehe extension-zuordnung und Deklaration/doku) sowohl ms-office, als auch open-office abdecken (sollten) und entsprechend reicht Doc, XL… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/86225ec) | Umgesetzt in Commit 86225ec: Aliasgruppenbezeichner von OFFICE_* auf DOC/XLS/PPT vereinheitlicht. Evidence: https://github.com/tomtastisch/FileClassifier/commit/86225ec | +| 36 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836426264) | `tomtastisch` | ```suggestion Dim magicPatternBuilder = ImmutableDictionary.CreateBuilder( Of FileKind, ImmutableArray(Of FileTypeRegistry.MagicPattern… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/86225ec) | Umgesetzt in Commit 86225ec: magicPatternBuilder auf das vorgeschlagene mehrzeilige Builder-Format umgestellt. Evidence: https://github.com/tomtastisch/FileClassifier/commit/86225e… | +| 37 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836427094) | `tomtastisch` | isOk ist zwar logisch korrekt aber inhaltlich schwer zuzuordnen/zu breit gefächert | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/86225ec) | Umgesetzt in Commit 86225ec: isOk in ArgumentGuard auf isEnumValueDefined praezisiert. Evidence: https://github.com/tomtastisch/FileClassifier/commit/86225ec | +| 38 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836428195) | `tomtastisch` | ```suggestion Public Function PrepareMaterializationTarget _ ( destinationFull As String, overwrite As Boolean, … | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/86225ec) | Umgesetzt in Commit 86225ec: Signaturformat in DestinationPathGuard auf vorgeschlagenes Layout + Leerzeile angepasst. Evidence: https://github.com/tomtastisch/FileClassifier/commit… | +| 39 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836438317) | `tomtastisch` | Zeile 66 bis 72 ist logisch redundant und kann sinnvoll zusammengeführt werden Beispiel: wenn man die Methoden `File.Delete(destinationFull)` und `Directory.Delete(destinationFul… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/808b7a2) | Umgesetzt in Commit 808b7a2: redundante Delete-Branches in TryDeleteExistingTarget(...) zentralisiert. Evidence: https://github.com/tomtastisch/FileClassifier/commit/808b7a2 | +| 40 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836440516) | `tomtastisch` | Bezüglich der catch-blöcke, wie im anderen review-kommentar bereits erwähnt: Bitte um redundante catch blocke kümmern und lösung umsetzen/vorschlagen | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1b6f8db) | Umgesetzt in Commit 1b6f8db: redundante Catch-Filter in LogGuard ueber ExceptionFilterGuard.IsLoggerWriteException(...) dedupliziert. Evidence: https://github.com/tomtastisch/FileC… | +| 41 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836442521) | `tomtastisch` | Using-keyowrd sinnvoll hier? | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/edf624f) | Using-Verwendung für Stream-Lebensdauer ist erforderlich und bereits fail-closed umgesetzt. | +| 42 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836442825) | `tomtastisch` | Using-keyowrd sinnvoll hier? | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/edf624f) | Gleiche Begründung wie Thread 41; kritische Streams sind per Using abgesichert. | +| 43 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836444882) | `copilot-pull-request-reviewer` | In this test, the new `HashRoundTripReport` ctor expects exactly one evidence per slot (H1..H4). The call passes 5 `null` evidences after `notes`, so `ArgumentGuard.RequireLength(.… | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1396e6d) | Ctor-Arity wurde validiert; Tests bestätigen korrekte Slot-Anzahl ohne Behavior-Drift. | +| 44 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836444891) | `copilot-pull-request-reviewer` | PR description states local deterministic version convergence to `6.0.0`, but this change sets `RepoVersion` to `6.0.1` (and other files in the PR also use `6.0.1`). Please align t… | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/pull/108) | Umgesetzt: PR-Beschreibung auf 6.0.1 aktualisiert und mit RepoVersion abgeglichen. Evidence: https://github.com/tomtastisch/FileClassifier/pull/108 | +| 45 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836461136) | `tomtastisch` | Variable `ext` ist semantisch besser deklarierter: ```suggestion Dim ext As String = If(String.IsNullOrWhiteSpace(extWithDot), String.Empty, extWithDot) ``` | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/ff730f0) | Umgesetzt in Commit ff730f0: ext-Initialisierung auf If(String.IsNullOrWhiteSpace(...)) vereinheitlicht. Evidence: https://github.com/tomtastisch/FileClassifier/commit/ff730f0 | +| 46 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836462535) | `tomtastisch` | kann entfernt werden wenn `https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836461136` umgesetzt wird | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/ff730f0) | Umgesetzt in Commit ff730f0: redundante Folgezeile nach ext-Normalisierung entfernt. Evidence: https://github.com/tomtastisch/FileClassifier/commit/ff730f0 | +| 47 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836467869) | `tomtastisch` | Prüfung ob versionierung aufgrund der Menge an Änderungen - bei Sinnvoller Aufgliederung in entsprechende Umsetzungsblöcke - nicht unter umständen bereits höher ist (also: 6.*.* )? | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/d6164e7) | Patch-Bump 6.0.1 bleibt korrekt: Refactor/Hardening ohne neue Public-Features/Breaking API. | +| 48 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836470732) | `tomtastisch` | ```suggestion Assert.True( fileIndex >= 0 && strictIndex > fileIndex, $"Policy 045 order violated ('FILE' before Option Stri… | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1396e6d) | Einzeiler-Stilvorschlag nicht zwingend; bestehendes Format bleibt policy-konform und lesbar. | +| 49 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836471718) | `tomtastisch` | Kann man als Einzeiler schreiben: ```suggestion .Where(type => (type.IsPublic // type.IsNestedPublic) && type.Namespace == "Tomtastisch.FileClassifier")… | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/1396e6d) | Einzeiler-Stilvorschlag nicht zwingend; bestehendes Format bleibt policy-konform und lesbar. | +| 50 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836479408) | `tomtastisch` | Wird zu: ` / < 5.2.1 / Nein / / > 5.2.1 / Ja / ` | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9efc309) | SECURITY.md bleibt eingefroren (Repo-Contract); Security-Claim-Kopplung stattdessen im Audit-Skript dokumentiert. | +| 51 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836480145) | `tomtastisch` | Prüfung entsprechend Kommentar: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836467869 | `ASSUMPTION` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/d6164e7) | Versioning erneut geprüft; 6.0.1-Konsistenz über RepoVersion/Version/PackageVersion/SVT belegt. | +| 52 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836481328) | `tomtastisch` | Sollte zur Vermeidung von Missverständnissen Dokumentiert werden (Eincode-kommentar) zur Erläuterung gegenüber anderer Entwickler | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/74fa1db) | Umgesetzt in Commit 74fa1db: Inline-Kommentar zur GH_TOKEN/GITHUB_TOKEN/SECURITY_CLAIMS_TOKEN-Fallback-Reihenfolge ergaenzt. Evidence: https://github.com/tomtastisch/FileClassifier… | +| 53 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#discussion_r2836482528) | `tomtastisch` | Siehe Kommentar: https://github.com/tomtastisch/FileClassifier/pull/108/changes#r2836467869 | `UMGESETZT` | [Nachweis](https://github.com/tomtastisch/FileClassifier/commit/9820930) | Umgesetzt in Commit 9820930: Kommentar zur Kopplung von SECURITY-Claim und Major-Version im Security-Claims-Skript ergaenzt. Evidence: https://github.com/tomtastisch/FileClassifier… | + +## PR-Konversationskommentare von @tomtastisch + +| # | Kommentar | Auszug | +| --- | --- | --- | +| 1 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#issuecomment-3939130713) | @codex[agent] review | +| 2 | [Link](https://github.com/tomtastisch/FileClassifier/pull/108#issuecomment-3939149500) | Prüfung ob unter "Utils/*", beziehungsweise nach Anpassung "Utils/Guards/*" wirklich alle Util-klassen Guard-bezeichnungen korrekt im namen haben oder eine andere Zuordnung sinnvoller wäre | +