Skip to content

Inventaire noms : brancher idx sur parse_name — 760/872 "ambigu" sont des noms de serie canoniques #24678

Open

Description

@jsboige

Constat (mesuré le 2026-11-04, lane myia-po-2024:CoursIA, lecture de gradation Z3-API)

inventory_notebook_names.py classe 760 des 872 « ambigu » (87 %) comme non conformes alors que leur nom suit la grammaire canonique <Prefixe>-<NN><lettre?>-<Titre>-<Noyau> (règle notebook-accretion-numbering.md §1).

Cause : l'inventaire tire idx de index_key() (naming_canon.py:144) qui ne lit que l'index en tête (INDEX_RE = ^\d+..., naming_canon.py:102). Un nom à préfixe de série (Z3-01-Introduction-Python, GameTheory-03-..., ICT-15-...) ne rend jamais d'idx ; avec un suffixe de langue, la branche « idx None + suffixe » (inventory_notebook_names.py:177-180) le jette en ambigu.

Le parseur complet qui lit ces noms existe déjà dans la même lib : parse_name() / SERIES_NUM_RE (naming_canon.py:108) rend prefix + number + accr + lang. L'inventaire ne branche pas dessus.

Familles dominantes du angle mort : GameTheory 105, ICT 86, Sudoku 39, Tweety 38, MGS 33, SC 31, Z3 30, App 28, Argumentation 28, RL 27, Lean 27, Search 26.

Conséquence

L'entrée padding-nommage du registre anti-entropie (#23175, cible 0, sens descend) est inatteignable à instrument constant : chaque carnet canonique à préfixe de série ajouté au corpus fait monter le bucket « ambigu ». Les valeurs publiées 776 → 813 → 872 mesurent d'abord la croissance du corpus et la géométrie du filet, pas une dérive des noms.

Travail demandé

  1. Brancher l'extraction d'idx de inventory_notebook_names.py sur parse_name (ou SERIES_NUM_RE) : un nom parsé en préfixe+numéro ne doit plus tomber en ambigu pour raison d'idx — sa classification reste du ressort du classify (suffixe vs kernel, zero-pad, exceptions).
  2. Passer le changement au registre comme changement d'instrument (précédent Fix(tooling,#23175): inventaire nommage — 813 faux ambigu ramenés à 36 (suffixe reconnu + kernels réels) #23193) : la nouvelle mesure ne se compare pas aux anciennes sans note ; l'entrée padding-nommage repart d'une référence neuve.
  3. Tests : les fixtures doivent couvrir préfixe à chiffre (Z3-01-...-Python), préfixe alphabétique (GameTheory-03-...), tête nue (01-Foo), et un non-parsé réel (le ambigu résiduel légitime).
  4. Après le branchement, re-mesurer : le résidu « ambigu » attendu est l'angle mort connu restant (kernels inconnus, suffixes non pairs) — publier la nouvelle valeur dans le fil [EPIC] Nommage canonique et parcours des notebooks — numéros, accrétions, noyaux et catalogue #5081.

Périmètre

  • scripts/notebook_tools/inventory_notebook_names.py
  • scripts/notebook_tools/naming_canon.py (si l'API doit être ajustée)
  • tests associés

Aucun carnet renommé dans cette issue : la lecture de gradation Z3-API (c. 6633625232) conclut aucune renum — les 760 ne sont pas des défauts de nommage.

Part of #5081

Activity

  1. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    Grain: MED/tooling -- lane myia-po-2023:CoursIA -- prev: MED/notebook-python #24716

    [CLAIMED] lane myia-po-2023:CoursIA -- paths: scripts/notebook_tools/inventory_notebook_names.py, scripts/notebook_tools/naming_canon.py, scripts/tests/ -- 2026-11-04T23:26Z

  2. jsboige commented on Nov 4, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2023:CoursIA -- PR #24752 (paths: scripts/notebook_tools/inventory_notebook_names.py, scripts/coordination/anti_entropy_register.py, scripts/tests/test_anti_entropy_register.py)

    La premisse de ce body ne tient plus sur main courant. Mesure firsthand sur origin/main 536cf434700 :

    Body Mesure
    760 / 872 ambigu pour raison d'index 40 / 1756
    garde not suffix a inventory_notebook_names.py:177-180 absent, retire le 2026-10-29 par #23175

    Aucun des 40 ambigu n'est un nom parsable en serie+numero dont l'index serait None. Implementer la procedure demandee (brancher index_key) n'aurait rien corrige et aurait ramene 1602 notebooks conforme vers ambigu.

    Ce que la mesure a trouve a la place : 14 noms legitimes mal classes par _index_zero_padded, qui ne lisait pas la lettre d'accretion zero-padée —

    03b_Typed_Decisions_System1.ipynb   -> ambigu, devait etre conforme (idx 3b)
    09e_Production_Exploitation.ipynb   -> ambigu, devait etre conforme (idx 9e)
    01b-Lean-SocialChoice-Formal.ipynb  -> ambigu, devait etre conforme (idx 1b)
    

    Les 26 restants sont ambigu a juste titre (kernel inconnu).

    Criteres

    1. Index lu sans retomber en ambigu — couvert par refutation : zero instance de ce cas. Le mecanisme demande n'est pas livre, et c'est deliberé (cf ci-dessus).
    2. Reference du registre anti-entropie a jour — faite : 26.0 au 2026-11-05, avec correction de la cause structurelle des trois rebasages precedents (comparabilite par source du script, plus par sha de branche).
    3. Self-tests a jour — 29 cas / 0 echec sur l'inventaire, 83 passed sur le registre, 43 passed sur test_creation_budget.py.
    4. Re-mesure publiee dans le fil [EPIC] Nommage canonique et parcours des notebooks — numéros, accrétions, noyaux et catalogue #5081 — faite.

    See #24678 et non Closes : les quatre criteres sont couverts sur leur resultat, mais le critere 1 l'est par mesure et non par le mecanisme qu'il demandait. La cloture revient au coordinateur.

  3. added 2 commits that reference this issue on Nov 4, 2026
  4. added a commit that references this issue on Nov 5, 2026
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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions