# links — the contribution link record, `WLK1` The corpus of [live-contribution](../../extensions/live-contribution.md) §6: parts of the link record a gateway signs while it receives an SRT or RIST link, and series of them. - `vectors.json` lists every vector: its `kind` (`part`, one file; `series`, several, in order), its `files`, its `outcome` and, for a refusal, its `reason` (and, in a series, `at`, the index of the part refused), for an accepted part its `digest` and a `summary` of its fields, and a `note` on what it shows. `hop` is the signing key, `hop_seed` the seed it is made from, so anyone can sign a new vector the same way. - Each `.wlk1` file is one record's bytes. Accepted vectors cover each protocol and mode, each key length, a session's last part with sequence numbers outstanding, a part whose loss runs are truncated, tracks not yet begun, and series of three parts, one with a track that begins in its second part. Each refused vector breaks one rule of §6.5 or §6.6 and keeps every other; every reason of §7's last list refuses at least one. Written by `joule-moq-ingest-link-vectors --out` (crate `joule-moq-ingest`), from fixed seeds: `--check` regenerates it and compares every byte. Read by the crate's `tests/link_corpus.rs`, and by `../live_contribution_verify.py`, written from the text alone: ``` python3 -I live-conformance/live_contribution_verify.py live-conformance/links # from wai/ ```