fix(cli): exclude server-side scheduling delay from the per-check timeout [RED-814] - #1421
Open
sorccu wants to merge 1 commit into
Open
fix(cli): exclude server-side scheduling delay from the per-check timeout [RED-814]#1421sorccu wants to merge 1 commit into
sorccu wants to merge 1 commit into
Conversation
sorccu
force-pushed
the
simo/red-814-timeout-excludes-scheduling-delay
branch
from
July 27, 2026 08:09
9b4ac8e to
614641e
Compare
sorccu
force-pushed
the
simo/red-680-fail-fast-on-scheduling-failure
branch
from
July 27, 2026 12:05
90db48b to
5f3aa74
Compare
sorccu
force-pushed
the
simo/red-814-timeout-excludes-scheduling-delay
branch
from
July 27, 2026 12:05
614641e to
96cbf14
Compare
Base automatically changed from
simo/red-680-fail-fast-on-scheduling-failure
to
main
July 27, 2026 13:17
…eout [RED-814] Per-check timers (default 600s) all started at run start, so on large staggered sessions — where the backend spreads non-priority checks across up to 900s of SQS delay — the tail was reported as timed out before those checks ever started. Timers now carry scheduling-delay headroom (timeout + 900s, with a distinct did-not-start message) until the check's run-start message arrives, then re-arm to the plain timeout: --timeout measures execution, not queue delay. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HFcrNm7uzzkD1p87Nf9AhP
sorccu
force-pushed
the
simo/red-814-timeout-excludes-scheduling-delay
branch
from
July 27, 2026 13:19
96cbf14 to
47e8112
Compare
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.
Linear: RED-814
What
--timeout(default 600s) armed a timer for every check at run start, on the client, with no awareness of server-side scheduling delay. On large sessions the backend staggers non-priority check types across SQSDelaySecondsslots of up to 900s, so the tail of a big session was reported asReached timeout ... waiting for check resultbefore those checks ever started — while the server ran them anyway and the recorded session could end up PASSED.Now
--timeoutmeasures execution:timeout + 900s(the SQS delay ceiling the backend guarantees it never exceeds), with a distinctCheck did not start within N secondsmessage. The entry must exist from run start — thetimeoutsmap doubles as the "still pending" sentinel and messages for absent entries are dropped.run-startmessage arrives, the timer re-arms to the plain--timeout. Identical behavior to before from that point on, including the Playwright default bump. Retry attempts re-arm again (fresh window per attempt; the backoff between attempts runs against the previous window — no worse than the old single shared window).run-start.--timeoutflag help ontestandtriggeris updated to match.Accepted tradeoff
A dispatched-but-never-started check (lost-message class) now surfaces at
timeout + 900sinstead oftimeout. Dispatch-level failures are caught within seconds by the scheduling watch from #1420, which this complements but does not depend on.Relationship to #1420
Originally stacked on #1420 (the diffs share file regions); now that #1420 has merged, this PR targets
maindirectly and contains only the timeout change.🤖 Generated with Claude Code
https://claude.ai/code/session_01HFcrNm7uzzkD1p87Nf9AhP