aboutsummaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md26
1 files changed, 24 insertions, 2 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index f652a33..b809f00 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -113,6 +113,16 @@ against missalemeum; layer 5 pins ~30 dates.
the week column. It also **shares colitur's own lineage**: colitur's data was
bootstrapped from lectio, so an error both inherited is invisible here. Proven:
Holy Thursday was violet in both because both were wrong.
+- **Nothing anywhere compares commemoration ORDER** (found `ef-holyname-rg110`
+ task, fix round 1, RG 110's own shape-(c) ordering bug): layer 3 doesn't compare
+ commemorations at all (above); layer 4's own `identity_diff` sorts both sides
+ into a multiset before comparing; layer 5's own `describe` (test_golden.ml)
+ sorts its `comms` field too, deliberately, so a golden pin's string comparison
+ is not accidentally order-sensitive where nothing textual requires it to be.
+ The ONLY place in the whole suite that asserts commemoration order is
+ `test_precedence_ef.ml`'s own `admit_cases` table (`Alcotest.(check (list
+ string))`, unsorted) — proven by mutation: reverting RG 110(c)'s own
+ trigger/companion order left every layer green except that one table.
- **Layer 4's OBSERVED-identity gap is CLOSED** (2026-08-13, branch
`ef-rg112-rg110`, register §6.2): it used to compare the observed day's rank
and colour and stop there — never whether it is actually the RIGHT day. Holy
@@ -424,8 +434,20 @@ nowhere in git (`docs/` is gitignored).
commemorations); the oracle allow-list needed M12 removed, M15 widened
by one date (a newly-exposed instance of its own pre-existing limit),
and a new M19 for the 30-June gap.
-
-**Structural items, cheapest to fix before OF exists:**
+ **CORRECTED, fix round 1: RG 110(c)'s own ordering was inverted on all
+ 593 shape-(c) days.** *"Huic orationi additur altera"* (the companion is
+ added TO the trigger's own oration) means the trigger comes first, the
+ companion follows — the original build prepended the companion
+ uniformly in both shapes, right for (a)/(b) (nothing in the list to
+ order against) but backwards for (c). Fixed in `rg110_additions`
+ (splice the companion in immediately after its own trigger for shape
+ (c) only); the wrong-order unit test is re-pinned. New, permanent
+ blind spot found and recorded: **nothing in this suite compares
+ commemoration order except that one unit table** — see "know what each
+ layer cannot see" above. M19's own predicate was also strengthened to
+ check commemoration IDENTITY, not merely presence (the same C6/C14
+ failure mode, proven by fabricating a second companion and watching the
+ whole suite stay green pre-fix).
5. **`Record` and `Liturgical_day` both claim to be "the single stable output
schema".** `Record` cannot express what the engine now computes (no observed