2.2 KiB
ADDED Requirements
Requirement: Client-facing authority is provider-free
The gateway-to-client acknowledgement SHALL use ClientSessionAuthority version "1" containing exactly version, session_id, gateway_id, audience, reconnect_sequence, expires_at, and capabilities. The contract SHALL reject missing required fields, unknown fields including provider identities and routes, invalid or noncanonical expiry timestamps, and trailing JSON values.
Scenario: Gateway acknowledges an admitted client
- WHEN provider work succeeds and gateway and client capabilities intersect
- THEN the gateway returns a valid
ClientSessionAuthoritycontaining the selected capabilities and no provider-bearing field
Scenario: Client receives provider-bearing authority
- WHEN a client authority payload contains
provider_profile,provider_identity, a provider route, or any unknown key - THEN the strict client authority decoder rejects the payload
Scenario: Client receives incomplete or malformed authority
- WHEN a client authority omits any required binding, has an invalid expiry, or is followed by another JSON value
- THEN the strict client authority decoder rejects the payload
Requirement: Server-to-gateway authority remains provider-bound
The authenticated Server-to-gateway control plane SHALL continue to use the existing provider-bearing SessionAuthority for admission, provider work, release, and cleanup. SessionAuthority and ProviderSessionWork fields and semantics MUST remain unchanged by this change.
Scenario: Gateway performs provider work
- WHEN the Server admits a gateway session and the gateway requests provider work
- THEN the original provider-bearing
SessionAuthoritycontinues to bind provider work and subsequent release or cleanup
Requirement: RC4 is a coordinated hard cut
The RC4 gateway and client SHALL use ClientSessionAuthority; mixed RC3/RC4 gateway-client compatibility SHALL NOT be claimed. RC4 SHALL NOT add optional provider fields, a dual decoder, or response negotiation for RC3.
Scenario: RC4 candidate is qualified
- WHEN the Protocol RC4 tag is pinned by Server, gateway, and client
- THEN qualification uses only that exact coordinated set