Defines environments, configuration, artifacts, permissions, automation, and delivery steps for artifact storage. This reference fixes the adoption boundary, failure behavior, and observable evidence while leaving environment-specific limits configurable.
Package status: reference context ready for human review. The contract and test scenarios are complete, but no claim is made that an adopting implementation has passed them.
Decision
For Artifact storage, adopt an immutable artifact digest promoted through controlled environments. Implement the behavior through one authoritative write path, typed interfaces, explicit state, and idempotent side-effect handling. This package is a reference contract: the adopting team must choose numeric limits, providers, jurisdictions, and operational owners from evidence in its own environment.
Scope
- The Artifact storage actors, inputs, outputs, states, policy or schema versions, and externally visible outcomes described by this implementation block.
- Primary and alternate interfaces, background work, caches, integrations, support paths, and evidence that can exercise the same boundary.
- Adoption-specific configuration, rollout, recovery, and verification responsibilities needed to apply the reference safely.
Outside this block
- Choosing a universal vendor, framework, jurisdiction, numeric threshold, retention period, or service-level objective for every adopter.
- Claiming that packaged scenarios have run against a downstream implementation or that this reference grants legal, security, or accessibility certification.
Contract
- Build once, identify by digest, attach provenance, and promote the same verified artifact rather than rebuilding per environment.
- Keep secrets and environment configuration outside the image and scope deployment credentials to the smallest target and action.
- Gate promotion on reproducible checks and explicit approval where risk requires it; retain who promoted what and why.
- Define rollback or roll-forward triggers, compatibility windows, and data-migration behavior before deployment begins.
- Validate inputs once at the boundary and preserve the normalized representation used by downstream logic.
- Persist the business transition before or atomically with an outbox record; consumers deduplicate by durable operation identity.
- Store artifacts by immutable digest with media type, size, producer, provenance, retention, and promotion state; tags are mutable references only.
- Authorize publish, read, promote, and delete independently and protect released digests from overwrite.
Implementation guidance
- Ship additive storage and interface changes first, backfill observably, then retire old paths after compatibility evidence.
- Model Artifact storage inputs, outputs, actors, states, invariants, side effects, and evidence before selecting framework or vendor details.
- Store the applicable Artifact storage contract or policy version with material state so migrations, replay, and support decisions remain attributable.
- Introduce the path behind controlled rollout, compare expected and observed outcomes, and keep a tested recovery route until adoption evidence is complete.
Failure handling and safeguards
- A failed health gate halts promotion and preserves the prior runnable release plus evidence needed for recovery.
- Invalid or contradictory Artifact storage state is rejected or quarantined; the implementation never guesses a value that broadens authority or duplicates an effect.
- Retries are bounded and use durable identity; after exhaustion, work reaches an inspectable terminal state with an accountable owner.
Verification and operations
- Inject dependency failure before and after persistence and prove that retry converges on one externally visible outcome.
- Monitor Artifact storage success, denial, validation failure, dependency failure, retry exhaustion, and recovery by contract version without sensitive payload dimensions.
- Re-run paired positive and negative fixtures after policy, schema, dependency, migration, or boundary changes and preserve the resulting evidence.
Adoption assumptions
- Names and values in the example are a concrete fixture, not universal defaults; adopters replace them through documented evidence and ownership.
- The adopting system can provide authenticated identity, durable operation or record versions, bounded telemetry, and a controlled path for change.
The executable-looking examples in this package are fixtures and acceptance contracts. Run the collection validator to check structure and metadata, then translate and execute the scenarios in the target repository before recording implementation evidence.
References
- SLSA Specification 1.2 (applies as of 2026-09-08)
- Open Container Initiative Image Format Specification