|
=== QA #68 — MatchingAgent scorer Agile taxonomy ===
|
|
Date: jeu. 11 juin 2026 22:33:19 UTC
|
|
Branch: feat/redmine-68-scorer-agile HEAD: 03ccec9
|
|
PR: MatchingAgent #20 (base dev)
|
|
|
|
Changed files vs origin/dev:
|
|
src/agents/role_alignment_agent.py
|
|
src/services/role_scorer.py
|
|
src/services/technology_database.py
|
|
tests/unit/test_agents.py
|
|
tests/unit/test_role_scorer.py
|
|
tests/unit/test_technology_matching.py
|
|
|
|
Python 3.10.12
|
|
|
|
================================================================
|
|
=== 1) SUITES UNITAIRES TOUCHÉES (pytest -v) ===
|
|
================================================================
|
|
Commande:
|
|
./venv/bin/python -m pytest tests/unit/test_role_scorer.py \
|
|
tests/unit/test_agents.py tests/unit/test_technology_matching.py -v
|
|
|
|
Résultat: 217 passed, 13 warnings in 0.19s -> OK
|
|
|
|
Tests Agile clés (extrait):
|
|
test_coach_agile_is_distinct_from_scrum_master PASSED
|
|
test_agile_coach_english_is_coach_agile PASSED
|
|
test_scrum_master_safe_is_distinct PASSED
|
|
test_release_train_engineer_is_distinct PASSED
|
|
test_rte_acronym_resolves_to_release_train_engineer PASSED
|
|
test_generic_scrum_master_still_resolves PASSED (non-régression)
|
|
test_coach_agile_resolves_to_coach_agile_category PASSED
|
|
test_scrum_master_safe_resolves_to_its_own_category PASSED
|
|
test_rte_resolves_to_rte_category PASSED
|
|
test_coach_agile_vs_scrum_master_is_adjacent_not_exact PASSED
|
|
TestAgileSkillsAndTools::test_safe_alias_resolves_to_scaled_agile PASSED
|
|
...test_large_scale_scrum_resolves_to_scaled_agile PASSED
|
|
...test_agilite_a_l_echelle_resolves_to_scaled_agile PASSED
|
|
...test_coaching_agile_is_recognized PASSED
|
|
...test_amelioration_continue_resolves PASSED
|
|
...test_kaizen_alias_resolves / test_lean_alias_resolves PASSED
|
|
...test_miro_is_recognized / test_jira_still_recognized /
|
|
test_confluence_still_recognized PASSED
|
|
|
|
================================================================
|
|
=== 2) LANE UNITAIRE ÉLARGIE (make test-unit) ===
|
|
================================================================
|
|
Résultat: 1 failed, 867 passed, 32 warnings in 9.80s
|
|
Seul échec: tests/unit/api/test_eval_endpoint.py::
|
|
TestCalibrationEndpoint::test_histogram_query_returns_distribution
|
|
-> NON lié à #68. Fichier NON touché par la PR #20.
|
|
-> PRÉ-EXISTANT: échoue à l'identique sur la base origin/dev (1 failed),
|
|
donc PAS une régression introduite par cette PR (taxonomie scorer).
|
|
|
|
================================================================
|
|
=== 3) VÉRIFS DE RÉSOLUTION (checks indépendants QA) ===
|
|
================================================================
|
|
(voir détail dans redmine-68-resolution-checks.txt joint)
|
|
AC1 — 3 nouveaux rôles -> catégories DISTINCTES (longest-match-wins):
|
|
'Coach Agile' -> 'coach agile' OK
|
|
'Agile Coach' -> 'coach agile' OK
|
|
'Scrum Master SAFe' -> 'scrum master safe' OK
|
|
'Release Train Engineer' -> 'release train engineer' OK
|
|
'RTE' -> 'release train engineer' OK
|
|
'Scrum Master' (nu) -> 'scrum master' (générique) OK (non-régression)
|
|
RESULT_AC1_DISTINCT_ROLES: PASS
|
|
|
|
AC2 — skills/outils Agile reconnus par la couche tech-matching:
|
|
Agilité à l'échelle / SAFe / large scale scrum -> 'Scaled Agile' OK
|
|
Coaching Agile -> 'Agile Coaching' OK
|
|
Amélioration continue / Kaizen / Lean -> 'Continuous Improvement' OK
|
|
Confluence -> 'Confluence' | Miro -> 'Miro' | Jira -> 'Jira' OK
|
|
('LeSS' nu -> 'Less' CSS : volontairement non aliasé pour éviter la
|
|
collision avec le préprocesseur CSS Less ; couvert sémantiquement par
|
|
'large scale scrum'. Documenté dans le code.)
|
|
RESULT_AC2_SKILLS: PASS
|
|
|
|
================================================================
|
|
=== 4) RUFF (fichiers modifiés) — pas de NOUVELLE erreur ===
|
|
================================================================
|
|
Comparaison branche PR vs base origin/dev sur les MÊMES fichiers:
|
|
origin/dev (base): 366 findings
|
|
feat/redmine-68 (PR): 364 findings -> -2 (aucune nouvelle erreur)
|
|
Toutes les occurrences restantes (W291/W293/I001/F601/N802/F401) sont une
|
|
dette de style PRÉ-EXISTANTE repo-wide, identique sur origin/dev, hors
|
|
périmètre de #68. La PR n'introduit AUCUNE nouvelle erreur ruff (elle en
|
|
retire 2 trailing-whitespace).
|
|
|
|
================================================================
|
|
=== VERDICT QA: PASS — tous les critères d'acceptation OK ===
|
|
================================================================
|
|
Note secrets: aucun secret/token/clé/URL DB présent dans cette preuve (suites
|
|
unitaires pures, aucune connexion réseau/DB requise).
|