Skip to content

The AUDIT remedy loops when the pin time or the audit itself is what is broken #276

Description

@realmarcin

From the round-3 review of #265 (follows #273).

Where: scripts/fleet/check_cards.py closing line, and _fleet/README.md's AUDIT bullet.

The remedy says to regenerate site_audit.json with the builder against a snapshot at its pins, "since figure_at_pin and the pin time are derived". The builder copies pinned_at_utc from revisions.json, and step 11 writes that from the failing audit. So for a missing or unreadable pin time, the builder refuses the same bad value. For a missing audit there are no pins at all, and a Mech with no audit entry has no pin (build() stops with a KeyError). Only a missing or non-integer figure_at_pin is fixed by the stated remedy.

Fix: split the remedy by cause:

  • Bad figure_at_pin: rebuild.
  • Bad pin time or missing audit: take the pins from the last builder-written audit (git log -p _fleet/data/site_audit.json) or the refresh PR body, then rebuild.
  • A Mech with no entry: a full refresh.

Say that the pin time is copied and checked, not derived.

Activity

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