Skip to content

chore: restore self-applying caller for dogfooding + required status check - #41

Merged
twistedmelonman merged 1 commit into
mainfrom
claude/restore-self-review-caller-20260418
Apr 18, 2026
Merged

chore: restore self-applying caller for dogfooding + required status check#41
twistedmelonman merged 1 commit into
mainfrom
claude/restore-self-review-caller-20260418

Conversation

@twistedmelonman

Copy link
Copy Markdown
Member

Summary

  • Adds .github/workflows/self-review.yml, a minimal caller that invokes the reusable claude-blocking-review.yml on this repo's own PRs
  • Restores the claude-review / run-review status check that main's branch protection requires (and that no workflow has produced since commit 52e688b removed the prior caller during the v1 rename)
  • Uses a local path (./.github/workflows/claude-blocking-review.yml), not a tag reference, so PR branches dogfood the proposed changes to the reusable workflow against themselves — not the released @v1 version

Why

Every PR since 52e688b (March 27) has been mergeStateStatus: BLOCKED and mergeable only via --admin:

Restoring the self-caller means:

  1. Changes to the reusable workflow get reviewed by the reusable workflow before ship. claude-blocking-review: skip-marker grep mismatch (error message says [skip-claude-review: reason], grep only matches bare [skip-claude-review]) #38 would likely have surfaced on a self-review long before it bit users.
  2. Future PRs merge through the normal path — no admin-bypass needed, enforcement actually enforces.

What this PR does NOT change

  • The reusable workflow itself is untouched. Only a new caller file.
  • No changes to the v1 tag, or to consumer repos.

Verification

  • Local pre-commit + pre-push reviewers: PASS
  • Expected to trigger on this PR itself (opened → Self-Review / claude-review / run-review check should appear)
  • If the check runs green, this PR merges via normal gh pr merge (no --admin), confirming the fix end-to-end

Related

Test plan

  • Self-Review / claude-review / run-review appears on this PR and runs
  • Workflow produces a PASS review (diff is a single new YAML file, no BLOCK-worthy content)
  • gh pr merge <this> works without --admin
  • After merge, rebase fix: match documented [skip-claude-review: reason] form in grep #39 onto main → confirm the same check runs green on it too

🤖 Generated with Claude Code

…s check

Branch protection on main requires the `claude-review / run-review` status
check, but no workflow in this repo produces it. The caller that used to
produce it (.github/workflows/claude-code-review.yml) was removed in commit
52e688b as part of the v1 rename, and nothing was added back. Since then
every PR (#33#36, #39) has been BLOCKED on main's branch protection and
only mergeable via `--admin`, losing both the enforcement and the
dogfooding of the reusable workflow on its own changes.

Add .github/workflows/self-review.yml, a minimal caller that:
- Triggers on pull_request (opened/synchronize/ready_for_review/reopened)
- Invokes the reusable workflow via LOCAL path (./.github/workflows/...)
  so PR branches review their proposed changes to the reusable workflow
  against themselves before release. A tag-pinned reference (@v1) would
  run the released version instead and miss bugs introduced in the PR.
- Names the calling job `claude-review`, matching the required status
  check name `claude-review / run-review` in branch protection.
- Passes repo-specific extra_instructions flagging the sensitive surfaces
  in this repo: shell-injection in PR-data interpolation, verdict contract
  stability, allowed-tools broadening, and the escape-hatch regex (which
  just bit us in #38).

No functional changes to the reusable workflow itself.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@twistedmelonman
twistedmelonman merged commit 60233b7 into main Apr 18, 2026
3 checks passed
@twistedmelonman
twistedmelonman deleted the claude/restore-self-review-caller-20260418 branch April 18, 2026 19:52
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.

claude-blocking-review: skip-marker grep mismatch (error message says [skip-claude-review: reason], grep only matches bare [skip-claude-review])

1 participant