Revisions
A revision describes a discrete editorial pass. Lives at the document root (revisions[]) or inside an element (element.revisions[]).
| Field | Type | Required | Description |
|---|---|---|---|
id | uuid | ✓ | Revision identifier. |
index | integer ≥0 | ✓ | Ordinal index within the parent revision chain. |
authors | uuid[] | ✓ | At least one author id. |
label | slug (3–30) | ✓ | Named label. Common values: draft, blue, pink, yellow, production-draft, final. |
created | datetime | ✓ | ISO 8601. |
parent | uuid | — | Revision this was forked from. |
meta | meta | — | Extension. |
Status block
The industry revision status — lives underdocument.layout.status:
color enum (industry-standard order):
Notes
Notes are annotations anchored to an element (or another note) via character index ranges.| Field | Type | Required | Description |
|---|---|---|---|
id | uuid | ✓ | Note identifier. |
created | datetime | ✓ | ISO 8601. |
text | text | ✓ | Language map. |
parent | uuid | — | Element (or note) the note is attached to. |
highlight | [[int, int], ...] | — | Array of [start, end] Unicode codepoint ranges within the rendered text of the parent element. |
contributor | uuid | — | Contributor who wrote the note. |
color | slug | — | Reference to a colors[].id. |
meta | meta | — | Extension. |
Why UUIDs for notes
Anchored viaparent: uuid and highlight ranges, notes survive rewrites of the surrounding element as long as the targeted stretch of text is still present. Renderers look up parent, find the element, and apply the highlight ranges to the rendered text.