llm_correlator._call_block reads the whole-call transcript per scene — remaining leg of #80/#95 #102

Closed
opened 2026-09-06 15:10:45 -04:00 by logan · 0 comments
Owner

Split out of the #80/#95 fix (commit a9d1d24, branch fix/scene-context-leak-80-95).

a9d1d24 closed the scene-context leak for embedding and severity in incident_correlator._build_context (same shape as the #87 coords leak): each scene is now judged on its own value, not the primary scene's copy on the call doc.

Still leaking: llm_correlator.py:63-66 _call_block reads ctx["call_doc"]'s whole-call transcript for every scene. That text is the input to both the cheap correlation tier and the tiebreaker, so on a multi-scene call every scene's LLM decision is made against a transcript that includes the other scenes. Same defect class as #87/#80/#95, third field.

Fix shape: thread the scene's own transcript (the segment slice already available in the scene loop) into ctx and have _call_block read that instead of call_doc["transcript"].

Also: with a9d1d24 more scenes now qualify thin, and llm_correlator.py:227 skips the LLM for thin calls, so the LLM tier's measured share drops again — #96's re-measurement of #35 must postdate this fix too.

Found by drb-correlation-review while reviewing a9d1d24.

Split out of the #80/#95 fix (commit `a9d1d24`, branch `fix/scene-context-leak-80-95`). `a9d1d24` closed the scene-context leak for `embedding` and `severity` in `incident_correlator._build_context` (same shape as the #87 coords leak): each scene is now judged on its own value, not the primary scene's copy on the call doc. **Still leaking:** `llm_correlator.py:63-66` `_call_block` reads `ctx["call_doc"]`'s **whole-call** `transcript` for every scene. That text is the input to both the cheap correlation tier and the tiebreaker, so on a multi-scene call every scene's LLM decision is made against a transcript that includes the other scenes. Same defect class as #87/#80/#95, third field. **Fix shape:** thread the scene's own transcript (the segment slice already available in the scene loop) into `ctx` and have `_call_block` read that instead of `call_doc["transcript"]`. **Also:** with `a9d1d24` more scenes now qualify thin, and `llm_correlator.py:227` skips the LLM for thin calls, so the LLM tier's measured share drops again — #96's re-measurement of #35 must postdate this fix too. Found by `drb-correlation-review` while reviewing `a9d1d24`.
logan closed this issue 2026-09-07 04:40:35 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logan/server-26#102