Skip to content

0025 pas de fallback silencieux dans les pipelines ml

ADR-25 — Pas de fallback silencieux dans les pipelines ML

Statut : Décidé (2026-03-26)

Contexte : Les fallbacks silencieux masquent des erreurs de configuration et produisent des résultats faussement corrects. Dans un contexte d'évaluation ML, un faux positif silencieux est pire qu'un crash.

Décision : Tout fallback dans un pipeline ML doit être explicite et observable, ou interdit.

Invariants : - Un paramètre obligatoire absent → RuntimeError, pas de default implicite - Une clé de cache manquante pour une donnée critique → RuntimeError, pas de DataFrame vide - Un mismatch de version → RuntimeError, pas un warning ignoré - Tout fallback toléré DOIT être loggé en WARNING avec la raison et l'impact - silent fallback = bug

Application : - Features → fail-fast (ADR-23) - Feature store session cache → fail-fast (#383) - Image tag → fail-fast (ADR-3, MUST_BE_SET_BY_CI) - Config runtime → source unique Helm (ADR-23 infra, #378)