salesforce-metadata-api-zip-must-have-no-src-prefix

sf_build_deploy_package was writing all zip entries under a src/ prefix (src/classes/MyClass.cls, src/package.xml). The Salesforce Metadata API expects paths at root with no prefix: package.xml at root, classes/MyClass.cls directly. The src/ prefix is an SFDX project convention, not a Metadata API convention — deployments silently returned ‘No package.xml found’.