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 > 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. > plutôt que la latence de sa mesure.
> >
> Les watts achetés n'auront de registre qu'avec **`draw.committedW`**, préalable à R3. > Les watts achetés n'auront de registre qu'avec **`draw.committedW`**. **Il n'est PAS sur la
> Annoncé livré en `+etm31` — **non vérifié à la sonde** : le 2026-08-30 la box porte > box** au 2026-08-30, et « annoncé » ne vaut pas « posé » : le code est écrit côté moteur, le
> `powersync-energy-plugin-nymea 1.15.2+etm30`, et aucune clé `draw` n'apparaît dans la > cross-build n'a pas été fait, **aucun paquet `+etm31` n'existe**. Mesuré :
> télémétrie. > `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 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 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 - **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. 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` 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 - Toujours tester la persistance : killer l'app et vérifier que les données survivent
- Flavors à configurer : `com.etm-powersync.community` / `.auto` / `.predictai` - 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 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. 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 ### Ce qui ne bouge pas
`counts` reste retenu tel qu'arbitré ce matin : la **forme** ne change pas, seul son préalable `counts` reste retenu tel qu'arbitré ce matin : la **forme** ne change pas, seul son préalable