The Story Object Model is an open standard that lets every tool in content production share what a story is: its editorial state, its holds and clearances, its sources, its assets, and what actually reached whom. Tools stop talking to each other. They talk to a shared, live description of the story.
{
"message_type": "story.context",
"story_id": "urn:som:story:8f2c…",
"lifecycle_phase": "PUBLISHING",
"editorial_state": {
"hold": "CASUALTY_FIGURE",
"cleared_by": "standards_desk",
"at": "22:47:12Z"
},
"assets": [ 3 items ],
"tellings": [ 2 items ]
}
Memory. Messaging apps. Proximity. A standards desk holds a casualty figure at 22:47 and the decision travels by phone call, by a word at the desk, by a message in a group chat that four tools cannot read. Every system in the newsroom is talking. None of them knows what the story is.
That gap was survivable for as long as a person sat in the middle, holding all of it and relaying it by hand. It stops being survivable the moment AI enters the workflow: a tool can act, but it cannot see the thing it ought to be acting on. An agent without context guesses, confidently, fluently, and sometimes wrongly.
The context was never missing. It is stranded where no system can read it.
Every era of production needed a new standard. Hardware needed GPIs. Software needed MOS, which carried the rundown for close to three decades. Intelligence is the third era, and it opened without its standard. SOM carries the story.
You standardise the part that does not move, so you can change your mind about everything that does.
SOM is a data standard, not software. You cannot install it and you cannot buy it. It defines a small set of message families that describe a story and travel on an ordinary publish and subscribe bus. The high-volume transport carries no intelligence at all. Intelligence, human or machine, activates only at editorial decision points, and every decision is written back into the story where every other tool can read it.
A hold travels inside the story, so the thing withheld is withheld everywhere. Escalation is a field. The audit trail is a by-product of how writes work, not a feature someone built.
We did not invent a model of journalism. We transcribed it. Before writing anything down, the project ran Story Archaeology sessions with working newsrooms in the US and Europe, tracing real stories from wire to air and recording every hop a person carried by hand. The three nouns were already there.
The live editorial object: what it is about, where it is in its lifecycle, what is held and what is cleared, who its sources are, how it relates to other stories. Minted once, by whoever owns it. Everyone else refers to it by that identifier.
Anything that can reach an audience: a script, a clip, a graphic, a generated summary. Assets carry provenance. Media itself never travels the bus; an asset references frames held in a media store.
The record of what actually reached whom, on which destination, in which version. This has never existed anywhere. One story, many tellings: change the truth and every telling reflects it.
Two newsrooms subscribe to the same story and legitimately do different things. Your Skills encode your editorial policy: it is what makes your output yours. Skills use the open agentskills.io shape, written by editorial and read by machines. The framework is open. Your workflow is yours.
Casualty figures are not broadcast until confirmed by two independent sources or an official statement. Until then, hold the figure everywhere and route to the standards desk.
skill: casualty-figure-hold trigger: story.context.editorial_state.hold output: GATE when: sources_confirming < 2 and no official_statement then: hold · escalate: standards_desk silence: valid
Skills declare. Tools act. If two rules both apply, both apply; a hold from either holds. If a rule cannot be evaluated, the output it guards stays held and a person decides. Nothing automated goes to air on an open question, and that never stops the newsroom, because a person deciding is exactly what happens today. The decision is always human. What changes is when and where they make it.
The published library starts you off with ten Skills covering the situations every newsroom recognises. One skill, three legal regimes, nothing changed but the configuration: portable judgement.
SOM replaces nothing. It connects, through defined junctions, to standards and formats that nobody had previously connected to editorial context.
TAMS, the BBC R&D open Time Addressable Media Store, holds the frames. SOM holds the story context. A story references a TAMS source and a timerange; the media store announces what is available; the binding to a story happens at the editorial act, never at ingest. The same primary material can be referenced by several publishers at once without anyone holding a copy.
MOS connected our systems for close to three decades, carrying items, cues and statuses reliably. It never carried what any of it means. SOM sits beside it, with a published MOS-to-SOM bridge. MOS connected the systems. SOM makes them understand each other.
APIs, MCP and A2A standardise access and delegation. None of them standardise what any of it means. That is the layer SOM adds.
A standard owned by one vendor is a product. A standard owned by an industry is infrastructure.
The 2026 Accelerator proved five fundamentals on a working bus with seventeen participating vendors, using a real wire corpus and real production tools. Nothing in the demos was mocked.
Two clips, one gate, one record. For the first time the evidence travels with the story.
The premise changes once. Every dependent flags. The sport rundown does not blink.
A system understands something well enough to do nothing, on purpose, and can prove it.
Clear once, use everywhere. What you told people that night becomes a lookup, not an excavation.
Nobody synchronised them. They were all reading the same story.
A consortium only moves this fast when the gap is real and the answer is wanted. Argued into shape in the open: two hackathons, a weekly working group, and reviewers who sent us back to fix it.
Every category a working newsroom runs, from ideation to archive, publishing and subscribing. This is not our stack. It is yours, connected.
Real, linted, versioned, and built to be argued with. The schema the IBC demos ran on is the schema you can build against today. Published, not finished: the open register lists what is not yet settled, and the working group is where it changes.
/schema/tools/skills/spec/examples/docsOpen specification, published in the open. No fee and nothing to sign to read it or build against it. Licence details ship with the repository. How the standard is looked after beyond the Accelerator is being worked through with the industry bodies now.
SOM is an open project and it keeps going. Three things a newsroom can do this week that need no procurement, one thing a vendor can do this quarter, and one place to follow the work.
Pick a real story from the last month and write down every hop it took from wire to air. Every hop a person carried by hand is a place the context was stranded.
Take one rule your standards desk applies every week and write it down in the Skills shape. Start from the published library.
One story, one person who worked it, ninety minutes. The method that produced the model, run on your newsroom.
Nothing about your product comes out. One system is enough to start. Tier 1 is subscribe and publish and takes days; Tier 2 carries bidirectional structured context; Tier 3 lets your tool decide autonomously against the story. Your peers are already on the bus, and change control is in writing.
News on the standard, the working group, releases, and the open project that develops it. Occasional, and only about SOM.
Draft form; replaced by the embedded Tally form, fields identical.