Repository navigation
renum(Search): padding zero du reste des series Search Part1 et Part4 — l'ordre lexicographique est casse #14545
Description
Activity
- 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 - 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 [CLAIMED] lane myia-po-2025:CoursIA — tranche A : padding zéro des 18 notebooks Search/Part1-Foundations (Search-N → Search-0N, git mv + sweep référents), exécution Vibe + relay. Amend 05/09 soir (fix review de la PR tranche A) : les 4 surfaces REGISTRE du sweep ajoutées au scope.
paths: MyIA.AI.Notebooks/Search/Part1-Foundations/**, scripts/notebook_tools/twin_pairs.d/search-{01,02,03,04,05,06,07,08,09}-*.yaml, scripts/notebook_tools/pedagogy_density_baseline.json, scripts/tests/test_check_lane_claim.py, scripts/notebook_tools/tests/test_detect_markdown_rendering.py (tranche A + registres — tranche B Part4-Metaheuristics laissée libre)
Tranche A livrée : PR #14790 (18
git mvSearch-N → Search-0N + sweep référents Part1-Foundations, 63 fichiers, 0 ligne non-référence dans le diff, catalogue byte-identique). Le grep d'acceptance rend 8 occurrences résiduelles intentionnellement préservées (catalogue régénéré par cron/CI + 7 refs historiques/inexistantes, inventaire case par case dans le body de la PR).La tranche B (Part4-Metaheuristics, 12 fichiers MGS-1 → MGS-09) reste ouverte : mon claim ne couvre que les chemins Part1 (
paths:), elle est claimable telle quelle. Case A de l'acceptance à cocher au merge de #14790.[INFO] Consequence en aval mesuree, hors du perimetre declare de cette issue
En instruisant un defaut voisin (#14832, absence de liens dans les pages de parcours), j'ai mesure que le padding zero repare aussi l'ordre des tables de
docs/curriculum/.Le mecanisme :
generate_catalog.py:1346trie les entrees parkey=lambda e: e.get("path", "")— lexicographique sur le chemin.generate_parcours.pypreserve cet ordre sans retrier. UnApp-11precede donc unApp-2dans toutes les pages de parcours, pas seulement dans les listings de serie.Verification (entrees
Search/Applications/CSP/App-*) :ordre ACTUEL : 1 11 11b 15 15b 16 16 19 19 1b 2 2 20 20b ordre PADDE : 1 1b 2 2 2b 3 3b 4 4b 5 5 6 6 7 padding repare l'ordre : TrueDeux consequences pratiques :
- Pas d'action supplementaire ici — le tri par chemin est correct une fois les noms paddes ; il n'y a pas de second defaut de tri a corriger dans les generateurs.
- Un controle positif gratuit pour cette PR : apres le renommage, relancer
generate_parcours.pyet lire l'ordre des tables donne une verification end-to-end du padding, en aval du renommage lui-meme. Les pagesdocs/curriculum/*.mdetant regenerees par le cron quotidien, l'effet se constatera surmainsans geste supplementaire — mais le verifier dans la PR evite d'attendre une nuit pour decouvrir un residu.
Aucun changement de perimetre demande : c'est un effet de bord favorable, signale pour qu'il ne soit pas re-diagnostique comme un defaut independant.
- 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 7, 2026 [CLAIMED] lane myia-po-2025:CoursIA — tranche B : padding zéro des 12 notebooks Search/Part4-Metaheuristics (MGS-N → MGS-0N, git mv + sweep référents), exécution Vibe + relay (dispatch [WAKE-VIBE] 23:22Z, run 110,6 s, livraison relay en cours).
paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/**, _quarto.yml, docs/curriculum/ia-classique.md, translations/search-part4/README.md
[DELIVERED] tranche B — PR #15147 (
wt/vibe-mgs-padding, base7af725e96).Chaîne complète Vibe + relay : dispatch
[WAKE-VIBE]23:22:36Z → pickup 21 s → PROMPT_OK 110,6 s / 0,19 $ (12git mv+ sweep Part4, commitd4e0feb12) → relay sweep 54 remplacements binaires (formesb/c/d+ référents externes_quarto.yml/docs/curriculum/translations, commit313426d38). 22 fichiers, 132+/132-.Acceptance : grep
MGS-[1-9]-sur*.md *.ipynb *.yml= 0 hit ; ordrelsnarratif (01…09, 10) ; catalogue byte-identique (aucunCOURSE_CATALOG.generated.*au diff) ; 2 refsMGS-7c/7dpréservées dansdocs/archive/reference/notebook-counts-reconciliation.md(doc datée, précédent tranche A). Garde perimeter VERDICT OK + lane_claim guard_pass local. Cases A-B + sweep + ordre + catalogue cochées sur l'issue avant merge.Tranche A : #14790 MERGED. Cette PR porte
Closes #14545.[CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/**, _quarto.yml, docs/curriculum/ia-classique.md, translations/search-part4/README.md, scripts/notebook_tools/pedagogy_density_baseline.json, scripts/notebook_tools/scan_md_table_syntax.py, scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py, scripts/regen_quarto_render.py
Scope repair post-delivery : le commit registre
10f63b775a ajouté quatre surfaces absentes du claim initial. Cette déclaration rend le scope réel explicite ; elle ne lève pas le finding séparé du preflight #15147 surtranslations/search-part4/README.mdbot-owned.[CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/**, ./_quarto.yml, docs/curriculum/ia-classique.md, translations/search-part4/README.md, scripts/notebook_tools/pedagogy_density_baseline.json, scripts/notebook_tools/scan_md_table_syntax.py, scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py, scripts/regen_quarto_render.py
Correction mécanique du scope précédent :
./_quarto.ymlrend le chemin racine matchable par l'organe sans changer le périmètre.- added a commit that references this issue
on Sep 8, 2026 [CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/**, *_quarto.yml, docs/curriculum/ia-classique.md, scripts/notebook_tools/pedagogy_density_baseline.json, scripts/notebook_tools/scan_md_table_syntax.py, scripts/notebook_tools/tests/test_check_outputs_text_fragmentation.py, scripts/regen_quarto_render.py
Scope final après restauration de la surface bot-owned : 25 fichiers / 148+ / 148-.
*_quarto.ymlremplace le glob racine précédemment classé empty_scope ; aucun chemintranslations/**ne reste dans le diff.- 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 8, 2026 - added a commit that references this issue
on Sep 9, 2026
Nit user posé sur #14480 le 2026-09-03T13:56Z :
#14480 introduit les accrétions
Search-03b/03c/03d(paddées) dans une série dont la première moitié ne l'est pas. Cette issue porte le reste du geste ; elle est la levée par report du nit (forme 3 de CLAUDE.md §B.0), ouverte avant le merge de #14480.Le défaut est mesurable, pas esthétique
Mesure sur la tête de #14480 (
a236ea73b87b, 2026-09-03T23:38Z) :Search/Part1-FoundationsSearch/Part4-MetaheuristicsLe mélange casse l'ordre lexicographique, qui est celui de tous les listings (explorateur,
ls, arbres README, catalogue) :Même rupture sur
Part4:MGS-10-CenterBiass'affiche avantMGS-2-Composition.Périmètre
A.
Search/Part1-Foundations— 18 fichiers (paires FR +-Csharp) :Search-1-StateSpace,Search-2-Uninformed,Search-3-Informed,Search-4-LocalSearch,Search-5-GeneticAlgorithms,Search-6-AdversarialSearch,Search-7-MCTS-And-Beyond,Search-8-DancingLinks,Search-9-LinearProgramming->Search-01-…Search-09-.B.
Search/Part4-Metaheuristics— 12 fichiers :MGS-1-Introduction,MGS-2-Composition,MGS-3-Eukaryote,MGS-4-Islands,MGS-5-CompoundMetaheuristics,MGS-6-Benchmarks,MGS-7-TSP,MGS-7b-LandscapeMultidim,MGS-7c-RosenbrockGriewank,MGS-7d-MichalewiczDixonPrice,MGS-8-LandscapeExplorer,MGS-9-EverestRelief->MGS-01-…MGS-09-(suffixesb/c/dpréservés).Hors périmètre :
Part2-CSP(CSP-1…CSP-9, aucun nombre à deux chiffres -> l'ordre lexicographique est déjà correct, le padding n'y apporterait rien).Ce qu'un renommage traîne derrière lui
Un
git mvseul laisse le dépôt incohérent. Chaque renommage doit être suivi d'un sweep des référents :catalog-pr-hygiene.mdHARD 1) : le cron ou la CI par-PR s'en charge ;docs/**et dans les workflows qui nomment un chemin de notebook.Vérification attendue avant merge :
git grep -n "Search-[1-9]-" -- '*.md' '*.ipynb' '*.yml'ne doit plus rendre de référence aux anciens noms de la partie traitée.Acceptance
Part1-Foundationsrenommés enSearch-0N-Part4-Metaheuristicsrenommés enMGS-0N-git grepdes anciens noms vide sur le périmètre traitélsde chaque répertoire rend l'ordre narratif (1, 2, 3 … 10, 11) et non l'ordre lexicographique cassémainsur la brancheA et B peuvent partir en deux PR distinctes (une par partie) : ce sont deux périmètres indépendants.
Part of #5081 (renumérotation narrative des séries).