feat: mint canonical IDs for circumscription types (ctype:) - #8
Conversation
`type` was planned as a free-string enumeration listed only in prose in the schema proposal. This makes it a cross-reference into a companion registry, `data/circumscription_types.json`, following the convention already used across the family: COECDR embeds CRPDR `rp:` IDs, CDOCTDR embeds CRMEDR `mr:` IDs. Sixteen types are minted under the placeholder prefix `ctype:`, covering the scope the README already claims: dioceses and archdioceses of the Latin Church; eparchies, archeparchies, exarchates and apostolic exarchates of the Eastern Catholic Churches; territorial prelatures and abbacies; apostolic vicariates, prefectures and administrations; military and personal ordinariates; personal prelatures; missions sui iuris; and ordinariates for Eastern faithful without their own hierarchy. Each entry carries the Latin name (the Annuario's own nomenclature), the church the form belongs to, whether it is territorial, the title of the one who governs it, and the governing canon or document. generate_seed.py now asserts that every `type` resolves against the types registry, so an unresolvable cross-reference fails the build rather than shipping silently. All IDs are drafts pending committee review; `ctype:` is a placeholder on the same footing as `circ:`, pending open question 1. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 53 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. 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 (2)
📝 WalkthroughWalkthroughThe change adds a 16-entry circumscription type registry, defines ChangesCircumscription type cross-reference
Estimated code review effort: 3 (Moderate) | ~20 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
The Abbazia territoriale di Santa Maria di Grottaferrata is of Byzantine rite and is one of the three circumscriptions of the Chiesa bizantina cattolica in Italia, alongside the eparchies of Lungro and Piana degli Albanesi. The territorial abbacy is therefore not a Latin-only form. The wider lesson is recorded as open question 8: `church` states which churches are known to use each form, which is answerable only by enumerating real circumscriptions. The seed is still Latin-rite only — all three Italo-Albanian circumscriptions are absent from it — so the a-priori classification cannot be trusted. The forms still marked `latin` need the same check against the Annuario rather than against expectation. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Corrected in The Abbazia territoriale di Santa Maria di Grottaferrata is of Byzantine rite — one of the three circumscriptions of the Chiesa bizantina cattolica in Italia, alongside the eparchies of Lungro and Piana degli Albanesi, and still active under its own ordinary. The territorial abbacy is not a Latin-only form. Worth recording why the error happened, because it generalizes. The remaining That is now open question 8, and the file's Revised counts: latin 8, eastern 5, both 3. |
… covered The Bulgarian Greek Catholic Church had two Byzantine-rite apostolic vicariates, Macedonia (Thessaloniki) and Thrace (Adrianople), both erected 1883 and suppressed 1926 into the Apostolic Exarchate of Sofia. Rule 3 keeps suppressed circumscriptions referenceable forever, so this form must remain typable for a Byzantine circumscription even though no Eastern apostolic vicariate is currently active. Checked the remaining `latin` values against Catholic-Hierarchy's structured view of the Byzantine tradition, which shows only eparchy, archeparchy, apostolic exarchate, apostolic administration and territorial abbey, and against per-form surveys. No Eastern instance was found for diocese, archdiocese, territorial prelature, apostolic prefecture, mission sui iuris, personal prelature or personal ordinariate; all eight missions sui iuris are Latin and the term is not used in the Eastern churches. Two incidental confirmations: `ctype:apostolic-administration` as `both` is right (Kazakhstan and Central Asia, and Belarus, are Byzantine), and `ctype:ordinariate-for-eastern-faithful` corresponds to real entities (the Ordinariate for Byzantine-Rite Catholics in Austria; the Ordinariate for Catholics of Armenian Rite in Eastern Europe). These sources are the verification aids the README already names, not authorities. The Annuario Pontificio has not been consulted, and absence of evidence is weaker than the two positives that forced a change — coverage of suppressed Eastern circumscriptions is uneven. Open question 8 is rewritten to say exactly that rather than to imply the field is settled. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Verification pass on the remaining Corrected
Checked and unchangedCatholic-Hierarchy's structured view of the Byzantine tradition shows only five type labels in use: eparchy, archeparchy, apostolic exarchate, apostolic administration, territorial abbey. No diocese, no archdiocese, no apostolic vicariate, no apostolic prefecture.
Two incidental confirmations of values I had not been asked to check: The limitationI did not verify against the Annuario Pontificio. It is not available online, and I have no copy. What I checked was Catholic-Hierarchy plus per-form surveys — the verification aids the README already names as not authorities. That matters asymmetrically. The two corrections rest on positive findings, which are solid: one Byzantine abbacy and two Byzantine vicariates each definitively prove Open question 8 is rewritten to say this rather than to imply the field is now settled. Revised counts: latin 7, eastern 5, both 4. |
Makes
typea canonicalized cross-reference rather than a free string.Until now the type enumeration existed only as prose in
docs/schema-proposal.md— fourteen snake_case tokens in a parenthesis. This mints them as canonical IDs in a companion registry,data/circumscription_types.json, so a circumscription'styperesolves to an entry with its own identity, Latin name, and juridic basis.Why a cross-reference
It is what the family already does. COECDR embeds CRPDR
rp:IDs in itsReigning pontiffcolumn; CDOCTDR embeds CRMEDRmr:IDs for eulogies. An entry now reads:{ "id": "circ:us-boston", "name": "Archdiocese of Boston", "nation": "US", "church_sui_iuris": "latin", "type": "ctype:archdiocese" }The sixteen types
Covering exactly the scope the README already claims, plus two the schema proposal's open question 5 raises:
ctype:diocesectype:archdiocesectype:eparchyctype:archeparchyctype:exarchatectype:apostolic-exarchatectype:territorial-prelaturectype:territorial-abbacyctype:apostolic-vicariatectype:apostolic-prefecturectype:apostolic-administrationctype:mission-sui-iurisctype:military-ordinariatectype:personal-ordinariatectype:personal-prelaturectype:ordinariate-for-eastern-faithfulEach entry also carries
juridic_reference— CIC can. 369 for a diocese, can. 370 for territorial prelatures and abbacies, can. 371 §1 and §2 for the missionary forms, can. 294–297 for personal prelatures, CCEO can. 177 and 311 for the Eastern forms, Spirituali Militum Curae (1986) and Anglicanorum coetibus (2009) for the two ordinariate forms — and a note recording what distinguishes it.Two entries carry
"juridic_reference": nulldeliberately:ctype:mission-sui-iurisandctype:ordinariate-for-eastern-faithful. Neither is defined in the 1983 Code; both are recognized in the Annuario and in practice. Null is honest here, and marks the citation as outstanding rather than implying none exists.The
territorialflag makes the personal structures legible as a class — it is the property that makes rule 5 necessary, and the reasoncirc:int-opus-deihas nonation.Enforcement
generate_seed.pynow asserts that everytyperesolves against the types registry:Verified by injecting a bad value: the generator exits 1 rather than shipping an unresolvable reference. The existing duplicate-ID assertion is unchanged.
data/circumscriptions.jsonchanges by exactly one line — Opus Dei'spersonal_prelaturebecomesctype:personal-prelature, the only typed entry in the seed.Three new open questions
Added to
docs/schema-proposal.md:ctype:territorial-abbacyas minted, orctype:abbatia-territorialisfollowing CDOCTDR's use of the Latin lemma. Latin would be language-neutral and match the Annuario; English matches the enumeration this repository already documented.name_lais carried either way, so this is about the identifier alone.church_sui_iuris. The Annuario lists them distinctly; whether they warrant their own type IDs is unsettled.Note on merging
This adds open questions 6 and 7. #1 also adds a question numbered 6. Whichever lands second needs renumbering — a trivial conflict, but worth knowing about rather than discovering.
Relation to open issues
This is the data #7 is blocked on: with
typepopulated, the per-type registry tables become producible. It also gives #3 (ctype:territorial-abbacy), #4 (ctype:military-ordinariate), #5 (ctype:personal-ordinariate) and #6 (ctype:apostolic-prefecture) a value to assign as each is resolved.Populating
typeacross the other 2,934 entries remains a separate authoritative pass against the Annuario, asdocs/schema-proposal.md§ "Seed and its limits" already records.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
ctype:identifiers for circumscription types.Data Updates
Documentation