Replay
One record of everything that happened, so any past moment can be rebuilt and run again.
Replay is the record. Every part of LifeOS that does something, a hook that blocks a command, a job that finishes, a work item that changes phase, an app that deploys, writes what happened to one append-only record, once, in one shape. Everything else the system keeps is computed from that record. It is named for what the record makes possible: any past moment can be rebuilt from it and run again with a fix in place.
Why it exists
A system with dozens of moving parts ends up with dozens of private diaries. Each one has its own format, its own locking, its own idea of what to keep, and a folder of “temporary” state that is quietly the only copy of something. Ask what was true at a given moment and there is no single place to look; delete the wrong folder and history is gone.
The cost shows up most when something goes wrong. You fix a mistake, but you cannot put the moment it happened back together, so you never see the fix work against the miss it was made for. You find out whether it held the next time it comes up.
How it works
Every writer appends rows to its own segment of the record, so writers never wait on each other, and each segment is hash-chained and sealed, so an edit after the fact is caught. Rows carry the same envelope: who wrote it, when, what it is about, how private it is, and the fact itself. Secret values are masked before a row is stored, large payloads are kept once by content hash, and nothing is ever removed by age.
Everything else is a view: the work board, a dashboard count, a hook’s memory of what it already did this session. Each view is registered with the part of the record it reads and how it is folded, so it can be thrown away and rebuilt. A daily drill does exactly that against a copy and reports anything it could not rebuild. The goal is zero.
Your apps report in too. Each one sends operational facts (deploys, health, errors, counts) with its own key and a ceiling on what it may send. Customer data stays in each app’s own database and never enters the record.
A replay proves what it can and says what it cannot. Running a turn’s tool calls through today’s guards shows that a guard now refuses what it once allowed. A model does not answer the same way every time, so a rebuilt turn reproduces the conditions of a failure rather than a recording of it. Proving a fix to how the model itself behaves takes several runs under the same conditions, and that kind of replay is still being built.
Where it fits
Replay is not Vigil. Replay keeps what happened; Vigil reads it and decides whether it is worth interrupting you. It is not Cortex either: Cortex curates what is worth knowing, and Replay is the raw record underneath it. Code and doctrine keep their record in git, and Ledger answers what changed in the system and at what version.
What it feels like
You stop wondering whether a folder is safe to delete, because everything in it can be rebuilt. When something goes wrong, you put the moment before it back together and run it again with the fix in place, and you watch the fix hold. And “what was going on at 14:20 last Tuesday, across everything” has one answer.
