The bump script updates Cargo.toml but never regenerated Cargo.lock, causing it to show as dirty after every version bump until someone manually ran cargo. Now runs cargo generate-lockfile automatically.