| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rubrics_ef.ml's Creed check excluded feriae from 475(b)/(c)/(e) via an
explicit test for feria I classis (Ash Wednesday, Holy Week) and vigils
only. RG 24/25's feriae II and III classis (Advent 17-23 December, the
Advent/Lent/September Ember sets, the numbered Lenten/Passiontide
ferias) were excluded by no check at all, correct today only because of
an unstated Temporal_ef property (no ferial-origin office it builds
carries subject Lord/Bvm or an apostle-list slug). A comment read as if
this were established "by construction of the two exclusions
immediately above", which overclaimed: those two exclusions cover feria
I classis only.
Corrected the comments to name RG 24/25 explicitly, state what is and
is not checked, and cite where the real guarantee comes from. Added a
test that sweeps Temporal_ef.temporal across a century (1583-1682),
asserting the invariant directly against every ferial-origin day found,
with its own coverage counters confirming the span actually reaches
Advent 17-23, all three non-Whitsun Ember sets, and Lenten/Passiontide
ferias. The first run of the test found a real gap in its own
population filter (RG 17(a)'s 2 January Holy Name fallback, a genuine
feast sitting outside Temporal_ef.named for an architectural reason),
fixed by naming that date explicitly rather than narrowing the span.
Proved the test has teeth by mutation: forcing the ferial builder's
default subject to Lord reddened it (and 24 other tests, expected
collateral from an intentionally broad mutation) before being reverted.
No production logic changed -- only comments in rubrics_ef.ml. day,
readings and rubrics output confirmed byte-identical against the
pre-fix binary for four spot years across the domain. Also corrects a
stale test-case count in a prior task report (18 in the array, not the
19 recorded there); the array now genuinely holds 19.
|
|
|
Whether the Creed is said at Mass. New Rubrics_ef.creed, reached through
a new Rite.t.creed field and a new Liturgical_day.t.creed bool (false,
not an option, for a rite that has not implemented the rule); colitur
rubrics gains a fourth TAB-separated column.
475(a) reads the TEMPORAL cycle's own weekday, not the observed day: a
Sunday impeded by a Feast of the Lord (RG 16a) still says the Creed.
475(d)'s three octaves (Nativity, Easter, Pentecost) are pure date/
Easter-offset windows, checked first, since a saint's feast winning the
day inside one of them still says the Creed ("etiam in festis
occurrentibus") -- St Stephen, 26 December, is the live witness.
RG 23 classifies Ash Wednesday and every feria of Holy Week (including
the Sacred Triduum) as feriae, not festa, however high their rank, so
475(b)/(c)'s "in festis" never reaches them; this single check subsumes
476(a)'s own naming of the Chrism/Lord's-Supper Mass and the Easter
Vigil. RG 28-34 vigils are a third liturgical-day category, also
excluded from "in festis" regardless of rank -- reuses the already-
exported Precedence_ef.is_vigil rather than a new list.
475(e)'s Apostle/Evangelist natalicia list (creed_apostle_slugs) was
derived by grepping data/ef/sanctoral.sexp directly and checking each
candidate's own date against whether it is that saint's dies natalis --
not copied from any list supplied with the task. The Conversion of St
Paul and the 30 June Commemoration of St Paul are excluded (neither is
a natalicium); the Chair of St Peter and St Barnabas are included only
because the clause names them explicitly, which is exactly why it has
to: neither is a natalicium either.
475(c)'s BVM half reuses Precedence_ef.marian_slugs (newly exported)
rather than the subject field alone: checked against the shipped data,
almost every Marian sanctoral entry ships subject=Saint, not Bvm.
man/colitur.1's rubrics section is updated to match the new column;
test/cli.t repinned via dune promote for the same reason. Verified
day/readings output byte-identical to v0.10.1 across the whole
1583-9999 domain (both binaries' concatenated day+readings output,
6,148,492 lines each, zero diff). Domain-wide: 882,996 days say the
Creed, 2,191,250 do not; every one of the domain's 439,178 Sundays says
it, zero exceptions.
|