Summary
mcs sync --update is soft-deprecated — it warns on use and points to mcs update. It should be removed in a future release once users have had time to migrate.
Why
mcs update fully supersedes it: both fetch latest pack versions and re-apply, and mcs update has cleaner multi-scope semantics. The --update flag also force-writes the lockfile, which is exactly the default behavior we steered away from when lockfile generation became opt-in.
There is also a behavioral wrinkle worth resolving on removal rather than patching now: on a non-interactive hard failure, mcs sync --update throws before the sync phase, so healthy packs are fetched but not re-applied that run (unlike mcs update, which re-applies first and signals failure last). Removing the flag eliminates that inconsistency rather than carrying two divergent code paths.
Scope
- Remove the
--update flag from SyncCommand and its deprecation warning.
LockfileOperations.updatePacks() exists only to serve this flag — remove it (and its test) if no other caller remains.
- Update
CLAUDE.md (the mcs sync --update line) and any remaining hint strings.
Notes
Per the prior decision, removal was deferred one release after the deprecation landed. Gate this on that release boundary.
Summary
mcs sync --updateis soft-deprecated — it warns on use and points tomcs update. It should be removed in a future release once users have had time to migrate.Why
mcs updatefully supersedes it: both fetch latest pack versions and re-apply, andmcs updatehas cleaner multi-scope semantics. The--updateflag also force-writes the lockfile, which is exactly the default behavior we steered away from when lockfile generation became opt-in.There is also a behavioral wrinkle worth resolving on removal rather than patching now: on a non-interactive hard failure,
mcs sync --updatethrows before the sync phase, so healthy packs are fetched but not re-applied that run (unlikemcs update, which re-applies first and signals failure last). Removing the flag eliminates that inconsistency rather than carrying two divergent code paths.Scope
--updateflag fromSyncCommandand its deprecation warning.LockfileOperations.updatePacks()exists only to serve this flag — remove it (and its test) if no other caller remains.CLAUDE.md(themcs sync --updateline) and any remaining hint strings.Notes
Per the prior decision, removal was deferred one release after the deprecation landed. Gate this on that release boundary.