Home / Docs-Technical WhitePaper / 56-Report-Level Methods Appendix Template v1.0
Chapter 12 Reproducibility & Artifact Export
I. Chapter Goals & Scope (Mandatory)
- Fix a unified caliber for environment—dependencies—data versions—random sources—execution commands—artifact signatures—audit trail, ensuring experiments/evaluations are configure-once, replay-anywhere, and exported artifacts are verifiable, traceable, archivable.
- Aligned with Ch.5 (Data & Experimental Design), Ch.6 (Math & Pseudocode), Ch.7 (Metrology & Calibration), Ch.8 (Evaluation Protocol), and Ch.11 (Implementation Binding).
II. Environment & Dependencies (Mandatory)
- Container image: image@sha256:<digest>; list base image and layered dependencies with versions and hashes.
- Runtime domains: dev/stage/prod (or equivalent); specify CPU/GPU/RAM/accelerator libraries (CUDA/ROCm/OneAPI) and versions.
- Dependency lock: language lockfiles (requirements.txt/poetry.lock/package-lock.json, etc.) with hashes; record OS packages and kernel version.
III. Data & Random Sources (Mandatory)
- Data versioning: dataset@version + sha256; enforce partition consistency (train/valid/test ratios) and row-order locking.
- Random sources: seed, RNG backends (numpy|torch|random|cuRAND…), determinism toggles.
- Mounts & caches: read/write separation, read-only mounts, cache invalidation policy and hash locations.
IV. Execution Command & Parameters (Mandatory)
- Minimal repro command: single-line or script entry (include args, paths, env vars); long jobs must support resume and log locations.
- Numerical accuracy: explicitly provide key tolerances/steps such as Δell/ε_int/τ_c.
- Retry: idempotency key and failure snapshot policy.
V. Artifacts & Signatures (Mandatory)
- Artifact types: yaml/json/pdf; optionally csv/parquet.
- Hash & signature: sha256, signing cert/fingerprint, generation time, and source script script@commit.
- Directory layout: /artifacts/<run_id>/{yaml,json,pdf,logs,plots}; a manifest.json lists all files with hashes.
VI. Audit Trail & Archiving (Mandatory)
- Audit fields: timestamp/actor/command/env/image@sha256/dataset@version/git@commit/artifact_hash/gate_decisions.
- Archival: retain ≥ 1 year; cold storage with replicas; verifiable restore steps.
- External deliverable: snapshot bundle (tar.zst) and a verification script verify_artifacts.py@commit.
VII. Arrival-Time Consistency (Mandatory)
- If evaluation involves arrival-time criteria, declare explicitly in the repro list:
- Factored: T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell )
- General: T_arr = ( ∫ ( n_eff / c_ref ) d ell )
- In the same paragraph state path gamma(ell) and measure d ell; set check_dim=true; write Δell/ε_int/τ_c and delta_form into artifact metadata.
VIII. Human × Machine Mapping (Mandatory)
Human Section | Machine Field | Validation Focus |
|---|---|---|
Environment & deps | repro.env.*, repro.deps.* | Image hash, lockfiles, HW/driver versions |
Data & RNG | repro.data.*, repro.seed.* | dataset@version+sha256, RNG & determinism |
Execution command | repro.cmd, repro.args, repro.env_vars | Single-line runnable, all args present |
Numerical accuracy | repro.numeric.{Δell,ε_int,τ_c} | Tolerances/steps explicit |
Audit & archive | audit.*, archive.* | Complete audit entries; restorable |
Artifacts & signatures | artifacts.*, manifest.* | Three types, hashes and signatures consistent |
Arrival-time caliber | arrival_time.*, math.check_dim | Two forms + path/measure + dimension check |
IX. Field & Constraint List (copy-ready)
Field Path | Type | Required | Constraint |
|---|---|---|---|
repro.image | string | Yes | registry/name:tag@sha256:… |
repro.hardware | obj | Yes | {cpu,ram,gpu:{model,driver},accel} |
repro.deps.lockfiles[] | list | Rec. | With sha256 |
repro.data.datasets[] | list | Yes | {name,version,sha256,license} |
repro.seed.value | integer | Yes | Fixed |
repro.seed.backends[] | list | Yes | `numpy |
repro.cmd | string | Yes | Minimal repro command |
repro.args[] | list | No | Key arguments |
repro.env_vars[] | list | No | KEY=VAL |
repro.numeric.{Δell,ε_int,τ_c} | obj | Req. if T_arr | Numerical tolerances |
artifacts.types[] | list | Yes | `yaml |
artifacts.hashes[] | list | Yes | sha256: |
manifest.files[] | list | Yes | {path,sha256,size} |
audit.record | list | Yes | Core audit keys |
archive.retention_days | int | Yes | ≥365 |
arrival_time.delta_form | enum | Req. if T_arr | `general |
arrival_time.path/measure | string | Req. if T_arr | gamma(ell)/d ell |
math.check_dim | bool | Req. if T_arr | true |
X. Machine Schema (YAML; JSON-equivalent, Mandatory)
repro:
image: "registry/replay:2025.09@sha256:…"
hardware:
cpu: "32c/64t"
ram: "256GiB"
gpu: { model: "A100x2", driver: "535.129", accel: "CUDA 12.2" }
deps:
lockfiles:
- { path: "requirements.txt", sha256: "sha256:…" }
- { path: "poetry.lock", sha256: "sha256:…" }
data:
datasets:
- { name: "cmb_set_v3", version: "v3", sha256: "sha256:…", license: "CC-BY-4.0" }
- { name: "lens_v1", version: "v1", sha256: "sha256:…", license: "CC-BY-4.0" }
seed:
value: 20250927
backends: ["numpy","torch","random"]
cmd: "docker run … replay --suite arrive_time_check.py --dataset cmb_set_v3@v3"
args: ["--batch B1","--region EU"]
env_vars: ["OMP_NUM_THREADS=8","TOKEN=***"]
numeric: { Δell: 1e-3, ε_int: 1e-6, τ_c: 0.01 }
arrival_time:
delta_form: "general"
path: "gamma(ell)"
measure: "d ell"
check_dim: true
artifacts:
types: ["yaml","json","pdf"]
hashes:
- { path: "results.yaml", sha256: "sha256:…" }
- { path: "summary.json", sha256: "sha256:…" }
- { path: "report.pdf", sha256: "sha256:…" }
manifest:
files:
- { path: "logs/run.log", sha256: "sha256:…", size: 1048576 }
- { path: "plots/curve.png", sha256: "sha256:…", size: 98312 }
audit:
record:
timestamp: "2025-09-27T12:34:56Z"
actor: "runner@host"
command: "…"
image: "registry/replay:2025.09@sha256:…"
dataset_versions: ["cmb_set_v3@v3","lens_v1@v1"]
git_commit: "a1b2c3d"
artifact_hash: ["sha256:…"]
gate_decisions:
- { name: "gate_accuracy", rule: ">=0.99@7d", value: 0.995, pass: true }
archive:
retention_days: 365
bundles:
- { name: "snapshot-REL-2025-1001.tar.zst", sha256: "sha256:…" }
verify_script: "verify_artifacts.py@9f8e7d"
XI. Minimal Sample (human abstract × machine snippet, Mandatory)
- Human abstract: container registry/replay:2025.09@sha256:…, data cmb_set_v3@v3 (sha256:…), seed=20250927; minimal command as above; export yaml/json/pdf with hashes; retain for 365 days. If T_arr is involved, use the general form and declare gamma(ell) and d ell; check_dim=true.
- Machine snippet:
repro: { image:"registry/replay:2025.09@sha256:…", seed:{ value:20250927, backends:["numpy","torch"] } }
artifacts: { types:["yaml","json","pdf"], hashes:[{ path:"results.yaml", sha256:"sha256:…" }] }
archive: { retention_days: 365 }
XII. Validation Rules (regex/consistency, Mandatory)
- Image: ^.+@sha256:[0-9a-f]{64}$; data hash: ^sha256:[0-9a-f]{64}$.
- Time: all UTC timestamps must be ISO8601; retention_days ≥ 365.
- Arrival-time: if T_arr appears, arrival_time.path/measure required and math.check_dim=true.
- Artifacts: artifacts.types ⊇ {"yaml","json","pdf"}; every manifest.files[*].sha256 non-empty.
- Audit: audit.record must include timestamp/actor/image/git_commit/artifact_hash/gate_decisions.
- Idempotency: for long-running exports, record the Idempotency-Key in the audit trail (if used).
XIII. Citation & Cross-Reference Style (Mandatory)
; every EFT.WP.* citation must include explicit version and anchor, with a machine-readable list in references.see[].“See 《 vX.Y》 Ch.x S/P/M/I…”Fixed format:Copyright & License (CC BY 4.0)
Copyright: Unless otherwise noted, the copyright of “Energy Filament Theory” (text, charts, illustrations, symbols, and formulas) belongs to the author “Guanglin Tu”.
License: This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, excerpt, adapt, and share for commercial or non‑commercial purposes with proper attribution.
Suggested attribution: Author: “Guanglin Tu”; Work: “Energy Filament Theory”; Source: energyfilament.org; License: CC BY 4.0.
First published: 2025-11-11|Current version:v5.1
License link:https://creativecommons.org/licenses/by/4.0/