0023: Supplied global composition and dependency scope
Reusable device definitions can span supplied documents. Input order must not choose a definition, erase ambiguity or broaden selected-model work into a catalogue check. The existing effective owner and shared evaluator establish composition, following ADR 0006: Scoped reference failures, ADR 0013: Shared workflow and report guarantees, and ADR 0020: Owned effective views and nearest origins.
RFC 9880 Sections 3.2 and 4 establish namespace contributions and name references. CURIE Syntax Section 3 assembles a prefix binding and reference tail by literal concatenation. Esdieff’s supported supplied lookup compares exact decoded namespace text and percent-decoded RFC 6901 target pointers. It supports ASCII NCName prefixes [A-Za-z_][A-Za-z0-9_.-]*; wider valid prefix characters or unsupported assembled forms produce capability limitations. URI normalization, relative-URL resolution and retrieval are not part of that relation. A binding with path or fragment content retains that content during assembly.
Each candidate’s contribution identity requires reliable source context. Clear-context absence of defaultNamespace establishes no contribution; literal absence with unknown critical features does not. Present mappings always require that context, even when their text appears unrelated. Unavailable acquisitions, envelopes, keys or bounded work remain possible contributors. This conservative limitation can obstruct a unique import in a heterogeneous catalogue, without establishing those candidates as dependencies or assessing their unrelated content.
Several sources can contribute distinct addresses to one namespace. Multiple established contributors to one address remain ambiguous even when their bytes are identical. Source identity plus local node identity distinguishes target-root patches and replay proofs; coincident local node numbers never establish sameness. Established malformed reference syntax or an original unmapped prefix is a definite finding at its original source reference, counted before optional diagnostic retention. Missing mapped targets, unavailable identity and ambiguity retain scoped incompleteness. Repeated observations are not suppressed without complete identical rule, reference and context proof.
Mandatory target-root references keep their original binding contexts and precede consumer patches. Deleted nested references need no expansion. Surviving copied references keep the binding context of their authoring document even when the visible mappings agree, and internal ones relocate under ADR 0036: Copied reference relocation. A copied sdfRequired in a full Data description keeps the separate data-only limitation, preserving raw syntax and independent constraints without adding direct-item semantics.
Catalogue checks independently assess all supplied sources. Selected-model checks independently assess roots and evaluate surviving imported content through the same effective rules, with only the contributor context needed to establish that content. They do not independently assess unused contributor definitions or ordinary Information metadata. Explicit expanded modified assessment additionally checks each distinct actually needed source once with the shared scanner and preflight, preserving ADR 0021: Explicit modified metadata assessment. Unknown contribution or dependency closure keeps the aggregate area undetermined. Cumulative work, derived storage and report limits cover discovery, target selection, composition and scope reporting together; omitted presentation cannot change established findings or completion.
An explanation keeps nearest content origins and carries an optional importing consumer directly through copy, merge, replacement and deletion. Mandatory root chains keep their outer importing sdfRef; a separately composed nested reference establishes a new boundary. Ordinary source content has no consumer, and implicit defaults have no fabricated authored source. The public accessor and optional report location expose the same immutable source handle rather than a fallible ancestor search.
Considered Options
First/last contributor selection and identical-content coalescing would erase ambiguity. URI normalization or URL resolution would silently broaden the equality relation and alter literal CURIE assembly. A full public global index or another resolver would duplicate the existing effective boundary without a caller need. Treating raw absent defaults as semantic exclusion before critical-feature preflight would claim contribution absence without the needed context. Independently checking every contributor subtree would change selected scope into unrelated catalogue work. Choosing copied prefix identity from equal-looking maps would make meaning depend on coincidental spelling rather than authorship. Reconstructing consumers by walking effective ancestors would make an established explanation depend on a second bounded lookup.