Skip to content

chore: repoint every repository URL at sethbang/venice-py - #39

Merged
sethbang merged 2 commits into
mainfrom
chore/phase5-repo-rename-urls
Aug 21, 2026
Merged

chore: repoint every repository URL at sethbang/venice-py#39
sethbang merged 2 commits into
mainfrom
chore/phase5-repo-rename-urls

Conversation

@sethbang

Copy link
Copy Markdown
Owner

Phase 5 — the last step of the venice-aivenice-py rename. The repo is now sethbang/venice-py; this lands the URLs.

Why the rename came first

GitHub redirects old → new, never new → old. So sethbang/venice-ai URLs kept working right up to this commit, while sethbang/venice-py URLs would have 404'd before it. Renaming first meant nothing was broken in between; sweeping first would have.

What changed

69 references across 10 files, plus:

  • docusaurus.config.tsprojectName and editUrl
  • the two git clone … && cd instructions
  • the README banner (raw.githubusercontent.com) and the codecov badge
  • pyproject.toml Homepage / Repository / Issue Tracker / Changelog — these are what PyPI displays, and they update with the next release
  • publish-testpypi.yaml's header comment recording the registered repo name

Why a lookahead, not a substitution

sethbang/venice-ai(?![-\w])

sethbang/venice-ai is a prefix of three sibling repos under this owner — venice-ai-rc, venice-ai-priv, venice-ai-streamlit-demo. A plain sed rewrites the archive guard in ci-validation.yaml:

if: github.repository != 'sethbang/venice-ai-rc'      # correct
if: github.repository != 'sethbang/venice-py-rc'      # what a naive sweep produces

That fails silently — the codecov upload just starts running on the private archive. Guarding only -rc wouldn't have been enough either; the character class covers the whole family. Verified unchanged.

What deliberately still says venice-ai

Because that is what it means, not because it was missed. All counted before and after the sweep:

count
sethbang/venice-ai-rc (archive guard) 1
@venice-ai/x402-client (npm, different registry) 3
venice-ai-redis-node-* (docker containers) 5
venice-ai-docs (live Cloudflare Pages project) 2
legacy skill dir names (venice-ai-multimodal / -production / -x402) 16
pip install venice-ai (the old distribution name) 11
venice-ai<2 (v1 exists only under the old name) 4
venice-ai-test (a User-Agent literal in a VCR test) 2

Verification is tracked-files-only, matching what the sweep rewrites — untracked local files legitimately still say venice-ai and aren't its business.

Publishing is unaffected

Both publish workflows already guard on github.repository_owner == 'sethbang', so neither silently skips under the new name. A second Trusted Publisher for sethbang/venice-py was registered on both PyPI and TestPyPI before the rename, with the existing entries left live — those get removed only after a TestPyPI rc dispatch proves the chain.

Verification

make format-check, pyright, and the Docusaurus build under onBrokenLinks: 'throw' (82 documents) all clean. The sweep's own verifier compares before/after counts for every non-target and exits 1 on any drift — exercised on both paths, including deliberately removing the lookahead to confirm it catches the corrupted guard.

🤖 Generated with Claude Code

sethbang and others added 2 commits August 20, 2026 22:11
Phase 5, the last step of the venice-ai -> venice-py rename. The repo was
renamed on GitHub first, deliberately: redirects go old -> new and never the
reverse, so the old URLs kept working right up to this commit while the new
ones would have 404'd before it.

69 references across 10 files, plus docusaurus projectName and editUrl, the
two clone-and-cd instructions, the README banner and codecov badge, the
pyproject project URLs, and the publish-testpypi header comment.

Swept with a negative lookahead, sethbang/venice-ai(?![-\w]), not a plain
substitution: that string is a prefix of three sibling repos under this owner
(venice-ai-rc, venice-ai-priv, venice-ai-streamlit-demo), and rewriting the
archive guard in ci-validation.yaml to 'sethbang/venice-py-rc' would fail
silently by starting the codecov upload on the archive. Verified unchanged.

Nothing else moves. The old distribution name, @venice-ai/x402-client, the
legacy skill directory names, the redis container names, venice-ai-docs and
the v1 pin advice all still say venice-ai because that is what they mean.
Counts for all ten checked before and after.

Both publish workflows already guard on github.repository_owner, so neither
silently skips under the new name.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The rename broke `Dependency Security Audit` — first failure in 15 runs, and
the only change between the last green run and it was the repo name.

`virtualenvs-in-project: true` puts .venv inside the workspace, and a
virtualenv bakes absolute paths into pyvenv.cfg, bin/activate and every
console-script shebang. The workspace path is /home/runner/work/<repo>/<repo>,
so renaming the repo invalidates every one of them. The cache key was
`venv-<os>-<lockhash>` — unchanged by a rename — so the job restored a .venv
built for the old path.

It then fails misleadingly. Poetry reads the dist-info metadata, finds it all
present and prints "No dependencies to install or update"; the breakage only
surfaces at `poetry run pip-audit` as `Command not found: pip-audit`, which
reads like a missing dependency rather than a dead interpreter path.

It would not have self-healed: actions/cache does not re-save on a hit, so
every later run would restore the same broken venv.

Keyed by github.repository now, so any future rename starts a fresh namespace.
e2e.yml needs the same treatment in both jobs, restore-keys included — a bare
`<os>-poetry-` prefix falls straight back to the pre-rename cache.

ci-validation.yaml, skills.yml and examples.yml cache under ~/ instead of the
workspace, so they are path-independent and deliberately unchanged. That is
why all five required checks passed while this one did not.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sethbang
sethbang merged commit f78047c into main Aug 21, 2026
22 checks passed
@sethbang
sethbang deleted the chore/phase5-repo-rename-urls branch August 21, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant