A derived ring that is emptied and refilled from its source's retained window has to come back numbered as the source is. `clear()` restarts it at 0, which leaves every absolute index -- `base()`, `produced()`, `copy_from()` -- short by that origin for a whole window's worth of data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>