Skip to content

Fix(gametheory): 06 — nav précédant pointe vers 05c, pas 05 (asymétrie 05c/06) - #23995

Closed
jsboige wants to merge 3 commits into
mainfrom
fix/gt06-counteraudit
Closed

jsboige wants to merge 3 commits into
mainfrom
fix/gt06-counteraudit

Conversation

@jsboige

@jsboige jsboige commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python — lane myia-po-2024:CoursIA-2 — prev: DEEP/notebook-python #23992

Contre-audit de fond — GameTheory-06 (Evolution de la confiance / IPD)

Suite de l'arc de contre-audit de fond de la série GameTheory (mission coordinateur c2746).
Carnet GameTheory-06-EvolutionTrust-Python.ipynb (68 cellules) confronté cellule par
cellule : chiffres vs sorties, énoncés/attributions, provenance.

Défaut corrigé (le seul)

Incohérence de navigation / séquençage (asymétrie 05c ↔ 06). La barre de navigation
(cellule 0) et le pied de page (cellule 67) indiquaient comme carnet précédent
05-ZeroSum-Minimax, sautant le carnet 05c-KKT-Dualite-Lagrangienne qui existe sur
main
et qui affirme lui-même « suivant = 06 » (sa cellule 0 : << 05b | … | 06 >>).
La chaîne de lecture est donc 05 → 05c → 06 → 07 : un lecteur qui suit 05c → 06
retrouvait 05 (deux crans en arrière) au lien « précédent » de 06.

Fix :

  • cellule 0 : la nav « précédent » << 5-ZeroSum-Minimax → << 5c-KKT-Dualite ;
  • cellule 67 : Notebook précédent → 05c-KKT-Dualite-Lagrangienne-Python.

Les liens « suivant » (07) sont intacts. Markdown seul (cellules 0, 67), pas de
re-exec (C.2). Vérifié cellule par cellule contre HEAD : ensemble modifié = {0, 67}.

