# ECP-0072: CMAF Seedbox Invariant For Relay Archive ## Context Archive replay currently stores and serves relay groups exactly as received, but many existing broadcasts were published in `legacy` container mode. Those bytes are not browser-HLS compatible, so archive playback fails despite a valid timeline and object store. ## Decision Make `wt-publish` default to CMAF passthrough (`--passthrough=true`) so: - relay subscribers and archive workers observe the same CMAF fragment bytes (`moof+mdat`); - archive replay can serve those exact bytes without re-encoding; - the archive acts as a history seedbox of previously played chunks. Update the NixOS module default `services.every-channel.ec-node.passthrough = true` to keep host deployments aligned with the seedbox invariant. ## Rationale - Zero-transform archive path is simpler and more auditable. - Exact-byte retention avoids drift between live and replay. - Browsers can play CMAF fragments via standard HLS tooling; no custom legacy converter is required for new streams. ## Reversibility - Operators can explicitly set `passthrough = false` per host to revert to legacy framing. - Existing archived legacy data remains readable for timeline/index use, but may require separate migration tooling for browser playback.