Story: Normalise every ORE parameter representation — the remaining work
Table of Contents
This page documents a story in Sprint 30, carried unfinished from Sprint 29 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
Every ORE parameter whose reader accepts more than one rendering of a value is stored in one canonical representation, and the map from a rendering to that representation is data the database holds, not a table compiled into a binary. The value set states both what is accepted and what is canonical, so the screen offers one form and the store keeps one form, and a spelling ORE adds later is a row rather than a release.
2. Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent sprint | Sprint 30 |
| Now | Not yet started. Split from Normalise every ORE parameter representation, which closed in sprint 29 with its done tasks. |
| Waiting on | Nothing. |
| Next | Triage into a sprint. |
| Last touched | 2026-11-08 |
3. Acceptance
- Every parameter whose ORE reader accepts more than one rendering is named, with the reader that accepts it and the canonical form chosen for it.
- The map from an accepted rendering to the canonical form is data: the value set states it, and no compiled table holds ORE's spellings.
- A write converts an accepted rendering to the canonical form at one boundary for every parameter, and a rendering the map does not know is refused naming the set.
- The screens offer the canonical forms and not the accepted ones, and the guard accepts every accepted rendering.
- A check fails when a table holds more than one rendering of one fact.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Carry one canonical form for each fact | BACKLOG | ORE accepts several spellings for one value, and a compiled table in the codec converts them. This task moves the spellings into the value set, converts at the write boundary so the store holds one rendering, offers only canonical forms to a screen, and fails a check when a table holds two renderings of one fact. |
5. Decisions
- Split from Normalise every ORE parameter representation on 2026-11-08 at sprint 29 close. The acceptance above is copied from that story; its done tasks are recorded there.
6. Out of scope
Model,Engineand a sensitivity template code: the document defines the thing they name, so their set is open and nothing about them is canonicalised.- Free text parameters, whose set says so.
- Currencies, whose registry already holds the ISO code and nothing else.
- Rewriting ORE's semantics: the canonical form is a rendering, not a new value.