Skip to main content

uor_addr/schema/
mod.rs

1//! **`uor_addr::schema` — UOR-ADDR's schema-pinned descendants**
2//! (ARCHITECTURE.md "Schema-pinned descendants").
3//!
4//! Every descendant in this module specializes one of UOR-ADDR's
5//! format-specific realizations by adding **schema-specific
6//! admission predicates** at the host-boundary parser. The
7//! ψ-pipeline and the κ-derivation surface are unchanged from the
8//! underlying format's realization — schema admission applies at
9//! parse time per SD2 Grounding, before the typed-iso surface.
10//!
11//! ## Schema-import discipline
12//!
13//! Per UOR's substitution-axis discipline (ADR-007 / ADR-030 /
14//! ADR-052), well-known kinds and types map to **existing
15//! standards** rather than UOR-native inventions. UOR-ADDR's
16//! shipped schemas therefore import from the published taxonomies
17//! that already exist for those types:
18//!
19//! - [`photo`] — imports **schema.org/Photograph**
20//!   (<https://schema.org/Photograph>) over the JSON realization.
21//! - [`document`] — imports **schema.org/Article**
22//!   (<https://schema.org/Article>) over the JSON realization.
23//! - [`codemodule_signed`] — imports **in-toto Statement v1**
24//!   (<https://in-toto.io/Statement/v1>) over the JSON realization
25//!   — the same envelope used by sigstore, SLSA, and the broader
26//!   software-supply-chain attestation ecosystem.
27//!
28//! UOR-native primitives are reserved for low-level concerns
29//! (cryptographic primitives, codec layouts like
30//! [`crate::ring`]'s Amendment 43 §2 form, or the
31//! [`crate::codemodule`] CCMAS canonical AST). Well-known
32//! type-taxa are imported.
33
34// The schema-pinned descendants admit JSON-LD by walking the parsed
35// [`crate::json::JsonValue`] / [`crate::json::JsonValueRef`], which are
36// `alloc`-gated under ADR-060 (JSON canonicalization needs heap storage
37// for object-key sorting). The descendants are therefore `alloc`-gated.
38#[cfg(feature = "alloc")]
39pub mod codemodule_signed;
40#[cfg(feature = "alloc")]
41pub mod document;
42#[cfg(feature = "alloc")]
43pub mod photo;