Files
VerseVDI-Data-Plane/openspec/changes/gateway-terminal-receipt/proposal.md
T

25 lines
1.3 KiB
Markdown

## Why
P3C-018, P3C-019, P3C-021, and P3C-027 require terminal feedback, bounded cleanup, durable state, and explicit input release. A public independent-client regression proved that immediate QUIC closure loses the terminal event, while the old behavior left the tunnel open until the client closed it.
## What Changes
- Consume the Protocol-owned terminal receipt on `control.ack.v1` inside the gateway rather than forwarding it to Apollo.
- Quiesce media before terminal delivery and close the gateway-owned tunnel after receipt or a bounded receipt deadline.
- Guarantee a terminal event survives saturation of the bounded native feedback queue.
- Preserve provider cleanup, reservation release, reconnectable disconnect reporting, and `cleanup_pending`.
## Capabilities
### New Capabilities
None.
### Modified Capabilities
- `provider-session-lifecycle`: Make terminal delivery and gateway-owned bounded closure executable rather than dependent on client connection closure.
## Impact
The pure-Go GPLv3 gateway control and native Apollo session paths change. The Protocol repository remains the wire-contract owner; the Server remains the durable authority. No cgo, sidecar, direct provider route, decode/transcode path, dependency, or proprietary source is introduced. Failure to receive a valid receipt before the bound is a hard session close, not a fallback.