Repository navigation
feat(search,#13581-followup): Lean-18-Search-AStar-Optimality descend dans Search/Part1-Foundations (search_lean sibling-lake, gap inventaire reconnu) #13662
Description
Activity
[CLAIMED] lane myia-po-2026:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-18-Search-AStar-Optimality.ipynb, MyIA.AI.Notebooks/Search/Part1-Foundations/
Grain: MED/notebook-python — lane myia-po-2026:CoursIA-2 — prev: MED/guard #13678 c.749 narrow215ᵉ
- added a commit that references this issue
on Aug 30, 2026 Arbitrage de la sub-claim après audit global Search
Décision de #13769/#13770 : le companion A* doit devenir l'accrétion Search-03e, après PDB/LDS/Weighted-A* en 03b/03c/03d. Le centre de gravité reste
search_leanet Search-3 ;Part1-Foundationsest donc correct comme destination transitoire.La claim active myia-po-2026:CoursIA-2 n'est pas annulée. Séquencement recommandé : livrer le déplacement actuel avec nom
Lean-18si déjà écrit, puis faire le rename conceptuel en PR #13770/#13771 coordonnée ; ou, si aucun edit n'a commencé, adopter directementSearch-03e-...en accord avec l'owner. Aucun override inter-lane n'est posé ici.- added a commit that references this issue
on Sep 1, 2026 [INFO] candidate-delivered — livree par #13685 (mergee 2026-09-01T12:00:13Z, commit
061739c64), en rider : le titre porte#13488, l'attribution a cette issue est dans le corps du message (« descent Lean-18 to Search/Part1-Foundations (issue 13662) »). GitHub n'a donc pas ferme.Verification firsthand des six items d'acceptance, sur
maina l'instant :Acceptance Mesure Verdict git mvpreserve l'historiquegit log -- SymbolicAI/Lean/Lean-18-...ipynbremonte a014ba73fe(2026) a travers le renametenu Search/LEAN_INVENTORY.mdcol « Notebook cable »0->1+ footnoteligne du lake search_lean:1¹; footnote nomme le fichier, son nouveau repertoire et « descente tranche 1 #13662 »tenu Notebook re-execute (C.2 / H.3) 24 cellules dont 11 code ; 0 execution_countnull, 0 cellule code sans outputtenu Search/index.qmdliste Lean-18ligne 76, chemin relatif Part1-Foundations/correcttenu SymbolicAI/Lean/LEAN_INVENTORY.mdretire Lean-18aucune mention ( greprend 0) — la clause « sinon pas de modif » s'appliquetenu MyIA.AI.Notebooks/_quarto.ymlsidebarle fichier n'existe pas dans l'arbre premise fausse, sans objet Les navlinks entrants ont suivi le deplacement : les six fichiers qui referencent Lean-18 (
Lean-19,Lean-22,Lean-24,SymbolicAI/Lean/README.md,SymbolicAI/README.md,App-22-AlgorithmSelection-Python) pointent tous versSearch/Part1-Foundations/, avec une profondeur relative correcte depuis chacun.Fermeture au coordinateur (je ne ferme pas une issue moi-meme).
Un residu, hors du perimetre de cette issue
En verifiant les navlinks j'ai mesure une erreur d'attribution qui preexiste au deplacement, dans
MyIA.AI.Notebooks/SymbolicAI/README.md, ligne 18 du tableau :| 18 | [Lean-18-Search-AStar-Optimality](...) | Lean 4 / WSL | Preuve d'optimalite A* dans le lake+ "planners_lean" +| 3 |Deux champs sont faux, et le notebook les contredit lui-meme :
- lake : le notebook cite
search_lean38 fois etplanners_leanzero fois ; son titre, sa conclusion etSearch/LEAN_INVENTORY.mddisent toussearch_lean; - kernel :
metadata.kernelspec=python3/Python 3, pas « Lean 4 / WSL » — c'est un companion Python d'un lake, pas un notebook a kernel Lean.
Ni l'un ni l'autre n'est cause par #13685 (la ligne etait deja fausse avant le
git mv) : ce n'est donc pas un residu d'acceptance de cette issue, mais un sujet a part — et la corriger engage l'audit du fichier entier contre le disque (regle E), pas la seule ligne 18. Signale ici pour qu'il ne se perde pas ; non corrige dans ce commentaire.— lane myia-po-2026:CoursIA-2
- lake : le notebook cite
Delivered via PR #13685 (MERGED 2026-09-01T12:00:13Z, commit 061739c, lane myia-po-2026:CoursIA-2). Acceptance 6/6 firsthand vérifiée : git log --follow OK (historique préservé), Search/LEAN_INVENTORY.md col Notebook câblé 0¹ → 1¹ OK, 24 cellules execution_count non-null OK, navlinks 6 fichiers OK. GitHub n'a pas fermé car PR titre porte #13488 (attribution dans le corps).
Renamed par #14250 (PR #14250) vers Search-03e-AStar-Optimality.ipynb. Résidu hors-périmètre tracé dans #14251 (archivage scripts c.8257).
Le notebook
Lean-18-Search-AStar-Optimality.ipynbdevrait descendre dans la série SearchConstat — couplage cross-série reconnu par l'inventaire
Le notebook
MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-18-Search-AStar-Optimality.ipynb(24 cellules, kernel Python 3) est explicitement indexé sur le lakesearch_lean, qui vit déjà dansMyIA.AI.Notebooks/Search/search_lean/. Le titre du notebook le déclare : "Lean-18 : A* et l'optimalité sous heuristique admissible — visite formelle desearch_lean". La conclusion confirme : "Ce notebook a visité le lakesearch_lean(0 sorry)".L'inventaire autoritatif
MyIA.AI.Notebooks/Search/LEAN_INVENTORY.md(ligne 16-24) reconnaît le gap :Le candidat existe (
Lean-18-Search-AStar-Optimality.ipynb) — il est juste mal placé sousSymbolicAI/Lean/, alors que :search_lean(5 modules Astar/*.lean + umbrella)MyIA.AI.Notebooks/Search/search_lean/Lean-18-Search-AStar-Optimality.ipynb)MyIA.AI.Notebooks/SymbolicAI/Lean/Search/Part1-Foundations/Précédent : FallacyDetection descend dans GenAI/ (#13581 tranche 1)
#13581 a fait descendre
MyIA.AI.Notebooks/FallacyDetection/(2 notebooks + data + README) versMyIA.AI.Notebooks/GenAI/FallacyDetection/. Tranche 1 livrée en c.266 par PR #13601 (substance LIVREE, 2 renamesgit mv+ navlinks + scripts/tests, 0 régression).Différence de pattern : FallacyDetection était un répertoire entier top-level avec numbering
02_/03_/.Lean-18est un notebook individuel numéroté dans une série Lean (Lean-1 à Lean-27+) — la renumérotation est une décision distincte, traitée par l'EPIC #5081 ("Renumérotation narrative des séries — arc pédagogique cohérent") + #12933 ("Renumérotation paritaire des séries parallèles"). Cette issue ne tranche PAS la renumérotation.Périmètre de cette tranche (atomicité PR)
git mv MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-18-Search-AStar-Optimality.ipynb → MyIA.AI.Notebooks/Search/Part1-Foundations/— nom conservéLean-18-Search-AStar-Optimality.ipynb(renommage reporté à l'EPIC #5081).Search/LEAN_INVENTORY.mdligne 160¹→1¹+ footnote clarifiée : "câblé :Lean-18-Search-AStar-Optimality.ipynb(visite formelle Python desearch_lean, descent tranche 1 #13662)".SymbolicAI/Lean/LEAN_INVENTORY.mdMyIA.AI.Notebooks/_quarto.ymlsidebarMyIA.AI.Notebooks/index.qmdracineMyIA.AI.Notebooks/Search/index.qmdCOURSE_CATALOG.generated.{json,md}+ marqueursCATALOG-STATUSREADMEcatalog-pr-hygiene.mdHARD 1 — la régénération est portée par le croncatalog-cron.yml).count_exercises.py+detect_markdown_rendering.py## Exercice(Exercice 1/2/3 visibles dans la conclusion) → kind=standard/threshold=3.Acceptance
git mvpreserve l'historique git (vérifier viagit log --follow MyIA.AI.Notebooks/Search/Part1-Foundations/Lean-18-Search-AStar-Optimality.ipynb).Search/LEAN_INVENTORY.mdligne 16 col "Notebook câblé" passe de0¹à1+ footnote clarifiée.execution_countnon-null +outputscohérents (règle C.2 / H.3). Si la ré-exec échoue (kernel ou import cassé) : issue de suivi nommée AVANT le merge (B.0 Règle 3) plutôt que rebase manuel.pytest scripts/notebook_tools/: 0 régression.Estimation
5-8 fichiers, +10/-20 lignes, atomicité respectée (G.4). Tranche bornée, livrable séparément. Évite les composites.
Sub-claim à trancher par owner AVANT PR
Search/Part1-Foundations/(proposition) ouSearch/Part3-Advanced/(vu queSearch-18-CombinatorialDiscrepancyest en Part3) ? Part1-Foundations contient déjàSearch-1, 2, 10, 11, 15, 16, 17(A* fondateurs), donc Part1 est le alignement thématique canonique. Recommandation : Part1-Foundations.Lean-18-(proposition : cohérence cross-série jusqu'à l'EPIC [EPIC] Nommage canonique et parcours des notebooks — numéros, accrétions, noyaux et catalogue #5081) ou renommer enSearch-18b-malgré la collision avec [EPIC] Nommage canonique et parcours des notebooks — numéros, accrétions, noyaux et catalogue #5081 ? Recommandation : laisserLean-18-et laisser [EPIC] Nommage canonique et parcours des notebooks — numéros, accrétions, noyaux et catalogue #5081 trancher le naming définitif.Pourquoi cette décision est défendable
Search/LEAN_INVENTORY.mdligne 20-24 : "Companion conceptuel = la série Search"). C'est une résolution de dette documentée par les mainteneurs.git mv+ navlinks + scripts sans ré-exec fonctionne.search_leanà 5+ reprises.Pourquoi on pourrait NE PAS le faire (option à rejeter par argument)
Liens
À faire
[CLAIMED] lane <machine:workspace> -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-18-Search-AStar-Optimality.ipynb, MyIA.AI.Notebooks/Search/Part1-Foundations/.