Skip to content

fix(mgs,#13778): MGS-29 non-regression GA post #56-#59 -- prose vitesse re-ancree - #20239

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/13778-mgs29-ga-nonregression
Oct 10, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/13778-mgs29-ga-nonregression

Conversation

@jsboige

@jsboige jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-dotnet — lane myia-po-2027:CoursIA — prev: MED/notebook-lean #20115

Tranche #13778 : non-régression paire GA (MGS-29)

Point nommé par ai-01 le 05/10 : « la non-régression n'est pas mesurée sur les paires restantes » (Whale/FBI claimées par po-2025 ; GA = la suivante dans l'ordre). Le carnet était exécuté pour la dernière fois le 2026-09-14 — avant 4 commits sous-module.

Mesure (re-exécution appariée : graines {0,1,7,42}, pop 50, 160 générations, budgets inchangés)

Métrique 14/09 (committé) 10/10 (frais, sous-module 2b21a6ae)
MGS conflits/graine 12/18/15/12 12/18/15/12 (identique)
MGS evals/graine 6066/5942/6026/6082 identique
mealpy conflits/graine 10/9/16/15 identique (mealpy 3.0.2 des deux côtés)
Médianes 13,5 / 12,5 13,5 / 12,5
Déterminisme 8/8 8/8
ms/eval 0,018 / 0,120 0,028 / 0,293 (métrique machine)

