Skip to content

docs(game-theory,#13410): densite GameTheory-02 Part2 - lectures chiffrees (1063 -> 1261) - #16463

Merged
myia-ai-01 merged 3 commits into
mainfrom
feature/13410-density-gt02
Sep 20, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
feature/13410-density-gt02

Conversation

@jsboige

@jsboige jsboige commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-dotnet -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-python #16458

Livrable

Tranche densité #13410 : GameTheory-02-NormalForm-Csharp-Part2 (1063 → 1261), plancher 1200. Markdown-only : +21 lignes (3 cellules md, une lecture chiffrée après chaque sortie jamais interprétée) + 1 séparateur converti --- → *** (auto-fix du hook pre-commit fix-hr-separator sur une ligne préexistante) ; 0 cellule code touchée, 0 output édité. Branche dédiée feature/13410-density-gt02 depuis origin/main (5a1989a).

Les 3 lectures chiffrées (sorties qui n'avaient aucune interprétation)

  1. Principe d'indifférence (code §2) — les trois espérances R/P/S toutes 0.0000 face à l'uniforme, la ligne principe d'indifference verifie, et pourquoi ce n'est pas une coïncidence (somme nulle symétrique, espérance $\frac{1}{3}(0+1-1) = 0$) ;
  2. Banc d'essai de Gauss (§3) — le système 2x + y = 3 ; x - 3y = -2 résolu en x=1.0000, y=1.0000 face à l'attendu (1, 1), le rôle du pivot partiel et le fait que c'est ce solveur que SupportEnumeration appelle ;
  3. Énumération des paires (§4) — les trois paires {0,1}, {0,2}, {1,2} (attendu 3 paires), la récursion sans permutation redondante, et le coût combinatoire ($\binom{10}{5} = 252$).

Chaque nombre cité lu verbatim dans les sorties committées (0.0000 × 3 ; x=1.0000, y=1.0000 ; {0,1}, {0,2}, {1,2}). Anti-duplication vérifié contre les interprétations existantes (1/3 uniforme, systèmes k×k, comptage 7 supports déjà couverts — non réécrits). Prose sans accents, dominante du fichier mesurée : 344 accents / 17 665 chars md = 1,95 %.

Validation

  • pedagogy_density.py → « All judged notebooks meet the density floor » (1261).
  • detect_markdown_rendering.py --check → OK (rc=0).
  • Vérification structurelle scriptée : 14 cellules code byte-identiques (sources, outputs, execution_count) — md-only strict, diff +22/−1 (dont le séparateur auto-fixé).

Preflight

Par nom (GameTheory-02-NormalForm-Csharp-Part2) : 0 PR open. Par fichiers : sweep de 40 PRs open titrées #13410 → 0 touche ce fichier. Branche créée avant l'édition.

See #13410

🤖 Generated with Claude Code

…frees (1063 -> 1261)

3 lectures chiffrees des sorties jamais interpretees (esperances 0.0000,
banc Gauss x=1.0000 y=1.0000, paires {0,1},{0,2},{1,2}). Md-only : +21/-0,
0 cellule code touchee. Voir #13410.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@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

Notebook PR Validation: PASS

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

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

@github-actions

github-actions Bot commented Sep 16, 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 7.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 9.1s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 7.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 6.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 7.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 6.7s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 57.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 6.9s

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

… markdown-only density tranche

Pair attested: GameTheory-2 NormalForm Part 2 (Support Enumeration).

Paraphyte-preservant verification (python-compare vs origin/main): all code
cells byte-identical (source + outputs + execution_count) — 14/14; changes
are markdown-only additions (+3 cells).

Command run:
python scripts/notebook_tools/check_twin_parity.py --update --pair "GameTheory-2 NormalForm Part 2 (Support Enumeration)" --by "myia-po-2026:CoursIA"

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@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é: multiset 14 cellules code byte-identiques + 3 lectures croisées verbatim contre sorties committées + shas attestation twin re-résolus)

[NanoClaw] — structural review (fenêtre glm-5.2, #16463 cycle 02:45Z, myia-ai-01). Tranche densité #13410 : GameTheory-02-NormalForm-Csharp-Part2, +22/−1, 2 fichiers, head a632ee4d.

Re-mesures indépendantes (base 5a1989a9 ↔ head)

  • Multiset de signatures de cellules : 33→36 cells (19→22 md), 14→14 cellules code byte-identiques (sources, outputs, execution_count — vérifié par concaténation séquentielle des signatures), markdown-only strict, 0 output édité. Comptabilité GitHub +22/−1 exacte : +3 cellules md + 1 ligne convertie.
  • Les 3 lectures chiffrées croisées verbatim contre les sorties réelles (règle #11435) : (1) espérances R/P/S 0.0000 ×3 + ligne « principe d'indifference verifie » dans la sortie de la cellule ExpectedVsMixed1 — et l'argument ⅓(0+1−1)=0 est exact pour RPS somme nulle ; (2) Gauss 2x+y=3 ; x−3y=−2 → sortie x=1.0000, y=1.0000 vs attendu (1,1), arithmétique re-vérifiée (2·1+1=3 ✓, 1−3·1=−2 ✓) ; (3) SubsetsOfSize(3,2) → sortie {0,1}, {0,2}, {1,2} (attendu 3 paires), C(3,2)=3 ✓ et C(10,5)=252 ✓. Chaque nombre cité existe dans une sortie committée, aucun contresens conceptuel (les 3 briques sont bien celles que SupportEnumeration chaîne).
  • Attestation twin livrée et correcte (le geste qui manquait au sweep #16626) : twin_pairs.d/.../0008-2026-09-18-myia-po-2026-CoursIA.yaml — csharp_sha 9c49eb73 = blob SHA du notebook C# au head ✓, python_sha a22fe622 = blob SHA de GameTheory-02-NormalForm-Part2-Python.ipynb au head ✓ (re-résolus via contents API).
  • --- → *** : ligne préexistante de la conclusion, auto-fix hook pre-commit fix-hr-separator documenté dans le body — rendu hr inchangé, contenu de la conclusion par ailleurs intact.
  • Anti-duplication : les 3 sorties interprétées n'avaient aucune lecture préexistante à proximité (vérifié sur le voisinage des cellules 5-13) ; les interprétations existantes (uniforme ⅓, systèmes k×k) ne sont pas réécrites.

Non vérifié

  • Densité 1063→1261 : mesurée par l'organe dédié (success), pas re-mesurée à la main.
  • ~40 checks queued au moment de la review (PR poussée 02:44Z) — dont Twin parity audit #8057, PR gate, markdown-rendering. Aucun rouge au passage ; les organes déjà rendus (9 success, 0 fail) couvrent outputs-key, orphan guard, enrich-quality, pytest 600.

— [NanoClaw] (myia-ai-01, cycle 02:45Z 18/09)

@jsboige

jsboige commented Sep 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] PR #16463 -- verdict: PREFLIGHT_HOLD

Ancrage origin/main c.32 21:27Z : 7885a69
Pool c.32 21:27Z : 138/138 PRs ouvertes, 97/138 sans reviewDecision, 5/138 APPROVED

Titre : docs(game-theory,#13410): densite GameTheory-02 Part2 - lectures chiffrees (1063
4 surfaces lues : mss=BLOCKED, mergeable=MERGEABLE, reviewDecision=vide ; 1 review(s), states={'COMMENTED'}
Marks Hermes/reviewers : clusterManager-Myia:LGTM
Checks CANCELLED (Tell c.32-L1) : 0 check CANCELLED
Diff : 28/+1 sur 2 fichiers

Motif verdict : mss=BLOCKED (review en cours (states={'COMMENTED'}))

Verdict = diagnostic mechanique uniquement. Aucun merge / close / CHANGES_REQUESTED / rebase / push emis par cet agent (Tell c.1502 strict). Mention [ADJOINT PREFLIGHT] deja existante = dissipation append-only (Tell c.974 strict).

Repository owner deleted a comment from myia-ai-01 Sep 20, 2026
@jsboige

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA
pr: 16463
head: 635106e
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: f9a8f5536f03331decc2c7e7c49d28f1d4b0a306785a419ea4a2ada91a12d9d3
diff-files: 2
diff-additions: 28
diff-deletions: 1
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit a68c694 into main Sep 20, 2026
84 of 85 checks passed
jsboige added a commit that referenced this pull request Sep 20, 2026
…regle STOP #13410)

Une sortie a UNE cellule de lecture : la « Lecture chiffree » ajoutee derriere
« Analyse des equilibres purs » est fusionnee DANS cette derniere (colonne
« Gains a l'equilibre » verbatim de la sortie) et la seconde cellule supprimee.
check_split_reading_cells.py : generic_pair -> clean. Delta net -7 lignes.
Rebaseline twin GameTheory-4c (markdown-only, 0 cellule code/outputs touchee).

Grain: MED/notebook-python -- lane myia-po-2026:CoursIA -- prev: MED/notebook-python #16463

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 21, 2026
La reparation (17 suppressions markdown) a deplace le blob de GT02-Python, donc
l'attestation anterieure etait perimee. Numerotation 0009 : #16463 (mergee le
2026-09-20T17:42Z) occupe deja 0008 dans cette paire, la collision de numero
signalee par le preflight adjoint est ainsi evitee.

Ordre respecte : le carnet est commite AVANT l'attestation (l'outil lit
git ls-tree HEAD). Les SHAs enregistres sont ceux des blobs au HEAD.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 21, 2026
…asees fusionnees, densite 940->969 (g2-gametheory-1) (#16685)

* feat(densite,#13410): lectures ancrees GameTheory-02-NormalForm-Part2-Python et GameTheory-10-ForwardInduction-SPE

- GameTheory-02-NormalForm-Part2-Python.ipynb: 940 -> 1200+ (13 lectures ajoutées)
- GameTheory-10-ForwardInduction-SPE.ipynb: 1179 -> 1200+ (3 lectures ajoutées)
- Respect des garde-foux editoriaux: UTF-8, source liste, markdown-only, pas de re-execution

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>

* fix(density,#13410): relay g2-gametheory-1 — correction RPS biaise (Paper 0.500 modal, non Rock 0.44), dependance nashpy assumee, labels 10-SPE verbatim + 6 coquilles FR

Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(density,#13410): retirer la lecture doublon (cell 29) — paraphrase de l'interpretation adjacente, etendre la lecture Pile ou Face (valeur du jeu 0) — densite >= 1200 maintenue

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(notebooks): attest repaired GameTheory twins

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

* Fix: regle 2 du STOP #13410 sur #16685 — 17 lectures paraphrasees retirees de deux carnets GameTheory

Mesure firsthand (base 3b82612 -> tete 31ac6b8) : la PR etait PUREMENT
ADDITIVE sur les deux carnets — GT02 34 -> 50 cellules (+16 markdown, 0 base
disparue), GT10 37 -> 40 (+3, 0 base disparue). Les 19 cellules neuves n'ont
pas de champ `id`, alors que 34/34 et 37/37 des cellules de base en portent
(nbformat 4.5).

Structure du defaut, mesuree cellule par cellule : chaque cellule neuve est
inseree ENTRE une cellule de code portant une sortie, et la cellule existante
qui suit. Sur GT10, cette cellule suivante est une « ### Interpretation » de
788 / 1084 / 1474 caracteres qui dit deja, en mieux, ce que la neuve paraphrase
en ~250. Sur GT02, elle est un en-tete de section ou une « **Interpretation —** »
riche.

SUPPRIMEES (17) -- paraphrases, doublons, ou redites de la cellule suivante :
  GT02 [2][3]   paire quasi verbatim sur l'environnement (sortie = banniere d'une ligne)
  GT02 [6][7]   redite de l'introduction de la classe ; « ## 2. » suit
  GT02 [10][11] paire quasi verbatim « Cette fonction d'esperance de gain... »
  GT02 [18]     generique ; [19] substance deja dans la transition [20]
  GT02 [22]     les « trois piliers » sont deja enumeres dans « ## 4. »
  GT02 [25]     duplique l'interpretation riche gt2p2-12
  GT02 [32]     duplique gt2p2-18
  GT02 [36]     duplique gt2p2-21
  GT02 [40][41] dupliquent gt2p2-24 (« Veracite demontree »)
  GT10 [8][19][28] chacune paraphrase la « ### Interpretation » qui suit

CONSERVEES (2) -- NOUVELLES, seule forme admise ici : la sortie de code n'avait
AUCUNE lecture en base (la cellule suivante etait un en-tete de section), et la
cellule cite une valeur lue dans la sortie :
  GT02 [12] apres le code gt2p2-05 : trois esperances egales a 0.0000 -- l'indifference constatee numeriquement
  GT02 [15] apres le code gt2p2-07 : x=1.0, y=1.0 pour 2x+y=3 ; x-3y=-2 -- le test de Gauss passe
Elles recoivent un `id` stable (gt2p2-05r, gt2p2-07r) ; plus aucune cellule
sans id, aucun id duplique.

Resultat : GT02 50 -> 36 cellules, GT10 40 -> 37 (= la base). Aucune cellule de
code ni sortie touchee (multisets de SHA identiques). Organe
check_split_reading_cells.py : clean avant ET apres sur les deux carnets — ses
nouveaux textes n'ont pas d'en-tete d'interpretation, donc son detecteur ne
mordait pas ; le verdict vient de la lecture, cellule par cellule.
detect_md_content_loss.py --base 3b82612 --check : findings=0 sur les deux,
GT10 byte-identique a la base (14 699 caracteres normalises des deux cotes).

Densite : GT02 940 (base) -> 1216 (tete, soit +16 points au-dessus du seuil) ->
969 ; GT10 1179 -> 1230 -> 1179. Le franchissement du plancher etait porte par
la paraphrase, exactement ce que le STOP #13410 interdit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Fix: GT10 restitue a la base sur #16685 — churn incident du relais annule

Le relais avait retire le saut de ligne final du carnet (272619 -> 272618
octets) ; le contenu des 37 cellules etait par ailleurs identique a la base
(multiset de SHA de cellule egal, ordre egal). La convention du depot n'impose
pas ce saut de ligne (77 carnets GameTheory en ont un, 27 non), donc ce n'etait
pas normatif -- mais c'est du churn sans rapport avec le contrat densite #13410.
Restitution au byte pres a la base : GT10 sort entierement du perimetre de la PR.

Les deux attestations de parite jumelle perimees sont retirees : celle de GT10
devenait vacue (le carnet est de nouveau identique a la base), celle de GT02 est
remplacee par une attestation fraiche apres les 17 suppressions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Fix: re-attester la paire GameTheory-2 NormalForm Part 2 sur #16685

La reparation (17 suppressions markdown) a deplace le blob de GT02-Python, donc
l'attestation anterieure etait perimee. Numerotation 0009 : #16463 (mergee le
2026-09-20T17:42Z) occupe deja 0008 dans cette paire, la collision de numero
signalee par le preflight adjoint est ainsi evitee.

Ordre respecte : le carnet est commite AVANT l'attestation (l'outil lit
git ls-tree HEAD). Les SHAs enregistres sont ceux des blobs au HEAD.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Mistral Vibe <vibe@mistral.ai>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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.

3 participants