Phase 2 step 4. The str and slice tagged-union payload stores were byte-identical adjacent arms (3-word ptr/len/cap @ slot+8/+16/+24 + tag) since #1 made str a 24B {ptr,len,cap}. Delete the dedicated str arm and widen the slice arm's gate to accept str (cstage type_isstr, wwstage nodeisstr). One site, both stages. Byte-id-neutral: str now flows the identical slice arm; full test incl 990-997 green.