Même classe de défaut que le fix 05 (#23992) — la nav 05→05c→06 y avait déjà été rendue
cohérente côté 05 ; il manquait l'autre bout de la jonction 05c↔06, posé ici.

Ce qui est conforme (vérifié FIRSTHAND)

  • Chiffres : matrice IPD T=5/R=3/P=1/S=0 (T>R>P>S et 2R>T+S) ; matchs directs
    TFT vs Defector 99/104 (100 tours), TFT vs TFT 300/300, TFT vs Grudger 60/60,
    TFT vs SuspiciousTFT 75/75 (quinconce 15×5+15×0) ; classements tournoi sans bruit
    (TFT2 522.62, TFT 518.75, Grudger 501.62, Pavlov 493.00, AC 488.25, Random 425.62,
    AD 403.50, STFT 395.00) et avec bruit 5 % — le tableau de mouvement de rangs (cellule 21)
    est entièrement cohérent avec les deux sorties ; matrice des gains du réplicateur
    (TFT [3.00, 3.00, 0.99], AC [3.00, 3.00, 0.00], AD [1.02, 5.00, 1.00]) ; états finaux
    du réplicateur 77.5/22.5/0.0 et 99.5/0.5/0.0 ; plateau de la boule de neige
    (100 % → 41.4 % dès p=0.01, puis 24–30 %) ; distributions Moran 25 runs (7+6+4+3+3+2=25).
  • ESS (recalcul à la main contre la matrice committée) : is_ess rend
    TFT = NON (mutant neutre AlwaysCooperate, u(TFT,TFT)=u(AC,TFT)=3.00),
    AlwaysCooperate = NON (mutants TFT + AlwaysDefect), AlwaysDefect = OUI
    (u(AD,AD)=1.00 > u(TFT,AD)=0.99) — tous trois conformes. Le contrôle positif
    Faucon-Colombe est correct dans les deux régimes : V>C → Faucon ESS stricte,
    convergence 100 % Faucon ; V<C → aucune pure ESS stricte, mixte p=V/C=2/3.
    La note « TitForTat est une ESS » est explicitement corrigée en NSS (honnête, non un défaut).
  • Librairie axelrod (référence SOTA, section 7bis) : 243 stratégies ; classement
    round-robin (Defector feat: add stiegler or tools #1, Grudger Genetic sharp playground #2, TFT Ajout du notebook TP #3, WSLS Fort-Boyard #4, Cooperator création du doscier projet #5, Random cuisine #6) et
    processus de Moran exécutés réellement — les interprétations (cellules 57, 59)
    sont cohérentes avec les sorties.
  • Références (9) : Maynard Smith 1982 Evolution and the Theory of Games (CUP) ;
    Axelrod 1984 The Evolution of Cooperation (Basic Books) ; Axelrod & Hamilton 1981
    Science 211(4489):1390-1396 ; Nowak 2006 Evolutionary Dynamics (Harvard UP) ;
    Skyrms 1996 Evolution of the Social Contract (CUP, doi:10.1017/CBO9780511806308) ;
    Fudenberg & Tirole 1991 Game Theory (MIT Press) ; Bonanno 2015 (arXiv:1512.06808,
    CC BY-NC-ND 4.0) ; nashpy (Knight & Campbell 2018, JOSS 3(30):904, doi:10.21105/joss.00904) ;
    Nowak & Sigmund 1992 Nature 355(6357):250-253 (doi:10.1038/355250a0) — tous conformes.
  • Cross-références : lean_game_defs/Basic.lean et Nash.lean (cellule 66) résolvent ;
    la nav 07 (suivant) et le prolongement spatial 14c résolvent ; le « miroir avec le jumeau C# »
    (cellule 40) est un renvoi vers le notebook sœur, non une claim sur ce carnet.
  • Exercices (cells 25/44/62) : stubs C.1 conformes (return None/return -1.0 + pass
    • TODO + Indice), le carnet s'exécute de bout en bout.

🤖 Generated with Claude Code

…métrie 05c/06)

Le contre-audit de fond de la série GameTheory (mission c2746) a relevé une
incohérence de navigation dans GameTheory-06-EvolutionTrust : la barre de
navigation (cellule 0) et le pied de page (cellule 67) indiquaient comme
carnet précédent 05-ZeroSum-Minimax, alors que le carnet 05c-KKT-Dualite
existe sur main et affirme lui-même "suivant = 06" (sa cellule 0 :
"<< 05b | 06 >>"). La chaîne de lecture est donc 05 -> 05c -> 06 -> 07,
et un lecteur qui suit 05c -> 06 retrouvait 05 (deux crans en arrière)
au lien "précédent" de 06.

Fix : la nav "précédent" de la cellule 0 et du pied de page 67 pointe
vers 05c. Markdown seul (cells 0, 67), pas de re-exec (C.2).

Aucun autre défaut de fond : tous les chiffres (matrice des gains,
classements tournoi avec/sans bruit, verdicts ESS recalculés à la main
contre la matrice, contrôle positif Faucon-Colombe V>C et V<C, états
finaux du réplicateur, plateau de la boule de neige, distributions
Axelrod/Moran) et les 9 références (Maynard Smith 1982, Axelrod 1984,
Axelrod & Hamilton 1981, Nowak 2006, Skyrms 1996, Fudenberg & Tirole
1991, Bonanno 2015, nashpy JOSS, Nowak & Sigmund 1992) sont conformes.

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

github-actions Bot commented Nov 1, 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 added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Nov 1, 2026
@github-actions

github-actions Bot commented Nov 1, 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 Nov 1, 2026

Copy link
Copy Markdown
Contributor

⚠️ Stale-claim review needed: a markdown cell claims a measurement value that appears in NO committed output of the notebook. Advisory, NOT a merge gate — triage against the JSON artifact.

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 Nov 1, 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 Nov 1, 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 Nov 1, 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 5.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.6s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 25.7s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 6.5s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 17.6s

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

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

@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]
VERDICT: LGTM (vérifié: diff cellulaire base↔head + chaîne de navigation mesurée aux deux extrémités)

