1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
Fixture: lectio-ef-2005-2050.txt
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:
3ad70f0 lectio-ef-dump: emit the Epistle and Gospel citations
Previous provenance (superseded by this refresh):
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).
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
what actually enforces it. Regenerate both together, deliberately, after
re-running the exact command below -- never by copying a mismatch's actual
value back in, which would defeat the pin's purpose.)
Exact command:
cd ~/git/projects/lectio && go run ./cmd/lectio-ef-dump 2005 2050
Output: one line per civil day, 2005-01-01 through 2050-12-31 inclusive
(16801 lines = 46*365 + 11 leap days), in lectio's OWN vocabulary --
season/slug/rank/colour spellings are lectio's, not translated to colitur's.
See cmd/lectio-ef-dump/main.go's own doc comment for the exact column
format and the caveats this repo's comparator (test/test_differential.ml)
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 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.
|