docs: close BUG-16 (fixed + verified), update Phase 29 status

This commit is contained in:
Mathieu Moran
2026-08-13 15:53:52 -04:00
parent f5f20c315b
commit f94c50b2ee
2 changed files with 27 additions and 11 deletions
+18 -10
View File
@@ -23,16 +23,6 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
- **Pi-side hardening shipped 2026-08-12**: `phone-hotspot` now forces public DNS - **Pi-side hardening shipped 2026-08-12**: `phone-hotspot` now forces public DNS
(`8.8.8.8`/`1.1.1.1`) and the Settings page surfaces the correct URL per uplink mode. (`8.8.8.8`/`1.1.1.1`) and the Settings page surfaces the correct URL per uplink mode.
### BUG-16 — Trip missing from Pi local history (present on server)
- **Status**: `OPEN` 2026-08-13
- **Phase**: 29
- **Symptom**: a drive produced a trip on the server portal but not in the Pi's local
trip history.
- **Hypothesis**: the Pi's trip builder suppresses trips until the car ECU has been
reached once (`was_car_ever_connected`), so a mid-drive reboot with a slow/failed OBD
reconnect can skip local trip building — while the raw rows still upload and the server
(no such guard) builds the trip. Investigate against the raw `tracking` rows for that drive.
### BUG-17 — Server trip timestamps wrong after an offline period ### BUG-17 — Server trip timestamps wrong after an offline period
- **Status**: `OPEN` 2026-08-13 - **Status**: `OPEN` 2026-08-13
- **Phase**: 29 - **Phase**: 29
@@ -56,6 +46,24 @@ When CLOSED, move the entire entry to Resolved — don't duplicate.
## Resolved ## Resolved
### BUG-16 — Trip missing from Pi local history (present on server)
- **Status**: `CLOSED` 2026-08-13
- **Commits**: `e5ac14e`, `f5f20c3`
- **Fix**: two root causes:
1. `connect_obd()` set `_car_ever_connected` **without a `global` declaration**, so the
module-level flag was never set and `was_car_ever_connected()` always returned `False` —
local trip building had been silently blocked ever since BUG-10 landed. Added the `global`
declaration and now persist the flag to the settings table (`car_ever_connected`) so it
survives reboots.
2. Speed-only rows (NULL GPS, from FEAT-12) made trips start/end with NULL coordinates,
violating the `trips.*GPSX NOT NULL` constraint. The trip builder now uses the first/last
GPS-bearing row for start/end coordinates, and skips a trip that never got any fix.
- **Verification**: backfilled the persisted flag on the Pi (the car has been connected
before), triggered a rebuild — the local `trips` table now contains the 2026-08-13 drive
(e.g. a 48.5 km trip) plus several earlier trips that had been silently dropped.
`trip_build_state` advanced to LAST_TRACKING_ID=7009. Timestamps for the 08-13 data are
still wrong — that's BUG-17 (no RTC).
### BUG-13 — Server Web UI shows raw coordinates instead of geocoded location on trips ### BUG-13 — Server Web UI shows raw coordinates instead of geocoded location on trips
- **Status**: `CLOSED` 2026-08-12 - **Status**: `CLOSED` 2026-08-12
- **Commit**: `8309819` - **Commit**: `8309819`
+9 -1
View File
@@ -2267,8 +2267,16 @@ The app reuses the existing Pi REST API surface with no changes:
**Owner completed a second road test on 2026-08-13.** Issues found during the drive are **Owner completed a second road test on 2026-08-13.** Issues found during the drive are
logged as `BUG-XX` entries in [BUGS.md](./BUGS.md) (BUG-16 onward) and fixed + verified here. logged as `BUG-XX` entries in [BUGS.md](./BUGS.md) (BUG-16 onward) and fixed + verified here.
- **BUG-16 (trip missing from Pi local history) — ✅ FIXED**: `connect_obd()` set
`_car_ever_connected` without a `global` declaration, so the module-level flag was never
set and local trip building was silently blocked since BUG-10. The flag is now persisted
across reboots; also fixed a NULL-GPS speed-only row crash in the trip builder. Verified the
2026-08-13 drive now appears locally.
- **BUG-17 (trip timestamps wrong) — OPEN**: no RTC → clock drifts without internet.
- **BUG-18 (no RTC) — OPEN**: add a battery-backed RTC (DS3231) / GNSS time source.
Open items from the drive — fill in as reported: Open items from the drive — fill in as reported:
- (none yet) - BUG-17 / BUG-18 (clock) pending.
## Working Notes / Environment Gotchas ## Working Notes / Environment Gotchas