Conversation
…warning at 35 Ruling Z (2026-09-28, the technical facilitator) raises the macOS leg of the check job and the ruleset's check_response_timeout_minutes from 30 to 45: passing macOS runs of 23 to 30 minutes were being cancelled at the cap. The job's timeout-minutes is one matrix expression, so the ubuntu leg keeps 30; the ruleset mirror records 45. The live ruleset is changed after this merges, by the run's orchestrator with gh api. The cancel policy adds a step at the end of the macOS leg that warns, in the log and the step summary, once the check has run past 35 minutes, naming the rerun-once rule and the speed lane. It runs under always(), carries continue-on-error, and reads the start epoch from a first step's output through env, never an expression inside run:. TestRaceLaneBudgetIsDeclaredAndFitsItsJob reads the ceiling leg by leg and holds each at or below the mirror's cap (watched red with the macOS leg at 45 against a mirror of 30); TestCheckJobWarnsBeforeTheQueueCap pins the threshold at 35, below the leg's ceiling and the cap, and the step's shape (watched red before the step existed). Refs: iss-2609281514435020 Assisted-by: Claude:claude-opus-5-5
…9-28 The user, as technical facilitator, at 15:10:37Z: both limits to 45 minutes (the one amendment of the never-raise rule), all three CI speed-ups built, and a warning at 35 minutes beside the rerun-once rule. Assisted-by: Claude:claude-opus-5-5
…ap are 45 minutes, with a warning at 35 Resolves: iss-2609281514435020 Assisted-by: Claude:claude-opus-5-5
Ruling Z raised the macOS leg alone, but the budget test only held each leg at or below the queue's cap, so a Linux leg raised anywhere up to 45 passed. Pin every other leg at 30, and say in the warning step's comment that the warning is emitted at the job's end, for a run that finished past the line (review-cap45, two minors). Refs: iss-2609281514435020 Assisted-by: Claude:claude-opus-5-5
Assisted-by: Claude:claude-opus-5-5
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.
The macOS check now has 45 minutes instead of 30, and it warns at 35. Four
pull requests whose code was fine (#728, #730 twice, #733) were thrown out of
the merge queue because the macOS check ran a little past 30 minutes. The
technical facilitator ruled on 2026-09-28 (ruling Z) that both limits rise to
45 minutes. The same ruling's cancel policy adds an early warning, so a
check that is getting slow is flagged before it is ever cancelled.
What changes:
.github/workflows/ci.yml: thecheckjob'stimeout-minutesis onematrix expression. The macOS leg gets 45 and the ubuntu leg keeps 30. The
comment above the job explains the ceiling and names the ruling.
when a check that ran past 35 minutes ends. It is emitted at the job's end,
not at minute 35, so a check that passes between 35 and 45 minutes says so
before one is ever cancelled at the cap. The warning names the rerun-once
rule and says to open a speed lane. It runs under
always(), carriescontinue-on-error, and cannot fail the job. It reads the job's start timefrom a new first step's output through
env, never through an expressioninside
run:..abcd/work/rulesets/main-protection.json: the mirror's merge-queuecheck_response_timeout_minutesgoes from 30 to 45. Nothing else in thefile changes.
TestRaceLaneBudgetIsDeclaredAndFitsItsJobreads the ceiling leg by leg andholds each leg at or below the mirror's cap, and every leg but macOS at 30
(the ruling raised the macOS leg alone). The new
TestCheckJobWarnsBeforeTheQueueCappins the threshold at 35, below boththe macOS ceiling and the cap, and checks the step's shape.
.abcd/work/DECISIONS.mdgains one entry recording rulings Z and AR and thecancel policy.
After this merges, the run's orchestrator changes the live ruleset's merge-queue
check_response_timeout_minutesto 45 withgh api, under ruling Z, and logsthat as a decision. Until then the live queue still fails a group at 30
minutes. No gate compares the mirror with the live ruleset (that drift check is
itd-92, still a draft), so nothing turns red in that window. A macOS run
between 30 and 45 minutes in a merge group is still cancelled by the queue
until the live change is made.
Checks:
make preflightpassed and minted a receipt.make fmt-checkisclean,
zizmorreports no findings onci.yml, andabcd lint docsreports 0 blockers.
Resolves: iss-2609281514435020
Assisted-by: Claude:claude-opus-5-5