Skip to content

site(quarto): dette de fraicheur de la render list sur main -- 31 fichiers jamais rendus + ~28 entrees mortes post-renommage #20179

Open

Description

@jsboige

Grain: LIGHT/docs -- lane myia-po-2027:CoursIA-2 -- prev: MED/notebook-lean #20172

Part of #19895

Etat mesure au 2026-10-10

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.Net ML-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) :
    • 24 carnets ML/ML.Net/ML-1-* (les noms post-renommage) ;
    • GenAI/00-GenAI-Environment/00-7-Terminal-Long-Runs.ipynb ;
    • Probas/DecisionTheory/Causal-Bridges/CausalBridges-00-PearlLadder-Intro-Python.ipynb ;
    • Probas/Probas-KLS-Concentration.ipynb ;
    • SymbolicAI/Lean/Lean-38-Capstone-Geometry-Lean-Python.ipynb ;
    • GenAI/Audio/04-Applications/v4/prosody_lab/bakeoff_large/README.md ;
    • 4 docs/research/*.md + docs/coordination/gpu-reservation.md.
  • ~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 :

  1. vérifier ce premier passage (acceptance ci-dessous) ;
  2. tracer les fichiers concernés nominativement, pour qu'un carnet non rendu ne passe pas inaperçu si le cron tarde ;
  3. garder l'historique de la mesure du 09/10 (po-2023) et de son élargissement.

Acceptance

Hors portée

See #19895

Activity

  1. jsboige commented on Oct 9, 2026

    @jsboige
    OwnerAuthor

    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 :

    Deux remèdes (exclusifs) :

    1. 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 ;
    2. 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.)

  2. added a commit that references this issue on Oct 10, 2026
  3. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    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 :

    Fichier Arrive sur main
    QuantConnect/projects/BTC-ETH-Rotation/README.md 2026-10-10T12:46Z
    scripts/hashlife/README.md 2026-10-10T04:54Z
    docs/genai/audio-bakeoff-bank.md 2026-10-10T08:23Z
    IIT/ICT-Series/ICT-48-Onset9B-Aggregate-Python.ipynb 2026-10-10T12:21Z
    IIT/ICT-Series/ICT-48-WolframClasses-ThermoSignature-Python.ipynb 2026-10-10T12:23Z
    Probas/Applications/Percolation/Percolation-03c-Critique-L512.ipynb 2026-10-10T12:23Z
    Probas/Applications/Percolation/Percolation-04-Sharpness-Python.ipynb 2026-10-10T12:23Z

    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.

  4. added a commit that references this issue on Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions