Task · TSO-0193

Make route-selection dashboard mode display distinguish prior observations from current state

Description

The route-selection info gauge clears obsolete SDK series after a successful poll, but its generated table uses the established two-hour configuration evidence window. A mode change can leave prior and current stored modes visible together, and loss of mode support can show an earlier observation. This is a display limitation, not an alert or control-plane change. Fresh review established it from the generated expression; no live instance values are required.

Acceptance Criteria

Definition of Done

Implementation Plan

loop31: retain scoped two-hour query/history/title, label observed route modes explicitly historical; reproduce actual mode-change/absent-current fixtures, portable tests and named gate, then root guarded review/integration/CI/delivery.

Implementation Notes

loop31: 1 implementation attempt; historical two-hour observation copy with unchanged scoped query/title/history and predecessor OS presentation. Actual mode-change/prior-only/stale/expiry/tailnet/provider fixtures pass, portable tests negative before correction; full-hunk guarded review PASS. Sharded CodeRabbit Python No files defect explicitly unreviewed, not clean. Candidate and exact fresh composed gate pass; composed needed one parallel-linter infrastructure retry, no source correction. Published2480a1f298ac86044d87362566bc035aae6caf4f CI38390571999 ci-success and sync38390572002 plus downstream publication success. Exact far-side tailnet022a15fdaddf058c6bdc157c67cec9b75ef17077 matches. Helm absent by paths. Browser/live query backend not exercised for this copy-only change; actual local generated PromQL fixtures were executed.

Final Summary

Route-selection display now explicitly describes historical observations, including prior/current coexistence and prior-only support loss, without changing query/history/title/scope. Actual query fixtures, guarded review, composed gate, CI and GitSync verified. Attempts1; complete.

View the source file on GitHub