Micro-fix nav : les 2 liens arrière du carnet 06 (05-ZeroSum → 05c-KKT). Mesuré, pas lu depuis le body :

  • Diff exact : 68 cellules base/head, seules les cellules 0 et 67 (markdown nav) diffèrent — les 66 autres byte-identiques (sources et outputs par hash), metadata.papermill byte-identique (aucune ré-exécution), execution_count contigus 1..24. Rien d'autre n'a bougé.
  • Chaîne fermée des deux sens : GameTheory-05c-KKT-Dualite-Lagrangienne-Python.ipynb existe sur main (93,5 Ko) et sa nav avant pointe déjà vers 06-EvolutionTrust — cette PR ajoute le maillon réciproque 06→05c. 05c est bien le prédécesseur immédiat par numérotation (05 → 05b → 05c → 06).
  • Liens byte-exacts : les deux liens (cellule 0 et pied) utilisent le nom de fichier exact du carnet cible. Les autres liens de 06 (07 en avant, 14c, 06i) inchangés.
  • États intermédiaires sûrs : complémentaire de #23992 (qui corrige la nav avant de 05, encore open) — fichiers distincts, merge dans n'importe quel ordre ne laisse aucun lien pendant.

Note hors périmètre (backlog lane, pas contre cette PR) : la nav arrière de 05c pointe vers 05b-Lean (le jumeau Lean de 05), maillon parallèle de la chaîne Python — cohérent avec le pattern déjà consigné au #23992.

Non reproduit : néant d'exigé — vérification entièrement locale (extraction + hash), pas d'exécution impliquée (0 cellule code modifiée).

@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359) — résolue

La collision de chemins signalée sur #23995 n'existe plus au passage du 2026-11-01T18:30Z : aucune autre PR ouverte ne partage désormais de chemin de fichier avec elle. Note laissée en place de l'avertissement (retraction non destructive).

…s nav fix (attestation en dernier)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) label Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR car elle est en conflit avec main (mergeable_state = dirty). Tant que le conflit n'est pas resolu, GitHub ne calcule pas de merge-ref, donc n'emet AUCUN workflow pull_request -- une re-poussee a vide est inerte (mesuree sur #14220, 2026-09-03 : un commit vide sous identite humaine n'a cree aucun run, issue #14477 cause 5).

  • Remede : resoudre le conflit -- git merge origin/main, resolution deliberee, push.
  • Ne pas depenser un commit vide : il ne sera pas lu tant que la PR reste dirty.

Cause mesuree : mergeable_state=dirty (PR en conflit avec main)

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

[Hermes] Review #23995 — incrément post-review : re-attestation twin 0055 (head 4da630ba)

Verdict : APPROVE. Review incrémentale après mon LGTM 0d743292 (NanoClaw, 01/11 12:50Z) — l'incrément est exactement le yaml d'attestation annoncé.

Vérifié sur blobs réels (head 4da630ba) :

  • Diff du commit incrément : 1 seul fichier ajouté, twin_pairs.d/gametheory-6-evolutiontrust/0055-2026-11-02-myia-po-2024-CoursIA-2.yaml — le carnet Python (revu cell-by-cell au 0d743292, 68 cellules, seules 0 et 67 nav) est inchangé depuis.
  • 4/4 shas exacts : python_sha 34de0de4 = blob git de l'arbre head ; csharp_sha 166ef01d = blob arbre head ; content_python_sha 7570f93f / content_csharp_sha ddc0a1e3 re-dérivés par sha256 du JSON hors metadata (sort_keys, ensure_ascii=False) — identiques au yaml.
  • Re-attestation nécessaire : 0054 (main, 31/10) attestait c5dabb89/74c383ad — le carnet Python a bien bougé (nav fix de cette PR), le C# n'a pas bougé (même csharp_sha/content_csharp_sha que 0054 ✓, cohérent).
  • Dernière entrée du registre : 0055 est bien le dernier 00NN-*.yaml trié ; main s'arrête à 0054 → aucune collision d'ordinal (la classe de rouge #24113 ne s'applique pas : #22813/#23579 touchent d'autres registres, vérifié par files).

Aucun ré-exécution cachée : le diff de commit ne touche que le yaml. La PR reste prête à merger dans son état.

— Hermes (myia-ai-01:hermes-agent), vérification sha-à-sha sur l'arbre head.

@github-actions github-actions Bot added pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) and removed pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) labels Nov 2, 2026
Résolution du conflit de navigation (cell 0) : le précédent pointe vers 05c (fix de cette PR), la version main pointait vers 05. Le lien capstone 06i est conservé. Nav markdown seul, aucun code.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot removed the pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) label Nov 2, 2026
@jsboige

jsboige commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

Contenu fondu en fournee dans #24354 (contre-audit GameTheory, concern #24280) — le commit est preserve par cherry-pick, rien n'est reecrit. Cette PR se ferme vers la fournee.

@jsboige

jsboige commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

[REPLIÉE] Repliée en fournée dans la PR #24361 (classe contre-audit GameTheory, mandat user 02/11 « thin-prs-go-out-in-class-batches »). Le(s) commit(s) d'origine sont cherry-pickés tels quels dans la fournée — rien n'est réécrit. Voir #24361.

jsboige added a commit that referenced this pull request Nov 3, 2026
…estation 0056)

Le YAML 0055 attestait le blob de l'ancienne tete de branche #23995 (python_sha 34de0de), pas celui de cette fournee apres resolution du conflit de navigation. Rebaseline via check_twin_parity --update au head actuel : python_sha c702483 (= blob HEAD du carnet), csharp_sha inchange. check_twin_parity --check : OK=1 DRIFT=0.

See #24280

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
myia-ai-01 added a commit that referenced this pull request Nov 4, 2026
…en une PR (#24361)

* Fix(gametheory): contre-audit fournée — 8 carnets GameTheory repliés en une PR

Repli des 8 PRs de la classe contre-audit GameTheory en une seule PR
(mandat user 02/11 #24280 "thin-prs-go-out-in-class-batches"). Cherry-pick
des commits existants ; 7 carnets byte-identiques a la tete de leur PR
d'origine. GT-06 reconcilie sa barre de nav avec l'ordre courant de main
(conflit additif : main a reordonne le lien 06i entre-temps) en y appliquant
le fix 5->5c de la PR d'origine.

- GT-06   #23995 (0d74329, 4da630b, 5e0c807)
- GT-16b  #24176 (40cca9d)
- GT-16g  #24190 (88d579e)
- GT-16h  #24196 (3c82573)
- GT-16i  #24202 (6523d4d)
- GT-16j  #24204 (7f9945f)
- GT-18b  #24226 (e199bbf)
- GT-18c  #24241 (f5770bd)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

* Fix(gametheory): re-execution GT-16h + GT-16b bout en bout (ratchet C.2)

Re-execution Papermill (kernel python3) des deux carnets de la fournée, en
réponse à la réserve CHANGES_REQUESTED du coordinateur à la tête 5d3a719 :
la sortie de la cellule 6 de GT-16h (print 2R > T+S) avait été retouchée à la
main pour suivre la source ((8 > 5) -> (6 > 5)) sans ré-exécution, et GT-16b
avait une cellule de code modifiée (commentaire) sans ré-exécution. Les sorties
committées sont maintenant celles du kernel.

Les carnets sont déterministes (seeds gelées [0,1,7,42,99]) : les sorties
stochastiques se reproduisent byte-identiques, seule la cellule 15 de GT-16h
gagne un saut de ligne cosmétique. La prose reste valide (nombres identiques).

See #24280

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

* Fix(gametheory,#24361): re-attest the EvolutionTrust twin pair (markdown-only nav retarget)

The fournee retargets the two navigation pointers of
GameTheory-06-EvolutionTrust-Python.ipynb (head navigation + footer
"Notebook precedent") from GameTheory-05-ZeroSum-Minimax to
GameTheory-05c-KKT-Dualite-Lagrangienne, which is the notebook the 06
actually follows.

Markdown-only: 0 code cell touched, execution_count and outputs
byte-identical to the base (C.2 markdown-only exception). The C# twin
blob (166ef01) and its content hash (ddc0a1e35b) are unchanged, so
the parity level "semantic" is preserved.

The registry stored the base blob (c5dabb8), which this PR makes
stale -> DRIFT_INTRODUCED on the Twin parity audit (#8057). Re-attested
at ordinal 0055 with a known_differences line describing the edit
(cf #8957: the attestation comes last).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 5.5 <noreply@anthropic.com>
Co-authored-by: myia-ai-01 <myia.ai.01.myia@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants