L'écart à la veille exige la même couverture des deux côtés (#179) #200
No reviewers
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!200
Loading…
Reference in a new issue
No description provided.
Delete branch "gabriel/179-couverture-veille"
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?
Trouvé en relisant la mise en production (#198), corrigé ici pour qu'elle parte propre.
Le garde-fou ne tenait que d'un côté
_consommation_veille_kwrestreint bien la somme d'hier aux sites mesurés aujourd'hui — c'est ce que le #179 a corrigé, et le castest_la_veille_est_sommee_sur_les_seuls_sites_mesuresle garde. Mais rien ne vérifiait que la veille les portait TOUS.mesure_horaire.moyenne_kwvautavg(valeur_kw) filter (where indicateur_qualite <> 'critical')(0016) : un site dont le seau de la veille est vide ou entièrement dégradé rendnull,sum()l'ignore en silence, et six sites d'aujourd'hui se comparent à trois d'hier. C'est exactement le faux delta que le périmètre corrigeait, retourné — une perte de COUVERTURE affichée comme une baisse de CONSOMMATION.Le cas n'est pas théorique : le 08/09 à 08 h, la source marquait 416 relevés sur 420 en
critical(#112).Ce que ça change
count(moyenne_kw)et noncount(*): une ligne présente dont la moyenne est nulle n'est pas une couverture. La colonnesitesétait déjà sélectionnée et jamais lue — le garde-fou était prévu, pas câblé. Une veille partielle rend maintenantNone, et l'écran dit « pas de comparaison » au lieu d'un chiffre plausible et faux. Le contrat le permet déjà :consommation_veille_kwetecart_veille_pctsont nullables depuis le #179, etSyntheseParc.vueles garde derrière unv-if.Le double disait « sites: 7 » à une requête qui en demandait six
Il décrivait une base impossible, celle-là même dont la couverture partielle passait inaperçue. Il suit maintenant ce qu'on lui demande, et un cas nouveau rescripte une veille à trois sites pour éprouver le garde-fou.
Aucune requête d'aujourd'hui ne bouge, aucun schéma non plus.
Vérifié contre
enervision_prodavant d'approuver, parce que le garde-fou peut couper une comparaison utile s'il est trop strict. Il ne l'est pas :Le seau de la veille visé à cette heure porte 7 lignes et 7 moyennes. La couverture est pleine presque partout, et l'heure où elle tombe est bien celle des 416 relevés
criticalque tu cites. Le garde-fou se déclenche donc rarement, et exactement quand il le faut.count(moyenne_kw)et noncount(*)est le bon compte : la 0016 filtre lescriticaldans l'agrégat, une ligne peut exister avec une moyenne nulle, et la compter comme couverte est précisément le trou. Le double qui écrivaitsites: 7à une requête qui en demandait six décrivait une base impossible — bien vu.Deux notes, aucune bloquante.
La #201 que je viens d'ouvrir touche le même fichier dans la même famille de défauts : elle fait tomber
consommation_kwànullquand la minute courante est une panne, doncmesuresrétrécit et tonlen(comparables)suit. Les deux se composent, il n'y a pas de conflit de logique. Je rebase la mienne sur la tienne.Le tableau de bord n'a pas de rafraîchissement automatique (#196), donc une veille partielle affichera « pas de comparaison » jusqu'au prochain F5. C'est le bon comportement, je le note pour qu'on ne le lise pas comme un bug demain.
Bon pour moi.