[Epic] Rubric-system abstraction #59

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

Introduce a first-class rubric-system selector so the engine can run any of 1954/1955/1962 from data without code branches. Done when day() takes a rubric system and resolves accordingly.

Epic — child issues are tracked as sub-issues.


AC amendment (roadmap v3): every new edition/rubric-family must name ≥2 pinned validation oracles as an acceptance criterion (mirrors the 1962 oracle discipline that has caught real bugs each epic).

Introduce a first-class rubric-system selector so the engine can run any of 1954/1955/1962 from data without code branches. Done when day() takes a rubric system and resolves accordingly. _Epic — child issues are tracked as sub-issues._ --- **AC amendment (roadmap v3):** every new edition/rubric-family must name **≥2 pinned validation oracles** as an acceptance criterion (mirrors the 1962 oracle discipline that has caught real bugs each epic).
manlycucumber commented 2026-07-04 00:05:32 +00:00 (Migrated from github.com)

The rubric-system (edition) seam is complete (PR #446, squash 1531e98): a RubricSystem value object on a new edition axis, per-edition data selection in the sanctoral loader + precedence table, and DayResolver::forEdition() stamping the edition into the contract. day()/contract()/explain() take an appended, backward-compatible $rubricSystem selector; the overlay axis is unchanged and orthogonal. 1962 resolves byte-identically (golden fixture unmoved; 719 tests green). 1954/1955 are declared and reserved for #63/#68. Design: docs/design/rubric-system-model.md.

The rubric-system (edition) seam is complete (PR #446, squash `1531e98`): a `RubricSystem` value object on a new edition axis, per-edition data selection in the sanctoral loader + precedence table, and `DayResolver::forEdition()` stamping the edition into the contract. `day()`/`contract()`/`explain()` take an appended, backward-compatible `$rubricSystem` selector; the overlay axis is unchanged and orthogonal. 1962 resolves byte-identically (golden fixture unmoved; 719 tests green). 1954/1955 are declared and reserved for #63/#68. Design: `docs/design/rubric-system-model.md`.
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#59
No description provided.