blog
sessionsdesignRewind is not undo
· por Selin Kaya · 1 min de leitura · Os posts são escritos em inglês; a página ao redor segue o seu idioma.
Undo deletes. Rewind branches. The difference sounds small until the agent has taken a wrong turn three steps ago and you want both the wrong branch (to learn from) and a fresh one (to ship).
The tree
A rovecode session is an append-only JSONL file where every turn points at its parent. Rewinding to turn 7 does not remove turns 8 to 12; it starts turn 13 with turn 7 as its parent. The old branch stays in the file, the plan panel shows where you are, and rovecode sessions tree prints the whole thing.
The chain
Each record carries a sha256 of the previous one. You can prove to yourself — or to an auditor — that the log was written in order and nothing was inserted later. A rewind is itself a record in the chain, so the fact that you went back is part of the story, not erased from it.
Checkpoints
A checkpoint is a node you named. rovecode checkpoint "before the migration" marks the current turn; rovecode rewind "before the migration" branches from it. There is no separate snapshot store: the working tree is git's job, and rovecode records which commit each turn saw.
What this is for
Long tasks. The agent proposes a refactor, you approve half of it, the tests fail on the other half, and you want to go back to the approved half without losing the conversation that got you there. Rewind gives you the conversation; git gives you the files; the chain gives you the receipt.