| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RG 72: "Tempus natalicium decurrit a I Vesperis Nativitatis Domini usque ad
diem 13 ianuarii INCLUSIVE." 6-13 January is the Epiphany section OF Christmas
Time, not the start of Time after Epiphany. RG 119(a) backs the same boundary
from the colour side, white "usque ad expletum tempus Epiphaniae". lectio
ended Christmas Time on 5 January, so eight days a year came out green that
should be white, and Epiphany itself reported the wrong season.
NOT a one-line boundary change, which is why an earlier attempt was reverted
rather than shipped. efSeason both named the slugs and reported the season, so
moving the boundary renamed every slug in the window -- ef-time-after-epiphany-*
became ef-christmas-* -- and orphaned the ef-time-after-epiphany-sunday-1
lectionary key. The two are now separate axes:
efSlugSeason names slugs and numbers weeks; unchanged behaviour
efSeason the liturgical season, which the colour follows; RG 72's
The split is not a new idea in this file. The resumed-Sundays branch already
does exactly this and says so -- "Season stays time-after-pentecost
(calendrical); the Epiphany slug only routes the readings" -- it simply had no
name, so the one place that needed it could not reuse it.
Result, checked against colitur across all 365 days of 2026: SEASON now agrees
on every single day, where it previously differed on eight. Colour differences
drop to nine, every one a Saturday and every one the BVM Saturday Office
(RG 78, colitur C17) which lectio does not build. Slugs and week numbers are
byte-identical to before.
The oracle's season axis now consults the allow-list and excludes excused days
from its threshold. Neither was true before, because no cited divergence had
ever BEEN a season difference -- the January window showed up as a colour one,
since the wrong season produced the wrong colour too. With the season right,
what is left is a season difference against missalemeum, and an axis whose
threshold is a t.Fatalf would have failed regardless of any allow-list.
TestTemporalEFChristmastideBoundary pins the boundary AND the split, mutation-
tested both ways: reverting the boundary reddens it, and re-merging the two
seasons so the slug is built from the liturgical one reddens it differently,
naming the orphaned lectionary key.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This file's own comment called RG 132's black "a separate, unmodelled gap".
It is modelled now. RG 128(b)'s exception list carries Good Friday in the same
sentence as Holy Thursday's -- "Actione liturgica feria VI in Passione et
Morte Domini usque ad Communionem exclusive" excepts the day from
Passiontide's violet -- and RG 132 assigns black to it. Adopted from colitur,
which closed the same gap against the Missal in its v0.4.0.
The rubric is per-action and this model carries one colour per day, so black
is the day's principal colour, the same acknowledged limit the Palm Sunday
blessing already has. missalemeum's own colour set for the day is "bv", black
first, so the oracle test accepts this without a new allow-list entry.
Found by cross-checking clectio's output against colitur date by date, NOT by
the patch tool that produced the earlier eight corrections. That tool compares
colitur's sanctoral data against this repo's calendar ini, so a temporal day
-- computed in code on both sides, in neither file -- is structurally
invisible to it. Its docstring now says so.
TestTemporalEFHolyThursdayColour asserted Good Friday was violet "(unchanged)",
encoding the gap; renamed to TestTemporalEFTriduumColours and updated. A test
asserting the absence of a feature passes for exactly as long as the feature
is absent, which is not the same as being correct. Holy Saturday is still
pinned violet in the other direction, so a careless "the whole Triduum is
black" change fails there.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Four fixes to internal/calendar/temporal_ef.go, all found by the
strengthened oracle test (previous commit):
1. Sunday ranks (defect 4). The generic Sunday branch assigned
class-2 to every Sunday except Advent I. RG 11-12 / RG 91 entry 6:
every Sunday of Advent and every Sunday of Lent is I class (as are
Passiontide's own two Sundays and Low Sunday, already correct via
their named-feast cases). Fixes St Joseph wrongly taking a Sunday
of Lent (defect 3, precedence_ef_repro_test.go's
TestJosephYieldsToSundayOfLent) as a direct consequence: once Lent
Sundays are I class, Joseph (also I class) no longer wins the tie
outright and correctly transfers to the 20th via the existing RG
96 walk -- no separate code change was needed for defect 3.
2. Rose (defect 5). efColour had no Rose case at all; Gaudete (Advent
III) and Laetare (Lent IV) now get Rose on that Sunday specifically
(RG 131: rose vestments may be used "in Officio et Missa diei
dominici tantum", for that Sunday's Office and Mass only), not the
surrounding Sundays.
3. Holy Thursday's colour (defect 6). RG 128(b) names the Missa in
Cena Domini as a whole-Mass exception to Passiontide's violet; RG
122 states the same fact affirmatively, in the White section
itself. Good Friday and Holy Saturday, either side, are unchanged
(still violet -- their own black/no-colour treatment is a separate,
unmodelled gap, noted in precedence_ef.go's own doc comments).
4. Beyond the seven, found by the same strengthened test and fixed for
the same RG 91 entry 18 reason defect 2 (next commit) relies on:
the Ember days of Lent had no case in efEmberSlug at all (only
September and Advent did), so they fell through to the ordinary
III-class Lenten-feria rank instead of the II class RG 91 entry 18
requires. The late-Advent ferias (17-23 Dec, RG 91 entry 18) and
the days within the Octave of the Nativity (26-31 Dec, RG 67-68)
had no elevation at all, defaulting to III/IV class. All three are
one-line, unambiguous, primary-cited additions to the same rank
logic already being touched here -- left unfixed, the strengthened
oracle test could only reach green by allow-listing them as if they
were defensible divergences, which they are not.
Witnesses (temporal_ef_test.go): TestTemporalEFSundayRanks,
TestTemporalEFRoseSundays, TestTemporalEFHolyThursdayColour,
TestTemporalEFEmberDayRanks. All fail before this commit; see the
report for the exact pre-fix failure messages.
|
|
|
8 EF seasons by date boundary (Septuagesima, Passiontide, Time after Epiphany/
Pentecost + shared); major feasts of the Lord; Christ the King = last Sun of
October. ParseRank accepts EF ranks.
|