diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-17 10:05:55 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-17 10:05:55 +0200 |
| commit | dde760c31c6e8cffa84446b0804ab6d6372ccb30 (patch) | |
| tree | c311431f4e465af69073d76dd4124c32d1f860c3 /internal/export | |
| parent | 3ad70f087f30075e6414d85195a5ca037e14f627 (diff) | |
| download | lectio-dde760c31c6e8cffa84446b0804ab6d6372ccb30.tar.gz lectio-dde760c31c6e8cffa84446b0804ab6d6372ccb30.zip | |
caldata: the Lenten Ember days were serving Lent I Sunday's Mass
Three lectionary sections were keyed ef-lent-1-{wednesday,friday,saturday}
while temporal_ef.go's efEmberSlug computes ef-lent-ember-{wed,fri,sat}. The
lookup in caldata.Readings takes the observed slug and has no alias table, so
it missed the entries entirely and fell through to the preceding-Sunday
fallback. Every Lenten Ember day since the data was added has served Lent I
Sunday's Mass -- three days a year, in a season that prints a proper Mass daily.
The values were already right; only the keys were wrong, and they were stale
rather than mistaken: they predate Lent being added to efEmberSlug, and
scripts/genlect.go keys off day.Observed.Slug, so re-running it would already
write the correct names. Advent and September were never affected -- both
already use the -ember- form.
Renamed, and verified the whole file: every one of the 119 section names is now
a slug the calendar actually computes, checked by sweeping 2005-2050. Those
three were the only dead keys.
Added TestEFLectionaryKeysAreReachableSlugs to make the class detectable rather
than just this instance. Mutation-tested: reverting the three keys fails it,
naming all three.
Found by differencing against colitur, the sibling OCaml engine, while giving
it a lectionary of its own. Worth recording how nearly it escaped: colitur
inherited the same wrong keys from this file during its bootstrap, so both
engines produced the same wrong Mass and the differential between them was
silent. It only surfaced when colitur's data was checked against the Missal
itself. Two implementations agreeing is not evidence when one was seeded from
the other.
Diffstat (limited to 'internal/export')
0 files changed, 0 insertions, 0 deletions
