Skip to main content

Crate uor_addr_1

Crate uor_addr_1 

Source
Expand description

uor-addr-1 — the prism implementor for JSON content addressing.

Content-address derivation end-to-end through prism’s typed-iso surface. The address transform is the canonical k-invariant branch of the ψ-pipeline (wiki ADR-035) applied to the canonical-form JSON byte sequence; foundation’s catamorphism dispatches each resolver-bound ψ-stage through resolvers::AddressResolverTuple (ADR-036). No σ-enumeration in the verb body per ADR-035’s ψ-residuals discipline.

§Validation & verification against the wiki specification

Each architectural commitment names the wiki ADR or concept it satisfies. The wiki at https://github.com/UOR-Foundation/UOR-Framework/wiki is the normative source; this crate is one V&V instance on the JSON content-addressing problem.

Wiki commitmentCrate realisation
ADR-007 / ADR-010 pluggable Hasher (foundation ships none)Sha256Hasher (impl Hasher<32>, FIPS-180-4)
ADR-018 / ADR-037 HostBounds capacity ceilingsAddrBounds (24 ADR-037 constants)
ADR-020 PrismModel<H, B, A, R> declarationAddressModel (via prism_model!)
ADR-024 implementation closure (verb!-emitted bodies)address_inference (via verb!)
ADR-027 sealed Output shape (output_shape!-emitted)AddressLabel (via output_shape!)
ADR-035 canonical k-invariants branch ψ_1 → ψ_7 → ψ_8 → ψ_9the verb body
ADR-035 verb-body ψ-residuals disciplineverbs::tests::verb_arena_contains_no_sigma_residuals
ADR-036 ResolverTuple (eight resolver categories)AddressResolverTuple<H> (via resolver!)
ADR-041 typed-coordinate carriersSimplicialComplexBytesHomotopyGroupsBytes chain
ADR-046 resolver-body iterative-resolution disciplinehash-axis invocation inside AddressKInvariantResolver
TC-02 mechanism sealingAddressWitness borrows the sealed Grounded<…>
Algebraic closure (ADR-024 / ADR-026)71 disjoint Site constraints; χ(N(C)) = 71 = SITE_COUNT

§Quick reference

  • address — the public entry point: canonicalises raw JSON bytes, builds a JsonInput, and invokes the model’s forward() method (from the foundation PrismModel trait).
  • AddressModelPrismModel<HostTypes, HostBounds, Hasher, ResolverTuple> whose route is address_inference(input).
  • JsonInput — the canonical-form JCS+NFC JSON byte sequence.
  • AddressLabel — the ψ-pipeline label (71 W8 sites — the wire-format sha256:<64hex> width).
  • Sha256Hasher — the canonical hash axis (content-addressing primitive).
  • AddrBounds — the HostBounds profile (WITT_LEVEL_MAX_BITS = 32, NERVE_SITES_MAX = 71).

Re-exports§

pub use model::AddressLabel;
pub use model::AddressModel;
pub use model::AddressRoute;
pub use model::JsonInput;
pub use model::ADDRESS_LABEL_BYTES;
pub use model::JSON_INPUT_MAX_BYTES;
pub use pipeline::address;
pub use pipeline::AddressFailure;
pub use pipeline::AddressOutcome;
pub use pipeline::AddressWitness;
pub use resolvers::AddressChainComplexResolver;
pub use resolvers::AddressCochainComplexResolver;
pub use resolvers::AddressCohomologyGroupResolver;
pub use resolvers::AddressHomologyGroupResolver;
pub use resolvers::AddressHomotopyGroupResolver;
pub use resolvers::AddressKInvariantResolver;
pub use resolvers::AddressNerveResolver;
pub use resolvers::AddressPostnikovResolver;
pub use resolvers::AddressResolverTuple;
pub use shapes::AddrBounds;
pub use shapes::Sha256Hasher;
pub use verbs::address_inference;
pub use verbs::VERB_TERMS_ADDRESS_INFERENCE;
pub use ops::canonicalize::jcs_nfc;
pub use ops::sha256::sha256;
pub use ops::sha256::SHA256_INITIAL_STATE;

Modules§

model
AddressModeluor-addr-1’s PrismModel<H, B, A, R> declaration (wiki ADR-020 + ADR-036).
ops
Runtime operation bodies — the σ-projection evaluators the host boundary and the ψ-pipeline resolvers call.
pipeline
uor-addr-1’s public entry point — the ψ-pipeline content-address inference.
resolvers
uor-addr-1’s ResolverTuple — the eight ψ-stage substitution-axis realizations for the JSON content-address typed feature hierarchy (wiki ADR-036).
shapes
Foundation substitution-axis selections.
verbs
uor-addr-1’s ψ-chain content-address derivation verb (wiki ADR-024, ADR-035, ADR-036).