diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 10:04:21 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 10:04:21 +0200 |
| commit | 59fbda87d565ad9b98c2493e9703390cd988609d (patch) | |
| tree | 71ebfb8e9568cd5003c10dabc8804fba4ca66e76 /lib/rites/rite_ef/precedence_ef.mli | |
| parent | 254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4 (diff) | |
| parent | e30a4be5a2594fb3b6c4b51345d138cd89ba78ad (diff) | |
| download | colitur-59fbda87d565ad9b98c2493e9703390cd988609d.tar.gz colitur-59fbda87d565ad9b98c2493e9703390cd988609d.zip | |
Merge branch 'ef-rg112-rg110': the Holy Family, RG 112(a), observed identity
Builds the Feast of the Holy Family (RG 17(b), first Sunday after
Epiphany, II class), which did not exist in colitur at all -- it emitted
an ordinary Sunday on all 8417 days the feast occurs. Adds RG 112(a)'s
exclusion, on RG 95 paragraph 2's authority ('Si vero duo festa eiusdem
Divinae Personae ... fit de festo, quod in tabella praecedentiae
superiorem obtinet locum, et aliud omittitur'), corroborated by RG
112(a) and by the Holy Family Mass propers' own 13-January rubric.
Three validation layers had missed the missing feast, each for its own
reason: the differential because lectio lacks it too and shares
colitur's data lineage; the golden layer for want of a pin; and the
oracle because it compared the observed day's rank and colour but never
its identity. That last gap is the more important half of this change
and is now closed -- the oracle compares observed identity, with the
unresolvable population counted and pinned rather than silently skipped.
Also rescales RG 91's band table x10. entry_14_movable_band had been a
negative sentinel, chosen to avoid collision with a real table position;
it also inverted ordering, making a movable II-class feast of the Lord
outrank every I-class day. Unreachable on universal data, live the
moment a diocesan overlay places a I-class proper or indult feast in the
7-13 January window. A half-row is now an ordinary position between its
neighbours. The rescale was verified entry-by-entry against a
photographic scan and moves zero days across the domain.
RG 110 is NOT built despite the branch name; it remains open, as do the
Holy Name of Jesus office (missing in 3619 of 8417 years) and RG 98's
transfer-ordering mechanism.
Diffstat (limited to 'lib/rites/rite_ef/precedence_ef.mli')
| -rw-r--r-- | lib/rites/rite_ef/precedence_ef.mli | 58 |
1 files changed, 49 insertions, 9 deletions
diff --git a/lib/rites/rite_ef/precedence_ef.mli b/lib/rites/rite_ef/precedence_ef.mli index b283a17..6a96c4e 100644 --- a/lib/rites/rite_ef/precedence_ef.mli +++ b/lib/rites/rite_ef/precedence_ef.mli @@ -62,16 +62,43 @@ val ember_prefixes : string list new rule, not a silently wrong one. *) val unclassified : int +(** {!band}'s value for RG 91 entry 14's FIXED half (a sanctoral, i.e. + fixed-date, Class2 feast of the Lord) -- see {!entry_14_movable_band}'s + own comment for why entry 14 needs two distinct values at all. *) +val entry_14_fixed_band : int + +(** RG 91 entry 14's own text (ยง4): "Festa Domini II classis, primum + mobilia, deinde fixa" -- feasts of the Lord, II class, MOVABLE first, + then fixed. {!band}'s value for the movable half (Holy Family, RG + 17(b)) -- [entry_14_fixed_band - 1], strictly better than the fixed + half without colliding with entry 13 or any other real table position. + CORRECTED, fix round 1 (coordinator finding 1): this used to be a + negative sentinel, justified only by "cannot collide with a real table + position" -- a COLLISION argument, not an ORDERING one; since {!band} + values are compared by plain [<], a negative value beats every I-class + entry (1-13) as well as the fixed half, not merely the fixed half it + was built to beat. {!band}'s own entries now use the real RG 91 number + TIMES TEN throughout, reserving genuine headroom before every entry -- + see precedence_ef.ml's own comment for the full citation, the counter- + example that found this, and why entries 13, 20, 23 and 24 may need the + same treatment if their own "movable then fixed" halves ever get a + witness. (Corrected: this previously said "entries 12 and 20". RG 91 + puts that clause at entry 13, not 12, and the split occurs at five rows + in all -- 13, 14, 20, 23's third sub-item and 24.) *) +val entry_14_movable_band : int + (** [band ctx c]: RG 91's Table of Precedence. Returns the table's own entry - number -- I class 1-13, II class 14-21, III class 22-26, IV class 27-28; - lower wins (see {!Precedence.rules.band}) -- EXCEPT where the table's own - text states an exception: entry 8 (All Souls) reads "yields to an - occurring Sunday", so on a Sunday this returns a value that - loses to entry 15 rather than the literal integer 8 (see the comment on - entry 8 in precedence_ef.ml for the exact value and why). ALSO - {!unclassified} for any [Cel.Commemoration_only] candidate, checked - first, ahead of every rank-keyed branch -- CORRECTED, Task B fix round - 1 (coordinator finding 1): RG 91's own table enumerates only "dies + number TIMES TEN -- I class 10-130, II class 140-210, III class 220-260, + IV class 270-280; lower wins (see {!Precedence.rules.band}) -- EXCEPT + where the table's own text states an exception: entry 8 (All Souls) + reads "yields to an occurring Sunday", so on a Sunday this returns a + value that loses to entry 15 (150) rather than 80 (see the comment on + entry 8 in precedence_ef.ml for the exact value and why); entry 14 + (Feasts of the Lord, II class) splits into {!entry_14_movable_band} and + {!entry_14_fixed_band} per the table's own "primum mobilia, deinde + fixa". ALSO {!unclassified} for any [Cel.Commemoration_only] candidate, + checked first, ahead of every rank-keyed branch -- CORRECTED, Task B fix + round 1 (coordinator finding 1): RG 91's own table enumerates only "dies liturgici" (entry 24's own text, "Festa III classis..." -- FEASTS), so a celebration reduced to a bare commemoration was never a row in the table to begin with, confirmed by the calendarium's own notation (a @@ -134,6 +161,19 @@ val sunday_marker : string weekday, never a saint's day, and RG 111(c)/(d) admit an "ordinary" commemoration of a losing SAINT freely, with no such class-keyed gate); + - a loser whose [subject] is [Lord] AND whose WINNER's [subject] is also + [Lord] is [Omit] (PRIMARY authority: RG 95's own second paragraph, + present in all three source documents including the electronic + transcription -- "if two feasts of the SAME DIVINE PERSON... occur + together, [the Office] is made of the one higher in the table of + precedence, and the OTHER IS OMITTED"; corroborated by RG 112(a) -- + a feast or mystery of one Divine Person excludes a commemoration of + another feast or mystery of the SAME Divine Person -- and by the Holy + Family Mass propers' own more specific 13-January rubric on both + photographic scans; live witness: Holy Family, RG 17(b), excluding + the fixed Commemoration of the Baptism of the Lord on the years 13 + January is itself Holy Family's own date -- see the .ml's own comment + for the full primary text of all three); - everything else -- including an impeded I-class Sunday, and a SANCTORAL loser of any rank below I class -- is [Commemorate], carrying its real RG 109 privilege (see {!admit} below); RG 109(a) |
