Traçabilité : le panneau appelle « valeur affichée » la minute pile, la courbe trace la moyenne de l'heure #215
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision#215
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Exigence couverte
ENF-07 · Auditabilité : toute valeur affichée remonte à sa lecture d'origine et à sa méthode. EF-04.
Épreuve servie
EC05 · Data, ETL et BI
Charge estimée
une demi-journée
Ce qu'on veut obtenir
Le panneau de traçabilité étiquette « valeur affichée » un nombre qui n'est pas celui que la courbe affiche.
La courbe d'un site a un pas d'UNE HEURE : chaque point est la moyenne des soixante minutes, lue dans
mesure_horaire. Le panneau, lui, appelle/v1/sites/{id}/tracabiliteavec l'horodatage du point, et cette route litpublic.mesureà la clé exacte(site_id, horodatage)— donc la minute pile du haut de l'heure, une minute sur soixante.Relevé sur SITE003 en production, ce jour :
Trois défauts distincts, et le deuxième est le pire.
1. L'écart de valeur. Vingt-cinq à trente-cinq kW d'écart sur des points courants, systématique et non exceptionnel. Le mot « affichée » est faux.
2. La contradiction franche. À 09:00 la courbe affiche 758,56 kW et la minute pile n'a AUCUNE valeur. La route lève alors
SourceIndisponibleet le routeur rend 503 : l'écran annonce « source indisponible » sur un point qu'il est en train de tracer. Le trait existe, sa justification dit qu'il n'y a rien.3. La méthode ne se transpose pas. L'infobulle de la courbe porte un drapeau
imputeecalculé parbool_orsur les soixante minutes ; le panneau porte la méthode d'une seule. Les deux peuvent donc se contredire sur le même point, et le font.Ce que la colonne
minutes retenuesrévèle en plus. La moyenne de 09:00 est calculée sur SEPT minutes, celle de 08:00 sur DEUX. Elles s'affichent comme n'importe quelle autre heure.mesure_horaire.releves_pris_en_compteporte ce compte depuis la migration 0016 et personne ne le lit. Une moyenne horaire sur deux minutes n'est pas une moyenne horaire.Pourquoi c'est grave au-delà de l'écran. L'ENF-07 est l'exigence d'auditabilité : « toute valeur affichée remonte à sa lecture d'origine et à sa méthode ». Le mécanisme est juste de bout en bout — la clé
(site_id, horodatage)est commune de bronze à la zone or, c'est vérifié. C'est l'appariement côté front qui est faux : on remonte la lecture d'une minute et on la présente comme la justification d'une moyenne.Découvert en préparant la vidéo de démonstration, sur le chapitre qui devait justement prouver l'auditabilité. En l'état, filmer ce panneau démontre le contraire de la thèse.
Critères d'acceptation
imputeede l'infobulle ne peuvent plus se contredire : ils viennent de la même sourcereleves_pris_en_compteest rendu et affiché : une moyenne horaire calculée sur moins de la moitié de ses minutes le ditComment on le vérifie
tests/unit/api/: une heure dont la minute pile est nulle mais dont la moyenne existe ne doit plus produire un 503 sur un point tracé.À la main sur
enervision_prod, la requête du corps du ticket : sur les six dernières heures d'un site, aucun écart entre ce que la courbe affiche et ce que le panneau annonce comme étant cette valeur.Côté front, un cas qui monte un point horaire et vérifie que le libellé du panneau ne promet pas « la valeur affichée ».
Hors périmètre
Changer le pas de la courbe. Une courbe 24 h au pas de la minute, c'est 1 440 points par site, ce n'est pas la réponse.
Changer
mesure_horaireou la traçabilité à la minute. Les deux sont justes chacune dans son grain ; c'est leur appariement qui est faux.Rouvert : le défaut est toujours là. Vérifié sur
enervision_prodce matin, sur SITE003.Dans le code de
developà l'instant :GraphiqueSite.vue:261appelle toujoursstore.chargerTracabilite(point.t)avec l'horodatage du point HORAIRE ;TracabiliteDetail.vueétiquette toujours la ligne « Valeur affichée » ;minutes_retenuesetreleves_pris_en_compten'apparaissent nulle part dans l'API.Ce que le #211 a réglé, et c'était utile : un clic sur un TROU n'ouvre plus un panneau vide. C'est le symptôme du 503 sur un point tracé, dans le cas où le point n'a pas de valeur du tout. Le cas majoritaire reste entier : le point a une valeur, le panneau en montre une autre, et les deux portent le même nom.
Ça compte au-delà de l'écran.
PanneauIdentite.vueaffirme mot pour mot « Chaque valeur affichée remonte à sa lecture et à sa méthode », c'est l'ENF-07, et c'est le chapitre de la vidéo de démonstration qui doit prouver l'auditabilité. En l'état, ce panneau démontre le contraire de ce qu'il annonce.Je le prends ce matin.
Fermé : le correctif est en production et vérifié dans le conteneur qui sert.
Livré par la PR #224, fusionnée puis déployée ce jour. Le panneau ne dit plus « Valeur affichée » sur la lecture d'une minute : il montre deux blocs nommés, la moyenne de l'heure avec le nombre de minutes sur lequel elle porte, puis la lecture d'origine d'une de ces minutes, et une phrase qui dit que l'écart entre les deux est normal.
Le second défaut trouvé en route est fermé avec :
releves_pris_en_compteremonte enfin jusqu'à l'écran, et une heure dont la moyenne porte sur moins de la moitié de ses minutes le signale.Débloque le chapitre 03 de la vidéo de démonstration, qui devait prouver l'auditabilité et montrait l'inverse.