fix(providers): route brain-refresh lease probe through owner
The journal brain refresh busy-detection path imported the raw
journal_io probe_file_lease_held primitive into brain_cli.py and called
it against brain_refresh_lease_path() directly. brain_cli.py is not the
L2 owner of the health/brain-refresh.lease domain (brain_state.py is),
so this tripped the journal-io-access gate.
Add a strictly-additive read-only owner accessor
probe_brain_refresh_lease_held() on brain_state.py and route the CLI
through it. No reducer behavior changes; the underlying probe (already
used internally by inspect_brain_state) is unchanged, and the caller
keeps its OSError->not-busy interpretation.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>