central/docs
Matt Johnson 8d193d3266 feat(telemetry-separation): dedicated /telemetry tab split from /events by adapter data_class (v0.7.4)
PR #5 of the v0.7.x GUI rework arc. Production code; central-gui restart only
(supervisor untouched -- data_class is read only by central-gui per request).

- SourceAdapter gains a `data_class` class attr (Literal["event","telemetry"],
  default "event"). NWIS opts in as "telemetry" (continuous high-volume water
  gauges); every other adapter stays "event". The /events vs /telemetry split is
  thus registry-derived from class attrs -- no hardcoded adapter-name lists.
- routes.py refactor: `_class_adapter_names(data_class)` and a `data_class` arg
  on `_adapter_filter_options` scope the flat + domain-grouped chip/legend lists
  to a class (colors stay keyed to the FULL registry, so an adapter keeps one
  color across tabs). `_fetch_events` accepts `class_adapters` and adds an
  `adapter = ANY(...)` condition. Shared `_events_query`, `_events_page(data_class,
  base_path)` and `_events_rows_fragment(...)` back both tabs; `/events`,
  `/events/rows`, `/telemetry`, `/telemetry/rows` are thin wrappers.
- Templates parameterized with a `base_path` context var (form action, hx-get,
  hx-push-url header, clear-all redirect, JS BASE_PATH const); the `_events_rows`
  paginator macro takes `base`. Same templates serve both tabs; nav gains a
  Telemetry link.
- /events.json UNCHANGED -- the cursor path sets no `class_adapters`, so the
  subject + pagination contract is intact (TestEventsJsonSubject still passes).

Adds TestTelemetrySeparation (data_class defaults, registry split 11 event / 1
telemetry, class-scoped filter options, color stability, and the `adapter =
ANY(...)` SQL shape incl. the no-class events.json path). Updates the events
frontend tests for the base_path-parameterized templates.

Full suite: 682 passed, 1 skipped (central and unprivileged zvx, 3x each).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 07:34:08 +00:00
..
.gitkeep scaffold: initial repository structure 2026-05-15 19:16:24 +00:00
BUG-CADENCE-DECREASE.md chore: normalize line endings to LF 2026-05-16 22:26:12 +00:00
CONSUMER-INTEGRATION.md feat(3-K): real geocoder backends + producer-doc reframe + consumer-doc enrichment 2026-05-20 16:10:44 +00:00
environment.md docs: add v0.3.0 changelog entry and network bindings reference (#29) 2026-05-18 14:26:09 -06:00
migrations.md docs: add test database setup, restore geom to test fixture 2026-05-17 18:26:48 +00:00
PHASE-1a-3-VERIFICATION.md chore: normalize line endings to LF 2026-05-16 22:26:12 +00:00
PHASE-1A-5-VERIFICATION.md docs: add Phase 1a-5 verification report 2026-05-16 19:08:00 +00:00
PHASE-1B-NOTES.md chore: normalize line endings to LF 2026-05-16 22:26:12 +00:00
PRODUCER-INTEGRATION.md feat(telemetry-separation): dedicated /telemetry tab split from /events by adapter data_class (v0.7.4) 2026-05-25 07:34:08 +00:00
test-database.md docs: add test database setup, restore geom to test fixture 2026-05-17 18:26:48 +00:00