## Summary ## Test plan - [ ] Ran `./gradlew spotlessApply` — repo is formatted - [ ] Ran `./gradlew test` (or the relevant module's tests) - [ ] Manually exercised the change (see notes below) Notes / screenshots: ## Interop suites - [ ] N/A — change can't affect wire bytes / decoded audio / MLS state / DM envelopes - [ ] Marmot / MLS — `cli/tests/marmot/marmot-interop-headless.sh` (NIP-EE / `whitenoise-rs`) - [ ] NIP-17 DM — `cli/tests/dm/dm-interop-headless.sh` - [ ] Audio rooms manual — `cli/tests/nests/nests-interop.sh` (Amethyst ↔ nostrnests.com) - [ ] MoQ-lite hang-tier — `:nestsClient:jvmTest -DnestsHangInterop=true` - [ ] MoQ-lite browser-tier — `:nestsClient:jvmTest -DnestsBrowserInterop=true` - [ ] QUIC interop-runner — `quic/interop/run-matrix.sh -s {aioquic,picoquic,quic-go,quinn}` ## AI assistance - [ ] Drafted with AI assistance, manually reviewed and tested - [ ] Written by hand If "Drafted with AI assistance" is ticked, also read [`CONTRIBUTING-WITH-AI.md`](CONTRIBUTING-WITH-AI.md) for the additional gates that apply to AI-authored PRs. ## License - [ ] By submitting this PR, I agree to license my contribution under the MIT license. Any code I did not author personally carries its original license header.