From bf23bda070d2b3dbc6b54cb7034cf3cdd4791fe1 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Fri, 4 Sep 2026 05:47:40 +0200 Subject: [PATCH] =?UTF-8?q?docs(=C2=A710):=20+etm52=20=E2=80=94=20la=20con?= =?UTF-8?q?tradiction=20progressMeasurable/regime=20est=20lev=C3=A9e,=20me?= =?UTF-8?q?sur=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sonde sur le banc, version relue avant (1.15.2+etm52, posée le 03/09), obligation déclarée puis retirée, restauration « 0 écart, clé par clé ». `progressMeasurable: true` et `regime: "measured"` sortent enfin sur la même charge : l'avertissement de saisie parlera là où il faut, et l'achat à l'aveugle a cessé pour une charge instrumentée. `deliveredWh` est présent (0, pas absent), `measuredSince` stable sur sept cycles. `purchasedWh` et `deliveredWh` divergent — 27,5 Wh achetés, 0 livré — et c'est ce qui prouve qu'ils ne font pas doublon. Ici la cause est bénigne : `ECS-Meter.totalEnergyConsumed` vaut 10 depuis le 1er septembre, constante du mock. Mais la divergence donne à l'écran un contrôle qu'il n'aurait pas su fabriquer : sous `measured`, acheté qui monte et livré qui reste plat = soit la charge ne consomme pas, soit le compteur ne compte pas. Non conclu : la décroissance de `remainingWh`, donc l'étalement adaptatif. Elle exige un cumul qui avance. Le comportement observé est aujourd'hui identique à celui d'`unmeasurable` pour une raison entièrement différente — la coïncidence même qui ferait conclure juste sur une mauvaise raison. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw --- docs/BRIEF_plugin_depuis_maquettes.md | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/BRIEF_plugin_depuis_maquettes.md b/docs/BRIEF_plugin_depuis_maquettes.md index e25513f..e37d0a5 100644 --- a/docs/BRIEF_plugin_depuis_maquettes.md +++ b/docs/BRIEF_plugin_depuis_maquettes.md @@ -2,6 +2,46 @@ --- +## 2026-09-04 — `+etm52` : la contradiction est levée, mesurée + +Obligation déclarée puis retirée (`chauffe-eau`, 4 000 Wh avant 12:00, sept cycles, restauration +depuis la capture — *« 0 écart, clé par clé »*). Version relue avant de sonder : `1.15.2+etm52`, +posée le 03/09 à 06:52:20, `nymead` actif. + +```jsonc +"progress": { "regime": "measured", "targetWh": 4000, "deliveredWh": 0, + "measuredSince": "2026-09-04T03:42:00Z", "purchasedWh": 27.52 } +``` + +**`progressMeasurable: true` en configuration et `regime: "measured"` en télémétrie, sur la même +charge.** La contradiction est levée : l'avertissement de saisie parlera là où il faut, et l'achat +à l'aveugle a cessé pour une charge instrumentée. `deliveredWh` est **présent** (0, pas absent) — +la distinction est tenue dans le bon sens. `measuredSince` porte l'instant d'ouverture et ne bouge +plus sur sept cycles. + +### `purchasedWh` et `deliveredWh` divergent, et c'est ce qui prouve qu'ils ne font pas doublon + +Sous `measured` : **27,5 Wh achetés, 0 Wh livré**. Sur ce banc l'explication est bénigne — +`ECS-Meter.totalEnergyConsumed` vaut **10 depuis le 1er septembre**, c'est une constante du mock, +relevée deux fois à une seconde d'intervalle. Le chemin est branché et lu ; la grandeur qu'il lit +ne bouge pas. + +Mais la divergence elle-même est le fait utile : elle donne à l'écran un **contrôle qu'il n'aurait +pas su fabriquer**. Sous `measured`, `purchasedWh` qui monte pendant que `deliveredWh` reste plat +veut dire *soit* que la charge ne consomme pas ce qu'on achète, *soit* que le compteur ne compte +pas. Deux causes, deux gestes, et aucune n'est inventée par l'app. + +### Ce qui reste inobservable ici, et je ne le conclus pas + +**La décroissance de `remainingWh`**, donc l'étalement adaptatif. Elle exige un cumul qui avance : +il faudrait un compteur de banc dont `totalEnergyConsumed` progresse, ou une charge réelle. Le +comportement observé — `remainingWh` figé à 4 000 — est aujourd'hui **identique** à celui de +`unmeasurable`, pour une raison entièrement différente et bénigne. C'est exactement le genre de +coïncidence qui ferait conclure juste pour une mauvaise raison, et tenir jusqu'au jour où quelqu'un +bâtit sur la raison. + +--- + ## 2026-09-03 (suite) — avant d'écrire `sessionWh` sur un compteur : la garde ne peut pas être le recul Le correctif est le bon, et l'ordre aussi. Une mise en garde avant qu'il soit écrit, parce