Picarones / tests /integration /test_narrative_and_views.py
Claude
test: réorganiser les 110 fichiers tests/test_*.py par cercle architectural
d109222 unverified
Raw
History Blame
3.23 kB
"""Index thématique : moteur narratif (détecteurs + arbitre + renderer)
et vues HTML qui le consomment.
Chantier 6 du plan d'évolution post-Sprint 97.
Tests couvrant cette feature
----------------------------
- :mod:`tests.integration.test_chantier5` (classe ``TestDetectorsPackage``) —
package thématique des détecteurs (chantier 5).
- :mod:`tests.report.test_views` (chantier 3) — vue diagnostics qui consomme
les leviers calculés depuis ``picarones.measurements.levers``.
Sprints d'origine du moteur narratif
------------------------------------
- Sprint 16 : ``test_sprint16_narrative_foundations.py`` — modèle
``Fact``, ``FactType``, ``DetectorRegistry``.
- Sprint 19 : ``test_sprint19_narrative_engine.py`` — pipeline
``build_synthesis``, traçabilité anti-hallucination.
- Sprint 23 : ``test_sprint23_anti_hallucination.py`` — garde-fou
anti-hallucination.
- Sprint 29 : ``test_sprint29_detector_registry.py`` — registre
déclaratif.
Sprints d'origine des détecteurs spécifiques
--------------------------------------------
- Sprint 4 : 10 détecteurs (`global_leader_cer`, `statistical_tie`,
`significant_gap`, `pareto_alternative`, `stratum_winner`,
`stratum_collapse`, `error_profile_outlier`,
`llm_hallucination_flag`, `robustness_fragile`,
`confidence_warning`).
- Sprint 18 : `statistical_tie` enrichi avec Friedman+Nemenyi
(``test_sprint18_friedman_nemenyi_cdd.py``).
- Sprint 19 : `pareto_alternative` activé avec données de coût.
- Sprint 36 : `ensemble_opportunity` — couplé aux métriques
inter-moteurs (``test_sprint36_ensemble_narrative.py``).
- Sprint 44 : `median_mean_gap_warning` — couplé à la médiane par
défaut (``test_sprint44_median_default.py``).
- Sprint 45/46 : `stratification_recommended`
(``test_sprint46_stratification_html.py``).
- Sprint 73 : `engine_off_baseline`
(``test_sprint73_baseline_comparison.py``).
- Sprint 90 : `engine_unstable`
(``test_sprint90_engine_unstable.py``).
- Sprint 92 : `regression_in_history`
(``test_sprint92_longitudinal.py``).
Distribution actuelle
---------------------
18 détecteurs dans 6 sous-modules (chantier 5) :
.. code-block:: text
picarones/core/narrative/detectors/
├── ranking.py (5) global_leader_cer, statistical_tie,
│ significant_gap, speed_winner,
│ median_mean_gap_warning
├── pareto.py (2) pareto_alternative, cost_outlier
├── stratum.py (3) stratum_winner, stratum_collapse,
│ stratification_recommended
├── quality.py (4) error_profile_outlier,
│ llm_hallucination_flag,
│ robustness_fragile, confidence_warning
├── history.py (3) engine_off_baseline, engine_unstable,
│ regression_in_history
└── ensemble.py (1) ensemble_opportunity
Pour exécuter tous les tests narratifs :
.. code-block:: bash
pytest tests/test_sprint{16,19,23,29}*.py \\
tests/test_sprint{36,44,46,73,90,92}*.py \\
tests/test_chantier5.py::TestDetectorsPackage
"""
# Index documentaire — pas de tests propres.