Skip to content

drift: delivery/RULES.md#14 — nothing compares recorded input-hashes against the repo (fleet freshness unobservable) #304

Description

@elronbandel

Which rule

  • Document: .agents/delivery/RULES.md
  • Rule number / section: rule 14 ("Fail dirty"), supported by rule 13 ("Carried-forward images")
  • Rule text (pasted verbatim):
  1. Fail dirty. An image whose recorded build-input hash is absent, unreadable, or different from the repository's computed hash MUST be treated as changed.

Evidence of drift

Expected fix direction

  • Update the code to satisfy the rule (this is the default for drift)
  • Add a mechanical check so this drift can't recur silently

Rung 4 of the ratified migration path (#292): containers/scripts/fleet-status.sh — for every static bake target, derive the registry ref from the graph's context column (the dot-safe join key), read the label via imagetools inspect --format '{{json .Image}}' (labels live in the per-arch image config, never the index — #239's measured failure), and classify fresh / stale / unlabeled / absent, where everything non-fresh is "changed" per rule 14. Plus a dispatchable workflow reporting the fleet's freshness. Combo freshness derives from leaf hashes by implication (rung 5), not from per-combo reads.

Scope

  • Fleet-wide (many artifacts violate the same rule — bulk fix via sub-agents)

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