| **Domain** | A logical namespace or administrative boundary for artifacts and snapshots. Each domain manages its own set of artifacts, blocks, and snapshots. |
| **Published state** | Artifacts, blocks, and snapshots exposed outside the domain. |
| **Internal state** | Artifacts, blocks, and snapshots restricted to a domain; not visible to other domains. |
| **Snapshot identity** | Globally unique identifier for a snapshot within a domain; used to reconstruct CURRENT. |
| **Cross-domain reference** | An artifact in one domain referencing a published artifact from another domain. |
---
## 3. Domain Semantics
1.**Domain isolation**
* Each domain has its own CAS/ASL storage and index layers.
* Artifacts and blocks in internal state are **invisible outside the domain**.
2.**Published state**
* Artifacts marked as published are **visible to other domains**.
* Published artifacts must satisfy **full ASL-STORE-INDEX invariants**: deterministic, immutable, snapshot-safe.
3.**Cross-domain artifact references**
* Only **published artifacts** may be referenced by other domains.
* References are **read-only**; the referenced artifact cannot be modified in the original domain.
* Indexed in the consuming domain as standard `ArtifactKey → ArtifactLocation`.
4.**Federated snapshots**
* Snapshots in each domain maintain **local visibility** for internal state.
* Published snapshots may be **federated** to other domains to expose deterministic CURRENT state.
---
## 4. Snapshot Identity
* **Domain-local snapshot IDs** are unique per domain.
* **Federated snapshot IDs** combine domain ID + local snapshot ID.
* Ensures **global uniqueness** across federation.
* **Snapshot references** may include cross-domain artifacts, but the mapping is **immutable and deterministic**.