You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Livré / en vol / reste — vérifié fichier par fichier sur main, jamais déduit des titres. Les provenances sont lues à l'API GitHub par chemin : le git log local ne peut pas les rendre, ce clone est shallow et ne remonte qu'à un commit-frontière.
aucun fichier sur main — cible MyIA.AI.Shared/Search/Graph/ (5 sources + tests) ; les autres inventaires que le corps d'origine range sous B2 (Logic.cs, Probability.cs, Neural.cs) restent hors cible de cette PR et non réclamés
Index de traçabilité : MyIA.AI.Shared/README.md — le contrat décoration → introspection, les 4 PRs de la pipeline A1→A2+ et leurs batteries de tests (48/48 au merge). Le README de MyIA.AI.Shared.Tests/ n'existe pas : la suite vit dans MyIA.AI.Shared.sln.
Ce qui reste, dans l'ordre où une lane devrait le prendre
Portée du non-vérifié. L'organe a examiné 92 Epics ouvertes et 800 PRs mergées (fenêtre 2026-09-26 → 2026-10-04) ; aucune PR mergée de cette fenêtre ne cite #7265, donc unrecorded_merged est vide ici — le corps ne contredit plus ses livraisons, première fois depuis la mesure du 2026-09-01. Les provenances du tableau viennent de l'API GitHub par chemin, hors fenêtre. Les 6 PRs A3 n'ont pas été relues par cette lane (périmètre de po-2027) : leurs libellés de tranche sont ceux de leurs titres.
(Suite : note A3 de la lane myia-po-2027:CoursIA, conservée telle quelle — elle détaille le sous-grain A3 du tableau ci-dessus.)
Etat mesure au 2026-10-04 (lane myia-po-2027:CoursIA, sous-grain A3 ouvert)
A3 (item 2) est maintenant ouvert : sous-grain #19088 créé avec les sources mesurées firsthand (arbre Aricie.PortalKeeper@master : Filters/ 13 fichiers UI-indépendants = T1 ; PropertyEditor Attributes/ ~30 = T2 ; GridView = WebForms System.Web, pattern seulement = T3). Claim posé po-2027, démarrage T1.
B1 (item 3) et C/D (item 4) restent dans l'ordre ci-dessous, inchangés.
État au 2026-09-02 — la pompe est amorcée depuis six semaines : le socle A est livré et testé, et le corps disait encore « dossier vide »
Passe de curation (mandat #13906). Cette Epic est le dernier cas reproduisant littéralement le défaut que le user a signalé sur #1210 : un corps qui se déclare en attente alors que le dépôt y a livré. Le statut annonçait 🧭 BACKLOG INDEXÉ — amorce de la pompe, le corps affirmait « Cet Epic = l'index de la pompe, pas son exécution » et « Le dossier existe déjà (vide, .csproj squelette) ».
Mesuré sur main aujourd'hui : MyIA.AI.Shared/ porte 18 fichiers suivis, plus une suite de tests de 9 fichiers. Le dossier n'est pas vide depuis le 2026-07-21.
Ce qui est livré — vérifié fichier par fichier, pas déduit des titres de PR
MyIA.AI.Shared/README.md — index A1→ avec le contrat décoration→introspection (#8041)
E1 — convertisseur datasets Lean
RELOCALISÉ ET VIVANT
MyIA.Trading.Converter/ (25 fichiers), sorti de MyIA.AI.Shared par #7425 ; a servi la re-exécution DualMomentum sur données LEAN locales (#8401)
E2 — backtester AutoML
EN COURS, successeur nommé
MyIA.Trading.Backtester/ (21 fichiers) + MyIA.Trading.Backtester.Tests/ ; porté par #7357 (OPEN), qui compte le port à 25/75 fichiers selon sa propre métrique
Une décision d'architecture a été prise et n'était inscrite nulle part dans ce corps — cadrage user du 2026-07-19 : « transverse dans Shared, domaine en projet dédié ». C'est elle qui explique #7425 (sortie de MyIA.Trading.Converter hors de MyIA.AI.Shared), geste qui reste incompréhensible sans elle. Elle vaut pour toute récupération future : transverse → MyIA.AI.Shared, domaine → projet dédié à côté.
Ce qui n'est pas commencé — mesuré, pas supposé
Item
État
Vérification
A3 — object explorer UI (AdvancedGridView, PropertyEditor, filtres)
aucun aima/gnugo/GoTraxx suivi. Attention au faux positif : Sudoku-06-AIMA-CSP-*.ipynb et Search/Part2-CSP/ existent, mais ce sont des notebooks pédagogiques autonomes — pas la récupération du patrimoine Aricie. Les confondre ferait cocher B1 à tort
Ce que la mesure change pour la conduite de cette Epic
Le pari du corps est validé sur son axe le plus dur. Le corps disait : « Ce framework ne demande qu'à grossir », et le pariait sur du grignotage opportuniste plutôt que sur un plan. Six semaines plus tard, la fondation entière (A1 + A2 + B4) est en place, testée, documentée et adossée à un notebook — sans plan de bataille, à l'opportunité. La méthode fonctionne ; c'est la description de l'état qui ne suivait pas.
Et le vrai reste n'est pas où l'ordre du corps le plaçait. L'ordre proposé allait « du socle vers les applications », A → B → C → D → E. Dans les faits, A est fini, E est le plus avancé après lui, et B/C/D n'ont pas bougé. L'ordre de déploiement est bien resté opportuniste, comme le corps l'autorisait explicitement — mais un lecteur qui prend l'ordre A→E au pied de la lettre chercherait le travail au mauvais endroit.
Ce qui reste, dans l'ordre où une lane devrait le prendre
A3 — la seule tranche du socle non commencée, et celle que le corps appelle « le vrai bijou architectural ». Elle a maintenant A1+A2+B4 sous elle : sa dépendance est levée.
B1 (CSP/Flee) — B4 étant livré, le liant de B1 existe déjà. C'est la pépite B la moins chère à amorcer, avec un ancrage naturel dans Search/Part2-CSP.
C et D — à ré-évaluer avant d'ouvrir : le corps le dit lui-même pour D (« à évaluer vs alternatives modernes, IDistributedCache standard »). Ne pas ouvrir sans cette évaluation.
Corps d'origine conservé intégralement ci-dessous (2026-07-18). Son cadrage — grignotage opportuniste, index et non exécution, MyIA.AI.Shared comme cible — reste la bonne description de la méthode ; seule sa description de l'état avait dérivé.
Statut : 🧭 BACKLOG INDEXÉ — amorce de la pompe
Cet Epic scope CE QUI EST RÉCUPÉRABLE et DANS QUEL ORDRE, depuis le patrimoine endormi d'Aricie (~10 ans de travail user). Cadrage user 2026-07-18 : « On va grignoter le patrimoine endormi d'Aricie dans notre dépôt CoursIA lors des prochains mois, à l'opportunité. [...] il faudrait juste amorcer la pompe et prévoir de planifier plus tard. »
Cible désignée : MyIA.AI.Shared/ (déjà créé dans CoursIA, .csproj squelette du 02/07/2026) — l'équivalent moderne d'Aricie.Shared. Le plan explicite est d'y récupérer les bouts récupérables de PortalKeeper/Aricie.Shared (+ autres projets Aricie). Ce framework ne demande qu'à grossir.
Méthode : grignotage opportuniste au fil de l'eau. Chaque pépite ci-dessous = une future issue à ouvrir quand l'opportunité CoursIA se présente (série/notebook/issue qui crée un point d'ancrage naturel). Cet Epic = l'index de la pompe, pas son exécution. Des dizaines d'issues en découleront.
Cible : MyIA.AI.Shared/ (CoursIA)
Le dossier existe déjà (vide, .csproj squelette, créé 02/07/2026). Commit lié 506f7ae93 "Migrating SK material to console app". But : accueillir la couche partagée .NET modernisée issue d'Aricie.Shared — l'équivalent C# moderne (net8/9) du socle Aricie.Shared/Libs/ de PortalKeeper.
Ordre de récupération proposé (du socle vers les applications)
Hiérarchie : le socle (A) conditionne tout le reste. Mais l'ordre de déploiement peut être opportuniste — on ramène une pépite quand sa destination CoursIA est claire, pas forcément dans l'ordre ci-dessous.
A. Socle metadata-driven Aricie.Shared → MyIA.AI.Shared (fondation)
B3 — IA de jeux + Go : Games.cs, GameDemos.cs, Go/Go.cs + CNTK (réseau convolution 02_Convolution.cntk, modèles entraînés) + gnugo.exe (moteur Go GNU). Destination : GameTheory/ (série jeux).
B4 — Moteur Flee : Aricie.Shared/.../Services/Flee/ (FleeExpressionBuilder, FleeHelper, ExpressionVariableInfo, CallObjectMethod...). Expressions .NET compilées = le liant universel de B1-B3. Destination : transverse, sous MyIA.AI.Shared.
C. Lucene Search / Safari (moteur de recherche documentaire)
Source : codeplex ariciels (Aricie Lucene Search, Archive Team) + Libraries/AI/external/GoTraxx/ (SearchEngine.cs, SearchInterface.cs, SearchMethod.cs, DistributedSearch/ = NagCoordinator/NagNode/Worker/WorkerProxy = recherche distribuée) + jsboige/safari3-ia [PRIVÉ] (« SAFARI III — Intégration IA dans la GED de la Fédération des Ascenseurs », maj 2026-06-29 = travail de spec vivant basé sur l'IP Lucene).
C1 — Modèle LuceneSearch : pattern d'intégration Lucene .NET (indexation, requêtes, scoring). Destination : Search/ (recherche full-text) ou une série RAG/GenAI (retrieval).
C2 — DistributedSearch (GoTraxx) : coordonnateur + workers + proxy = pattern de recherche distribuée. Destination : infra distribuée (à évaluer pertinence moderne vs alternatives actuelles).
C3 — Safari spec : travail de spec GED Lucene vivant dans safari3-ia privé — point de référence fonctionnel.
Spark.NET BigData : jsboige/5ESGF-BD-2023 (C#, « Spark .Net Term Project », 2023) + MIA/5ESGF-BD-2021. User 2026-07-18 : « On avait aussi tout un travail pertinent dans un cours de BigData sous Spark.net qui pourrait être recyclé, mais ça sera l'objet d'un autre Epic. » → À créer séparément quand opportun (ne pas mélanger ici).
État au 2026-09-02 — la pompe est amorcée depuis six semaines : le socle A est livré et testé, et le corps disait encore « dossier vide »
Passe de curation (mandat #13906). Cette Epic est le dernier cas reproduisant littéralement le défaut que le user a signalé sur #1210 : un corps qui se déclare en attente alors que le dépôt y a livré. Le statut annonçait
🧭 BACKLOG INDEXÉ — amorce de la pompe, le corps affirmait « Cet Epic = l'index de la pompe, pas son exécution » et « Le dossier existe déjà (vide,.csprojsquelette) ».Mesuré sur
mainaujourd'hui :MyIA.AI.Shared/porte 18 fichiers suivis, plus une suite de tests de 9 fichiers. Le dossier n'est pas vide depuis le 2026-07-21.Ce qui est livré — vérifié fichier par fichier, pas déduit des titres de PR
mainMainCategoryAttribute,AttributeContainerAttribute,IChildEntity,ISimpleEntity,IMergeable,SimpleProviderContainer,AutoProviderContainer,ReflectedProviderContainer(#7653, #7669)MetadataJsonSerializer+MetadataContractResolver(#7661, JSON) etMetadataXmlSerializer+XmlAwareContractResolver+NodeSurrogate(#7677, XML)ComponentModel/Rules/FleePredicateBuilder.cs(#10167)MyIA.AI.Shared.Tests/—AutoProviderContainerTests,MetadataJsonSerializerTests,MetadataXmlSerializerTests,FleePredicateBuilderTests,FixturesMyIA.AI.Notebooks/cross-series/socle-metadata-driven/Socle-MetadataDriven-Csharp.ipynb(#10165) + référencement cross-série (#10171)MyIA.AI.Shared/README.md— index A1→ avec le contrat décoration→introspection (#8041)MyIA.Trading.Converter/(25 fichiers), sorti deMyIA.AI.Sharedpar #7425 ; a servi la re-exécution DualMomentum sur données LEAN locales (#8401)MyIA.Trading.Backtester/(21 fichiers) +MyIA.Trading.Backtester.Tests/; porté par #7357 (OPEN), qui compte le port à 25/75 fichiers selon sa propre métriqueUne décision d'architecture a été prise et n'était inscrite nulle part dans ce corps — cadrage user du 2026-07-19 : « transverse dans Shared, domaine en projet dédié ». C'est elle qui explique #7425 (sortie de
MyIA.Trading.Converterhors deMyIA.AI.Shared), geste qui reste incompréhensible sans elle. Elle vaut pour toute récupération future : transverse →MyIA.AI.Shared, domaine → projet dédié à côté.Ce qui n'est pas commencé — mesuré, pas supposé
AdvancedGridView,PropertyEditor, filtres)GridView/PropertyEditor/EditControlsuiviaima/gnugo/GoTraxxsuivi. Attention au faux positif :Sudoku-06-AIMA-CSP-*.ipynbetSearch/Part2-CSP/existent, mais ce sont des notebooks pédagogiques autonomes — pas la récupération du patrimoine Aricie. Les confondre ferait cocher B1 à tortlucene/safarisuiviOutputCache/CacheManager/CacheableEntitysuiviCe que la mesure change pour la conduite de cette Epic
Le pari du corps est validé sur son axe le plus dur. Le corps disait : « Ce framework ne demande qu'à grossir », et le pariait sur du grignotage opportuniste plutôt que sur un plan. Six semaines plus tard, la fondation entière (A1 + A2 + B4) est en place, testée, documentée et adossée à un notebook — sans plan de bataille, à l'opportunité. La méthode fonctionne ; c'est la description de l'état qui ne suivait pas.
Et le vrai reste n'est pas où l'ordre du corps le plaçait. L'ordre proposé allait « du socle vers les applications », A → B → C → D → E. Dans les faits, A est fini, E est le plus avancé après lui, et B/C/D n'ont pas bougé. L'ordre de déploiement est bien resté opportuniste, comme le corps l'autorisait explicitement — mais un lecteur qui prend l'ordre A→E au pied de la lettre chercherait le travail au mauvais endroit.
Ce qui reste, dans l'ordre où une lane devrait le prendre
Search/Part2-CSP.IDistributedCachestandard »). Ne pas ouvrir sans cette évaluation.Corps d'origine conservé intégralement ci-dessous (2026-07-18). Son cadrage — grignotage opportuniste, index et non exécution,
MyIA.AI.Sharedcomme cible — reste la bonne description de la méthode ; seule sa description de l'état avait dérivé.Statut : 🧭 BACKLOG INDEXÉ — amorce de la pompe
Cible :
MyIA.AI.Shared/(CoursIA)Le dossier existe déjà (vide,
.csprojsquelette, créé 02/07/2026). Commit lié506f7ae93 "Migrating SK material to console app". But : accueillir la couche partagée .NET modernisée issue d'Aricie.Shared — l'équivalent C# moderne (net8/9) du socleAricie.Shared/Libs/de PortalKeeper.Ordre de récupération proposé (du socle vers les applications)
A. Socle metadata-driven
Aricie.Shared→MyIA.AI.Shared(fondation)Source :
AricieConseil/Aricie.PortalKeeper→Aricie.Shared/Libs/Aricie.Core/Components/ComponentModel/+Aricie.DNN/UI/PropertyEditor/+ComponentModel/Providers/+Web/WebControls/GridView/. Rosetta stone :ComponentModel.cd(class diagram VS).MainCategoryAttribute,AttributeContainerAttribute,IChildEntity/ISimpleEntity/IMergeable, providers réflexion-driven (AutoProviderContainer,ReflectedProviderContainer,SimpleProviderContainer).XmlAwareContractResolver(hériteDefaultContractResolver, overrideCreateProperty→ lit les attributs) +DynamicSurrogate+XmlConfigElementInfo+ collectionsSerializableDictionary/List/SortedList. Stack Fasterflect + Newtonsoft + Xml.AdvancedGridView(tabs/sections) +PropertyEditor/EditControls/+Filters/(FilterExpression,PredicateFilter,SimpleFilter, boutons filtrants sur méthodes annotées).Destination : outiller GradeBookApp (moteur générique notation), tooling notebook, ou couche low-code pédagogique. Pépite pour user : le vrai bijou architectural (pattern low-code/no-code avant l'heure).
B. Couche IA
Libraries/AI/★ (le cœur « My Intelligence Agency »)Source :
AricieConseil/Aricie.PortalKeeper→Libraries/AI/. Rosetta stone :AI.cd. C'est le cœur IA effectif, sous la config 4 Mo.CSP.cs+external/AIMA/(aima-core.dll, aima-gui.exe). Bijou = contraintes comme expressions Flee compilées (prédicat universel). Destination :Search/Part2-CSP(série Search/CSP descend directement de là).Search.cs,SearchDemos.cs,Logic.cs,Probability.cs,Neural.cs+external/AIMA/. Destination : séries Search + Probas + ML.Games.cs,GameDemos.cs,Go/Go.cs+ CNTK (réseau convolution02_Convolution.cntk, modèles entraînés) + gnugo.exe (moteur Go GNU). Destination :GameTheory/(série jeux).Aricie.Shared/.../Services/Flee/(FleeExpressionBuilder,FleeHelper,ExpressionVariableInfo,CallObjectMethod...). Expressions .NET compilées = le liant universel de B1-B3. Destination : transverse, sousMyIA.AI.Shared.C. Lucene Search / Safari (moteur de recherche documentaire)
Source : codeplex
ariciels(Aricie Lucene Search, Archive Team) +Libraries/AI/external/GoTraxx/(SearchEngine.cs,SearchInterface.cs,SearchMethod.cs,DistributedSearch/=NagCoordinator/NagNode/Worker/WorkerProxy= recherche distribuée) +jsboige/safari3-ia[PRIVÉ] (« SAFARI III — Intégration IA dans la GED de la Fédération des Ascenseurs », maj 2026-06-29 = travail de spec vivant basé sur l'IP Lucene).Search/(recherche full-text) ou une série RAG/GenAI (retrieval).safari3-iaprivé — point de référence fonctionnel.D. DCP / Redis (cache distribué)
Source :
Aricie.Shared/.../Services/Caching/(OutputCacheManager,DiskOutputCacheProvider,CacheHelper,CachedContent,OutputCacheMode,ICacheableEntityDescriptor) +Aricie.PortalKeeper.DNN7/Caching/+ codeplexariciedcp(16 captures Archive Team).E. Fork Lean (convertisseur + backtester) — déjà partiellement intégré C#
Source :
MyIntelligenceAgency/LeanbrancheMyIABacktesting_integration(namespaceMyIA.Trading).MyIA.Trading.Converter/) :TradeConverter.cs(19 Ko) binaire → format dossier LeanData/<mkt>/<sym>/<res>/*.zip. Valeur produit immédiate : voie Equity-locale gratuite vs paywall Security Master QC $600/an, débloque fix(qc,#6891): [RESCOPE] 7 quantbooks en honnetete interimaire — vraie re-exec via kernel QC (RECOVERABLE-USER-HAND, creds absents) #6891. Trou : factor/map files non gérés (à combler). Actionnable indépendamment de la résurrection globale.MyIA.Trading.Backtester/) :BackTesting.cs(47 Ko) + SVM Accord.NET + AutoML + stratégies. Destination :QuantConnect/ouML-Training-Pipeline/.jsboige/lean-monitor-2, forkmirthestam/lean-monitor,Panoptes.Model/) : interface vectorielle résultats backtest. Destination : QA visuelle backtests QC.Epic séparé (HORS scope ici)
jsboige/5ESGF-BD-2023(C#, « Spark .Net Term Project », 2023) +MIA/5ESGF-BD-2021. User 2026-07-18 : « On avait aussi tout un travail pertinent dans un cours de BigData sous Spark.net qui pourrait être recyclé, mais ça sera l'objet d'un autre Epic. » → À créer séparément quand opportun (ne pas mélanger ici).Sources canoniques (vérifiées firsthand 2026-07-18)
AricieConseil/Aricie.PortalKeeper(GitHub, VB.NET)Libraries/AI/+Aricie.Shared/Aricie.PortalKeeper.Default.config(4 Mo / 67 357 lignes XML)MyIntelligenceAgency/LeanbrancheMyIABacktesting_integrationjsboige/lean-monitor-2mirthestam/lean-monitorjsboige/safari3-ia[PRIVÉ]ariciepkp/ariciels/ariciedcparchive.org/details/archiveteam_codeplexjsboige/5ESGF-BD-2023,MIA/5ESGF-BD-2021Critères d'acceptation (pour CECI Epic = index)
MyIA.AI.Shared/identifiée comme destination fondation.Références
myia-org-etymology-portalkeeper,portalkeeper-metadata-driven-core,qc-converter-backtester-archaeology#1210/#6853(Semantic-Fleet = continuation vivante),#6891(8 quantbooks — E1 applicable),#1621(QC strategies)