fix(gnss): age degraded evidence and replayed snapshots on their own clocks

Maintainer review on #855 (mazy1998, 2026-10-06):

- records: presence (seenAt) and degraded evidence (degradedAt) age
  separately, so continuing healthy reports no longer keep an older
  degraded flag alive past 30 minutes; an aircraft returning after the
  window starts fresh. pruneGnssObservations ages the store with no new
  rows.
- Rows are dated by the snapshot's fetchedAt, which the proxy keeps on
  cached and stale answers: a replay never restarts the window, the
  proxy stops serving a stale snapshot older than the window, the source
  refuses an undated one, and cells expire during fetch failures and
  while there is no view anchor.
- Normalization accepts ADS-B versions 1 and 2 only; a missing, invalid
  or negative seen_pos is not a confirmed position from the last minute.
- qa-gnss: keyboard, 390x844 viewport (fresh page: isMobile reloads) and
  replay-age sections; the live cell assertion bins the returned rows
  with the layer's own rules instead of a raw row count.
This commit is contained in:
Leo Pechnicki authored and Mazeyar Moeini Feizabadi committed 2026-10-13 17:20:43 +02:00
1 parent c8d3f44bb7
commit fde8b2a64f
11 files changed
+557 -65

No files matched your search

+6 -2
View File
@@ -168,8 +168,12 @@
machine-readable provenance (`provenance`, `classifier: gev-nic-nacp-v1`).
Keyless, worldwide wherever adsb.lol has receivers; reads
a capped 250 nm snapshot around the camera through `/api/gnss-integrity`,
which returns integrity fields only and serves the last snapshot when the
upstream fails.
which returns integrity fields only and serves the last snapshot (with its
original observation time, for at most 30 minutes) when the upstream fails.
Only ADS-B versions 1 and 2 with a known position age of 0-60 s count. A
degraded report keeps an aircraft degraded for 30 minutes after that report,
not after its latest healthy one; replayed snapshots keep their age, and
cells expire on schedule during fetch failures or without a view anchor.
## [0.2.1] — 2026-10-02 — God's Eye View through Your Agent (with security fixes and other features)