Skip to content

renum(Lean): refermer la colonne canonique (trous 18 et 25) — mapping 19..32 à 18..31 (fille #5081) #15612

Description

@jsboige

Fille de #5081 (nommage canonique), dépôt série par série conformément au commentaire user du 2026-09-02 : « des gaps dans GT et Lean qui méritent une renumérotation globale mais compte tenu de l'impact, il faudrait faire série par série sur le principe de cette issue et des suivantes de consolidation (accrétions) ». Sœur directe de #14944 (GameTheory, trous 20-23) — même principe, même tell.

Le défaut, mesuré firsthand (2026-09-11)

Colonne canonique SymbolicAI/Lean (numéros nus, sans lettre) :

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 __ 19 20 21 22 23 24 __ 26 27 28 29 30 31 32

Deux trous, provenance vérifiée git log --all --diff-filter=D :

notebook-accretion-numbering.md §1 : « Lire les numéros nus dans l'ordre EST le parcours canonique ». Un trou de palier n'est pas cosmétique : le lecteur du speed-run infère une étape 18 puis une étape 25 qu'il ne trouvera nulle part (tell faux prérequis séquentiel, même classe que #14944).

La réparation : un seul décalage referme les deux trous

Tout numéro N ≥ 19 devient N−1. Les trous 18 et 25 disparaissent simultanément, la colonne devient continue 01..30.

Ancien Nouveau Ancien Nouveau
19 Sendov 18 24 ERC20 23
20 Analysis-I 19 24b ERC20-Native 23b
21 PFR-Entropy 20 26 Calibration 24
21b PFR-Primitives 20b 27 Coherence-Temoin 25
22 MIMO-Detection 21 28 Munkres 26
22b MIMO-Converse 21b 29 EdgeColoring-Tutte 27
22c Descente-Budget 21c 30 Complex-Structure-S6 28
23 Galois-M23 22 31 Hecke 29
32 FormalGroups 30

17 fichiers renommés, 0 créé, 0 supprimé.

Blast radius mesuré (git grep sur fichiers tracés)

Surface Fichiers Geste
README série + navlinks internes + H1 ~50 notebooks de la série (les <19 pointent vers l'avant) maj liens + titres
SymbolicAI/Lean/README.md, LEAN_INVENTORY.md 2 table + colonne notebook
READMEs de lakes galois_lean/README.md, mathlib_examples/README.{md,en.md}, mimo_lean/README.md refs croisée
MyIA.AI.Notebooks/SymbolicAI/README.md 1 table série
_quarto.yml, docs/curriculum/ia-symbolique.md, docs/notebook-metadata/production-scope.md 3 refs
scripts/notebook_tools/hopf_s6_reproduction.py, tests associés à qualifier au sweep refs
COURSE_CATALOG.generated.* — byte-identique (auto-regen, règle catalogue)
docs/ledgers/*, scripts/results/* datés — intouchés (records historiques)

Hors périmètre de cette fille (verdicts conformes, aucune action)

Séquençage note

Deux PRs ouvertes de la même lane touchent des fichiers adjacents : #15583 (LEAN_INVENTORY.md, comptes sorry) et #15580 (README série, aération de paragraphes). Régions distinctes ; la tranche se rebase après leur atterrissage si nécessaire.

Activity

  1. jsboige commented on Sep 11, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2027:CoursIA — exécuter la tranche : 17 renames + sweep des refs (README série, lakes, _quarto, curriculum, production-scope). Catalog byte-identique, ledgers intouchés.

  2. jsboige commented on Sep 11, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] tranche refermeture — PR #15613 (17 renames + sweep 388 refs + READMEs réconciliés, cellules code/outputs préservées à HEAD). Colonne passe à 01..30 continue.

    Résiduel ouvert sur cette issue : re-exécution papermill (kernel lean4-wsl) de 5 notebooks dont les commentaires code + miroirs alectryon citent les anciens numéros (16h, 18-Sendov, 19-Tao, 21-MIMO, 26-Munkres — 7 cellules). RECOVERABLE-LOCAL.

  3. added a commit that references this issue on Sep 11, 2026
  4. jsboige commented on Sep 11, 2026

    @jsboige
    OwnerAuthor

    Re-exécution résiduelle — tranche 1/5 livrée (PR #15613, commit aca6413b)

    Suivi : le résiduel reste ouvert ici, la colonne canonique est livrée dans #15613.

  5. jsboige commented on Sep 11, 2026

    @jsboige
    OwnerAuthor

    Correctif de mesure — la reconstruction de lake est MINUTES, pas « multi-heures » (prémisse de mon commentaire précédent réfutée)

    J'ai mesuré firsthand ce cycle la recette de réassemblage sur mimo_lean, et elle est bien plus rapide que ce que j'avais écrit :

    sources (tar depuis le repo) + cp -al <build chaud même rev>/.lake/packages + lake build
    → Build completed successfully (8702 jobs) en 1m54s
        oleans : /home/jesse/mimo-build/.lake/build/lib/lean/{Converse,Descent,Lmmse,Objective}.olean
    

    Le déterminant n'est pas la taille du projet, c'est l'existence d'un build chaud à la même rev Mathlib (les packages sont hardlinkés, donc Mathlib n'est jamais recompilé — seul le projet se construit).

    Inventaire des builds chauds disponibles (mesuré) :

    build toolchain rev Mathlib oleans Mathlib
    conway-build v4.32.1 520045ab14e2 oui
    gtl-build v4.32.1 520045ab14e2 oui
    knots-build v4.32.1 520045ab14e2 oui
    perc-build v4.32.1 520045ab14e2 oui

    Conséquence par notebook résiduel :

    notebook lake requis rev état
    Lean-21 MIMO mimo_lean (vendorié dans le repo) v4.32.1 520045ab — build chaud existe lake WSL réassemblé en 1m54s ✓ ; re-exécution en cours
    Lean-26 Munkres Mathlib seul (Mathlib.Topology.*, aucun module projet) v4.33.0 db584cd — aucun build chaud passe par lake exe cache get (oleans prébuilt) — à tenter
    Lean-19 Tao ~/lean-projects/analysis (clone EXTERNE teorth/analysis, chemin codé en dur) ? clone + build à faire
    Lean-18 Sendov ~/lean-projects/sendov (clone EXTERNE, chemin codé en dur) ? clone + build à faire

    Deux mécaniques distinctes dans les notebooks (mesuré dans les cellules) : MIMO invoque lake localement (MIMO_LEAN_PATH ou mimo_lean/ voisin du cwd, kernel python3 Windows) ; Tao/Sendov passent par wsl -d Ubuntu -- bash -lc 'cd ~/lean-projects/<lac> && lake env lean …' avec le chemin codé en dur (pas de variable d'environnement) — d'où l'obligation de reconstruire à cet emplacement exact pour ces deux-là.

    Suite : Munkres (cache get v4.33.0), puis les deux clones externes — chacun en tranche atomique.

  6. jsboige commented on Sep 11, 2026

    @jsboige
    OwnerAuthor

    [INFO] Tranche MIMO livrée — PR #15613, commit 50bc14ee.

    Lean-21-MIMO-Detection-Flips : la cellule 9 portait Lean-21 (auto-référence au mauvais numéro de série) → corrigée en Lean-20. Re-exécution complète : 13 cellules code, execution_count réels, 0 erreur, 0 marqueur d'échec.

    Contrôles (tous sur la sortie re-exécutée, relancés après le dernier commit) :

    Contrôle Résultat
    Audit cellule-par-cellule vs HEAD 1 seule cellule à source modifiée (la cellule 9) ; le reste = sorties + métadonnées papermill
    Ratchet Output-failure (bloquant) 0 regressed
    Ratchet Output-collapse (advisory) 0 flagged

    Voie utilisée — celle que le notebook documente lui-même : la cellule 2 déclare MIMO_LEAN_PATH « utile pour re-exécuter sans rebuild local ». Lake ~/mimo-build réassemblé par la recette mesurée ce cycle (1 min 54 s) depuis ~/conway-build, rev Mathlib identique 520045ab14e2. Kernel python WSL adossé à ce lake.

    Cela confirme, sur un deuxième lake, que le déterminant d'un réassemblage n'est pas la taille du projet mais l'existence d'un build chaud à la même rev — la prémisse « reconstruction multi-heures » qui figurait sur ce fil est bien à corriger (mesure déjà postée plus haut).

    Résiduel : 3 notebooks, chacun pour une raison distincte :

    Notebook Raison Geste
    26-Munkres lake sur une autre rev Mathlib (db584cd6d46c, v4.33.0) — aucun build chaud à cette rev lake exe cache get (oleans prébuilt) puis build ; recette préparée
    19-Tao lake dans ~/lean-projects/analysis, clone externe à chemin codé en dur dans le notebook (aucune variable d'env) voie différente : rendre le chemin paramétrable ou réassembler à l'emplacement attendu
    18-Sendov idem, ~/lean-projects/sendov idem

    Les deux derniers ne se traitent pas par la recette MIMO : leur notebook ne désigne pas son lake par une variable d'environnement, donc l'emplacement est contraint par le code lui-même.

  7. added a commit that references this issue on Sep 11, 2026
  8. jsboige commented on Sep 11, 2026

    @jsboige
    OwnerAuthor

    Rectificatif — qualification d'une des deux corrections de la cellule 9 (PR #15613).

    Le rapport de livraison ci-dessus décrit la cellule 9 de Lean-21-MIMO-Detection-Flips comme portant une « auto-référence au mauvais numéro de série ». C'est faux, et la mesure le dit : ce fichier était Lean-22-… sur main (le renumber est 22→21), donc la chaîne Lean-21 qu'il contenait ne pouvait pas être une auto-référence — c'était une référence croisée vers le notebook PFR, exactement comme les cellules 0 et 40 du même fichier.

    Mesure (diff des sources cellule par cellule, origin/main → tête de branche) :

    Cellule Avant Après Nature
    0 (markdown) # Lean-22 : … / [Lean-21 (PFR)] / [Lean-23 (Galois)] # Lean-21 : … / [Lean-20 (PFR)] / [Lean-22 (Galois)] titre + 2 réfs croisées
    9 (code) # Mecanique identique a Lean-21 : … # Mecanique identique a Lean-20 : … référence croisée — la seule cellule code touchée
    40 (markdown) [Lean-21 (PFR)] [Lean-20 (PFR)] référence croisée

    La distinction n'est pas cosmétique : une auto-référence fausse signalerait un titre désynchronisé (défaut de contenu), une référence croisée non migrée signalerait un lien mort (défaut de navigation). Les deux se corrigent, mais pas au même endroit, et un relecteur qui part de la mauvaise qualification cherche au mauvais endroit. Le libellé exact est rétabli dans le body de #15613.

    Second résidu trouvé en re-vérifiant, et corrigé : la cellule 9 portait aussi lean22_{tag}.lean — le préfixe du nom de fichier temporaire interne, resté à l'ancien numéro. Le sweep ne l'a pas vu parce que ses motifs portaient la forme Lean-<n> (majuscule + tiret) ; lean22_ (minuscule, underscore) y échappait. Un balayage élargi aux deux casses sur les 21 notebooks du diff rend 1 occurrence, celle-là, désormais lean21_.

    C'est le même angle mort que celui documenté sur les compteurs de prose : un motif se valide par ses faux négatifs — ici, une forme que le sweep ne pouvait structurellement pas attraper. La cellule 9 étant une cellule code, la correction a exigé une re-exécution complète (aucun hand-edit d'outputs, C.2).

  9. added 5 commits that reference this issue on Sep 11, 2026
  10. 10 remaining items

  11. added 7 commits that reference this issue on Sep 13, 2026
  12. added a commit that references this issue on Sep 13, 2026
  13. added a commit that references this issue on Sep 14, 2026
  14. added 2 commits that reference this issue on Sep 14, 2026
  15. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 15, 2026
  16. added a commit that references this issue on Sep 16, 2026
  17. myia-ai-01 commented on Sep 20, 2026

    @myia-ai-01
    Collaborator

    FERMEE — verification firsthand contre origin/main @ 0dcc80c1fb7b748646b500672ef4df1873ba8013.

    Livree par #15613 (5495fb9ebc) et #16039 (fb62633ef2), toutes deux MERGED. Le scope ferme de l'issue — 17 renames + sweep des refs — est atteint : arborescence finale 01..30, 388 references balayees, READMEs reconcilies, cellules code et outputs preserves a HEAD ; #16039 solde les 3 refs Lean stale residuelles de GT-16d.

    Le residu de re-execution papermill (Lean-26/19/18, bloques sur des prerequisite lakes : Munkres v4.33.0, Tao et Sendov a chemins codes en dur) n'est pas un critere de cette issue — c'est un sujet distinct, qui doit vivre dans son issue propre plutot que tenir la renumerotation ouverte. Lean-16h (27/27 cellules, 0 erreur) et Lean-21 (13 cellules, execution_count reels) sont re-executes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions