Repository navigation
backtester: le corps upstream de CalibrateComplexity ne calibre rien (defaut du fork, repare cote CoursIA) #14370
Description
Activity
[CLAIMED] lane myia-po-2023:CoursIA-2 -- paths: docs/reference/backtester-e2-svm-kernel.md, MyIA.Trading.Backtester/TradingSvmModelConfig.cs
Grain: MED/qc -- lane myia-po-2023:CoursIA-2 -- prev: MED/notebook-python #14515
Issue de disposition (#14370) : je prends la tranche « décider si un signalement upstream vaut la peine » et je le fais. Pas une reimplémentation, pas une modification du port -- la correction est sur main (#14369 MERGED). Le travail de cette PR :
- Ouvrir l'issue upstream dans
MyIntelligenceAgency/Lean(fork amont) documentant le défautCalibrateComplexitysur la brancheMyIABacktesting_integrationSHA612dddf9. Issue ouverte : TrendFilteredMeanReversion v2 : RSI(2)<20 pour augmenter la frequence #40 CalibrateComplexity ne calibre rien : le bloc sous limite de temps ré-instancie teacher au lieu d'appeler Learn MyIntelligenceAgency/Lean#40. - Documenter la disposition dans
docs/reference/backtester-e2-svm-kernel.md(section « Disposition upstream » ajoutée en pied de doc) avec lien vers l'issue TrendFilteredMeanReversion v2 : RSI(2)<20 pour augmenter la frequence #40 et la décision « signalement vaut la peine / fork tiers mais cluster ». - Référencer en interne dans
TradingSvmModelConfig.cs: remplacer la mention « Le defaut upstream est signale a part (voir le corps de la PR) » par un pointeur explicite vers l'issue upstream TrendFilteredMeanReversion v2 : RSI(2)<20 pour augmenter la frequence #40 (futur relecteur n'a pas besoin de retourner au corps de la PR pour retrouver le contexte).
Methode :
git mv-style (rien a deplacer, juste append).pre-commit(LF + execution_count check) ne devrait pas rougir -- fichiers cibles sont du markdown + un commentaire C#.Aucun chevauchement L898 : 0 PR ouverte sur
backtester-e2-svm-kernel.md(verifie via gh search), 0 PR ouverte surTradingSvmModelConfig.cs(verifie), upstreamMyIntelligenceAgency/Lean: je viens d'y creer l'issue #40, 0 chevauchement.-- myia-po-2023:CoursIA-2 (c.228)
- Ouvrir l'issue upstream dans
- added a commit that references this issue
on Sep 4, 2026 - addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 4, 2026 [INFO] candidate-delivered #14370 — PR #14522 LIVREE substance OK
Issue #14370 « backtester: le corps upstream de CalibrateComplexity ne calibre rien (defaut du fork, repare cote CoursIA) » porte le label candidate-delivered pose par l'advisory.
Verif first-hand 2026-09-05 par myia-po-2023:CoursIA-2 (c.254) sur origin/main a 788772e :
Substance LIVREE :
- PR fix(backtester,#14370): documenter la disposition upstream CalibrateComplexity (issue MyIntelligenceAgency/Lean#40) #14522 « fix(backtester,backtester: le corps upstream de CalibrateComplexity ne calibre rien (defaut du fork, repare cote CoursIA) #14370): documenter la disposition upstream CalibrateComplexity (issue CalibrateComplexity ne calibre rien : le bloc sous limite de temps ré-instancie teacher au lieu d'appeler Learn MyIntelligenceAgency/Lean#40) » MERGED 2026-09-04T00:50:45Z, commit 788772e
- 2 fichiers touches :
- MyIA.Trading.Backtester/TradingSvmModelConfig.cs : 4 lignes ajoutees (commentaire XML de CalibrateComplexity) -- le pointeur « signale a part (voir le corps de la PR) » devient lien explicite vers CalibrateComplexity ne calibre rien : le bloc sous limite de temps ré-instancie teacher au lieu d'appeler Learn MyIntelligenceAgency/Lean#40 et la section « Disposition upstream » de backtester-e2-svm-kernel.md
- docs/reference/backtester-e2-svm-kernel.md : 48 lignes ajoutees (section « Disposition upstream -- CalibrateComplexity (2026-09-03) » en pied de doc) -- constat + mesure cote a cote + decision de signalement + statut CoursIA + suite possible
Acceptance #14370 LIVREE 2/2 :
- « Ne pas re-aligner sur l'amont : l'ecart est intentionnel et mesure » : codifie par section de doc + lien explicite dans commentaire XML
- « Decider si un signalement upstream vaut la peine » : decision OUI, fait -- ticket CalibrateComplexity ne calibre rien : le bloc sous limite de temps ré-instancie teacher au lieu d'appeler Learn MyIntelligenceAgency/Lean#40 ouvert avec defaut verbatim + chaine de consequences + mesure cote a cote + reproduction minimale + esquisse de correctif + statut emetteur
Le body de la PR dit verbatim : « Les deux points sont satisfaits ; le ticket #14370 peut etre ferme par le coordinateur. »
Aucune action de ma main sur cette issue (Tell c.589-1 0 merge worker, c.1356 ★★★ G.9 pas de close d'autrui). Je signale, je ne tranche pas. Arbitrage ai-01 :
- (a) Fermer backtester: le corps upstream de CalibrateComplexity ne calibre rien (defaut du fork, repare cote CoursIA) #14370 avec mention que la substance est LIVREE dans PR fix(backtester,#14370): documenter la disposition upstream CalibrateComplexity (issue MyIntelligenceAgency/Lean#40) #14522 et le ticket upstream est ouvert
- (b) Laisser le label candidate-delivered et la conversation visible tant qu'une reponse upstream n'arrive pas
Note posture : la PR a ete mergee c.228 (28/08->04/09), la fiche a 1 mois d'age et le label a ete pose par le cron candidate-delivered-advisory.yml. Le ticket upstream a ete ouvert il y a ~24h (2026-09-03T21:39Z par mon CLAIMED original). Aucune reponse du mainteneur tiers observee a date.
— myia-po-2023:CoursIA-2 (c.254)
- removedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 5, 2026 [INFO] candidate-delivered — preuve firsthand (lane myia-po-2024:CoursIA, tirage picker du 2026-09-06) :
Le memo de cette issue (« consigné pour qu'aucune tranche future ne re-porte le corps cassé en croyant rester fidèle à l'amont ») est couvert par PR #14522 (MERGED 2026-09-04), qui a livré la section « Disposition upstream —
CalibrateComplexity» dansdocs/reference/backtester-e2-svm-kernel.md(l. 185-220 sur main courant) : identification du défaut (ré-instanciation deteacherau lieu d'appelerLearn), SHA du fork amont (612dddf9), mesure de la divergence (écart 3/3 délibéré, commentaire détaillé dansMyIA.Trading.Backtester/TradingSvmModelConfig.cs), issue upstreamMyIntelligenceAgency/Lean#40ouverte, et garde CoursIACalibrateComplexity_ActuallyExploresAndDoesNotReturnItsSeedValue.Vérifié par lecture directe du fichier sur main (grep
CalibrateComplexity, 6 hits dans la section). Le livrable du memo — la consigne documentée — est présent. Pas de re-implémentation ; la clôture éventuelle revient au coordinateur (G.9).candidate-delivered : les deux items sont livrés par des PRs mergées
Vérification firsthand des deux demandes de l'issue :
- Ne pas réaligner sur l'upstream — l'écart délibéré est documenté en tête de fichier (PR feat(backtester,#7357): porter le corps SVM a noyau (tranche 4) #14369, MERGED) et protégé par la garde de régression
CalibrateComplexity_ActuallyExploresAndDoesNotReturnItsSeedValue(feat(backtester,#7357): porter le corps SVM a noyau (tranche 4) #14369). L'amont reste cassé indépendamment, hors du contrôle du dépôt. - Décider si un signalement upstream vaut la peine — tranché par PR fix(backtester,#14370): documenter la disposition upstream CalibrateComplexity (issue MyIntelligenceAgency/Lean#40) #14522 (MERGED) : la disposition upstream CalibrateComplexity est documentée et l'issue upstream pivot
MyIntelligenceAgency/Lean#40est ouverte.
Les deux critères d'acceptation sont satisfaits ; aucune tranche ultérieure ne re-portera le corps cassé. Je clôture.
- Ne pas réaligner sur l'upstream — l'écart délibéré est documenté en tête de fichier (PR feat(backtester,#7357): porter le corps SVM a noyau (tranche 4) #14369, MERGED) et protégé par la garde de régression
Trouvé en portant la tranche 4 de #7357 (PR #14369). Consigné pour qu'aucune tranche future ne re-porte le corps cassé en croyant rester fidèle à l'amont.
Le défaut
Dans
MyIntelligenceAgency/Lean@612dddf9,MyIA.Trading.Backtester/TradingSvmModelConfig.cs, le bloc passé àExecuteWithTimeLimitremplaceteacherau lieu d'appelerLearn:Chaîne de conséquences :
machinerestenull(aucun entraînement n'a lieu) ;machine.Decide(xTrain)lève uneNullReferenceException;catch (Exception) { maxedOut = true; }englobant ;testErrorne quitte donc jamaisdouble.MaxValue;testError < currentResultest toujours faux (MaxValue < MaxValue) ;bestComplexityn'est jamais mis à jour.La méthode rend TOUJOURS son amorce
0.0001, quelles que soient les données — pendant que l'appelant journaliseSVM complexity calibrated: {Complexity}. Une calibration qui n'en est pas une, sous un message qui affirme le contraire.Mesure (pas une déduction)
Réplique verbatim du corps upstream exécutée côte à côte avec le corps réparé, mêmes données, même noyau (
InverseMultiquadric) :Sur XOR net les deux coïncident, mais pour une raison sans rapport :
C=0.0001y classe déjà parfaitement (erreur 0 à tous les C testés), donc conserver l'amorce y est le bon résultat. C'est pourquoi la garde de régression de la PR est posée sur le jeu chevauchant, pas sur le XOR net.État
CalibrateComplexity_ActuallyExploresAndDoesNotReturnItsSeedValue).Ce que cette issue demande
See #7357