aboutsummaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-17 16:00:23 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-17 16:00:23 +0200
commitf03567a04b68ab19b5f16f0b6d56d9c08b14c818 (patch)
treeb6ea189657c866c1d3ba435398c4d19395f0a143 /CLAUDE.md
parentc06ebb7344b7f267c325b832632f7cd4e81939e7 (diff)
downloadcolitur-f03567a04b68ab19b5f16f0b6d56d9c08b14c818.tar.gz
colitur-f03567a04b68ab19b5f16f0b6d56d9c08b14c818.zip
test(oracle): a second oracle year, 2038, closing step 4's blind spot
Register section 6.7 recorded that step 4 of the reading chain -- the Common route -- had no external witness of any kind, and proved it by mutation: corrupting a Common citation left both the 16801-day differential and the 730-day oracle green. This closes that. 2038 is the only year in 2005-2050 in which two of the five Common-routed saints are the observed office (Perpetua and Felicitas on 6 March, Frances of Rome on 9 March). 365 days were captured live, one request per day, zero failures. A separate fixture, not more rows on the existing one. sources.md already records that the live endpoint has drifted from lectio's archived 2026-2027 snapshot; merging two versions of one source behind a single set of expectations would make any future disagreement unattributable -- calendar or drift, no way to tell. Nothing in the 2038 comparison is checked against the older fixture, and its provenance file says so, along with the fact that a live capture is not reproducible byte-for-byte on demand the way a snapshot-derived one is. 338 of 365 days match. 27 differ, every one of them in a named, already-adjudicated class, none unexplained: 13 the BVM Saturday votive Mass (M26 shape 1), 7 colour (M21), 2 Judith (M28), 2 Christ the King's week (M26 shape 2b), 1 Christmas multi-Mass (M27), 1 Perpetua's Common, 1 new. Each was decided in a different year, so 2038 re-confirms them independently -- the point of a second window is not new rulings but evidence the old ones are not artefacts of their own year. Two findings came out of it. Perpetua and Felicitas: missalemeum serves the Common of Virgins and calls them "Virgins and Martyrs" in its own oration, where the Missal directs "Missa Me exspectaverunt, de Communi non Virginum I loco" (scan1:27634-27635). Both Commons share the Introit Ps 118:95-96, which is exactly why the calendarium qualifies its direction, and both women were mothers. Verdict colitur; the mechanism is located on missalemeum's side, not merely asserted. Passion Tuesday: the Missal prints "Dan. 14, 27 et 28-42" (scan1:11106) and colitur reproduces that two-part form where missalemeum collapses it to 27-42. Same verses; the convention is deliberate, appearing also in the Seven Sorrows and the Common of Non-Virgins. Verdict colitur, cosmetic. Citations are notation-normalised before comparing, as layer 3 already does: Ecclus/Sir, Joann/John, Luc/Luke, Matth/Matt. Each pair was added because a real row needed it, and no target contains its own source as a substring, so the set is idempotent. Not compared, stated rather than left to be found: commemorations and observed-identity. That machinery is built around a date-literal 28-entry allow-list specific to 2026-2027, and re-deriving it for a second year is its own task. 2038 compares rank, colour, Epistle, Gospel. The extractor's day count was hardcoded to 730, which silently forbade any other window. It is now a parameter defaulting to 730, so the existing documented command keeps its guard and a partial fetch still fails loudly instead of producing a short fixture that passes a comparison it never ran. Teeth, by re-running section 6.7's own experiment: corrupting the Common of Non-Virgins II now reddens four tests, two of them external-oracle, where the same mutation previously reddened neither oracle layer. Residual: isidore-of-seville is still unwitnessed and needs 2035 or 2046; gregory-the-great and patrick are never the observed office in any year 2005-2050, so no fixture in that range can reach them. Register section 6.8 and 6.9.
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md21
1 files changed, 17 insertions, 4 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 9f8352c..f49f2d8 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -169,8 +169,21 @@ against missalemeum; layer 5 pins ~30 dates.
`band`'s own `Commemoration_only` guard (below) also turns it red, on the same
date this whole gap was originally found through — both reverted after
confirming.
-- **Step 4 of the reading chain (the Common route) has NO oracle witness at
- all** (register §6.7, `ef-lectionary` fix round 2). Only five saints route
+- **Step 4 of the reading chain (the Common route) — CLOSED** (register §6.9,
+ `ef-oracle-2038`, 2026-08-17). Layer 4 gained a SECOND fixture, 2038
+ (365 days, live-captured, its own provenance/SHA/suite, deliberately kept
+ apart from the 2026–2027 one because the live endpoint has drifted from
+ lectio's archived snapshot). 2038 is the only year in 2005–2050 covering
+ two Common-routed saints as the observed office. 338/365 match; 27 differ;
+ all 27 in already-adjudicated classes; zero unexplained — an independent
+ year re-confirming rulings made in a different one. Proved by re-running
+ §6.7's own mutation: corrupting a Common citation now reddens four tests,
+ two of them external-oracle, where it previously reddened none of them.
+ Residual: `isidore-of-seville` still unwitnessed (needs 2035/2046), and
+ `gregory-the-great`/`patrick` are never observed in 2005–2050 at all, so no
+ fixture in that range can reach them.
+ **The original gap, for the record** (register §6.7, `ef-lectionary` fix
+ round 2). Only five saints route
through `data/ef/commons.sexp`, and across all of 2005–2050 they are the
*observed* office on five days total — `isidore-of-seville` 2008/2035/2046,
`frances-rome` and `sts-felicitas-perpetua` both 2038, while
@@ -229,8 +242,8 @@ against missalemeum; layer 5 pins ~30 dates.
**Plans 1 + 2 are on `main` (35 commits). Plan 3 and its follow-on fix/feature
tasks (RG 16(a), Holy Family/RG 112(a), Holy Name/RG 110, the Sacred Triduum,
the BVM Saturday Office, the Major Litanies) have landed on a chain of feature
-branches since — test count keeps climbing task by task (369 tests green, 370
-with the exhaustive sweep, as of `ef-lectionary`; this line is not kept in
+branches since — test count keeps climbing task by task (374 tests green, 375
+with the exhaustive sweep, as of `ef-oracle-2038`; this line is not kept in
lockstep with every task, `git log`/`dune test` are the actual source of
truth).** The kernel, the **complete EF
temporal cycle**, the **resolution engine**, the **sanctoral data**, and **all five