summaryrefslogtreecommitdiff
path: root/test/test_lectionary_of.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-26 13:30:09 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-26 13:30:09 +0200
commit9b8821f7b914c94f5b2c8eeda05407ee921b3d5a (patch)
tree0aca637921a3792b50e46a2830b869d6b7c4d3ac /test/test_lectionary_of.ml
parent9cc763c169a6ce4ebbdbed506c5eb2dad1f9f3c1 (diff)
downloadcolitur-9b8821f7b914c94f5b2c8eeda05407ee921b3d5a.tar.gz
colitur-9b8821f7b914c94f5b2c8eeda05407ee921b3d5a.zip
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).
Diffstat (limited to 'test/test_lectionary_of.ml')
-rw-r--r--test/test_lectionary_of.ml9
1 files changed, 8 insertions, 1 deletions
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