Skip to main content
The ArtifactStore is the blob storage layer for EMEP. It stores model weights, experiment artifacts, evaluation outputs, and provenance records. Content addressing guarantees integrity and deduplication. This page specifies the storage model, tiering policy, and garbage collection rules.

Content-Addressed Storage

All artifacts are stored by their SHA-256 hash. The store API is:
Content addressing provides:
  • Integrity verification: the hash proves the data matches the record
  • Deduplication: identical artifacts store once regardless of origin
  • Immutability: artifacts cannot be modified without changing their hash
  • Referential stability: hashes are permanent identifiers

Artifact Types

Storage Tiers

Tiering is automatic based on access patterns and artifact age. Active experiment artifacts stay in hot storage. Artifacts from COMPLETED experiments move to warm after 7 days. ARCHIVED experiments move to cold after 30 days. Audit-mandated artifacts move to glacier after 90 days.

Garbage Collection

Artifacts are eligible for garbage collection when:
  • No ModelRegistry record references them
  • No ExperimentTracker record references them
  • They are not part of a signed provenance chain
  • Retention policy allows deletion
The garbage collector runs weekly. It scans for unreferenced artifacts and moves them to a quarantine zone for 30 days before permanent deletion. Quarantined artifacts can be restored by hash.

Digital Signatures

Critical artifacts (model weights, provenance chains, release packages) are signed at upload time. Signatures are stored alongside the artifact and verified on retrieval.
See Artifact Signing for key management and verification protocols.

API Operations

Integration

Garbage collection does not delete artifacts referenced by active experiments, registered models, or signed provenance chains. An artifact with any live reference is retained regardless of age.
Content addressing means that uploading the same artifact twice returns the same hash. The ArtifactStore detects duplicates and stores only one copy. This saves storage when multiple experiments use the same parent model.