pub fn claude_project_settings_needs_update(
path: &Path,
sqz_path: &str,
) -> Result<bool>Expand description
Dry-run probe for sqz init’s plan phase: would merging sqz’s hook
entries change the Claude Code settings file at path?
Returns Ok(true) when the file is missing, or exists with stale or
absent sqz entries (e.g. the pre-issue-#26 "Bash"-only matcher, or
an outdated binary path). Returns Ok(false) when our entries are
already present identically. Errors on unparseable files — same as
the real merge, which refuses to touch those.
Without this probe the CLI’s plan phase treated any existing file as “nothing to do” and exited before the installer ran, so the healing merge below was unreachable in practice.