Live scans the Remote Scripts folder for __init__.py with create_instance()
at the *root* of the script folder. Our create_instance was buried inside
the AbletonOSC/ subpackage, so Live never found it.
Also:
- Inner AbletonOSC/__init__.py: guard import with try/except for pytest compat
- Manager: use show_message() (Live status bar) instead of log_message()
- Manager: wrap OSCServer.start() in try/except OSError so a port conflict
surfaces as a readable status message instead of a silent crash
- Manager: run handler init inside component_guard() as required by the
Ableton ControlSurface framework
- Manager stub: add show_message, schedule_message, component_guard no-ops
so out-of-Ableton tooling/tests don't break
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>