Skip to content

groomer: align apply-time head precondition with search-rechecked freshness #1116

Description

@joryirving

Follow-up from #1091 (PR #1114).

Problem

After #1091, the freshness pass can advance groomingVerifiedSha for a global-scope issue when its saved empty searches still return nothing, treating the result as fresh across a default-branch move. But checkHead in src/lib/groomer/mutation-validator.ts unconditionally fails the head precondition for any head move on a global-scope issue. A plan re-applied after such a pass fails preconditions with outcome: stale even though the freshness pass just accepted the same evidence.

The two checks should agree on what counts as verified current state for global evidence with saved queries.

Scope

Expected files

src/lib/groomer/mutation-validator.ts

Out of scope: changing staleness reasons or the freshness pass itself.

Activity

  1. added
    type/choreRoutine tasks and maintenance
    status/readyReady for Dispatch worker pickup.
    status/backlogNot ready for worker pickup yet.
    status/in-reviewPull request or human review is in progress.
    and removed
    status/readyReady for Dispatch worker pickup.
    status/backlogNot ready for worker pickup yet.
    on Sep 27, 2026
  2. added and removed
    status/in-reviewPull request or human review is in progress.
    on Oct 1, 2026
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