diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 09:57:57 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 09:57:57 +0200 |
| commit | e30a4be5a2594fb3b6c4b51345d138cd89ba78ad (patch) | |
| tree | 71ebfb8e9568cd5003c10dabc8804fba4ca66e76 | |
| parent | 6d7c201e54006514c7cf80c706dc9bc9b60c5abb (diff) | |
| download | colitur-e30a4be5a2594fb3b6c4b51345d138cd89ba78ad.tar.gz colitur-e30a4be5a2594fb3b6c4b51345d138cd89ba78ad.zip | |
docs: two retracted claims that outlived their retraction
Both are the defect class this fix round existed to close, which is why
they are worth recording rather than quietly overwriting.
CLAUDE.md still carried F1's retracted design rationale -- describing
entry_14_movable_band as "negative so it can never collide with a real
table position" -- and F2's retracted transcription-defect attribution,
verbatim, in the one tracked file the project's own workflow tells a
fresh session to read first. The fix round struck both everywhere else
and missed this file. A session following it as instructed could have
re-derived the negative sentinel for entry 20's or entry 23's movable
half and re-introduced the inversion in a new branch.
precedence_ef.ml's replacement justification for the x10 rescale then
introduced a fresh misstatement of the same primary text it was
correcting: it attributed "primum mobilia, deinde fixa" to "entry 12's
own ninth sub-item" and counted three such rows. Both photographic
scans, and the register's own section 4 table, put that clause at entry
13; entry 12 has eight sub-items and no such clause. The split occurs at
five rows -- 13, 14, 20, 23's third sub-item, and 24. Entry 24 is the
most-evaluated band in the whole domain and is unsplit in the code,
which is precisely the sub-rank the new headroom exists to hold.
Corrected in the .mli and the register too. No behaviour change; 290
tests green.
| -rw-r--r-- | CLAUDE.md | 35 | ||||
| -rw-r--r-- | lib/rites/rite_ef/precedence_ef.ml | 19 | ||||
| -rw-r--r-- | lib/rites/rite_ef/precedence_ef.mli | 7 |
3 files changed, 44 insertions, 17 deletions
@@ -339,17 +339,32 @@ nowhere in git (`docs/` is gitignored). window can never be empty of a Sunday (unlike RG 17(a)'s Holy Name, which carries an explicit calendarium fallback for its own narrower window) — checked, not assumed; no fallback built. `Precedence_ef.band` - gained a movable-half priority for entry 14 (`entry_14_movable_band`, - negative so it can never collide with a real table position) — without - it, Holy Family would tie with the fixed Commemoration of the Baptism of - the Lord (13 January) at the literal integer 14 and lose the kernel's own - alphabetical tie-break, backwards from RG 91's own stated order. + gained a movable-half priority for entry 14 — without it, Holy Family + would tie with the fixed Commemoration of the Baptism of the Lord + (13 January) and lose the kernel's alphabetical tie-break, backwards + from RG 91's own stated order. **The whole table is now scaled ×10** + (entry *n* → 10*n*), so a half-row is expressed as an ordinary position + between its neighbours. *(CORRECTED: this paragraph previously described + `entry_14_movable_band` as "negative so it can never collide with a real + table position". That was the bug, not the design — a negative sentinel + avoids **collision** but also inverts **ordering**, making a movable + II-class feast of the Lord outrank every I-class day. Unreachable on + universal data; live the moment a diocesan overlay puts a I-class proper + or indult feast, RG 91 entries 12–13, in the 7–13 January window. Do not + re-derive the sentinel approach.)* `disposition` gained RG 112(a) (a mystery of one Divine Person excludes a - commemoration of another mystery of the SAME Divine Person) — directly - confirmed by a MORE SPECIFIC primary source found while building this, - the Holy Family Mass propers' own 13-January rubric (both photographic - scans, absent from the electronic transcription along with RG 112(a)'s - own worked example — the transcription-defect pattern found again, §6.-1). + commemoration of another mystery of the SAME Divine Person). The primary + authority is **RG 95 ¶2** — *"Si vero duo festa eiusdem Divinæ Personæ… + fit de festo, quod in tabella præcedentiæ superiorem obtinet locum, et + aliud omittitur"* — an occurrence-level rule present in all three + documents; RG 112(a) and the Holy Family Mass propers' own 13-January + rubric corroborate it. *(CORRECTED: this previously called the propers' + rubric a further instance of the transcription defect. It is not. The + transcription carries RG 112 in full; RG 112 has no worked example in + either scan; and the propers' note is absent because that document is a + partial 2006 web capture containing almost no propers text — one + `Introitus` in 26 322 lines against 52 in a scan. Diagnose the cause of a + silence before invoking the rule.)* **Blast radius, measured (`git archive` pre-change binary vs HEAD, full 1583–9999 sweep, diffed): 1 220 days, every single one the identical shape, cross-verified against `date -d` independently (exactly 1 220 diff --git a/lib/rites/rite_ef/precedence_ef.ml b/lib/rites/rite_ef/precedence_ef.ml index 635a69f..374e9a4 100644 --- a/lib/rites/rite_ef/precedence_ef.ml +++ b/lib/rites/rite_ef/precedence_ef.ml @@ -74,11 +74,20 @@ let unclassified = max_int TIMES TEN (entry 1 -> 10, entry 28 -> 280, {!unclassified} untouched at [max_int]) instead of the bare 1..28 -- not an arbitrary rescale, a deliberate one: RG 91's own text records a "primum mobilia, deinde - fixa" (movable-then-fixed) split at THREE rows, not only this one -- - entry 12's own ninth sub-item ("Festa indulta I classis, primum - mobilia, deinde fixa"), entry 14 (this one), and entry 20 ("indult - II-class feasts (movable then fixed)", register §4's own summary) -- - and only entry 14 has a live witness in this codebase's data today. The + fixa" (movable-then-fixed) split at FIVE rows, not only this one -- + entry 13 ("Festa indulta I classis, primum mobilia, deinde fixa", its + own numbered row on both scans), entry 14 (this one), entry 20, entry + 23's third sub-item ("deinde festa indulta, primum mobilia, deinde + fixa"), and entry 24 ("Festa III classis, in calendario Ecclesiae + universae inscripta, primum mobilia, deinde fixa") -- and only entry 14 + has a live witness in this codebase's data today. NOTE, corrected by the + fix-round re-review: this comment previously said THREE rows and + attributed the first to "entry 12's own ninth sub-item". Both scans, and + the register's own §4 table, put that clause at entry 13; entry 12 has + eight sub-items and no such clause. Entry 24's split is the notable + omission -- it is the most-evaluated band in the whole domain and is + unsplit here, which is exactly the kind of sub-rank this headroom exists + for. The ×10 scale reserves nine integers of genuine headroom immediately BEFORE each real entry's own value for exactly this kind of sub-rank, without requiring a second rescale if entry 12's or entry 20's own movable half diff --git a/lib/rites/rite_ef/precedence_ef.mli b/lib/rites/rite_ef/precedence_ef.mli index 7d0bc98..6a96c4e 100644 --- a/lib/rites/rite_ef/precedence_ef.mli +++ b/lib/rites/rite_ef/precedence_ef.mli @@ -80,8 +80,11 @@ val entry_14_fixed_band : int was built to beat. {!band}'s own entries now use the real RG 91 number TIMES TEN throughout, reserving genuine headroom before every entry -- see precedence_ef.ml's own comment for the full citation, the counter- - example that found this, and why entries 12 and 20 may need the same - treatment if their own "movable then fixed" halves ever get a witness. *) + example that found this, and why entries 13, 20, 23 and 24 may need the + same treatment if their own "movable then fixed" halves ever get a + witness. (Corrected: this previously said "entries 12 and 20". RG 91 + puts that clause at entry 13, not 12, and the split occurs at five rows + in all -- 13, 14, 20, 23's third sub-item and 24.) *) val entry_14_movable_band : int (** [band ctx c]: RG 91's Table of Precedence. Returns the table's own entry |
