From 9b8821f7b914c94f5b2c8eeda05407ee921b3d5a Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 26 Aug 2026 13:30:09 +0200 Subject: feat(of-lectionary): disclose the citation-conversion residual in the header Fix option (c) from the I2 review finding, done alongside the parser fix itself rather than deferred: tools/bootstrap_lectionary_of.ml now runs every emitted reference through Colitur_citation.Parse.parse at generation time and adds a fourth COVERAGE item plus a named listing to data/of/lectionary.sexp's own header, so the 41-reference residual (all chapter-crossing hyphen ranges, see the citation-fix commit) is disclosed in the artifact a reader actually opens, not only in a task report or test file. Regenerated against the pinned lectio snapshot (dune exec tools/bootstrap_lectionary_of.exe -- ../lectio/internal/caldata/ of-lectionary.ini data/of/lectionary.sexp); diffed against the pre-change file to confirm the change is header-only, zero lines removed, the sexp payload byte-identical. Re-pins the file's own SHA-256 in test_lectionary_of.ml accordingly (re-derived with sha256sum, not transcribed from generator stdout, matching that test's own stated discipline). --- test/test_lectionary_of.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/test_lectionary_of.ml b/test/test_lectionary_of.ml index 03838be..a9fcdb1 100644 --- a/test/test_lectionary_of.ml +++ b/test/test_lectionary_of.ml @@ -178,8 +178,15 @@ let sha256_of_file path = don't transcribe it from generator stdout" discipline test_calendar_of_data.ml's own [test_sha256] already follows. *) let test_sha256_pinned () = + (* Fix wave I2 (final-review.md, 2026-08-25-colitur-of-phases-3-5): the + hash changed because the header grew a new "Citation-siglum + conversion" census -- the payload (parse this test's siblings assert + against) is byte-identical; only the disclosure comment above it is + new. Re-derived with `sha256sum data/of/lectionary.sexp`, not + transcribed from generator stdout, the same discipline this test's own + header states. *) Alcotest.(check string) "data/of/lectionary.sexp SHA-256" - "2277e3dc302e853d78b72608884f59eb67671bfdcca4f5e4c99358ee12811f89" (sha256_of_file lectionary_path) + "aba7817ace8add740a5722f5fdb401a119869545eda9082e41e203df4ac27ee5" (sha256_of_file lectionary_path) (* lectio's OWN of-lectionary.ini SHA-256, pinned inside data/of/ lectionary.sexp's own provenance header (tools/bootstrap_lectionary_of -- cgit v1.3