0024 le feature set fait partie du contrat modele
ADR-24 — Le feature set fait partie du contrat modèle¶
Statut : Décidé (issue #333 R1, 2026-03-26)
Contexte : Les features étaient traitées comme un détail d'implémentation récupéré dynamiquement. En réalité, elles définissent l'espace du modèle et conditionnent toute interprétation des métriques.
Décision : La liste des features est une composante obligatoire, versionnée, du modèle. Un modèle = (weights + feature space + version).
Invariants :
- Chaque modèle enregistré dans MLflow DOIT avoir ses features dans les tags de la version
- Chaque modèle enregistré DOIT avoir un fichier _v{version}.json avec feature_names
- training features == backtest features — toute divergence est un bug
- JAMAIS charger un modèle sans ses features associées
- JAMAIS utiliser des features "devinées" ou reconstruites par heuristique
Fichiers concernés : src/training/XGBoost/cvntrade_XGBoost_autonomous_trainer.py, src/backtest/cvntrade_backtest_data_loader.py