fix(gain): honour suppress_hook_warning, and pin the env/config composition
`rtk gain` printed its own missing-hook line from a bare `status()` match, outside `maybe_warn`, so neither `hooks.suppress_hook_warning` nor `RTK_SUPPRESS_HOOK_WARNING` reached it — on the report the no-hook audience reads most. Gate that arm on the same helper; the outdated-hook prompt stays visible, as it does everywhere else. The new unit tests exercise the parser alone, so folding env and config together with `||` — which drops the falsy force-off — left the whole suite green. Drive the composition through the binary instead, and give the env table the `=0` row that overrides the config flag. The suite pins `XDG_CONFIG_HOME`/`XDG_DATA_HOME` to the temporary home and seeds the config in both the XDG and the macOS location, so the loader cannot resolve past it: `dirs::config_dir` is `~/.config` on Linux but `~/Library/Application Support` on macOS, and a runner that exports either `XDG_*` reached the developer's own config before. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
N
Nicolas Le Cam committed
d2e906a0feabf15a64d475a41fd0365af44424cb
Parent: 4e53f76