Repository navigation
fix(workspace): guard root sentinel-URL collision with a workspace/ descendant - #1210
detail-app[bot] wants to merge 6 commits into
Conversation
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot skipped and reported one unresolved finding, and this is a functional workspace-discovery change rather than a small fixup, so human review is needed. Cursor Security Agent completed successfully with no security findings.
Sent by Cursor Approval Agent: Pull Request Router and Approver
676caa6 to
06fa8d7
Compare
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-discovery change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
e2d1a53 to
127d05b
Compare
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-discovery change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
127d05b to
35066a3
Compare
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-discovery change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
35066a3 to
50dedb4
Compare
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-resolution change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
50dedb4 to
e4523e0
Compare
|
Re: #1210 (review) — Addressed in e4523e0: the workspace-root fallback in |
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-resolution change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
Stale comment
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-resolution change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
Chain the full package_roots index after the explicit stdlib and workspace precedence so a remote dependency root registered under a versioned coordinate resolves back to that coordinate. Add a regression for an indexed remote root. Amp-Thread-ID: https://ampcode.com/threads/T-01a07a15-443a-77bd-aa08-65fa5976bed9
c45f9e1 to
be2ff30
Compare
There was a problem hiding this comment.
Left a non-blocking comment; not approved, and no reviewers were assigned. Cursor Bugbot passed with no unresolved findings, and Cursor Security Agent was not running; this is a functional workspace-resolution change rather than a small fixup, so human review is needed.
Sent by Cursor Approval Agent: Pull Request Router and Approver
|
Closing this pull request because it has had no human activity in 29 days (since 2026-09-07) and was opened 31 days ago. Detail closes its pull requests once they are more than 30 days old and have had no human activity for 14 days. If this change is still useful, reopen the pull request and Detail won't close it again. To keep a Detail pull request open, add the |


Report a discovery error instead of replacing a descendant package when its URL collides with the root package. Preserve discovered coordinates in the shared resolution map and use that map for reverse lookup, while retaining noncolliding workspace-root package URIs. Add focused regressions for collision handling and URI compatibility.
Note
Medium Risk
Changes workspace discovery and package coordinate indexing used for package:// URIs; mis-handling could affect multi-package repos with path-based URLs, though behavior is tightened with explicit errors and tests.
Overview
Fixes a bug where a descendant package named
workspace/could be overwritten by the local root sentinel URLworkspace, and where resolution could later stomp discovered coordinates when building package roots.Workspace discovery now treats a root-package URL collision with an already-discovered descendant as a discovery error (suggesting
[workspace].repository), while keeping the descendant package in the map.Resolution uses
or_insertfor theworkspacefallback root so indexed coordinates are not replaced, and addspackage_url_for_package_rootto reverse-map a canonical package directory to its coordinate (stdlib, workspace members, sentinel, and cached dependency roots). Regressions cover collision reporting, dependency-root lookup, and round-trippackage://behavior when aworkspace/folder exists.Reviewed by Cursor Bugbot for commit be2ff30. Bugbot is set up for automated code reviews on this repo. Configure here.