Auto-Deploy on Push / verify-and-notify (push) Canceled after 0s
Synapse runs on Twisted's reactor, not asyncio's event loop - the original asyncio.open_connection/wait_for calls failed immediately with "RuntimeError: no running event loop", silently fail-opening every scan (confirmed live: EICAR test file passed through unscanned). Rewritten using twisted.internet.endpoints.HostnameEndpoint/ connectProtocol and a custom Protocol for the INSTREAM conversation.