From 8e7d5d86c38fe4dc5806d031624982b8e95cb118 Mon Sep 17 00:00:00 2001 From: jsboige Date: Sun, 25 Oct 2026 13:56:07 +0100 Subject: [PATCH 1/3] Fix(docs,#19283): tranche 3 -- racine reduite a ses quatre roles d'entree, section ICT dupliquee retiree MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La section « Racine (docs/) » melangeait deux registres : ce qui vit a la racine et l'historique de ce qui en est sorti (doublon supprime, fichiers migres). Un lecteur neuf ne pouvait pas savoir ce qu'il regardait. La section est scindee : - une regle opposable -- la racine ne porte que des fichiers d'entree, quatre roles admis, un seul fichier par role (index / portail Quarto / parcours / tutoriel du contributeur debutant), tout autre document rejoint un foyer ; - le tableau des quatre fichiers reellement presents, avec leur role nomme ; - un historique « Sorties de la racine » qui conserve chaque destination et chaque provenance (claim-implicit-check -> reference/, data-policy -> cadrage/, qc-research-issue-template supprime, suivis/iit-ict-transition -> reference/). La ligne `cadrage/` disparait du tableau racine (un repertoire n'est pas un fichier d'entree) ; son contenu — liste des communautes interlocutrices, regle de veille, provenance des migrations #19022 -- est deja porte par `docs/cadrage/README.md` et par la section « Cadrage epistemique », verifie. `## ICT (docs/ict/)` figurait deux fois dans le fichier (l. 188 et l. 321). Le vestige de 4 lignes est retire ; les references d'issue qu'il portait seul (#7399, #7734, #7396, #7735) sont repliees en une ligne de la section vivante, donc preservees. Organes : check_docs_index.py (268 docs atteignables, rc=0), check_docs_links.py (909 fichiers, 9191 liens, 0 casse, rc=0), check_docs_transients_lane.py (CONFORME, rc=0). See #19283 Co-Authored-By: Claude-Code --- docs/README.md | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/docs/README.md b/docs/README.md index 8d1eb3ef209..535699d6563 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,17 +6,27 @@ Ce répertoire centralise la documentation projet déportée du CLAUDE.md. Chaqu ## Racine (docs/) -Fichiers présents directement à la racine du répertoire `docs/`. Triage initial #7422 (c.805, po-2024 — audité par lecture disque + cross-check liens). +**Règle de la racine** : la racine ne porte que des **fichiers d'entrée** — ceux qu'un lecteur qui découvre le dépôt ouvre *avant* de savoir où chercher. Quatre rôles y sont admis, un seul par rôle : l'**index** de la documentation, le **portail** Quarto, le **parcours** de maturité, le **tutoriel** du contributeur débutant. Tout autre document rejoint son foyer thématique — `transients/` s'il est transient, `archive/` s'il est inactif ; le critère de classement est [Pérenne vs transient](#pérenne-vs-transient--où-chercher-quoi). Un fichier racine qui ne tient aucun de ces quatre rôles est un défaut à traiter, pas une exception. L'historique de ce qui est sorti de la racine est tenu plus bas, [Sorties de la racine](#sorties-de-la-racine). -| Fichier | Verdict | Raison | -|---------|---------|--------| -| [README.md](README.md) (ce fichier) | **KEEP** | Index vivant — tous les `*.md` live sous `docs/` (hors `archive/`, figée à dessein) sont **atteignables** depuis cet index, directement ou via un index de sous-répertoire. L'atteignabilité est la bonne métrique : un doc cité par `lean/README.md` ou `ict/README.md` est dans l'index, pas absent. L'invariant n'est plus un compte écrit ici — ce chiffre avait dérivé de plus de soixante fichiers — mais la sortie de `python scripts/check_docs_index.py`, qui rend `exit 1` dès qu'un doc vivant devient inatteignable | -| [index.qmd](index.qmd) | **KEEP + repair** | Portail Quarto miroir du `index.md` racine — 3 liens cassés détectés (lean/README.md → lean/coordinator-workflow.md ; ../parcours.qmd → ../../parcours.qmd ; ../COURSE_CATALOG.generated.md → ../../COURSE_CATALOG.generated.md) — corrigés c.805 | -| [cadrage/](cadrage/README.md) | **index dédié** | Documents épistémiques de cadrage — **un document par communauté interlocutrice** (mathématique, autorité morale, sûreté IA, fondateurs), la veille y figure : ces documents sont indexés par [cadrage/README.md](cadrage/README.md), renvoi unique (#17525). Provenance : grothendieckian-lens et leiden-declaration-position migrés par #19022 (tranche 2), magnifica-humanitas-dialogue par #19283 (tranche 1 résiduelle) | -| [PARCOURS.md](PARCOURS.md) | **KEEP** | Schéma maturité 3 axes (éditorial / reproductibilité / revue scientifique) — décompose le `maturity` monolithique du catalogue (5 valeurs mélangées) en 3 préoccupations orthogonales auditables indépendamment. ACCEPTÉ 2026-07-23, pilote c.763 critères 1-3. Linked #8051. 110 lignes. Triage #7422 (c.911, po-2023) | -| qc-research-issue-template.md | ~~**doublon** supprimé~~ (#19283) | Ébauche racinaire dupliquée par [qc/qc-research-issue-template.md](qc/qc-research-issue-template.md). La copie racine n'était référencée par aucun script ni lien entrant — supprimée pour réduire la surface de désynchronisation (la version `qc/` est l'unique source). EPIC #11698 inchangé | -| [data-policy.md](cadrage/data-policy.md) | **nouveau** (2026-09-02) | Politique de données (statut cadrage, pas doctrine exécutable) : 4 catégories (curée / brute téléchargeable + fetch / checkpoint documenté / trace régénérable) + arbitrage par cas. Migré #19283 vers `cadrage/` — le cadrage agrégateur n'indexe pas les politiques techniques ; le sommaire `cadrage/README.md` ne le porte pas non plus (communauté interlocutrice ≠ règle de dépôt). #13742 | -| [TUTORIEL-GITHUB-TP.md](TUTORIEL-GITHUB-TP.md) | **nouveau** (2026-10-14) | Tutoriel pas à pas « clic par clic » pour soumettre une correction d'exercice par PR sans connaître GitHub (compte, fork, branche, notebook via Jupyter/Colab, dépôt par Upload files, PR, review) — version débutante du mode 2 de [CONTRIBUTING.md](../CONTRIBUTING.md) — parcours de base 100 % navigateur, avec variante locale VS Code (extensions Jupyter / Polyglot Notebooks) | +| Fichier | Rôle d'entrée | Ce qu'il apporte | +|---------|---------------|------------------| +| [README.md](README.md) (ce fichier) | index | Index vivant — tous les `*.md` live sous `docs/` (hors `archive/`, figée à dessein) sont **atteignables** depuis cet index, directement ou via un index de sous-répertoire. L'atteignabilité est la bonne métrique : un doc cité par `lean/README.md` ou `ict/README.md` est dans l'index, pas absent. L'invariant n'est plus un compte écrit ici — ce chiffre avait dérivé de plus de soixante fichiers — mais la sortie de `python scripts/check_docs_index.py`, qui rend `exit 1` dès qu'un doc vivant devient inatteignable | +| [index.qmd](index.qmd) | portail Quarto | Portail miroir du `index.md` racine — 3 liens cassés détectés (lean/README.md → lean/coordinator-workflow.md ; ../parcours.qmd → ../../parcours.qmd ; ../COURSE_CATALOG.generated.md → ../../COURSE_CATALOG.generated.md) — corrigés c.805 | +| [PARCOURS.md](PARCOURS.md) | parcours | Schéma maturité 3 axes (éditorial / reproductibilité / revue scientifique) — décompose le `maturity` monolithique du catalogue (5 valeurs mélangées) en 3 préoccupations orthogonales auditables indépendamment. ACCEPTÉ 2026-07-23, pilote c.763 critères 1-3. Linked #8051. 110 lignes. Triage #7422 (c.911, po-2023) | +| [TUTORIEL-GITHUB-TP.md](TUTORIEL-GITHUB-TP.md) | tutoriel d'entrée | Tutoriel pas à pas « clic par clic » pour soumettre une correction d'exercice par PR sans connaître GitHub (compte, fork, branche, notebook via Jupyter/Colab, dépôt par Upload files, PR, review) — version débutante du mode 2 de [CONTRIBUTING.md](../CONTRIBUTING.md) ; parcours de base 100 % navigateur, avec variante locale VS Code (extensions Jupyter / Polyglot Notebooks). Ajouté 2026-10-14 | + +### Sorties de la racine + +La racine portait encore six fichiers hétérogènes en plus de cet index à la mesure d'ouverture de #19283 (2026-10-05) ; le triage initial #7422 (c.805, po-2024 — audité par lecture disque + cross-check liens) en avait décrit l'état antérieur. Ce qui en est sorti, et où : + +| Ancien fichier racine | Destination | Geste | +|---|---|---| +| `claim-implicit-check.md` | [reference/claim-implicit-check.md](reference/claim-implicit-check.md) | relocalisé, références mises à jour — tranche 1 de #19283 ([#19318](https://github.com/jsboige/CoursIA/pull/19318)) | +| `qc-research-issue-template.md` | — (supprimé) | doublon de [qc/qc-research-issue-template.md](qc/qc-research-issue-template.md). La copie racine n'était référencée par aucun script ni lien entrant — supprimée pour réduire la surface de désynchronisation ; la version `qc/` est l'unique source. EPIC #11698 inchangé (#19283) | +| `data-policy.md` (ajouté 2026-09-02) | [cadrage/data-policy.md](cadrage/data-policy.md) | migré #19283 — le cadrage agrégateur n'indexe pas les politiques techniques, et son sommaire ne le porte pas non plus (communauté interlocutrice ≠ règle de dépôt). Reste un statut *cadrage*, pas une doctrine exécutable : 4 catégories (curée / brute téléchargeable + fetch / checkpoint documenté / trace régénérable) + arbitrage par cas. #13742 | +| `suivis/iit-ict-transition.md` | [reference/iit-ict-transition.md](reference/iit-ict-transition.md) | reclassé pérenne : le suivi est tenu à jour au fil des livraisons — tranche 2 de #19283 ([#21564](https://github.com/jsboige/CoursIA/pull/21564)) | + +Trois autres documents racine ont rejoint `cadrage/` par les tranches de #17525 — `grothendieckian-lens.md` et `leiden-declaration-position.md` (#19022), puis `magnifica-humanitas-dialogue.md` (#19283) ; provenance et règle d'agrégation : [Cadrage épistémique](#cadrage-épistémique-docscadrage). ## Référence (docs/reference/) @@ -191,6 +201,8 @@ Index de découvrabilité pour la série Probabilités (`MyIA.AI.Notebooks/Proba Documentation de cadrage et de synthèse de la série ICT (strate 7) — tous **grade C-documentaire** (positionnement/consolidation/cartographie, aucun résultat démontré). Index thématique et parcours suggéré dans [`ict/README.md`](ict/README.md). Epic umbrella [#4588](https://github.com/jsboige/CoursIA/issues/4588), méta-proxy [#7395](https://github.com/jsboige/CoursIA/issues/7395). +Suivi d'origine, par livrable : grille des trois régimes de lecture #7399 · matrice canonique de dissociations #7734 · pivot N2 « trajectoires de représentations » #7396 · généalogie backward de `p̂` #7735. Le suivi complet de l'arc IIT → ICT est pérenne dans [reference/iit-ict-transition.md](reference/iit-ict-transition.md). + | Fichier | Rôle | |---------|------| | [ict/README.md](ict/README.md) | **Index** — cartographie des 10 docs par mode (vertical / horizontal / méta) + parcours suggéré | @@ -321,17 +333,6 @@ Exception assumée au préambule ci-dessus, et la distinction vaut d'être nomm | [audit/workflow-path-filters/latest.md](audit/workflow-path-filters/latest.md) | **Généré** — dernier état de couverture `pull_request.paths` / `paths-ignore` des workflows, horodaté en tête. Ne pas éditer à la main : la prochaine exécution l'écrase | | [transients/2026-08-14-audit-workflow-path-filters.md](transients/2026-08-14-audit-workflow-path-filters.md) | Compagnon rédigé du précédent (#10600). Consigne surtout que la prémisse fondatrice — « 74 workflows se déclenchent sur chaque PR, 0 filtre de chemin » — s'est révélée **partiellement fausse** à la mesure (62/72 déjà filtrés, 10 non) : le document garde la réfutation plutôt que la prémisse | -## ICT (docs/ict/) - -Synthèses transversales de la série IIT → ICT (Epic #4588, grade C-documentaire). - -| Fichier | Description | -|---------|-------------| -| [ict/synthese-invariants-dissociations-obstructions.md](ict/synthese-invariants-dissociations-obstructions.md) | Grille 3 régimes de lecture d'une trajectoire (#7399, #4588) | -| [ict/dissociations-matrix.md](ict/dissociations-matrix.md) | Matrice canonique `notebook × claim × proxy × contrôle × seeds × verdict × portée` (grade C-documentaire, #7734, #4588) | -| [ict/cadrage-trajectoires-representations.md](ict/cadrage-trajectoires-representations.md) | Cadrage « trajectoires de représentations » — pivot états → représentations (échelle LLM, strate 5). Grade C-documentaire, livrable N2 de #7396, See #4588. 169 lignes | -| [ict/genealogy-representation-interne.md](ict/genealogy-representation-interne.md) | 4ᵉ fil de lecture ICT — généalogie backward de `p̂` (ICT-10 → ICT-17), 6 maillons diachroniques. Grade C-documentaire, #7735 + Part of #7396, See #4588. 96 lignes | - ## Ledgers cumulatifs (docs/ledgers/) Tables d'audit cumulatives par Epic (mandat user, format longue durée). @@ -491,6 +492,7 @@ docs/ transients/ Rapports transients datés (en-tête gelé) — convention + organe (#14623) cadrage/ Documents épistémiques de cadrage — index par communauté interlocutrice (#17525) PARCOURS.md Schéma maturité 3 axes (éditorial / reproductibilité / revue) — #8051 + TUTORIEL-GITHUB-TP.md Tutoriel débutant : soumettre une correction d'exercice par PR archive/ Documents inactifs (ex-_archives) ``` From c2b279b4ada8be6fe792354f586143cee06bf3be Mon Sep 17 00:00:00 2001 From: jsboige Date: Mon, 26 Oct 2026 11:23:36 +0100 Subject: [PATCH 2/3] Fix(docs,#9377): retirer le compte de lignes de la ligne PARCOURS.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le garde `prose-counts` refuse un compte figé en prose. La table de `docs/README.md` annonçait « 110 lignes » pour PARCOURS.md ; le compte dérive à chaque édition du fichier et n'apprend rien au lecteur. La description garde ce qui situe le document (schéma de maturité 3 axes, statut ACCEPTÉ, issue liée), la mesure part. See #19283 Co-Authored-By: Claude Sonnet 5.5 --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 535699d6563..6aeb9bee3a7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,7 +12,7 @@ Ce répertoire centralise la documentation projet déportée du CLAUDE.md. Chaqu |---------|---------------|------------------| | [README.md](README.md) (ce fichier) | index | Index vivant — tous les `*.md` live sous `docs/` (hors `archive/`, figée à dessein) sont **atteignables** depuis cet index, directement ou via un index de sous-répertoire. L'atteignabilité est la bonne métrique : un doc cité par `lean/README.md` ou `ict/README.md` est dans l'index, pas absent. L'invariant n'est plus un compte écrit ici — ce chiffre avait dérivé de plus de soixante fichiers — mais la sortie de `python scripts/check_docs_index.py`, qui rend `exit 1` dès qu'un doc vivant devient inatteignable | | [index.qmd](index.qmd) | portail Quarto | Portail miroir du `index.md` racine — 3 liens cassés détectés (lean/README.md → lean/coordinator-workflow.md ; ../parcours.qmd → ../../parcours.qmd ; ../COURSE_CATALOG.generated.md → ../../COURSE_CATALOG.generated.md) — corrigés c.805 | -| [PARCOURS.md](PARCOURS.md) | parcours | Schéma maturité 3 axes (éditorial / reproductibilité / revue scientifique) — décompose le `maturity` monolithique du catalogue (5 valeurs mélangées) en 3 préoccupations orthogonales auditables indépendamment. ACCEPTÉ 2026-07-23, pilote c.763 critères 1-3. Linked #8051. 110 lignes. Triage #7422 (c.911, po-2023) | +| [PARCOURS.md](PARCOURS.md) | parcours | Schéma maturité 3 axes (éditorial / reproductibilité / revue scientifique) — décompose le `maturity` monolithique du catalogue (5 valeurs mélangées) en 3 préoccupations orthogonales auditables indépendamment. ACCEPTÉ 2026-07-23, pilote c.763 critères 1-3. Linked #8051. Triage #7422 (c.911, po-2023) | | [TUTORIEL-GITHUB-TP.md](TUTORIEL-GITHUB-TP.md) | tutoriel d'entrée | Tutoriel pas à pas « clic par clic » pour soumettre une correction d'exercice par PR sans connaître GitHub (compte, fork, branche, notebook via Jupyter/Colab, dépôt par Upload files, PR, review) — version débutante du mode 2 de [CONTRIBUTING.md](../CONTRIBUTING.md) ; parcours de base 100 % navigateur, avec variante locale VS Code (extensions Jupyter / Polyglot Notebooks). Ajouté 2026-10-14 | ### Sorties de la racine From c56aea28a7f8ade45d1b961c85cb5e73bad5b68c Mon Sep 17 00:00:00 2001 From: jsboige Date: Tue, 27 Oct 2026 06:51:05 +0100 Subject: [PATCH 3/3] Fix(docs,#19283): la regle de la racine n'oriente plus vers archive/ -- renvoi au contrat de sortie d'archive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le prefiltre du secretariat sur #22505 (c.6434792283) releve que la ligne 9 ajoutait une orientation « archive/ s'il est inactif », contredisant les lignes 5, 437 et 445 (stock a resorber, jamais une destination). La phrase de classement renvoie desormais explicitement au contrat de sortie d'archive de transients/README.md, sans deplacer ni supprimer aucun document. Co-Authored-By: Claude Sonnet 5.5 --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 6aeb9bee3a7..3bf89f37e17 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,7 @@ Ce répertoire centralise la documentation projet déportée du CLAUDE.md. Chaqu ## Racine (docs/) -**Règle de la racine** : la racine ne porte que des **fichiers d'entrée** — ceux qu'un lecteur qui découvre le dépôt ouvre *avant* de savoir où chercher. Quatre rôles y sont admis, un seul par rôle : l'**index** de la documentation, le **portail** Quarto, le **parcours** de maturité, le **tutoriel** du contributeur débutant. Tout autre document rejoint son foyer thématique — `transients/` s'il est transient, `archive/` s'il est inactif ; le critère de classement est [Pérenne vs transient](#pérenne-vs-transient--où-chercher-quoi). Un fichier racine qui ne tient aucun de ces quatre rôles est un défaut à traiter, pas une exception. L'historique de ce qui est sorti de la racine est tenu plus bas, [Sorties de la racine](#sorties-de-la-racine). +**Règle de la racine** : la racine ne porte que des **fichiers d'entrée** — ceux qu'un lecteur qui découvre le dépôt ouvre *avant* de savoir où chercher. Quatre rôles y sont admis, un seul par rôle : l'**index** de la documentation, le **portail** Quarto, le **parcours** de maturité, le **tutoriel** du contributeur débutant. Tout autre document rejoint son foyer thématique — `transients/` s'il est transient ; le critère de classement est [Pérenne vs transient](#pérenne-vs-transient--où-chercher-quoi), et `archive/` reste ce que disent les lignes qui le décrivent plus bas : un stock à résorber, jamais une destination — ses sorties obéissent au contrat de [transients/README.md §Sortie d'archive](transients/README.md#sortie-darchive-docsarchive). Un fichier racine qui ne tient aucun de ces quatre rôles est un défaut à traiter, pas une exception. L'historique de ce qui est sorti de la racine est tenu plus bas, [Sorties de la racine](#sorties-de-la-racine). | Fichier | Rôle d'entrée | Ce qu'il apporte | |---------|---------------|------------------|