Skip to content

Reconstruct declaration-only Orrery publications for UK builds before #1144 #1291

Open

Description

@anth-volk

Part of #1170.

Summary

Reconstruct a declaration-only Orrery publication for UK dense and national builds that ran before #1144. These builds wrote their graph declaration (graph.json) and a code pin (git_commit in rowwise_candidate_manifest.json), but no run binding. Their recorded execution therefore cannot be verified: RunManifest.to_json omits run-end source identities, so the evidence validator refuses them.

This is the declaration-only fallback from #1170 ("fall back to the declaration for the code revision recorded in the run"), for the build formats that have one. It answers two of #1170's open questions for that subset:

  • Declaration at an old revision: use the declaration file the build itself recorded, never one re-derived from current code.
  • Marker: yes. Reconstructed graphs carry an explicit marker.

Scope

  • A command that takes a past build's output directory, with an optional --revision that must match the recorded code pin, or supply one when none is recorded (marked as caller-asserted). It writes a new publication directory.
  • The Orrery artifact is built from the recorded declaration alone, with no execution, cache or gate state. Nothing is presented as executed.
  • An explicit reconstruction marker, carried in the saved graph.schema.json and in the Orrery document's metadata. It names the source revision and every input file by digest.
  • Digest checks:
    • every input is hashed;
    • inputs the build bound by digest (build.json, sha256sums.txt) must match;
    • the declaration must reproduce its exact recorded bytes.
  • The normal publication layout (graph.schema.json, graph.orrery.json, orrery.upload.json), plus a summary report of what was used, what is missing and what evidence was found but not bound.
  • Builds that already record Orrery evidence (Add country-neutral Orrery execution evidence and UK contracts #1144 onwards) are refused and pointed at python -m microcosm.graph.orrery.

Out of scope (remains under #1170)

  • Binding receipts, timings, gate results or artifact digests from run manifests to individual operations.
  • Per-node provenance beyond the document-level marker.
  • Staged bundles that never contained graph.json.
  • Builds from before the UK graph driver.
  • Other countries.
  • Uploads, the emitter queue and Hugging Face access.
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