A developer tooling squad at Aldergrove Systems has spent about forty turns with an agent mapping a legacy job scheduler, and the session now holds the call graph, the two configuration files and a list of the modules that touch the queue. Two engineers want to explore competing migration routes from that same starting point without disturbing each other. They resume the session with forking enabled so that each engineer gets a branch. What is the effect on the original session?
- AEach fork keeps appending to the original session identifier, so the second engineer's turns are interleaved into the first engineer's history and both see one merged record.
- BEach fork is recorded under a new session identifier and the original session is left unchanged, so both branches carry the same forty-turn prefix and diverge independently from it. Correct
- CEach fork copies the history and then locks the original session against further resumption until one branch is discarded or its findings are merged back into the parent.
- DEach fork shares one live history with the other branch, so each engineer sees the other's turns appear in context as soon as they are appended to the record.
Why A is wrong: Tempting because this is exactly what plain resumption without forking does, but forking exists precisely to avoid that interleaving by giving the branch its own identifier.
Why B is correct: Correct, because forking on resume writes subsequent turns to a new session identifier while the source session stays as it was, which is what makes two independent explorations from one shared prefix possible.
Why C is wrong: Tempting because branch-and-merge in version control does impose this kind of workflow, but a session record has no locking or merge step and the parent stays resumable throughout.
Why D is wrong: Tempting because both branches start from identical content, but the shared prefix is copied rather than shared live, so later turns in one branch never enter the other's context.