Scope
Permanently gate Bun corpus position 4010, claim-private.test.js, and port position 4011, claim-sub.test.js.
Acceptance criteria
- Private claims retain JSON-compatible values, null serialization for non-finite numbers, UTF-8 strings, arrays/objects, and omission of undefined.
- Signing validates string
subjectoptions, rejects incompatible payload kinds and duplicatesub, and writes the claim. - Verification enforces exact subject matches only when requested with upstream-compatible missing/mismatch errors.
- Subject failures retain concrete JWT error identity, claim/operation metadata, original cause, and operation-aware cause stacks.
- Focused, adjacent JWT claim, and permanent diagnostics pass.