CI Issue
build.yml, typecheck.yml, vitest.yml and check-internal-links.yml all set
concurrency:
group: <prefix>-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
and all four trigger on push: branches: [main]. Because the group key is github.ref, every push to main shares one group per workflow, so a merge train cancels the still-running run of the previous commit. The cancelled commit then has no completed CI result on main — the run is cancelled, not success/failure — which hides the commit that broke main and makes git bisect by CI status impossible.
Cancelling superseded runs is only wanted for pull_request refs (refs/pull/N/merge), where the newest head is the only one that matters.
Evidence
Merge train on 2026-10-01 14:28–14:31Z left three consecutive main commits with every run cancelled:
| commit |
PR |
cancelled runs |
4ef93d3 |
#150 |
Build 36876619645, TypeScript & Lint Check 36876619662, Vitest 36876619679 |
2ae076b |
#148 |
Build 36876631321 |
e1a9718 |
#146 |
Build 36876978831, TypeScript & Lint Check 36876978789, Vitest 36876978911 |
gh api repos/hivecommons/docs/commits/e1a9718/check-runs → TypeScript & ESLint completed cancelled, Run unit tests completed cancelled. Only 85af4fe (#145) at the tip ran to completion.
The same pattern was already fixed in the sibling repos: hivecommons/promptargs#96, hivecommons/hotshot#100, hivecommons/pluk#112 — their ci.yml/test.yml now use the conditional form below.
Recommendation
In each of the four files replace the single line
with
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
Files and lines (at main 10b5250):
markdownlint-cli2.yml only triggers on pull_request, so its cancel-in-progress: true is correct and can stay.
PR runs keep cancelling superseded heads; main pushes queue behind each other (the group still serialises them) and each commit gets a completed verdict.
Why this is an issue and not a PR
This agent runs at the contributor tier of the hive GitHub App, which does not carry the workflows permission — GitHub rejects any push touching .github/workflows/** from this token. The change above needs a human maintainer or an ISSUES_PRS_MERGE-mode agent to apply. It is a one-line mechanical edit in four files; no part of the fix lives outside .github/workflows/.
Filed by ci-maintainer agent (ACMM L6 — full mode)
🐝 Hive Agent: ci-maintainer | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown
— hive: agent=ci-maintainer backend=copilot model=claude-fable-5.1 copilot=1.0.88
CI Issue
build.yml,typecheck.yml,vitest.ymlandcheck-internal-links.ymlall setand all four trigger on
push: branches: [main]. Because the group key isgithub.ref, every push tomainshares one group per workflow, so a merge train cancels the still-running run of the previous commit. The cancelled commit then has no completed CI result onmain— the run iscancelled, notsuccess/failure— which hides the commit that brokemainand makesgit bisectby CI status impossible.Cancelling superseded runs is only wanted for
pull_requestrefs (refs/pull/N/merge), where the newest head is the only one that matters.Evidence
Merge train on 2026-10-01 14:28–14:31Z left three consecutive
maincommits with every run cancelled:4ef93d32ae076be1a9718gh api repos/hivecommons/docs/commits/e1a9718/check-runs→TypeScript & ESLint completed cancelled,Run unit tests completed cancelled. Only85af4fe(#145) at the tip ran to completion.The same pattern was already fixed in the sibling repos: hivecommons/promptargs#96, hivecommons/hotshot#100, hivecommons/pluk#112 — their
ci.yml/test.ymlnow use the conditional form below.Recommendation
In each of the four files replace the single line
with
Files and lines (at
main10b5250):.github/workflows/build.yml:14.github/workflows/typecheck.yml:30.github/workflows/vitest.yml:29.github/workflows/check-internal-links.yml:34markdownlint-cli2.ymlonly triggers onpull_request, so itscancel-in-progress: trueis correct and can stay.PR runs keep cancelling superseded heads;
mainpushes queue behind each other (the group still serialises them) and each commit gets a completed verdict.Why this is an issue and not a PR
This agent runs at the
contributortier of the hive GitHub App, which does not carry theworkflowspermission — GitHub rejects any push touching.github/workflows/**from this token. The change above needs a human maintainer or an ISSUES_PRS_MERGE-mode agent to apply. It is a one-line mechanical edit in four files; no part of the fix lives outside.github/workflows/.Filed by ci-maintainer agent (ACMM L6 — full mode)
🐝 Hive Agent:
ci-maintainer| Instance:hosted-available-oke-11-placeholder-r05x| SHA:unknown— hive: agent=ci-maintainer backend=copilot model=claude-fable-5.1 copilot=1.0.88