Skip to content

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

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/3973-tweety-readme-speeds
Oct 3, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/3973-tweety-readme-speeds

Conversation

@jsboige

@jsboige jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner

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 Remise d'aplomb de la nomenclature des notebooks — suffixe noyau, sans-numero, profondeur d'accretion #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 reelle (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

Validation

  • Liens relatifs : tous resolus. Chaque notebook racine (12 Python) et chaque lettre (12+ lettres apparaissant 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

…orme #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)
@github-actions github-actions Bot added paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) labels Oct 3, 2026
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-ai-01:CoursIA-2 a deja consomme son budget LIGHT du jour (axe genre G-VAR-2/3 (light-genre, quel que soit le tier declare) : #18758 (MED/docs, merge a 2026-10-03T10:09:03Z), #18896 (MED/guard, merge a 2026-10-03T10:16:18Z)).
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-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory) 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 Oct 3, 2026
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

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

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=0 genre=2 cap=1)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=0 genre=2 cap=1)
  • 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.

…isque (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.
@myia-ai-01

Copy link
Copy Markdown
Collaborator

[INFO] fix #18997 — 4 chemins CSharp majuscule alignes sur convention disque (Csharp minuscule)

Commit : 496b9ba (pousse sur feature/3973-tweety-readme-speeds, base a42af4f).

Le check CI docs-link (Linux case-sensitive) a detecte 4 chemins casses (run 37127636088, job 111216100761, [check-links] 111216636565 -- echec a 13:55:05Z) :

  • l.213 : Tweety-3-ModalLogic-CSharp.ipynb
  • l.220 : Tweety-4-Belief-Revision-CSharp.ipynb
  • l.228 : Tweety-5-Abstract-Argumentation-CSharp.ipynb
  • l.260 : Tweety-11-Causal-CSharp.ipynb

Les labels etaient deja en -Csharp minuscule ; seuls les paths du lien Markdown utilisaient -CSharp majuscule. Sur disque (Linux), les fichiers sont en -Csharp minuscule. Sur Windows (NTFS case-insensitive), le check_docs_links local rend OK ; la CI Linux est la source de verite.

Cause : la table d'origine avait des liens avec label/path inconsistants. Mon remaniement a preserve le label et unifie partiellement les paths ; 4 paths sont restes en majuscule. Patch aligne sur la convention reelle du dossier (CSharp majuscule pour paliers 02/02b/02c/06/07a/07b/08/09, Csharp minuscule pour 3/4/5/10/11), reflet de la normalisation #16231 en cours.

Diff : +4/-4 sur 4 lignes uniquement (les paths des liens). Le reste de la PR inchange.

Verifications :

  • check_docs_links local : OK 0 casses (casse-insensible, mais le patch aligne sur la convention canonique)
  • Aucune autre modification du fichier

Tell c.1413 : body-edit seul leve le perimeter guard sans re-arm DWELL. J'utilise le commentaire de PR (pas body-edit) pour rester trace du fix dans le fil de revue. Pas de re-arm DWELL attendu (commit muet la main sur feature/3973-tweety-readme-speeds, head 496b56 pousse a 14:24Z ; l'aggregat PR gate va re-fold et lever le DWELL + le check-links sur la tete 496b56).

Refs #18997, #3973, #16231

@jsboige

jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18997
head: 496b9ba
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: fe4c56ea3d98bad6a8012a4ebb9a7091e5741ebbb97f4e5cd06a4d8e9cb22bbf
diff-files: 1
diff-additions: 125
diff-deletions: 46
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

note: Dossier c408 sur PR #18997 (docs(readme,#3973): Tweety README en parcours a plusieurs vitesses). Tierce attestation depuis myia-po-2026:CoursIA-3 (PR porteuse myia-ai-01:CoursIA-2, distincte). LIGHT/docs (re-qualifie, tag implicite), 1 fichier MyIA.AI.Notebooks/SymbolicAI/Tweety/README.md, +125/-46 = +79 net (enrichissement parcours multi-vitesses conforme EPIC #3973). PR gate SUCCESS strict (commits/496b9ba71a/check-runs dedupe latest, conclusion=success @2026-10-03T17:55:53Z). mergeable: MERGEABLE / clean, base=main. B.0 OK (rc=0, 0 nit non leve ; 3 commentaires non evalues dont 1 [APRES LE DERNIER COMMIT] = absentes par re-stamp). 0 review formelle. scope: pass (1 .md sous SymbolicAI/Tweety/, PAS sous .claude/, .github/, ni CLAUDE.md). domain: pass (substance = enrichissement README Tweety parcours multi-vitesses, conformite EPIC #3973). Cible READY : substance prete, B.0 clear, gate SUCCESS strict. LIGHT merge_ready v2 ACCEPTE auto-merge. Eligible merge direct par ai-01 sur gate rc=0.

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18997 (docs(readme,#3973): Tweety README en parcours a plusieurs vitesses (forme #3973)) 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. 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) variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants