aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_of/dune
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 16:31:15 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 16:31:15 +0200
commitb9cb5060d2ba5aa7f7a9d6d97e3bced112e30fed (patch)
tree35c76256683b4feb8f0031eb3b505c0a8ee410e0 /lib/rites/rite_of/dune
parent6559a9b19451ce82a7d71281e25899acbcee2d49 (diff)
downloadcolitur-b9cb5060d2ba5aa7f7a9d6d97e3bced112e30fed.tar.gz
colitur-b9cb5060d2ba5aa7f7a9d6d97e3bced112e30fed.zip
test(of): validate Phase 1's Ordinary Time resumption against litcal
Adds a sixth-lineage external validation layer for the OF rite module's Phase 1 temporal cycle, targeting the single highest-risk function that report named: the two-block Ordinary Time week arithmetic (Normae n. 44), which has no external witness anywhere in Phase 1's own suite and whose output selects the Mass formulary, not merely a label. Witness: litcal (Liturgical Calendar API), Apache-2.0, already archived and SHA-256-pinned by the sibling lectio project. AELF was considered and correctly excluded earlier (its CGU forbids redistribution) -- litcal is what it was replaced with. - tools/extract_litcal_ordo.py verifies all twelve archived calendar-YYYY-en.json files (2024-2035; the task brief said eleven, but twelve are actually pinned in lectio's manifest -- all twelve are used) against lectio's own manifest.tsv, then builds one fixture spanning the contiguous 4382-day range those twelve liturgical-year files cover. - test/fixtures/litcal-temporal-2024-2035.sexp: one row per day, season and (where witnessed) Ordinary Time week, with full provenance, licence, per-year Easter dates and the row-selection rules in its own header. - test/test_litcal_of.ml calls Temporal_of.temporal directly (no Rite.t) and compares 1:1 against the fixture: zero Ordinary Time week mismatches on all 1876 witnessed days (zero tolerance, no allow-list); the only season divergence class is the Sacred Triduum, which litcal tags with a season value colitur's vocabulary deliberately has none of -- one cited allow-list entry, data/of/expected-divergences-litcal.sexp, 36 rows, exact. - Mutation-tested: dropping the backward-from-34 adjustment reddens this layer (1511 of 1876 days) plus three pre-existing Phase 1 tests; the mutation was not committed. Does not touch lib/rites/rite_ef/, data/ef/, or lib/rites/rite_of/ -- this validates Phase 1, it does not change it. Full suite: 786 tests via dune test, 791 via make check, exit 0 both; lib/bin diff empty throughout.
Diffstat (limited to 'lib/rites/rite_of/dune')
0 files changed, 0 insertions, 0 deletions