Skip to content

chore(catalog): scheduled auto-regenerate (long-lived PR) - #20464

Merged
myia-ai-01 merged 1 commit into
mainfrom
chore/catalog-refresh-pending
Oct 13, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
chore/catalog-refresh-pending

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Purpose

Long-lived PR refreshed daily by catalog-cron.yml (schedule cron 03:37 UTC) to keep
COURSE_CATALOG.generated.{json,md} + CATALOG-STATUS markers + the curriculum (docs/curriculum/*.md),
the health dashboard (docs/archive/reference/HEALTH_DASHBOARD.md) and the project.render list of
_quarto.yml canonical on main.

Maintainer review only — no direct push to main (issue #10136). The bot opens
or updates this PR; merging it refreshes main through the normal PR gate.

What to review

  • Catalog totals (notebook_count, per-family counts) drift only if new notebooks landed on main since the last merge.
  • README <!-- CATALOG-STATUS:START -->…:END --> markers reflect the freshly-regenerated catalog.
  • Curriculum pages under docs/curriculum/ and docs/archive/reference/HEALTH_DASHBOARD.md stay consistent.
  • _quarto.yml project.render stays in sync with the notebooks / READMEs / docs/*.md on main.
    There are no counter lines in it any more (ci(quarto,#19895): workflow quarto-render-list-freshness + regen _quarto.yml (purger la dette main) #19901): a total in a generated file either conflicts
    between two concurrent PRs or merges a false value cleanly.

Close policy

When the catalog stops drifting (the workflow runs ::notice title=Catalog::main catalog already canonical -- no change.),
this PR will be auto-closed by catalog-pr-close.yml to keep the queue clean. Subsequent
drift reopens it under the same branch.

See .claude/rules/catalog-pr-hygiene.md and #2433, #10136.

Grain: MED/refactor -- lane myia-ai-01:CoursIA

@github-actions github-actions Bot added automation catalog-refresh paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge. markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. large-pr-no-review PR > seuil sans review (ni bot ni humaine) -- retire quand une review arrive (#11232) labels Oct 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor Author

Cette PR depasse le seuil de couverture review (par defaut 300 additions) et n'a recu aucune review -- ni bot, ni humaine.

Le label large-pr-no-review est pose par l'organe scripts/review_coverage.py porte par l'issue #11232. Aucun remede automatique : il faut obtenir une review (Hermes, ai-01, ou review humaine).

Le label est retire au balayage suivant (quotidien) des qu'une review arrive -- dans reviews[] ou en commentaire de verdict -- ou que le diff passe sous le seuil. Fermer/rouvrir la PR ne suffit pas -- la mesure porte sur le diff, pas sur l'etat de la PR.

Seuil, historique et exceptions : cf. docs/reference/review-coverage-threshold.md.

This was referenced Oct 12, 2026
@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor Author

Path-collision (organ #13359/#13615)

Cette PR #20464 (chore(catalog): scheduled auto-regenerate (long-lived PR)) 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.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

Refresh COURSE_CATALOG.generated.{json,md} + CATALOG-STATUS markers.

Catalog is owned by automation; agents must not regenerate it on feature branches (see .claude/rules/catalog-pr-hygiene.md, #2433, #10136).
@github-actions

Copy link
Copy Markdown
Contributor Author

New commit pushed on chore/catalog-refresh-pending by catalog-cron (run 38387126760).
Last commit SHA: a43440b6b297.
Catalog drift detected; the bot has nothing else to do here. Maintainer: please review + merge when convenient.

@github-actions
github-actions Bot force-pushed the chore/catalog-refresh-pending branch from 93c8c35 to bab258d Compare October 13, 2026 11:04
@jsboige

jsboige commented Oct 13, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA
pr: 20464
head: bab258d
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 3e3488bb00d4f511867d1828704e818045741305b8b372ce4bd5654af310c908
diff-files: 16
diff-additions: 1690
diff-deletions: 1167
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20464
organ-rc: 0
[/ADJOINT PREFLIGHT]

Substance (grain dispatche ai-01 « regeneration catalogue = racine du probleme generate_parcours », DM msg-20261013T192933) : cette PR bot long-lived EST la regeneration du catalogue — l'ouvrir une seconde fois entrerait en collision avec elle-meme (le body documente le conflit de compteurs entre PRs concurrentes sur fichiers generes). Le geste racine est son MERGE.

Verifications :

  1. Renumerotation couverte : catalogue au head bab258d porte ICT-42c, PAS ICT-41b — main porte l'inverse (mesure directe grep des deux fichiers) : la PR contient le fix de la derive que generate_parcours reproduit sur main.
  2. Fraicheur : head commite ce jour 2026-10-13T11:04Z par catalog-cron (run 38387...), base = a43440b (09:35Z) = merge-base exact — branche reconstruite depuis main ce matin.
  3. Reproduction locale de la chaine (generate_catalog --git-tracked-only + expand_catalog_markers + generate_health_dashboard + generate_parcours, worktree au head exact) : rc=0 sur les 4 organes. docs/curriculum/recherche.md reproduit BYTE-IDENTIQUE — le fichier au centre de la derive — ainsi que ia-classique.md et ia-symbolique.md.
  4. Divergence residuelle documentee (pas un defaut de la PR) : catalog json/md + genai.md + HEALTH_DASHBOARD divergent localement UNIQUEMENT sur les champs derives de l'historique git du notebook deplace Fort-Boyard (ajoute a son chemin actuel dans le commit de base a43440b, historique pre-deplacement depuis mai) : ma re-run locale rend class UNKNOWN/history TRUNCATED/revisions 2 la ou le committ rend HEAVY/COMPLETE/21 — resolution du rename non traversee dans mon clone (renameLimit local), traversee par CI (clone frais full-depth, environnement canonique du generateur). Le committ est l'etat le plus riche ; la divergence est un artefact d'environnement local, pas une regression portee par la PR.
  5. Completude vs main tip : 42 commits / 28 notebooks sur main depuis la base 09:35Z ne sont PAS dans ce cycle de regen (by design : reset quotidien 03:37Z, la prochaine iteration les rattrape). Merger maintenant fixe la renumerotation (racine) ; les entrees d'apres-midi attendent le refresh de demain.
  6. Path-collision (advisory organ L898 est une regle sans organe : une lane a livre deux fois le meme notebook (#13296/#13339), le claim ne peut pas le voir #13359) : tous les chevauchements faibles sur fichiers generes (_quarto.yml, curriculum, READMEs) — naturels pour une regen ; un terminal (chore(catalog): scheduled auto-regenerate (long-lived PR) #20364, deja main). Ordre de merge a signaler : docs(curriculum): 16 desaccords libelle/cible check_link_label_agreement sur main (drift post-renumerotation, advisory TRANCHE12) #20382 (gelée, dossier po-2027 en cours) partage docs/curriculum/recherche.md — si cette PR merge d'abord, la revalidation de docs(curriculum): 16 desaccords libelle/cible check_link_label_agreement sur main (drift post-renumerotation, advisory TRANCHE12) #20382 devra re-resoudre ce fichier.
  7. DWELL : dernier commit autoritaire 11:04Z, plancher 120 min largement passe. 0 review — l'organe merge_ready exige une review APPROVED ai-01 couvrant la tete : la review reste a poser, ce dossier la prepare.

@myia-ai-01
myia-ai-01 merged commit af55b3d into main Oct 13, 2026
39 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation catalog-refresh large-pr-no-review PR > seuil sans review (ni bot ni humaine) -- retire quand une review arrive (#11232) markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. paragraph-length Paragraph > 2000 chars (wall-of-text, #15405). Resorb before merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants