Skip to content
This repository was archived by the owner on Oct 11, 2026. It is now read-only.

feat(ei-parity): normaliser le rapport de certification - #211

Merged
Roddygithub merged 2 commits into
mainfrom
chore/bmad-ei-parity-report
Aug 14, 2026
Merged

Roddygithub merged 2 commits into
mainfrom
chore/bmad-ei-parity-report

Conversation

@Roddygithub

Copy link
Copy Markdown
Owner

Contexte

Story 2 « Normaliser le rapport de certification » (BMAD, parité Elite Insights 3.26.0.0). Le comparateur EI ne matérialisait ni les comparaisons réussies ni les règles/statuts ; cette PR ajoute un rapport détaillé privé schema v1, distinct de la baseline agrégée story 1.

Changements

  • ei_compare.py : émission additive de résultats atomiques PASS/FAIL à chaque point de comparaison (dont boons et rotation), delta = actual - expected (null si non numérique), rotation atomisée par cast/skill et désambiguïsée par durée ; delta non fini ignoré.
  • ei_diff.py : registre known-deltas.json schema v1 (sélecteurs exacts, bornes positives finies, ids uniques), classification KNOWN_DELTA (jamais sur un PASS), rapport détaillé trié avec résumé par statut/bucket, écriture atomique, destinations --json/--report-json protégées et distinctes ; --json story 1 inchangé.
  • known-deltas.json : registre versionné, vide (décision humaine requise pour toute dérogation).
  • Tests : 60 verts (producteurs EI, règles bornées, quasi-correspondance FAIL, privacy de la baseline, coexistence des sorties, payloads de registre invalides).
  • docs/ei-parity-workbench.md : formats, confidentialité, procédure de règle.

Vérification

  • uv run pytest tests/scripts/test_ei_diff.py libs/gw2_analytics/tests/test_ei_compare.py -q → 60 passed
  • uv run ruff check / ruff format --check → OK
  • uv run mypy libs/gw2_analytics/src/gw2_analytics/ei_compare.py → OK

À vérifier côté utilisateur

La validation du rapport sur le corpus réel (« 133 écarts FAIL ») requiert les logs/EVTC privés absents du worktree (voir deferred-work.md).

Instrumenter les points de comparaison EI pour émettre des résultats
atomiques PASS/FAIL/KNOWN_DELTA, versionner le registre known-deltas
schema v1, et produire un rapport détaillé privé séparé de la baseline
story 1. Les écarts de rotation sont atomisés par cast et compétence ;
--json reste inchangé et aucune donnée joueur ne fuit dans l'agrégat.

Signed-off-by: Roland Salardon <r.salardon@gmail.com>
…te nanoid

- Ajouter un helper de cast de type `_rows` dans les tests `test_ei_compare.py` pour resoudre les erreurs mypy liees au type de retour opaque `dict[str, object]`.
- Faire un cast sur `differences` dans le test de comptage d'erreurs.
- Mettre a jour `nanoid` de `3.3.17` vers `3.3.18` dans le frontend web pour eliminer la vulnerabilite de securite CVE-2026-67213 dectectee par Trivy.

Signed-off-by: Roland Salardon <r.salardon@gmail.com>
@Roddygithub
Roddygithub merged commit 44d6292 into main Aug 14, 2026
11 checks passed
@Roddygithub
Roddygithub deleted the chore/bmad-ei-parity-report branch August 14, 2026 10:20
@Roddygithub
Roddygithub restored the chore/bmad-ei-parity-report branch August 14, 2026 13:14
@Roddygithub
Roddygithub deleted the chore/bmad-ei-parity-report branch August 14, 2026 13:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant