Skip to content

ci(rename): make the self-PR skip tolerant of both repo slugs - #500

Merged
BaseInfinity merged 1 commit into
mainfrom
chore/rename-harness-prep
Aug 8, 2026
Merged

ci(rename): make the self-PR skip tolerant of both repo slugs#500
BaseInfinity merged 1 commit into
mainfrom
chore/rename-harness-prep

Conversation

@BaseInfinity

Copy link
Copy Markdown
Owner

Groundwork for renaming this repo to claude-sdlc-harness. Landed before the
rename so the rename itself cannot break anything.

The defect this prevents

pr-review.yml skips the paid Claude review on this repo's own PRs:

github.repository != 'BaseInfinity/claude-sdlc-wizard'

Both reviewers independently flagged the same failure: a GitHub rename does not
rewrite that string.
The redirect covers web and git operations, not a literal
comparison inside a workflow. The moment the repo is renamed, the condition flips
true and the review this skip exists to prevent starts running on every self-PR —
burning quota with nothing to indicate anything changed.

Listing both slugs makes the rename a no-op for this gate in either direction,
so it can be flipped without a flag day and rolled back without a second one.

Verification

  • TDD RED observed first: the test demanded the new slug and failed for that reason
  • Mutation: inverting != to == still fails the negative control
  • Suite 65/65

What this does NOT cover — the step a redirect cannot do

npm Trusted Publishing binds to the exact repository name. release.yml
publishes via OIDC, and the publisher configured on npmjs.com names
BaseInfinity/claude-sdlc-wizard + release.yml. After the rename the OIDC claim
no longer matches, and the next tagged release fails at publish until the
publisher config is updated in the npm console. package.json's repository.url
must be updated to match as well, since provenance verification checks it.

Codex live-tested the redirect claim rather than assuming it: marketplace add and
update both succeed through this repo's previous slug
(BaseInfinity/agentic-ai-sdlc-wizard) on Claude Code 2.1.221. So plugin installs
survive — but never create a new repo at either historical name, since that destroys
the redirect for every pinned install.

Part of the wizard → harness rename. Prose rename follows separately; it is not a
sed (skills/sdlc/SKILL.md lands at exactly 20,001 bytes against a 20,000 ceiling
if all 8 occurrences are replaced).

Groundwork for renaming this repo to claude-sdlc-harness, landed ahead of
the rename so the rename itself cannot break anything.

`pr-review.yml` skips the paid Claude review on this repo's own PRs with
`github.repository != 'BaseInfinity/claude-sdlc-wizard'`, because this
repo uses Codex for cross-model review instead. Both reviewers
independently flagged the same failure: a GitHub rename does not rewrite
that string. The redirect covers web and git operations, not a literal
comparison inside a workflow. The moment the repo is renamed the
condition silently flips true and the review this skip exists to prevent
starts running on every self-PR — burning quota with nothing to indicate
anything changed.

Listing both slugs makes the rename a no-op for this gate, in either
direction, so it can be flipped without a flag day and rolled back
without a second one.

The test previously pinned the old slug exactly; it now requires a
negative comparison for every slug this repo answers to. Its
inverted-operator negative control still fires, verified by mutation.

Not addressed here, and NOT covered by GitHub's redirect: npm Trusted
Publishing binds to the exact repository name, so the publisher config on
npmjs.com must be updated at rename time or the next tagged release fails
at publish. That is a manual step in the npm console, not a code change.

Suite 65/65.
@BaseInfinity

Copy link
Copy Markdown
Owner Author

USER-APPROVED MERGE OVERRIDE

Reason: Maintainer directed the wizard->harness rename this session and instructed me to execute it ('wtf you rename it', 'you can do all that right?'). This PR is the safety net that must land BEFORE the rename: both Fable and Codex independently identified pr-review.yml's literal repo-slug comparison as silently flipping true on rename and starting the paid self-review on our own PRs. TDD RED observed, mutation-verified, suite 65/65, CI validate green in 3m59s. HARD tier applies because the diff touches .github/workflows/.

Waived (would otherwise have blocked):

  • .github/workflows/pr-review.yml (merge-evidence path)\n clearance-artifact checks (.reviews/merge-clearance-500.json)\n

Still verified, not waivable: CI validate green, no net-removed test files.

Head: f983d49102f97e09773815c62001efef46694ea5

Posted by scripts/merge-pr.sh --user-approved before merging. This flag does not prove a human authored it; it makes an override explicit and durable instead of silent.

@BaseInfinity
BaseInfinity merged commit 9c14f61 into main Aug 8, 2026
3 checks passed
BaseInfinity added a commit that referenced this pull request Aug 8, 2026
…hipping (#506)

The repo is now BaseInfinity/claude-sdlc-harness. The npm package stays
agentic-sdlc-wizard and the plugin IDs, CLI bin and slash commands are
unchanged — those are what an install depends on, and renaming them would
force every consumer to reinstall for no functional gain. The old repo
URL still redirects, and npm Trusted Publishing has been re-pointed at
the new slug, which GitHub's redirect does not cover.

Carries #495 (--user-approved), #497 (three shipped defects, and five
review rounds fixing the tests meant to catch them), #500 (dual-slug CI
tolerance, landed before the rename so the rename could not break it),
#503 (the rename) and #505 (the Cowork gate fix and the Fable-decides
contract).

Version markers: eleven had to move together, and the suite caught three
I missed — the cowork marketplace entry, the update skill's example, and
the SDLC.md table. That is GH #493's defect class caught by tests rather
than by review, which has not happened before. Historical v1.94.0
references in ROADMAP and in two test comments are left alone
deliberately: they describe what was true then.

Suite 65/65.
BaseInfinity added a commit that referenced this pull request Aug 12, 2026
…hipping

The repo is now BaseInfinity/claude-sdlc-harness. The npm package stays
agentic-sdlc-wizard and the plugin IDs, CLI bin and slash commands are
unchanged — those are what an install depends on, and renaming them would
force every consumer to reinstall for no functional gain. The old repo
URL still redirects, and npm Trusted Publishing has been re-pointed at
the new slug, which GitHub's redirect does not cover.

Carries #495 (--user-approved), #497 (three shipped defects, and five
review rounds fixing the tests meant to catch them), #500 (dual-slug CI
tolerance, landed before the rename so the rename could not break it),
#503 (the rename) and #505 (the Cowork gate fix and the Fable-decides
contract).

Version markers: eleven had to move together, and the suite caught three
I missed — the cowork marketplace entry, the update skill's example, and
the SDLC.md table. That is GH #493's defect class caught by tests rather
than by review, which has not happened before. Historical v1.94.0
references in ROADMAP and in two test comments are left alone
deliberately: they describe what was true then.

Suite 65/65.
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