Skip to content

Roadmap

Dennis Braun edited this page Mar 26, 2026 · 48 revisions

Roadmap

Documentation current as of v2026-03-26

This is the development roadmap for DOCSight. Items marked as complete are already released.

v2.0 -- Complete Platform Redesign

Released | Milestone (9/9 closed)

DOCSight v2.0: from single-modem monitoring to a multi-source DOCSIS diagnostics platform with a completely redesigned UI.

  • Complete UI Redesign -- Charcoal + Purple design system, collapsible sidebar, hero card with sparkline, channel health donuts, all views modernized, mobile-responsive
  • Unified Collector Interface -- Standardized pattern for all data sources with cross-source correlation (#23)
  • Gaming Quality Index -- A-F grade with weighted component breakdown and per-genre game compatibility cards (#20)
  • Modulation Watchdog & Power Drift Detection -- Per-channel QAM tracking with severity-based alerts, per-modulation thresholds from VFKD guidelines (#21, #16)
  • Smokeping Integration -- Live latency graphs via proxy (#22)
  • Vodafone Station Support -- CGA6444VF/CGA4322DE + TG3442DE with auto-detection (#14)
  • Technicolor TC4400 Support -- Standalone DOCSIS 3.1 modem (#24)
  • Vodafone Ultra Hub 7 Support -- Sercomm DOCSIS 3.1 router (#29)
  • BNetzA Integration -- Upload official Breitbandmessung PDF protocols (#28)
  • Demo/Test Mode -- 9 months of seeded history, no real router needed (#30)
  • FritzBox Event Log Parser -- Closed: redundant with existing event log (#17)
  • OFDMA Channel Analysis -- Closed: subcarrier data not exposed by any modem API (#18)

Post-v2.0 Releases

  • Incident Import, Icons & Search -- Excel/CSV import, icon picker, full-text search (#58)
  • Incident Groups -- Organize entries under named incidents with status tracking (#66)
  • BNetzA Automated Measurements -- File watcher, CSV parser, headless Breitbandmessung sidecar (#63)
  • Arris CM3500B Driver -- Mixed DOCSIS 3.0/3.1, HTTPS enforcement (#77)
  • Unitymedia Connect Box (CH7465) Driver -- Session-based auth
  • Speedtest Server Tracking -- Server ID and name in results table (#79)
  • Upstream Bandwidth Display -- Per-channel bitrate and aggregate capacity from QAM order (#81)
  • BQM Calendar View -- Month grid, slideshow, cross-view date linking (#65)
  • BQM Bulk Import -- Upload historical images with auto-date detection (#67)
  • 4096QAM MER Threshold Fix -- Corrected to CableLabs PHYv3.1 spec values (39/40 dB)
  • Multi-Channel Comparison -- Overlay up to 6 channels for side-by-side analysis (#80)
  • Notification System -- Webhook, ntfy, Discord, Gotify with severity filtering and cooldown (#19)
  • Backup & Restore -- Scheduled backups with retention, one-click download, restore from setup wizard (#64)
  • CM3500 Provisioned Speeds -- Parse speeds from service flow configuration (#84)
  • Journal Export -- CSV, JSON, and Markdown export for journal entries (#68)
  • API Token Authentication -- Bearer tokens for programmatic access by external clients like Home Assistant or companion apps
  • In-App Glossary -- Contextual help popovers explaining DOCSIS terminology on the dashboard (#158)
  • Health Hysteresis -- Prevents status flapping between severity levels (#169)
  • Compact Dashboard -- Collapsible channel details for a streamlined overview
  • Diagnostic Notes in PDF -- Complaint PDF export flags out-of-spec DOCSIS values with explanations
  • Security Hardening -- Rate limiting, session protection, dependency audit (#160)
  • Sagemcom F@st 3896 Driver -- JSON-RPC API with SHA-512 auth (#163)
  • Hitron CODA-56 Driver -- Clean JSON API, DOCSIS 3.1 (#172)
  • Arris SB6141 Driver -- DOCSIS 3.0 standalone with HNAP1 (#174)
  • Arris CM8200A Driver -- ISP-branded DOCSIS 3.1 with IP-based session reuse (#168)
  • Netgear CM3000 Driver -- DOCSIS 3.1 standalone, JS variable parsing (#164)
  • Cable Segment Utilization -- FRITZ!Box cable segment load monitoring with correlation integration (#188)
  • Arris SB6190 Driver -- DOCSIS 3.0, HTTPS with CGI auth, community-contributed (#192)
  • All-Channel Compare Presets -- One-click "All Downstream" / "All Upstream" overlay with auto-scaling colors (#206)
  • Pin This Day -- Preserve raw-resolution Connection Monitor samples for specific days to protect evidence from automatic aggregation (#204)
  • Modulation Health Baseline -- DS health index normalized per-channel against observed baseline instead of theoretical max QAM
  • Channel History Fix -- Fixed empty channel history for Vodafone Station and UltraHub7 caused by float-string channel IDs (#210)
  • Navigation Simplification -- Mobile-first sidebar with collapsible Analysis group, unified Extensions panel, tablet breakpoint fix (#217)
  • Settings UX Guard -- Warns before module toggles and theme apply when form has unsaved changes (#215)
  • Channel Timeline UX -- URL-persistent state via hash fragment, distinct empty states, per-direction state memory for compare mode (#218)
  • Non-DOCSIS Router Support -- Generic Router mode for fiber, DSL, and satellite connections (#129)
  • Community Modem Drivers -- Pluggable driver architecture for community contributions (#131)

Module System

Epic #128 | Released in v2026-02-28.x

DOCSight is now modular. Every major feature is a self-contained module that can be enabled, disabled, or replaced.

  • Core Loader Framework -- Manifest-first auto-discovery, dynamic loading, error isolation (#122)
  • Frontend Integration -- Dynamic sidebar, settings panels, CSS/JS auto-loading from modules (#123)
  • Management API & Settings UI -- Enable/disable modules, status badges, restart banner (#124)
  • Pilot Migration: Weather -- First module migration, validates architecture end-to-end (#125)
  • Migrate All Features -- 8 built-in modules: Backup, BNetzA, BQM, Journal, MQTT, Reports, Speedtest, Weather (#126)
  • Community Module Registry -- docsight-modules repo with starter template and development guide (#127)

See the Module System wiki page for how to install, manage, and build modules.

Dashboard & Settings Redesign

Released in v2026-03-01.1

  • Dashboard Redesign -- Mobile-first PWA dashboard with hero card, metric cards, health rings, grouped channel tables, responsive breakpoints with bottom tab bar on mobile
  • Settings Redesign -- Modular design system with glass cards, toggle rows, consistent layout
  • Theme Engine -- Themes as modules with 3 built-in themes (Classic, Ocean, Tribu), live preview, instant switch. Community themes via module registry
  • PWA & Offline -- Service worker, self-hosted dependencies and fonts, installable as a PWA
  • Design System -- Modular CSS architecture: tokens, components, views, modals, fonts. Per-module CSS isolation
  • Smokeping Module Extraction -- Smokeping extracted to full module with own routes, i18n, templates, and JS

Modulation Performance

Released in v2026-03-06

  • Per-Protocol-Group Health Index -- Correct scaling per (direction, DOCSIS version) (#92)
  • Multi-Day Overview -- Stacked distribution bars and dual-axis health/low-QAM trend (7d/30d)
  • Intraday Channel Drill-Down -- Per-channel modulation timelines with degradation summaries
  • Low-QAM Exposure KPI -- Percentage of time at or below configurable threshold
  • Sample Density Indicator -- Actual vs expected sample count with quality percentage

Before/After Comparison

Released in v2026-03-10.1

  • Side-by-Side Period Comparison -- Compare two custom time windows or quick presets with the same signal metrics used in trends (#50)
  • Health Distribution Summaries -- Per-period quality breakdown for faster before/after assessment
  • Complaint Evidence Integration -- Send the active comparison directly into the complaint letter and technical PDF export
  • Mobile-Friendly Comparison Layout -- Responsive controls and tables that remain usable on narrow screens

BQM Native Charts

Released in v2026-03-16

  • CSV data collection -- Daily automated CSV Yesterday fetch from ThinkBroadband with up to 2 hours of random spread after the configured collect time (min 00:30) (#136)
  • Native uPlot charts -- Interactive latency band (min/max) and proportional packet loss markers, replacing static PNG images
  • Today/Yesterday/7d/30d quick-range -- Quick navigation with PNG fallback for historical dates
  • Authenticated collector -- Share URL extraction with encrypted credentials via ConfigManager

Modem Restart Detection

Released in v2026-03-17

  • Error counter reset detection -- Detects modem restarts by monitoring error counter resets across collection cycles (#60)
  • Event log integration -- Restart events surfaced in the event log with i18n labels

CGM4981COM Driver

Released in v2026-03-24

  • Technicolor CGM4981COM -- Cox Panoramic Gateway PM8/XB8, community-contributed by @coltonfitzgerald (#254)

Quality & Polish Pass

Released in v2026-03-16 through v2026-03-24

  • Comprehensive frontend quality audit -- Accessibility (focus-visible, aria-pressed, keyboard handlers), CSS token consistency, contrast fixes for light mode across all views
  • Speedtest trigger button -- Manual speedtest trigger from the Speedtest page (#255)
  • System font toggle -- Settings > Appearance toggle to switch from Outfit to OS default font (#287)
  • Sagemcom session recovery -- Fixed login crash and session recovery after manual modem login
  • Modem URL fix -- Settings page no longer silently reverts user-configured modem URLs (#288)
  • Report i18n -- Recursive template string extraction and restored accents (#256)

Supply Chain Hardening

Released in v2026-03-26

  • Dependency pinning -- All Python dependencies pinned to exact versions with cryptographic hashes via pip-compile (#294)
  • Docker image pinning -- Base image pinned to SHA256 manifest digest
  • GitHub Actions pinning -- All CI actions pinned to commit SHAs
  • Automated vulnerability audit -- pip-audit runs on every push/PR via pypa/gh-action-pip-audit
  • Dependabot -- Weekly automated updates for pip, GitHub Actions, and Docker
  • Python 3.13 -- Runtime upgraded from Python 3.12 to 3.13 (#296)

Smart Capture

Released in v2026-03-16.1

  • Event-driven speedtest triggers with modulation, SNR, error spike, and health change detection (#234)
  • Configurable guardrails: global cooldown, per-trigger cooldown, max actions per hour, flapping detection
  • Execution history with status tracking (pending, fired, completed, suppressed, expired)
  • Correlation timeline integration for Smart Capture entries
  • Follow-up: Per-trigger sub-settings and Connection Monitor packet loss trigger (#245)

Connection Monitor

Released in v2026-03-11.1

  • Phase 1: Continuous target monitoring -- Always-on latency probing with ICMP/TCP, per-target stats, PingPlotter-style charts, outage log, CSV export (#194)
  • Phase 2: Traceroute burst capture -- On-demand and event-triggered traceroute with hop-level evidence via dedicated setuid C helper (#196)
  • Phase 3: Remote probe / lightweight agent -- Closed. Not planned. (#197)
  • Sample aggregation -- Tiered retention with minute/hour averages for long-term trends, 30d/90d views (#198)

Planned

Signal Intelligence

  • Adaptive Polling -- Automatically increase poll frequency when errors spike
  • Upstream Channel Count Monitoring -- Alert when upstream channels drop
  • Ingress/Return Path Scoring -- Composite score for return path interference detection

Dashboard

  • Network Uptime Calendar -- Month-view heatmap of daily quality

Modem Drivers

  • SNMP-based generic driver

Want to work on one of these? Open an issue to discuss the approach first!

Clone this wiki locally