wave-sdk@2.0.0 on PyPI fails both of its registry clean-room checks. The published wheel is unimportable through its own documented entry point. The fix exists in wave-av/sdk-python source and is blocked only on a publish.
Grounded
Measured 2026-09-05 against the LIVE PyPI artifact, from a clean detached worktree at this repo's origin/main (6fe7c01), wheel downloaded and installed into a fresh venv with no checkout on sys.path:
node scripts/ga/registry-cleanroom.mjs --python python3.12 --only pypi-wave-sdk,pypi-wave-av-sdk
-- pypi-wave-sdk (pypi: wave-sdk)
PASS download: downloaded wave_sdk-2.0.0-py3-none-any.whl from PyPI,
sha256 2e844943042207b1d53bff7c870501293d0cc4c2d854f6da9270c3e3d3732fc0
matches the declared digest
PASS install: pip installed the downloaded wheel into a fresh venv
PASS cleanroom-isolation: no repo checkout on sys.path
FAIL py-import-module: `import wave_sdk` raised ModuleNotFoundError: No module named 'wave_sdk'
FAIL py-no-stdlib-shadow: distribution `wave-sdk` claims top-level name(s) that collide with
the CPython stdlib: `wave` (import resolves to stdlib: .../python3.12/wave.py)
The stdlib directory precedes site-packages on sys.path, so import wave always resolves to CPython's Lib/wave.py (WAV audio I/O) and the SDK is unreachable. The artifact is 100% unusable via its documented import on every Python version.
Why a PR in this repository cannot fix it
wave-sdk is published from wave-av/sdk-python, a different repository. That repo's main already carries the rename: the package directory is wave_sdk/ at the repository root and pyproject.toml declares name = "wave-sdk", version = "2.1.0". PyPI's latest for wave-sdk is still 2.0.0 (uploaded 2026-04-03). PyPI refuses re-upload of a published version, so 2.0.0 can never be repaired in place.
Control that proves the fix works once published
The sibling distribution wave-av-sdk (published from sdk-python/ in THIS repo) had the identical defect at 2.0.0. 3.0.0 was published 2026-09-05T03:17:38Z and both checks now PASS:
-- pypi-wave-av-sdk (pypi: wave-av-sdk)
PASS py-import-module: `from wave_sdk import Wave` OK
PASS py-no-stdlib-shadow: top-level names ['wave_sdk'] do not collide with the stdlib
So the remediation shape is proven end to end. wave-sdk needs the same operator-gated publish of 2.1.0 from wave-av/sdk-python.
What clears it
Publish wave-sdk 2.1.0 from wave-av/sdk-python main, then re-run registry clean-room acceptance (workflow_dispatch, or the 09:00 UTC nightly). Both checks should flip to PASS with no source change in this repo.
Note on the arming ledger
GA-READINESS.md's "Arming window" section on main still lists 7 outstanding clean-room failures including wave-av-sdk@2.0.0. As of the measurement above the live count is 5: 3 on @wave-av/cli@1.0.8 (#85) and the 2 here. That ledger is the stated gate for making cleanroom a required status check, so it should be refreshed from a live run rather than left stale.
Related: #85, #37.
wave-sdk@2.0.0on PyPI fails both of its registry clean-room checks. The published wheel is unimportable through its own documented entry point. The fix exists inwave-av/sdk-pythonsource and is blocked only on a publish.Grounded
Measured 2026-09-05 against the LIVE PyPI artifact, from a clean detached worktree at this repo's
origin/main(6fe7c01), wheel downloaded and installed into a fresh venv with no checkout onsys.path:node scripts/ga/registry-cleanroom.mjs --python python3.12 --only pypi-wave-sdk,pypi-wave-av-sdkThe stdlib directory precedes
site-packagesonsys.path, soimport wavealways resolves to CPython'sLib/wave.py(WAV audio I/O) and the SDK is unreachable. The artifact is 100% unusable via its documented import on every Python version.Why a PR in this repository cannot fix it
wave-sdkis published fromwave-av/sdk-python, a different repository. That repo'smainalready carries the rename: the package directory iswave_sdk/at the repository root andpyproject.tomldeclaresname = "wave-sdk",version = "2.1.0". PyPI's latest forwave-sdkis still2.0.0(uploaded 2026-04-03). PyPI refuses re-upload of a published version, so2.0.0can never be repaired in place.Control that proves the fix works once published
The sibling distribution
wave-av-sdk(published fromsdk-python/in THIS repo) had the identical defect at2.0.0.3.0.0was published 2026-09-05T03:17:38Z and both checks now PASS:So the remediation shape is proven end to end.
wave-sdkneeds the same operator-gated publish of2.1.0fromwave-av/sdk-python.What clears it
Publish
wave-sdk2.1.0 fromwave-av/sdk-pythonmain, then re-runregistry clean-room acceptance(workflow_dispatch, or the 09:00 UTC nightly). Both checks should flip to PASS with no source change in this repo.Note on the arming ledger
GA-READINESS.md's "Arming window" section onmainstill lists 7 outstanding clean-room failures includingwave-av-sdk@2.0.0. As of the measurement above the live count is 5: 3 on@wave-av/cli@1.0.8(#85) and the 2 here. That ledger is the stated gate for makingcleanrooma required status check, so it should be refreshed from a live run rather than left stale.Related: #85, #37.