diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-15 00:16:35 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-15 00:16:35 +0200 |
| commit | 124d7e2261c721c4a49f7203efc276088c7cb217 (patch) | |
| tree | 9aa82ff189c924e9327236d77acd6891114108cb /test/test_validate.ml | |
| parent | f1d90a83ece4d8301061e8247e23ec2af8293ab4 (diff) | |
| download | colitur-124d7e2261c721c4a49f7203efc276088c7cb217.tar.gz colitur-124d7e2261c721c4a49f7203efc276088c7cb217.zip | |
kernel+ef: resolve readings, chain steps 1 and 2
Liturgical_day.citations has read "always empty until Plan 4" since Plan 3;
it is now filled. Rite.t gains a readings function, rite-supplied for the
same reason transfer_target is: what a day with no proper falls back to is a
rubric, not a universal. Calendar calls it and passes its own temporal
function as the callback the rite needs to reach another date.
Steps 1 and 2 only: the observed celebration's own proper, else the day's own
temporal slug. Nothing encodes "Lent has daily propers" -- the presence of an
entry is the discriminator.
Diffstat (limited to 'test/test_validate.ml')
| -rw-r--r-- | test/test_validate.ml | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/test/test_validate.ml b/test/test_validate.ml index 501dd2e..9fa3c5c 100644 --- a/test/test_validate.ml +++ b/test/test_validate.ml @@ -276,10 +276,14 @@ module Synthetic = struct defaults against the default empty [layer], since nothing ever contests the temporal office there) so the resolution fixtures further down can override them without duplicating every other field. *) + (* No fixture here exercises citations -- readings is a harmless constant + [], the same role the other placeholder defaults above play. *) + let readings ~observed:_ ~temporal:_ ~date:_ ~temporal_at:_ = [] + let rite ?(vocab = vocab) ?(anchors = fun _ -> []) ?(season_runs = [ A; B ]) ?(rules = rules) ?(transfer_target = fun _ origin _ -> origin) temporal : (season, rank) Rite.t = { Rite.id = "synthetic"; vocab; year_start; temporal; anchors; rules; season_runs; - transfer_target } + transfer_target; readings } (* Empty by default: every check built before Task 12 exercises the TEMPORAL-only pass, where an empty layer is exactly the fixture that |
