diff --git a/docs/schema-proposal.md b/docs/schema-proposal.md index 6ca70c3..cab4a49 100644 --- a/docs/schema-proposal.md +++ b/docs/schema-proposal.md @@ -82,6 +82,58 @@ enrichment: submitted upstream ([LiturgicalCalendarAPI PR #718](https://github.com/Liturgical-Calendar/LiturgicalCalendarAPI/pull/718)). +## Identifier durability + +Three cases are already on this repository's record. None is a mistake of execution; each +is what a name-derived identifier does when the name, the type, or the source index moves. + +- **The strip rule is already broken at scale.** The scheme requires generic type words to + be stripped, because "the *type* is an attribute, not part of the identity" — yet 58 + seeded IDs carry the Italian type word (`circ:it-arcidiocesi-di-acerenza`, + `circ:it-arcidiocesi-di-agrigento`, `circ:it-arcidiocesi-di-amalfi-cava-de-tirreni`, and + 55 more), and 31 ordinariates carry theirs in ten languages: + `circ:au-military-ordinariate-of-australia`, `circ:de-deutsches-militarordinariat`, + `circ:it-ordinariato-militare-per-l-italia`, `circ:es-arzobispado-castrense-de-espana`, + `circ:pl-ordynariat-polowy-wojska-polskiego`, `circ:sk-vojensky-ordinariat-slovenska`, + `circ:hu-magyarorszagi-katonai-ordinariatus`, `circ:lt-lietuvos-kariuomenes-ordinariatas`, + `circ:ba-vojni-ordinarijat-u-bosne-i-hercegovine`, `circ:br-ordinariado-militar-do-brasil`, + and the rest. Those two cohorts are 89 of the seed's 2,935 entries (two further entries, + `circ:fr-diocese-aux-armees-francaises` and `circ:us-archdiocese-for-the-military-services`, + carry a type word outside them). Rule 1 holds that type is not identity; 89 identifiers + record the opposite, and correcting them would rename 89 live IDs. +- **A live ID has already been renamed.** `circ:it-opus-dei` became `circ:int-opus-dei` + (commit `5067fb8`) once the country segment proved wrong for a supranational personal + prelature. The correction is right; what had to change to make it is the identifier that + was supposed to be stable. "Seed and its limits" above records the same case. +- **Two sees are told apart by an ordinal.** `circ:cn-xinjiang-1` and `circ:cn-xinjiang-2` + "carry ordinal qualifiers pending proper disambiguation" — an arbitrary fact about + arrival order in the source index, not about either circumscription, and one that will be + wrong for at least one of them the moment the disambiguation lands. + +Each case dissolves when the canonical identifier is machine-readable and the +human-readable layer is guaranteed beside it — both, not one at the cost of the other: + +```text +id: R7kQp2mXf4LdTbz9Ns3Hc1 # canonical, machine-readable, minted once + # (illustrative value: shape only, not a minted ID) +alias: circ:it-arcidiocesi-di-acerenza # permanent, resolvable, never reused +labels: "Arcidiocesi di Acerenza"@it · "Archidioecesis Acheruntina"@la · + "Archdiocese of Acerenza"@en +type: archdiocese # an attribute, exactly as rule 1 already asks +``` + +Under that shape the strip rule needs no enforcement, because no type word is load-bearing; +the Opus Dei correction changes `nation` and adds a label, leaving the alias +`circ:it-opus-dei` resolvable forever alongside `circ:int-opus-dei`; and the two Xinjiang +sees each hold a distinct canonical ID from the moment they are seeded, with the pending +disambiguation arriving as labels rather than as a renumbering. + +The general argument — why canonical identifiers should be machine-readable, what that +costs, and how the human-readable layer is guaranteed rather than left optional — is set +out once in *Identifier Durability: Machine-Readable Canonical IRIs* (CDCF +`foundation-docs`, `research/identifier-durability-opaque-canonical-iris.md`) and is not +restated here. + ## Open questions for the committee 1. The namespace prefix (`circ:`) and its coordination with the other registries' @@ -94,3 +146,8 @@ enrichment: 5. Whether Ordinariates for Eastern-rite faithful without their own hierarchy, and pastoral structures like apostolic exarchates in the diaspora, need a dedicated type taxonomy beyond the Annuario's. +6. Whether the canonical ID of a circumscription should be machine-readable and minted + once, with every slug the scheme above produces (`circ:us-boston`, + `circ:it-arcidiocesi-di-acerenza`, `circ:it-opus-dei`) kept as a permanent resolvable + alias and every see name carried as a multilingual label — keeping this scheme intact + as the human-readable layer rather than replacing it (see "Identifier durability").