docs: trois modes tranchés, et les transitions de dérogation sont écartées du tri

DÉCISION PRODUIT (Patrick, 2026-09-08, après validation du lot sur le banc) :
trois modes — Normal (manuel), PV, Min+PV — et le boost n'en est PAS un
quatrième. C'est la dérogation : un bouton d'action à côté du sélecteur, posé
par SetLoadDerogation et non par SetChargingInfo, avec sa durée obligatoire et
bornée [60 s, 6 h] que l'écran doit faire saisir. Gravé dans les RÉPONSES
FIGÉES : un mode se choisit et dure, une dérogation répond à un besoin ponctuel
et s'efface — les deux ne se rangent pas au même endroit.

CRITÈRE DE TRI DE L'ÉTAPE 4 — une clause de plus, écrite sur la mesure. Une
dérogation fait bouger la consigne de plusieurs kilowatts d'un coup, et CHAQUE
BORD ouvre une divergence : à l'ouverture la voiture négocie sa montée (13800
attendus, 3930 mesurés, convergence en 300 s), à la fermeture la borne n'a pas
encore décru (0 attendu, 8367 mesurés).

La fermeture est la plus trompeuse : immédiate, énorme, et trait pour trait
semblable à une commande ignorée. Le discriminant est temporel et déjà publié —
une divergence née dans le même cycle qu'un DEROGATION_ENDED, ou qu'un
DEROGATION_ACTIVE neuf, est une transition.

Sans cette clause, chaque boost compterait pour DEUX incidents, et l'étape 4 se
justifierait d'elle-même en comptant ses propres transitoires : le mécanisme du
§6.2 — un instrument qui fabrique la preuve dont il a besoin — déplacé du banc
vers la mesure.

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-09-08 12:09:03 +02:00
parent 0504543d87
commit 5dfd8b9047
2 changed files with 28 additions and 0 deletions

View File

@ -1367,6 +1367,17 @@ aucune, la décision est une intention, et elle se périmera à la vitesse du co
- `protocolVersion` : **constante `"1.0"`**, pas un paramètre de config.
- Renommage : FAIT (Phase 1, commit f4d5b20). TARGET et noms de paquets debian
INCHANGÉS (.so drop-in remplaçant l.amont — garantit un seul plugin énergie chargé).
- **TROIS modes de charge, et le boost n'en est pas un** (tranché par Patrick le 2026-09-08,
après validation du lot sur le banc réel). Le sélecteur porte **Normal (manuel) · PV ·
Min+PV** — plus leurs variantes à échéance. Le **boost est une DÉROGATION** : un bouton
d'action à côté du sélecteur, jamais une quatrième position.
· Il ne passe **pas** par `SetChargingInfo` mais par `NymeaEnergy.SetLoadDerogation`.
· Sa **durée est obligatoire et bornée `[60 s, 6 h]`**, refusée hors de là (\rule{LM-1500}) —
et c'est à l'écran de la faire saisir.
· Un mode écrit pendant une dérogation la **termine** (\rule{LM-1500-g}), sans restituer.
Ne pas rouvrir la question « faut-il un ChargingModeBoost ? » : un mode se choisit et dure,
une dérogation répond à un besoin ponctuel et s'efface. Les deux ne se rangent pas au même
endroit.
## WORKFLOW OBLIGATOIRE

View File

@ -222,6 +222,23 @@ l'objet `command` ne le distingue d'un zéro réel.
- **Écarté** : les épisodes sur une charge dont le compteur est constant sur la fenêtre.
- **Le compte des écartés est publié aussi.** Un tri dont on ne dit pas ce qu'il a jeté n'est pas
un tri, c'est une sélection.
- **Écarté aussi : les épisodes de TRANSITION DE DÉROGATION** — ajouté le 2026-09-08, mesuré.
Une dérogation fait bouger la consigne de plusieurs kilowatts d'un coup, dans les deux sens, et
chaque bord ouvre une divergence :
| bord | trace du banc | nature |
|---|---|---|
| ouverture | `11:53:00 DÉBUT — attendu 13800 W, mesuré 3930 W` → `11:57:00 FIN après 300 s — attendu 8970 W, mesuré 8396 W` | la voiture **négocie sa montée** |
| fermeture | `11:58:00 DÉBUT — attendu 0 W, mesuré 8367 W` | la borne **n'a pas encore décru** |
**La fermeture est la plus trompeuse** : l'écart est immédiat, énorme, et il ressemble trait
pour trait à une commande ignorée. Le discriminant est temporel et il est publié — **une
divergence qui naît dans le même cycle qu'un `DEROGATION_ENDED`, ou dans celui d'un
`DEROGATION_ACTIVE` neuf, est une transition en cours.**
Sans cette clause, **chaque boost compterait pour deux incidents**, et l'étape 4 se justifierait
d'elle-même en comptant ses propres transitoires. C'est le mécanisme du §6.2 — un instrument
qui fabrique la preuve dont il a besoin — appliqué à la mesure au lieu du banc.
---