cc-release-watch → claude-release-watch
Why renaming the workflow file is the right escape hatch when GHA's metadata cache is wedged.
What we tried first
- PR #1592 changed
workflow_dispatch: → workflow_dispatch: {}.
Hypothesis: the implicit form had triggered a GHA cache-coherency bug.
- Hypothesis was wrong. After merge, dispatch still returned
HTTP 422: Workflow does not have 'workflow_dispatch' trigger
and gh workflow list still showed the workflow under its file path
instead of its name: field.
Why content edits don't unstick the cache
GitHub Actions associates each workflow with a numeric ID
(here, 259675442) at first registration. Subsequent edits to
the file SHOULD trigger a re-parse — but in this case, the workflow's
metadata (name: and recognized triggers) has been frozen since
the file was first added on 2026-04-12, regardless of how many times
the contents change.
Possible causes (we don't need to know which to fix it):
a partial registration on first push, a cache invalidation regression
on GHA's side, or an internal state we can't observe. What matters: edits
to file content don't fix it.
The fix: rename to force a new workflow ID
Before
.github/workflows/cc-release-watch.yml
name: cc-release-watch
workflow ID: 259675442 (cached, broken)
After
.github/workflows/claude-release-watch.yml
name: claude-release-watch
workflow ID: (new — clean metadata)
GHA assigns a fresh workflow ID per unique file path.
Renaming the file forces a clean registration with the current
on: block, including workflow_dispatch: {}.
Tradeoff
- Old workflow ID becomes orphaned. It still appears in
gh workflow list --all as active with the path
of a file that no longer exists. Inert — won't fire because there's no
file to drive it. Can be ignored.
- Run history is split. Past runs stay attached to the
old ID. Future runs go to the new ID. For a 3-week-old workflow with
~3 startup-failure runs, the lost history isn't material.
- External references update. Two doc pages and one
script comment referenced the old filename. All updated in this PR.
No automation depends on the file path.
Verification path
- This PR merges to main.
gh workflow list shows claude-release-watch as a friendly name (not file path).
gh workflow run claude-release-watch.yml returns a run URL — no more 422.
- The dispatched run executes end-to-end, including the LLM triage step
(now that
CLAUDE_CODE_OAUTH_TOKEN is configured), and produces
either zero feature gaps (no new CC versions today) or new
cc-adoption issues (if any high-score gaps exist).
Followup
Once the new workflow has fired successfully at least once,
we can gh api -X DELETE the orphaned ID 259675442 to keep
gh workflow list --all clean. Optional cosmetic step;
doesn't affect correctness.