aboutsummaryrefslogtreecommitdiff
path: root/test/fixtures/lectio-ef-2005-2050.provenance
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-13 01:42:00 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-13 01:42:00 +0200
commit254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4 (patch)
treea14a1e43e95d5bb3b03cd9832776461ea9440605 /test/fixtures/lectio-ef-2005-2050.provenance
parenta2654a1e4d8987a251bcefbad2b0f0b867a6c6e6 (diff)
parent0f6454c123f1514c1cf255faed8d9b8c752c6347 (diff)
downloadcolitur-254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4.tar.gz
colitur-254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4.zip
Merge branch 'ef-rebootstrap': re-bootstrap the sanctoral, refresh the differential
Re-bootstraps data/ef/sanctoral.sexp from lectio's corrected generator (322 -> 327 entries), propagating fixes colitur had inherited wholesale: 15 entries wrongly marked commemoration-only that are really III-class feasts, four entries missing entirely, six commemorations an electronic transcription had hidden, and two class corrections. 38639 days change across 1583-9999, in three shapes with no remainder: 2245 where a III-class feast now correctly beats a class-4 feria, 35174 where one of five restored commemorations appears, and 1220 on 13 January. All five restored entries were verified against a photographic scan -- real, correctly ranked, and confined to their own dates. 13 January is NOT fixed by this. It moves from one wrong answer to a different one, because RG 112 and a Holy Family office are both unbuilt. Recorded as its own allow-list entry with a citation and a count, rather than left inside a season-boundary entry's cardinality pin, and deliberately not pinned by a golden test. Then refreshes the lectio differential fixture, which predated the seven EF defects fixed in that project. Nine allow-list entries close -- each was a real divergence adjudicated in colitur's favour, and each closes because lectio was fixed, with its RG citation preserved. The list goes from twelve entries to four; the remaining 540 differences are fully attributed with none unexplained.
Diffstat (limited to 'test/fixtures/lectio-ef-2005-2050.provenance')
-rw-r--r--test/fixtures/lectio-ef-2005-2050.provenance46
1 files changed, 43 insertions, 3 deletions
diff --git a/test/fixtures/lectio-ef-2005-2050.provenance b/test/fixtures/lectio-ef-2005-2050.provenance
index 872517b..e05adb5 100644
--- a/test/fixtures/lectio-ef-2005-2050.provenance
+++ b/test/fixtures/lectio-ef-2005-2050.provenance
@@ -1,11 +1,24 @@
Fixture: lectio-ef-2005-2050.txt
-Task: 2026-08-11-colitur-plan3-resolution-engine, Task 15 (differential harness)
+Task: 2026-08-12-colitur-rg16a, fixture refresh (differential-oracle regeneration
+after lectio's "seven EF calendar defects" fix wave; branch ef-rebootstrap).
Produced by the sibling project ~/git/projects/lectio at commit:
- 2386a45 cmd(lectio-ef-dump): new EF calendar dumper for colitur's differential oracle
+ 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)
-SHA-256: 2ca3eeeda4e7a0406c4d004c1b2003fc0df671aca9af18a1b506543a721c8bac
+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.
+
+SHA-256: fc4832f1bc1bdfd322e808ae4929487628981792c23f959c1764c8eaedbfaf7f
(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
@@ -25,5 +38,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.
+
Regenerate with the same command if lectio's EF calendar logic changes and
the fixture needs updating; do not hand-edit this file.