Repository navigation
refactor(search,#17802): descente de 09d dans Discrepancy/ -- Discrepancy-02-Komlos-Lean - #19151
Conversation
Table : issue:17802#5984216914, pilotee par rename_notebooks.py.
Cellules de code citees : jamais reecrites (re-execution C.2 due). Sorties commitees : jamais touchees.
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
✅ No unanchored measurement claim detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
…refixe recalcule L'organe de renommage reecrit le basename d'un lien relatif mais jamais son prefixe de repertoire : `../../Search/Part1-Foundations/<nom>` pointait donc encore l'ancien dossier apres le deplacement vers `Search/Discrepancy/`. Repares : 6 liens casses releves par navlinks, dont 3 dans le notebook deplace (liens vers `Search-09c`, meme dossier avant le move) que la CI n'avait pas signales, et 2 dans Lean-08 (HREF_MISSING du garde enrich-quality). Le titre H1 et le fil d'Ariane du notebook deplace suivent la convention du pilote `Discrepancy-01`. Aucune cellule de code, aucune sortie, aucun execution_count modifie (garde I1/I2/I3 de l'organe canonique, verifiee avant ecriture). See #17802 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
[REPAIR] Liens relatifs cassés par le mouvement — réparé en Trois gardes étaient rouges sur la tête précédente ( Le garde n'en avait vu qu'un. La lecture de l'organe Réparé sous garde structurelle I1/I2/I3 : liens markdown, titre H1 et fil d'Ariane seulement — Le Le défaut de l'organe est un sujet séparé — il devrait refuser un lien relatif dont la cible |
|
[ADJOINT PREFLIGHT] Motif BLOCKED -- un rouge propre a la PR, reparable par la lane :
— dossier myia-po-2027:CoursIA-2, dispatch ai-01 dossiers tiers (04/10 23:17Z). |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
…repancy-02 Le renommage avait suivi le nom de fichier sans le dossier : le carnet restait liste sous Part1-Foundations/ et la sous-serie Discrepancy/ n'avait aucun noeud dans l'arbre, alors que le dossier porte deux carnets depuis #17816. - arbre : noeud Discrepancy/ (01 Beck-Fiala, 02 Komlos) ; le commentaire du noeud Part1-Foundations perd son compte et la mention 09d ; - table Couverture actuelle : ligne Discrepancy/ ajoutee, ligne Part1 corrigee (23, sans le compagnon Lean qui a change de dossier) ; - Part1-Foundations/README.md : trois references de nom (prerequis, table des kernels, bibliographie) ; - discrepancy_lean/FORMAL_STATUS.md k5 et libelle du curriculum ; - baseline nav-chain : l'entree unreachable de Discrepancy-02 est retiree, elle portait une serie devenue fausse et le finding ne se produit plus. See #17802, See #17816 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ventaire Lean et index Deux surfaces ne connaissaient pas encore la descente de Search-09d vers Search/Discrepancy/ : - LEAN_INVENTORY.md declarait `discrepancy_lean` sans notebook cable (« compagnon prevu : Search-15-CombinatorialDiscrepancy ... Pas encore cable »). Mesure : Discrepancy-02-Komlos-Lean tourne sur `lean4-wsl` avec 27 `#check` sur les enonces du lake -- il est cable. La ligne passe a 1² et le Total a 2. Le livrable A de #12823 est livre en Discrepancy-01, kernel `python3`, pont Python vers le lake sans Lean au runtime : il ne compte donc pas dans cette colonne, qui mesure l'invocation effective du lake. - index.qmd ne documentait que `search_lean`. La section « Companion formel » nomme desormais `discrepancy_lean` et ses deux carnets. Residuel nomme, non traite ici : Lean-07b-Examples-Python.ipynb cellule 30 imprime encore l'ancien libelle (`Search-09d-Lean-Discrepancy-Komlos.ipynb`). Le corriger demande une re-execution, et l'executeur de cellule unique (scripts/notebook_tools/exec_single_cell.py) retire par conception les blocs `metadata.papermill` herites (#12722) -- soit 387 lignes sur ce carnet, sans rapport avec ce renommage. Mesure : 1134 des 1485 carnets committes portent ces blocs, c'est la convention dominante du depot. Le sujet part donc en PR dediee plutot que d'entrer ici. Guards : prose-counts rc=0 ; navlinks 0 lien casse (1472 carnets) ; nav-chain --check rc=0 (0 NEW vs baseline). See #17802 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
`Audit README -> .ipynb links` signalait une NOUVELLE violation sur cette PR :
STALE_LINK Search/Part1-Foundations/README.md ->
../Discrepancy/Discrepancy-02-Komlos-Lean.ipynb
Le carnet deplace est desormais dans la render-list (`_quarto.yml`), donc le
lien brut `.ipynb` 404 sur Pages -- la ligne doit pointer le rendu `.html`,
comme les autres lignes rendues du meme tableau (Search-05-CSharp, Search-10,
Search-11). Le lien precedent (ancien chemin `Search-09d-...`) n'etait pas
dans la render-list : le deplacement a cree la violation, pas le style de lien.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…09d-discrepancy # Conflicts: # scripts/tests/baseline_nb_nav_chain.json
…er les deux lignes Conflit unique (docs/reference/rename-ledger.tsv) : chaque branche avait ajoute sa ligne en fin de fichier. Resolution : union des deux lignes, celle de main (ICT-45 -> ICT-42b, #19153, myia-po-2023) puis la notre (Search-09d -> Discrepancy-02, #19151). _quarto.yml, README Part1 et baseline_nb_nav_chain.json ont fusionne sans intervention. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] Note ai-01 (refactor Search, lecture firsthand) :
|
Grain: MED/refactor -- lane myia-po-2027:CoursIA -- prev: MED/ledger #19085
Descente de
09ddans la sous-sérieDiscrepancy/Étape du plan de gradation Search (#17802), arbitrée en c.5832991722 : le compagnon formel du
lake
discrepancy_leandescend dans la sous-série, avec son nom canonique dans le mêmemouvement — un notebook ne se renomme qu'une fois.
MyIA.AI.Notebooks/Search/Part1-Foundations/Search-09d-Lean-Discrepancy-Komlos.ipynbMyIA.AI.Notebooks/Search/Discrepancy/Discrepancy-02-Komlos-Lean.ipynbLe nom n'est pas choisi, il est mesuré contre deux sources :
02— l'arbitrage fait du compagnon Beck-Fiala « la première marche de la sous-série »,livrée en
Discrepancy-01-….09dest la deuxième.-Lean, et non-Lean-Python— la règle est écrite dans l'issue de la sous-sérieSearch Discrepancy/ : notebook compagnon Beck-Fiala du lake discrepancy_lean (premiere marche de la sous-serie) #17816 :
-Lean-Pythons'applique « si le noyau est python3 et qu'il pilote le lake ». Lenoyau réel de ce notebook est
lean4-wsl(metadata.kernelspec.name, relevé surorigin/main).C'est le point où la lecture par le nom aurait donné le mauvais suffixe.
Comment le mouvement a été fait
Par l'organe canonique
scripts/notebook_tools/rename_notebooks.py --mapping issue:17802#5984216914 --apply, en sa forme en deux commits :git mvpurs — le déplacement seul, aucun contenu touché ;Part1-Foundations/README.md,Search/README.md,SymbolicAI/Lean/Lean-08-Agentic-Proving-Python.ipynb(cellule markdown),_quarto.yml,docs/curriculum/aima-walk.md,docs/curriculum/ia-classique.md,scripts/tests/baseline_nb_nav_chain.json.Les deux commits sont ceux de l'outil : le second n'a pas été écrit à la main.
Réparation (tête
2d0ec03d) — la vague avait laissé des liens cassésL'organe canonique réécrit le basename d'un lien relatif mais jamais son préfixe de
répertoire : après le déplacement,
../../Search/Part1-Foundations/<nom>pointait un dossier quine contient plus le notebook. Le garde
check-nav-chaina signalé un premier lien ; la lecture del'organe
check_notebook_navlinks.pyen a trouvé six, dont trois que la CI n'avait pas vus —le notebook déplacé renvoie à
Search-09c, qui était son voisin de dossier avant le mouvement.Réparé sous garde structurelle I1/I2/I3 : aucune cellule de code, aucune sortie, aucun
execution_countn'est modifié — liens markdown, titre H1 et fil d'Ariane seulement, ce dernieraligné sur la convention du pilote
Discrepancy-01.Le défaut d'organe est signalé séparément (issue dédiée) : il devrait refuser en fail-closed un
lien relatif dont la cible change de répertoire, plutôt que produire un 404 silencieux — c'est la
doctrine I2/I3 que l'outil applique déjà aux cellules de code.
Vague de prose (tête
d809ec0e) — fermée là où la descente rendait le texte fauxSearch/README.md— un nœudDiscrepancy/existedésormais (01 Beck–Fiala, 02 Komlós) ; la ligne du carnet a quitté le bloc
Part1-Foundations/,dont le commentaire perd son compte de notebooks et la mention
09d;Discrepancy/ajoutée, lignePart1-Foundationscorrigée : le compagnon Lean a changé de dossier, la ligne ne peut plus l'y compter ;
Part1-Foundations/README.md— trois références de nom (prérequis, table des kernels,bibliographie) ;
discrepancy_lean/FORMAL_STATUS.md(k5) etdocs/curriculum/ia-classique.md(libellé) ;scripts/tests/baseline_nb_nav_chain.json— l'entréeunreachabledeDiscrepancy-02estretirée : elle portait
series: Part1-Foundations, une série devenue fausse, et le finding ne seproduit plus (l'organe passe de 386 à 380 findings, zéro régression,
--checkrc=0). Lesautres entrées caduques du fichier sont antérieures et sans rapport : elles ne sont pas absorbées
dans ce diff.
Référents complétés (tête
13ffb217) — deux surfaces que l'organe ne liste pasL'organe de renommage réécrit les liens qui citent le nom. Deux surfaces ne citent pas
09detdéclaraient pourtant un état devenu faux ; elles ne pouvaient donc pas être vues par la vague :
Search/LEAN_INVENTORY.mdaffirmaitdiscrepancy_leansans notebook câblé(« compagnon prévu :
Search-15-CombinatorialDiscrepancy… Pas encore câblé »). C'est démenti parla mesure :
Discrepancy-02-Komlos-Leantourne surlean4-wslet porte 27#checkdesénoncés du lake. La ligne passe de
0²à1², le Total de1à2.Le livrable A de Discrépance combinatoire — distiller Bansal–Jiang 2025 (arXiv:2508.03961) : notebook Search-15 + lake discrepancy_lean (noix Beck-Fiala 2k−1 grignotée par boutes, geste du découplage ancré ICT) #12823 est bien livré, mais en
Discrepancy-01-BeckFiala-Lean-Python(kernelpython3, zéro invocation du lake dans le code) : c'est un pont Python, et il ne compte doncpas dans une colonne qui mesure l'invocation effective du lake. Les distinguer était le point.
Search/index.qmdne documentait quesearch_leansous « Companion formel — Lean 4 » : lasection nomme désormais
discrepancy_leanet ses deux carnets.Correction d'un résidu mal motivé (même tête)
Le corps de cette PR a d'abord justifié le report de
Lean-07bpar « ni le kernelpython3-wslniles clés ne sont disponibles sur cette lane ». Les deux mesures étaient fausses : le kernel est
installé (
jupyter kernelspec list) et.secrets/master.envexiste. Re-mesuré avant d'agir, lemotif réel est autre — et il tient :
le correctif exige une ré-exécution, et l'exécuteur de cellule unique
(
scripts/notebook_tools/exec_single_cell.py, l'organe C.2/C.3 pour ce cas précis) retire parconception les blocs
metadata.papermillhérités (#12722). Mesuré sur ce carnet : 387 lignessupprimées, pour une chaîne de libellé. Or 1134 des 1485 carnets committés portent ces blocs —
c'est la convention dominante du dépôt, pas une dette à purger, et la suppression n'a aucun rapport
avec un renommage Search. Le sujet part donc en PR dédiée : c'est un arbitrage de périmètre, pas
un manque d'outillage.
Résidus déclarés, mesurés — hors de cette PR
SymbolicAI/Lean/Lean-07b-Examples-Python.ipynbcellule 30 — l'ancien nom vit dans unecellule de code et dans ses sorties committées (libellé imprimé, pas un lien : le lien
markdown de la cellule 28, lui, est réparé ici). Voir le paragraphe ci-dessus pour le motif exact
du report. Une sortie committée ne se maquille pas (règle 6).
Search/README.md— instantané daté « audit fichier-entier, 2026-09-16 » — deux lignesnomment encore
Search-09d. Instantané daté, pas une couverture courante : mettre un total àjour à la main est interdit (fix(docs,#16904): audit README SemanticWeb — SW-13/14/15/16 absents, total 26→27, Python 14→15 #17029), et
prose-countsest bloquant sur toute ligne ajoutéeportant « N notebooks ».
DWELL
La tête a changé (
d809ec0e→13ffb217), donc le plancher de 120 min est ré-armé par cecommit de contenu. Aucun impact sur l'attente : la candidate attend, la lane enchaîne.
Portée
Mouvement, référents mécaniques, réparation des liens, et deux surfaces documentaires qui
déclaraient un état faux. Aucune cellule source d'exercice, aucune sortie, aucun compteur de prose
n'est modifié ;
COURSE_CATALOG.generated.*n'est pas touché (l'organe ne le réécrit pas, et larègle interdit de le régénérer sur une branche feature).
Gardes rejouées sur la tête
13ffb217:prose-counts --diff origin/main...HEAD --strictrc=0 ·navlinks0 lien cassé (1472 carnets) ·nav-chain --checkrc=0 (0 NEW vs baseline) ·perimeterVERDICT OK, aucun workflow CI touché.See #17802 · See #17816 · See #16231
🤖 Generated with Claude Code