Problem
Representative benchmark binaries may be built against a clean non-default zig-gc checkout, but the publication metadata always reads ../zig-gc. On machines where that sibling is an inert compatibility stub, a valid real-GC run would record the wrong dependency revision. The direct report also omits the hashes of its zig-js and JavaScriptCore runner binaries.
Scope
- allow the representative collector to name explicit clean zig-gc and zig-regex repositories;
- retain the existing sibling paths as defaults;
- fail closed when a selected repository is not a Git checkout or has tracked changes;
- record SHA-256 for both runner binaries and the frozen workload source;
- expose the repository overrides through build options;
- document the non-default-checkout workflow and cover it structurally.
Done when
A focused #473 JSON publication can prove the exact real-GC dependency revision, runner bytes, frozen workload bytes, and clean-tree status without changing benchmark behavior or source. Tooling/docs only; no performance result is claimed by this issue.
Parent: #473.