Skip to content

Add: lectures chiffrees md-only GameTheory-15c-CooperativeGames-Python (densite 967 -> 1320, plancher 1200) #13410 - #16474

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

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

Conversation

@jsboige

@jsboige jsboige commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

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

Livrable

Tranche densité #13410 : GameTheory-15c-CooperativeGames-Python (967 → 1320), plancher 1200. Markdown-only : +90/−10 — 10 cellules md insérées (une lecture chiffrée après chaque sortie sans interprétation dédiée), chacune avec id nbformat 4.5 (sha1 8 hex, uniques, vérifiés) + 10 séparateurs --- → *** (réparation outillée fix_hr_separator.py --apply sur le notebook entier, violations préexistantes resurgies au gating baseline par décalage d'index) ; 0 cellule code touchée, 0 output édité, 0 md réellement perdue (les 9 « absentes » du check brut = les cellules converties, vérifiées). Branche dédiée feature/13410-density-gt15c depuis origin/main (fe8a398), créée avant l'édition.

Les 10 lectures

  1. Instrument Shapley (§1) — « Fonction shapley_value_exact definie. » lue comme l'installation de l'outil (exact par énumération des n! permutations, sans variance de sondage), la première valeur chiffrée venant de §2 ;
  2. Stub gants étendus (§2) — Total: 0.0000 = format d'affichage attendu, pas un résultat ; contrat 4 joueurs, question ouverte : la rareté change-t-elle de camp ;
  3. Shapley majorité (§3) — 0.3333 = 1/3 chacun ET x1 + x2 = 0.6667 < 1 = v({1,2}) lus ensemble : équité (distributif) et instabilité (stratégique) coexistent — ni l'un ni l'autre ne se dégondole ;
  4. Figure poids/pouvoir (§4) — lecture visuelle du renversement (barres non alignées) SANS répéter les chiffres du tableau md[20] : on négocie des poids, on exerce du pouvoir ;
  5. Shapley dans le Core convexe (§5) — le théorème vérifié sur ses deux côtés : convexe True/True contre majorité False avec Coalition (0, 1) peut bloquer nommée ;
  6. Stub convexité (§5bis) — l'artefact reconnu : Convexe: False sur le jeu convexe attendu + Shapley: [] = squelette qui ne calcule pas ; la sortie remplie devra ROMPRE la symétrie des deux False ;
  7. Marges duales (§6) — |m| = 0.3333 ×3 paires, renormalisation k = 1.5000 → w = 0.5000, somme = +1.0000 = v(N) : le dual du LP reconstruit le certificat Bondareva-Shapley sans qu'on le fournisse — deux preuves pour le prix d'un solve ;
  8. Stub collection équilibrée (§6bis) — l'artefact du jeu nul : {} + +0.0000 vs v(N) = 0.0 → Core vide ? False mesure un objet absent ; la réponse existe dans le notebook (paires à 1/2), l'exercice demande la méthode ;
  9. Banc nucléole (§6ter) — trois jeux croisés : gants [-0.0, -0.0, 1.0] Core True vs Shapley [0.1667, 0.1667, 0.6667] False ; majorité les DEUX à 1/3 hors Core (le nucléole existe sans Core — propriété illustrée) ; convexe coïncidence dans le Core ; détail 2 LP resolus vs 1 LP resolus = Maschler s'arrête quand le Core a un intérieur ;
  10. Stub exercices (§13) — terrain posé (shapley exact §1 + LP §6), attendu : jeu de l'aéroport, parts et lecture.

