sfdc-mdapi-async-wrapping-law3-requirement

All conn.mdapi.* calls in async functions must be wrapped in asyncio.to_thread(). Bare synchronous mdapi calls (create, update, deploy, retrieve, etc.) block the async event loop. Found 23 violations across metadata, security, integration, and utilities modules in a single audit. asyncio.to_thread() correctly passes both args and kwargs.