Skip to main content

Module common

Module common 

Source
Expand description

UOR-ADDR’s common architectural surface — the declarations every format-specific addressing realization shares.

Three concentric layers (ARCHITECTURE.md):

  • Common architectural surface (this module + crate::bounds + crate::resolvers + crate::label) — the single AddrBounds capacity profile, the single AddressResolverTuple ψ-tower, the AddressLabel output shape, and the AddressInput marker every realization’s input handle satisfies.
  • Format-specific realizations (sibling modules) — each names a typed-input handle that implements AddressInput (i.e. produces its canonical-form bytes as an ADR-060 source-polymorphic [prism::operation::TermValue] carrier via as_binding_value), plus a prism_model! binding the shared bounds + resolver tower.
  • Schema-pinned descendants / cost-model variants — specialize a realization with domain-specific structural typing or a non-empty TypedCommitment.

§ADR-060 carrier model

A realization’s canonical form is not copied into a fixed buffer. Its input handle’s as_binding_value returns a TermValue carrier — Inline for canonical forms within the foundation-derived inline width, Borrowed for larger in-memory forms (zero-copy), or Stream ([prism::uor_foundation::pipeline::ChunkSource]) for unbounded forms folded chunk-by-chunk. run_route folds the full carrier through the σ-axis with bounded resident memory; the ψ-tower never materializes it. There is no input size ceiling and no per-stage byte-width cap.

§Format-independent ψ-tower

Because canonicalization happens at carrier production, the eight-resolver tower (AddressResolverTuple) is shared verbatim: ψ₁…ψ₈ thread the carrier through, ψ₉ folds it and emits the κ-label. No realization carries resolver code.

Structs§

AddrBounds
The shared capacity profile. Every realization’s PrismModel binds this B.
AddressResolverTuple
The single eight-resolver ψ-tower shared by every realization.
EmptyCommitment
Wiki ADR-048: the no-commitment baseline. bandwidth_bits = 0, accept_prob = 1, evaluate = true, predicate_count = 0. Direct correspondence to type:Conjunction’s empty case. The foundation-default for PrismModel’s 5th substrate parameter.

Constants§

ADDR_INLINE_BYTES
The foundation-derived inline-carrier width for AddrBounds (ADR-060). For the SHA-256 σ-axis this is the κ-label ASCII width (sha256: + 64 hex = 71) rounded up by the hasher-identifier header — large enough for the Inline κ-label ψ₉ emits, and unrelated to input size (large inputs flow as Borrowed / Stream).

Traits§

AddressInput
The common input marker — every realization’s typed-input handle implements this. It bundles the foundation bounds a model Input must satisfy so the handle can flow through run_route as an ADR-060 carrier:

Type Aliases§

AddressLabel
The default-axis output shape (H = Sha256Hasher). Realizations’ address() entry point binds this; address_blake3 / address_sha3_256 / address_keccak256 bind the corresponding per-axis shape.