A bare 'let x: T;' with 1 <= size(T) <= 7 matched no zero-fill arm in either stage (8B and >8B were already zeroed) - 'let c: [3]u8;' read stack garbage. User-ruled zero-value semantics: cstage gate sz>8 -> sz>0; wwstage zsz==8 arm hoisted above the fill-run arm (required - 8B would otherwise route into the run and diverge) and run gate zsz>0. New 840 pin: dirty-frame probe rows, dual-dim (run + cs/ww byte-id); discriminators fail exit-154 on pre-fix binaries. Fused with the lib/bytes test conversion (rule 11): either half alone turns 967 red. The old exit(signalled+10) wrapped a real 1782-count ltrim failure to exit 0 - green depended on the garbage. Converted to assert form (completes the 35/35 @test conversion); ltrim rows keep the bare 'let c: [3]u8;' as the consumer proof of the fix.
9.3 KiB
9.3 KiB