Appearance
Message families
A family is a payload schema. The envelope's message_type selects it, and nothing else does: not the topic, not the producer, not the payload's shape.
| Family (schema) | message_type | What it says | Typical producer |
|---|---|---|---|
story-context | story.context | The complete state of a story at one moment: headline, story_type, sources, assets, gates, compliance. See Snapshots, not deltas | NCS or planning system |
telling-event | telling.started, telling.ended, telling.exposed | A story going out on a platform | Playout, CMS, social publishing |
link-event | link.committed, link.gate_changed, link.withdrawn | An asset committed to, or withdrawn from, a destination | Graphics, CMS, rundown |
delivery-media-available | delivery.media_available | Media has arrived in a store. The message carries a reference, never the media | MAM, media store, ingest |
skill-warning | skill.warning.raised | An AI skill flags something for editorial attention | Skill executor |
system-audit | system.audit | Governance trail: clearances, suppressions | Compliance and standards desk tools |
Every field of every family, what it means and where that meaning comes from, is in the SOM 1.0 schema reference.
GET /v1/health lists the message types the bus has a schema for (see the Bus API).
The published examples for every family are in the SOM repository, along with negative examples that must be refused. The bus accepts every positive example and refuses every negative one.
Message types without a schema
SOM 1.0 names some message types without publishing a schema for them, and a later 1.x may add families. The bus accepts these with the envelope checked and the payload passed through, and says so: payload.unvalidated. Many skill recall_on topics are in this group.
Consumers must ignore message types they don't recognise.