Project

General

Profile

Feature #68 » qa-68-rapport-technique.txt

Redmine Admin, 06/11/2026 10:36 PM

 
=== 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).
(2-2/3)