The test suite does not reach packaging or resolution, and that is precisely
where the broken releases came from: 0.1.0 shipped with `uvx <package>` failing
because the console script was not named after the package, and a wheel that
dropped its vocabulary would still install and still start. pytest cannot see
any of it.
So one command does what pytest cannot: builds the wheel, checks it carries the
vocabulary, installs it into a throwaway venv, runs BOTH console scripts on a
real capture, confirms the artifacts land and the output directory ignores
itself, packs the npm launcher and runs its bin, checks the three version pins
agree, and refuses a version either registry already has. Nothing is published
and nothing outside a temp dir is touched.
It earned itself on the first run twice over. It caught that 0.1.3 was already
published — the one irreversible mistake available here, since a PyPI version
can never be reused. And bumping to 0.1.4 then failed the npm step, exposing a
chicken-and-egg I had not seen: the launcher pins the version being released,
which does not exist on PyPI until after it ships, so the npx path could only
ever be exercised against the PREVIOUS release. LOGANALYZER_FROM now overrides
the spec, and preflight points it at the wheel under test.
Version bumped to 0.1.4 to carry the navigator change.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>