fix(setup): stop enable --agent from clobbering unparseable settings
Commit

setupAgentHooksNonInteractive loaded the target file via settings.LoadFromFile and, on any error, replaced it with a defaults struct that saveEnabledState then wrote back. Because LoadFromFile fails on invalid JSON AND on any unknown key (DisallowUnknownFields), a settings.json with strategy_options/log_level or a key from a newer CLI was silently destroyed and rewritten as {"enabled": true}.
Refuse with a clear error naming the file instead of clobbering it (a missing file still returns defaults, so first-time enable is unaffected), mirroring updateStrategyOptions. Also warn instead of silently degrading to the scoped view when the merged-settings load for hook installation fails. Rename the local settings var to targetSettings so it no longer shadows the settings package import.