`capture()` builds `CaptureResult(ax_max_elements=getattr(self,
"_ax_max_elements_sent", 0))` but no test reached that line: the invariant
test stopped at the private `_ax_max_elements_sent` attribute and the hint
tests build CaptureResult by hand, so replacing the getattr with `0` survived
every test. The invariant test now stubs `_capture_window_state` on the stub
backend (`(None, None, [], "")`, plus a no-op `_set_active_target`) and asserts
`stub.capture("ax").ax_max_elements == 350`; the private-attribute assert is
dropped.
PROOF: with `getattr(self, "_ax_max_elements_sent", 0)` replaced by `0` in
cua_backend_capture.py the test fails (`assert 0 == 350`); reverted, 5 passed.