Repository navigation
[audit README Part4] Inversion Eukaryote/Islands — 5 occurrences dans le README MGS #18879
Description
Activity
- addeddocumentationImprovements or additions to documentationImprovements or additions to documentationauditAutomated quality audit findingsAutomated quality audit findings
on Oct 2, 2026 [CLAIMED] lane myia-po-2024:CoursIA-2 -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/README.md -- 2026-10-03T02:15Z
Grain: MED/docs -- lane myia-po-2024:CoursIA-2 -- prev: MED/notebook-python #18914
Audit borné : corriger 5 occurrences Eukaryote/Islands dans README MGS (L20, L41, L52, + 2 a confirmer en lecture). Substantiel : Eukaryote = partition des genes, Islands = partition de la population -- l'inverse est actuellement asserte.
Refs #18879
Tell c.1502 strict fondateur- added a commit that references this issue
on Oct 3, 2026 - added a commit that references this issue
on Oct 3, 2026 [CLAIMED] lane myia-po-2023:CoursIA-2 -- file de dispatch coordinateur (1/4) : corriger les 5 occurrences Eukaryote/Islands du README apres relecture des cellules #0 de MGS-03/MGS-04 -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/README.md
[CLAIMED-AMEND] lane myia-po-2023:CoursIA-2 -- reste de l'acceptance apres #18918 (les 5 occurrences du README sont deja corrigees) : (1) verdict de semantique en lisant EukaryoteChromosome.cs et IslandPopulation.cs dans le sous-module MetaGeneticSharp ; (2) audit de MGS-vs-mealpy/README.md pour la meme inversion -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/README.md
Correction du coordinateur : la file du 2026-10-05 demandait de corriger les 5 occurrences, alors que #18918 (fusionnee le 2026-10-03) les a deja corrigees. Les deux cases d'acceptance restantes (lecture du code source, audit du README mealpy) ne sont pas couvertes par #18918, qui s'appuyait sur les cellules #0 des carnets. C'est elles qui forment le grain.
[INFO] c.1039 verdict d acceptance post-#18918
Grain: MED/docs -- lane myia-po-2023:CoursIA-2 -- prev: DEEP/notebook-python #18957
Acceptance ai-01 (cf [CLAIMED-AMEND] 2026-10-05T01:36:58Z) :
(1) verdict de semantique en lisant EukaryoteChromosome.cs et IslandPopulation.cs
(2) audit MGS-vs-mealpy/README.md pour la meme inversion== (1) Verdict semantique first-hand ==
Sub-module MetaGeneticSharp chemin : MyIA.AI.Notebooks/Search/MetaGeneticSharp/src/MetaGeneticSharp.Domain/
EukaryoteChromosome.cs (Chromosomes/) :
- L8-11 : "A child chromosome sliced from a parent individual. It keeps track of the parent chromosome and gene offset, so a complete individual can be built back from a karyotype of EukaryoteChromosomes."
- L24-30 : constructeur prend un parent + (startGeneIdx, length) et copie le segment de genes du parent.
- L56-67 GetKaryotype : "Extracts the child chromosomes from a parent individual, given the lengths of the child chromosomes." -> partition du genome en sous-chromosomes.
- L73-79 GetSubPopulations : effet de bord -- une fois la partition des gènes faite, on regroupe par position pour obtenir une population par sous-chromosome.
Verdict : Eukaryote = partition du genome (caryotype). La sub-population par sous-chromosome est un effet de bord d optimisation par sous-metaheuristique, pas la definition.
IslandPopulation.cs (Populations/) :
- L7-11 : "A sub-population holding a contiguous slice of the parent population s individuals (full chromosomes, unlike Eukaryote slices), evolved independently by IslandMetaHeuristic with periodic migrations."
- L12 : "class IslandPopulation : SubPopulation" -- explicitement une sous-population.
- L22 MigrationRates : echange entre iles.
Verdict : IslandPopulation = partition de la population en iles migratoires. Aucun decoupage de gene.
Confirmation first-hand (G.1) de la these de po-2024 (PR #18918) : Eukaryote = genes, Islands = population.
== (2) Audit MGS-vs-mealpy/README.md ==
Recherche : 0 match.
Le README MGS-vs-mealpy porte sur la campagne comparative de performance (coût/qualité, 9 paires, protocole apparié) -- il n y a aucune occurrence des primitives Eukaryote/Islands dans le texte. Audit vide : aucune correction requise.== Bilan acceptance ==
Sous-tâche Statut (1) Verdict EukaryoteChromosome.cs + IslandPopulation.cs FAIT -- confirme Eukaryote=genes, Islands=population (2) Audit MGS-vs-mealpy/README.md FAIT -- aucune occurrence Pas de PR de code -- le travail livrable est ce verdict sur l issue. La fermeture (par ai-01 ou l adjoint) tranchera sur les 2 sous-tâches couvertes.
Refs #18879
Fermeture (coordinateur, lane myia-ai-01:CoursIA). J'ai vérifié chacune des quatre cases d'acceptance sur
main:- Sémantique côté code.
Populations/IslandPopulation.csdéclareclass IslandPopulation : SubPopulation, et sa doc dit « full chromosomes, unlike Eukaryote slices ».Chromosomes/EukaryoteChromosome.csdécoupe un individu en segments de gènes (GetKaryotype). Eukaryote partitionne donc le génome, et Islands la population. Le verdict détaillé est au commentaire c.1039 de myia-po-2023:CoursIA-2. - Audit de
MGS-vs-mealpy/README.md. Aucune occurrence de Eukaryote ni de Island : rien à corriger. - Formulation retenue. « partition du génome en chromosomes composites (Eukaryote, analogie caryotype) » et « partition de la population en îles migratoires (Islands) ».
- Correction du README. Livrée par fix(docs,#18879): MGS README -- 6 occurrences Eukaryote/Islands re-ancrées sur la verite des carnets #18918. Les lignes 20, 41, 52 et 90 du README de
Part4-Metaheuristicsportent la formulation corrigée surmain.
- Sémantique côté code.
{
"title": "[audit README Part4] Inversion Eukaryote/Islands — 5 occurrences dans le README MGS",
"body": "## Constat\n\nDans
MyIA.AI.Notebooks/Search/Part4-Metaheuristics/README.md, la primitive Eukaryote (MGS-3) est présentée à tort comme une partition de la population, alors qu'il s'agit d'une partition des gènes (chromosomes composites). Inversement, Islands (MGS-4) est la partition de la population en sous-populations semi-isolées, mais la lecture en diagonale laisse penser le contraire.\n\n## Vérification first-hand contre les notebooks sources\n\nJ'ai lu les premières cellules deMGS-03-Eukaryote.ipynbetMGS-04-Islands.ipynbpour trancher :\n\nMGS-3 Eukaryote (cell #0 markdown, lignes 1-3) :\n> "le concept d'eukaryote : des individus multi-chromosomes dont chaque partie est evoluee independamment"\n> "EukaryoteChromosomepour decouper un genome en sous-chromosomes (caryotype)"\n> "configurer des sous-populations isolees avec des strategies differentes"\n\nLecture par strate :\n- Niveau 1 — gènes : un individu = unEukaryoteChromosomequi découpe un génome en sous-chromosomes (analogie du caryotype). C'est la partition des gènes.\n- Niveau 2 — population : ensuite, on peut attacher une métaheuristique différente par sous-chromosome, ce qui revient à faire évoluer des sous-populations parallèles (chaque sous-chromosome a sa population). Mais c'est un effet de bord de la partition des gènes, pas la définition.\n\nMGS-4 Islands (cell #0 markdown, lignes 1-3) :\n> "le modele insulaire : structuration spatiale d'une population en sous-populations semi-isolees"\n> "IslandPopulationetIslandMetaHeuristicpour partitionner une population en iles"\n\nLecture : Islands = partitionner la population en îles qui échangent par migration. Aucun découpage de gène n'est impliqué.\n\n## 5 occurrences dans le README\n\nL'inverse est asserté à 5 endroits dans le README :\n\n| Ligne | Contexte | Texte actuel (extrait) | Problème |\n|---|---|---|---|\n| L20 | Pourquoi cette partie — motivations | "sous-populations spécialisées (Eukaryote), migration entre îles (Islands)" | Eukaryote n'est pas une sous-population, c'est une partition de génome. |\n| L41 | Objectifs d'apprentissage n°3 | "Structurer une population en sous-populations spécialisées (Eukaryote) ou en îles migratoires (Islands)" | L'attribution à la « population » est inversée. |\n| L52 | Table des notebooks, ligne MGS-3 | "Sous-populations spécialisées | chromosomes composites, partitionnement" | "Sous-populations" comme concept-clé est faux (MGS-3 parle de gènes) ; le bon concept-clé est "Multi-chromosomes" ou "Partition des gènes". |\n| L90 | Bloc mermaid W2 (arc pédagogique) | "MGS-3 — Eukaryote (sous-populations)" | Mauvais niveau. |\n| L318 | Ce que vous avez appris, §2 | "le modèle eucaryote (sous-populations spécialisées portées par des chromosomes composites) et le modèle insulaire (îles migratoires)" | Cas mixte : le sens y est correct (les chromosomes composites portent les sous-populations) mais la formulation prêtera à confusion. |\n\n## Périmètre\n\nInvestigation, pas un PR de fix tout fait :\n\n1. Confirmer la sémantique côté code source (sous-moduleMetaGeneticSharp/src/MetaGeneticSharp.Domain/) :EukaryoteChromosome,EukaryoteMetaHeuristic,IslandPopulation,IslandMetaHeuristic. Lecture des fichiers de classe pour vérifier qui fait quoi. La lecture des notebooks est cohérente avec la thèse du user, mais le code est l'arbitre.\n2. Rechercher d'autres contre-sens dans le même README et dansMGS-vs-mealpy/README.md(sous-fichier localisé) — j'ai scanné mécaniquement les lignes qui croisent Eukaryote/Island avec population/chromosome/gène, 5 occurrences trouvées toutes du même type ; un audit manuel des autres primitives (Match,Container,Scoped,RotatedFitness,ShiftedFitness, etc.) est à faire.\n3. Décider la formulation de remplacement :\n - Option A — conserver "sous-populations" mais en l'attribuant à Islands : "sous-populations semi-isolées (Islands), gènes multi-chromosomes (Eukaryote)".\n - Option B — employer des termes neutres et justes : "caryotype multi-chromosomes (Eukaryote), sous-populations migratoires (Islands)".\n4. PR de correction : un seul PR README-only, scope borné, après décision de la formulation.\n\n## Pourquoi c'est un audit README (pas un fix automatique)\n\n- L'inversion est didactique : un lecteur qui suit le fil MGS-3 → MGS-4 dans l'ordre des notebooks ne sera pas perdu, parce que les notebooks eux-mêmes sont corrects. Mais un lecteur qui survole le README (ou qui le parcourt en isolation, par exemple pour décider si la Partie 4 l'intéresse) absorbe l'inversion et l'emporte avec lui. C'est l'archétype du défaut qu'un audit README détecte mais qu'aucun test CI ne rougit.\n- Refaire le PR sans investigation préalable risquerait d'imposer une terminologie que la sémantique code ne supporte pas. Mieux vaut ground-truth d'abord.\n\n## Acceptance\n\n- [ ] Lecture sourceMetaGeneticSharp/src/MetaGeneticSharp.Domain/Chromosomes/EukaryoteChromosome.cset.../Populations/IslandPopulation.cs(ou équivalent) — verdict sur la sémantique (qui fait quoi).\n- [ ] AuditMGS-vs-mealpy/README.mdpour le même type d'inversion (la campagne compare des métaheuristiques et peut réutiliser la terminologie Eukaryote/Island).\n- [ ] Décision sur la formulation de remplacement (option A ou B ci-dessus, ou une troisième).\n- [ ] PR de correction README, scope borné, 5 lignes modifiées.\n\n## Notes\n\n- Conformité CLAUDE.md §E : la documentation primaire est en français, OK.\n- Conformité readme-french-first.md : le README est déjà en français, donc pas de bascule*.en.mdà prévoir.\n- Conformité C.2 : aucun notebook à modifier, donc pas de re-exécution Papermill requise.\n- Conformité §B audit cross-source-distillation : la sortie d'audit va dans cette issue, pas dans un*_AUDIT.mdcommité. Cf règle HARD 1 : pas de rapport d'audit dans l'arbre.\n\nRef tag :Grain: LIGHT/audit-readme— investigation + petit PR README de quelques lignes. ~1-2 cycles worker.","labels": ["audit", "documentation", "readme"]
}