Skip to content

fix(daemon): unify Windows project root identity - #1969

Open
ScriptedAlchemy wants to merge 2 commits into
masterfrom
codex/fix-windows-canonical-root-identity
Open

ScriptedAlchemy wants to merge 2 commits into
masterfrom
codex/fix-windows-canonical-root-identity

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Windows canonicalization yields \\?\D:\..., while product root identity uses D:\.... Daemon admission, route keys, and the production-composition harness could therefore look up the same mounted project under different byte spellings and report it unavailable.

Resolve daemon entry points through canonical_root_identity, normalize the ProjectRouteKey project field and harness server lookup to the same plain host spelling, and align the LSP/Hermes assertions with that authority. The harness still reports a typed error when the project path cannot be canonicalized.

Validation: the exact daemon root-identity and MCP cached-route tests pass locally, as do the CLI LSP identity and Hermes resolver tests. Native Windows CI is running for the corrected head.

@changeset-bot

changeset-bot Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: d558588

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 65176d2165

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

.canonicalize()
.unwrap_or_else(|_| project_path.clone());
let canonical_project_path =
tracedecay_runtime_core::path_safety::canonical_root_identity(project_path);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve the plain spelling in the route key

On Windows, canonical_root_identity strips the \\?\ prefix here, but ProjectRouteKey::from_handshake immediately passes this existing path through authority::canonical_identity_path, whose canonicalization restores the verbatim prefix. Thus project_route_for_handshake returns a plain project_root but a verbatim route.project_path; the new daemon_project_route_uses_the_product_root_identity assertion fails on Windows and the route identity remains byte-split. Construct the route key without undoing the product-root normalization.

AGENTS.md reference: AGENTS.md:L186-L187

Useful? React with 👍 / 👎.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-24T01:40:19.798201Z 65176d2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant