Artifacts And Checkpoints¶
OpenWAM separates public experiment configs from machine-local artifact paths.
Local Path Registry¶
Use configs/local_paths.yaml for local paths. Start from:
cp configs/local_paths.sample.yaml configs/local_paths.yaml
That file is gitignored. It can also live outside the repo:
OPEN_WAM_LOCAL_PATHS=/path/to/local_paths.yaml uv run openwam-eval ...
Artifact Manifest¶
configs/artifacts.sample.yaml documents the public manifest schema for data
and checkpoints. Machine-local or private manifests should use
configs/artifacts.yaml, which is gitignored.
artifact_idarchitecturevariantbenchmarkconfiglocal_path_aliasexpected_layoutdownload_urlchecksumlicensesourcenotes
Entries with download_url: null are layout documentation only. They should not
be advertised as reproducible public checkpoints until hosting, checksum, and
license fields are filled.
A downloadable model entry includes an HTTPS URL, SHA-256 checksum, and license. The tiny synthetic entry demonstrates structure and execution only; it is not evidence of model quality.
Checkpoint and latent tensor files are loaded through the restricted
weights_only=True PyTorch path. OpenWAM does not automatically retry unsafe
pickle deserialization. Legacy CALVIN object-array language annotations require
the explicit trusted_legacy policy and must only come from a trusted local
dataset.
Only load artifacts from trusted sources. Restricted tensor loading does not validate every external model asset or shard index; read the artifact trust policy.
Manifest schema v2 uses architecture. The loader still accepts the retired
method_family key in private manifests, but new manifests should not emit it.
The public-tiny-synthetic-contract entry is an exception in purpose: it is a
checked-in structural fixture under tests/fixtures/public_tiny/, not a real
model checkpoint. It exists so public validation can exercise artifact layout
checks without private or large files.
Checkpoint Layout Convention¶
Full training checkpoint roots should use this layout when possible:
checkpoint_step_N/
full_training_state.pt
model_state.pt
transformer/
config.json
diffusion_pytorch_model.safetensors
Transformer-only runtime paths may point directly at checkpoint_step_N/transformer.
Code that accepts checkpoint roots should also accept roots containing a
transformer/ child when possible.
A usable transformer export contains a valid JSON object in config.json and
either one nonempty diffusion_pytorch_model.safetensors file or a
diffusion_pytorch_model.safetensors.index.json whose weight_map references
only present, nonempty shards. Runtime, checkpoint, evaluation, and CLI paths
all enforce this same contract; a directory containing only config.json is
not a model artifact.