Add beta branch-aware package workspaces - #420
Conversation
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
Includes-AI-Code: true
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2d29132. Configure here.
| fs.rmSync(temporary, { recursive: true, force: true }); | ||
| } | ||
| logger.info(`Reconciled Git branch '${observation.branch}' with ${packageKey}.`); | ||
| return true; |
There was a problem hiding this comment.
Git commits reset recorded move hints
High Severity
Any linked Git HEAD change, including a normal commit on the same branch, is treated as a target switch. synchronizeGitTarget then rewrites local state via reconcileLocalState, which replaces moveHints with only metadata path drift and drops recorded moves. pull also returns immediately after that remap, so it never applies remote files.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 2d29132. Configure here.
| case "added": | ||
| if (expected) { | ||
| throw new GracefulError("Tracked file is missing synchronization state. Run workspace pull."); | ||
| } |
There was a problem hiding this comment.
Metadata-backed additions cannot be pushed
Medium Severity
Classifier reports a metadata-backed file with no baseline as added and includes its nodeKey. Incremental push then treats any added change that still has expected metadata as unsynchronized and throws, so that status cannot be uploaded. Pull is also blocked while those local files remain, which leaves the workspace stuck.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 2d29132. Configure here.






Description
Adds beta filesystem-style package workspaces with branch-aware clone, checkout, pull, status, push, and move commands. Git mappings stay local, and push sends incremental file changes by default.
Checklist
Includes-AI-Code: true