fix(runner): distinct concurrency group for verify.runner.yml variant (Closes #236) - #248
Merged
Merged
Conversation
The scaffolded runner-variant workflow (`verify.runner.yml`, dropped beside an
existing `verify.yml` for the review-and-swap window) was `name: verify` and
shared `concurrency.group: ${{ github.workflow }}-${{ github.ref }}` with the
incumbent verify.yml. Both resolved to the same `verify-<ref>` group with
`cancel-in-progress: true`, so committing both silently cancelled the runner
variant's jobs — they never dispatched to the local runner.
Give the runner variant a distinct concurrency group
(`verify-runner-${{ github.ref }}`, keeping cancel-in-progress) so it can
coexist safely during review without cancelling the incumbent. `forge:init
--runner` now logs an explicit collision note when it drops the variant beside
an existing verify.yml (two "verify" checks run until the swap; runner jobs are
no longer cancelled). Docs updated to reflect safe coexistence + the swap as end
state.
Tests: assert the scaffolded/variant workflow uses the distinct group (not the
bare colliding group) and that the init collision note appears when a verify.yml
is present. pnpm verify 424/424, claude plugin validate --strict green.
Closes #236
Refs #180
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SATRHKa6mDHDuirhP6QuwL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The scaffolded runner-variant workflow
verify.runner.yml(dropped beside an existingverify.ymlfor the review-and-swap window) wasname: verifyand sharedconcurrency.group: ${{ github.workflow }}-${{ github.ref }}with the incumbent. Both resolved to the sameverify-<ref>group withcancel-in-progress: true, so committing both during review silently cancelled the runner variant's jobs — they never dispatched to the local runner (#236, found during the #227 dogfood).Fix
plugin/templates/runner/workflows/verify.yml— distinct concurrency groupverify-runner-${{ github.ref }}(keepscancel-in-progress: true, still self-cancels stale runs per ref). Safe before and after the swap; can never collide with aname: verifyincumbent.plugin/scripts/runner/init.mjs— when it drops the variant beside an existing verify.yml, logs an explicit collision note: the two run as separate "verify" checks until the operator swaps, and the runner jobs are no longer cancelled.docs/guides/runner-adoption.mdreframed from "don't coexist" to "safe to coexist during review; still swap to finish", runbook row + follow-up list updated..github/workflows/verify.yml(already cut over).Tests
tests/runner.test.mjs— assert the scaffolded verify.yml and theverify.runner.ymlvariant use the distinct group (not the bare colliding group), and that the init collision note appears when an existing verify.yml is present. Existing assertions intact.Gates
pnpm verify— 424/424 greenclaude plugin validate ./plugin --strict— greenCloses #236
Refs #180
🤖 Generated with Claude Code
https://claude.ai/code/session_01SATRHKa6mDHDuirhP6QuwL