Reprocess with stale call-doc severity: not-thin call re-extracted to zero scenes attaches with no fit check #104

Open
opened 2026-09-06 15:11:07 -04:00 by logan · 0 comments
Owner

Introduced by commit a9d1d24 (#80/#95 fix), flagged by drb-correlation-review.

a9d1d24 made _build_context take severity from the scene instead of the call doc. Fresh uploads are equivalent (doc has no severity yet). The reprocess path is not:

  • A call whose doc holds severity: "major" from a prior extraction is reprocessed.
  • The new extraction returns zero scenes with no skip_reason (intelligence.py:226).
  • upload.py not scenes branch runs _correlate_with_consensus with severity=None → _build_context resolves "routine".
  • The call was previously not-thin (fit-tested); it is now thin (incident_correlator.py:644) → attaches via the thin path with no _call_fits_incident check (:932).

Bounded by the 30s tier-1 / single-candidate tier-2 window, so small. transcript_too_short is NOT affected — those get skip_reason and are filtered before correlation.

Fix shape: in the not scenes branch, pass severity=_call_doc.get("severity") explicitly (like recorrelation_sweep does), or skip that branch entirely on reprocess.

Introduced by commit `a9d1d24` (#80/#95 fix), flagged by `drb-correlation-review`. `a9d1d24` made `_build_context` take `severity` from the scene instead of the call doc. Fresh uploads are equivalent (doc has no severity yet). The **reprocess** path is not: - A call whose doc holds `severity: "major"` from a prior extraction is reprocessed. - The new extraction returns **zero scenes** with no `skip_reason` (`intelligence.py:226`). - `upload.py` `not scenes` branch runs `_correlate_with_consensus` with `severity=None` → `_build_context` resolves `"routine"`. - The call was previously not-thin (fit-tested); it is now thin (`incident_correlator.py:644`) → attaches via the thin path with **no `_call_fits_incident` check** (`:932`). Bounded by the 30s tier-1 / single-candidate tier-2 window, so small. `transcript_too_short` is NOT affected — those get `skip_reason` and are filtered before correlation. **Fix shape:** in the `not scenes` branch, pass `severity=_call_doc.get("severity")` explicitly (like `recorrelation_sweep` does), or skip that branch entirely on reprocess.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logan/server-26#104