Appearance
SOM 1.0 schema reference
Every field of every SOM 1.0 message family: its type, its allowed values, what it means and what the bus checks. It is pinned to the schemas this bus validates against, so what you read here is what the bus enforces.
| SOM version | 1.0 (on the wire: som_version: "1.0.0"), released 12 September 2026 |
| Upstream | storyobjectmodel/som at commit 7297fef |
| Fields | 270 across 7 schemas; 113 have a meaning from SOM |
| Glossary | SOM glossary, version 260703, 159 terms |
The schemas
| Schema | Message types | Fields | Defined by SOM |
|---|---|---|---|
| Envelope | every message | 25 | 17 |
| story-context | story.context | 180 | 66 |
| telling-event | telling.started, telling.ended, telling.exposed | 14 | 10 |
| link-event | link.committed, link.gate_changed, link.withdrawn | 12 | 2 |
| delivery-media-available | delivery.media_available | 11 | 7 |
| skill-warning | skill.warning.raised | 17 | 8 |
| system-audit | system.audit | 11 | 3 |
Where the meanings come from
Each field shows what is known about it, and where that comes from, in this order. Where two sources disagree, the schema wins; the SOM glossary says so itself.
- The 1.0 schema. Types, required fields, allowed values and patterns, and the schema's own description of the field where it has one. This is normative.
- The SOM specification. The conformance, compatibility policy, migration note and open register published with 1.0.
- The SOM glossary. What the working group agreed a term means. It is dated before the 1.0 schema, so some entries differ from it; those are marked.
- This bus. What SOM Managed Bus checks, and the rule it reports when a message breaks it.
Every statement links to its source. A field that none of them defines is marked not yet defined by SOM, rather than given a meaning we guessed. The facts about it, from the schema, are still exact.
The rules every message follows
- Every message is an envelope with a payload inside it, and
message_typealone chooses the payload's schema. (SOM 1.0 conformance §2) - A system is conformant if every envelope and payload it publishes is valid and it ignores what it doesn't recognise. It implements only the families it has something to say about. (SOM 1.0 conformance §1)
- A story-context is the complete story every time: leaving a field out means it is absent, not unchanged. (SOM 1.0 conformance §6)
- Validators must assert
uuidanddate-timeformats, which most skip by default. (SOM 1.0 conformance §4) - Nothing in the schemas is removed or renamed within 1.x; new optional fields, values and families may be added. (SOM 1.0 compatibility policy)
Generated from the SOM 1.0 schemas at upstream commit 7297fef, the pack this bus validates against. Quoted SOM text is © the SOM authors, CC BY 4.0, with two changes: working-group decision numbers are shown without their #, and attributions to named working-group members are left out. How to read this reference: SOM 1.0 schema.