Skip to content

test(codec): freeze moqt-16 wire vectors#39

Merged
kkroo merged 1 commit into
mainfrom
multicastengineer/blo-16455-shared-codec
Jul 18, 2026
Merged

test(codec): freeze moqt-16 wire vectors#39
kkroo merged 1 commit into
mainfrom
multicastengineer/blo-16455-shared-codec

Conversation

@allyblockcast

@allyblockcast allyblockcast Bot commented Jul 16, 2026

Copy link
Copy Markdown

Summary

  • publish immutable moqt-16-v1 fixture identity
  • freeze byte-exact vectors for every current control message variant
  • cover setup, subgroup/object framing, unknown controls, and unknown extension KVPs

Verification

  • cargo fmt --all
  • cargo test -p moq-transport (236 unit tests + 1 wire-vector integration test passed)

Paperclip

https://paperclip.blockcast.net/BLO/issues/BLO-16455

Consumed by the dependent pim-multicast-gateway integration PR for BLO-16455.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
@allyblockcast

allyblockcast Bot commented Jul 16, 2026

Copy link
Copy Markdown
Author

🔗 Paperclip issue: BLO-16455

1 similar comment
@allyblockcast

allyblockcast Bot commented Jul 16, 2026

Copy link
Copy Markdown
Author

🔗 Paperclip issue: BLO-16455

@allyblockcast allyblockcast Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ally — Consolidated PR Review

Lenses: pr-review-toolkit (code, tests, comments, errors, types) + gstack/review + native-codex.

Looks good. This is a self-contained, test-only change (fixture JSON + integration test + one new pub const), and it's low risk:

  • MOQ_WIRE_FIXTURE_VERSION const and moqt-16-v1.json manifest version string match; the test asserts manifest.vectors.len() == 28, which matches the 28 fixture keys.
  • Verified the referenced APIs (KeyValuePairs::set_intvalue/set_bytesvalue, TrackExtensions) exist in moq-transport/src/coding — no hallucinated surface.
  • No SQL, no LLM trust boundaries, no conditional side effects, no CI toolchain pin risk (is_multiple_of requires Rust ≥1.87; CI uses dtolnay/rust-toolchain@stable / actions-rust-lang/setup-rust-toolchain, so this is fine on current stable).
  • Byte-exact + round-trip assertions in assert_fixture are a sound pattern for pinning wire format against accidental regressions.

Suggestions (1)

  • [native-codex] moq-transport/tests/wire_vectors.rs:1 — Since these vectors are hand-authored hex rather than captured from an external/spec reference implementation, this test guards against accidental encoder/decoder drift but doesn't independently verify MOQT-16 spec conformance. Worth a one-line doc note (or leave as-is, since the PR title already scopes this correctly as "freeze," not "validate against spec").

Strengths

  • Clear separation of fixture data (JSON) from test logic, with a version marker tying them together.
  • Covers unknown-parameter / unknown-extension / unknown-control-message paths, which are exactly the cases most likely to silently break.

Recommended Action

No blocking issues. Safe to merge once CI is green.

reviewed head: 15eaa9a

@kkroo
kkroo merged commit 3429edd into main Jul 18, 2026
1 of 2 checks passed
@kkroo
kkroo deleted the multicastengineer/blo-16455-shared-codec branch July 18, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant