Skip to content

fix(triage): keep the verdict label while a new commit is checked - #374

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-10913-keep-a-pull-requests-triage-label-steady-while-a-new-commit
Oct 19, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-10913-keep-a-pull-requests-triage-label-steady-while-a-new-commit

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Closes CL-10913

What changed

  • The GitHub mirror tool takes an optional keep list and leaves labels alone while the pull request carries any of them. The waiting marker keeps "Triage: Not Ready" and "Triage: Needs Human Review" (the policy's fail and unsure labels), so a push changes no label unless the verdict changes, and then it is swapped once.
  • "Triage: Ready" never stands on an unchecked head. When the hub holds a new head for its CI, the marker swaps Ready for "Triage: Waiting for CI" if the head has checks. If it has none, the coalescer marks the waiting mail noCi and the marker only takes Ready off. A run that waits on a head with no checks does the same.
  • Every pull request mail from the hub that names a GitHub head now starts with an unready step: the mirror takes Ready off that head (effect id unready:<repo>:<number>:<head>) before facts are read. Ready is gone as soon as the run starts, even where the policy does not wait for CI; the verdict puts it back if the head passes.
  • Bitbucket sets build status per commit, so nothing changes there. The portal shows the wait from hub state and needed no change.
  • Docs: PRODUCT, ARCHITECTURE, user manual.

How it was verified

  • bun run check; triage-workflows, github-tool, triage-contracts and the hub's non-Postgres github tests: 557 pass.
  • End-to-end tests: Ready, then a push with CI, shows Waiting for CI, then Ready once CI passes. Ready, then a push with no CI, leaves no Triage label, then Ready on pass, both through the hub's waiting mail and through the run's first step. Not Ready over three pushes writes no labels; a passing head then makes one add and one remove. The coalescer mails a head with no checks as noCi. Each fails with its part of the change taken out.
  • Judge requests: the eval with the judge transport stubbed sent the same 186 judge requests, byte-identical after sorting, here and on fix(triage): wait for pending CI instead of posting Unsure, and say why when unsure #366.

@linear-code

linear-code Bot commented Oct 19, 2026

Copy link
Copy Markdown

CL-10913

@TheGreatAxios
TheGreatAxios force-pushed the cl-10913-keep-a-pull-requests-triage-label-steady-while-a-new-commit branch 2 times, most recently from f4fb6cf to cdbf362 Compare October 19, 2026 17:36
@TheGreatAxios
TheGreatAxios changed the base branch from cl-10905-wait-for-pending-ci-instead-of-posting-unsure-and-say-why to main October 19, 2026 17:39
@TheGreatAxios
TheGreatAxios force-pushed the cl-10913-keep-a-pull-requests-triage-label-steady-while-a-new-commit branch from cdbf362 to 8cfbed6 Compare October 19, 2026 17:47
@TheGreatAxios
TheGreatAxios marked this pull request as ready for review October 19, 2026 17:47
@corbits-triage

Copy link
Copy Markdown
Contributor

Triage: Pass

No changes needed from you. A maintainer will review this pull request.

Triage will approve.
Waiting on a maintainer to approve: request review.

@TheGreatAxios
TheGreatAxios merged commit b6b7a3c into main Oct 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant