diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 14:37:34 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 14:37:34 +0200 |
| commit | 906a84e626ed49c6bd995c6fad7d53355baf582a (patch) | |
| tree | f2b6fd1b184ac8530dc7d1b9e8757d5a85e9ef84 /test/test_differential.ml | |
| parent | 84b1ccba5ea352653eaa52dbf0b14102da37eb2c (diff) | |
| download | colitur-906a84e626ed49c6bd995c6fad7d53355baf582a.tar.gz colitur-906a84e626ed49c6bd995c6fad7d53355baf582a.zip | |
test(differential): refresh the lectio fixture -- the lineage inverted
Every previous refresh of this fixture carried lectio's answers TO colitur,
because colitur's data was bootstrapped from lectio. This one carries
colitur's answers BACK. lectio has merged eight field corrections colitur
argued from the 1962 Missal: ubaldus and didacus promoted from commemoration
to III-class feast on the Missal's own calendarium, both August vigils
recoloured violet under RG 128, and both Ember Saturdays' readings, which
lectio had carrying St Thomas's and St Matthew's Masses respectively.
227 of the 16801 rows changed. Three cited classes went to zero and are
CLOSED and REMOVED, citations preserved in the register, the same discipline
C2-C5, C7, C9-C13, C21, C22 and C25 already record:
C27 40 -> 0 the Advent Ember Saturday's readings
C28 40 -> 0 the September Ember Saturday's readings
C37 77 -> 0 the two vigil colours
C37 is worth noting by name: its own note called the shared lineage "the
sharpest demonstration in the project", colitur and lectio and missalemeum all
carrying the same two wrong colours. Two of the three now carry the right one.
C38 NARROWED rather than closed, and the distinction matters. Its identity
half is gone -- lectio ranks both saints class-3 now -- but the same 70 rows
still differ on readings, because both saints take their Mass from a Common
and lectio has no Commons concept to resolve one. It is gated on
diffs = [First_f; Gospel_f] exactly, which is C18's shape. It cannot close
without lectio gaining a capability, which is a feature rather than a fix.
Net: 24 cited classes to 21, 2252 divergent rows to 2095, agreement 86.6% to
87.5%. The number that matters is not the percentage though -- it is that
those 227 days now agree BECAUSE BOTH ENGINES FOLLOW THE MISSAL, where before
they agreed because both inherited the same errors from Divinum Officium.
That is the failure mode CLAUDE.md's lineage note describes, resolved rather
than documented, for the first time in this project.
Diffstat (limited to 'test/test_differential.ml')
| -rw-r--r-- | test/test_differential.ml | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index 25a690d..8edde31 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -164,7 +164,7 @@ let allow_list_path = "../data/ef/expected-divergences.sexp" deliberately, after re-running the exact command the provenance note names -- never by copying the actual value back in to make a mismatch pass, which would defeat the point of pinning it at all. *) -let fixture_sha256 = "a3092e3f465c2a369ae060c2c310cd3087918b821ea839bf06276ab9d82a10ce" +let fixture_sha256 = "ab25fadc068f2833e6ce355474ca595ce54487e91fd9571d5ddf6bc7396b7eee" (* Same technique tools/bootstrap_sanctoral.ml already uses for this exact purpose (that file's own comment: shelling out to the system's @@ -1306,16 +1306,9 @@ let layer_c_reason (l : row) (c : row) diffs = filed there. See data/ef/expected-divergences.sexp's own closure note. *) else if String.equal c.slug good_friday_slug && diffs = [ First_f; Gospel_f; Colour_f ] then Some "C36" - else if List.mem c.slug violet_vigil_slugs && diffs = [ Colour_f ] then Some "C37" - else if - List.mem c.slug promoted_feast_slugs - && (diffs = [ Slug_f; Rank; First_f; Gospel_f ] - || diffs = [ Slug_f; Rank; First_f; Gospel_f; Colour_f ]) - then Some "C38" + else if List.mem c.slug promoted_feast_slugs && diffs = [ First_f; Gospel_f ] then Some "C38" else if List.mem c.slug holy_week_slugs && diffs = [ First_f; Gospel_f ] then Some "C23" else if String.equal c.slug passion_tuesday_slug && diffs = [ First_f; Gospel_f ] then Some "C26" - else if String.equal c.slug advent_ember_sat_slug && diffs = [ First_f; Gospel_f ] then Some "C27" - else if String.equal c.slug september_ember_sat_slug && diffs = [ First_f; Gospel_f ] then Some "C28" else None (* ---------------------------------------------------------------------- *) |
