docs(#4812): keep session sse rfc citations current
This commit is contained in:
1 parent
f566dc1d01
commit
55ca782c31
2 files changed
+20
-4
No files matched your search
@@ -38,7 +38,8 @@ against current source before any route is added.
|
||||
- This RFC does **not** implement `GET /api/sessions/{session_id}/events`. No
|
||||
route, handler, or related code is added in this PR.
|
||||
- This RFC does **not** modify `GET /api/sessions/events` (the existing global
|
||||
session-list invalidation stream at `api/routes.py:16118`).
|
||||
session-list invalidation stream routed at `api/routes.py:12320-12321` and
|
||||
implemented by `_handle_session_events_stream()` at `api/routes.py:16142`).
|
||||
- This RFC does **not** replace or modify existing streams: `/api/chat/stream`,
|
||||
`/api/approval/stream`, or `/api/clarify/stream`.
|
||||
- This RFC does **not** introduce Android, iOS, or PWA client code.
|
||||
@@ -52,8 +53,8 @@ against current source before any route is added.
|
||||
### Existing global session-list stream
|
||||
|
||||
`GET /api/sessions/events` is a **different endpoint** from the one this RFC
|
||||
proposes. It is routed at `api/routes.py:12296-12297` and implemented by
|
||||
`_handle_session_events_stream()` at `api/routes.py:16118-16131`. It emits bare
|
||||
proposes. It is routed at `api/routes.py:12320-12321` and implemented by
|
||||
`_handle_session_events_stream()` at `api/routes.py:16142`. It emits bare
|
||||
`sessions_changed` events and keepalives for any change to the session list. It
|
||||
is a global invalidation signal, not a per-session lifecycle stream. The proposed
|
||||
`GET /api/sessions/{session_id}/events` is per-session and path-distinct.
|
||||
@@ -68,6 +69,10 @@ adding a separate configurable knob.
|
||||
|
||||
Current replay identity is run/stream-scoped:
|
||||
|
||||
Line ranges in this inventory were verified against WebUI `master` when this
|
||||
RFC was written. Function, constant, and endpoint names are the stable anchors
|
||||
if source layout moves later.
|
||||
|
||||
- `_parse_run_journal_event_id()` and `_parse_run_journal_after_seq()` at
|
||||
`api/routes.py:15638-15665` parse the cursor from `Last-Event-ID`.
|
||||
- `_runner_event_id()` at `api/routes.py:15730-15737` constructs the event `id`
|
||||
|
||||
@@ -84,6 +84,17 @@ class TestEndpointDistinction:
|
||||
"RFC must explicitly state the two endpoints are distinct"
|
||||
)
|
||||
|
||||
def test_rfc_cites_current_global_endpoint_source(self):
|
||||
text = _rfc()
|
||||
assert "api/routes.py:12320-12321" in text, (
|
||||
"RFC must cite the current global sessions/events route match"
|
||||
)
|
||||
assert "api/routes.py:16142" in text, (
|
||||
"RFC must cite the current _handle_session_events_stream definition"
|
||||
)
|
||||
assert "api/routes.py:12296-12297" not in text
|
||||
assert "api/routes.py:16118" not in text
|
||||
|
||||
def test_contracts_distinguishes_both_endpoints(self):
|
||||
text = _contracts()
|
||||
assert "/api/sessions/{session_id}/events" in text, (
|
||||
@@ -158,7 +169,7 @@ class TestHeartbeat:
|
||||
def test_rfc_does_not_add_new_heartbeat_knob(self):
|
||||
text = _rfc()
|
||||
assert "new per-session configurable heartbeat" not in text or (
|
||||
"not** added" in text or "not added" in text.lower()
|
||||
"not added" in text.replace("*", "").lower()
|
||||
), (
|
||||
"RFC must not add a new per-session heartbeat knob in Phase 1"
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user