aboutsummaryrefslogtreecommitdiff
path: root/tools/dune
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-24 16:29:23 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-24 16:29:23 +0200
commit8a5da8756cf6b57aa36c01b71ce893f7967d3a29 (patch)
tree10873a692400fa25ce54c67ac9fc34d46af86272 /tools/dune
parent4f87cbde4ee79ac96aa7ebfed105b3a5ec02be43 (diff)
parent73b15551804bb63ee0081005e2869d36afb54be2 (diff)
downloadcolitur-8a5da8756cf6b57aa36c01b71ce893f7967d3a29.tar.gz
colitur-8a5da8756cf6b57aa36c01b71ce893f7967d3a29.zip
merge: celebrant Mass rubrics, and four rubrical corrections
colitur now prints what a real ordo prints for the Mass: which formulary is said and how it was reached, the Gloria, the Creed, the preface, and the commemorations with their Low-Mass/sung distinction. colitur rubrics joins day and readings. Four defects were found and fixed on the way, each by an external witness rather than by inspection: the Creed said at Requiem Masses (RG 476(f)), the missing bissextile shift of St Matthias and St Gabriel (2 041 leap years), Rogation Monday and Tuesday coloured violet in Paschaltide (RG 119(b)), and the ferias after the Ascension resuming the wrong Sunday's Mass rather than the Ascension's. Validation gained a sixth layer and then some: the preface is checked against three independent publishers over seven witness-years (FIUV, three LMS editions, three extraordinaryform.org editions), none of which shares the Divinum Officium -> missalemeum -> lectio lineage the older layers all descend from.
Diffstat (limited to 'tools/dune')
-rw-r--r--tools/dune27
1 files changed, 27 insertions, 0 deletions
diff --git a/tools/dune b/tools/dune
index 0dd0937..9a4dea5 100644
--- a/tools/dune
+++ b/tools/dune
@@ -23,6 +23,20 @@
(name bootstrap_lectionary)
(libraries colitur_kernel rite_ef unix sexplib))
+; Task 6 (2026-08-21-colitur-celebrant-rubrics-phase1): turns pdftotext's
+; -layout dump of the Latin Mass Society Ordo into test/fixtures/
+; lms-ordo-2024-2025.sexp. Run via `dune exec tools/extract_lms_ordo.exe --
+; <pdftotext-layout.txt> <source.pdf> <dest.sexp>`. Same `unix`-for-
+; `sha256sum` usage as the two bootstrap executables above; `colitur_kernel`
+; only, no `rite_ef` -- this tool validates dates through `Date.make` but
+; reads no EF-specific vocabulary.
+(executable
+ (name extract_lms_ordo)
+ (modules extract_lms_ordo)
+ (libraries colitur_kernel unix sexplib)
+ (preprocess
+ (pps ppx_sexp_conv)))
+
; check_citations.py's own self-test (test_check_citations.py). Python, not
; OCaml, so it cannot be a `(test ...)` stanza -- an alias rule invoking it
; directly is dune's own documented shape for a non-OCaml check. Wired into
@@ -41,3 +55,16 @@
(deps check_citations.py test_check_citations.py)
(action
(run python3 test_check_citations.py)))
+
+; Witnesses task (2026-08-22-colitur-celebrant-rubrics-phase1): turns
+; pdftotext's -layout dump of the FIUV universal Ordo into
+; test/fixtures/fiuv-ordo-2025-2026.sexp. Run via `dune exec
+; tools/extract_fiuv_ordo.exe -- <pdftotext-layout.txt> <source.pdf>
+; <dest.sexp>`. Same `unix`-for-`sha256sum` usage as extract_lms_ordo.ml;
+; `colitur_kernel` only, no `rite_ef` -- same reasoning, dates only.
+(executable
+ (name extract_fiuv_ordo)
+ (modules extract_fiuv_ordo)
+ (libraries colitur_kernel unix sexplib)
+ (preprocess
+ (pps ppx_sexp_conv)))