Evidence
PR #368 hosted CI run 33202061303 on exact head d56bf576d719294aa9037f1bd6529a4800ec8d2f failed eight Windows tests after the intended Windows serialization policy was active.
Six setup-operational-configuration failures rejected ordinary GitHub runner temporary directories because %TEMP% arrived through the valid 8.3 alias C:\Users\RUNNER~1\... while Node realpath() returned C:\Users\runneradmin\.... Two Windows install-media tests made the same lexical-path assumption in expected values.
This is deterministic platform behavior, not the #290 child-process load failure. Microsoft documents that Windows may store both long names and 8.3 aliases and that GetLongPathName converts a short path to its long form. Node documents realpath() as canonicalization and warns that a canonical pathname is not necessarily unique.
Required correction
- Preserve the setup owner's rejection of links/reparse indirection and changed file identity.
- Treat a verified Windows short/long alias of the same filesystem object as the same identity rather than comparing only spelling.
- Keep non-Windows path rules unchanged.
- Make Windows media tests assert the canonical location deliberately returned by the source owner.
- Prove on hosted Windows, not only the local long-path checkout.
Acceptance
The exact setup and media tests pass on hosted Windows with the RUNNER~1 temporary path, filesystem-indirection boundary tests remain intact, and no provider/UAC behavior changes.
Evidence
PR #368 hosted CI run
33202061303on exact headd56bf576d719294aa9037f1bd6529a4800ec8d2ffailed eight Windows tests after the intended Windows serialization policy was active.Six setup-operational-configuration failures rejected ordinary GitHub runner temporary directories because
%TEMP%arrived through the valid 8.3 aliasC:\Users\RUNNER~1\...while Noderealpath()returnedC:\Users\runneradmin\.... Two Windows install-media tests made the same lexical-path assumption in expected values.This is deterministic platform behavior, not the #290 child-process load failure. Microsoft documents that Windows may store both long names and 8.3 aliases and that
GetLongPathNameconverts a short path to its long form. Node documentsrealpath()as canonicalization and warns that a canonical pathname is not necessarily unique.Required correction
Acceptance
The exact setup and media tests pass on hosted Windows with the
RUNNER~1temporary path, filesystem-indirection boundary tests remain intact, and no provider/UAC behavior changes.