Gitea's PyPI registry rejects twine's --skip-existing flag (UnsupportedConfiguration), which failed every publish run. Remove it and instead tolerate an "already exists" conflict in the shell, so dev (unique .devN versions) always publishes and a main re-run of an existing release is treated as success rather than a hard failure. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>