Repository navigation
[Epic] .NET 11 — mesure progressive des gains runtime async + numerique avant saut hors LTS (sous-modules integres) #18695
Description
Activity
- addedEPICEpic tracking issue with sub-issuesEpic tracking issue with sub-issues
on Oct 1, 2026 Tranche 1 livree par myia-po-2026:CoursIA (claim 00:25Z local) :
- P0 fetch — fait : 2e moitie de l'article Toub recuperee integralement via lecteur SearXNG par section (WebFetch plafonne ~50%). Digest de reference : PR docs(dotnet,#18695): digest Toub 2e moitie + structuration P0/P1 (tranche 1 EPIC .NET 11) #18772 (docs/dotnet/net11-toub-digest.md) — ratios mesures + PRs dotnet/runtime# par section, baseline .NET 10 explicitee, table de resonance CoursIA mise a jour (DateTime.Now x2,2 mesure vs x1,9 devdigest ; Regex IgnoreCase x59 ; BigInteger ToString x17 ; JSON writer x3,9 ; CA2027 WhenAny+Delay).
- P0 pin — datapoint neuf : po-2026 dotnet-interactive = 1.0.712001 != canon 1.0.617701 (en AVANCE) ; la divergence documentee de po-204 n'est pas seule -> sous-issue [P0] .NET 11 EPIC #18695 -- aligner le pin dotnet-interactive (po-2026 mesure 1.0.712001 != canon 1.0.617701) #18766.
- Structuration : P0 [P0] .NET 11 EPIC #18695 -- aligner le pin dotnet-interactive (po-2026 mesure 1.0.712001 != canon 1.0.617701) #18766 (pin), [P0] .NET 11 EPIC #18695 -- etat des gitlinks sous-modules (R2) : FRESH / DERIVE / INJOIGNABLE #18767 (gitlinks R2), [P0] .NET 11 EPIC #18695 -- etat des gates par sous-module (R3), PR dediee si gate manquant #18768 (gates R3) ; P1 [P1] .NET 11 EPIC #18695 -- selectionner 3 carnets types (GenSK + ML.NET Backtester + Probas/Infer) #18769 (3 carnets types), [P1] .NET 11 EPIC #18695 -- banc BenchmarkDotNet in-repo par sous-module (baseline net8/net9) #18770 (bancs sous-modules), [P1] .NET 11 EPIC #18695 -- mesurer le delta .NET 9 / 10 / 11 sur carnets types + bancs #18771 (delta 9/10/11).
P0 n°2 (fetch) est clos par cette tranche ; les P0 restantes et les P1 sont pretes a etre claimables cross-lane.
- added a commit that references this issue
on Oct 2, 2026 [CLAIMED] lane myia-po-2025:CoursIA — consolidation du body de l'issue #18695 (state mesure de l'Epic prospective).
Ce grain ne modifie aucun fichier du depot : son geste est la reecriture du body avec l'etat mesure de chaque etape du plan P0-P3 et de ses 6 filles. Aucune collision : je ne touche ni
docs/dotnet/, ni les sous-modules, ni les carnets.Consolidation #13906 — issue mesuree, laissee OUVERTE.
Cette Epic est prospective : pas de cases d'acceptance, un plan P0-P3 et un statut « À creer ». La mesure porte donc sur l'etat de chaque etape et de ses 6 filles, confronte a
origin/main.Livré :
- P0 fetch —
docs/dotnet/net11-toub-digest.md+docs/dotnet/net11-runtime-deltas.mdsurmain(PR docs(dotnet,#18695): digest Toub 2e moitie + structuration P0/P1 (tranche 1 EPIC .NET 11) #18772 MERGED). 2e moitie de l'article Toub recuperee par lecteur SearXNG par section, ratios mesures + PRsdotnet/runtime#par section. - Structuration — 6 filles ouvertes ([P0] .NET 11 EPIC #18695 -- aligner le pin dotnet-interactive (po-2026 mesure 1.0.712001 != canon 1.0.617701) #18766 pin, [P0] .NET 11 EPIC #18695 -- etat des gitlinks sous-modules (R2) : FRESH / DERIVE / INJOIGNABLE #18767 gitlinks R2, [P0] .NET 11 EPIC #18695 -- etat des gates par sous-module (R3), PR dediee si gate manquant #18768 gates R3, [P1] .NET 11 EPIC #18695 -- selectionner 3 carnets types (GenSK + ML.NET Backtester + Probas/Infer) #18769 carnets, [P1] .NET 11 EPIC #18695 -- banc BenchmarkDotNet in-repo par sous-module (baseline net8/net9) #18770 bancs, [P1] .NET 11 EPIC #18695 -- mesurer le delta .NET 9 / 10 / 11 sur carnets types + bancs #18771 delta).
- [P0] .NET 11 EPIC #18695 -- etat des gates par sous-module (R3), PR dediee si gate manquant #18768 CLOSED (gates R3) ; docs(kernels,#18766): matrice de conformite flotte au canon dotnet-interactive 1.0.712001 #19208 CLOSED (matrice de conformite flotte au canon
dotnet-interactive) ; [P0] .NET 11 EPIC #18695 -- aligner le pin dotnet-interactive (po-2026 mesure 1.0.712001 != canon 1.0.617701) #18766 reste ouverte.
Non livre — l'objet propre de l'Epic : aucune mesure .NET 11 n'existe. Aucun banc
BenchmarkDotNetciblant .NET 11 n'est dans le depot. Les trois etapes P1 (#18769, #18770, #18771) sont ouvertes et non commencees.Derive R2 mesuree ce jour (commande de
submodule-maintenance.mdregle 2) : 4/5 OK (MetaGeneticSharpdbcd40473e0f, Z3.Linq8c7ae3e8ce3e, Automata84d21fb88a5e, semantic-fleet16c9388b3479) ; 1 DERIVE — Argumentum6bc573f73220→c61bd79ab540. C'est le cas attendu :.gitmoduleslui declarebranch = masteret la regle 7 veut qu'il suive la tete de sa branche, Dependabot ouvrant la PR de bump. Ce n'est pas une veille, c'est une PR de bump qui attend son merge.Ce qui leve l'Epic : les trois etapes P1 (les deltas .NET 9/10/11 mesures), #18766 et #18767 encore ouvertes, et la decision LTS vs GA — .NET 11 est en RC donc hors LTS, convention du depot
.NET 9.0(code-style.md:18) : c'est un arbitrage user, a inscrire au registre, pas un geste de lane.Portee non verifiee : la conformite du pin sur les six machines n'a pas ete re-mesuree ici (le livrable #19208 le fait) ; la derive R2 est mesuree depuis ce clone, a l'instant.
- P0 fetch —
Etat mesure au 2026-10-12 ~00:30Z (lane myia-po-2024:CoursIA, tirage du tapis — protocole #11900). Ce bloc ne remplace pas la consolidation du 2026-10-05 ci-dessous : il en corrige une section, « Non livre — ce que l'Epic existe pour produire », perimee depuis le 07/10.
- Ce que dit le bloc du 05/10 : « Les trois etapes P1 le sont donc entierement : [P1] .NET 11 EPIC #18695 -- selectionner 3 carnets types (GenSK + ML.NET Backtester + Probas/Infer) #18769 (selection des 3 carnets types), [P1] .NET 11 EPIC #18695 -- banc BenchmarkDotNet in-repo par sous-module (baseline net8/net9) #18770 (banc in-repo par sous-module), [P1] .NET 11 EPIC #18695 -- mesurer le delta .NET 9 / 10 / 11 sur carnets types + bancs #18771 (delta .NET 9 / 10 / 11) sont ouvertes et non commencees. »
- Ce qui est mesure au 12/10 : les trois sont livrees, et encore OPEN — leur fermeture est un geste coordinateur/adjoint (urne
delivered, P0 -- la fermeture d'issue est tiree au sort par le picker, pas routee : 21 fermetures MiniMax contre 4 du coordinateur, et l'adjoint n'existe dans aucune regle #15069), pas un grain de lane :
Fille Etat mesure Preuve firsthand (12/10 ~00:30Z) #18769 — 3 carnets types livree [DELIVERED]po-2026 du 2026-10-02T06:07Z : les 3 carnets nommes (GenSK / ML.NET Backtester / Probas-Infer) avec durees mesurees, kernel.net-csharp, canon dotnet-interactive 1.0.712001. Rien d'actionnable depuis : le fil ne porte plus que deux[RELEASED](po-2025 07/10 04:58Z, ai-01 07/10 21:24Z).#18770 — bancs sous-modules livree (ce cycle) Commentaire c.6115438303 du 2026-10-12T00:09Z : les cinq tranches sont livrees, la table de renvoi (3e acceptance) y est postee, avec l'etat mesure de chaque PR amont (MGS#58 MERGED 06/10 ; Z3.Linq#34, Automata#8, semantic-fleet#84). #18771 — delta .NET 9/10/11 livree PR #18831 MERGED le 2026-10-03T03:27Z ; docs/dotnet/net11-runtime-deltas.mdest surmain(12 596 o) et porte les tables de deltas : conditions reproductibles (i7-12700H, runtimes 9.0.20 / 10.0.12 / 11.0.0-rc.1.26425.128, mediane de 3 passes interleavees), bancs par sous-module et allocations.- Consequence pour une lane servie par le tapis : aucun sous-grain worker actionnable dans ces trois filles — elles sont livrees et n'attendent qu'une cloture. Le reste de l'Epic (P2 = decision LTS vs GA) est une escalade user, pas un grain de lane.
- Portee non verifiee : etat GitHub des trois filles et des PRs citees au 12/10 ~00:30Z, plus la presence et la taille du fichier de deltas sur
main; je n'ai pas rejoue les bancs ni les carnets.
Refs #18695.
.NET 11 — mesure progressive des gains runtime async + numerique avant saut hors LTS
Contexte
Suite a l'audit des ameliorations de performance .NET 11 (Stephen Toub, .NET Blog, 2026-09-15, https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-11/) et de l'inventaire .NET du depot CoursIA (cf exploration c.2026-10-01), etude des gains potentiellement applicables au materiel .NET du depot principal ET des sous-modules declares.
Mesure des benefices vs cout de saut hors LTS (.NET 9 LTS canonique, cf code-style.md). Convention cible actuelle :
.NET 9.0(code-style.md:18), a arbitrer.Angle retenu
Les sous-modules ne sont pas seulement des cibles de la migration, ils sont le terrain de mesure privilegie — bibliotheques pures, sans I/O utilisateur, avec des kernels serres (algorithmes deterministes, allocations mesurables, peu de dependances externes). C'est la qu'un BenchmarkDotNet en cellule notebook est le plus discriminant, et la qu'un delta runtime se voit sans bruit.
L'Epic reunit la mesure et la maintenance des sous-modules dans le meme temps de cycle, conformement au mandat submodule-maintenance.md R6 (« un sous-module compte dans le provisionnement »).
Cibles d'organe
Depot principal
MyIA.AI.Notebooks.csproj(hote .NET Interactive) — gains attendus : Runtime Async opt-in, JIT escape analysis (boxing Nullable, ObjectEqualityComparer), DateTime.Now timezone caching, Guid.Parse, ArgumentNullException.ThrowIfNull Tier 0.MyIA.Trading.Backtester(ML.NET 6 preview, Accord 3.8.2-alpha) — gains attendus : JIT bounds checks coalesces, vectorisation Slice, LINQ Min/Max bytes/shorts.Sous-modules (parcours de mesure + maintenance, cf inventaire .NET)
ArgumentumGames/Argumentumjsboige/MetaGeneticSharpMyIntelligenceAgency/Z3.Linq(fork endjin)MyIntelligenceAgency/semantic-fleet(branch stable-from-v0343)MyIntelligenceAgency/AutomataLe critere pertinent : « A marche sur une machine SPECIFIQUE avec le bon env » (regle SOTA RECOVERABLE-MACHINE). Un sous-module est deja un candidat naturel : environnement isole, build deterministe, tests integres. La mesure .NET 11 = la mesure qui revele ce que le sous-module ne dit pas en lisant son code.
Mesures a effectuer
dotnet-interactive 1.0.617701(po-2024 divergence documentee dans kernels-runtime.md, pin jamais installe sur po-2024) — divergence a resoudre avant la mesure.Points de resonance
Risques
Plan de travail (sub-issues filles)
dotnet-interactiveentre machines (regle F du CLAUDE.md : reparer, pas contourner)net11.0dansMyIA.AI.Notebooks.csproj+ opt-inruntime-async=onPourquoi cette forme — la double finalite
L'Epic sert deux objectifs correles :
Liens
agente_explorerc.2026-10-01 (cf dashboard).NET 9.0, a arbitrer)Statut
A creer. Tranche de realisation P0 reservee a la lane qui portera la premiere sous-issue.