docs: identifier durability — recorded cases and the machine-readable remedy - #1
docs: identifier durability — recorded cases and the machine-readable remedy#1damienriehl wants to merge 1 commit into
Conversation
…readable remedy Cites the position paper 'Identifier Durability: Machine-Readable Canonical IRIs'. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MoZuH8vKiwL2rsX3a1zSqc
|
Warning Review limit reached
Next review available in: 59 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks for taking the time to assemble the cases — the underlying question (opaque canonical IDs with permanent human-readable aliases) is a serious one and I want it on the record as an open question. But the three cases as recorded don't support the weight put on them, and one of them rests on a misreading of what the first segment is. Taking them in turn. The 89 figure joins two unlike cohortsThe 58 are real, and they're now fixed. The 31 ordinariates are not violations of rule 1. Rule 5 already states that military ordinariates are national by nature and names one in exactly this form: So the strip rule is broken in one language by one regex, and observed 31 times in the one cohort where the scheme deliberately keeps the word. Sweeping the corrected registry for surviving type words now returns 8 entries, all Italian territorial prelatures and abbacies ( The first segment is a nation, not a language"31 ordinariates carry theirs in ten languages" treats the variation across There is a real inconsistency in that cohort, but it is a different one: the upstream index styles some ordinariates in the vernacular and others in English ( Opus DeiTwo things about First, the cause. The rename was not the identifier scheme failing to anticipate a supranational structure — rule 5 anticipated it, which is why Second, "the identifier that was supposed to be stable." Stability is a promise made to downstream consumers at publication. This registry is at commit two of an unreviewed proposal — not peer-reviewed, not published, no consumers, explicitly labelled draft in the seed's own XinjiangAgreed that Where this leaves the PRI'd like to keep open question 6 and take the position paper seriously on its merits — opaque canonical identifiers with guaranteed multilingual labels is a real design tradition (DOI, ORCID, Wikidata, LEI) and deserves a committee decision rather than a default. What I'd ask is that the "Identifier durability" section be reworked before it goes in, because as written the record it establishes is inaccurate: the 89 should separate the 58 generator defect (now fixed) from the 31 rule-5 ordinariates, the language framing of the nation segment should come out, and the Opus Dei case should reflect that its cause was an upstream data error in a pre-publication draft. An argument this good doesn't need the case count. |
The slugify() strip rule used `^(arch)?diocesi di |^(arch)?diocese of `.
Italian forms the archdiocese as "arcidiocesi", not "archdiocesi", so the
optional `arch` prefix never matched the Italian styled form and all 58
Italian archdioceses kept the type word in their slug, contrary to rule 1
of the schema proposal ("the type is an attribute, not part of the
identity").
Split the alternation so each language keeps its own form and regenerate
the seed. 58 IDs change, e.g. circ:it-arcidiocesi-di-acerenza ->
circ:it-acerenza. No collisions: 2,935 entries, 2,935 unique IDs.
Sweeping the regenerated seed for surviving type words leaves 8 Italian
territorial prelatures and abbacies (circ:it-abbazia-territoriale-di-
montecassino, circ:it-prelatura-territoriale-di-loreto). Whether those
reduce to the bare see name is a separate naming question for the
committee and is left unchanged here.
All IDs remain drafts pending committee review (#1).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Adds an Identifier durability section to
docs/schema-proposal.mdplus a new open question: the recorded cases (89 IDs at odds with the scheme's own strip rule across ten languages, thecirc:it-opus-dei→circ:int-opus-deirename, the Xinjiang ordinals) and the machine-readable remedy with the current slugs as permanent aliases.No existing identifier is changed, deprecated, or renamed by this PR. All argument lives in the position paper — this PR only demonstrates this repository's recorded cases and the remedied form: CatholicOS/foundation-docs#58 (discussion: CatholicOS/foundation-docs#57).
🤖 Generated with Claude Code
https://claude.ai/code/session_01MoZuH8vKiwL2rsX3a1zSqc