Skip to content

feat(notebooks,#13410): GameTheory-13b -- 4 transitions markdown, runs consecutifs 4 a 0 - #14328

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/13410-13b-enrich
Sep 2, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/13410-13b-enrich

Conversation

@jsboige

@jsboige jsboige commented Sep 2, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2024:CoursIA — prev: LIGHT/docs #14098

GameTheory-13b : résoudre les 4 runs de cellules code consécutives (#12797, contribution #13410)

See #13410 (contribution partielle : le présent grain traite l'axe « cellules consécutives » du notebook 13b ; l'umbrella encodage/prose reste ouverte).

Ce que fait la PR

GameTheory-13b-Safe-Subgame-Solving.ipynb portait 4 runs de cellules code consécutives (détection instrument canonique detect_consecutive_code_cells.py). Chaque run est résolu par une cellule markdown de transition insérée entre les deux cellules code :

Position d'insertion Contenu de la transition
Entre imports et classe KuhnPoker Rôle de la classe : conventions payoff, 5 histoires terminales, pourquoi un jeu minimal s'évalue par énumération exacte
Entre cfr_vanilla et ev_P1_at_deal Blueprint ≠ Nash exact ; pourquoi la chaîne de mesure (EV/64 BR/étalon alpha=1/3) doit être indépendante du solveur
Entre recollement naïf et calcul d'EV La mesure du coût en deux temps (EV immédiate puis exploitabilité BR) ; le cliquet anti-artefact #13480
Entre safe recollement et EV Contrainte de voisinage bornée par le reach ; verdict attendu opposé au naïf

Prose spécifique au contenu (aucun « Suite du traitement » générique) ; les interprétations de résultats existantes (« Lecture du baseline », etc.) ne sont ni déplacées ni modifiées.

Validation

  • Détection avant/après : detect_consecutive_code_cells.py → Run >= 2: 4 (2+2+2+2) → Run >= 2: 0.
  • Densité (instrument pedagogy_density.py) : 1221 → 1524 chars prose/cellule code (seuil 1200).
  • Markdown-only (exception C.2) : diff = 24 insertions, 0 suppression, 1 fichier ; les 12 cellules code gardent execution_count 1..12 et leurs outputs intacts — aucune re-exécution requise, aucune cellule code touchée.
  • Claims factuels vérifiés contre le code (G.1) : « K callait déjà » confirmé par l'output réel (p1pb|2 : nash=[0. 1.]) ; cliquet exp_naive >= -1e-9 présent dans la cellule EV ; énumération des 64 stratégies pures P2, étalon alpha = 1/3, variantes safe_with_margin/delta_bound — tous ancrés dans les cellules code existantes.
  • Accents : le premier jet du sous-agent était désaccentué (0 char accentué) alors que la prose existante en porte 43 — corrigé avant commit : les 4 nouvelles cellules portent désormais 100 caractères accentués, convention du fichier respectée (français accentué, §E). Pattern « ajout de cellules neuves = propre » de l'arbitrage densite pedagogique : 430 notebooks sous le plancher 1200 — surface majoritairement non suivie #13410 respecté (aucune réécriture de prose existante).
  • Encodage : UTF-8 littéral sans BOM, ensure_ascii=False, indent nbformat préservé — le re-dump ne produit aucun churn (diff reste 24 insertions pures).
  • Cellules d'exercice (TODO étudiant) intactes ; aucun raise NotImplementedError ajouté (C.1).

Périmètre : 1 fichier

  • MyIA.AI.Notebooks/GameTheory/GameTheory-13b-Safe-Subgame-Solving.ipynb (+24)

Catalogue byte-identique à main (aucune entrée touched). Anti-padding vérifié à la sélection : la cible initiale 08c-Python a été abandonnée honnêtement (0 run détecté → enrichir aurait été de la prose redondante, claim libéré) ; 13b portait les gaps réels.

Preuve d'identité

…s consecutifs 4 a 0

Resout les 4 runs de cellules code consecutives (#12797) du notebook
Safe Subgame Solving par ajout de cellules de transition pedagogique :
imports/KuhnPoker, cfr_vanilla/mesure, recollement naive/EV, safe/EV.
Markdown-only : aucune cellule code modifiee (exec counts 1..12 intacts,
exception C.2). Detecteur : 4 runs -> 0. Densite : 1221 -> 1524.

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

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 12
  • 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 2, 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 4.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.4s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.7s
Search-1-StateSpace.ipynb ✅ SUCCESS 3.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 5.4s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 19.4s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.4s

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

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2024:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-02) :

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=1 genre=4 cap=1)
  • GENRE-RUN : run consecutif d'un genre LIGHT (voir signals.runs dans le log du job)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=1 genre=4 cap=1)
  • NOTE ([variation] Le label est lane-agregat mais PR-attache : le merge-gate peut HOLD le grain de CONTENU qui remedie au motif #10341) : la PR courante est de classe CONTENU (non LIGHT-genre) et ne contribue pas au motif ci-dessus -- les labels agregees ne sont PAS poses sur cette PR (le merge-gate ne doit pas la HOLD pour ce motif ; le coupable est parmi les grains META de la lane).

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 variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

github-actions Bot commented Sep 2, 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.

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