Use Go rules for Windows filename components

This commit is contained in:
2026-10-24 19:20:54 +00:00
parent 087050fa25
commit 2fedb0307f
4 changed files with 68 additions and 38 deletions

View File

@@ -1,6 +1,6 @@
# Configuration Discovery Review Findings
Status: findings 1–3 complete; findings 4–5 remain open.
Status: findings 1–4 complete; finding 5 remains open.
Reviewed commit: `e50fee2`, including the discovery implementation commits after
`424c897`. The review compared the implementation with the
@@ -142,7 +142,14 @@ release procedure; do not introduce native macOS validation as a gate.
## 4. Use Platform-Aware Windows Component Validation
Priority: P3. Status: open. Algorithmic audit: correctness finding.
Priority: P3. Status: complete. Algorithmic audit: correctness finding.
**Completed:** Windows validation now delegates reserved-name decisions to
`filepath.IsLocal` while preserving the selected component/character checks. The
manual device table was removed. Tests cover console names, platform-dependent
extension behavior, and invalid later search components; Unix tests retain their
own filename rules. Focused tests and `./scripts/check.sh` passed on Linux. The
Windows engine test binary cross-compiled successfully; it was not run natively.
**Location:** [discovery.go](../../internal/engine/discovery.go),
`validWindowsFilenameComponent`, lines 266–281.
@@ -249,8 +256,8 @@ ordinary file acquisition. It did not benchmark or reopen those choices.
No unplanned quadratic algorithm or other actionable asymptotic regression was
identified. Findings 4 and 5 record the additional ordinary correctness issues
found while examining those algorithms; findings 1–3 remain open from the earlier
review. Existing configuration-tree algorithms outside the discovery changes
found while examining those algorithms; findings 1–3 were carried forward from
the earlier review. Existing configuration-tree algorithms outside the discovery changes
were not re-audited as new feature work.
## Review Validation
@@ -261,7 +268,7 @@ were not re-audited as new feature work.
- An external temporary Go program reproduced findings 1 and 2 through the
public API, comparing explicit file loading with discovery. No production or
test files were modified for these reproductions.
- Findings 1–3 remain open despite the existing suites passing.
- Findings 1–3 remained open at the original review despite the suites passing.
The broader discovery architecture is implemented: immutable root-owned
descriptions, incremental ordered selection during shared source acquisition,
concrete selected-source propagation, and shared absent-input handling before