Fresh-install smoke test of carl-studio==0.18.1 from PyPI caught two issues:
1. carl-core not on PyPI (404 on pypi.org/pypi/carl-core). The 0.1.0
publish attempt from 2026-04-19 failed with PyPI's classic
"Non-user identities cannot create new projects" 400 error — trusted
publishers cannot create brand-new PyPI projects from CI. Required
manual "pending publisher" setup on pypi.org, now done. Bumping
0.1.0 -> 0.1.1 so the new tag triggers the now-registered trusted
publisher path.
2. `carl --version` returned "No such option: --version". Every CLI
user types this reflexively after install. Fixed: --version / -V
now attach to the root callback in wiring.py (where the bare-carl
routing callback already lives — Typer only supports one
@app.callback). Prints "carl-studio <semver>" and exits 0.
TDD red->green on --version: tests/test_cli_version_flag.py (3 tests).
Also includes --version short-form (-V) and output-shape lock.
Versions: carl-core 0.1.0 -> 0.1.1, carl-studio 0.18.1 -> 0.18.2.
uv.lock regenerated. Both wheels build locally.
Workflow pipeline after this commit:
git tag carl-core@0.1.1 v0.18.2 && git push origin carl-core@0.1.1 v0.18.2
-> publish-subpackage publishes carl-core==0.1.1 to PyPI (pending publisher now accepts)
-> publish-root publishes carl-studio==0.18.2 to PyPI
-> pip install carl-studio==0.18.2 works end-to-end
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>