# live-conformance/carousel-moq-fec — a schedule's entries as FEC instances The corpus of [`extensions/carousel.md`](../../extensions/carousel.md) §8.3 and of [`extensions/bearer-receipts.md`](../../extensions/bearer-receipts.md) §9.7: `vectors.json`, and `catalog.json`, a catalog the binding writes, which `wai/ietf/catalog_check.py` reads. - `groups` are schedules' entries with the objects they schedule: the source track's name, the MOQT Group ID, the SS_ID the instances start at, the `entries` (carousel §4.1) and the `envelopes` in hexadecimal; the `fec` array and the repair and symbol `tracks` they bind to; and for each object its instance, its SS_ID, its block's Group and symbol count, its Immutable Properties, its Protected Object Unit, its symbol-track objects (Object ID *i* is entry *i* of `symbol_track`) and its repair objects, each with its layer, its Location and its payload. Three groups: three objects of one geometry under `repeat`; two geometries under `advance`, an instance each and a repair layer a pass, with SS_IDs that wrap; and one object in one pass. - `unbound` are entries that do not bind, each with its code. `catalogs` are catalogs one edit from a group's, each with `accept` or its code. `endpoints` are catalogs with a `multicast` member, each with what reading its endpoints gives: a list of `stands` or the label each is ignored with, or `endpoints_malformed`. **Provenance.** Generated here by `WAI_CAROUSEL_MOQ_FEC_WRITE=1 cargo test --features carousel --test carousel_moq_fec` in `wai-rs` (`tests/carousel_moq_fec.rs`), which writes the repair symbols with the test's independent implementation of RFC 6330 (a dev-dependency of `wai-rs`). The envelopes are opaque test bytes the generator writes, not WAI envelopes; no media, no key and no input from outside this repository. Addresses are of the documentation ranges and of multicast ranges no one is assigned. Each case states the outcome it was written to have. `tests/carousel_moq_fec.rs` checks that both files regenerate byte for byte, that the independent encoder gives the symbols `draft-ramadan-moq-fec-block-codes-00` Appendix B states, that each object decodes through the binding to the object its entry signs from what a receiver within each loss bound holds, and that a symbol of another object never yields one. [`../carousel_moq_fec_verify.py`](../carousel_moq_fec_verify.py) is the second implementation, written from the two sections: it shares no code with `wai-rs` and does not implement RFC 6330, so it checks everything here but the values of the repair symbols.