fix: BUG-22 include GPS-derived speeds in trip max (Pi + server)

This commit is contained in:
Mathieu Moran
2026-08-14 22:56:37 -04:00
parent aaa0bdabc4
commit d9314969d8
4 changed files with 28 additions and 3 deletions
+12
View File
@@ -24,6 +24,18 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
fills the cards immediately on load (and every 15 s) via REST. Needs in-car
verification.
### BUG-22 — Trip max speed ignores GPS-only stretch (shows OBD max only)
- **Status**: `OPEN` 2026-08-14
- **Phase**: 29
- **Symptom**: trip #9 shows "max 111.0 km/h" but the replay scrubber shows "GPS: 135.6 km/h"
at 6:26 p.m. — the top speed reached during the OBD dropout isn't reflected in the trip max.
- **Cause**: `max_speed_kmh` was computed from OBD speeds only (`max(obd_speeds or segment_speeds)`
on the Pi, `max(speeds)` on the server). When a trip has any OBD speed at all, the GPS-only
stretch is ignored for the max. The replay already shows GPS-derived speed for that stretch
(BUG-21 fallback), so the scrubber shows a higher speed than the stored max.
- **Fix**: union OBD + GPS-derived segment speeds when computing the max, on both the Pi
(`build_trip_summaries`) and the server (`compute_trips_for_device`).
---
## Resolved