Chaque nombre cité lu verbatim dans les sorties committées. Anti-duplication vérifié : md[16] couvre la preuve de sommation (ma lecture = la sortie Shapley-juste-mais-instable), md[20] couvre le tableau chiffré des indices (ma lecture = la figure seule), md[24] couvre is_convex (ma lecture = l'appartenance au Core), md[30]/[33] couvrent epsilon* et le certificat manuel (ma lecture = les marges duales renormalisées), md[37]/[40] couvrent définition et comparatif (ma lecture = le banc des trois jeux et les LP counts) — non réécrits. Prose sans accents, dominante du fichier mesurée : 45 accents / 20 316 chars md = 0,22 %.

Validation

  • pedagogy_density.py → « All judged notebooks meet the density floor » (1320).
  • detect_markdown_rendering.py --check → OK (rc=0) après réparation outillée des 10 séparateurs préexistants.
  • Vérification structurelle scriptée : 21 cellules code byte-identiques (sources, outputs, execution_count), 0 md réellement perdue (conversions ---/*** vérifiées cellule par cellule), 57 cellules, ids tous uniques — md-only strict, diff +90/−10.

Preflight

Par nom (CooperativeGames-Python, scoped au repo) : la seule PR matchée (#16400, OPEN) touche 06f-Bounded-Proofs et 20b-Chemin-Minimal — pas ce notebook (mention body = liste résiduelle). Par fichiers : sweep des PRs open titrées #13410 → 0 touche ce notebook. Branche créée avant l'édition.

See #13410

🤖 Generated with Claude Code

Qualification STOP #13410 (recensement du 21/09, head 011ffed)

Organe check_split_reading_cells.py passé sur le notebook au head : clean — 0 doublon (0 generic_pair, 0 named_split). Toutes les lectures livrées par cette PR sont NOUVELLE : posées sur des sorties sans lecture préexistante, aucune seconde cellule ajoutée derrière une existante (règle STOP du body #13410 : une sortie = UNE cellule de lecture).

…thon (densite 967 -> 1320, plancher 1200 #13410)

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

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 21
  • 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 6.2s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 6.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 7.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 9.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 5.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.7s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 43.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.9s

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

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

…r markdown-only density tranche

Pair attested: GameTheory-15c CooperativeGames.

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

Command run:
python scripts/notebook_tools/check_twin_parity.py --update --pair "GameTheory-15c CooperativeGames" --by "myia-po-2026:CoursIA"

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@jsboige

jsboige commented Sep 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] PR #16474 -- 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 : Add: lectures chiffrees md-only GameTheory-15c-CooperativeGames-Python (densite
4 surfaces lues : mss=BLOCKED, mergeable=MERGEABLE, reviewDecision=vide ; 0 review(s), states=aucune
Marks Hermes/reviewers : aucune
Checks CANCELLED (Tell c.32-L1) : 0 check CANCELLED
Diff : 96/+10 sur 2 fichiers

Motif verdict : mss=BLOCKED (review en attente)

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

@jsboige

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

Levée de mon propre commentaire d'attestation interim (issuecomment 5736412591, 2026-09-18T21:29:49Z) : snapshot de preflight Phase pré-gate, périmé depuis plusieurs heads — il n'engage plus rien au head courant. La seule forme d'attestation qui engage est le bloc délimité validé par le gate #16907 ; l'état courant se mesure par l'organe au head courant. Rien de ce commentaire périmé ne demande d'action.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[AUDIT CONTENU — amendement user 21/09] Verdict : MERGE.
19 cellules (structure + lectures) : Shapley gants [1/6, 1/6, 2/3] conforme au résultat standard ; 1/3 vs 2/3 < 1 verbatim ; le dual LP relu en certificat Bondareva-Shapley (k = 1.5 → w = 0.5 → somme = +1.0 = v(N), pile) ; nucléole [0, 0, 1] vs Shapley hors Core, 2 LP vs 1 LP expliqué. Les sorties de stubs vides sont attrapées DEUX fois comme artefacts (« False par défaut avec Shapley: [] ne mesure rien », « collection vide mesure un objet absent ») — exactement la vigilance voulue.
Observation non bloquante : parenthèse orpheline dans le lien de navigation de la cellule d'intro (« ...(GameTheory-15-CooperativeGames.ipynb))») — cosmétique, à la prochaine édition.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16474
head: 011ffed
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2d2cd6968e565ecd75981f2654dab827fc296a50c72f6a94d3d5d200d793effd
diff-files: 2
diff-additions: 96
diff-deletions: 10
checks: blocked
b0: blocked
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16474
head: 011ffed
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d5730a84d809254ac1f72914a468d6f29349ffd5393f1866edfcd4c7d40a56ba
diff-files: 2
diff-additions: 96
diff-deletions: 10
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 54d510f into main Sep 21, 2026
104 of 106 checks passed
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