<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/internal/calendar/temporal_ef_test.go, branch v0.46.1</title>
<subtitle>offline Catholic daily readings and liturgical calendar in Go, with CLI, TUI and web clients</subtitle>
<id>https://git.labunix.xyz/lectio.git/atom?h=v0.46.1</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.46.1'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-08-12T11:04:53Z</updated>
<entry>
<title>temporal_ef: Sunday ranks, Rose Sundays, Holy Thursday white</title>
<updated>2026-08-12T11:04:53Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-12T11:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=f40eb498c612aeda2ff7f3d5b898e4d1ddcec352'/>
<id>urn:sha1:f40eb498c612aeda2ff7f3d5b898e4d1ddcec352</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>feat(calendar): EF (1962) temporal cycle temporalEF + EF seasons</title>
<updated>2026-07-27T11:58:19Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T11:58:19Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=3bda15bfe7786ae97fac1cbf779b713cf4238846'/>
<id>urn:sha1:3bda15bfe7786ae97fac1cbf779b713cf4238846</id>
<content type='text'>
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.
</content>
</entry>
</feed>
