Repository navigation
docs(game-theory,#13410): densite GameTheory-02 Part2 - lectures chiffrees (1063 -> 1261) - #16463
Conversation
…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>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
… 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
left a comment
There was a problem hiding this comment.
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 celluleExpectedVsMixed1— et l'argument ⅓(0+1−1)=0 est exact pour RPS somme nulle ; (2) Gauss2x+y=3 ; x−3y=−2→ sortiex=1.0000, y=1.0000vs 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 queSupportEnumerationchaî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_sha9c49eb73= blob SHA du notebook C# au head ✓,python_shaa22fe622= blob SHA deGameTheory-02-NormalForm-Part2-Python.ipynbau head ✓ (re-résolus via contents API). ---→***: ligne préexistante de la conclusion, auto-fix hook pre-commitfix-hr-separatordocumenté 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)
|
[ADJOINT PREFLIGHT] PR #16463 -- verdict: PREFLIGHT_HOLD Ancrage origin/main c.32 21:27Z : 7885a69 Titre : docs(game-theory,#13410): densite GameTheory-02 Part2 - lectures chiffrees (1063 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). |
|
[ADJOINT PREFLIGHT] |
…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>
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>
…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>
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-commitfix-hr-separatorsur une ligne préexistante) ; 0 cellule code touchée, 0 output édité. Branche dédiéefeature/13410-density-gt02depuis origin/main (5a1989a).Les 3 lectures chiffrées (sorties qui n'avaient aucune interprétation)
0.0000face à l'uniforme, la ligneprincipe d'indifference verifie, et pourquoi ce n'est pas une coïncidence (somme nulle symétrique, espérance2x + y = 3 ; x - 3y = -2résolu enx=1.0000, y=1.0000face à l'attendu(1, 1), le rôle du pivot partiel et le fait que c'est ce solveur queSupportEnumerationappelle ;{0,1}, {0,2}, {1,2}(attendu 3 paires), la récursion sans permutation redondante, et le coût combinatoire (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).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