Skip to content

drift: delivery/RULES.md#12 — no push site records the build-input hash in the image config #302

Description

@elronbandel

Which rule

  • Document: .agents/delivery/RULES.md
  • Rule number / section: rule 12 ("Recorded inputs")
  • Rule text (pasted verbatim):
  1. Recorded inputs. Every published image MUST record a hash of its build inputs in its image configuration.

Evidence of drift

  • File: .github/workflows/release-images.yml (all four push sites), containers/benchmarks/{terminal-bench,skills-bench}/build.sh
  • What the rule demands: every pushed image carries its build-input hash in its image config.
  • What the code does: the hash primitive exists and is computable (containers/scripts/fleet-hash.sh, feat(scripts): fleet-hash — deterministic build-input hashes over the bake graph #298), but no push site records it — the only invocation-time label stamped anywhere is org.opencontainers.image.source (release-images.yml:167,354); the per-task and combos bakes stamp no labels at all, and the build.sh per-task path has no label hook.

Expected fix direction

  • Update the code to satisfy the rule (this is the default for drift)

Rung 3 of the ratified migration path (#292): stamp eval.input-hash at the four push sites — bases (per-target --set, one invocation bakes ~19 targets with different hashes), leaves, per-task (bake path via --set; the build.sh script path via an EVAL_INPUT_HASH env hook), and combos (eval + eval-standalone each with their own hash; per-task combos mix the task id via fleet-hash combo <b> <a> [task]).

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