docs(adr-19): say which pairs idOnly replaces, in this package's own terms - #745
Open
ddeboer wants to merge 1 commit into
Open
docs(adr-19): say which pairs idOnly replaces, in this package's own terms#745ddeboer wants to merge 1 commit into
ddeboer wants to merge 1 commit into
Conversation
ddeboer
force-pushed
the
docs/adr-19-domain-neutral
branch
from
August 17, 2026 17:29
270ae1c to
5a8ac77
Compare
…terms Two problems, one cause: the ADR reasoned about the deployment that motivated it rather than about the shape of the case, in a package that names neither a domain nor an engine. The factual one first. It listed five properties as pairs `idOnly` removes the reason for, but `idOnly` surfaces a bare `IRI`, and three of those hold **locators** - a content URL, a thumbnail, a landing page. Nothing selects on them, they carry no filter or facet, and typing them `IRI` would assert a selection key that does not exist. They keep the internal-reader-plus-keyword pair, which is still the only declaration yielding a plain `String` over an IRI-valued path. A reader following the ADR as written would have retyped its URLs as identity. The register, second. The narrowing caveat argued from one profile's co-typing of a specific class, which a reader of this package cannot check and does not need: the general statement is that a declaration names the target whose collection resolves its labels, which need not be the widest class the data admits. The counted claim about that deployment's declarations is gone with it - it was wrong as well as out of place.
ddeboer
force-pushed
the
docs/adr-19-domain-neutral
branch
from
August 17, 2026 17:34
5a8ac77 to
3657bc4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ADR 19 reasoned about the deployment that motivated it rather than about the shape of the case, in a package that names neither a domain nor an engine. That hid a real error.
idOnlydoes not replace every such pair. The ADR named five properties whose pairs it removes the reason for – butidOnlysurfaces a bareIRI, and three hold locators: a content URL, a thumbnail, a landing page. Nothing selects on those, soIRIwould assert a selection key that does not exist. A deployment following the ADR would have retyped its URLs as identity. It now states the rule –idOnlyis for values a consumer can filter or facet on – and says the split is per property. A list of names could not be checked against a rule it never stated, which is how three locators sat in it unnoticed.The narrowing caveat argued from a profile a reader cannot check. True, but stated through one profile's co-typing and one deployment's property names. The general fact is lde's own: a reference declares one
ref.typeNameand onelabelSource, with no list form, so refinement returns fields that declare a type rather than fields that may also hold one. The counted claims went too – both were wrong as well as out of place.Illustrative names (
creator,TermFilter) stay. The line is between an example and an assertion about a named deployment's schema.Docs only; the site builds.