Reproduce everything
The pipeline is deterministic given the frozen contract: named
seeds derive with SHA-256 from
(root_seed, bundle_id, component), training uses
deterministic kernels, and repeated runs reproduce model state
digests bit-for-bit on the pinned device.
; pins: Python 3.11,
torch 2.13.0, minigrid 3.1.0, gymnasium 1.3.0.
The confirmatory study
uv sync --frozen
uv run gr smoke --config configs/pilot.yaml
uv run gr make-manifests --config configs/pilot.yaml
uv run gr preflight --config configs/pilot.yaml
uv run gr freeze --config configs/pilot.yaml
for b in B00 B01 B02 B03 B04 B05; do
uv run gr run-bundle --contract configs/experiment_contract.yaml --bundle $b
done
uv run gr integrity --contract configs/experiment_contract.yaml --phase preopen
uv run gr evaluate-final --contract configs/experiment_contract.yaml
uv run gr analyze --contract configs/experiment_contract.yaml
uv run gr audit --contract configs/experiment_contract.yaml
uv run grf study-extras
uv run gr integrity --contract configs/experiment_contract.yaml --phase release
uv run gr media --contract configs/experiment_contract.yaml
uv run gr publish-result --contract configs/experiment_contract.yaml
uv run gr export-typst --contract configs/experiment_contract.yaml
typst compile report/main.typ build/recovery-policy-learning-report.pdf
Prerequisites: uv, Typst 0.15.1, and a system
ffmpeg for the rollout animations. The report must be
compiled before staging, which requires the PDF.
The Journey chapters (foundations labs)
uv run grf run all # seven labs; figures, tables, mini-reports
uv run grf media # rollout videos + scrubber trajectories
uv run grf network-trace # real weights/activations for the network view
uv run pytest -m "not slow"
This site
uv run grf stage-site # copies evidence into site/public, writes hashes
uv run grf verify-staging # re-hash everything staged
cd site && npm ci && npm test && npm run build -- --base "/recovery-policy-learning/"
site/public is written only by the staging command;
staging-manifest.json records a SHA-256 and source for
every staged file. The one exception is
site/public/illustrations/, which holds hand-drawn
figures and is never touched by staging.
Provenance notes
The code fingerprint recorded in
configs/freeze_record.json identifies the source tree
that produced the confirmatory result. Everything added after the
test opening is non-scientific: the rollout-media generator, the
foundations package, the descriptive audits, the two exploratory
panels, and this site. No frozen protocol value, manifest,
checkpoint, or result artifact was modified. The shipped tree
therefore does not reproduce the freeze-time fingerprint, and what
verifies the result is not a fingerprint match but the
release-phase integrity command re-deriving the published summary
from the raw evaluation rows. Full details in the
report's reproduction chapter.