SR-E2 The Portable Soul Design essay · 2026 On state blocks — the checkpoint discipline that lets a world outlive its context.
Every context ends. That is the first fact of building anything on a language model, and the one most systems are designed as if they could avoid. The window fills. The chat ages out. The platform changes. The model you built on is deprecated with a friendly blog post. Whatever you made lives in a rented room, and the lease is always shorter than you think.
So the real question was never whether the thread would be lost. It was: what survives the loss? For a persistent campaign — one world, run for months, across chats and platforms and model versions — my answer became a small block of structured text called the state block, and it has quietly become the most load-bearing artifact in the entire framework. This essay is about what it is, why the obvious alternatives fail, and the design rules that make one block worth more than a hundred pages of transcript.
The framework, with the state-block convention inside it: github.com/theobliviax/Text-based-rpg-claude
What a state block is
A state block is a compact snapshot of everything the world needs to continue: location, the character's spine items, who is present, the tracked quantities, active threads, world flags, recent events, and the current mood or tension. Ten lines, give or take. Appended at natural stopping points — not every turn — and carried forward like a passport.
It is not a transcript. It is not a summary. Those are records of what happened; a state block is a record of what is true now. The distinction sounds pedantic until you resume a world from each and watch the difference. A summary resumes a story. A state block resumes a place.
Why the alternatives fail
Transcripts fail on cost and on noise. Carrying full history means every session pays for every previous session, and worse — the signal-to-noise collapses. The model attends to a thousand lines of old dialogue when it needs twelve facts. Long context is not the same thing as long memory; a model can hold your transcript and still lose your thread.
Platform memory fails on auditability. Built-in memory features are genuinely useful, but they are somebody else's database with somebody else's retrieval logic, and you cannot inspect what was kept, what was dropped, or what was quietly paraphrased in the keeping. When continuity matters, unverifiable memory is not memory. As I put it in the last essay, and have not found a reason to soften: if your system's continuity depends on what a model happens to remember, you don't have continuity — you have luck with good branding.
Re-explaining fails on drift. The improvised recap — "so where we left off, roughly..." — invites the model to fill gaps with plausibility, and plausible is precisely the failure mode. Plausible is how a population quietly changes, how a debt resolves itself, how a character forgets an injury. The most dangerous corruption is the kind fluent enough to read as memory.
The design rules
A state block earns its keep through discipline, and the discipline compresses to five rules.
The world's memory must not live only where the world cannot see it. State is kept in text, in the open, owned by the author — never solely inside the machine that will forget it.
One: paste-ability is the test. The block must resurrect the world by itself — framework plus block plus one line of instruction, in a fresh context, on any model. If resuming requires anything not in the block, the block is incomplete, and you find that out at the worst possible time.
Two: track what can drift. A slot in the block is earned by one question — could this silently change? Numbers always qualify: populations, treasuries, elapsed time. So do injuries, debts, promises, and anything the fiction would be embarrassed to forget. Static lore does not qualify; that lives in the canon package. The block is for the moving parts.
Three: keep it human-readable. The block is an audit surface before it is a memory. Every save is a chance to catch corruption — a number that shifted, a thread that vanished — but only if the author actually reads it, and the author only reads what is short and legible. A block too long to proofread is a corruption you have pre-approved.
Four: save at rest, not at ruin. Checkpoints are written at natural stopping points, while the world is coherent — never reconstructed after something has already gone wrong. A block written post-mortem inherits the corruption it was meant to prevent. The habit matters more than the format: by the time you need the save, it is too late to make one.
Five: the block outranks the model. On resume, the block is law. Where the model's instinct disagrees with the block, the block wins, and the framework says so explicitly. This is the rule that makes the other four worth following — a checkpoint the model may overrule is a suggestion with a timestamp.
What it bought
In practice, the state block is why the campaign is still alive. It has crossed context windows without count, moved between platforms, and survived model upgrades that changed the narrator's entire personality underneath it — because the world's truth was never in the narrator. The narrator is replaceable staff. The block is the deed to the property.
The sharpest lesson came from the failure case: sessions opened without the block — cold, on ambient memory — drifted, reliably, and sessions opened with the block held. Same world, same model, same author. The single variable was whether the truth arrived in writing. I stopped treating the block as a convenience and started treating it as a ritual: no block, no session.
Save at rest, not at ruin. No block, no session.
Beyond the game
None of this is really about games, any more than the last essay was. A state block is checkpointing. It is externalized state, schema design, disaster recovery — the oldest disciplines in computing, rediscovered from inside a story because a story is where you feel the data loss. Any long-running agent has the same anatomy: a reasoning engine that forgets, wrapped around state that must not. The systems that survive are the ones that know which part is which.
The model is the voice. The block is the soul. Keep the soul where you can read it.