28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# PRD: Streaming proxy cancellation delivery
|
|
|
|
## Overview
|
|
|
|
A tracker proxy route can be selected and registered as active, but a direct SSE upstream may not deliver its first frame to the downstream client until the upstream response completes. A dashboard cancellation request made after the upstream emitted and flushed an SSE frame can therefore arrive after the tracker has already finalized and unregistered the proxy, returning 404.
|
|
|
|
## Goal
|
|
|
|
Preserve immediate SSE frame delivery and keep the active-proxy record cancelable until the streaming response actually completes or is canceled.
|
|
|
|
## Quality gates
|
|
|
|
- Run the focused tracker streaming/cancellation tests.
|
|
- Run full `python -m pytest -q` and record unrelated failures exactly.
|
|
- Do not weaken billing, disconnect handling, proxy-inflight accounting, or cancel authorization.
|
|
|
|
## User story
|
|
|
|
### PSC-001: Cancel an active direct SSE proxy
|
|
|
|
As a dashboard operator, I need a cancellation request to reach an active direct SSE proxy after its first streamed frame, so I can stop long-running inference without a race-induced 404.
|
|
|
|
## Non-goals
|
|
|
|
- Do not change route selection or quantization policy.
|
|
- Do not alter relay transport behavior unless needed to share the same cancellation invariant.
|
|
- Do not introduce client-visible buffering.
|