docs(development): document automatic statistical alerts
This commit is contained in:
parent
cac9dbc632
commit
95a3ed4a21
3 changed files with 13 additions and 8 deletions
|
|
@ -118,6 +118,10 @@ Les périodicités DAY/WEEK/MONTH réutilisent le même agrégateur. Les métriq
|
|||
|
||||
Les preuves d’alerte sont uniques par alerte et intervalle. Les conclusions `CONFIRMED_LEAK` et `READING_ERROR` excluent leurs preuves de la baseline ; `BAD_THRESHOLD` et `NORMAL_EXPLAINED` ne les excluent pas automatiquement. Les régimes chauffage restent liés au compteur avec `network_name` : cette solution permet plusieurs réseaux sans duplication obligatoire d’une nouvelle entité, et reste remplaçable par une alimentation GTB future.
|
||||
|
||||
## D-016 — Type de règle statistique C3
|
||||
|
||||
`MeterAlertRule.rule_type` distingue explicitement `MANUAL_THRESHOLD` et `STATISTICAL_ANOMALY`. Les règles historiques et les nouvelles règles sans type explicite restent manuelles par défaut. Le service de relevé appelle l'évaluation manuelle ou la médiane statistique selon ce type, en réutilisant `min_comparable_intervals` et `min_deviation_percent`. Une correction réévalue uniquement les intervalles voisins et conserve l'idempotence des preuves. La colonne est ajoutée par la migration additive `r3f4g5h6i7j8`, sans modifier les migrations C3 déjà appliquées.
|
||||
|
||||
## D-015 — Clôture C3 : recalcul ciblé et exposition opérationnelle
|
||||
|
||||
Les nouveaux relevés déclenchent un recalcul limité aux intervalles voisins ; une correction ne réévalue que les segments précédent et suivant. Les preuves ouvertes dépendant d'une valeur corrigée sont neutralisées et l'alerte est clôturée si elle ne possède plus de preuve valide ; les alertes déjà clôturées restent historiques. Le recalcul est appelé dans la transaction du service de relevé, sans worker externe ni rescannage complet à chaque GET.
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ Alban, watchdogs, ENT, Outlook, Pronote, Yeastar, IA, secrets, données TEST_UI_
|
|||
|
||||
- [x] C1 : socle Meter/MeterReading, rattachements patrimoine, hiérarchie et relevés audités ;
|
||||
- [x] C2 : échéances périodiques, Ma journée et tournées de relevés ;
|
||||
- [x] C3 : consommations, estimations, anomalies, alertes et coûts ; clôture C3-CLOSE en cours de revue (migrations `p1e2f3g4h5i6` et `q2f3g4h5i6j7`)
|
||||
- [x] C3 : consommations, estimations, anomalies, alertes et coûts ; C3-FINAL en cours de revue (migration additive `r3f4g5h6i7j8`)
|
||||
- [ ] C4 : contrats et quotas photocopieurs ;
|
||||
- [ ] Meter/MeterReading réutilisés ;
|
||||
- [ ] périmètre générique et calendrier scolaire ;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
CURRENT VERSION: 0.2.0-dev.2
|
||||
CURRENT CHECKPOINT: C3-CLOSE — clôture
|
||||
CURRENT COMMIT: 14b8040 — test(meters): isolate intervention idempotence fixture
|
||||
CURRENT MIGRATION: q2f3g4h5i6j7 (down_revision p1e2f3g4h5i6)
|
||||
CURRENT CHECKPOINT: C3-FINAL — branchement automatique des anomalies
|
||||
CURRENT COMMIT: cac9dbc — fix(meters): automate statistical anomaly detection
|
||||
CURRENT MIGRATION: r3f4g5h6i7j8 (down_revision q2f3g4h5i6j7)
|
||||
DOCKER VERSION: gmao-college:0.2.0-dev.2 (reconstruite, healthy, MariaDB connectée)
|
||||
LAST FULL TEST: 199 passed, 1 failed, 1 error ; les deux anomalies historiques restent visibles
|
||||
LAST TARGETED TEST: 34 passed (C1/C2/C3) ; mesures C3-CLOSE instrumentées
|
||||
LAST FULL TEST: baseline précédente 202 passed, 1 failed, 1 error ; les deux anomalies historiques restent visibles
|
||||
LAST TARGETED TEST: 39 passed (C1/C2/C3) ; 17 tests C3 incluant les anomalies statistiques automatiques
|
||||
BLOCKERS: validation responsive visuelle et base vide non exécutées ; anomalies pytest historiques conservées
|
||||
NEXT ACTION: effectuer la revue indépendante finale ; ne pas commencer C4
|
||||
NEXT ACTION: appliquer r3f4g5h6i7j8 dans Docker, terminer pytest complet puis revue indépendante ; ne pas commencer C4
|
||||
|
||||
## C3 — socle analytique
|
||||
|
||||
|
|
@ -22,9 +22,10 @@ NEXT ACTION: effectuer la revue indépendante finale ; ne pas commencer C4
|
|||
- [x] conversion gaz issue de facture et règle eau m³ sans conversion kWh ;
|
||||
- [x] alertes informatives dans Ma journée et graphiques locaux responsives ;
|
||||
- [x] recalcul ciblé automatique après nouveau relevé et correction auditée ; preuves obsolètes neutralisées sans effacer l'historique clôturé ;
|
||||
- [x] anomalies statistiques branchées automatiquement avec distinction explicite `MANUAL_THRESHOLD` / `STATISTICAL_ANOMALY` ;
|
||||
- [x] clôture HTTP RBAC, visibilité filtrée dans Ma journée et création d'intervention idempotente ;
|
||||
- [x] dashboard 30 jours avec données insuffisantes et synthèses séparées eau/gaz/électricité ;
|
||||
- [x] migration `q2f3g4h5i6j7` appliquée ;
|
||||
- [x] migration `q2f3g4h5i6j7` appliquée ; migration additive `r3f4g5h6i7j8` préparée ;
|
||||
- [x] mesures C3-CLOSE sur `TEST_UI_C3_PERF_*` : dashboard 83 requêtes, fiche 24, évaluation 4, Ma journée 86 ; temps variables selon MariaDB ;
|
||||
- [ ] validation Playwright/base vide non effectuée ;
|
||||
- [ ] C4 non commencé.
|
||||
|
|
|
|||
Loading…
Reference in a new issue