Conversation
add sections, update others - see full description in PR Signed-off-by: Brent Toderash <brent@toderash.net>
Added terminology section outlining key terms used in the FAIR Protocol documentation. Signed-off-by: Brent Toderash <brent@toderash.net>
cdils
approved these changes
May 6, 2026
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.
specification.md— amendedterminology.md— added (first version; replaces inline Definitions section in spec)Sorry in advance for the size of this thing - it closes #76 and updates anything that got in the way, closing other issues fully or partially as summarized in the table at the end. Full change summary shown here with line numbers to view the actual verbiage. Here's what it does:
Changes to
specification.mdDefinitions
Terminology: inline glossary replaced with pointer to (new)
terminology.md; RFC 2119 key words are stated, along with retirement of "vendor" in favour of "Publisher". Vendor → Publisher changed 9x in this file (only). ("Vendor" implies remuneration, where "Publisher" is neutral and should translate more accurately.)DID Document section
Lines 158–160: replace existing multiple services rule to remove double-negative to permitted ambiguously. Now explicitly permitted with a unique
idper service, allowing discretion to select among available services.Line 162:
verificationMethodrequirement now conditioned to support Trust Tiers (see below). Also corrects fragment parts of "URL" to "URI".Line 195: explicitly state that a Repository MAY host any number of Packages, each with a distinct Package DID processed independently.
New sections (lines 198–395)
New sections have been inserted between the DID Document section and the Metadata Document section. These all have to do with introducing a Trust Model that can source verification either to a Repo or a Publisher, which is then used to establish the technical processes for Package/Repo portability, claiming legacy Packages (migrate to FAIR), and multi-Repo service for the same Package.
Trust Tiers defines 2 tiers & rules for determining which applies based on DID entry formats alone. Repository-Trust or Publisher-Trust is ultimately determined by who signs the Package. Both entities MAY issue a DID Document for the Package, with Repo using
capabilityDelegationto point to the Publisher's DID for signature verification. New requirement to surface the trust tier to Users & notify when the tier changes.Alias Acknowledgment with
alsoKnownAsdefines bidirectional confirmation requirement before following anycapabilityDelegationdirective & defines fallbacks.Multiple Repositories for a Package Publisher's DID MAY reference multiple Repositories via
alsoKnownAs; defines behaviour for Clients & Aggregators, including impact of a checksum failure upon other Repos for same Package.Package Portability and Repository Migration define Publisher's migration process between Repos & Client behaviour on stale Repository-Issued DID post-migration. Defines install by Publisher DID as a first-class resolution path (not previusly explicit). Publishers can migrate without any action by the outgoing Repo.
Package Claiming Process FAIR migration; process for a Publisher to claim ownership of a Package distributed under Repository-Trust. Repo verifies identity out of band based on its own policy; action is required by both parties to complete the transfer. Repositories MUST emit a
Package.trust-transferredevent to Aggregators on completion.Key Revocation for Installed Packages specify Clients MUST re-verify installed Packages against current signing keys following a key rotation. MUST warn the user & block updates on failure, and MUST NOT auto-uninstall a Package if a historical signature can't be verified against current keys.
Metadata Document — id property
idproperty description added to address resolution beginning from a Publisher DID rather than a Package DID:idcheck performed against the Package DID obtained from the Publisher DID'salsoKnownAsentries, not against the Publisher DID itself. A mismatch is not a validation failure, provided theidmatches the expected Package DID fromalsoKnownAs.Corrections to pre-existing text
With numerous changes in scope,
specification.mdwas reviewed for language, logic, & internal consistency to check the language being inserted. The following changes were also caught to correct minor errors or unclear language in the original text.Meaningful corrections:
[semver]reference used inline without definition; added[semver]: https://semver.org/authis a Release Document property governing artifact access, not package-level access: changed to "authentication requirements to access the release's artifacts."Typos & grammar:
mustcorrected toMUSTmustcorrected toMUSTIntroduction of
terminology.mdterminology.mdnew file replacing the brief inline definitions inspecification.md. Keeps all terms with fuller definitions & adds terms to support the trust model and some pre-existing content. Defined terms have HTML anchor IDs (#def-[term]) for cross-document linking.Issues Resolved
FairPackageManagementReposervices explicitly permitted, with selection rules