Skip to content

Re-vendor the amended standard and the 351 vector corpus - #7

Merged
gafferongames merged 1 commit into
mainfrom
revendor/corpus-39cc854
Sep 4, 2026
Merged

Re-vendor the amended standard and the 351 vector corpus#7
gafferongames merged 1 commit into
mainfrom
revendor/corpus-39cc854

Conversation

@gafferongames

Copy link
Copy Markdown
Contributor

STANDARD.md and conformance/ are re-vendored from mas-bandwidth/serialize at 39cc8543, the commit tagged v1.16.2. Two vectors are new: the whole 112-byte golden message, whose bytes the document now prints in full, and a twin of the terminal failure vector whose successor is a degenerate fixed point field.

stepFromWords gains the six spellings the corpus format now lists: double, uint128, int64, int128, int_relative and compressed_float. The step machine already ran every one of them for the single operation files, so this is parsing alone, and the step list is a List, so the 28 operation golden needs no budget change.

The corpus runs green here: 351 vectors from 18 files, 196 writer checks, 10 measure checks, 0 failures, assertions on and off.

One pin. The interop job used to carry two, SERIALIZE_TAG for the wire exchange and SERIALIZE_CORPUS_COMMIT for the reference conformance runner. It now clones the reference once, at SERIALIZE_TAG, and builds both C++ halves from that checkout, with a step proving the vendored corpus is byte for byte the pinned release's own. The second pin existed because the corpus moved ahead of the newest release; a release that carries the corpus removes the reason for it.

SERIALIZE_TAG moves to v1.16.2. That tag does not exist until the reference is tagged, so the interop job is red until then and this PR waits on it.

Version stays 1.1.2, which is the release this corpus ships in.

STANDARD.md and conformance/ come from mas-bandwidth/serialize at 39cc8543,
which prints the whole 112-byte golden message and adds the vector that holds a
degenerate fixed point field to the terminal failure rule.

stepFromWords gains the six spellings the corpus format now lists: double,
uint128, int64, int128, int_relative and compressed_float. The step machine
already ran every one of them for the single operation files, so this is
parsing alone.

The interop job takes one pin. SERIALIZE_TAG, now v1.16.2, checks out the
reference once and both C++ halves are built from that checkout; a step proves
the vendored corpus is the pinned release's own, which is what
SERIALIZE_CORPUS_COMMIT used to stand in for.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@gafferongames
gafferongames merged commit 99237a3 into main Sep 4, 2026
6 of 7 checks passed
@gafferongames
gafferongames deleted the revendor/corpus-39cc854 branch September 4, 2026 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant