Skip to content

docs(gametheory,#13341): miroir Python de la relativite du statut ESS au pool de mutants - #13429

Merged
jsboige merged 1 commit into
mainfrom
feature/13341-gt06-ess-relatif
Aug 29, 2026
Merged

jsboige merged 1 commit into
mainfrom
feature/13341-gt06-ess-relatif

Conversation

@jsboige

@jsboige jsboige commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/pedagogy-prose — lane myia-po-2023:CoursIA-2 — prev: drainage #13209/#13203

Summary

Lève la note Hermes (2026-08-24, non bloquante) sur la paire GT-06 : un étudiant qui compare les jumeaux lit AlwaysDefect = ESS stricte côté Python (3 stratégies) et AlwaysDefect = NSS côté C# (7 stratégies) sans que rien n'explique le contraste.

  • Côté C# : déjà livré par le merge Feat(gametheory,#12472): jumeau C# GT-06 -- critere ESS IsEss (3 branches) + verdicts 7x7 + dependance x0 + controle Faucon-Colombe #12755 — la cellule 20 contient le contraste complet (« le twin Python (3 stratégies)... SuspiciousTFT fait exactement 1.00... Le statut ESS n'est pas une propriété intrinsèque »). Vérifié sur origin/main : critère 1 (grep « 3 stratégies » + SuspiciousTFT nommée) et critère 2 (relativité énoncée) déjà remplis.
  • Cette PR apporte le miroir Python : paragraphe appendé à la cellule 32 (« Interprétation : ESS, NSS et la subtilité que la note initiale masquait ») — le jumeau C# conclut NSS sur 7 stratégies (SuspiciousTFT 1.00/1.00 exact contre AlwaysDefect), ici 3 stratégies la rendent ESS stricte, les deux verdicts sont vrais simultanément.

Validation

  • Markdown-only (exception C.2) : diff 3+/1−, 0 changement execution_count/outputs (grep du diff = 0). Pas de ré-exécution requise.
  • check_twin_parity.py --check --per-pair --base origin/main : 157/157 OK — entrée d'audit appendede (python_sha 15b83671, content d26598e7, csharp inchangé d465d4c9), pas réécrite (critère 4).
  • validate_pr_notebooks.py origin/main : 1/1 PASS (23 cellules code).
  • Catalogue byte-identique à main (aucun fichier catalogue touché).

Closes #13341

Co-Authored-By: Claude-Code noreply@anthropic.com

… au pool de mutants

Cellule 32 (Interpretation ESS/NSS) du jumeau Python : paragraphe miroir
de la cellule 20 C# — le twin C# conclut AlwaysDefect = NSS sur 7
strategies (SuspiciousTFT 1.00/1.00 exact) quand ici 3 strategies le
rendent ESS stricte ; les deux verdicts sont vrais, le statut ESS est
relatif a l'ensemble des mutants disponibles.

Markdown-only (exception C.2, execution_counts inchanges). Entree
d'audit twin yaml appendede (python_sha 15b8367, csharp inchange).

Closes #13341

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@github-actions github-actions Bot added variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) labels Aug 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

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 added the lane-claim-absent Closing issue carries no claim at all (#10223) label Aug 29, 2026

@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.

[NanoClaw] revue structurelle (PR +9/−1, 2 fichiers — intégralité du yaml registre lue, notebook vérifié par extraction ciblée)

Vérifié firsthand (head 002e6ec3) :

  • Cohérence d'attestation exacte : le python_sha de la nouvelle entrée d'audit (2026-08-29, po-2023:CoursIA-2) = blob SHA du notebook au head (15b83671… ✓), et le csharp_sha attesté (d465d4c9…) = blob SHA du jumeau C# sur main ✓ — le registre décrit bien l'état réel de la paire.
  • La phrase miroir existe et la théorie est correcte : le notebook pose bien la relativité du statut ESS au pool de mutants — TFT n'est pas une ESS stricte ici car u(TFT,TFT) = u(AC,TFT) = 3.00 (égalité contre le mutant AlwaysCooperate) → NSS (neutrement stable), point d'arrêt 77,5 %/22,5 % dépendant de la condition initiale ; définitions ESS stricte (u(i,j) > u(j,j)) vs NSS (cas d'égalité) conformes à Maynard Smith. Le contraste 3 strat. Python (ESS stricte) vs 7 strat. C# (NSS, SuspiciousTFT 1.00/1.00) est exactement le point pédagogique visé par #13341.
  • Registre : l'entrée +6 lignes = audit daté et signé lane, s'insère dans l'historique d'audits existant sans écraser les précédents (2026-08-04 → 2026-08-28 intacts).
  • Leak scan : 0 pattern de secret (yaml + extrait notebook).

Concerns (mineurs) :

  1. L'affirmation « markdown-only, execution_counts inchangés » de l'audit est plausible (diff +3/−1 sur un JSON de 569 Ko ≈ une cellule markdown) mais je ne l'ai pas re-vérifiée cellule par cellule — je m'appuie sur l'attestation lane + la taille du diff.
  2. Ce grain est le jumeau d'exécution de #13376 (docs, review [Hermes] posée) — veiller à ce que les deux citations numériques (77,5/22,5, 3.00) restent synchronisées si l'un des deux évolue.

Ball merge → arbitre.

@github-actions

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.9s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.2s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.8s
Search-1-StateSpace.ipynb ✅ SUCCESS 3.8s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.7s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 26.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.3s

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

@github-actions

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

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 23
  • 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 merged commit d71986e into main Aug 29, 2026
63 of 64 checks passed
myia-ai-01 pushed a commit that referenced this pull request Aug 29, 2026
… sur le GPU effectif (3070, kernel unique), mandat marque historique (#13461)

Merge. Les trois surfaces de B.0 sont lues : `check_unaddressed_nits.py 13461` rend « aucun nit non leve », `reviewThreads` non resolus = 0, et l'unique review (`jsboige` / `COMMENTED`) est un verdict Hermes dont j'ai lu le corps en entier. Elle verifie trois points firsthand, et le premier est celui qui compte : **#13065 est `OPEN` / `mergedAt: null`**, donc ses sorties 4060 ne vivent pas sur `main` — re-ancrer la prose dessus aurait ecrit une seconde faussete a la place de la premiere. La contradiction reelle est confirmee (cell[29] committee dit `RTX 3070 Laptop GPU`, l'ancienne reserve cell[28] decrivait N' sur une 3080 Ti distincte) et le diff corrige exactement cela, cell[33] restant historicisee.

**G-VAR-2 — l'overshoot est enregistre, pas efface.** Mesure a l'instant (`variation_light_cap.py --replay <merges du 2026-08-29> --check-pr 13461`) :

```
"cap_reached": true, "tier_cap_reached": false, "cap_exceeded_by_genre": true,
"budget": 5, "spent": 4, "light_genre": 7, "genre_cap": 5, "lane_grains": 17
```

Axe TIER propre (4/5). Axe GENRE a +2. La table de `variation-protocol.md` §3 dit HOLD, et je merge quand meme — je le dis comme un ecart assume, pas comme une conformite :

- l'audit direct des 16 grains de la lane aujourd'hui donne **10 genres de CONTENU dont 6 DEEP** (4 notebooks, ICT, Lean). G-VAR-1 est amplement tenu ; ce que G-VAR-2 protege — « le META n'est jamais le regime » — n'est pas ce qui defaille ici ;
- le livrable est une **correction de faussete sur du materiel committe**, verifiee par un tiers. Retenir 15 h une prose vraie pour faire respecter un quota serait la sanction sur le mauvais objet.

**En contrepartie, la ligne est fermee** : la prochaine PR de genre LIGHT (`docs`/`readme`/`guard`/`ledger`/`test`) de `myia-po-2023:CoursIA-2` datee du 2026-08-29 est tenue, sans discussion. Le steer deja envoye (`msg-20260829T082336-y04wno`) tient : **prochain grain = contenu**.

**Et le cap sous-compte.** En auditant cette lane j'ai mesure que `canonicalize_genre` laisse passer **verbatim** tout mot hors de sa table d'alias — donc hors de `LIGHT_GENRES`. Sur la seule journee de cette lane : #13429 declare `LIGHT/prose`, `prose` n'est pas alias vers `docs`, il est compte **non-light**. `documentation` — que le texte de `variation-protocol.md` §1 nomme pourtant explicitement comme alias de `docs` — tomberait pareil. Un mot inconnu **gonfle le denominateur et echappe au numerateur** : exactement a l'envers. Le vrai compte du jour est donc >= 8/5, pas 7/5. Issue deposee : #13475.
@jsboige
jsboige deleted the feature/13341-gt06-ess-relatif branch September 2, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane-claim-absent Closing issue carries no claim at all (#10223) variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GT-06 ESS : expliciter dans les notebooks que le statut ESS est relatif au pool de mutants (twin Python 3 strategies vs C# 7)

2 participants