previously on...

The story you told is not the story that happened.

This isn't our idea. It's a hundred-year-old observation from the Russian formalists: *fabula* (the raw events of the story) vs. *syuzhet* (the order the storyteller reveals them). Every flashback exploits the gap. Every cold open assumes it.

It's a useful distinction, and a hard one to encode. The system most tools build tracks one side — when the audience saw a thing. Fabula also tracks who knew it at that moment, who acted on it, and who carried it forward into the next scene.

act break

Every character a traversable arc.

Most tools give you one timeline. Fabula gives every character (and every entity) their own, tracking state — beliefs, goals, emotions — at each event.

Each character has a timeline of beliefs and goals, anchored to the Episode → Scene → Beat structure. We roll up roles and key changes across episodes, seasons, and the whole canon — so Cromwell’s loyalties or the Brigadier’s personality stay continuous throughout. (How we build arcs.)

Identity sticks with the entity, not just the show — so arcs carry across spin-offs and sequels. Continuity becomes a graph, not a headache.

“What did Cromwell believe in this scene?”
“What had he done by this episode?”
“What changed in him between this season and the next?”
Different operations. All answerable on the same per-entity arc.

// Per-entity event participation · Cromwell · S1E01

{
  "agent": "Thomas Cromwell",
  "scene_anchor": "S1E01 · York Place · Sc. 1 (the upper chamber)",
  "incarnation_identifier":
    "as Wolsey's man, watching the storm",
  "beliefs_at_event": [
    "Loyalty to Wolsey is a strategic necessity, but survival
     in the court demands adaptability",
    "The storm outside is a metaphor for the chaos within
     the palace, and only the vigilant will thrive"
  ],
  "goals_at_event": [
    "Assess the fragility of Wolsey's power and the shifting
     dynamics of the court",
    "Position himself to navigate the impending political
     storm and secure his own future"
  ],
  "emotional_state_at_event":
    "Stoic and calculating, with an undercurrent of quiet
     determination; stillness masking a mind racing with
     anticipation of the upheaval to come",
  "observed_status":
    "Cloaked and motionless at the upper-chamber window,
     back to the viewer, framed against rain-lashed York Place",
  "importance_to_event": "primary",
  "season_arc_link": "agent_season_profile/wolf-hall/s1/cromwell"
}

stress test

Four series. Four things we knew would break.

Most systems demo on one film. We chose four tough shows, hit four failures, and fixed each one.

ShowWhat it brokeWhat we built to fix it
Doctor Who Long-running ensemble identity Brigadier Lethbridge-Stewart resolved as one canonical entity across thirteen seasons of Classic Who, despite rank changes, retirements, and multi-year gaps between appearances.
Star Trek: TNG Alias resolution “Picard,” “The Captain,” “Jean-Luc,” “Locutus.” Promotions, ranks, possessions. Cross-season identity preserved across 177 episodes.
The West Wing Relationship density Dialogue-heavy ensemble where every relationship has a state. Typed edges. Per-event BDI. Mrs. Landingham reverberating across two seasons after her death works at all because of this.
Indiana Jones Episode boundaries Not a series. Three films, decades apart. One entity graph spans them — the same Indy, the same Marion, the same Sallah, resolved across releases instead of treated as separate productions.

We picked shows designed to break a brittle system — and built one that didn’t.

house style

Three convictions you can hold us to.

01.

A story isn't a timeline. It's a web of typed relationships.

This framing we owe to Paul Rissen, whose work on the BBC's Mythology Engine and his subsequent three-part model for understanding stories sketched the shape of this argument a decade before we picked up the thread.

02.

If you only track the order events hit the screen, you've built a beautiful map of the audience experience. You've missed the map of the characters' experience where the real story lives.

03.

Hallucination is an engineering problem. We tackle it with schema enforcement, provenance pointers, and a system that would rather say "I don't know" than take a wild guess.

in our trailer

Small team. Long memory.

Fabula is a small engineering group building one thing carefully. We came out of production, research, and infrastructure. We've watched too much television; we took good notes.

Most of what's worth reading is already published. Fifty-six datasets are public on brandburner. The catalog at /explore is live. The engine docs are on this site. We also write about the engineering as we build it at storygraph.substack.com — entries including the graph is the story, epistemic isolation, community detection in the TARDIS, and teaching a knowledge graph to learn from “no.” Read what's there first; we'll move faster when you do.

Production teamsproduction@fabula.productions
AI buildersplatform@fabula.productions
Game studiosgames@fabula.productions
Presspress@fabula.productions
Investorsinvestors@fabula.productions
Anyonehello@fabula.productions