* fix: handle discriminated unions in oneOf pruning validator
The pruning validator modifies instances in-place during oneOf
validation. When trying a wrong variant, it strips properties needed
by the correct variant, causing all variants to fail.
Add a discriminator-aware oneOf validator that reads the discriminator
mapping to select the correct variant directly, skipping the
try-all-variants loop that causes the corruption.
Fixes#375
* test: add regression test for non-discriminated oneOf fallback