diff --git a/specs/spec_loadmodel.md b/specs/spec_loadmodel.md index d92d783..3e9a54c 100644 --- a/specs/spec_loadmodel.md +++ b/specs/spec_loadmodel.md @@ -593,6 +593,58 @@ surplus. **Ne pas confondre les deux bornes** : c'est ce qui distingue un planch ordre. L'app doit le montrer — deux passes visibles, pas un classement unique qui aurait l'air désobéi. Sans cela, le premier retour terrain sera « l'ordre n'est pas respecté ». +**LM-1006-1 — Le délestage n'est pas « la protection de surcharge » : c'est l'application d'un +PLAFOND DE SOUTIRAGE, quelle qu'en soit la source.** *(Note de conception, Patrick, 2026-08-27. +Ne déclenche aucun travail — elle existe pour que la porte reste ouverte.)* + +Le §14a EnWG (Allemagne) permettra au gestionnaire de réseau d'imposer un **plafond de puissance +au point de livraison**, que l'EMS répartit ensuite librement sur les appareils. C'est le même +mécanisme que le délestage exigé par LM-1006 (couplage 1), avec une **source de commande +différente**. + +Il y a donc **trois sources pour un seul mécanisme** : + +| Source | Nature du plafond | Durée | +|---|---|---| +| **Disjoncteur de branchement** | physique — `phasePowerLimit` | permanent | +| **§14a EnWG** | externe, **sur ordre** du gestionnaire de réseau | temporaire | +| **§10 éco** (LM-1005) | implicite — celui qu'on **s'impose** en décidant de soutirer | le temps de la passe 1 | + +**Ce qui est demandé, et c'est tout** : quand le délestage général sera écrit, ne pas l'écrire +comme *« la protection de surcharge »* mais comme *« appliquer un plafond de soutirage »*. La +source est un paramètre, pas une hypothèse enfouie dans le nom de la fonction. **Cela tient dans +une signature aujourd'hui ; ce serait une refonte dans deux ans.** + +Deux propriétés sont vraies des **trois** sources. Les tenir dès l'écriture ne coûte rien ; les +rattraper après coûte le mécanisme entier. + +1. **Le plafond le plus contraignant l'emporte — et on doit pouvoir dire LEQUEL a mordu.** + C'est exactement l'exigence qui sépare `BELOW_MIN_POWER` de `SURPLUS_INSUFFICIENT` (§12), et + elle se transpose telle quelle : un client bridé doit lire **« gestionnaire de réseau »** et + non « protection de surcharge ». **Deux causes, deux gestes** — l'une se subit et se + renseigne auprès du fournisseur, l'autre s'attaque en délestant la maison ou en revoyant + l'abonnement. Un motif qui les confond envoie diagnostiquer le mauvais problème, avec + l'autorité d'une explication (règle 7-b d'`AGENTS.md`). + + > Conséquence pratique : le plafond retenu et sa **source** appartiennent au motif publié, + > pas au seul journal. Le catalogue de motifs est fermé et testé sur le TEXTE — c'est le bon + > endroit pour que cette distinction ne puisse pas se perdre. + +2. **Le plafond survit à la panne du HEMS.** Vrai du disjoncteur **par construction**. Ce sera + une **obligation légale** pour le §14a : une coupure totale y est interdite, mais le plafond, + lui, doit tenir — y compris quand le moteur ne décide plus. + + > C'est une contrainte sur `degradedMode`, et elle n'est pas celle qu'on aurait devinée. Le + > repli L2 d'aujourd'hui est conçu pour **ne rien initier** (`docs/SAFETY.md` §L2) ; il n'est + > pas conçu pour **continuer à faire respecter une borne** qu'un tiers a imposée. Autant + > concevoir le repli là-dessus tout de suite plutôt que de le découvrir en certification. + +**Ce que cette note ne demande PAS** : aucun champ de configuration, aucune entrée au modèle de +charges, aucun code. Le §14a n'a pas de transport ici (il arrivera par un canal qui n'existe pas +encore), et le §10 n'est pas parti. C'est une **contrainte de forme sur du code non écrit**. + +--- + **LM-1008 — La cible de confort : les deux unités, mais pas au même endroit.** *(Décision Patrick, 2026-08-26.)* @@ -872,7 +924,9 @@ derrière une seule. - il **change le waterfall lui-même**, alors que les deux précédents l'entourent ; - il fait de l'arbitre un **acheteur**, ce qui ouvre le prix, l'heure et le signal tarifaire ; -- **il est indissociable du délestage général** (LM-1006-1), qui n'existe pas encore : la +- **il est indissociable du délestage général** (LM-1006-1, désormais **défini** — et il est à + écrire comme un plafond de soutirage à trois sources, pas comme la protection de surcharge), + qui n'existe pas encore : la protection de surcharge ne déleste que les bornes. Livrer les planchers éco sans lui, c'est livrer un mécanisme capable de faire disjoncter une installation un matin sans soleil.