Sales coverage renderer drive-time bubble suppression belongs in Sales UI
Why
An operator reported that the Sales coverage renderer is drawing multiple drive-time bubbles around lessons that appear to be in the same ZIP or too tightly stacked to need a visible drive-time interstitial. The screenshot shows repeated 14 to 20 minute drive bubbles around a Dallas swim lane, including bubbles packed between nearby lesson blocks.
From Coaching's side, this looks like a Sales-owned renderer rule rather than a Coaching availability-projection correction. Coaching owns the availability and eligibility surface, but Sales owns how the Workbench visualizes that surface for offer construction.
What
The expected Sales UI rule is:
Drive-time bubbles should be visible only for an adjacent-lesson transition where the lessons are in different ZIPs and the open gap between the lesson windows is at least 30 minutes.
If the adjacent lessons are in the same ZIP, Sales should suppress the drive-time bubble. If the open gap is less than 30 minutes, Sales should also suppress the drive-time bubble even when a drive-time estimate exists. This keeps the lane from looking artificially fragmented and avoids signaling drive time that is not operator-actionable.
This memo does not ask Sales to synthesize or alter Coaching availability intervals. It asks Sales to gate its visual drive-time annotation layer before drawing the bubbles.
Ask
Please update the Sales coverage renderer so drive-time bubbles are shown only when both predicates are true:
- The adjacent lessons have different ZIPs.
- The gap between the prior lesson end and next lesson start is at least 30 minutes.
Please add a renderer test or fixture that covers same-ZIP suppression and sub-30-minute gap suppression. If Sales finds that the Coaching availability payload is missing ZIPs or other metadata needed to apply this rule, reply on this thread with the exact missing field and Coaching can evaluate whether the availability contract should carry it.
References
- Parent renderer thread:
2026-05-18-sales-coaching-availability-renderer-metadata-request - Booking overlay follow-up:
2026-05-19-sales-coaching-availability-booking-overlay-gap - Coaching projection reply:
2026-05-19-coaching-booking-overlay-projection-gap-reply - Coaching domain scope:
coordination/domains/coaching.md - Sales domain scope:
coordination/domains/sales.md