diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-15 02:58:00 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-15 02:58:00 +0200 |
| commit | 459d2c74711e6a152fb338f88d2327f12180b61f (patch) | |
| tree | 0151a76e7157b727457e39ba4622feff8faea3da /test/fixtures/lectio-ef-2005-2050.provenance | |
| parent | 6b41415f17f3264454f6dcc13898948fd1902d0b (diff) | |
| download | colitur-459d2c74711e6a152fb338f88d2327f12180b61f.tar.gz colitur-459d2c74711e6a152fb338f88d2327f12180b61f.zip | |
test(differential): compare reading citations, 16 801 days
Layer 3 is NOT blind to the ferial resumption rule, unusually for this
project: lectio implements the same rubric independently, so the differential
checks colitur's rule against a second implementation rather than against
silence.
It IS blind to the Commons -- lectio has no such concept -- so chain step 4
rests on layer 4 alone.
Divergence triage, 1 532 of 16 801 days differ (15 269 match exactly),
0 unexplained:
- A genuine colitur bug found and fixed: data/ef/lectionary.sexp carried
lectio's own ini section names verbatim, never translated into the slugs
Temporal_ef actually computes for the identical office. Data the bootstrap
already held (Passiontide both weeks, the Pentecost Ember days, Holy Name
Sunday) was unreachable by chain step 2, silently falling through to a
wrong step-3 answer -- invisible until citation content became comparable.
tools/bootstrap_lectionary.ml gained colitur_keys (rename/widen), a
hand-authored ef-nativity-vigil entry cross-sourced from lectio's own
sanctoral calendar and corroborated by colitur's own (overlay-suppressed)
sanctoral bootstrap of the same source, and a derived ef-holy-name entry
(RG 17(a)'s single Mass heading covers both the Sunday and 2-January
shapes). One guess (giving the fixed Nativity-Octave days Holy Name
Sunday's own citation uniformly) was tried and reverted once measured
against the fixture -- Missal-verified to be right only for the genuine
"Sunday within the Octave" case, wrong whenever the true preceding Sunday
is Christmas Day or Advent IV instead.
- 10 existing/widened Layer C entries (C1/C6/C8/C14/C15/C16/C17/C18 --
C6 and C17 narrowed with the removed population accounted for, not
silently re-absorbed) plus two new ones: C19 (the already-adjudicated
Time-after-Epiphany week-numbering offset, now visible in citation
content), C20 (lectio computes no reading at all for the seven
readingless saints Task 6 gave a Common or proper -- colitur is more
complete, not wrong).
- One entry, C21, is a genuine colitur LOGIC limitation found but not
fixed: Lectionary_ef.readings' step 3 is a single hop to the preceding
Sunday, insufficient for a run of colitur-only fixed Christmastide slugs
whose own preceding Sunday is itself another entry-less fixed slug.
Recorded verdict open (data/ef/expected-divergences-missalemeum.sexp's
own established precedent for this shape), not left silently failing --
fully diagnosed in task-8-report.md, recommended as a dedicated
follow-up task rather than a hasty fix to a shared, multi-round-reviewed
kernel-adjacent function.
Diffstat (limited to 'test/fixtures/lectio-ef-2005-2050.provenance')
| -rw-r--r-- | test/fixtures/lectio-ef-2005-2050.provenance | 95 |
1 files changed, 54 insertions, 41 deletions
diff --git a/test/fixtures/lectio-ef-2005-2050.provenance b/test/fixtures/lectio-ef-2005-2050.provenance index e05adb5..a86b7be 100644 --- a/test/fixtures/lectio-ef-2005-2050.provenance +++ b/test/fixtures/lectio-ef-2005-2050.provenance @@ -1,24 +1,37 @@ Fixture: lectio-ef-2005-2050.txt -Task: 2026-08-12-colitur-rg16a, fixture refresh (differential-oracle regeneration -after lectio's "seven EF calendar defects" fix wave; branch ef-rebootstrap). +Task: 2026-08-14-colitur-ef-lectionary, Task 8 (fixture refresh -- lectio's +lectio-ef-dump gained two new columns, Epistle/Lesson and Gospel citations; +branch ef-lectionary). Produced by the sibling project ~/git/projects/lectio at commit: - 3b32c00 Merge branch 'fix/ef-precedence-defects': seven EF calendar defects - (branch polish-ui-and-calendar at the time; see that repo's own log) + 3ad70f0 lectio-ef-dump: emit the Epistle and Gospel citations Previous provenance (superseded by this refresh): - 2386a45 cmd(lectio-ef-dump): new EF calendar dumper for colitur's differential oracle - SHA-256 was 2ca3eeeda4e7a0406c4d004c1b2003fc0df671aca9af18a1b506543a721c8bac. - Between 2386a45 and 3b32c00, lectio fixed seven EF calendar defects (Sunday - I-class ranks incl. Rose Sundays, Holy Thursday's colour, Ember-day rank, - the September-Ember-vs-St-Matthew/Thomas occurrence, the Joseph-on-a-Lent- - Sunday transfer, the 2011 Precious-Blood transfer, and the Nativity-octave - III-class-feast bootstrap gap) and root-caused its sanctoral generator. - 806 of the 16801 rows changed field-for-field (fields 1-7) between the two - fixtures -- see .superpowers/sdd/2026-08-12-colitur-rg16a/fixture-refresh-report.md - for the full before/after account. + 3b32c00 Merge branch 'fix/ef-precedence-defects': seven EF calendar defects + SHA-256 was fc4832f1bc1bdfd322e808ae4929487628981792c23f959c1764c8eaedbfaf7f. + Between 3b32c00 and 3ad70f0, lectio's own calendar/precedence logic did NOT + change at all (verified: fields 1-7, date through colour, are byte-for-byte + identical row for row against the prior fixture) -- only the dumper itself + changed, appending two new columns ("first", "gospel": the day's resolved + Epistle/Lesson and Gospel citations, via the same caldata.Readings the CLI + and calfeed use, not a raw per-slug lookup -- see cmd/lectio-ef-dump/main.go's + own doc comment). Column count: 9 -> 11 fixed fields (name_en/name_pl/first/ + gospel now sit between colour and any trailing "+other-slug" tokens). -SHA-256: fc4832f1bc1bdfd322e808ae4929487628981792c23f959c1764c8eaedbfaf7f + Previous refresh (2026-08-12, task 2026-08-12-colitur-rg16a, branch + ef-rebootstrap), for reference: + 2386a45 cmd(lectio-ef-dump): new EF calendar dumper for colitur's differential oracle + SHA-256 was 2ca3eeeda4e7a0406c4d004c1b2003fc0df671aca9af18a1b506543a721c8bac. + Between 2386a45 and 3b32c00, lectio fixed seven EF calendar defects (Sunday + I-class ranks incl. Rose Sundays, Holy Thursday's colour, Ember-day rank, + the September-Ember-vs-St-Matthew/Thomas occurrence, the Joseph-on-a-Lent- + Sunday transfer, the 2011 Precious-Blood transfer, and the Nativity-octave + III-class-feast bootstrap gap) and root-caused its sanctoral generator. + 806 of the 16801 rows changed field-for-field (fields 1-7) between the two + fixtures -- see .superpowers/sdd/2026-08-12-colitur-rg16a/fixture-refresh-report.md + for the full before/after account. + +SHA-256: 8c0b9d9fc284138e69dbbbd87e9153a17f1abb69a39928464d83d248a819f376 (same digest as [fixture_sha256] in test/test_differential.ml, ASSERTED by that suite's own "fixture SHA-256 matches its provenance note" test -- this line documents the pin for a reader who never runs the suite; that test is @@ -38,32 +51,32 @@ relies on: the trailing "+other-slug" tokens are LOSING candidates (lectio has no RG 111 admission logic), and lectio's own EF oracle test asserts season only, for 2025-2026 only (rank/colour are logged, not asserted). -Column count changed since the previous fixture: the dumper at 2386a45 -printed 7 space-separated fields (date weekday season week slug rank -colour) plus any trailing "+other-slug" tokens; at 3b32c00 it prints 9 -(the same 7, PLUS name_en and name_pl -- the observed celebration's own -display name in each language, "_"-for-space, "-" for empty) before the -"+other-slug" tail. DECISION (this refresh): keep the fixture as the -dumper's raw, unedited stdout, name columns included -- do not strip them -back to 7 fields. Reasons: (1) this file's own contract is "the exact -command's output, verbatim" -- stripping columns would mean the committed -bytes no longer equal what the command above produces, forcing an -undocumented post-processing step into what is supposed to be a one-line -regeneration; (2) test/test_differential.ml's row_of_line already matches -`date :: weekday :: season :: week :: slug :: rank :: colour :: _others`, -so any extra trailing fields land in the ignored `_others` tail with no -code change needed -- positions 1-7 (everything the comparator actually -reads) are unaffected by the two new columns appended after them; (3) the -names make the fixture usefully human-readable for manual triage (matching -a slug like `ef-lent-sunday-1` against its own "First_Sunday_of_Lent" is -faster than cross-referencing sanctoral data by hand). Cost: name_en/pl -now sit in the same unparsed trailing region as the real "+other-slug" -losing-candidate tokens, since neither is "+"-prefixed -- harmless today -because nothing reads `_others` at all, but worth knowing if a future task -ever wants to parse that tail: field 8 and 9 are names, not candidates, -and only tokens from field 10 onward (or 9 onward on a line with no name_pl -edge case -- there is none; both name fields are always present, "-" when -empty) are "+"-prefixed losing candidates. +Column count history: the dumper at 2386a45 printed 7 space-separated +fields (date weekday season week slug rank colour) plus any trailing +"+other-slug" tokens; at 3b32c00 it grew to 9 (the same 7, PLUS name_en +and name_pl -- the observed celebration's own display name in each +language, "_"-for-space, "-" for empty); at 3ad70f0 (this refresh) it +grew to 11, appending "first" and "gospel" -- the day's RESOLVED Epistle/ +Lesson and Gospel citations (caldata.Readings, the same fallback-applying +function the CLI and calfeed use, not a raw per-slug lectionary lookup), +same "_"-for-space/"-"-for-absent encoding as the name columns. DECISION +(unchanged since the first refresh): keep the fixture as the dumper's raw, +unedited stdout -- do not strip or reorder columns. This file's own +contract is "the exact command's output, verbatim"; editing it would mean +the committed bytes no longer equal what the command above produces, +forcing an undocumented post-processing step into what is supposed to be +a one-line regeneration. + +Task 8 (this refresh) widened test/test_differential.ml's own row_of_line +to read fields 8-11 too, not only 1-7: name_en/name_pl (8-9) are parsed +and immediately discarded (still no code reads them -- the names remain +useful for manual triage only, matching a slug like `ef-lent-sunday-1` +against its own "First_Sunday_of_Lent" is faster than cross-referencing +sanctoral data by hand); first/gospel (10-11) are decoded ("_" back to +space) and carried into the comparator's own `row.first`/`row.gospel` +fields, compared against colitur's own resolved citations. Only tokens +from field 12 onward are the real "+"-prefixed losing-candidate tail +`_others` still captures and still never reads. Regenerate with the same command if lectio's EF calendar logic changes and the fixture needs updating; do not hand-edit this file. |
