Fiche de décision — Mise à niveau de l'Epic CVN-N001-EE (F1_buy boost)¶
Objet : réconcilier l'état administratif de l'Epic CVN-N001-EE (wp#39) — 35 Stories (17 terminales, 18 non-terminales), statuts incohérents. Statut : RATIFIÉE AVEC AMENDEMENTS (opérateur, 2026-06-08 — bloc de ratification §9). Amendements appliqués : preuve exigée par-Story (§4), CLOSE-DELIVERY conditionnée à un artefact lié (§2), S07-impl & S20 résolus en ABANDON in EE (plus de bifurcation ouverte), S05a vérif ≤24h.
0. Frontière de décision (à lire avant tout)¶
Ce document NE restaure PAS la déployabilité. Il NE valide PAS
f1_buy. Il NE produit AUCUN verdict scientifique LOCK/ABANDON.
L'Epic reste sous ML_USELESS / do-not-deploy pour toute décision de sélection-de-modèle ou de trading, jusqu'à un constat métrique/tradabilité post-correction séparé prouvant la récupération. Les seules décisions prises ici sont :
- fermer en LIVRAISON (
CLOSE-DELIVERY) le travail d'implémentation/diagnostic livré — pas en validation ; - abandonner (
ABANDON) le travail qui n'appartient plus à la trajectoire EE actuelle ; - différer (
DEFER) seulement quand une destination nommée, un owner et une condition de réouverture existent.
Aucun run n'est lancé. Aucune conclusion scientifique n'est inférée d'une clôture administrative.
Communication note : after ratification, the ML_USELESS / do-not-deploy status must be communicated to relevant stakeholders (trading desk / risk / compliance, as applicable). This decision record reconciles administrative work packages only; it does not restore deployability or authorize model-selection/trading decisions.
1. Le constat (pourquoi cette mise à niveau)¶
L'Epic a pivoté et est en gel d'exécution :
- Après PR #891 (2026-05-11) le harness a régressé (LGB
best_iter=1, XGB f1_buy≈0.09). Verdict comité (3eb0414f/5255b44c/9b4ab4b2) :ML_USELESS/ do-not-deploy jusqu'à élimination debest_iter=1(cold-eyes 2026-05-21). - Toutes les décisions métier sur f1_buy (LOCK/ABANDON) sont GELÉES (F1_BUY_BOOST_PLAN.md §0bis).
- Le diagnostic parallèle CVN-N001-EI a trouvé :
B_SYSTEMATIC_OVERFIT(5/5) + non-transfert AUC→f1_buy + tradabilité inconclusive (epic EI §2, ADR-0099).
Deux états à ne JAMAIS confondre :
| État | Réalité |
|---|---|
| Correction de code livrée | les correctifs S18/S19/S23 sont mergés (§3) |
| Récupération scientifique établie | ❌ NON — le système reste ML_USELESS ; la tradabilité n'est pas prouvée |
→ Les leviers de boost « gros pari » n'ont plus de sens dans la trajectoire actuelle. Les briques infra / diagnostic sont fermables en livraison, pas en validation.
2. Dispositions (4) — définitions strictes¶
| Disposition | Définition non-ambiguë |
|---|---|
| CLOSE-DELIVERY | le livrable réel (impl / diagnostic / plan) est atteint → fermer en LIVRAISON. Aucune prétention de validation métrique / LOCK / tradabilité. Conditionnée à un artefact de livraison PROUVABLE et LIÉ dans le record OP (PR mergée / doc / diagnostic). Si l'artefact n'est pas prouvable → la Story NE ferme PAS : ABANDON ou reste ouverte (décision). |
| ABANDON | on ferme ; plus dans l'Epic EE ; réouverture uniquement via une nouvelle Story. |
| DEFER | on déplace explicitement vers une destination nommée (Epic/backlog) avec owner. Pas de destination nommée ⇒ ce n'est pas un DEFER, c'est un ABANDON. |
| CONDITIONAL | dépend d'une vérification factuelle datée (qui / comment / critère / échéance) → route ensuite vers CLOSE-DELIVERY ou ABANDON. |
CLOSE-DELIVERY ≠ CLOSE-VALIDATION. Une Story
Closeden livraison ne dit rien sur la réussite scientifique. Le registre des claims §4bis rend cette frontière auditable par-ligne.
3. Correction de prémisse — S19 est livré, mais la récupération n'est PAS prouvée¶
Type : correction de prémisse majeure (pas une simple note). Réconciliation read-only du 2026-06-08.
| Champ | Contenu |
|---|---|
| Prémisse v1 (fausse) | « S19 est la clé de voûte ouverte, à débloquer avant tout. » |
| Évidence nouvelle (vérifiable) | GH #940 CLOSED ; PRs #941/#942/#946 MERGED (2026-05-14/15) ; commit 82dcf2df = over-trade guard + θ-range. OP On hold sur wp#165 = artefact de la suppression du sprint (2026-05-15 18:03, 3h après merge), pas un blocage code. |
| Question résiduelle | malgré S19 + S23 livrés, le système reste ML_USELESS (cold-eyes 2026-05-21, post-S19). |
| Impact | la campagne n'attend plus la livraison code de S19 — mais elle ne peut revendiquer aucune récupération scientifique. |
| Conséquence de décision | S19 = CLOSE-DELIVERY (livré). Aucun gate métrique, aucune décision LOCK, aucune prétention de déployabilité n'est faite par cette clôture. Le verrou restant n'est pas une Story EE ouverte, c'est l'absence de preuve métrique/tradabilité post-correction — territoire EI, hors-scope (§8). |
Donc : rien ne bloque la mise en cohérence administrative des statuts. Le blocage scientifique ML_USELESS reste entier et interdit toute clôture métrique.
4. Tableau de décision proposé (18 Stories non-terminales)¶
17 terminales (
Closed×15 : S01-04, S12, S14, S15-pre, S16, S22-24, S26-29 ·Rejected×2 : S25, S31) = propres, rien à faire. La colonne Décision encode le type ; le registre §4bis dit, par type, ce qui est / n'est pas prétendu.
| Story | wp · statut | Quoi | Décision ratifiée | Preuve exigée avant transition | Réouverture |
|---|---|---|---|---|---|
| S19 | 165 · On hold | harness over-trade guard | CLOSE-DELIVERY | GH #940 closed + PR #946 mergé (82dcf2df) + commentaire OP expliquant l'artefact On hold |
n/a |
| S18 | 154 · On hold | diagnostic shallow-training (H8) | CLOSE-DELIVERY | doc diagnostic (localisation H8) lié | n/a |
| S30 | 219 · In testing | perf parallélisation S28 | CLOSE-DELIVERY | PR #1052 mergé + résultat perf lié | n/a |
| S32 | 222 · In testing | diagnostic θ-curve plateau | CLOSE-DELIVERY | PR #1054 mergé + dossier diagnostic lié | n/a |
| S17 | 153 · Developed | externalisation HP en PG (ADR-90) | CLOSE-DELIVERY | PR #904 mergé + MLOps readiness lié | n/a |
| S15 | 126 · Developed | ingestion L2 Binance (forward) | CLOSE-DELIVERY | PR #903 mergé + ingester live | n/a |
| S07 | 46 · On hold | planning order-book (Track 2) | CLOSE-DELIVERY | plan dossier livré + lié | n/a |
| S05 | 44 · In testing | frac-diff + interactions (Track 12) | CLOSE-DELIVERY | artefact de livraison lié (PR #885) + note de gel métrique explicite. Si non prouvable → pas de close. | re-éval métrique post-récupération (Story séparée) |
| S06 | 45 · In testing | ensemble diversity (Track 11) | CLOSE-DELIVERY | artefact de livraison lié (PR #872) + note de gel métrique. Si non prouvable → pas de close. | re-éval métrique post-récupération |
| S13 | 102 · In testing | dispatcher autotrainer Track 11 | CLOSE-DELIVERY | artefact de livraison lié (PR #872 dispatcher) + note de gel. Si non prouvable → pas de close. | re-éval métrique post-récupération |
| S05a | 140 · New | loader InferenceAPI.from_mlflow | ABANDON (in EE) — vérif 2026-06-08 : non implémenté + non consommé (seules docstrings « Track-1-follow-up » ; le loader consommé est FeatureEngineeringAPI.from_mlflow_run, classe ≠) |
record de non-poursuite + condition | nouvelle Story si un loader InferenceAPI dédié devient nécessaire post-récup |
| S08 | 47 · New | sequence model TCN/Transformer | ABANDON (in EE) | record de non-poursuite + condition de réouverture | nouvelle Story, post-récup + tradabilité EI + budget |
| S09 | 48 · New | cost-sensitive P&L loss (Track 7) | ABANDON (in EE) | record de non-poursuite + condition | idem |
| S10 | 49 · New | stress-case liquidity | ABANDON (in EE) | record de non-poursuite + condition | idem |
| S11 | 50 · New | pseudo-labeling (do-not-implement) | ABANDON (in EE) | record de non-poursuite + condition | idem |
| S05b | 141 · New | automation 2-stage frac-diff | ABANDON (in EE) | record de non-poursuite + condition | nouvelle Story si Track 12 re-sponsorisé post-récup |
| S07-impl | 128 · New | features L2 microstructure (impl) | ABANDON (in EE) (décidé — pas de destination nommée actuelle) | record de non-poursuite + condition | Track 2 re-sponsorisé via une Epic L2/data nommée + owner + preuve EI |
| S20 | 166 · New | bug XGB theta_sweep over-trade | ABANDON (in EE) (décidé — XGB pas une ligne nommée actuelle) | record de non-poursuite + condition | XGB retenu comme ligne active nommée post-S19/S23 |
4bis. Registre des claims (ce qui est / n'est PAS prétendu, par type)¶
| Type | Claim fait | Claim explicitement NON fait |
|---|---|---|
| CLOSE-DELIVERY | l'implémentation/diagnostic/plan est livré ; aucun travail actif ne reste dans EE | ❌ que la méthode améliore f1_buy · ❌ qu'elle est tradable · ❌ aucun LOCK · ❌ aucune déployabilité |
| ABANDON | non poursuivi dans la trajectoire EE actuelle | ❌ que la méthode est scientifiquement impossible ou prouvée mauvaise (aucun verdict scientifique) |
| DEFER | déplacé vers une destination nommée avec owner | ❌ idem ABANDON sur le plan scientifique |
| CONDITIONAL | décision suspendue à une vérification factuelle datée | ❌ rien tant que la vérification n'a pas tranché |
4ter. S05a — vérification conditionnelle (échéance ≤ 24h)¶
Qui : moi (read-only).
Comment : grep/import-trace de InferenceAPI.from_mlflow dans les chemins harness ACTIFS (non-gelés).
Critère : importé/appelé par un chemin de code actif → CLOSE-DELIVERY (ou Story impl active).
non consommé → ABANDON (in EE), réouverture via nouvelle Story.
Échéance : ≤ 24h. Pas de CONDITIONAL laissé ouvert sans date.
RÉSULTAT (2026-06-08) : NON CONSOMMÉ → ABANDON (in EE).
- InferenceAPI.from_mlflow n'existe qu'en docstrings (« Track-1-follow-up » prévu, non implémenté :
inference_api.py:118, contracts.py:63).
- Le loader réellement consommé par les chemins actifs est FeatureEngineeringAPI.from_mlflow_run (classe ≠).
- Donc le livrable propre de S05a n'est ni implémenté ni consommé → ABANDON.
4quater. Critères de réouverture (travail boost abandonné)¶
Reopen criteria for abandoned boost work:
A previously abandoned boost Story may only be reopened through a NEW Story if all
of the following are true:
- post-correction baseline recovery is established;
- EI produces a positive tradability verdict;
- the break-even threshold is documented and met or explicitly targeted
(current reference: f1_min_eq=0.500);
- operator sponsor and compute budget are approved.
These are reopen criteria only. They are NOT evidence that the abandoned method
works, and they do NOT produce a scientific verdict.
4quinquies. Record d'abandon standardisé (template S14)¶
Every ABANDON closure must produce a `decision_closure.md` record using the S14 template:
- question originally asked;
- reason for non-pursuit;
- evidence considered;
- claim explicitly NOT made;
- reopen condition (cf. §4quater);
- OP/GH references.
5. Décision globale (ratifiée — §9)¶
Reconcile administratively, do NOT scientifically close.
- EE reste ML_USELESS / do-not-deploy pour toute décision modèle/trading.
- Aucun claim métrique, aucun claim de déployabilité, aucun verdict LOCK/ABANDON scientifique.
- CLOSE-DELIVERY pour le livré ; ABANDON pour les paris hors-trajectoire ; DEFER seulement avec destination nommée.
- S19 n'est plus une clé de voûte ouverte : c'est une correction LIVRÉE à réconcilier. Le verrou restant
est l'absence de preuve métrique/tradabilité post-correction (EI), pas une Story EE ouverte.
Ce qui ne bloque rien : la mise en cohérence administrative des statuts. Ce qui reste bloqué : le programme ML, pour tout usage décisionnel/deploy, jusqu'à preuve métrique et tradabilité (constat EI/post-correction séparé).
6. Ordre d'exécution (post-ratification)¶
0. [FAIT] S19 clarifié (§3) : mergé → CLOSE-DELIVERY. La campagne n'est bloquée par aucune Story EE.
1. [FAIT] Fiche v3 : frontière de décision, correction de prémisse, registre des claims, ABANDON/DEFER stricts.
2. S05a : vérification ≤24h (§4ter) → router.
3. ABANDON (record Route B + condition de réouverture) : S08, S09, S10, S11, S05b, S07-impl, S20.
4. CLOSE-DELIVERY (artefact de livraison LIÉ + note de gel métrique explicite ; si artefact non prouvable → pas de close) :
S19, S18, S30, S32, S17, S15, S07, S05, S06, S13.
5. Revue EE post-nettoyage : ne restent ouverts que d'éventuels reliquats infra utiles ; le sort du
programme dépend du verdict EI (hors EE).
7. Définition de « propre » (DoD de la mise à niveau)¶
- Chaque Story non-terminale a une décision tracée en OP + son claim-non-fait explicite.
- Zéro statut incohérent (plus de
Newzombie ; plus deOn holdambigu sur S19). - Chaque ABANDON/DEFER porte un record de non-poursuite + condition de réouverture ; chaque DEFER a une destination + owner (sinon = ABANDON).
- Chaque CLOSE-DELIVERY note explicitement le gel métrique et ne prétend aucun verdict.
- L'Epic reflète sa vraie trajectoire : boost gelé/pivoté ; correctifs livrés ≠ récupération établie.
- Audit post-clôture (24–48h) : dans les 24–48h après la campagne, vérifier que chaque Story transitionnée a : artefact de clôture lié ·
claim-not-madeexplicite · condition de réouverture (ABANDON/DEFER) · preuve de livraison (CLOSE-DELIVERY) · statut OP cohérent avec le record.
8. Hors-scope (frontière stricte)¶
- Le sort scientifique du signal (tradable ou non) → Epic CVN-N001-EI.
- Relancer un run / produire un verdict métrique → interdit (gel
ML_USELESS). - Restaurer la déployabilité → ce document ne le fait pas (§0).
- Fermer l'Epic EE → seulement après constat de récupération (EI) ou abandon de programme, via
epic-close.
9. Ratification (record d'audit)¶
Ratification:
- Operator : Dominique (operator)
- Date : 2026-06-08
- Decision : APPROVED WITH AMENDMENTS
- Amendments : (1) formal ratification block added;
(2) "Evidence required to close" column added per Story (§4);
(3) CLOSE-DELIVERY conditional on a linked, provable delivery artifact (§2) — else no close;
(4) S07-impl and S20 resolved to ABANDON in EE (no open bifurcation);
(5) S05a routed by a ≤24h grep/import-trace verification (§4ter), default ABANDON if not consumed.
- Scope of approval : administrative reconciliation ONLY. No metric claim, no deployability claim,
no scientific LOCK/ABANDON verdict. EE stays ML_USELESS / do-not-deploy.
Toute exécution (abandons + CLOSE-DELIVERY) suit cette ratification. Chaque transition OP citera la preuve exigée (§4). S05a est vérifiée avant de finaliser sa route.
10. Revue comité & follow-ups¶
plan_review PASSED · code OK · 0 blocker · consensus strong (5 experts 8.5/10) — session 477b3923, Meeting #266. Le comité a validé la frontière CLOSE-DELIVERY/validation, le registre des claims, la correction S19 et l'auditabilité.
Recos foldées dans cette fiche : critères de réouverture quantitatifs ancrés (§4quater) · record d'abandon standardisé (§4quinquies) · note de communication (§0) · audit post-clôture (§7.6).
Follow-ups différés (hors fiche) :
- ADR du gel ML_USELESS — formaliser le gel + tracer le waiver deploy-gate (citer PR #891 + verdict cold-eyes), satisfait ADR-25. (Story/ADR séparée.)
- Automatisations — §4bis comme champ OP obligatoire, blocage de clôture sans artefact lié, S05a en check CI. (Tooling, séparé.)
Rejeté comme hors-scope (frontière §8) : audit leakage des PRs features · recalibration filter-chain post-S19 — ce sont des préoccupations scientifiques/ML du programme EI, pas de cette réconciliation administrative (les folder ici re-mélangerait administratif et scientifique).
Sources : F1_BUY_BOOST_PLAN.md §0bis · epic EI §2 · cold-eyes · plan S19 · S19 reconciliation (#940 closed, PRs #941/#942/#946, 82dcf2df) · enquête OP wp#39 (2026-06-08).