Skip to content

Keep deferred dashboard summaries honest about snapshot confidence - #143

Merged
sbc1-code merged 2 commits into
mainfrom
fix/summary-snapshot-confidence-20261022
Oct 22, 2026
Merged

sbc1-code merged 2 commits into
mainfrom
fix/summary-snapshot-confidence-20261022

Conversation

@sbc1-code

@sbc1-code sbc1-code commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

The PR141 expanded dashboard summary still says “Moving well / Median wait now” for synthetic 120-minute-old or future retrievals, even when the top-level stale warning is present. Reproduced in the served app in EN/ES desktop/mobile; this does not claim the live feed is failing.

Pass the existing fetch timestamp into the deferred summary and reuse walkDriveFreshness's unchanged 45/90-minute and future/unknown policy. Evaluate the current render clock after a slow import/new response, reevaluate each minute and track browser offline/online events. Keep reported numbers, dates, map selection and filters; use neutral reference labels/ticks/metrics/descriptions when current conditions cannot be verified. A stable polite status announces confidence transitions while the minute-age line remains quiet. Preserve the upstream empty-source validator and genuine zero recovery.

Validation: fresh build and 130 standalone unit tests PASS; complete npm test PASS with 420 navigations for the local data-derived inventory. New independent-clock EN/ES desktop/mobile fixtures cover expiry during held chunk load, mounted expiry without successful response, offline/online, stale/missing/invalid/future timestamps, retained readings/dates, rejected-source empty state and zero recovery. Existing chunk failure/reload recovery, keyboard/menu/focus, filters, storage, sharing/feedback, metadata and previous data-confidence regressions pass. Before/after light/dark captures saved outside source.

Entry remains 61.69 KiB under the unchanged 62 KiB cap. A paired build measures every initial JS dependency: 280,511 → 280,514 gzip bytes (+3). The optional summary own chunk grows 5,861 → 6,520 bytes and imports the existing tiny retrieval guard when opened; no new vendor or initial payload is hidden. Cold simulated samples show opening about 0.30–1.32s, not a production speed/conversion claim. No dependency/lock, feed, threshold, loader, build/audit/budget configuration, security/account setting, credential, ad, paid service or monitor changes.

The historical navigation regression also waits for the target canonical before asserting no inherited card, rather than matching the prior crossing's h1 during a React transition. Its absence assertion and all scenarios remain required. Final local suite passed again with 420 navigations; all six owned owner/fixture pages passed at 4x CPU throttle. Final push CI 39730765971 and PR CI 39730769822 both passed on 84da4c8.

Eight previous worktrees and the original 18 modified paths are preserved. Release only after exact-head CI and concurrent-source readback; use the existing publication workflow once, then verify the served app. Rollback is a scoped src/script inverse via a tested PR, preserving newer collector inputs, PR141's Router mitigation and release history. These checks do not certify all accessibility/security or underlying CBP observations.

@sbc1-code
sbc1-code merged commit a14654f into main Oct 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant