fix(update): keep member updates on workspace lockfile#732
Conversation
Greptile SummaryThis PR fixes plain
Confidence Score: 5/5Safe to merge — the fix is well-scoped, the extraction is mechanical, and the regression test directly exercises the broken scenario. The refactor correctly routes plain workspace-member updates to the shared root lockfile, the No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "fix(update): prune stale workspace extra..." | Re-trigger Greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f887f6c. Configure here.

Summary
aube updateresults back into the shared workspace root lockfileaube installandaube upfrom a workspace memberRoot Cause
aube updatestarted from the nearest project root, so running it inside a workspace member resolved that member as importer.and wrotesub/aube-lock.yaml.aube installalready targets the workspace root, so the two commands disagreed.Validation
cargo fmt --checkcargo test -p aube update:: --no-fail-fasttest/bats/bin/bats --filter 'aube up from a workspace member writes the shared root lockfile' test/pnpm_update.batscargo clippy --all-targets -- -D warningsNote
Medium Risk
Changes how
aube updatepersists lockfiles in workspaces by merging member results into the shared root lockfile, which could affect workspace lockfile contents and importer metadata. Logic is localized and covered by a new regression test, but touches dependency graph merge behavior.Overview
Fixes
aube updaterun from a workspace member to write back into the shared workspace-rootaube-lock.yaml(whensharedWorkspaceLockfileis enabled) instead of creating/updating a per-member lockfile.Refactors lockfile handling by introducing
write_update_lockfileand a sharedmerge_update_graph_into_workspace_lockfilehelper (also used by filtered/recursive updates), expanding the merge to carry per-importerworkspace_extra_fieldsalongside existing importer deps and skipped-optional metadata.Adds a Bats regression test ensuring
aube install+aube upfrom a workspace member updates the root lockfile and does not create a member lockfile.Reviewed by Cursor Bugbot for commit a8b81e1. Bugbot is set up for automated code reviews on this repo. Configure here.