test/wcc/data: pin the drained divergences at runtime

The four graduated pin families byte-compared under test-data-byteid
but their original fixtures masked the miscompiles at runtime (lone
frame slot, dead code path, pointer accident). Add the discriminating
programs as run fixtures: adjacent-element clobber for the 2-byte
deref store, second-variant match dispatch for fn-type dedup, payload
integrity across the tagged widen of a padded struct, and base64
clear() actually zeroing its buffers. Corpus pins move to 1,229
fixtures / 137 run / 766 run-exit / 2,458 cells with the new identity
hash; the data-byteid floor moves to 915.
This commit is contained in:
2026-08-07 23:55:01 +09:00
parent 0b1cc5ef7c
commit 8a9be47f65
7 changed files with 94 additions and 9 deletions

View File

@@ -32,9 +32,9 @@ categories out of the ordinary developer target.
| Fixed point and self-host | `test-bootstrap` |
| Host linker/platform behavior | `test-platform` |
The live declarative compiler corpus has 1,225 fixtures and 2,450 C/WW cells:
The live declarative compiler corpus has 1,229 fixtures and 2,458 C/WW cells:
314 expected rejections (290 shared and 24 stage-specific), 12 compile-only
successes, 136 exit-zero programs, and 763 explicit-exit programs.
successes, 137 exit-zero programs, and 766 explicit-exit programs.
174 native C carriers remain. They are partitioned exactly once as five
in-process units, 27 byte/artifact gates, six bootstrap gates, one platform
@@ -196,7 +196,7 @@ parity is owned by the fixture corpus itself. Known cs/ww divergences are
pinned in `DATABYTEID_DIVERGED` with the `989_lib_byteid` discipline: a
pinned fixture must still build on both stages and still differ, so a
compiler fix fails the gate demanding graduation rather than silently
widening coverage. The full sweep compares 911 fixtures in about a minute
widening coverage. The full sweep compares 915 fixtures in about a minute
and is scratch-rooted under `out/`, not `/tmp`.
Byte identity is an explicit proof gate. It is not a prerequisite of `test` or