Skip to content

canary-rollout: decide the triage for a pending pair with an unresolvable source commit in _frontier_state_resilient (#1244 item 14) #1249

Closed

Description

@don-petry

Summary

In _frontier_state_resilient's data-gap path (run-history fetch failed, so the pending pairs are reconstructed from tags), a pair whose source commit is unresolvable (empty) is classified PRE_EXISTING on main: _reusable_differs returns 0 when the candidate is empty, so classify_failure 0 unknown 0 yields PRE_EXISTING. The pair is still tracked BLOCKED (fail closed).

Raised in the #1243 review (pure-core refactor, closes #1242), where reviewers disagreed on the right triage:

Decision needed

What triage should "pair pending, source tag unresolvable, run history unreadable" carry?

  1. - (indeterminate), recommended. A tag gap says nothing about whether the reusable changed, and an expected data gap should not read as a regression or a pre-existing failure. Needs a check of how sync-issues and promote --allow-pre-existing treat - versus PRE_EXISTING (they currently rank the same for needs-human).
  2. PRE_EXISTING (today). No change.
  3. REGRESSION. Fails closed hardest but escalates an expected data gap to a human.

Acceptance criteria

Refs #1244, #1243, #1242.

Activity

  1. don-petry commented on Oct 12, 2026

    @don-petry
    ContributorAuthor

    Implemented by #1314 (merged as d972b20): a pending pair whose source commit is unresolvable in a data gap now carries triage - (INDETERMINATE), and the #1243 test that pinned PRE_EXISTING was flipped on purpose. The same rule covers a resolved candidate with no destination commit. Recorded in ADR-0014 (petry-projects/.github-private).


    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

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions