[Epic] Validation harness #45

Closed
opened 2026-07-01 00:51:59 +00:00 by manlycucumber · 1 comment
manlycucumber commented 2026-07-01 00:51:59 +00:00 (Migrated from github.com)

Stand up the 're-prove 100%' validation: Computus vs PHP easter_days(), a harvested missalemeum oracle fixture, the SSPX feed, and an optional Divinum Officium Perl oracle. Done when CI fails on any divergence from the oracles across the test date range.

Epic — child issues are tracked as sub-issues.

Stand up the 're-prove 100%' validation: Computus vs PHP easter_days(), a harvested missalemeum oracle fixture, the SSPX feed, and an optional Divinum Officium Perl oracle. Done when CI fails on any divergence from the oracles across the test date range. _Epic — child issues are tracked as sub-issues._
manlycucumber commented 2026-07-02 18:35:07 +00:00 (Migrated from github.com)

Epic complete — validation harness landed

All six children are done; the engine is now re-proven against independent oracles on every PR, and CI fails on any divergence from the committed baselines.

Children

  • #46 — Computus cross-checked against PHP easter_days(), 1583–2200 + anchor dates.
  • #47 — pinned missalemeum oracle fixture (MIT, facts-only, 2024–2026) + reproducible harvester.
  • #48 — engine day() asserted field-by-field (class/colour/commemorations) vs missalemeum against a categorised 421-row known-differences baseline.
  • #49SSPX 1962 ordo as a second, independent witness (2024–2026); 85 class differences frozen with a three-way categorisation (71 corroborate base-1962 ranks; 12 seed the v0.2 overlay; 2 for adjudication).
  • #50 — optional Divinum Officium Perl adapter (availability-gated, graceful skip, unit-tested parser; live comparison maintainer-run).
  • #51 — explicit, named validate CI job (deps cached); added to the main ruleset's required status checks.

Real bugs the harness caught (fixed under this epic)

  • #422 — a coincident saint was displacing the Sacred Triduum.
  • #424commemoration-grade saints were being celebrated instead of commemorated (~50 days/yr).
    Each was fixed as its own cited PR with the golden fixture re-frozen.

Follow-on

The baselines are living worklists, not rubber stamps (a regression and an improvement both fail until re-frozen). The 421-row missalemeum baseline + the corroborating SSPX rows are the base-1962 accuracy worklist tracked in #428; the SSPX-particular rows seed the v0.2 SSPX overlay.

Maintainer note

validate is now required on the main protection ruleset (done via API). No further action needed.

Closing as complete.

## Epic complete — validation harness landed ✅ All six children are done; the engine is now re-proven against independent oracles on every PR, and CI fails on any divergence from the committed baselines. ### Children - **#46** — Computus cross-checked against PHP `easter_days()`, 1583–2200 + anchor dates. - **#47** — pinned **missalemeum** oracle fixture (MIT, facts-only, 2024–2026) + reproducible harvester. - **#48** — engine `day()` asserted field-by-field (class/colour/commemorations) vs missalemeum against a categorised **421-row known-differences baseline**. - **#49** — **SSPX 1962 ordo** as a second, independent witness (2024–2026); 85 class differences frozen with a three-way categorisation (71 corroborate base-1962 ranks; 12 seed the v0.2 overlay; 2 for adjudication). - **#50** — optional **Divinum Officium** Perl adapter (availability-gated, graceful skip, unit-tested parser; live comparison maintainer-run). - **#51** — explicit, named **`validate`** CI job (deps cached); added to the `main` ruleset's required status checks. ### Real bugs the harness caught (fixed under this epic) - **#422** — a coincident saint was displacing the **Sacred Triduum**. - **#424** — **commemoration-grade** saints were being celebrated instead of commemorated (~50 days/yr). Each was fixed as its own cited PR with the golden fixture re-frozen. ### Follow-on The baselines are living worklists, not rubber stamps (a regression **and** an improvement both fail until re-frozen). The 421-row missalemeum baseline + the corroborating SSPX rows are the base-1962 accuracy worklist tracked in **#428**; the SSPX-particular rows seed the **v0.2 SSPX overlay**. ### Maintainer note `validate` is now required on the `main` protection ruleset (done via API). No further action needed. Closing as complete.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Core#45
No description provided.