diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 17:49:32 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 17:49:32 +0200 |
| commit | f0c0c7a04a3022934fbec68e142362030cb42b77 (patch) | |
| tree | 3e1ab4b841ff583373fd6dcce781d2e76d82b890 /test | |
| parent | 4df03d2f2e0e1da70ffc3d069c6e49a7edd21b31 (diff) | |
| download | colitur-f0c0c7a04a3022934fbec68e142362030cb42b77.tar.gz colitur-f0c0c7a04a3022934fbec68e142362030cb42b77.zip | |
test(differential): allow-list C12 for the 15-entry rank correction
Re-bootstrapping sanctoral.sexp (previous commit) makes 7 of the 15
newly-corrected III-class feasts win an occurrence they previously lost as
Commemoration_only: RG 91 entry 24 (a universal III-class feast) outranks
entry 28 (a IV-class feria), and the occurrence code that resolves this
already existed and needed no change. lectio's own committed differential
fixture (test/fixtures/lectio-ef-2005-2050.txt) is a frozen snapshot
predating lectio's own equivalent generator fix, so it still shows the
class-4 feria observed with the same saint only as a trailing
commemoration -- a new, expected divergence from that fixture, 14 rows in
the 2005-2050 window.
expected_rows (14) is independently re-derived by grepping the regenerated
sanctoral.sexp's own post-regeneration civil-day output against the
committed lectio fixture directly (two flat-file extractions cross-checked
against each other), not transcribed from the comparator's own failing-test
output.
C12 reuses an id last used, and removed, by the RG16(a) task's own reverted
Purification retag -- noted at both the old and new entries' own comments
so the id's history is visible to a future reader.
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_differential.ml | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index e12cd9a..cf5b95f 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -413,6 +413,23 @@ let jan_6_13_slug slug = let nativity_octave_day_slugs = [ "ef-nativity-octave-day-5"; "ef-nativity-octave-day-6"; "ef-nativity-octave-day-7" ] +(* C12 (ef-rebootstrap, 2026-08-12): the exact 15 slugs data/ef/sanctoral.sexp + re-bootstrapped from `rank = commemoration` to a real class-3 feast (the + source's own SHA-256 moved 6a25e634... -> 1b303ef2...) -- a literal list, + not a date-range or slug-prefix pattern, per the SAME discipline the + comment above this one already states for C1/C6 (fix round 1, finding 1): + a slug outside this exact set must fail through to [None], not be + silently absorbed by a citation about a different set of saints. Only 7 + of the 15 are ever actually reachable here (the other 8 never collide + with a plain class-4 feria anywhere in 2005-2050), but the guard is + written against the full set colitur's own data now carries, not the + narrower subset this one 46-year window happens to exercise. *) +let fixed_iii_class_reclassified_slugs = + [ "benedict"; "cyril-of-jerusalem"; "forty-holy-martyrs-of-sebaste"; "frances-rome"; + "francis-of-paola"; "gabriel-the-archangel"; "gregory-the-great"; "isidore-of-seville"; + "john-damascene"; "john-of-capistrano"; "john-of-god"; "patrick"; "sts-felicitas-perpetua"; + "thomas-aquinas"; "vincent-ferrer" ] + (* [layer_c_reason l c diffs] returns the [data/ef/expected-divergences.sexp] [id] this row-pair's remaining (post Layer A/B) diff set belongs to, or [None] if nothing here explains it (a genuine, uncovered failure). *) @@ -456,10 +473,11 @@ let layer_c_reason (l : row) (c : row) diffs = the user has ruled: follow the oracle (register ยง6.0 has the full account). The Purification is `Lord` again, colitur observes it outright on those six 2-February Sundays, matching lectio's own - `class = lord` exactly -- no divergence to allow-list. Left - unimplemented here deliberately, not merely absent by oversight: this - comment is the record that C12 existed and was removed, should a - future reader wonder why the numbering skips it. *) + `class = lord` exactly -- no divergence to allow-list. That C12 was + removed, not merely unused -- superseded by the DIFFERENT C12 below, + ef-rebootstrap (2026-08-12), reusing the freed id. *) + else if List.mem c.slug fixed_iii_class_reclassified_slugs && subset diffs [ Slug_f; Rank; Colour_f ] + then Some "C12" else None (* ---------------------------------------------------------------------- *) |
