release-prepare + release-finalize — split for sub-agent reliability
v0.3.0a17 splits the monolithic invoke release task into two phases: release-prepare (build, test, version-bump, tag, push, GitHub Release) and release-finalize (poll PyPI, poll Read the Docs, activate version slug, set RTD default_version). The split exists because the polling phase routinely exceeds Claude Code's 10-minute Bash cap; sub-agents can now retry the idempotent finalize step until exit-0 without re-running the destructive prepare phase.
Sphinx's release value is now read from pyproject.toml instead of being hand-maintained in docs/conf.py, eliminating one more place a version can drift out of sync.