1.7 KiB
1.7 KiB
Context
The Server resolves an immutable stream-policy version, but RC6 provider work carries only its identifier. The Data Plane consequently cannot distinguish the authorized settings from local defaults.
Goals / Non-Goals
Goals:
- Carry only the effective launch settings required by the provider boundary.
- Generate identical validation from the canonical schema for all bindings.
- Preserve the policy-version identifier for audit correlation.
Non-Goals:
- Publish or mutate RC6.
- Add provider-specific capability negotiation to Protocol.
- Expose provider work or policy internals to Verse clients.
Decisions
- Use one required nested
ProviderStreamPolicyvalue inProviderSessionWork; this keeps the policy settings atomic and avoids repeating validation. - Carry the Server-selected target bitrate rather than all policy bounds because Apollo ANNOUNCE consumes one configured bitrate.
- Permit canonical
H264,HEVC, andAV1values in the contract. A provider implementation must reject values it cannot honor rather than silently downgrade them. - Carry
audio_enabledeven though the current Apollo path cannot truthfully disable audio; the Data Plane must fail closed for that combination.
Risks / Trade-offs
- [New required field breaks RC6 consumers] → Publish only under a separately authorized new immutable version and pin both consumers after empty-cache resolution.
- [Provider capabilities differ] → Validate the effective policy against the selected provider before readiness.
Migration Plan
Regenerate and verify bindings locally, update both consumers through a temporary workspace only, then stop at the publication boundary. RC6 remains unchanged.
Open Questions
None.