Skip to content

docs(index,#13748): rendre les 146 docs live atteignables depuis docs/README.md - #14377

Merged
jsboige merged 2 commits into
mainfrom
docs/13748-index-completion
Sep 2, 2026
Merged

jsboige merged 2 commits into
mainfrom
docs/13748-index-completion

Conversation

@jsboige

@jsboige jsboige commented Sep 2, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/docs — lane myia-po-2026:CoursIA-2 — prev: MED/genai #14364

Summary

docs/README.md est l'index vivant de docs/. 42 documents live n'y étaient atteignables par aucun chemin. Cette PR les y place — 146 live, 146 atteignables, 0 restant — et remplace la ligne d'auto-description périmée de l'index (« 58 liens internes vérifiés c.805 ») par la mesure du jour.

Chaque entrée est rédigée depuis le H1 et la première ligne de prose du fichier visé, pas depuis son nom : une ligne d'index qui répète le nom de fichier n'apprend rien à qui la lit.

Ce que la mesure dit, et en quoi elle diffère du body de #13748

Le body de #13748 se déclare lui-même RAPPORTE, produit sur un clone shallow (« dates git inobservables »), et date du 2026-08-30. Mesuré firsthand sur main courant :

Notion Mesure
Live sous docs/ hors archive/ 146 (le body dit 135)
Cités directement par docs/README.md 90 (reproduit exactement leur 90)
Atteignables en transitif depuis l'index 104 avant cette PR → 146 après
Cités par ≥1 fichier du dépôt 111
Orphelins réels (aucun entrant nulle part) 35
Non atteignables depuis l'index 42 → 0

Leur « 90 » est reproduit au fichier près : la méthode était donc bien « référencé directement par docs/README.md ». L'écart porte sur les deux autres termes. « Manquant de l'index » et « orphelin » ne sont pas la même chose, et l'acceptance ne se mesure pas en citations directes : un index de sous-répertoire (lean/README.md, ict/README.md, archive/INDEX.md) est une structure légitime, donc un document à deux sauts est dans l'index. C'est l'atteignabilité transitive qui est la bonne métrique — d'où 42, et non 45.

Priorité 1 de #13748 : réfutée à la mesure

Le body annonce « 4 *-detail.md explicitement cités par les rules .claude/rules/*.md (liens morts dans le harnais) ». Un lien mort y serait un défaut réel — ces fichiers sont auto-chargés à chaque session. Mesuré :

Sources examinees      : 30 (29 rules + CLAUDE.md)
Liens relatifs mesures : 218
Cibles inexistantes    : 0

Aucun lien mort. La case d'acceptance « Les 4 *-detail.md cités par les rules existent » est déjà satisfaite sur main courant. Le commentaire de preuve est posté sur #13748 pour qu'un worker suivant ne parte pas chasser un défaut qui n'existe pas.

Angle mort assumé, écrit plutôt que compté

docs/harness/global-rules-detail.md ressort « orphelin » de tout parcours limité à ce dépôt — et ne l'est pas : il est cité depuis le ~/.claude/CLAUDE.md global (hors repo). Un lien entrant extérieur est invisible à un walk repo-scopé. C'est écrit dans l'entrée d'index du fichier plutôt que traité comme un défaut.

Structure des ajouts

  • 6 sections existantes enrichies (Racine, Règles détaillées, Outils & méthodologie, GenAI, QuantConnect, Lean, Ledgers).
  • 2 sous-blocs ouverts pour ne pas falsifier le préambule de leur section :
    • Pré-enregistrements, distillations et prototypes (docs/ict/, 7 entrées d'index) — le préambule ICT dit « tous grade C-documentaire » ; ces 7 sont grade T-pré-enregistrement (protocole scellé avant mesure, ordre git vérifiable) ou grade C-prototype. Les appendre à la table existante aurait rendu son préambule faux.
    • Audit path-filters des workflows (docs/audit/workflow-path-filters/, 2 fichiers) — le préambule Audit dit « les comptes-rendus et findings ne vivent pas ici » ; ces 2 sont un artefact régénéré par la CI (.github/workflows/workflow-path-filter-audit.yml réécrit latest.md à chaque passage). Le sous-bloc s'ouvre en nommant l'exception au lieu de la laisser passer pour une contradiction.
  • 3 sections nouvelles : ## CI & workflows (docs/ci/), ## Harnais (docs/harness/), ## ML (docs/ml/).
  • Carte rapide : 5 répertoires ajoutés à l'arbre, 4 annotés.

Format de table respecté par section : | Fichier | Description | partout, sauf ## Racine et ## Métadonnées notebooks (| Fichier | Verdict | Raison |) et ICT (| Fichier | Rôle |).

Signalé, délibérément NON corrigé ici (une PR = un sujet)

  1. Titre ## ICT (docs/ict/) en double dans l'index, avec deux tables dont les entrées se recouvrent sur quatre lignes (synthese-invariants-dissociations-obstructions, dissociations-matrix, cadrage-trajectoires-representations, genealogy-representation-interne) — les descriptions de la seconde sont plus longues. Fusionner demande un arbitrage de contenu (laquelle garder) qui perdrait de la prose curée : c'est une restructuration, pas un ajout.
  2. Chemin machine dans un artefact généré : docs/audit/workflow-path-filters/latest.md porte **Workflows dir** : C:\dev\CoursIA-12773-tranche2b\.github\workflows. Le fichier étant réécrit par la CI, le correctif est dans scripts/notebook_tools/audit_workflow_path_filters.py (imprimer un chemin relatif au repo), pas dans le .md.
  3. Terme banni (mandat user 2026-08-31) présent en L17 de l'index, dans une ligne écrite par une autre lane (reference/data-policy.md), et dans les lèdes des trois docs/qc/*-memory.md. Mes propres lignes n'en portent aucune occurrence (vérifié : git diff -U0 | grep -c '^+.*narrow' → 0). Retirer celles d'autrui est un grain distinct.

Validation

$ python <scratchpad>/c886_manquants.py
live (hors archive)         : 146
atteignables depuis README  : 146
NON atteignables            : 0

$ python <scratchpad>/c886_liens_rules.py
Sources examinees      : 30 (29 rules + CLAUDE.md)
Liens relatifs mesures : 218
Cibles inexistantes    : 0

$ (liens de docs/README.md lui-meme)
161 liens relatifs, 0 cible inexistante

$ git diff --stat origin/main...HEAD
 docs/README.md | 84 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 81 insertions(+), 3 deletions(-)

$ git diff origin/main...HEAD -U0 | grep '^-[^-]'
(3 suppressions, toutes des remplacements verifies — aucun contenu perdu)

Les 3 suppressions sont : la ligne d'auto-description périmée de l'index (remplacée par la mesure), et deux lignes de la Carte rapide (qc/, ledgers/) remplacées par leur version annotée.

Périmètre du [CLAIMED] posé sur #13748 : paths: docs/README.md — le reste de l'issue (bandeau archive/, drift des README multi-séries, docs GenAI) reste libre pour d'autres lanes.

See #13748 (partiel : complétude de l'index + réfutation de la priorité 1)

🤖 Generated with Claude Code

…/README.md

Mesure firsthand sur main courant (les chiffres du body de #13748 sont
declares RAPPORTE, issus d'un clone shallow, dates du 2026-08-30) :

  live sous docs/ hors archive/     : 146   (le body dit 135)
  cites DIRECTEMENT par README      :  90   (reproduit exactement leur 90)
  atteignables en transitif         : 104   avant cette PR
  cites par >=1 fichier du depot    : 111
  orphelins reels (aucun entrant)   :  35
  NON atteignables depuis l'index   :  42   -> 0 apres cette PR

"Manquant de l'index" et "orphelin" ne sont pas la meme chose, et
l'ecart entre 45 annonces et 42 mesures vient de la : un index de
sous-repertoire (lean/README.md, ict/README.md, archive/INDEX.md) est
une structure legitime, donc l'atteignabilite transitive est la bonne
metrique d'acceptance, pas la citation directe.

42 entrees ajoutees, chacune redigee depuis le H1 et la premiere ligne
de prose du fichier vise, pas depuis son nom. Trois sections nouvelles
(ci/, harness/, ml/) et deux sous-blocs qui evitent de falsifier le
preambule de leur section : les 7 pre-enregistrements ICT sont grade T,
pas grade C-documentaire, et audit/workflow-path-filters/ est un
artefact regenere par la CI, pas un compte-rendu de cycle.

La ligne d'auto-description de l'index annoncait "58 liens internes
verifies c.805" : elle est remplacee par la mesure du jour.

See #13748
@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 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2026:CoursIA-2 a deja consomme son budget LIGHT du jour (une LIGHT anterieure de cette lane).
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) labels Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

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

  • TIER-INFLATION : declared LIGHT << effective LIGHT-genre (tally : declared=3 genre=7 cap=6)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=3 genre=7 cap=6)

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 2, 2026

Copy link
Copy Markdown
Owner Author

check-links rouge = stale-red, reparé par update-branch (aucun fichier retouché)

Le check signalait un lien mort vers MyIA.AI.Notebooks/IIT/ICT-Series/ict/kuramoto_boundary_results.json, cité depuis docs/ict/dissociations-matrix.md:471 — un fichier que cette PR ne touche pas (périmètre : docs/README.md, 1 fichier).

Le défaut était sur main au moment où le check a tourné, et il y était déjà corrigé quand j'ai regardé :

Événement Horodatage
check-run 100404649305 completed_at 2026-09-02T20:05:07Z
PR #14372 mergée (542888a1e, repointer les 4 refs stale vers ict/results/) 2026-09-02T20:21:39Z

16 minutes d'écart. Un check pull_request évalue la tête fusionnée dans la base telle qu'elle était au run : ma branche précédait simplement le correctif. Vérifié sur main courant — docs/ict/dissociations-matrix.md:471 pointe déjà ../../MyIA.AI.Notebooks/IIT/ICT-Series/ict/results/kuramoto_boundary_results.json, et c'est bien ce chemin qui existe (l'ancien est absent).

Réparation appliquée : gh pr update-branch 14377. Aucune édition — corriger le fichier d'une autre lane pour éteindre un rouge qui n'est pas le mien aurait fabriqué un conflit avec #14372 et masqué la vraie cause.

@jsboige
jsboige merged commit 1abf0af into main Sep 2, 2026
17 checks passed
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-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.

1 participant