mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-07-15 20:20:24 +00:00
ea8ee80a9c
The RFC (docs/rfcs/session-sse-contract-v1.md) cited hardcoded absolute line numbers like `api/routes.py:12345-12346` and `api/routes.py:16177`, and tests/test_issue4812_session_sse_contract_rfc.py validated those exact lines against source. Any PR that shifted routes.py lines (e.g. #5543, #5534) broke the test — a chronic brittle-failure class (#5542). Root fix: anchor by SYMBOL, never by line number. RFC: - Strip every `api/routes.py:<NNNN>` / `<NNNN>-<NNNN>` and `api/streaming.py:<NNNN>` line-number suffix; keep the symbol name (route string, function/constant names) + the file, e.g. "_handle_session_events_stream() in api/routes.py". - Update the inventory note to state names are the stable anchors and the RFC deliberately avoids line numbers so a source-layout shift can't invalidate the doc or its contract test. Test: - Rewrite the two line-anchor tests to assert (a) each cited symbol still exists in api/routes.py and (b) the RFC names that symbol — dropping the `api/routes.py:<line>` regex bounds-checks entirely. Invariant preserved: "the RFC's cited symbols are real and named in the doc", NOT "the cited line numbers are exact". - Add test_rfc_uses_no_hardcoded_routes_line_numbers as a regression guard that fails if any `*.py:<line>` anchor is reintroduced into the RFC. Proven de-brittled: prepending 31 lines to api/routes.py (scratch, reverted) leaves all 34 tests green. Refs #5542, #5513