wstring rides as UTF-16 code units, and readers refuse malformed content
One intentional wire change, stated first: the old format's astral wstring groups (code points above 0xFFFF) flip from accepted to refused. Astral text now rides as surrogate pairs, matching the family's 2-byte shape; astral cross-language interop certifies at the family's v1.7.0 interop pin bump. BMP text is unchanged on the wire.
- The writer is trusted in C# too: write-side checks are Debug.Assert (serialize#52).
- Readers refuse malformed string content — invalid UTF-8, interior NULs, unpaired surrogates — with a pending-high surrogate pair machine.
- The conformance pin was derived two independent ways: a reference bit-packer validated against STANDARD's worked example, then re-derived by hand bit by bit.
- Verified beyond CI: Release suite 52/52, Debug suite 53/53 (the assert contracts execute), red team 29.4M hostile cases with no findings.