Branching agent RL re-runs the same prefix many times to compare actions. Your sandbox rolls
back state; nothing rolls back the world â so each branch gets its own clock,
its own search ranking, its own latency spike, and those independent draws land straight in the
advantage estimate as variance.
Groundhog records the exogenous channels once and serves every branch of a fork the
same exogenous noise, while re-rendering anything the branch actually changed.
The table below aligns two branches' reads by logical address and marks each one shared,
legitimately diverged, or â under full replay â a lie.
Try this: leave deep vs verify selected and switch
the condition from (C) Groundhog to (B) Full-replay. Watch
GET /review turn red. That single stale read is why (B) converges to the wrong
policy while reporting the lowest variance of all three conditions.