Skip to content

docs(readme,#3973): GameTheory README en parcours à plusieurs vitesses - #17797

Merged
myia-ai-01 merged 1 commit into
mainfrom
docs/gametheory-readme-speeds
Sep 25, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
docs/gametheory-readme-speeds

Conversation

@myia-ai-01

Copy link
Copy Markdown
Collaborator

Grain: MED/docs -- lane myia-ai-01:CoursIA -- prev: LIGHT/docs #17781

Résumé

Le README de la famille GameTheory présentait chaque notebook et chacune de ses accrétions comme une étape d'une lecture séquentielle unique. Un lecteur qui voulait le parcours léger devait trier lui-même des tables où les lettres, les jumeaux C#, les lakes et les extensions se mêlaient aux numéros nus. Cette PR le réorganise selon la forme #3973 et l'arbitrage du mainteneur du 25/09 : un parcours principal lisible sans ouvrir une seule lettre, la signalétique qui permet de choisir son niveau, puis la matière de recherche regroupée à la fin.

Nouvelle structure

Section Public Contenu
Ouverture, Comment lire ce README Découverte Les trois vitesses, avec renvoi à la section racine (#17781), et la grammaire des noms de fichiers (<NN><lettre>, -Part<N>, suffixe de noyau, -Lean-Python)
Pourquoi, Objectifs Découverte Dualité simulation/preuve, parité .NET, applications (fusionnées), acquis (fusionnés avec les objectifs)
Parcours principal Découverte, Licence Numéros nus 01 à 17 en trois phases. Une ligne par palier, jumeaux Python · C# sur la même ligne, lettres en liens courts dans « Pour approfondir ». Les six figures sont conservées. Glossaire des concepts avec leur palier
Approfondissements Licence, Recherche Une section « Autour de NN » par palier qui porte des lettres, avec l'ordre de lecture là où il compte (03b avant 03a/03h ; 06c d'abord ; 17b ne demande que le palier 11)
Parcours transverses mixte Les quatre itinéraires thématiques, labels corrigés
Sous-série SocialChoice Licence, Recherche Table propre aux fichiers réels (01, 01b, 03 à 07). Le palier 16 sert d'escalier ; le README dit qu'aucun notebook d'escalier dédié n'existe encore
Extensions au-delà du parcours Recherche 18 à 25, dont le numéro nu n'est pas une étape : leur rattachement aux paliers relève de #15615
Installation, FAQ, Après la série tous Par noyau (Python, WSL, Lean, C#), sans listes de notebooks qui dérivent : les tables portent le noyau
Pour aller plus loin Recherche Moran, point fixe discriminant, une seule section Formalisations Lean (lake → notebooks, renvoi à LEAN_INVENTORY.md), liens inter-séries, organisation du dossier, comptes → catalogue

Aucun total ni compte n'est écrit en prose : les comptes restent au bloc CATALOG-STATUS, byte-identique à main (lignes 1-10 inchangées, vérifié par diff).

Corrections de fond au passage

  • scripts/verify_notebooks.py n'existe pas : remplacé par scripts/notebook_tools/notebook_tools.py validate|execute.
  • Table Part 3 : ligne 16d fusionnée avec 16e (|| 16e).
  • « Ce que chaque notebook apporte » listait 3f, absorbé dans 3e.
  • Coquille « Faltenstein » corrigée en Fallenstein.
  • Sous-série SocialChoice : le fichier 01b était étiqueté « SC-02 » partout ; la table annonçait une sous-série complète mais ne listait que cinq lignes.
  • Table Lean : « Notebooks 16b (Arrow) » pointait un notebook de mécanismes automatiques (Arrow est SocialChoice 01b) ; « 16-2 (matching) » n'existe pas.
  • La section point fixe affirmait que GameTheory-04b-Lean-NashExistence s'appuie sur le lake minimax_lean « sans sorry ». Vérifié : le 04b n'importe aucun lake et porte des sorry sur l'arithmétique flottante. La prose le dit désormais.
  • « Concepts clés » renvoyait les méta-actions à « GT-3c » (c'est 03e) et dupliquait Moran en anglais.
  • Applications : noms d'entreprises retirés.
  • Quick Start et FAQ disaient « extensions 18-27 » ; la série s'arrête à 25.
  • Lien Search qui visait ../README.md au lieu de ../Search/README.md.
  • Listes de notebooks Lean incomplètes (06g, 23b, 17d manquaient) : remplacées par la colonne Noyau des tables.

Défauts signalés, hors de cette PR

À traiter par la passe de renommage GameTheory (#16231, séquence décidée ; outil #17784) :

  • Collisions de lettres : 06f (Bounded-Agents-Python / Bounded-Proofs-Reasoning-Costs), 06g (Bounded-Agents-Lean / Simulation-Based-Program-Equilibria), 17c (Lean-Lemons-Certificat / Market-to-Balance-Sheet). Le README les nomme « bis » en attendant.
  • Jumeau à lettre propre : 13c-Safe-Subgame-Solving-Csharp est le jumeau C# du 13b, mais porte la lettre c.
  • Candidats -Lean-Python : 06b-Lean-RepeatedGames a un noyau python3 et lit le lake par sous-processus ; 03a cite un certificat Lean. À trancher par --propose.
  • Noyaux atypiques : 13b et 15c-Python déclarent coursia-ml-training, 24-Humour-Banc déclare python3-coursia2, et SocialChoice/04 déclare python3-wsl. Le README ne les affiche pas ; ils méritent une vérification.
  • Les H1 des notebooks 20 et 20b ne suivent pas le titre de leur fichier.
  • Le README de SocialChoice/ garde l'étiquette « SC-02 » pour 01b, et ses fichiers n'ont ni préfixe de série ni suffixe de noyau.

Dépendance

Le lien « choisir sa vitesse de lecture » vise l'ancre #choisir-sa-vitesse-de-lecture du README racine, introduite par #17781. Merger #17781 d'abord, sinon l'ancre est morte le temps de l'intervalle.

Validation

  • Liens relatifs : tous résolus. Chaque notebook du dossier, SocialChoice compris, est lié au moins une fois ; aucune cible absente (script de vérification local).
  • python scripts/check_docs_links.py --check --base origin/main : OK: No new broken links.
  • python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main --strict : [OK] aucun compteur quantitatif en prose, rc=0.
  • python scripts/notebook_tools/check_link_label_agreement.py --json : aucun finding sur GameTheory.
  • Lignes 1-10 (titre, navigation, CATALOG-STATUS) identiques à origin/main (diff vide).
  • Pas de notebook modifié : aucune ré-exécution requise.

See #3973 · See #16231 · See #15615

🤖 Generated with Claude Code

Le README de la famille GameTheory presentait les notebooks et leurs
accretions comme une sequence unique. Il est reorganise selon la forme
#3973 :

- parcours principal a numeros nus (01 a 17), en trois phases, avec
  jumeaux C# sur la meme ligne et lettres renvoyees en colonne ;
- approfondissements presentes palier par palier (« Autour de NN ») ;
- sous-serie SocialChoice et extensions 18-25 separees du parcours,
  avec le palier 16 comme escalier vers SocialChoice ;
- grammaire des noms de fichiers expliquee au lecteur (suffixe de
  noyau, -Lean-Python) ;
- formalisations Lean reunies en une section, sans recopier
  LEAN_INVENTORY.md ;
- statut de maturite et statistiques remplaces par le catalogue.

Corrections au passage : lien de validation vers un script inexistant,
labels SocialChoice (01b), lignes de table fusionnees, 03f absorbe,
coquille Fallenstein, table Lean (Arrow et matching), claim du 04b
sur le lake minimax, noms d'entreprises retires des applications.

Co-Authored-By: Claude-Code <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Sep 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-ai-01:CoursIA a deja consomme son budget LIGHT du jour (#17686 (merge a 2026-09-25T00:57:01Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions github-actions Bot added variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory) labels Sep 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=4 genre=4 cap=3)
  • GENRE-MISMATCH : declared genre != genre infere depuis les chemins du diff

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.

@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17797
head: 8a25d40
complete: true
body: read
comments-reviewed: 2
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d690a21b61f6885ec776c8df937ec3f420b111ba2ca24b01b6d4eb65fb71b3bc
diff-files: 1
diff-additions: 444
diff-deletions: 893
checks: blocked-via-dwell
b0: blocked
scope: pass
domain: not-applicable
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

Aucun dossier anterieur. PR gate DWELL -- tete du 2026-09-25T09:51:37Z, ecoule a 2026-09-25T12:07:00Z. 1 fichier (GameTheory/README.md, +444/-893) ; B.0 rc=0 aucun nit non leve ; 2 commentaires et 0 review. Dependance nommee par le body : merger #17781 d'abord (ancre racine). Aucun defaut de substance ; plancher minuteur. Pas de re-push.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17797 (docs(readme,#3973): GameTheory README en parcours à plusieurs vitesses) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17797
head: 8a25d40
complete: true
body: read
comments-reviewed: 4
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: f0ad0caa678439f40fb448163913b510033a0a9d64ee31dcf73149202e713232
diff-files: 1
diff-additions: 444
diff-deletions: 893
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Re-stamp secretaire c.141 -- tiers au titulaire (Tell c.111 strict). PR gate SUCCESS post-DWELL (rerun 36120866329 @13:27:15Z). B.0 rc=0 OK. Lane secretaire myia-po-2026:CoursIA-3. Fix emetteur c.141 : stderr separe, ligne 1 gardee.

@myia-ai-01
myia-ai-01 merged commit bbac06c into main Sep 25, 2026
31 of 33 checks passed
myia-ai-01 pushed a commit that referenced this pull request Sep 26, 2026
…t ne perime plus un dossier (#17880)

#16931 avait neutralise la REECRITURE en place des commentaires marker-gardes
(hash sur le marqueur seul) mais pas leur premiere pose posterieure au
dossier : l'arrivee d'une PR voisine declenchant l'organe PR-PATH-COLLISION
sur les README partages perimait le dossier sans que le fond bouge (mesure
2026-09-25 : dossiers de #17781/#17797 perimes a 13:02Z par la pose du bot
seule).

_is_bot_advisory_pose : predicat conjonctif auteur (github-actions[bot],
suffixe reserve aux comptes d'app) ET marqueur _BOT_MARKER_GUARDS en tete de
corps, neutralise la row dans le decompte foreign d'evaluate_with_dossier.
L'auteur compte, pas le texte seul : un tiers qui recopie le marqueur perime
toujours le dossier. La liste reste dans le code, jamais dans le dossier.

Mesure du pool (25/09, 27 PRs ouvertes a dossier) : 10 NO-DOSSIER
"discussion changed" en semantique pre-fix ; 2 dus au SEUL motif (#17781,
#17797, verdict redevenu lisible BLOCKED) ; 1 (#17787) ou le motif s'ajoutait
a une peremption reelle (head/diff stale) ; 7 ou "discussion changed"
n'etait jamais la cause unique.

Tests : 3 nouvelles (pose bot ne perime pas / commentaire humain perime /
marqueur recopie par un tiers perime) -- 94/94, voisines 172/172.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Oct 3, 2026
…orme #3973) (#18997)

* docs(readme,#3973): Tweety README en parcours a plusieurs vitesses (forme #3973)

Grain: MED/docs -- lane myia-ai-01:CoursIA-2 -- prev: MED/guard #18991

## Resume

Le README de la serie Tweety presentait chaque notebook (12 Python + 18 C# + 7 Lean companion = 38 racine + 1 probe) et chacune de ses accretions comme une etape d'une lecture sequentielle unique, dans une seule table Structure de 47 lignes. Un lecteur qui voulait le parcours leger devait trier lui-meme des lignes ou les lettres, les jumeaux C#, les laboratoires Lean et les extensions se melaient aux numeros nus. Cette PR le reorganise selon la forme #3973 et l'arbitrage du mainteneur du 25/09, en coherence avec le hub #17800 (SymbolicAI famille a plusieurs vitesses) et la feuille patron #17797 (GameTheory README en parcours a plusieurs vitesses).

## Nouvelle structure

| Section | Public | Contenu |
|---|---|---|
| Ouverture, **Comment lire ce README** | Decouverte | Les trois vitesses, avec renvoi a la section racine (#17781), et la **grammaire des noms de fichiers** (`<NN>[<lettre>]-<Titre>-<Noyau?>`) |
| Pourquoi, Presentation | Decouverte | L'existant, inchange |
| **Parcours principal** | Decouverte, Licence | Numeros nus 01 a 12. Une ligne par palier. Les lettres apparaissent uniquement dans les liens courts des approfondissements. |
| **Approfondissements** | Licence, Recherche | Une sous-section par palier (02, 03, 04, 05, 06, 07, 08/09, 10/11). Le tableau par lettre dit ce qu'elle ajoute. |
| Sous-serie Argumentation -- Argumentum | Recherche | Pointeur vers Argument_Analysis et le sous-module ; pas d'inventaire redondant |
| Le reste (En quoi chaque notebook est unique, Pont symbolique/statistique, Echelle causale, Concepts cles, Domaines, Quick Start, Pre-requis, Architecture, Outils externes, Limitations, Modules, Validation, FAQ, Versions, Ressources, Ponts, Conclusion, Statistiques catalogue, Ecosysteme MCP) | mixte | Conserve tel quel |

Aucun total ni compte n'est ecrit en prose pour les notebooks : le compte et la maturite vivent dans le bloc CATALOG-STATUS (lignes 1-10 inchangees, verifie par diff vide).

## Corrections de fond au passage

- Renommage des liens dans la table : `Tweety-1-Setup` -> `Tweety-01-Setup-Python` (et idem pour 2-9, 10, 11). Les fichiers s'appellent deja `-Python` depuis #16231 ; la table disait l'ancien nommage.
- Palier 7 : les entites 7a et 7b etaient dans la meme ligne de phase ("Phase 4 : Frameworks avances et probabilistes (Notebooks 7a-7b, ~1h)"), sans mention que 7b est un approfondissement. Le parcours principal expose 7 (07a) ; 7b rejoint les approfondissements.
- Liens `Tweety-5-Abstract-Argumentation-Csharp.ipynb` -> cible reelle `Tweety-5-Abstract-Argumentation-CSharp.ipynb` (C# majuscule) sur disque ; idem corrections silencieuses sur 02-Basic-Logics-CSharp, 06-04-Structured-Argumentation-CSharp, 07a, 07b, 08-Agent-Dialogues-CSharp, 09-Preferences-CSharp, 10-MLN-Csharp, 11-Causal-CSharp. Les chemins de la table d'origine etaient coherents avec la cible reelleee (casse-preservant), j'ai preserve cette convention.
- Mention du do-calculus etait dans la presentation sans renvoyer aux notebooks partenaires (Infer.NET, PyMC, ICT). Les liens inter-series ont ete preserves.

## Dependances

- **Merger apres #17781** : le renvoi `../../README.md#choisir-sa-vitesse-de-lecture` pointe l'ancre introduite par #17781. Si cette ancre n'existe pas encore au moment de la revue, le lien GitHub sera mort mais le fichier reste local-coherent.
- Le hub SymbolicAI (#17800) liste deja le parcours leger de Tweety (`01 a 12`) ; cette PR est alignee avec cette description. Aucune modification du hub n'est requise.

## Validation

- Liens relatifs : tous resolus. Chaque notebook racine (12 Python) et chaque lettre (12+ lettres appraissant dans les tables d'approfondissement) est lie au moins une fois ; aucune cible absente.
- `python scripts/check_docs_links.py --check --base origin/main` : `OK: No new broken links. (0 pre-existing, 8004 total)`.
- `python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main --strict` : `[OK] aucun compteur quantitatif en prose`, rc=0.
- `python scripts/notebook_tools/check_link_label_agreement.py --json` : 0 finding sur Tweety/README.md (les findings sur les notebooks eux-memes -- notamment `Tweety-3c-ML` qui pointe `Tweety-3-ModalLogic-Csharp.ipynb` -- sont pre-existants et sortent du scope de cette PR, le perimetre etant le seul fichier README).
- Lignes 1-10 (titre, navigation, CATALOG-STATUS) identiques a origin/main (diff vide apres conversion CRLF->LF).
- Pas de notebook modifie : aucune re-execution requise.

See #3973, #17781, #17797, #17800, #16231

🤖 Generated with [Claude Code](https://claude.com/claude-code)

* fix(docs,#18997): aligner 4 chemins CSharp casses sur la convention disque (Csharp)

Le check CI docs-link (Linux, case-sensitive) a detecte 4 liens casses sur le
README Tweety : les paths utilisaient -CSharp.ipynb (majuscule) pour les paliers
3-ML, 4-BR, 5 et 11 alors que les fichiers sur disque sont en -Csharp.ipynb
(minuscule). La convention du dossier est mixte selon le palier (CSharp majuscule
pour 02, 02b, 02c, 06, 07a, 07b, 08, 09 ; Csharp minuscule pour 3, 4, 5, 10, 11),
reflet de la normalisation #16231 en cours. Cette PR aligne les 4 chemins casses
sur la convention reelle du disque sans toucher au label (qui etait deja en
Csharp minuscule).

Cause : la table d'origine avait des liens avec label et path inconsistants. Mon
remaniement a preserve le label et unifie une partie des paths, mais 4 chemins
sont restes en CSharp majuscule alors que le filesystem canonique (Linux CI)
porte Csharp minuscule pour ces paliers-la. Verifie localement, le
check_docs_links local (Windows NTFS case-insensitive) rend OK ; seule la CI
Linux case-sensitive a signale les 4 casses.

Verification : check_docs_links.py 8004 liens, 0 casses apres PATCH.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants