Specification overview

UCEM 1.0 · Accepted boundary

SDMX binding requirements

SB01-SB10: a bounded SDMX-JSON binding with explicit source selections, roles and resolution.

SDMX binding requirements · DEC-0035

SB01 Carrier and applicability

Use SDMX-JSON 2.1.0 data messages within the finite layout in SB04. Apply the released official data schema and the exact attachment.schema.json release, then the cross-field resolution/selection rules below. A full profile claim assesses all SB clauses and the applicable adopted MB/MP obligations. A restricted inspection identifies its scope. No layout restriction in this profile means that excluded SDMX layouts are invalid SDMX.

Keep native captures, source locators, exact tokens, interpretation origins and unresolved qualifications. The reference examples establish carrier preservation and local behavior; they do not adopt their model content as provider-published definitions, complete semantic mappings or new positive economic operations. A carrier pass is not economic truth.

SB02 Attachment and allowed artifact context

The packet root contains manifest.json, identifying profile/version, permitted input scope, an artifact map, binding keys and mapping keys. A data message's meta.links has a describedby URI-reference resolving to that manifest from the message's own location. For data files under data/, ../manifest.json resolves to the root manifest. Do not resolve the link as if the message were already at the packet root. No network fetch is required or authorized by this local profile.

The caller determines which packet is permitted input. Its allowed_scope description records that boundary; untrusted source text cannot grant permission to additional inputs.

Artifact descriptors give kind, local path and SHA-256 of exact file bytes. Declaration descriptors additionally give namespace, id and exact version. Identifier/version strings are independent of this profile's version. Paths are unique, nonempty relative POSIX paths without empty, dot, parent, backslash or NUL segments. Resolved files, including the manifest, remain within the packet root; reject escaping symlinks.

This release bounds the manifest to 1 MiB, artifacts to 128, each artifact to 16 MiB and verified cached artifact bytes to 64 MiB. Files are regular files. Reject duplicate JSON object member names before property loss. Interpreted JSON uses valid UTF-8. Its number tokens must survive parse/serialization unchanged; reject non-roundtripping tokens, including precision-losing integers or decimals, rather than reporting rounded values as complete. This finite implementation constraint also applies to opaque concept properties; exact source artifacts remain byte-preserved. Decimal-string measures retain their source precision. Do not infer that excluded numeric spellings are invalid JSON or SDMX. Hashes identify content, not authenticity, correct values, correct field roles or semantic authority. A self-consistent false packet can pass resolution and still fail a source comparison.

SB03 Declaration identity and closure

Apply the model, binding and mapping envelopes in attachment.schema.json. Recover all supplied source-specific concept properties, author/source-owner roles, limits, processing qualifications and source references. The authority and processing objects state the declaration's actual acceptance scope and method/version/run knowledge; a provider-endorsement label is not a substitute for semantic mapping authority. Concept content is an opaque domain payload for this inspection profile; preserve it without supplying unknown meaning. Native classifications and provider concept IDs can be retained in that payload. No UCEM concept catalogue, hierarchy or field-name equivalence is imposed.

A model reference names its artifact plus namespace, id and exact version. Resolve its descriptor, bytes and declaration tuple; do not substitute latest. A binding's concept must exist in that model's concept map. A mapping endpoint resolves the same way. Declared source_artifacts resolve as pinned opaque inputs. Source URLs and pointers inside domain payload remain attributed locators; their presence does not imply remote inspection or enlarge the allowed input set. Processing history needed to interpret a declaration must be a declared pinned artifact within the packet, or explicitly unavailable; a local filename outside an export is not closure.

Full binding resolution requires its model, data and declared source dependencies. A failed dependency makes the affected binding unresolved. Preserve its inspectable metadata and the specific missing/mismatched reference. Unaffected bindings may still resolve. A mapping with an unresolved endpoint remains unresolved independently. No public visibility or successful lookup grants model endorsement or mapping authority.

SB04 Finite SDMX decoding

Use data.dataSets[index].structure to select the embedded entry in data.structures. This release supports observation-level dimensions and one or more observation-level measures, with optional observation or dataSet attributes. Attributes may be absent entirely; do not invent shared context in that case. Reject series layout, nonempty series or dataSet dimension arrays, and component default declarations rather than silently applying unsupported defaults. Dimension keyPosition must equal its array position. Other SDMX layouts require a separately specified extension.

Decode colon-separated observation-key indices against dimension dictionaries, in order; use dimension value IDs unchanged. Measures occupy the leading observation slots, followed by attributes. Measures are exact decimal strings or null in this profile; do not coerce JSON numbers, round digits or infer precision. Attribute slots with a values dictionary select its value, or id when value is absent; a null entry stays null. Otherwise preserve the direct JSON scalar. No attribute default fills a slot.

Require valid nonnegative integer indices, exact coordinate/slot counts, distinct component IDs and distinct decoded coordinates. Retain the original observation key. Sort returned rows lexicographically by that key. Preserve dataset attributes separately as context_fields. Missing definitions do not create context. A binding's required context and components must still resolve before its resolution can be complete. This local profile does not claim every SDMX construct can be interpreted this way.

SB05 Native selections, roles and availability

A binding names its data artifact, dataset index, exact where constraints, model reference, concept, selected measure, raw-token attribute where used, source artifacts, required components/context, local context, declared transformations and period-dimension role. Each selector/projection component must exist. Apply where constraints conjunctively by exact decoded scalar equality, without coercion. A valid selection can contain no rows; that establishes only the selection result within the named input packet. Selectors and projections read dataset attributes from their declared shared level. An absent shared value makes its use unresolved, even if required_context omits it; absence must not silently become a successful no-match or an omitted projected value.

The selected measure must be a measure component, not merely a dimension or attribute with a matching ID. Raw/availability attributes can be observation or dataset attributes; the declared level supplies their value without flattening shared context.

A period_dimension may be null; do not replace it with a publication year or invent a series for a research expression. Otherwise it names an existing dimension. Keep all decoded fields and source roles unless the explicitly identified projection in SB08 applies. The reference bindings require every supplied observation component and dataset qualifier. Another binding must still retain all material qualifications under its applicable profile.

Unavailable means a null selected measure or a binding-declared unavailable attribute/code. The interpreted value then remains null while the raw token and decoded carrier fields survive. A suppressed raw zero is not an available measured zero. Otherwise preserve the selected measure token. This is availability under a declared source binding, not proof that its economic interpretation or source assertion is correct.

SB06 Shared context and qualified mappings

This release uses override_policy retain_all. Retain concept payload, the complete model declaration and binding local context separately, without silently merging or overwriting them. Preserve contradictory assertions and their origins. The generic inspector does not adjudicate semantic conflicts or infer that two unknowns agree.

A mapping retains its author, exact endpoint models/concepts, relationship, direction, applicability, source artifacts and limits. Discovery relatedness grants no substitution, statistical comparability or operation authority. No symmetry, transitivity, inversion or applicability to later revisions follows merely from successful endpoint resolution.

SB07 Failure scope and assessment layers

Invalid manifest structure/profile/arguments, duplicate paths or escaping paths prevent packet inspection. A missing, invalid or mismatched declaration/source dependency is an affected-binding failure. An invalid data message/layout prevents decoding that message's bindings; other data messages remain available. Mapping failures do not erase resolved binding rows. Report actual evaluated scope and failures rather than replacing them with an empty successful result or a universal no-match.

Structural schema validation, content/reference resolution, source matching, documentation conformance and semantic task suitability are separate assessments. State which checks were actually performed and their inputs/rules. The supplied inspector performs defensive reference/layout/selection checks. It does not itself execute full JSON Schema validation, prove source truth or assess economic meaning. Full-profile assessment must supply the structural layer as well. Failure to support an unfamiliar semantic construct must not be hidden by a successful generic numeric inspection.

SB08 Projection and export

A projection names one selected binding and its requested component IDs. Identify the narrowed fields while retaining the resolving declarations, source context, dataset qualifications and exact artifact references for material information outside that view. This release permits the complete packet as its declared allowed input context; a selected binding or projection narrows returned results, not that permission boundary.

Export preserves the original manifest and only its listed artifacts, never unlisted files. Successful export retains exact verified bytes and the complete allowed context, so the same packet can be inspected after removal of the original directory. A projection report alone is not a standalone preservation claim. The inspection identifies the exact manifest hash and artifact descriptors used. Missing/corrupt artifacts produce an explicit partial export receipt and omissions, not a complete-export claim. Distinguish export I/O failure from input invalidity. Do not overwrite an existing export directory. Report artifact read failures and destination write failures with their actual artifact identity. An inspection without export makes no assertion that an export was retained.

SB09 Revisions and processing lineage

Keep profile, model, binding, mapping, message-preparation and native source-edition versions distinct. New transport preparation metadata does not become the publisher's release date. An authored declaration's version is not a publisher-issued model version. Preserve preceding source/interpretation artifacts and identify any normalization.

The reference packet changes only declared transport-header fields and seven research display labels. Original messages and DSD remain exact in a source archive; all decoded values, IDs, order, row coordinates and qualifications survive. New local model revisions retain definitions/limits and omit experiment-only growth flags. They grant no new operation. The exact derivation record and source/packet pins bound this preservation claim.

SB10 Conformance and downstream boundary

The exact profile release, schema and packet test scope are identified in acceptance.md and payload-pins.json. Source names in the examples do not establish provider endorsement or world coverage. Useful partial results and explained failures can meet their named obligations. A finite test suite is neither a general SDMX implementation nor a semantic classifier, extraction benchmark or proof of independent interoperability.

Automatic public saving/search remains separate from structural or semantic conformance; no human publication gate is added. This carrier release does not change current persisted application records, acquire providers, mutate a catalogue, import Alethic data or deploy anything. A later adapter must preserve direct-authoritative-source attribution and its actual source/consumer scope. Data Commons remains a conceptual reference only.

Download the SDMX binding attachment schema

Document source

Hashes identify the reviewed source and its selected text. The HTML edition applies editorial terminology and preserves literal examples.

Download adopted Markdown
Reviewed source SHA-256
74cfbafc7b5e0542e3b2c07d3f7a2d46281bc21ae907674591e5b37c477ee725
Selected payload SHA-256, before any exclusion
92d195b39a5976f50dbbb388e81ef34cf4ce95d2a9f224a188e9f0fe5418cb37
Selected source projection SHA-256
92d195b39a5976f50dbbb388e81ef34cf4ce95d2a9f224a188e9f0fe5418cb37
HTML reading edition SHA-256
963fc3ddc3943a57917409749681d35a275226f6f40ce979a66c88ac7ac901ca