CVN-N001-EI — Signal root-cause & tradability diagnostic program¶
Hub Epic — point d'entrée découvrable du programme de diagnostic. État live des Stories = OpenProject (#1055, ADR-76) ; ce hub est la carte documentaire (ADR-77, docs.cvntrade.eu = SSoT documentation).
1. Objectif¶
Répondre, par blocs, à une question : « le signal ML détecté par nos modèles est-il scientifiquement exploitable, et tradable net de frais ? » — ou faut-il revenir retravailler données/cibles ? Chaque bloc tranche un statut (A-E) du diagnostic, sur la cohorte defi_top5 / fold_id=3, en réutilisant le fold pinné S07 (warm).
1bis. Portée — ÉTAPE 1 (existence), pas sélection (ADR-0099)¶
Cet Epic est l'étape 1 de l'architecture étagée 3+1 (existence du signal → tuning filtres → portefeuille → intégration). Sa sortie légitime = des preuves d'existence de magnitude bornée : « le signal discrimine / sur-ajuste / a un edge tradable, d'ampleur X ». Il ne sélectionne pas de config/filtre/poids — toute sélection requiert l'objectif économique aval et est déférée à l'étape 2+ (composition). La discipline existence ≠ sélection + le lien de validité à chaque couture (le proxy local contribue-t-il fidèlement à l'aval ?) sont posés par ADR-0099. Leçon-of-record : le deliverable HP-swap de S04 a franchi la frontière (sélectionner lr=0.025) et traité une preuve d'existence (AUC) comme une preuve de transfert → réfuté par la recherche f1_buy prod → clos sur non-transfert (le détecteur de signal ne peut pas dire quel signal est le bon pour l'aval). Les diagnostics suivants restent à l'existence (ex. S11 : « la HPO sur-ajuste-t-elle ? », pas de sélection).
2. Les blocs & statuts¶
| Statut | Question | Bloc / Story | État |
|---|---|---|---|
| A | discrimination du signal (AUC réelle) | S01 (learning curves) | cf. OP |
| 3a | intégrité de validation (leakage, label-stability) — gate critique, FIRST | S02 | cf. OP |
| 3b | reconstruction split / régime | S03 | clos — SPLIT_INCONCLUSIVE |
| B | sur-capacité LightGBM | S04 (s42) | Closed — B_SYSTEMATIC_OVERFIT (val-AUC, 5/5) ; mais deliverable HP-swap = NÉGATIF non-transfert : la reco lr-doux (AUC) ne transfère pas à l'objectif trading prod (f1_buy). Existence prouvée, sélection réfutée (ADR-0099) |
| C | tradabilité du signal (net de frais) — + teste le rung f1_buy → M (chaîne A0) |
S05 (s43) | retour au plan (r3) — §0bis de cadrage (1er test rétroactif ADR-0098) : régime+fold mis-cadrés, config déployée = processus stochastique ; M = espérance nette par-trade (> f1_buy dans la chaîne) |
| 5 | perf du harness diagnostic | S07 | cf. OP |
| D/E | features / cibles (downstream) | S06 | cf. OP |
3. Stories — carte documentaire¶
| Story | Bloc | Décide | Documents |
|---|---|---|---|
| CVN-N001-EI-S04 | B (capacité LGB) | over-capacity ? | → hub Story (plan · mlops · RCA · impact · fix) |
| CVN-N001-EI-S05 | C (tradabilité) | signal tradable net ? | → hub Story (plan · archi · runbook · test strategy) |
| CVN-N001-EI-S03 | 3b (split/régime) | split déplace la validation ? | plan · design |
| CVN-N001-EI-S07 | 5 (harness perf) | re-audit moins cher ? | design |
Les Stories diagnostiques complètes (plan + archi + runbook + test strategy) suivent le patron
TEMPLATE_diagnostic_story. S05 est la référence canonique du patron.
4. Routing de décision (program-level)¶
Le verdict de chaque bloc alimente la décision Epic : - tradable / exploitable (un bloc réfute le « non ») → follow-up déploiement (lead, pas un ship — ADR-2). - non exploitable confirmé → route vers S06 (refonte features/cibles). - inconclusif (sous-puissance, sensible aux coûts) → pas de routing scientifique ; plus de données / re-mesure.
5. Méthode commune (réutilisable)¶
Pré-enregistrement de la règle de décision avant le run (anti data-snooping), statistique d'enveloppe bootstrappée (anti biais de sélection sur le balayage), correction multi-comparaisons, verdicts inconclusifs first-class (« on ne sait pas » assumé). Détail + état de l'art référencé : voir le plan S05 Ch.3-4.
6. Clôture¶
L'Epic clôt quand tous les blocs A-E ont un verdict enregistré (OP) + le routing appliqué. Gate par Story : documentation/process/STORY_WORKFLOW.md. État live : OpenProject (SSoT, ADR-76).
7. Suivis & successeurs (issus du fil S04, 2026-06)¶
Le diagnostic S04 a produit, au-delà de son verdict, un négatif structurant (proxy AUC ≠ objectif trading) et trois ADR. Stories dérivées :
| Story | Nature | Sujet | wp / GH | État |
|---|---|---|---|---|
| S08 | tooling | params DAG string-sentinel parse-defensive (config auto-UI runnable) | wp#236 · #1098 | New |
| S09 | diagnostic (A6) | détection replay-divergence indépendante (s18_status=FAIL) |
wp#237 · #1099 | New |
| S10 | re-cadrage | prémisse S04 : prod cherche le lr / objectif f1_buy — audit Q-range (couverture déploiement) | wp#238 · #1100 | New (lr résolu, audit suivi) |
| S11 | diagnostic (successeur) | la HPO f1_buy sur-ajuste-t-elle ? (val vs OOS) — premier diagnostic conçu sous ADR-0098 | wp#239 · #1101 | New |
ADR durables du fil : ADR-0097 (template rapport) · ADR-0098 (cadrage diagnostic↔déploiement) · ADR-0099 (architecture étagée : existence ≠ sélection + validité aux coutures). Cf. §1bis pour la règle de frontière.
| CVN-N001-EI-S12 | Economic observability — keyed-config + cost-validated ground-truth substrate (Tier-2 gate) | #1109 · wp#246 | Closed |
| CVN-N001-EI-S14 | GBDT family-output validity — LightGBM probability-compression diagnostic (calibration-vs-underfit fork) | #1174 · wp#274 | Specified |