### `wai.splat.int_codec` through the integer operator set

- **The decode.** `int_splat::decode_typed` (so the `WIS1` dispatch, the staged sink and
  the browser crate) plans the networks as
  [integer-payloads](extensions/integer-payloads.md) §7 orders, lowers `g_s.whm` by
  `whm1/1` ([integer-operators](extensions/integer-operators.md) §13.2, with the RGB8
  step of §13.0), loads the graph under `acc64` with its bounds certificate, decodes the
  stream, and runs the graph through the operator set's interpreter with the fast
  transposed-convolution kernel behind it. Its `check` ranges are the checks the direct
  decode made before each layer, so the same latents are refused (`field_range`).
  Every committed output is unchanged, byte for byte, and every committed refusal
  fixture keeps its code. The direct decode is kept, test-only (feature
  `legacy_int`): `tests/int_ops_differential.rs` decodes random sets and clouds both
  ways, every push and for an hour per build profile each night.
- **Planned breaks** (SPEC §8, integer-operators §15.3 item 3): new refusals of sets no
  committed corpus contains, each `model_mismatch` before any stream is decoded. A layer
  with a bias of magnitude `2^63 − 1` or more, or a `check` range its producer cannot
  meet, refused every decode with `field_range` when the network ran; a network with no
  layer of tag 0, 1 or 2, or with a header `shift` or `gf` of 128 or more that no layer
  uses, decoded where the shapes allowed. A scan of every committed splat set and
  payload finds none affected.
- **The interpreter's memory.** A run releases each tensor once its last reader has
  run, takes its inputs by value, and holds a transposed convolution's uncropped plane
  in `i64` (each cell is within the certified `convT.acc`). With its set loaded, a splat
  decode through the operator set holds no more than the payload's declared working
  bytes (integer-payloads §7, *Memory and work*); the declared cost of a `WIS1` payload
  is unchanged. `int_payload::declared_cost` now refuses, with the decode's code, a set
  whose lowering does not load.
- **The byte-equality matrix** (`wai-byte-equality.yml`, `byte-exact-conformance`) now
  decodes the committed `WIA1` and `WIS1` payloads of `wai.audio.int_codec` and
  `wai.splat.int_codec` on every leg, under the reference and the fast kernels, to their
  pinned PCM and attribute digests; it compiled neither decoder before.
- **Its `ops` member in the registry** ([integer-operators](extensions/integer-operators.md)
  §11). `registry/capabilities.json` gives `wai.splat.int_codec` the member
  `{"set": "wai-ops/1", "profile": "acc64", "subset": "full", "lowering": "whm1/1",
  "stage": {"rans64": {"table": "t4097", "escape": "lenient", "end": "canonical"}}}`.
  SPEC §5's row cites the payload ([integer-payloads](extensions/integer-payloads.md) §6)
  and the lowering (integer-operators §13.2), and SPEC §7 names the capability among
  those that decode through the operator set.