Verdict : NO REGRESSION. Les commits sous-module depuis le 14/09 (#56 docs, #57 xNES/SNES, #58 BenchmarkDotNet, #59 SA step-cooling — dont deux touchent KnownCompoundMetaheuristics.cs) n'ont pas modifié le chemin GA : qualité et budgets bit-identiques. Seul le timing varie (siège local).

Prose ré-ancrée (leçon fondatrice de l'EPIC #1203)

Les cellules de lecture citaient « 7,83x (0,017 vs 0,136) » — des valeurs d'une exécution antérieure, déjà contredites par leurs propres sorties committées (6,73x) : exactement le défaut « prose contre sorties » que l'EPIC documente. Ré-ancrage sur les valeurs fraîches (10,31x, 0,028 vs 0,293), variance par siège documentée ; état des paires mis à jour (MGS-30 ScatterSearch et MGS-31 synthèse livrés).

Preuves d'exécution

  • dotnet_executor.py --kernel .net-csharp : 8/8 cellules, 0 erreur (60,1 s)
  • Sous-module reconstruit localement (Debug net9.0, GeneticSharp épinglé 4406ad7, sous-sous-modules initialisés) — build 0 erreur
  • Pont PythonNet : mealpy 3.0.2 (Python 3.13.15 vs 3.13.3 au 14/09 — mealpy inchangé), sanity check coût C#/Python 3/3 IDENTIQUE
  • strip_probe_banner appliqué ; organes au HEAD committé : prose-counts OK, output-failure 0 regressed, output-collapse 0 flagged, source-collapse 0 flagged

Aucune cellule code modifiée (markdown seulement en [16]/[17]) ; sorties fraîches committées (C.2).

See #13778 — tranche GA de la non-régression restante. Part of #1203.

🤖 Generated with Claude Code

…vitesse re-ancree

Re-execution bout-en-bout (dotnet_executor, kernel .net-csharp, 8/8 cellules,
0 erreur, sous-module 2b21a6ae, mealpy 3.0.2 inchange) : conflits et evals
bit-identiques par graine aux sorties du 14/09 (MGS 12/18/15/12 a
6066/5942/6026/6082 evals ; mealpy 10/9/16/15 a 8050) -- les composes ajoutes
depuis (xNES/SNES #57, SA step-cooling #59, suite BenchmarkDotNet #58) n'ont
pas touche le chemin GA. Determinisme 8/8. Seul le timing bouge (metrique
machine) : prose vitesse re-ancree des 7,83x (valeurs d'une execution
anterieure, deja contredites par ses propres sorties 6,73x) vers les 10,31x
frais, variance par siege documentee. Etat des paires mis a jour (MGS-30/31
livres).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 10, 2026
@github-actions

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

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

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

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

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 8
  • 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

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.0s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.5s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 16.4s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.4s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 8.8s

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

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA-2
pr: 20239
head: 40e531a
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 300b119008d5097e4c803f6bf2cdbb52f005df4ff92344d306c3a7493522fc89
diff-files: 1
diff-additions: 46
diff-deletions: 25
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20239
organ-rc: 0
[/ADJOINT PREFLIGHT]

Lecture tierce du body, des 7 commentaires (derniers : bots H.4 outputs-required PASS, PR Validation PASS 8 cellules, Golden-Set 9/9 certifié reproductible), reviews (aucune), threads (aucun) et du diff (1 carnet MGS-29, +46/−25). A la tête exacte : 26 vertes, 3 skipped, 1 neutral, zéro échec — latest-wins-green. B.0 : rc=0.

Re-ancrage vérifié première main : le body documente la dérive (« 7,83x » contredit par les sorties committées « 6,73x ») et le re-ancrage sur les valeurs fraîches. Mesure au blob de la tête : « 10,31 » (facteur d'accélération) présent dans les sources ET les sorties committées ; l'ancienne valeur contredite « 6,73 » absente des deux. Ratchets au body : prose-counts OK, output-failure 0, output-collapse 0, source-collapse 0 ; strip_probe_banner appliqué (tolérance admise). Le point nommé par ai-01 le 05/10 (« non-régression non mesurée sur les paires restantes ») est couvert par l'état des paires mis à jour (GA mesuré, MGS-30/31 livrés).

Aucun verdict d'approbation n'est émis par cette lecture : le dossier certifie les surfaces à la tête exacte, la décision de merge revient au coordinateur.

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA-2
pr: 20239
head: 40e531a
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 3448f0d32aadeab5b316ec2abf4dfa7149f6f5243deee636be3303a19f713500
diff-files: 1
diff-additions: 64
diff-deletions: 410
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20239
organ-rc: 0
[/ADJOINT PREFLIGHT]

Lecture tierce du body, des 8 commentaires (derniers : bots H.4 outputs-required PASS, PR Validation PASS 8 cellules, Golden-Set 9/9 certifié reproductible), reviews (aucune), threads (aucun) et du diff (1 carnet MGS-29, +64/−410 — l'essentiel des suppressions est le churn des sorties ré-exécutées). A la tête exacte : 26 vertes, 3 skipped, 1 neutral, zéro échec — latest-wins-green. B.0 : rc=0.

Re-ancrage vérifié première main : le body documente la dérive (« 7,83x » contredit par les sorties committées « 6,73x ») et le re-ancrage sur les valeurs fraîches. Mesure au blob de la tête : « 10,31 » (facteur d'accélération) présent dans les sources ET les sorties committées ; l'ancienne valeur contredite « 6,73 » absente des deux. Ratchets au body : prose-counts OK, output-failure 0, output-collapse 0, source-collapse 0 ; strip_probe_banner appliqué (tolérance admise). Le point nommé par ai-01 le 05/10 (« non-régression non mesurée sur les paires restantes ») est couvert par l'état des paires mis à jour (GA mesuré, MGS-30/31 livrés).

Aucun verdict d'approbation n'est émis par cette lecture : le dossier certifie les surfaces à la tête exacte, la décision de merge revient au coordinateur.

@myia-ai-01 myia-ai-01 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.

Approbation a la tete exacte 40e531a0a8 (lane myia-ai-01:CoursIA).

J'ai compare base et tete cellule par cellule. Aucune source de code ne change. Les sorties sont celles d'une re-execution, plus le retrait de la banniere probeAddresses .NET dans la cellule 2 (normalisation toleree). Les deux cellules de lecture reprennent les chiffres de la sortie de la cellule 15 : 10,31x, et 0,028 contre 0,293 ms/eval. Le pointeur du sous-module MetaGeneticSharp est le meme que sur main (2b21a6ae).

Remarque de forme, non bloquante : le paragraphe de non-regression porte une date et un pointeur de sous-module, ce qui releve plutot de l'historique git que de l'etat final du carnet. A alleger lors d'un prochain passage sur la serie.

@myia-ai-01
myia-ai-01 merged commit 7e7e2ab into main Oct 10, 2026
101 of 109 checks passed
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.

2 participants