From 367eb82db500e1e23b5f8df2e5ca14efc8151f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zachary=20Gu=C3=A9not?= Date: Wed, 9 Sep 2026 02:47:49 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20spec=20=E2=80=94=20make=20ISP=20metrics?= =?UTF-8?q?=20nullable,=20they=20are=20absent=20during=20a=20WAN=20outage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 --- .../specs/2026-09-08-unifi-os-integration-design.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/superpowers/specs/2026-09-08-unifi-os-integration-design.md b/docs/superpowers/specs/2026-09-08-unifi-os-integration-design.md index 595f30a3a..f8fd6b457 100644 --- a/docs/superpowers/specs/2026-09-08-unifi-os-integration-design.md +++ b/docs/superpowers/specs/2026-09-08-unifi-os-integration-design.md @@ -139,10 +139,13 @@ export interface UnifiOsSummary { isp: { name: string; externalIp: string | null; - latencyMs: number; - maxLatencyMs: number; - packetLossPct: number; - uptimePct: number; + /** Nullables : le cloud omet ces mesures pour les périodes où le WAN + * était coupé. Un `0` fabriqué s'afficherait comme « 0 ms » à côté d'un + * voyant vert, au moment précis où la connexion est tombée. */ + latencyMs: number | null; + maxLatencyMs: number | null; + packetLossPct: number | null; + uptimePct: number | null; /** Horodatage de la mesure. Rendu obligatoire : toute donnée cloud * voyage avec sa fraîcheur. */ measuredAt: Date;