rdmpw3275m-changelog-20260926-2005-brew-cask-version-guard
rdmpw3275m-changelog-20260926-2005-brew-cask-version-guard
Installed dev_update v2.15 and shared bundle-version guard to prevent stale casks downgrading self-updated apps.
- Scope: rdmpw3275m; TASK-20260926-70 / DEC-20260926-16. rdmpw3265m excluded.
- Files: ~/dev/scripts/dev_update_v2.15.zsh, lib/brew-cask-version-guard.zsh, normalize_dev_update.zsh, fleet-dev-update.zsh; aliases dev_update/devupdate/updatedev/fleet_update/fleet_upgrade.zsh. ~/bin/fleet-dev-update.zsh updated where it existed; existing greedy default preserved. Hub also GROKBOT.md and PROJECTS.md plus tracked root-doc snapshots, SESSION-STATE and tests.
- Commands: install.py backup; install.py apply package (atomic, SHA-gated); zsh -n per shell file; dev_update_v2.15.zsh --verify-embedded; brew list --cask --versions grok-bot grok-build; read-only guard dry run.
- Verification: 5/5 deployed hosts share updater SHA 51c6207b371b22afc15065763a618fdc00f443d0efc81729826c563b7edbab94 and helper SHA fb39bb68668c7aa955b2261c830b53877da236f4c2b40840b3d0b12caa991c36. Hub 13 test methods / 14 comparison fixtures pass, real phase function tested. Live hub 0.59.1 <= 0.59.1 skipped; 59.1 <= 61 fixture skipped; newer ChatGPT/Chrome selected. No actual upgrades, uninstalls or reinstalls.
- ShellCheck SC1071: zsh unsupported; native zsh syntax validation passed.
- Backup/undo: zsh ~/archive/brew-greedy-skip-20260926/ROLLBACK.zsh. Hub exact rollback verified 14 original paths then reapplied; each spoke has its own original archive. Added files are retained on rollback, not deleted. Check concurrent changes before a later historical rollback.
- Commits: scripts cf57523; fleet docs b3b5bdf; Agent trailers present, fleet remotes pushed.
- Full evidence: rdmsm4x:~/dev/_handoff/brew-greedy-skip-20260926/RESULT.md.
- Owner actions: none for guarded updates. Notes entry pending because this execution session is Background; the file is archived. No Notes save is claimed.