From adf40532cb53503a76ad3395535fd431e00d0ed4 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Sun, 6 Sep 2026 09:12:31 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20le=20fuseau=20publi=C3=A9=20qualifie=20?= =?UTF-8?q?une=20horloge,=20et=20son=20avertissement=20est=20conditionnel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deux points qui gouvernent la LECTURE de champs que ce dépôt publie — donc ils vivent ici, même si l'écran qui les rendra vit ailleurs. TIMEZONE QUALIFIE UNE HORLOGE, IL N'OFFRE PAS UN CHOIX. « 12:00 heure de la box (Europe/Paris) » dit la chose ; « Fuseau : Europe/Paris » sous un champ d'échéance laisse croire qu'on choisit le fuseau de CETTE échéance. La nuance n'est pas cosmétique : le fuseau est modifiable, mais c'est un réglage SYSTÈME qui déplace d'un coup toutes les heures murales de l'installation — échéances, frontière de la journée de reporting, et demain les plages tarifaires. Il n'y en a qu'un, et il vaut pour tout. L'AVERTISSEMENT DE DIVERGENCE EST CONDITIONNEL, jamais permanent : il ne s'affiche que si les deux fuseaux comparés diffèrent réellement. Affiché en permanence, il cesse d'être lu — et il cesse de l'être le jour exact où il devient vrai. C'est la règle de l'absence qui informe, déjà appliquée deux fois dans ce contrat : progressUnmeasurableCause absent quand la charge est mesurable, phase absent dans DRAW_CAP quand aucune phase ne mord. Un champ toujours présent ne porte aucune information ; un avertissement toujours affiché non plus. --- INTERFACE.md | 27 +++++++++++++++++++++++++++ specs/spec_loadmodel.md | 11 +++++++++++ 2 files changed, 38 insertions(+) diff --git a/INTERFACE.md b/INTERFACE.md index 74da306..20ff59e 100644 --- a/INTERFACE.md +++ b/INTERFACE.md @@ -1361,6 +1361,33 @@ se distingue pas d'une panne. > Publier le fuseau est ce qui rend cette vérification **possible** — c'est le seul des trois cas > où personne ne contrôlait quoi que ce soit. +> #### `timeZone` qualifie une HORLOGE, il n'offre pas un choix — et ça change la phrase +> +> Le champ dit **dans quelle horloge la box interprétera les heures murales**. Ce n'est pas une +> préférence attachée à l'échéance, et l'écran ne doit pas le laisser croire : +> +> | | | +> |---|---| +> | **dit la chose** | « 12:00 **heure de la box** (Europe/Paris) » | +> | **laisse croire à un choix** | « Fuseau : Europe/Paris » | +> +> La nuance n'est pas cosmétique. Le fuseau **est** modifiable — mais c'est un réglage +> **système**, qui déplace d'un coup **toutes** les heures murales de l'installation : les +> échéances, la frontière de la journée de reporting, et demain les plages tarifaires. Un écran +> qui le présente sous un champ d'échéance suggère qu'on choisit le fuseau **de cette +> échéance-là**. Il n'y en a qu'un, et il vaut pour tout. +> +> #### L'avertissement de divergence est CONDITIONNEL, jamais permanent +> +> Il ne s'affiche que si le fuseau de la box **diffère** de celui de l'appareil. Un avertissement +> qui apparaît toujours cesse d'être lu — et il cesse d'être lu **précisément le jour où il +> devient vrai**. +> +> C'est la règle de l'absence qui informe, déjà appliquée deux fois dans ce contrat : +> `progressUnmeasurableCause` est **absent** quand la charge est mesurable, et `phase` est +> **absent** dans `DRAW_CAP` quand aucune phase n'est coupable. Un champ toujours présent ne +> porte aucune information ; un avertissement toujours affiché non plus. + --- ### Spot market diff --git a/specs/spec_loadmodel.md b/specs/spec_loadmodel.md index 8466062..1daadbc 100644 --- a/specs/spec_loadmodel.md +++ b/specs/spec_loadmodel.md @@ -650,6 +650,17 @@ Seul le second peut coûter de l'argent, et seul le second est **indevinable par fournisseur. Les fusionner en un unique « les fuseaux diffèrent » ferait disparaître celui des deux qui compte derrière celui qui se corrige tout seul. +**Et les deux sont CONDITIONNELS.** Un avertissement ne s'affiche que si les deux fuseaux +comparés diffèrent réellement. Affiché en permanence, il cesse d'être lu — et il cesse de l'être +**le jour exact où il devient vrai**. C'est la règle de l'absence qui informe, la même qui rend +`progressUnmeasurableCause` absent sur une charge mesurable et `phase` absent dans `DRAW_CAP` +quand aucune phase ne mord. + +**Corollaire de formulation** : le fuseau publié qualifie une HORLOGE, il n'offre pas un choix. +« 12:00 heure de la box (Europe/Paris) » dit la chose ; « Fuseau : Europe/Paris » sous un champ +d'échéance laisse croire qu'on choisit le fuseau de CETTE échéance. Il n'y en a qu'un, c'est un +réglage système, et il déplace d'un coup toutes les heures murales de l'installation. + **LM-1005-b-iv — la frontière d'une période de reporting se PUBLIE, elle ne se recalcule pas.** *(Demandé par l'agent app, posé le 2026-09-05.)*