Skip to content

Fix org-wide failure of pr-review-mention reusable workflow caller (stale v1 tag) #267

@don-petry

Description

@don-petry

Problem

Every caller repo in petry-projects that uses the pr-review-mention.yml thin caller stub has been failing at parse time with:

error parsing called workflow: failed to fetch workflow: workflow was not found.

The caller stubs reference:

petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@v1

But the v1 lightweight tag in petry-projects/.github points at commit 0cb4bba11d7563bf197ad805f12fb8639e4879e4, which predates the existence of .github/workflows/pr-review-mention-reusable.yml. That file was first added on main on 2026-05-11 in commit a2b3b464... (PR #237 "feat: make pr-review-mention an org standard") and most recently updated on 2026-05-13 in commit d3d768dabb7f28cc63283cdfe48630da53700e50 (PR #266, @petry-review-bot@donpetry-bot rename).

Verified: fetching the raw blob at the v1 ref returns 404; fetching at d3d768d returns the file. So @v1 is unresolvable for callers.

⚠️ There is an existing google-app-scripts PR #272 ("fix: pin pr-review-mention reusable workflow to SHA") that tries to pin to 0cb4bba1... — the same broken commit, just spelled as a SHA. DO NOT MERGE #272 AS-IS. It must be updated to the correct SHA or closed and superseded.


Scope — 5 files across 4 repos

Caller repos discovered via gh api search/code for the reusable path:

Repo File
petry-projects/.github .github/workflows/pr-review-mention.yml (dogfooded caller)
petry-projects/.github standards/workflows/pr-review-mention.yml (template)
petry-projects/google-app-scripts .github/workflows/pr-review-mention.yml
petry-projects/TalkTerm .github/workflows/pr-review-mention.yml
petry-projects/bmad-bgreat-suite .github/workflows/pr-review-mention.yml

Decisions

  • Pin target SHA for every caller:
    d3d768dabb7f28cc63283cdfe48630da53700e50
    (latest commit on petry-projects/.github main containing the reusable)

  • v1 tag in petry-projects/.github:
    Force-move it to d3d768d AND cut a new v2 tag at the same SHA.
    Moving v1 unbreaks production for any lagging caller immediately.
    v2 gives new adopters a clean semver tag to point at.

  • Pin form in YAML (matches ci-standards.md action-pinning policy):

    uses: petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@d3d768dabb7f28cc63283cdfe48630da53700e50 # main

Execution Order

Step 1 — petry-projects/.github (do FIRST; unbreaks production)

a. Move the v1 tag to d3d768d:

gh api -X PATCH repos/petry-projects/.github/git/refs/tags/v1   -f sha=d3d768dabb7f28cc63283cdfe48630da53700e50 -F force=true

b. Cut a new v2 tag at d3d768d:

gh api -X POST repos/petry-projects/.github/git/refs   -f ref=refs/tags/v2 -f sha=d3d768dabb7f28cc63283cdfe48630da53700e50

c. On a feature branch in petry-projects/.github, update:

  • .github/workflows/pr-review-mention.yml (caller stub)
  • standards/workflows/pr-review-mention.yml (template)

Each: change the uses: line from @v1 to @d3d768dabb7f28cc63283cdfe48630da53700e50 # main.

Open draft PR titled: fix: pin pr-review-mention reusable to d3d768d SHA.

Step 2 — Caller repos (parallel after Step 1a/1b)

For each of:

  • petry-projects/google-app-scripts
  • petry-projects/TalkTerm
  • petry-projects/bmad-bgreat-suite

Apply this one-line diff in .github/workflows/pr-review-mention.yml:

-    uses: petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@v1
+    uses: petry-projects/.github/.github/workflows/pr-review-mention-reusable.yml@d3d768dabb7f28cc63283cdfe48630da53700e50 # main

Open draft PRs. Commit message: fix: pin pr-review-mention reusable to SHA with body explaining the stale-v1-tag root cause.

For google-app-scripts specifically:

Step 3 — Verify each caller after merge

For each of the four caller repos:

  1. As an OWNER/MEMBER, post a comment containing @donpetry-bot on any open PR.
  2. Confirm a new run of "PR Review — Mention Trigger" appears in Actions and reaches the handle-mention job (no parse error).

Step 4 — Close compliance findings

  • Close petry-projects/google-app-scripts#271 once the SHA-pin lands on main.
  • Search and close analogous compliance-audit issues in .github, TalkTerm, and bmad-bgreat-suite if any exist:
gh search issues "in:title pr-review-mention" --owner petry-projects   --state open --json repository,number,title

Step 5 — Prevent recurrence

Add a one-line note to petry-projects/.github CONTRIBUTING (or to the file header of pr-review-mention-reusable.yml):

"When publishing a new SHA of this reusable, also update standards/workflows/pr-review-mention.yml and open a fanout PR across caller repos."

This prevents the template and the callers from drifting again.


Guardrails

  • Do NOT skip git hooks, force-push to main, or bypass signing.
  • The v1 tag move is the only destructive git op authorized; use the gh api PATCH form above, not git push --force.
  • Open all PRs as drafts.
  • Do not change anything else in the caller stubs — they are thin caller stubs by design and the file headers warn against modification beyond the uses: line.

Done When

  • v1 tag in petry-projects/.github points to d3d768d
  • v2 tag in petry-projects/.github exists at d3d768d
  • All 5 files listed under Scope reference d3d768d via SHA pin
  • A test mention of @donpetry-bot on any caller-repo PR produces a successful "PR Review — Mention Trigger" run with an ack comment
  • Compliance issue 💡 Token Cost Observatory with Pre-Agentic Optimization #271 (and any analogs) closed

Report back with: links to the 4 PRs, confirmation that the v1/v2 tags moved, and the URL of one successful verification run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBug reportsclaudeFor Claude agent pickup

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions