Every parallel design eventually faces the same innocent question: the branch needs the whole world — the conversation so far, the evidence gathered, the state of the task — so do we copy the world for every branch? Unix answered this in the 1970s with a cheat that became a principle: fork shares everything and copies nothing. Parent and child begin with the same pages, marked read-only; a page is copied only at the moment someone actually writes to it. Most pages are never written. The copy that naive accounting feared mostly never happens.
Agent branches want exactly this contract. A branch forked from a checkpoint should inherit the full context — the question, the evidence, the constraints — at zero marginal cost, and diverge only where its own work writes. In practice this means branches hold isolated state over a shared, immutable snapshot: retrieval results, intermediate artifacts, and scratch work are branch-local; the inherited world is read-only and common. The moment branches are allowed to mutate shared state in place, you have bought yourself the merge conflicts of a badly run shared-memory program, and no scheduler can save you.
The fork point matters as much as the mechanism. An editor's undo, a database's savepoint, and an agent's checkpoint are the same decision at different scales: a recorded position from which work can be re-run without re-running everything before it. Branches that fail should be re-runnable from the fork — one branch, one rerun — not from the beginning of the task. This is why a run's trajectory should be recorded as a sequence of named steps with their artifacts: the step list is the list of legal fork points. A system that cannot name its steps cannot fork, and a system that cannot fork pays full price for every retry.
The contract has a return side too. A Unix child reports an exit status and leaves its output where the parent agreed to look. A branch should end the same way: a declared artifact in a declared place, plus a verdict — done, failed, blocked — that does not require reading its diary to discover. Parents that must interrogate children to learn what happened have not designed an interface; they have designed a family.
One limit, flagged for the finale: a process snapshot is total, but an agent's state is not. What can be forked is what was written down — context, artifacts, step records. Whatever the model "had in mind" mid-thought is not in any page table. Agent forks are forks of the record, and the quality of the record is therefore the quality of every branch that will ever descend from it.