diff --git a/specs/spec_loadmodel.md b/specs/spec_loadmodel.md index 170ce07..baa2228 100644 --- a/specs/spec_loadmodel.md +++ b/specs/spec_loadmodel.md @@ -997,6 +997,18 @@ o:measurement { distinguer « pas mesurable » de « compteur en panne », et continue d'afficher un bloc de mesure vide sur un `sg-ready` qui n'en aura jamais. +> **Et `none` ne se confond pas avec l'ABSENCE de la charge.** *(Distinction remontée par +> l'agent app, 2026-08-28.)* `none` est **publié**, donc il AFFIRME. L'absence n'affirme rien : +> elle dit que la charge n'a pas participé à l'arbitrage du cycle — mode manuel, aucun véhicule +> branché — ce qui est sans rapport avec sa mesurabilité. Une borne débranchée est absente de +> `loads[]` et publiera `device` dès qu'on y branchera une voiture ; lui annoncer « le compteur +> dédié est la seule voie » serait faux. +> +> C'est la même famille que LM-1009 D — *un champ absent se voit ; un champ qui s'efface se lit +> comme un zéro* — appliquée un cran plus haut : ici c'est l'ENTRÉE entière qui s'efface, et la +> lire comme un `none` transformerait un silence en affirmation. La garantie qui rend la règle +> utilisable : **`measurement` est présent pour toute charge de `loads[]`, et pour elle seule.** + > **Sous `none`, aucune valeur n'est publiée sous ce nom.** La puissance *nominale* existe et > reste lisible — `mechanism.stageW`, `mechanism.state`, `mechanism.estimatedPowerW` la portent > déjà, et disent d'où elle vient. La faire passer pour une mesure produirait un écart