docs(contrat): une charge absente de la télémétrie n'est pas « none »

Distinction remontée par l'agent app, qui a dû l'ajouter parce que le contrat ne
la portait pas — et confirmée sur le banc le jour même.

`none` est PUBLIÉ, donc il affirme « cette charge n'est pas mesurable ».
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é. Sans la distinction, une borne débranchée se verrait annoncer « le
compteur dédié est la seule voie » alors qu'elle publiera la sienne au prochain
cycle.

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 est posée explicitement : `measurement`
est présent pour toute charge de loads[], et pour elle seule.

Constaté tel quel sur .75 en +etm26 : deux bornes pluggedIn:false absentes de
loads[], dont la V2C qui porte currentPower.

AGENTS.md consigne aussi l'état du déploiement et les trois vérifications de banc
masquées par la configuration de la box — chauffe-eau et pac-terrain portant un
meterThingId réel, elles publient `meter` et le chemin `device` n'est pas atteint.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015F7G5VeaPVSMeVNjiGj36p
This commit is contained in:
Patrick Schurig 2026-08-28 15:21:33 +02:00
parent 35e577ce6c
commit 70d64a53fa

View File

@ -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