160 lines
6.9 KiB
Markdown
160 lines
6.9 KiB
Markdown
|
|
# ASL-FEDERATION SPECIFICATION
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. Purpose
|
|||
|
|
|
|||
|
|
The Federation Specification defines the **multi-domain model** for ASL-based storage systems, including:
|
|||
|
|
|
|||
|
|
* Domains: logical separation of artifacts and snapshots
|
|||
|
|
* Published vs internal state
|
|||
|
|
* Cross-domain visibility rules
|
|||
|
|
* Snapshot identity and consistency guarantees
|
|||
|
|
* Integration with index, store, PEL, and provenance layers
|
|||
|
|
|
|||
|
|
It ensures **determinism, traceability, and reproducibility** across federated deployments.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. Core Concepts
|
|||
|
|
|
|||
|
|
| Term | Definition |
|
|||
|
|
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|||
|
|
| **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**.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. Visibility Rules
|
|||
|
|
|
|||
|
|
| Object | Internal Domain | Other Domains |
|
|||
|
|
| ----------------------------------- | --------------- | ------------------- |
|
|||
|
|
| Internal artifact | visible | hidden |
|
|||
|
|
| Published artifact | visible | visible (read-only) |
|
|||
|
|
| Internal snapshot | visible | hidden |
|
|||
|
|
| Published snapshot | visible | visible |
|
|||
|
|
| Block supporting published artifact | visible | visible |
|
|||
|
|
| Block supporting internal artifact | visible | hidden |
|
|||
|
|
|
|||
|
|
* **Index entries** follow the same visibility rules:
|
|||
|
|
|
|||
|
|
* Only entries pointing to visible artifacts/blocks are visible in a domain’s CURRENT.
|
|||
|
|
* Determinism is guaranteed per domain’s view of CURRENT.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. Cross-Domain Operations
|
|||
|
|
|
|||
|
|
1. **Import published artifacts**
|
|||
|
|
|
|||
|
|
* A domain may import a published artifact from another domain.
|
|||
|
|
* The imported artifact is **treated as immutable**; its original domain cannot alter it.
|
|||
|
|
* Execution receipts may include imported artifacts as inputs.
|
|||
|
|
|
|||
|
|
2. **Export published artifacts**
|
|||
|
|
|
|||
|
|
* Internal artifacts may be **promoted** to published state.
|
|||
|
|
* Requires sealing and pinning to snapshot for determinism.
|
|||
|
|
* Once published, the artifact may be referenced by other domains.
|
|||
|
|
|
|||
|
|
3. **Federation log / synchronization**
|
|||
|
|
|
|||
|
|
* Each domain maintains its **own append-only log**.
|
|||
|
|
* Published changes can be propagated to other domains via log replication.
|
|||
|
|
* Snapshot + log replay ensures deterministic reconstruction across domains.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. Provenance & Traceability
|
|||
|
|
|
|||
|
|
* **Execution receipts** can include cross-domain references.
|
|||
|
|
|
|||
|
|
* **Trace graphs** preserve:
|
|||
|
|
|
|||
|
|
* Original domain of artifacts
|
|||
|
|
* Snapshot ID in the original domain
|
|||
|
|
* Deterministic DAG execution per snapshot
|
|||
|
|
|
|||
|
|
* **Provenance guarantees**:
|
|||
|
|
|
|||
|
|
1. Artifact immutability
|
|||
|
|
2. Deterministic execution reproducibility
|
|||
|
|
3. Traceable lineage across domains
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. Normative Invariants
|
|||
|
|
|
|||
|
|
1. **Determinism:** Reconstructing CURRENT in any domain yields the same artifact graph given the same snapshot + log.
|
|||
|
|
2. **Immutability:** Published artifacts and snapshots cannot be modified.
|
|||
|
|
3. **Domain isolation:** Internal artifacts are never exposed outside their domain.
|
|||
|
|
4. **Federation safety:** Cross-domain references are read-only and preserve deterministic execution.
|
|||
|
|
5. **Snapshot integrity:** Federated snapshots reference only published artifacts; replay reproduces CURRENT.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. Integration with Existing Layers
|
|||
|
|
|
|||
|
|
| Layer | Role in Federation |
|
|||
|
|
| -------------------- | ---------------------------------------------------------------------------------------------- |
|
|||
|
|
| ASL-CORE | Blocks and artifacts remain immutable; no change |
|
|||
|
|
| ASL-CORE-INDEX | Artifact → Block mapping is domain-local; published artifacts are indexed across domains |
|
|||
|
|
| ASL-STORE-INDEX | Sealing, retention, and snapshot pinning apply per domain; GC respects cross-domain references |
|
|||
|
|
| ENC-ASL-CORE-INDEX | Encoding of index entries may include domain and visibility flags for federation |
|
|||
|
|
| PEL | DAG execution may include imported artifacts; determinism guaranteed per domain snapshot |
|
|||
|
|
| PEL-PROV / PEL-TRACE | Maintains provenance including cross-domain artifact lineage |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. Summary
|
|||
|
|
|
|||
|
|
The Federation Specification formalizes:
|
|||
|
|
|
|||
|
|
* Domains and logical separation
|
|||
|
|
* Published vs internal state
|
|||
|
|
* Cross-domain artifact visibility and reference rules
|
|||
|
|
* Snapshot identity and deterministic reconstruction across domains
|
|||
|
|
* Integration with index, store, PEL, and provenance layers
|
|||
|
|
|
|||
|
|
It ensures **multi-domain determinism, traceability, and reproducibility** while leaving semantics and storage-layer policies unchanged.
|
|||
|
|
|
|||
|
|
|