- invokeRemoteMethodAsync now also marshals to the owner thread (non-blocking
QueuedConnection) — the async path acquires a replica too, so calling it from
a worker thread previously re-introduced the off-thread bug.
- runOnOwnerThread: document the return-type constraints (void or
default-constructible, non-reference) and static_assert against references.
- test: declare the provider before its LogosAPI so the ModuleProxy (which
holds a raw pointer to it) is torn down first — removes the leak and the
inaccurate comment.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>