<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/scripts/build-oracle-ef.sh, branch v0.46.0</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.0</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.46.0'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-08-12T11:03:57Z</updated>
<entry>
<title>test(ef): strengthen the oracle test to assert rank and colour</title>
<updated>2026-08-12T11:03:57Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-12T11:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=ca3403893bfbebb325fe3ab6a98081640574bf2a'/>
<id>urn:sha1:ca3403893bfbebb325fe3ab6a98081640574bf2a</id>
<content type='text'>
internal/calendar/oracle_ef_test.go asserted Season only. lectio's own
EF oracle test comment said as much ("rank/colour are reported
informationally"), which is exactly why several precedence/colour
defects in precedence_ef.go and temporal_ef.go shipped without ever
failing a test: the suite was green while the observed office's own
rank and liturgical colour could be wrong.

Rebuild the oracle from the committed missalemeum snapshot
(sources/snapshot.tar.gz, missalemeum/en/YYYY-MM-DD.json, 2026-01-01
.. 2027-12-31, 730 days) instead of a live 2025-2026 fetch, via a
rewritten scripts/build-oracle-ef.sh -- offline, reproducible, and
correctly separating info.rank/info.colors from info.id (whose
embedded rank is the rank of the propers REUSED that day, not the
day's own rank -- e.g. 2026-01-02 is a class-4 feria carrying id
"sancti:01-01:1:w" because it reuses the Circumcision's propers).
info.colors is an array (14 of 730 days carry two values -- Gaudete/
Laetare "pv", Palm Sunday "rv", Good Friday "bv", Holy Saturday
"vw"), so the new Colour assertion is membership, not equality.

The strengthened assertions immediately expose several real defects
(rank mismatches on every Advent/Lent Sunday, the Ember days, the
late-Advent and Christmas-octave ferias, and more) -- that is the
point, this is the regression net subsequent commits fix against.
Since the repo's convention is go test ./... green at every commit,
TestOracleEF is gated behind LECTIO_EF_ORACLE_STRICT=1 for now rather
than landed red; a later commit removes the gate once the fixes are
in. Season alone stays green throughout (unchanged, always was).

A small, cited allow-list (efAllowList) is included from this commit:
genuine, defensible divergences unrelated to the fixes ahead of it --
RG 91 entry 27's un-built BVM Saturday Office, the pre-existing 6-13
January Christmastide/time-after-Epiphany season-boundary divergence,
missalemeum's own RG 33 gap on a Sunday 9 August, and one collision
(St Joseph vs the Friday of Passion Week, 2027) left explicitly
unresolved even by the sibling project's much deeper primary-source
pass. None of the four is one of the seven defects this branch fixes.
</content>
</entry>
<entry>
<title>feat(ef): full 1962 universal sanctoral (16 -&gt; 317 celebrations)</title>
<updated>2026-07-28T05:51:05Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T05:51:05Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=1f694889f767dedd84f60d8e0cbccf201c2d123f'/>
<id>urn:sha1:1f694889f767dedd84f60d8e0cbccf201c2d123f</id>
<content type='text'>
Generate internal/caldata/tridentine-calendar.ini from missalemeum's per-date
proper API (Divinum Officium 1962 data) via scripts/gen-sanctoral-ef.go: each
fixed date's observed saint with rank, colour, English name and proper
Epistle/Gospel citations, plus sancti commemorations. Multiple reference years
are tried per date so a saint occulted by a Sunday in one year is still captured
observed in another; saints never observed are ranked commemoration. Feasts of
the Lord are marked class=lord. Latin names hand-curated (missalemeum has none).

Adds TestTridentineLoads, credits missalemeum in NOTICE, bumps to 0.38.0.
</content>
</entry>
<entry>
<title>test(calendar): EF oracle vs missalemeum 2025-2026 (0 season mismatches)</title>
<updated>2026-07-27T12:12:31Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-27T12:12:31Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=e01cfff5ddddd9cefdb19536e31257cdae5821f6'/>
<id>urn:sha1:e01cfff5ddddd9cefdb19536e31257cdae5821f6</id>
<content type='text'>
temporalEF validated against Divinum Officium data. Season-mapping handles the
Whit octave (Paschaltide), the Christmas vigil (Advent), and the resumed
Epiphany Sundays (within Time after Pentecost).
</content>
</entry>
</feed>
