Stamp the active rubric system into the output contract #74

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

Problem

Consumers must know which rubric system produced a result. The output contract should carry the active system alongside the data-version stamp.

Acceptance criteria

  • Output includes the active rubric-system identifier
  • The field is documented in the contract
  • Existing consumers default safely to 1962
  • A test asserts the field across all three systems

Notes

Keeps the contract backward-compatible.

## Problem Consumers must know which rubric system produced a result. The output contract should carry the active system alongside the data-version stamp. ## Acceptance criteria - [ ] Output includes the active rubric-system identifier - [ ] The field is documented in the contract - [ ] Existing consumers default safely to 1962 - [ ] A test asserts the field across all three systems ## Notes Keeps the contract backward-compatible.
manlycucumber commented 2026-07-06 21:02:26 +00:00 (Migrated from github.com)

Done in PR #457 (be94e04). The top-level edition field already carries the active rubric-system URN (via DayResolver::forEdition()), defaults to roman:rubricae-1960, and is backward-compatible — so no redundant field was added (which would have forced a golden re-freeze). It is documented as the active-system stamp in output-contract.md and locked by MultiSystemContractTest, which asserts the stamp across 1962/1954/1955, the safe 1962 default, and the public boundary's refusal of an unbuilt edition. Human labels + validity windows remain on the Api /meta, keyed by this URN.

Done in PR #457 (`be94e04`). The top-level `edition` field already carries the active rubric-system URN (via `DayResolver::forEdition()`), defaults to `roman:rubricae-1960`, and is backward-compatible — so no redundant field was added (which would have forced a golden re-freeze). It is documented as the active-system stamp in `output-contract.md` and locked by `MultiSystemContractTest`, which asserts the stamp across 1962/1954/1955, the safe 1962 default, and the public boundary's refusal of an unbuilt edition. Human labels + validity windows remain on the Api `/meta`, keyed by this URN.
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#74
No description provided.