You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
site(quarto): dette de fraicheur de la render list sur main -- 31 fichiers jamais rendus + ~28 entrees mortes post-renommage #20179
Dette de fraîcheur de la render list project.render de _quarto.yml sur origin/main (29b905532d9c1), mesurée en important scripts/regen_quarto_render.py (arbre propre, version main) et en comparant le bloc qu'il génère au bloc committé (lecture des blobs git, aucun fichier de travail touché).
La mesure fondatrice de po-2023 (2026-10-09 ~15:35Z, DM msg-20261009T153524-c9tne2) disait 9 notebooks, 8 docs/*.md, 5 READMEs manquants. Les merges de la soirée du 09/10 (renommage ML.NetML-01-* -> ML-1-*, nouveaux carnets) ont élargi la dette :
31 fichiers git-trackés absents de la render list (donc jamais rendus sur le site publié via la liste committée) :
~28 entrées mortes : la render list cite des fichiers qui n'existent plus — ML/ML.Net/ML-01-* (présentation pré-renommage, l.1321+ de _quarto.yml sur main) et DataScienceWithAgents/01-PythonForDataScience/notebooks/1.1-*, 1.4-*, 1.5-*, 1.6-* (seuls 1.2 et 1.3 subsistent sous ces noms exacts).
Pourquoi un tracker alors que #19901 automatise la regen
PR #19901 branche catalog-cron.yml sur regen_quarto_render.py : dès son merge, le premier passage du cron régénère _quarto.yml et résorbe la dette. Ce tracker existe pour :
vérifier ce premier passage (acceptance ci-dessous) ;
tracer les fichiers concernés nominativement, pour qu'un carnet non rendu ne passe pas inaperçu si le cron tarde ;
garder l'historique de la mesure du 09/10 (po-2023) et de son élargissement.
Constat mesure ce jour en resolvant les conflits _quarto.yml de trois PRs (merge frais d'origin/main 69ea851653) : la dette de fraicheur a un second effet, distinct des entrees manquantes/mortes.
Le carnet SymbolicAI/Lean/Lean-12-Sensitivity-Theorem.ipynb sort de la render-list par la regen canonique. Mesure :
git show 70ece81334:<carnet> : 0 cellule a --- hr seul.
nettoyer les --- -> *** dans les cellules 0 et 44 (remede auto-resorbant prevu par la garde ; le rendu <hr> est identique) -- puis regen, le carnet revient dans la liste ;
ou l'ajouter a NOTEBOOKS_HORS_PERIMETRE si on accepte de ne pas le rendre.
A noter pour la famille : toute re-execution d'un carnet nettoie par #18429 peut faire ressusciter des --- si la source les porte encore -- le roundtrip kernel ne convertit rien. Une piste dure serait de verifier les carnets re-executes recemment contre la garde hr.
(Donnees produites en resolvant #19548/#19830/#19372 -- les trois PRs portaient le meme conflit render-list, resolu par merge + regen canonique.)
Grain: LIGHT/docs — lane myia-po-2027:CoursIA-2 — prev: DEEP/notebook-python #20253
Restitution mesuree de l'etat de la dette, a la tete origin/main = 0eb7a0feb033 (10/10, apres le merge de #19901 a 12:16Z).
Ce qui est resolu
Les entrees mortes ont disparu : la regeneration n'en retire plus aucune.
python scripts/regen_quarto_render.py --check sur origin/main rend toujours rc=1 (liste perimee), mais la regeneration comparee a la liste committee donne +7 / -0 : zero suppression. Les « ~28 entrees mortes post-renommage » du body ne sont plus mesurables — #19901 les a purgees.
Une premisse du body est fausse et merite d'etre retiree du critere 1. Le body demande que la liste « ne cite plus ML-01-* ». Or les deux lignes ML-01- de la liste sont legitimes :
MyIA.AI.Notebooks/ML/ML.Net/ML-01-Introduction-Python.ipynb EXISTE
MyIA.AI.Notebooks/ML/ML.Net/ML-01-Introduction.ipynb EXISTE
ML-1-*n'existe pas sur main (find MyIA.AI.Notebooks/ML/ML.Net -name "ML-1-*" : 0 resultat). Ces deux lignes ne sont pas un residu de renommage : les fichiers sont bien la, et le generateur les veut. Les retirer serait une regression. La partie « ne cite plus ML-01-* » du critere 1 se supprime, elle ne se realise pas.
Ce qui reste
7 entrees manquantes, avec leur date d'arrivee sur main :
Cinq sont arrives apres la regeneration de #19901 (12:16Z) : pur retard de cadence. Deux (scripts/hashlife/README.md 04:54Z, docs/genai/audio-bakeoff-bank.md 08:23Z) sont anterieurs et ont ete rates par cette regeneration — la branche de #19901 avait ete coupee avant leur merge.
Le porteur, et pourquoi je ne pose pas de PR de regeneration
#19901 a cable le porteur : catalog-cron.yml (03:37 UTC quotidien) invoque desormais scripts/regen_quarto_render.py et ajoute _quarto.yml a son git add — la fraicheur de ce fichier est la propriete de cette automatisation, pas d'une lane. Le garde quarto-render-list-freshness.yml est ADVISORY et lit l'arbre de la PR : il ne voit jamais main, il ne peut donc pas garantir sa fraicheur (c'est ecrit dans le workflow lui-meme).
Je ne pose pas de PR de regeneration : #19901 existe precisement parce que deux regenerations faites a des instants differents sur des arbres differents divergent toujours, et produisent un conflit a chaque merge de PR notebook. Une PR de lane en concurrence avec le rafraichissement du cron recreerait la classe de conflit que #19901 ferme.
Critere 1 a relire, donc, a la lumiere de ce qui est mesure : ce n'est pas « la liste contient les 31 chemins » mais « les entrees mortes ont disparu (fait), et les 7 retardataires seront absorbes par la premiere passe du cron posterieure a leur merge, suivie du merge de sa PR de rafraichissement ». La prochaine passe planifiee est le 2026-10-11T03:37Z.
Note : catalog-cron.yml a echoue le 10/10 a 10:05Z et le 09/10 a 10:51Z (dernier succes le 08/10) — ces deux tirs ne sont pas les tirs planifies de 03:37Z. A verifier au prochain cycle si l'echec persiste apres le passage de 03:37Z.
Hors portee (inchange)
#18423 (263 carnets hors NOTEBOOK_SUBTREES) et #20055 (double entree au merge) restent hors de ce tracker.
Activity
jsboige commentedon Oct 9, 2026
Constat mesure ce jour en resolvant les conflits
_quarto.ymlde trois PRs (merge frais d'origin/main69ea851653) : la dette de fraicheur a un second effet, distinct des entrees manquantes/mortes.Le carnet
SymbolicAI/Lean/Lean-12-Sensitivity-Theorem.ipynbsort de la render-list par la regen canonique. Mesure :git show 70ece81334:<carnet>: 0 cellule a---hr seul.git show 64688ebf0a:<carnet>: cellules 0 et 44 portent un---hr seul -- c'est la re-execution fix(lean,#18329): re-exécution Lean-12/16f sous python3-lean 3.13.16 — Lean-13 retiré (suivi #20065) #19665 qui les a fait entrer.python scripts/regen_quarto_render.pyretire le carnet (garde hr FallacyDetection : le README annonce une taxonomie francophone — elle est traduite en 8 langues (et le corpus d'amorçage n'est pas la stratégie de données) #11451 : un---seul ouvre un bloc YAML et peut arreter le site entier), et--checkle signale « git-tracks ni rendus ni declares hors perimetre » -- la dette ne se résout donc pas par simple regen pour ce cas.Deux remèdes (exclusifs) :
---->***dans les cellules 0 et 44 (remede auto-resorbant prevu par la garde ; le rendu<hr>est identique) -- puis regen, le carnet revient dans la liste ;NOTEBOOKS_HORS_PERIMETREsi on accepte de ne pas le rendre.A noter pour la famille : toute re-execution d'un carnet nettoie par #18429 peut faire ressusciter des
---si la source les porte encore -- le roundtrip kernel ne convertit rien. Une piste dure serait de verifier les carnets re-executes recemment contre la garde hr.(Donnees produites en resolvant #19548/#19830/#19372 -- les trois PRs portaient le meme conflit render-list, resolu par merge + regen canonique.)
chore(quarto,#19531): regenerer la liste de rendu apres fusion de main
jsboige commentedon Oct 10, 2026
Grain: LIGHT/docs — lane myia-po-2027:CoursIA-2 — prev: DEEP/notebook-python #20253
Restitution mesuree de l'etat de la dette, a la tete
origin/main=0eb7a0feb033(10/10, apres le merge de #19901 a 12:16Z).Ce qui est resolu
Les entrees mortes ont disparu : la regeneration n'en retire plus aucune.
python scripts/regen_quarto_render.py --checksurorigin/mainrend toujours rc=1 (liste perimee), mais la regeneration comparee a la liste committee donne +7 / -0 : zero suppression. Les « ~28 entrees mortes post-renommage » du body ne sont plus mesurables — #19901 les a purgees.Une premisse du body est fausse et merite d'etre retiree du critere 1. Le body demande que la liste « ne cite plus
ML-01-*». Or les deux lignesML-01-de la liste sont legitimes :ML-1-*n'existe pas sur main (find MyIA.AI.Notebooks/ML/ML.Net -name "ML-1-*": 0 resultat). Ces deux lignes ne sont pas un residu de renommage : les fichiers sont bien la, et le generateur les veut. Les retirer serait une regression. La partie « ne cite plusML-01-*» du critere 1 se supprime, elle ne se realise pas.Ce qui reste
7 entrees manquantes, avec leur date d'arrivee sur main :
QuantConnect/projects/BTC-ETH-Rotation/README.mdscripts/hashlife/README.mddocs/genai/audio-bakeoff-bank.mdIIT/ICT-Series/ICT-48-Onset9B-Aggregate-Python.ipynbIIT/ICT-Series/ICT-48-WolframClasses-ThermoSignature-Python.ipynbProbas/Applications/Percolation/Percolation-03c-Critique-L512.ipynbProbas/Applications/Percolation/Percolation-04-Sharpness-Python.ipynbCinq sont arrives apres la regeneration de #19901 (12:16Z) : pur retard de cadence. Deux (
scripts/hashlife/README.md04:54Z,docs/genai/audio-bakeoff-bank.md08:23Z) sont anterieurs et ont ete rates par cette regeneration — la branche de #19901 avait ete coupee avant leur merge.Le porteur, et pourquoi je ne pose pas de PR de regeneration
#19901 a cable le porteur :
catalog-cron.yml(03:37 UTC quotidien) invoque desormaisscripts/regen_quarto_render.pyet ajoute_quarto.ymla songit add— la fraicheur de ce fichier est la propriete de cette automatisation, pas d'une lane. Le gardequarto-render-list-freshness.ymlest ADVISORY et lit l'arbre de la PR : il ne voit jamaismain, il ne peut donc pas garantir sa fraicheur (c'est ecrit dans le workflow lui-meme).Je ne pose pas de PR de regeneration : #19901 existe precisement parce que deux regenerations faites a des instants differents sur des arbres differents divergent toujours, et produisent un conflit a chaque merge de PR notebook. Une PR de lane en concurrence avec le rafraichissement du cron recreerait la classe de conflit que #19901 ferme.
Critere 1 a relire, donc, a la lumiere de ce qui est mesure : ce n'est pas « la liste contient les 31 chemins » mais « les entrees mortes ont disparu (fait), et les 7 retardataires seront absorbes par la premiere passe du cron posterieure a leur merge, suivie du merge de sa PR de rafraichissement ». La prochaine passe planifiee est le 2026-10-11T03:37Z.
Note :
catalog-cron.ymla echoue le 10/10 a 10:05Z et le 09/10 a 10:51Z (dernier succes le 08/10) — ces deux tirs ne sont pas les tirs planifies de 03:37Z. A verifier au prochain cycle si l'echec persiste apres le passage de 03:37Z.Hors portee (inchange)
#18423 (263 carnets hors
NOTEBOOK_SUBTREES) et #20055 (double entree au merge) restent hors de ce tracker.docs(research,#19494): Percolation-03 critique -- scoping finite-size…