Drop getattr masking of the base-class _reaction_handler
The attribute is declared on BasePlatformAdapter (base.py:3017) with a
None default, so it is always present. Direct access is typed and matches
the AGENTS.md typed-access rule; the getattr fallback only hid that.