content_divergence veto goes dark when the scene embedding is legitimately None (post-#80/#95) #103

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.

incident_correlator.py:1657,1669 — the content-divergence brake reads elif call_embedding and idle_min >= 15. Before a9d1d24 every scene carried a vector (the borrowed primary-scene one), so the veto always had an input. Now a thin scene, or a scene whose _sync_embed returned None (intelligence.py, silent on error / missing key), or the no-scene branch, yields call_embedding = None → the elif is skipped → falls through to return True, "unit_overlap" at :1683.

This is the only brake on the unit-overlap loop when coords are absent, which is ~93% of calls (only ~7% geocoded). Net effect: localized over-merge on a shared dispatch backbone.

Related: the unit-overlap ceiling / bare-0.82-literal veto work (see the _call_fits_incident row in DEFERRED.md and #86). Fix this in that same pass — decide what the veto should do with no measurable divergence signal (block vs allow), rather than silently allowing.

Not a blocker for a9d1d24 — pre-existing behaviour also compared against a wrong (borrowed) vector.

Introduced by commit `a9d1d24` (#80/#95 fix), flagged by `drb-correlation-review`. `incident_correlator.py:1657,1669` — the content-divergence brake reads `elif call_embedding and idle_min >= 15`. Before `a9d1d24` every scene carried *a* vector (the borrowed primary-scene one), so the veto always had an input. Now a thin scene, or a scene whose `_sync_embed` returned `None` (`intelligence.py`, silent on error / missing key), or the no-scene branch, yields `call_embedding = None` → the `elif` is skipped → falls through to `return True, "unit_overlap"` at `:1683`. This is the **only** brake on the unit-overlap loop when coords are absent, which is ~93% of calls (only ~7% geocoded). Net effect: localized over-merge on a shared dispatch backbone. Related: the unit-overlap ceiling / bare-0.82-literal veto work (see the `_call_fits_incident` row in DEFERRED.md and #86). Fix this in that same pass — decide what the veto should do with no measurable divergence signal (block vs allow), rather than silently allowing. Not a blocker for `a9d1d24` — pre-existing behaviour also compared against a wrong (borrowed) vector.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logan/server-26#103