aboutsummaryrefslogtreecommitdiff
path: root/test/fixtures
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 03:37:37 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 03:37:37 +0200
commitefc1b303417388c75f27403952b506dc4d4e03d7 (patch)
treedc96daf81b126bb03c9b453a028df2de85baf626 /test/fixtures
parentfcfce4ba0ab4ea93837b647deaa5292300aaad5e (diff)
downloadcolitur-efc1b303417388c75f27403952b506dc4d4e03d7.tar.gz
colitur-efc1b303417388c75f27403952b506dc4d4e03d7.zip
test(differential): gate C1/C6 on slug family, pin the fixture's SHA-256
Fix round 1 on Task 15's review, four findings closed. C1 and C6 previously gated on calendar date alone -- unlike every other Layer C entry, which also checks the actual colitur slug that won. A future sanctoral change producing an unrelated celebration with the same diff shape (e.g. a promoted 29-31 December saint landing on C6's own [Slug_f; Rank]) would have been silently absorbed under a citation that has nothing to do with the real cause. Both entries now require, whenever Slug_f is in the diff set, that colitur's own slug be a member of an explicit closed list (jan_6_13_slug, nativity_octave_day_slugs) -- the same style advent_feria_slug already used for C4. Constructed the exact substitution via a temporary (unshipped) overlay Replace directive promoting thomas-becket to Class1 Feast White; confirmed the tightened predicate refuses to absorb it (46 unexplained rows, one per year); reverted. C10 gained the diff-field-subset restriction every other entry already had (it previously fired on the two pinned dates regardless of which fields differed). Fixed a stale doc comment ("SIX" columns; field has five constructors). The fixture's provenance note now records its SHA-256, and the suite asserts it as its own first test case (test_fixture_checksum), so a hand-edited or partially re-copied fixture fails loudly instead of silently becoming an unlabelled snapshot. Computed via the system sha256sum binary through Sys.command plus a redirected-output temp file -- no new library dependency, not even unix. Constructed a one-byte fixture edit and confirmed the checksum test fails independently of the row-comparison test; reverted. 237/237 tests green, clean-build verified.
Diffstat (limited to 'test/fixtures')
-rw-r--r--test/fixtures/lectio-ef-2005-2050.provenance8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/fixtures/lectio-ef-2005-2050.provenance b/test/fixtures/lectio-ef-2005-2050.provenance
index e738484..872517b 100644
--- a/test/fixtures/lectio-ef-2005-2050.provenance
+++ b/test/fixtures/lectio-ef-2005-2050.provenance
@@ -5,6 +5,14 @@ Produced by the sibling project ~/git/projects/lectio at commit:
2386a45 cmd(lectio-ef-dump): new EF calendar dumper for colitur's differential oracle
(branch polish-ui-and-calendar at the time; see that repo's own log)
+SHA-256: 2ca3eeeda4e7a0406c4d004c1b2003fc0df671aca9af18a1b506543a721c8bac
+(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