Skip to content

Key project trust stores by realpath to unify symlink twins - #514

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-6721-key-project-trust-stores-by-realpath-to-unify-symlink-twins
Aug 22, 2026
Merged

Key project trust stores by realpath to unify symlink twins#514
TheGreatAxios merged 1 commit into
mainfrom
cl-6721-key-project-trust-stores-by-realpath-to-unify-symlink-twins

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Canonicalizes cwd through realpath (falling back to lexical resolve when the path doesn't exist) everywhere project-trust.ts keys or compares a project path: the store filename hash, the repo field, the mutation-queue key (via projectTrustPath), and plugin-path resolution. Adds a regression test that creates a real directory plus a symlink to it in a temp home and confirms grants written via one spelling are found via the other.

Fixes CL-6721
https://linear.app/abklabs/issue/CL-6721

The store filename hash, repo field, mutation-queue key, and plugin-path
resolution all keyed off the lexical resolved cwd, so the same repo
reached through a symlink twin (e.g. macOS /tmp vs /private/tmp) hashed
to a different store file and lost its grants. Canonicalize cwd through
realpath (falling back to lexical resolve when the path doesn't exist
yet) everywhere it's used to key or compare.

Fixes CL-6721
https://linear.app/abklabs/issue/CL-6721
@linear-code

linear-code Bot commented Aug 22, 2026

Copy link
Copy Markdown

CL-6721

@TheGreatAxios
TheGreatAxios merged commit 8e90d98 into main Aug 22, 2026
3 of 4 checks passed
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