docs: draw.committedW n'est pas sur la box — annoncé ≠ construit ≠ posé

CLAUDE.md le portait comme « annoncé livré, non vérifié ». Le fait est plus
simple : le code est écrit côté moteur, le cross-build n'a pas été fait, aucun
paquet +etm31 n'existe, la box porte +etm30 et la trame ne contient aucune clé
`draw`. La pose est relancée ; l'exception `EV_GRID_START` tient jusqu'à ce que
la sonde voie le champ sortir.

Et la règle qui a servi entre dans les règles de modification, à côté de celle
sur `JSONRPC.Introspect` : vérifier la VERSION POSÉE avant de croire une
livraison annoncée — `ssh etm@192.168.1.75 'dpkg -l | grep powersync-energy'`.
Un champ absent parce qu'il n'est pas déployé se lit exactement comme un champ
absent parce qu'il est omis.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
This commit is contained in:
Patrick Schurig 2026-08-30 09:25:02 +02:00
parent 43fd79ad62
commit faffc43dd9
2 changed files with 20 additions and 4 deletions

View File

@ -279,10 +279,13 @@ plan, pas de financement.
> véhicule » affirmait deux faussetés : que c'est réservé, et que ça regarde le véhicule
> plutôt que la latence de sa mesure.
>
> Les watts achetés n'auront de registre qu'avec **`draw.committedW`**, préalable à R3.
> Annoncé livré en `+etm31` — **non vérifié à la sonde** : le 2026-08-30 la box porte
> `powersync-energy-plugin-nymea 1.15.2+etm30`, et aucune clé `draw` n'apparaît dans la
> télémétrie.
> Les watts achetés n'auront de registre qu'avec **`draw.committedW`**. **Il n'est PAS sur la
> box** au 2026-08-30, et « annoncé » ne vaut pas « posé » : le code est écrit côté moteur, le
> cross-build n'a pas été fait, **aucun paquet `+etm31` n'existe**. Mesuré :
> `powersync-energy-plugin-nymea 1.15.2+etm30`, et aucune clé `draw` dans la trame.
>
> **Rien d'autre ne s'écrit ici avant que la sonde ait vu `draw.committedW` sortir** — et
> l'exception `EV_GRID_START` de `surplusShareW` tient jusque-là.
Le niveau publié est `"comfort"` et ce **n'est pas un rebaptisage** : c'est bien la passe
qui, au §10, servira le confort depuis le surplus. Un niveau à `targetW: 0` est une passe
@ -409,5 +412,10 @@ entiers **déjà en pourcentage** (ne pas confondre `reservePercent` = 40 avec
- **Vérifier ce fichier contre `JSONRPC.Introspect` avant chaque lot.** Trois fois le
2026-08-25, la doc locale était en retard sur la machine et a envoyé un agent dans le vide.
La sonde tient en une ligne : `dart tools/rpc/probe.dart 192.168.1.75 JSONRPC.Introspect`
- **Et vérifier la VERSION POSÉE avant de croire une livraison annoncée**, en une ligne aussi :
`ssh etm@192.168.1.75 'dpkg -l | grep powersync-energy'`. Le 2026-08-30, `+etm31` était
annoncé sur la box : le code était écrit, le cross-build jamais fait, la box portait `+etm30`
et la clé attendue n'existait pas. **Annoncé ≠ construit ≠ posé** — et un champ absent parce
qu'il n'est pas déployé se lit exactement comme un champ absent parce qu'il est omis.
- Toujours tester la persistance : killer l'app et vérifier que les données survivent
- Flavors à configurer : `com.etm-powersync.community` / `.auto` / `.predictai`

View File

@ -57,6 +57,14 @@ n'apparaîtra qu'avec l'objet complet.
correction. Nous ne le renommerons pas au jugé — donnez la définition, nous écrirons le
libellé. C'est le seul geste que cette découverte laisse en suspens côté écran.
### État mesuré au 2026-08-30, et ce qu'il autorise
Sonde contre `.75` après l'annonce de `+etm31` : **aucune clé `draw` dans la trame**, et le
paquet dit pourquoi — `powersync-energy-plugin-nymea 1.15.2+etm30`, aucun paquet `+etm31`
(code écrit, cross-build non fait). **La pose est relancée ; l'exception `EV_GRID_START` reste
dans `surplusShareW` jusqu'à ce que la sonde voie `draw.committedW` sortir.** C'est la sonde
qui autorise le retrait, pas l'annonce — y compris quand l'annonce est juste.
### Ce qui ne bouge pas
`counts` reste retenu tel qu'arbitré ce matin : la **forme** ne change pas, seul son préalable