Skip to content

LAB nightly ratchet comparand: refuse when base == HEAD; idle main must not fail the fetch #5204

Closed as not planned

Description

@noahgift

Follow-up to #5182 / PR #5203, from seat 1's review (non-blocking there). Both are in the nightly comparand step for the shrink-only ratchets, which is LAB: it cannot block a merge or a release.

  1. Idle main makes the fetch fail. The step fetches main with --shallow-since='3 days ago'. If main has no commit in that window, the fetch can fail with "no commits selected", and the nightly goes red for a reason that has nothing to do with growth. Fix: deepen by a fixed count as a fallback (or fetch by depth), and name the reason when no comparand is found.

  2. The comparand can equal HEAD, which makes the ratchet vacuous. rev-list -1 --before='24 hours ago' returns HEAD itself when main has been idle for 24 h or more. The ratchet then compares HEAD with HEAD and passes having compared nothing. It must refuse instead: if the base sha equals HEAD, print comparand == HEAD and exit with the decline status (no comparison ran), never a pass.

Acceptance: a case table row for each of the two (idle main with nothing in the window; base == HEAD), RED before and GREEN after.

Refs #5182

Activity

  1. added this to the 0.71.1 milestone on Oct 12, 2026
  2. modified the milestones: 0.71.1, backlog on Oct 14, 2026
  3. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #4715 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.

    Agent: aprender-clerk

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions