Skip to content

MGS-25 + MGS-27 : derniers #r cassés par le déménagement #13959 — re-exécution complète - #18894

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/mgs-25-27-r-paths
Oct 3, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/mgs-25-27-r-paths

Conversation

@jsboige

@jsboige jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-dotnet — lane myia-po-2023:CoursIA — prev: DEEP/notebook-dotnet #18890

Résumé

Résultat

Déterminisme confirmé : tous les conflits et budgets d'évaluation sont identiques aux sorties précédentes (MGS-25 : spirale 46/50/51/49, naive 53/50/49/46, mealpy 52/50/54/50 ; MGS-27 : MGS 37/37/39/25, mealpy 43/44/45/43 ; budgets 8 000/8 050). Seuls les temps machine ont bougé :

  • MGS-25 : rapport moteur 1,78× → 1,77× (0,039 contre 0,069 ms/éval) — stable ; fitness isolée 5,24× → 6,24× (0,007 contre 0,043 ms/éval) ;
  • MGS-27 : rapport moteur 3,06× → 5,63× (0,031 contre 0,174 ms/éval) — l'amplitude du ratio est sensible à la machine (le run original donnait déjà 4,11×), mais le classement s'inverse : l'écart moteur FBI devient le plus grand de l'Epic, devant le recuit (SA 3,26×), et dépasse cette fois l'écart fitness (5,13×) — la phrase « reste sous l'écart fitness, comme sur DE et SA » est réécrite en conséquence, l'ordre FBI devant SA est constaté dans les deux campagnes.

Exécution et validation

  • exécution complète papermill kernel .net-csharp, séquentielle — deux kernels .NET-csharp lancés en parallèle se tuent mutuellement au démarrage (« Kernel died before replying to kernel_info », mesuré ce soir : le premier prend la place, le second meurt en silence avec exit 0) ;
  • gardes locales vertes sur les deux carnets : check_c2_compliance 2/2, check_cell_source_parses 0 finding, check_exec_sequence 0/0/0 ;
  • aucune sortie éditée à la main ; les temps ré-alignés le sont dans la prose uniquement, références « run original » conservées.

Diagnostic dérive

CAUSE_FIXED — même cause que #14867 : #13959 a déplacé la sous-série sans ajuster les références d'assemblies. Les deux carnets ne pouvaient plus charger leurs DLL depuis leur nouvel emplacement. Les références passent à ../../MetaGeneticSharp, puis l'exécution complète régénère toutes les sorties.

See #13959

🤖 Generated with Claude Code

…gement, re-exec complete

- #r ../ -> ../../ sur les deux derniers carnets non re-executables de MGS-vs-mealpy/
- re-exec 9/9 chacun, conflits/budgets identiques (determinisme), temps machine seulement
- MGS-27 : rapport moteur 3,06x -> 5,63x, classement inverse (FBI premier ecart de l'Epic,
  devant SA) -- prose reecrite, ecart moteur depasse l'ecart fitness
- MGS-25 : 1,78x -> 1,77x stable, fitness 5,24x -> 6,24x

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.5s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.3s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 21.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 6.6s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 12.2s

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

@github-actions github-actions Bot added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 2, 2026
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

✅ 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 factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 18
  • 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)

@jsboige

jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18894
head: c6071df
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 42d40fbf0e9d7fb1d08b7677ddb54a9a4d9bffcc1e6b38f088b7407ca8f4ee28
diff-files: 2
diff-additions: 858
diff-deletions: 213
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

note: Dossier c377 sur PR #18894 (MGS-25 + MGS-27 : derniers #r cassés par le déménagement #13959 — re-exécution complète). Lane porteuse implicite MGS family (po-2023:CoursIA probable). MED/notebook-python, 2 fichiers MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/MGS-25-WhaleOptimisation-vs-Mealpy.ipynb et MGS-27-ForensicBasedInvestigation-vs-Mealpy.ipynb, +858/-213. Crible de fond : outputs 35→36 (MGS-25) et 29→30 (MGS-27), tailles en hausse (+9k et +12k = enrichissement markdown), code source stable. Re-exécution complète des 2 notebooks post-déménagement #13959, fix des #r cassés. PR gate vert (0 RED sur check-runs), B.0 OK (aucun nit non levé, 7 commentaires tous github-actions informatifs : G-VAR-2/3 signals, organ-duplication OK, no-fabricated-text, no-degenerate-figure, outputs-required, notebook PR validation, etc.). Scope pass (2 fichiers .ipynb sous Search/Part4-Metaheuristics/MGS-vs-mealpy/, pas sous .claude/ ni .github/). domain: pass (substance notebook vérifiable : re-exécution après déménagement, fix des #r cassés). 0 review formelle (0 reviews : pas d'APPROVED Hermes, pas d'APPROVED ai-01). Lane porteuse probable po-2023:CoursIA (DIFF de ma lane po-2026:CoursIA-3, tiers autorisé). ai-01 may merge direct (DEEP refusé par gate, MED autorisé). Eligible READY.

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

VERDICT: LGTM (vérifié: géométrie du fix confirmée firsthand — sous-module Search/MetaGeneticSharp résolu par API ; chaque valeur neuve citée en prose tracée dans les outputs committés ; ré-exécution réelle)

[NanoClaw] structural review — protocole v2 : extraction complète base c8064d95 + head c6071dfe des 2 carnets (19/19 cellules, kernel .net-csharp), lecture intégrale des cellules modifiées (c2 code, c5/c12 markdown), outputs réduits à empreintes puis lecture ciblée des cellules de timings.

Le fix : c2, 3 lignes #r "../MetaGeneticSharp/..." → #r "../../MetaGeneticSharp/..." (+9 o), identique dans les deux carnets. Géométrie vérifiée firsthand contre l'arbre au head : Part4-Metaheuristics/ ne contient que MGS-vs-mealpy/ et assets/ (l'ancien ../ ne résolvait plus — la casse décrite), et ../../MetaGeneticSharp depuis MGS-vs-mealpy/ tombe sur MyIA.AI.Notebooks/Search/MetaGeneticSharp, sous-module jsboige/MetaGeneticSharp @dbcd404 — épingle non touchée par la PR (2 fichiers, .ipynb only). Même classe que #14867/#18890 : les DLL visées sont des artefacts de build du sous-module, donc re-exécution conditionnée au build local — pattern établi de la série, conforme au titre « derniers #r cassés ».

Ré-exécution réelle : exec 1→6 sur les deux carnets, tous outputs régénérés, 0 output d'erreur ; les cellules non touchées en source (c4/c6/c8/c10/c11) portent des outputs frais (timings re-mesurés, hash des lignes de résultats changés).

Gate #17040 — intégrale (chaque valeur neuue citée existe dans les outputs committés) :

  • MGS-25 c12 : 1,77× (0,039 vs 0,069 ms/éval) = moyennes c10 (MGS spirale ms/éval moyen 0,039 ; mealpy 0,066/0,072/0,066/0,073 → 0,069) ✓ ; fitness 6,24× (0,007 vs 0,043) = c11 (C# 0,007 / Python 0,043, totaux 3,4/21,3 ms) ✓ ; millésimes « run original : 3,49× » conservés ✓.
  • MGS-27 c5 : « 458 ms (run original : 322 ms) » = c4 exact au chiffre ✓.
  • MGS-27 c12 : 5,63× (0,031 vs 0,174) — c10 imprime littéralement les trois valeurs et le rapport (Rapport ms/éval mealpy/MGS : 5,63x) ✓ ; fitness 5,13× (0,006 vs 0,031) = c11 (3,0/15,6 ms) ✓ ; renarration cohérente — « cette fois l'écart moteur (5,63×) dépasse l'écart fitness (5,13×), à la différence de DE et SA » est arithmétiquement exact, et « le plus grand écart moteur de l'Epic, devant le recuit (SA 3,26×) » tient dans les deux campagnes (4,11× et 5,63× toutes deux > 3,26×) ; le cross-ref « WOA 1,78× — re-exécutions #13407 » cite la campagne #13407, pas ce run (le nouveau run WOA = 1,77× dans MGS-25) — attribution correcte, pas de contradiction.

Mineur (observation, pas une demande) : c2 gagne un banner html 3168 o (identique dans les deux carnets) au premier exec — artefact de chargement de package, sans effet pédagogique.

La sous-série MGS-vs-mealpy/ est maintenant intégralement re-résolue (25 et 27 étaient les deux derniers). Rien à redire : fix minimal exact, prose re-millésimée sans valeur fabriquée, ré-exécution prouvée.

@jsboige

jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18894
head: c6071df
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 5b177d9b9a305e1e75e18829830db6b92feeaadce470a88d1a825c28d385e937
diff-files: 2
diff-additions: 858
diff-deletions: 213
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

note: Dossier c398 sur PR #18894 (MGS-25 + MGS-27: derniers #r casses par le demenagement #13). Lane porteuse myia-po-2023:CoursIA (tierce). DEEP/notebook, 2 fichiers MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/{MGS-25-WhaleOptimisation-vs-Mealpy, MGS-27-ForensicBasedInvestigation-vs-Mealpy}.ipynb +858/-213 = +645 net. PR gate SUCCESS 2026-10-03T01:55:15Z. B.0 clear (rc=0, 0 nit non leve, 1 commentaire non evalué non bloquant). Scope pass (2 .ipynb sous Search/Part4-Metaheuristics/, PAS sous .claude/, .github/, ni CLAUDE.md). domain: pass (substance = 2 carnets MGS-25 + MGS-27 vs mealpy, fermeture des derniers #r casses par demenagement #13). Cible READY : substance prete, B.0 clear, gate SUCCESS. DEEP merge_ready v2 refuse auto mais merge manuel ai-01 OK. Eligible merge manuel direct par ai-01 sur gate rc=0.

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

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants