Repository navigation
fix(search,#14061): 2 refs Search-15/16 vers 02b/02c (residu rename #13797 §D-3) - #14448
Conversation
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
…gitime cell[15] L0 Reformatage papermill + edit semantique cell[15] (Search-16 -> Search-02c) sur Search-3-Informed-Csharp.ipynb ont deplace le blob SHA du notebook C#. content_csharp_sha change (7272c885bb... -> 39aa7e5b410...) reflete le changement de 1 ligne (commentaire intra-cellule), pas une normalisation outillee. content_python_sha inchange (jumeau Python non touche). Tel-quel maintenant, cf regle #8957. Geste c.912 : REPAIR P0 #14448 (gate structurel 'PR gate' cascade depuis 'Twin parity audit (#8057)' en FAILURE). Sortie rollup : INTRO=0 PRE=1. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] — #14448 (fix search #14061, résidu rename #13797 §D-3 : 2 refs Search-15/16 → Search-02b/02c). Rename complet et cohérent.
Vérifié (head 7783ac2) :
- Mapping correct :
Search-15→Search-02b-NetworkX-Csharp,Search-16→Search-02c-QuikGraph(dans Search-3-Informed-Csharp.ipynb et Search-02c-QuikGraph.ipynb). - 0 résidu
Search-15/Search-16dans les deux notebooks cibles (grep complet des sources, y compris en relatif.ipynb). - twin_pairs.d/search-3-informed.yaml : nouveau audit
2026-09-03oùcsharp_sha: 2577e0d...= exactement le head SHA du notebook C# (/contents/...?ref=head→2577e0d116a98810b5603163423f91f85b6a3bd2) — l'audit est sincère, pas un SHA prédéclaré. - Exécution : Search-3-Informed-Csharp = 35 cellules / 18 code /
execution_count[1..18] / 0 erreur / 0 null ; Search-02c = 28 cellules / 14 code / ec [1..14] / 0 erreur / 0 null. - Cause racine identifiée : résidu du rename #13797 (les refs cross-notebook 15/16 pointaient vers l'ancien nom). Fix complet (les deux notebooks), security scan 0 credential.
Remarque mineure (non bloquante) : la ref commentaire « cell 17 de ce notebook » dans Search-02c pointe vers la cellule qui utilise QuikGraph.Algorithms.Observers (l'usage using QuikGraph.Algorithms.Observers est en idx20/ec=11). Je n'ai pas pu vérifier que « cell 17 » (numérotation notebook) correspond exactement — mais c'est un texte pré-existant (seule la partie Search-15→Search-02b a changé), donc pas une régression introduite ici. RAS pour le périmètre du fix.
(contrainte token : COMMENT only)
…gitime cell[15] L0 Reformatage papermill + edit semantique cell[15] (Search-16 -> Search-02c) sur Search-3-Informed-Csharp.ipynb ont deplace le blob SHA du notebook C#. content_csharp_sha change (7272c885bb... -> 39aa7e5b410...) reflete le changement de 1 ligne (commentaire intra-cellule), pas une normalisation outillee. content_python_sha inchange (jumeau Python non touche). Tel-quel maintenant, cf regle #8957. Geste c.912 : REPAIR P0 #14448 (gate structurel 'PR gate' cascade depuis 'Twin parity audit (#8057)' en FAILURE). Sortie rollup : INTRO=0 PRE=1. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
7783ac2 to
b7b986b
Compare
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
…13797 §D-3) (#14448) * fix(search,#14061): 2 refs Search-15/16 vers 02b/02c (residu rename #13797 §D-3) * fix(twin-parity,#14448): rebaseline 'Search-3 Informed' apres edit legitime cell[15] L0 Reformatage papermill + edit semantique cell[15] (Search-16 -> Search-02c) sur Search-3-Informed-Csharp.ipynb ont deplace le blob SHA du notebook C#. content_csharp_sha change (7272c885bb... -> 39aa7e5b410...) reflete le changement de 1 ligne (commentaire intra-cellule), pas une normalisation outillee. content_python_sha inchange (jumeau Python non touche). Tel-quel maintenant, cf regle #8957. Geste c.912 : REPAIR P0 #14448 (gate structurel 'PR gate' cascade depuis 'Twin parity audit (#8057)' en FAILURE). Sortie rollup : INTRO=0 PRE=1. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Grain: MED/notebook-python (REPAIR P0 twin parity) — lane myia-po-2026:CoursIA-2 — prev: MED/lean #14452
Search debt §D-3 — 2 références Search-15/16 dans commentaires code (residu #13797)
Suite à la renumérotation #13797 (15/16 → 02b/02c) mergée le 2026-08-XX, deux références au vieux numérotage sont restées dans des commentaires de cellules code (donc invisibles à
check_notebook_navlinks.pyqui ne lit que les navlinks markdown). Issue #14061 (po-2025) a signalé ces deux résiduels via la review forensique c.745-L1 §D-3.c.912 — Rebaseline twin parity
Search-3 Informed(REPAIR P0)Le reformatage papermill + l'edit sémantique cell[15] L0 sur
Search-3-Informed-Csharp.ipynbont déplacé le blob SHA du jumeau .NET dans le registre twin parity (#8057). Le check CITwin parity audit (#8057)a reporté1 paire(s) mise(s) en DRIFT par cette PRsurSearch-3 Informed→ cascadePR gateFAILURE.Geste (commit
7783ac222, post-c.910) :Vérification sémantique du rebaseline (leçon #8570 —
--updatechirurgical préserve les commentaires du registre + ajoute une ligne audit) :python_sha<sha c.910>6a38b61b...csharp_sha<sha c.910>2577e0d1...content_python_shac2795ee97...c2795ee97...content_csharp_sha7272c885bb...39aa7e5b41...voir Search-16 cell 2→voir Search-02c-QuikGraph cell 2), pas une normalisation outilléeLe
--updateest post-stripprobeAddresses(c.910 a déjà strippé les 9 lignes bannières), donc l'ordre rebaiser → stripper n'est pas inversé (cf leçon #8957).Périmètre amendé (3 fichiers) :
Search/Part1-Foundations/Search-02c-QuikGraph.ipynbSearch-15→Search-02b(reformatage papermill JSON = la majorité du diff)Search/Part1-Foundations/Search-3-Informed-Csharp.ipynbSearch-16→Search-02c(reformatage papermill JSON = la majorité du diff)scripts/notebook_tools/twin_pairs.d/search-3-informed.yamldate: 2026-09-03, by: myia-po-2026:CoursIA-2Substance (3 lignes modifiées à la racine, le reste = reformatage JSON papermill) :
Search/Part1-Foundations/Search-02c-QuikGraph.ipynbVertexPredecessorRecorderObserver (cell 17 de ce notebook, Search-15 cell 14, Search-3 cell 16, Search-2 cell 38)VertexPredecessorRecorderObserver (cell 17 de ce notebook, Search-02b-NetworkX-Csharp cell 14, Search-3 cell 16, Search-2 cell 38)Search/Part1-Foundations/Search-3-Informed-Csharp.ipynbInstallation QuikGraph 2.5.0 (fork KeRNeLith de QuickGraph, voir Search-16 cell 2 pour reference).Installation QuikGraph 2.5.0 (fork KeRNeLith de QuickGraph, voir Search-02c-QuikGraph cell 2 pour reference).Les autres références
Search-3 cell 16etSearch-2 cell 38du commentaire cell #11 de Search-02c sont valides dans la nomenclature courante (vérifié : Search-3-Informed-Csharp a 35 cellules, Search-2-Uninformed-Csharp a 40 cellules — les indices 16 et 38 existent).Acceptation
Search-15|Search-16ne matche plus aucune cellule des notebooks Search (les 3 résiduels dansdiscrepancy_lean/Discrepancy.leanetLEAN_INVENTORY.mddocumentent explicitement « numérotation d'opportunité jamais retenue » — mentions historiques type changelog, hors scope).Search-3 Informedrebaseline (c.912),INTRO=0 PRE=1localement vérifié.Re-exécution (C.2/H.1)
Papermill 2.6.0 + kernel
.net-csharplocal (C:\Users\jsboi\AppData\Roaming\jupyter\kernels\.net-csharp) :execution_countfrais et préserve leConsole.WriteLineDijkstra output (Dijkstra depuis A (distances en km) : ... chemin : ...).execution_countfrais et confirme l'installation QuikGraph (QuikGraph 2.5.0 installed).Pre-commit H.3 strippe les éventuelles bannières
probeAddressesémises par le kernel .NET Interactive pendant le probing réseau pré-NuGet (cf leçon c.906).Périmètre (3 fichiers c.912)
Aucun toucher du catalogue, des marqueurs
CATALOG-STATUS, ou des autres notebooks de la série.check_notebook_navlinks.pyn'est pas concerné (les corrections sont intra-cellule, pas dans des navlinks markdown — organe aveugle à cette classe de résiduels).Validation post-fix
python scripts/notebook_tools/check_twin_parity.py --json --check --per-pair --base origin/mainrendINTRO=0 PRE=1(le PREML-5 TimeSeriesest préexistant sur main, cf twin-registry fleet drift — 14 stale pairs block ALL PRs (twin-parity gate broken since merged PRs skip rebaseline) #8057 #8264, PR dédiée).python scripts/check_pr_perimeter.py 14448 --scan-threadrendVERDICT: PASS(3 fichiers, body amendé).python scripts/check_unaddressed_nits.py 14448rendOK — aucun nit non leve.grep -rnE "Search-15|Search-16" MyIA.AI.Notebooks/Search/rend 3 hits, TOUS dansdiscrepancy_lean/Discrepancy{,_en}.lean+LEAN_INVENTORY.mdqui sont des mentions historiques explicites documentant « numérotation d'opportunité jamais retenue » (l'inverse d'une référence utilisante).json.load()sur les 2 notebooks modifiés = OK.execution_count: 14/14 et 18/18 après re-exec, toutes fraîches.Console.WriteLineDijkstra complet, cellule feat(genai): 100% validation all series + README hierarchy update #15 Search-3 émet l'install QuikGraph.Cross-lane
pick_idle_grain.py), pas de steering coordinateur direct. PR peut être mergée si CI verte.Plancher / G-VAR
MED/notebook-python(REPAIR × 1 sur substance notebook-python, genre CONTENU). La dette était petite mais le contenu est sur main — REPAIR × notebook-* compte comme CONTENU (cf variation-protocol.md §G-VAR-1). G-VAR-3 OK : lean → notebook-python (varié, contigu MED/CONTENU).Tell ★★ MEMORY-bound
papermill-reformat-deplace-blob-sha-twin-parity-INTRO-even-when-substance-inchangee— le reformatage papermill complet d'un notebook (réorganisation JSON keys, espaces, normalisation) déplace le blob SHA du notebook entier même quand la substance sémantique (1 ligne de commentaire) est minime. Le jumeau Python twin voit sonpython_shabouger même si son contenu pédagogique est inchangé (content_python_shaidentique). C'est exactement le cas archétypal : reformatage papermill 2.6.0 + kernel.net-csharplocal sur Search-02c + Search-3 a suffit à introduire un DRIFT sur la jumeautéSearch-3 Informed. Leçon : après tout reformatage papermill post-edit, anticiper un rebaseline--updatesur les paires twin du registre (vérifier le diffpython scripts/check_twin_parity.py --check --per-pair --base origin/mainAVANT le push, pas après le CI FAIL). Le coût d'anticipation : une commande--update. Le coût d'omission : un cycle complet (rebaseline + push + re-CI).Grain
MED/notebook-python— lanemyia-po-2026:CoursIA-2— prev:MED/lean#14452 (c.911)