This repository was archived by the owner on Oct 11, 2026. It is now read-only.
Repository navigation
feat(ei-parity): normaliser le rapport de certification - #211
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 atomiquesPASS/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: registreknown-deltas.jsonschema v1 (sélecteurs exacts, bornes positives finies, ids uniques), classificationKNOWN_DELTA(jamais sur unPASS), rapport détaillé trié avec résumé par statut/bucket, écriture atomique, destinations--json/--report-jsonprotégées et distinctes ;--jsonstory 1 inchangé.known-deltas.json: registre versionné, vide (décision humaine requise pour toute dérogation).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 passeduv run ruff check/ruff format --check→ OKuv 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).