Demux stage-2 rows per channel; produce per-channel histories.
Stage-2 rows are (checkpoint_id, channel, task_id, idx, type, value).
Final write order is oldest→newest globally and (task_id, idx) within
a checkpoint, matching the contract on DeltaChannelHistory.writes.
seed is omitted when the walk reached a true root with no snapshot
found (channel never entered seeded); consumers treat absence as
"start empty".