#3333 · follow-up to #3340/#3341 · milestone v10.0.0

The build was corrupting its own checkout

The release branch on origin was correct the whole time. CI's fresh-build step then ran stamp-counts, which wrote .plugins[0].version = $v into the checkout — and position 0 is the pinned stable channel. The channel test failed the pin/version agreement it exists to guard, on content the build itself had just broken.

origin      ork 9.8.0 / v9.8.0   ork-alpha 10.0.0-alpha    correct
CI build    stamp .plugins[0] = 10.0.0-alpha                corrupts pin
CI test     'ork' 10.0.0-alpha does not match pin v9.8.0    honest gate,
                                                            broken input

Same defect as the validate-counts reader fixed in #3341, one layer up: a WRITER addressing entries by position. Readers misreport; writers corrupt.

Run the stamp yourself

The marketplace below starts as the release branch actually looked. Stamp 10.0.0-alpha with each writer and watch what the channel test would say.

entryrefversionpin check

jq '.version = $v
    | (if any(.plugins[]; .source.ref? == "main")
       then (.plugins[] | select(.source.ref? == "main") | .version) |= $v
       else .plugins[0].version = $v
       end)'

Swept with it: the last positional consumers

filewasnow
stamp-counts.shwrites plugins[0]writes ref==main entry
test-sync-versions.shreads plugins[0]; bare X.Y.Z CLAUDE capturereads tracking entry; prerelease-aware
test-marketplace-ordering.shasserts ALL entries equalasserts tracking == top-level

The all-equal assertion only ever passed CI because the corrupting stamp made the entries equal. Two bugs standing on each other, reading as green.

Bonus find while verifying: the sandbox build used tar -cf - | tar -x; the extractor exits on a complete archive, the producer's last write takes EPIPE, and pipefail fails a test whose sandbox held all 6503/6503 files. Now a temp tar file. Same EPIPE family as this morning's grep -q and here-string fixes.

Proof, replayed on the real release branch

RED   old stamp on that tree    ork -> 10.0.0-alpha   (pin v9.8.0)
GREEN new stamp                 ork 9.8.0 kept · ork-alpha stamped
      alpha-channel 8/8 · ordering 0 · validate-counts PASSED
      sync-versions round-trip: all green, live tree untouched