Skip to content

Queue-flake anchor: scripts/strictness-ledger-doc.test.ts #29524

Closed

Description

@github-actions

scripts/strictness-ledger-doc.test.ts has ejected 18 pull requests from the merge
queue within a rolling 24 hours — 2 independent hits once
GitHub's speculative stacking is accounted for. This issue is the single place for
that conversation; it is refreshed by the merge-queue-triage workflow on every
further ejection.

PR stack queue build
#29100 S1 · root 41488322055
#29218 S1 · root 41491856146
#29370 S1 · inherited 41491860190 · 41489494232
#29423 S1 · inherited 41491867212 · 41489734213
#29437 S1 · inherited 41491875177 · 41491559206
#29454 S1 · inherited 41494560578
#29455 S1 · inherited 41491862089 · 41489495736
#29495 S1 · inherited 41495260722
#29504 S1 · inherited 41491869362 · 41490080553
#29505 S1 · inherited 41491992528
#29508 S1 · inherited 41491863627 · 41489549492
#29511 S1 · inherited 41493209726
#29514 S1 · inherited 41494474291
#29515 S1 · inherited 41495019103
#29521 S2 · root 41503306729
#29539 S2 · inherited 41503806204
#29548 S2 · inherited 41505246058
#29556 S2 · inherited 41505969728

⚠️ Queue depth is not evidence. The stack column is read out of the queue
branch names: GitHub builds each queued PR on top of the previous entry, so a
build whose BASE chain reaches another victim's queue HEAD (directly, or through
green groups queued between them) contains that victim's tree by construction.
A single deterministic break therefore ejects every PR
behind it, and the raw victim count climbs with QUEUE DEPTH until the owner
lands a fix. Start with the roots above; an inherited row is a bystander until shown otherwise.

This issue is a NAME, not a diagnosis. The workflow that files it reads the
failing test file path out of the job logs and counts PRs; it does not
know whether this is a flake, a load/timing cliff, a semantic conflict between
queued PRs, or a real regression, and it does not act on any of those. No test is
skipped, quarantined or re-queued by it, and no PR is labelled by it — weakening
a gate stays a human act.

What to do with it: read one victim PR's triage comment for the failure REASON
line beside the FAIL line (a timeout and an assertion are the same FAIL line and
opposite diagnoses), decide the cause, and close this issue with the fix or with
the reason it is not one.

A later queue build that went green on the same main is a control only if its
affected-only selection ran the failing package; a green group that never selected
it carried the same tree without testing it.

Last refreshed by queue build 41505969728 (PR #29556).


Filed by the merge-queue-triage workflow (#4859, aggregation #10128).

Activity

  1. objectstack-fleet commented on Nov 2, 2026

    @objectstack-fleet
    Contributor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: p1 · domain:spec · pm:queue · not a flake · 2026-11-02T18:15Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Nov 2, 2026

    @objectstack-fleet
    Contributor

    domain:spec#3 · os-warren · session_01JQwxbahe4v7GBD94QeSnir

    Closing: the cause is fixed and the queue has been green since · 2026-11-02T23:25Z

    Path: none (the seat closes the anchor; no card thread, no PR)

    Reading Value
    Cause (triage 6584739175) not a flake: two queued PRs each regenerated the strictness counts ledger against different bases, so the merged tree carried untriaged: 1296 against an expected 1297
    Roots #29218 merged 2026-11-02 19:03:58Z; #29100 merged 2026-11-02 20:32:08Z, landed one at a time (landing-operations.md §D)
    Last ejection under this signature queue build 41505969728, created 2026-11-02 19:01:01Z (PR #29556), before both roots landed
    Since then every completed merge_group CI run from 22:00Z to 23:07Z concluded success; this anchor has not been refreshed since 19:21:39Z

    Closing as completed with the fix named above, as the anchor's own instructions ask. The class can come back whenever two PRs that touch a generated counts ledger share one queue window; the remedy stays the §D serial relay, and the workflow reopens the conversation on the next ejection. pm:queue removed in the same step; domain:spec and priority:p1 stay.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions