fix: address ultrareview findings on profile persistence master
- A blank Name no longer deletes the profile: the binding path stops running the name-dropping normalization on every keystroke, and the persistence boundary substitutes the last persisted name for an in-progress blank one (rename-revert semantics). Decode-time normalization could otherwise silently drop the profile and orphan a bound home. - Repository settings writebacks no longer clobber the externally written per-repo launch memory: setDefaultAgentProfileID and setGlobalCommandEnabled mutate only their own field in the shared store, and the whole-struct binding writeback preserves (and refreshes) lastLaunchedAgentProfileID. Regression tests for both. Claude-Session: https://claude.ai/code/session_011y9A9ZLzhQ84EWXiQ5La5b