App Non-OCI Artifact Lifecycle v1¶
As of: March 9, 2026
Purpose¶
Define the baseline lifecycle for non-OCI artifacts used by app-platform workloads.
Examples: 1. model weights, 2. checkpoints, 3. tarballs, 4. scheduler configuration bundles, 5. large private blobs referenced by runtime operators.
Scope¶
In scope: 1. canonical source model, 2. lifecycle states shared with OCI artifacts, 3. digest verification rules, 4. source allowlist and credential direction, 5. audit and IAM invariants.
Out of scope: 1. full provider implementation for every blob source, 2. final storage backend decision for every environment, 3. runtime adapter-specific staging logic.
Core Model¶
Non-OCI artifacts do not get a separate ownership or IAM system.
They must use the same artifact control-plane object shape as OCI artifacts, with:
1. artifact_kind=blob
2. explicit source_type
3. immutable digest
4. the same lifecycle and trust states
5. the same project ownership and audit model
Source Types¶
Reserved source types:
1. s3
2. gcs
3. azure_blob
4. https
5. huggingface
6. artifact_store
The source type must be explicit in artifact metadata and subject to policy allowlists.
Source Descriptor¶
Every non-OCI artifact registration must preserve a structured source descriptor.
Minimum fields:
1. source_type
2. uri
3. optional source_ref
4. optional size_bytes
5. optional content_encoding
The URI may be redacted or normalized in user-facing responses where necessary, but the control plane must retain enough metadata for audit and staged retrieval.
Verification Rules¶
Mandatory: 1. immutable digest 2. digest algorithm declared 3. source type declared 4. source allowlist decision
Recommended: 1. size metadata 2. resumable transfer support in runtime paths 3. optional attestation or signature evidence when available
Credential Model¶
Non-OCI artifact access must follow the same secret baseline as OCI publish and pull: 1. credentials are short-lived, 2. credentials are scoped to the specific source and artifact intent, 3. credentials are delivered by platform-controlled paths, 4. app teams do not hardcode long-lived provider tokens in runtime config.
Runtime Direction¶
Runtime staging remains a separate execution concern.
The control plane owns: 1. artifact registration, 2. source policy, 3. credential direction, 4. lifecycle metadata, 5. audit.
Node and runtime paths own: 1. transfer execution, 2. resumable download behavior, 3. final digest verification before use.
This aligns with:
1. artifact.pull_blob
2. artifact.verify
from Node_Operations_and_Agent_Lifecycle_v1.md.
Lifecycle and Promotion¶
Non-OCI artifacts use the same: 1. lifecycle states, 2. trust states, 3. promotion channels
as OCI artifacts.
The platform must not force app teams to learn one promotion model for OCI and another for blobs.
Non-Negotiable Invariants¶
- digest verification remains mandatory,
- source allowlists remain policy-governed,
- non-OCI support must not fork IAM or audit,
- runtime consumers must not bypass control-plane registration,
- non-OCI artifacts are first-class app artifacts, not side-channel files.
Related Docs¶
doc/architecture/App_Platform_OCI_Registry_Baseline_v1.mddoc/architecture/App_Artifact_Trust_and_Promotion_v1.mddoc/architecture/Node_Operations_and_Agent_Lifecycle_v1.mddoc/architecture/Platform_Vault_Secrets_Baseline_v1.md