docs: LM-1012/LM-1013, et R3 est bloquée par une destination qui n'en est pas une
LM-1013 — « grid » l'emporte dès qu'un watt est acheté, écrit comme RÈGLE et non comme approximation. L'argument de l'agent app emporte la décision : tant qu'on la décrit comme approximative, quelqu'un voudra la rendre exacte — part dominante, seuil de majorité — et sur 900/480 le libellé basculerait d'un cycle à l'autre sans qu'aucune décision n'ait changé. Déterministe, indépendante des proportions, alignée sur le fait actionnable, et vraie sans décision nouvelle pour le plancher éco du §10. Pas de « mixed » publié, et c'est l'app qui l'a prouvé par son propre code : tout client qui teste funding == "grid" a une branche par défaut, et cette branche est « surplus ». Une troisième valeur y tomberait SANS ERREUR et rangerait au soleil un niveau dont une part est achetée. LM-1012 — on publie ce qui ne se dérive pas, on dérive ce qui se dérive. La ligne est de l'app et elle vaut au-delà du cas : une valeur dérivée LOCALE est légitime PARCE QU'elle est dérivable ; publiée, elle est illégitime POUR LA MÊME RAISON. Elle explique après coup trois refus pris séparément — l'index d'ordre de service, le « mixed », et stagesW qui est publié précisément parce que la combinatoire n'est PAS dérivable côté client. Symétrique : rankOrigin est publié parce que rien dans un rang ne dit qui l'a posé. Ses trois demandes : clés opaques jamais réutilisées (engagement pris, même règle que les numéros de règle retirés) ; counts publié même à zéro avec sa destination (confirmé) ; et counts fait foi pour la COMPTABILITÉ, decision.params pour la PHRASE du motif (sa lecture est la bonne). MAIS R3 NE PEUT PAS ÊTRE ÉCRITE TELLE QUELLE, et c'est le résultat de la journée. budget.evReservedW n'est pas un registre d'allocation : c'est un terme de correction du budget, et il mélange la correction A — commandé non encore mesuré, calculé AVANT la cascade — avec la part réseau d'EV_GRID_START, qui est une vraie tranche d'allocation. Une borne servie au réseau qui tire déjà ce qu'on lui a commandé y contribue 0 alors que son targetW vaut 7 000 W : Σ counts == targetW serait vrai au premier cycle et faux ensuite. Ça passerait les tests et dériverait en production. Ce que R3 a mis au jour : les watts achetés n'ont AUCUN registre aujourd'hui. draw.committedW devient un préalable à R3, pas une suite — petit, et sans effet sur l'arithmétique, la ligne 355 étant de la publication seule. Ce qui change est le SENS d'evReservedW, qui redevient une correction. Proposé à l'app, en attente : c'est son identité de réconciliation. Aucun code : counts n'est pas livré sur une base fausse. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015F7G5VeaPVSMeVNjiGj36p
This commit is contained in:
parent
d024042253
commit
a9c688489b
@ -879,6 +879,50 @@ motif faux envoie diagnostiquer le mauvais problème, avec l'autorité d'une exp
|
||||
> elle est en aval de la coupure, elle n'est pas la coupure. Sans cette précédence, deux charges
|
||||
> successives auraient produit deux points de rupture concurrents dans le même cycle.
|
||||
|
||||
**LM-1012 — On PUBLIE ce qui ne se dérive pas ; on DÉRIVE ce qui se dérive.** *(Ligne tracée par
|
||||
l'agent app le 2026-08-30. Elle vaut bien au-delà du §10, et elle explique après coup plusieurs
|
||||
refus qu'on avait pris un par un.)*
|
||||
|
||||
La légitimité d'une valeur **dérivée** ne dépend pas de son utilité, mais de **l'endroit où elle
|
||||
vit** :
|
||||
|
||||
- **dérivée, locale, jamais transportée** → légitime, et **précisément parce qu'**elle est
|
||||
dérivable : chaque lecteur la recalcule, elle ne peut pas mentir.
|
||||
- **dérivée et PUBLIÉE** → illégitime, **pour la même raison** : elle devient une seconde source
|
||||
de vérité pour un fait qui en a déjà une, et les deux divergeront.
|
||||
|
||||
C'est ce qui distingue un `"mixed"` calculé côté client — parfaitement légitime, il se relit à
|
||||
chaque affichage — d'un `"mixed"` publié par le moteur, qui serait une valeur à maintenir en
|
||||
accord avec une ventilation qui, elle, fait foi.
|
||||
|
||||
> **Elle couvre, après coup, trois refus déjà pris séparément** : l'**index d'ordre de service**
|
||||
> (dérivable d'un tri sur `(niveau, priority)`), le **`"mixed"` de `funding`** (dérivable de
|
||||
> `counts`), et le **`stagesW`** publié — qui, lui, est publié *parce que* la table de paliers
|
||||
> n'est PAS dérivable côté client, la combinatoire vivant dans l'adaptateur.
|
||||
>
|
||||
> **Et son symétrique** : `rankOrigin` est publié parce qu'il **ne se dérive pas** — rien dans un
|
||||
> rang ne dit qui l'a posé.
|
||||
|
||||
**LM-1013 — `grid` l'emporte dès qu'un seul watt est acheté.** *(Règle posée par l'agent app le
|
||||
2026-08-30, retenue telle quelle : c'est une RÈGLE, pas une approximation, et la nuance décide.)*
|
||||
|
||||
Le financement d'un niveau vaut `"grid"` **dès qu'une part, si petite soit-elle, est achetée au
|
||||
réseau** ; `"surplus"` seulement si la totalité vient du surplus.
|
||||
|
||||
**Pourquoi ce n'est pas « une approximation qu'on assume »** : tant qu'on la décrit ainsi,
|
||||
quelqu'un voudra un jour la rendre *exacte* — part dominante, seuil de majorité. Sur un niveau à
|
||||
900 W de surplus et 480 W de réseau, un tel libellé **basculerait d'un cycle à l'autre au gré des
|
||||
proportions**, sans qu'aucune décision n'ait changé. La règle « un watt acheté suffit » est
|
||||
**déterministe, indépendante des proportions**, alignée sur le fait actionnable — *de l'argent
|
||||
a-t-il été dépensé ?* — et elle vaudra **sans décision nouvelle** pour le plancher éco du §10.
|
||||
|
||||
> **Et il n'y aura pas de troisième valeur `"mixed"`.** L'argument est celui de l'app, et il est
|
||||
> décisif : **tout client qui teste `funding == "grid"` a une branche par défaut, et cette
|
||||
> branche est « surplus »**. Une valeur inconnue y tomberait **sans erreur**, et rangerait au
|
||||
> soleil un niveau dont une part est achetée — c'est la panne de l'omission, avec un champ
|
||||
> présent en plus pour faire croire le contraire. Le client qui veut la nuance la **dérive** de
|
||||
> `counts` (LM-1012).
|
||||
|
||||
**LM-1007 — Compatibilité descendante, et elle est gratuite.** Une charge qui ne déclare
|
||||
**aucun** besoin éco ne participe qu'à la passe 2 — soit exactement le comportement
|
||||
d'aujourd'hui. Le modèle à deux niveaux **dégrade proprement** vers le modèle actuel, ce qui
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user