@@ -48,6 +48,33 @@ digest-bound evidence, optional verification record, and limitations. Unknown
4848fields fail closed. Task-specific schemas may narrow the result but cannot
4949weaken the envelope.
5050
51+ ### Reusable evaluation images
52+
53+ Use a shared image only when its toolchain is part of the task's reproducible
54+ runtime. The image digest, platform, toolchain version, and task digest together
55+ identify the executable evaluation; a tag is only a human-facing discovery
56+ label. Task Dockerfiles and environment profiles therefore use
57+ ` name@sha256:<digest> ` , never ` main ` , a version tag, or an unpinned base.
58+
59+ Keep agent/provider images separate from verifier images. An agent image may
60+ contain an exploratory service such as Lean REPL. A verifier image contains
61+ only the independently needed checker and its pinned dependencies, then
62+ replays a submitted artifact. Provider telemetry, tactic traces, and a
63+ successful agent-side process are useful diagnostics but do not authorize a
64+ mathematical conclusion.
65+
66+ The controlled ` main ` -only image workflow publishes the reusable Lean bases:
67+
68+ - ` ghcr.io/morluto/jacobian-lean-checker ` for Lean-source replay; and
69+ - ` ghcr.io/morluto/jacobian-lean-repl-agent ` for the pinned provider runtime.
70+
71+ Publication records the immutable image digest, source revision, platform,
72+ SBOM/provenance attestations, and unpacked image size. Measure runtime writable
73+ storage separately in the actual Harbor runner before setting ` storage_mb ` :
74+ image-layer size and writable-layer accounting are different quantities. Update
75+ an image pin only in a deliberate task-contract change, recompute prospective
76+ task digests, and rerun the selected Oracle.
77+
5178## Task and verifier validation
5279
5380Task and verifier validation is separate from model observation. For an
0 commit comments