diff --git a/docs/DESIGN_10.md b/docs/DESIGN_10.md index b9efb5d..c740e2f 100644 --- a/docs/DESIGN_10.md +++ b/docs/DESIGN_10.md @@ -444,6 +444,17 @@ Cette étape les branche **en lecture seule** : `sessionWh` alimenté, `progress quand le régime est `unmeasurable` — jamais à zéro, sans quoi une dégradation se lirait comme un avancement nul, ce que `LM-1009 C1` interdit nommément. +> **⚠️ `sessionEnergy` porte un OFFSET — mesuré le 2026-08-31.** Sur la V2C, l'écart entre +> `sessionEnergy` et `chargeEnergy` est constant au dix-millième (7,2044), parce que +> l'accumulateur du plugin porte les incréments d'avant la dernière remise à zéro. **La valeur +> absolue n'est donc pas l'énergie de la session courante.** `deliveredWh` doit être une +> **différence depuis une base capturée**, jamais une lecture directe — sans quoi toute +> obligation éco se croirait tenue de 7,2 kWh dès le premier cycle. Un nombre crédible et faux, +> que rien ne signalerait. Détail et mesures : `RELEVE_APP_20260831.md`. +> +> Corollaire : **la V2C n'est plus un cas `unmeasurable`.** `LM-1009 C1` reste vraie pour les +> bornes sans l'état, mais le porteur d'exemple change — R6 devra citer une autre classe. + > **C'est ici que R5 devient vraie, et R6 devient TESTABLE avant d'être nécessaire.** Le régime > se publie sans qu'aucune décision ne s'y appuie : l'app peut afficher « non mesurable » sur la > V2C dès cette étape, et la garde de R6 — `ECO_FLOOR_MET` interdit sous `unmeasurable` — aura