Inspectable repeated-trial checks for builds and scripts
Use once build --verify-reproducible <target> to compare two fresh builds,
including their dependency closure. Script checks with
once exec --verify-reproducible now snapshot the whole workspace and rerun
needs dependencies and fingerprint commands inside each private trial. Both
trials start from the same snapshot at the same private path, with separate,
initially empty local Once caches. Once retains trial artifacts without
replacing outputs in your original workspace.
Execution status, declared artifacts, and captured logs are reported separately. Two identical failures never pass. Artifact differences fail the check; log-only differences are advisory when declared artifacts match. When there are no declared artifacts, captured logs determine the comparison.
Every completed check returns an ID for once query verification <ID>, also
available with --format json. Reports, per-trial results, decoded artifacts,
captured logs, and local trial caches remain under
.once/verifications/<ID>/. File-level differences include bounded text
excerpts and first differing byte offsets when available, so you can inspect
what changed instead of comparing digests alone. These files remain local and
are not automatically published as project evidence.
Coding harnesses can request the same checks with verify_reproducible: true
on once_build_target and once_exec_script. The read-only
once_query_verification tool retrieves a retained report without running
commands again. Script --network deny now also applies to needs
dependencies. Fingerprint commands that cannot enforce that policy fail
closed instead of silently running online.
A passing check means agreement under that artifact/log policy in two trials, not proof of reproducibility. Once does not perturb or control clocks, randomness, or thread scheduling. Host toolchains, host tool caches, absolute paths, network services, and external side effects are not isolated. The snapshot excludes Once runtime state and known declared script outputs, but other pre-existing generated files remain. Only start a check when repeated execution of the selected work and its dependencies is authorized.