Building on the data
This page documents the schema and conventions the framework's data is designed around, for anyone building tooling against it. It is the contract for tooling: what the schema guarantees, what the identifiers guarantee, and what you must handle because it will change.
One object per statement, plus derived relationships
| Field | Tooling note |
|---|---|
| id | Primary key. Case-sensitive. Never reused, never re-pointed. |
| level | Always agrees with the level segment of the id. |
| type | One of four values: Knowledge, Skill, Judgement, Practice. Treat as a closed enum. |
| indicators | Ordered array, 2–4 items. |
| assumes / related | Arrays of ids; related may contain domain wildcards such as D2.L2.*. |
| status | active, deprecated or superseded. Never delete a record from your store on a status change. |
| stability | provisional statements may change wording within a minor release; stable ones may not. |
| introduced | Version string the statement first appeared in. |
{
"id": "D6.L3.04",
"domain": "D6",
"level": "L3",
"type": "Judgement",
"statement": "Justify the choice of automated,
model-graded or human evaluation
for a given task.",
"indicators": [ "…", "…", "…" ],
"assumes": [],
"related": [],
"status": "active",
"stability": "stable",
"introduced": "0.1"
}Derived fields (assumedBy, relatedFrom, referencedBy) are computed at build time on each statement page.
Resolving an identifier
Canonical form is upper-case unit and level: D6.L3.04.
The sequence segment is always two digits, zero-padded. Sequences are not guaranteed contiguous.
D1–D8 for domains, O1–O3 for overlays, X-AAA for extensions.
Release versions are strings like 0.1 and 1.29, not semver.
What you may rely on, and what you may not
Statements retire. Your tool should not.
A deprecated identifier resolves forever, so nothing 404s. The failure mode to design against is silence.
Keep the record and the mapping.
Show the DEPRECATED marker, the version of deprecation, and the successor.
If A was superseded by B and B by C, show the chain rather than silently jumping to C.