Repository navigation
fix(javascript): preserve POSIX runtime path case on Windows - #2422
Merged
morluto merged 1 commit intoOct 13, 2026
Merged
Conversation
Use POSIX path semantics for recorded POSIX roots when reconciling runtime Evidence on Windows. Preserve Windows mapping behavior and cover implicit and explicit file roots through the reconciliation service. Assisted-by: OpenAI GPT-6 <noreply@openai.com>
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Owner
|
@greptileai review |
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
Contributor
|
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Follow up on #2422 and the host-relative path diagnosis by @Aurantium-47. Select the recorded path grammar at the shared root matcher, preserving Windows case semantics and both matching and active-layer scope. Verify real npm module data and passive Node Inspector Evidence through Windows CLI and same-connection SDK MCP. Positive normalized results remain unchanged; rejected POSIX roots leave load state unknown. All 101 related tests and static/docs gates pass. Register the existing workflow tests in Windows CI execution and package scope. No IDA or Ghidra engine was used; scoped resources and delivery costs are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md.
N0zoM1z0
added a commit
that referenced
this pull request
Oct 13, 2026
Select the Windows curated lane for edits to the shared runtime path matcher and its workflow suite. Strengthen the existing POSIX/Windows mapping controls with matching basis, coherent target/script coordinates, caller spelling and static load-state assertions. Follow-up to #2422; thanks to @Aurantium-47 for identifying the recorded-path grammar issue. Verified with actual Windows 11 x64, official Node 24.18.0 and production CLI/MCP workflows using published npm 11.16.0 module Evidence. Four exact/mismatched implicit/explicit mapping cases pass with unchanged normalized hashes. The capture provider was Node Inspector; no IDA, Ghidra or Electron GUI verification is claimed. 230 focused tests, all eight CI static tasks, architecture guards and documentation checks pass after rebasing onto main fb28ec1. The unrelated release-checkpoint and dyld fixture corrections were integrated from upstream; no patches to those files are included here. Final Windows MCP replay at e6e8694 preserves all four normalized hashes, with no owned Node processes remaining. Resource probes ran serially at BelowNormal priority with one CPU and 512 MiB Node heaps; calls took 251–620 ms and the sampled process-family working-set sum peaked at 499,380,224 bytes. Source pins, provenance and measurement limits are recorded in experiments/analysis-efficiency/windows-posix-reconciliation.md. All 34 jobs in current-head CI run 38391921571 passed, including the Windows capability/package lane, all six portable test shards, JavaScript recovery and the required aggregate. Current-head Codex and Greptile reviews are clean; both prior scope-selection findings were fixed and resolved.
3 tasks done
2 tasks done
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.
Summary
Keep recorded POSIX runtime roots case-sensitive when reconciliation runs on Windows. This fixes a source-discovered bug; no existing issue or PR covering this case was found.
Problem and expected behavior
Given a file mapping rooted at
/runtime/App, a recorded script at/runtime/app/renderer.jsmust not acquire that mapping. On Windows,pathBelowRootused the host-defaultpath.relativeeven after identifying POSIX input, so those different roots produced a false location match. Automatic matching against the static application's POSIX input root had the same problem.Change and scope
Use
posix.relativefor the POSIX branch of the shared root matcher. Its Windows branch still useswin32.relative. Add four service-level regressions using complete Evidence inputs: the two case mismatches, an exact POSIX match, and the existing case-insensitive Windows mapping behavior.Contract and boundary impact
pathBelowRootinjavascriptRuntimeStaticCandidates.ts, used by runtime path matching and active static-layer scope.Expected effects:
Evidence and regression coverage
On Windows x64, the final local-path tests against base
c462a4ebd3a10e59253bcf38353a0914b176738bproduced two failures: both POSIX case mismatches were reportedmatched. With this change all six local-path tests pass, including the existing relative-root and foreign-path controls.Executed public CLI output, with no script source bytes supplied:
/runtime/App/runtime/app/renderer.jsunknownnoneno-authorized-location-mapping/runtime/App/renderer.jsmatchedoperator-file-mappingunique-location-matchValidation performed
Pinned Node 24.18.0 / npm 11.16.0 on Windows x64:
node node_modules/vitest/vitest.mjs run tests/boundary/filesystem/javascriptApplicationWorkflows.test.ts -t "JavaScript runtime reconciliation local paths"— 6 passed; 9 unrelated cases filtered out.node node_modules/vitest/vitest.mjs run tests/boundary/cli/electronCli.test.ts -t "Electron CLI runtime reconciliation"— 1 passed; 4 unrelated cases filtered out.reconcile-javascript-runtime <input.json> --jsoncalls for the two examples above — both exited 0.npm run check— passed.npm run verify:test-discovery— all 1002 test files discovered exactly once.git diff --check— passed.Compatibility, safety, and release
No migration, package, schema, or generated metadata change. Validation covers synthetic recorded Evidence through the production reconciliation service and compiled CLI. Live Electron/browser and native-provider verification were not run; those capture/provider paths are unchanged. The broader filesystem suite requires the Windows native artifact unavailable in this checkout. No containment or security-severity claim is made.
Before merge
AI-assisted implementation and review using OpenAI GPT-6; the validation above was executed locally.