Files

2.1 KiB

MODIFIED Requirements

Requirement: Provider terminal events end forwarding

Encrypted provider termination and unexpected provider disconnect SHALL quiesce provider ingestion and queued/new media forwarding before the existing reliable typed terminal event is delivered. The client SHALL return the Protocol-owned terminal receipt after decoding that event. The gateway SHALL close the Verse tunnel after that receipt or a bounded receipt deadline even when the client keeps the connection open, release the session reservation, and report the appropriate durable provider/session state. The receipt MUST be consumed by the gateway and MUST NOT be forwarded to the provider. A fixed drain delay MUST NOT stand in for reliable control delivery.

Scenario: Host termination closes the tunnel

  • WHEN the native provider emits an authenticated termination event and an independent client returns its terminal receipt
  • THEN queued and newly injected media cannot cross the Verse transport after observation, and the gateway closes the tunnel, releases the reservation, and completes the durable lifecycle transition

Scenario: Unexpected provider disconnect is reconnectable

  • WHEN required provider transport disconnects without acknowledged provider termination
  • THEN forwarding stops, the final typed disconnect reaches the client, and the Server receives the existing reconnectable lifecycle state rather than a termination claim

Scenario: Client omits terminal receipt

  • WHEN the terminal event is written but the client remains open without returning a valid receipt
  • THEN the gateway closes the tunnel at the bounded receipt deadline and continues cleanup without restoring media forwarding

Requirement: Cleanup failure remains durable

Gateway cleanup MUST preserve cleanup_pending when provider input release, transport cleanup, authorized cancellation, or durable reporting fails.

Scenario: Terminal cleanup fails

  • WHEN a provider terminal event is handled but required cleanup cannot complete
  • THEN the session is not reported reusable and durable state remains cleanup pending