sf-lwc-deploy-passes-dict-not-zip-preexisting-design-flaw

sf_lwc_deploy was always broken — it builds a metadata_package dict (package.xml manifest structure) and passes it directly to mdapi.deploy() which expects a zip file. The correct fix requires querying LWC bundle + resource files via Tooling API from source org, building a proper metadata zip (package.xml + lwc files), then deploying via mdapi.deploy(). This was never caught because the tool failed before the sandbox arg bug.