Skip to content

fix(search,#14061): 2 refs Search-15/16 vers 02b/02c (residu rename #13797 §D-3) - #14448

Merged
myia-ai-01 merged 2 commits into
mainfrom
fix/14061-search-numerotage-debt
Sep 3, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
fix/14061-search-numerotage-debt

Conversation

@jsboige

@jsboige jsboige commented Sep 3, 2026 •

Copy link
Copy Markdown
Owner

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.py qui 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.ipynb ont déplacé le blob SHA du jumeau .NET dans le registre twin parity (#8057). Le check CI Twin parity audit (#8057) a reporté 1 paire(s) mise(s) en DRIFT par cette PR sur Search-3 Informed → cascade PR gate FAILURE.

Geste (commit 7783ac222, post-c.910) :

python scripts/notebook_tools/check_twin_parity.py --update --pair "Search-3 Informed" --by "myia-po-2026:CoursIA-2"

Vérification sémantique du rebaseline (leçon #8570 — --update chirurgical préserve les commentaires du registre + ajoute une ligne audit) :

Champ Avant Après Justification
python_sha <sha c.910> 6a38b61b... Reformatage papermill (blob notebook Python)
csharp_sha <sha c.910> 2577e0d1... Reformatage papermill + edit légitime cell[15] L0
content_python_sha c2795ee97... c2795ee97... inchangé — jumeau Python non touché par la substance
content_csharp_sha 7272c885bb... 39aa7e5b41... changement légitime — 1 ligne de commentaire intra-cellule (voir Search-16 cell 2 → voir Search-02c-QuikGraph cell 2), pas une normalisation outillée

Le --update est post-strip probeAddresses (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) :

Fichier Modif Substance
Search/Part1-Foundations/Search-02c-QuikGraph.ipynb +157/-148 Cell[11] L5 commentaire Search-15 → Search-02b (reformatage papermill JSON = la majorité du diff)
Search/Part1-Foundations/Search-3-Informed-Csharp.ipynb +1159/-417 Cell[15] L0 commentaire Search-16 → Search-02c (reformatage papermill JSON = la majorité du diff)
scripts/notebook_tools/twin_pairs.d/search-3-informed.yaml +6/-0 c.912 rebaseline twin parity — append audit date: 2026-09-03, by: myia-po-2026:CoursIA-2

Substance (3 lignes modifiées à la racine, le reste = reformatage JSON papermill) :

Fichier Cellule Avant Après
Search/Part1-Foundations/Search-02c-QuikGraph.ipynb code cell[11] L5 VertexPredecessorRecorderObserver (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.ipynb code cell[15] L0 Installation 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 16 et Search-2 cell 38 du 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

  • Les 2 références corrigées vers le numérotage courant (02b/02c).
  • Les 2 cellules code modifiées re-exécutées (C.2/H.1 — un commentaire dans une cellule code reste une modification de source), outputs cohérents commités.
  • Grep de confirmation : Search-15|Search-16 ne matche plus aucune cellule des notebooks Search (les 3 résiduels dans discrepancy_lean/Discrepancy.lean et LEAN_INVENTORY.md documentent explicitement « numérotation d'opportunité jamais retenue » — mentions historiques type changelog, hors scope).
  • Twin parity Search-3 Informed rebaseline (c.912), INTRO=0 PRE=1 localement vérifié.
  • Périmètre réel aligné avec body PR (3 fichiers, après amend).

Re-exécution (C.2/H.1)

Papermill 2.6.0 + kernel .net-csharp local (C:\Users\jsboi\AppData\Roaming\jupyter\kernels\.net-csharp) :

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)

 .../Search/Part1-Foundations/Search-02c-QuikGraph.ipynb      | +157 -148
 .../Search/Part1-Foundations/Search-3-Informed-Csharp.ipynb  | +1159 -417
 scripts/notebook_tools/twin_pairs.d/search-3-informed.yaml   | +6 -0
 3 files changed, 1322 insertions(+), 565 deletions(-)

Aucun toucher du catalogue, des marqueurs CATALOG-STATUS, ou des autres notebooks de la série. check_notebook_navlinks.py n'est pas concerné (les corrections sont intra-cellule, pas dans des navlinks markdown — organe aveugle à cette classe de résiduels).

Validation post-fix

Cross-lane

Plancher / G-VAR

  • R1 TENU : PR livrée + REPAIR P0 c.912 dans le cycle.
  • G-VAR-1 TENU : 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 son python_sha bouger même si son contenu pédagogique est inchangé (content_python_sha identique). C'est exactement le cas archétypal : reformatage papermill 2.6.0 + kernel .net-csharp local 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 --update sur les paires twin du registre (vérifier le diff python scripts/check_twin_parity.py --check --per-pair --base origin/main AVANT 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 — lane myia-po-2026:CoursIA-2 — prev: MED/lean #14452 (c.911)

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

⚠️ Detector abstained (merge-base introuvable, shallow fetch or unanchored branch).

c.415 (#11873): scope = notebooks CHANGED in this PR, not the whole corpus.
See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 pathologie.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 32
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

github-actions Bot commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 7.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 9.1s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 8.1s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.4s
Search-1-StateSpace.ipynb ✅ SUCCESS 6.8s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 49.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 8.0s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

jsboige added a commit that referenced this pull request Sep 3, 2026
…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>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Bash Syntax Advisory — shebang / executable-bit warnings

See the Shebang + dry-run advisory job log for the per-file ::warning:: lines. Non-blocking.

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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-16 dans les deux notebooks cibles (grep complet des sources, y compris en relatif .ipynb).
  • twin_pairs.d/search-3-informed.yaml : nouveau audit 2026-09-03 où 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)

jsboige and others added 2 commits September 3, 2026 13:17
…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>
@jsboige
jsboige force-pushed the fix/14061-search-numerotage-debt branch from 7783ac2 to b7b986b Compare September 3, 2026 11:18
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Bash Syntax Advisory — shebang / executable-bit warnings

See the Shebang + dry-run advisory job log for the per-file ::warning:: lines. Non-blocking.

@myia-ai-01
myia-ai-01 merged commit 56886c6 into main Sep 3, 2026
63 checks passed
jsboige added a commit that referenced this pull request Sep 3, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants