Problem
The support issue sync workflow uses one cancelling concurrency group for pull-request dry runs and post-merge workflow-run events. When a main-branch workflow completes while a pull-request check is running, the main event cancels the unrelated pull-request check.
This occurred on #1842: support issue sync run 29670656003 was cancelled when post-merge main runs entered the same concurrency group. The dry run had no conflicting write responsibility, but the cancelled result remained attached to the pull request.
Expected behavior
- Keep mutating main-branch issue synchronization serialized and allow redundant workflow-run events to collapse.
- Isolate pull-request dry runs by pull request or ref so main-branch events cannot cancel them.
- Preserve cancel-in-progress behavior within the same pull-request group.
- Keep workflow permissions and issue mutation guards unchanged.
Acceptance criteria
- A pull-request support-sync run and a main workflow-run sync can execute without cancelling each other.
- Concurrent mutating main runs remain serialized or intentionally collapsed.
- Workflow contract tests assert the concurrency grouping for both event classes.
- Existing support issue sync and dry-run tests remain green.
Problem
The support issue sync workflow uses one cancelling concurrency group for pull-request dry runs and post-merge workflow-run events. When a main-branch workflow completes while a pull-request check is running, the main event cancels the unrelated pull-request check.
This occurred on #1842: support issue sync run 29670656003 was cancelled when post-merge main runs entered the same concurrency group. The dry run had no conflicting write responsibility, but the cancelled result remained attached to the pull request.
Expected behavior
Acceptance criteria