docs: deux contrôles qui ne mordent pas, et la question qui les démasque
La recherche auto-confirmante : après avoir corrigé le signe du solaire, la vérification cherchait `pvPower.abs` — donc la ligne qu'on venait d'écrire, ce qui a caché la seconde occurrence, non corrigée. On cherche la GRANDEUR, jamais le correctif. Le contrôle vrai par construction : `deliveredWh + remainingWh == targetWh` ne peut pas échouer sous `unmeasurable`, et l'afficher comme « identité OK » ferait lire un feu vert sur le régime qu'elle ne contrôle pas. La parade est commune : qu'est-ce que ce contrôle aurait attrapé s'il avait échoué ? Si la réponse est « rien », il décore — et il coûte plus qu'aucun contrôle, parce qu'il occupe la place de celui qui aurait mordu. Avec le corollaire rencontré deux fois le même jour : une absence côté APP présentée comme une absence côté BOX. Avant d'écrire qu'une chose n'est pas publiée, vérifier qu'on est allé la chercher. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
This commit is contained in:
parent
cd202840f1
commit
9edd9cc51f
30
CLAUDE.md
30
CLAUDE.md
@ -475,6 +475,36 @@ client peut vérifier.
|
||||
|
||||
---
|
||||
|
||||
## Deux contrôles qui ne mordent pas — et la question qui les démasque
|
||||
|
||||
**1. La recherche AUTO-CONFIRMANTE.** Après avoir corrigé le signe du solaire, la
|
||||
vérification a cherché `pvPower.abs` — donc elle a trouvé **la ligne qu'on venait
|
||||
d'écrire**, et elle a caché la seconde, non corrigée. Il fallait chercher `pvPower`. Le
|
||||
défaut a survécu un jour de plus et c'est l'écran qui l'a montré.
|
||||
|
||||
> **Chercher la trace de sa propre correction ne dit rien de ce qu'on a manqué.**
|
||||
> On cherche la GRANDEUR, jamais le correctif.
|
||||
|
||||
**2. Le contrôle vrai par construction.** L'identité `deliveredWh + remainingWh == targetWh`
|
||||
ne peut pas échouer sous `unmeasurable` : `deliveredWh` y vaut 0 et `remainingWh` la cible.
|
||||
Elle ne mord que sous `measured` — et l'afficher comme « identité OK » ferait lire un feu
|
||||
vert sur le régime qu'elle ne contrôle pas.
|
||||
|
||||
**La parade est la même pour les deux, et elle tient en une question** :
|
||||
|
||||
> **qu'est-ce que ce contrôle aurait attrapé s'il avait échoué ?**
|
||||
|
||||
Si la réponse est « rien » ou « je ne sais pas », le contrôle décore. Un contrôle qui ne peut
|
||||
pas échouer n'est pas un contrôle : c'est une phrase rassurante, et elle coûte davantage
|
||||
qu'aucun contrôle — parce qu'elle occupe la place de celui qui aurait mordu.
|
||||
|
||||
Corollaire de terrain, rencontré **deux fois le même jour** : *une absence côté APP présentée
|
||||
comme une absence côté BOX*. Un provider non chargé, une carte sans domaine — et l'écran
|
||||
annonce « non publié » sur une donnée que la box publie. Avant d'écrire qu'une chose n'est
|
||||
pas publiée, vérifier qu'on est allé la chercher.
|
||||
|
||||
---
|
||||
|
||||
## Règles de modification
|
||||
- Tout nouvel écran → valider maquette avec Patrick avant de coder
|
||||
- Tout nouvel appel RPC → vérifier dans `INTERFACE.md` que la méthode existe
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user