Repository navigation
exercises-advisory : faire tirer la branche credited-examples (pose dormante, #18761) #19101
Description
Activity
- added a commit that references this issue
on Oct 4, 2026 - added a commit that references this issue
on Oct 4, 2026 [CLAIMED] lane myia-po-2026:CoursIA -- faire tirer la branche credited-examples de exercises-advisory (pose dormante) -- label pose sur une PR portant une perte non exemptee -- paths: .github/workflows/exercises-advisory.yml, scripts/check_credited_examples.py, scripts/check_pr_exercises.py
(check_lane_claim #9774 -- server-stamped UTC; body timestamps are NOT authoritative. Release with
[RELEASED]when your PR lands.)- added a commit that references this issue
on Oct 5, 2026 [CLOSURE PREFLIGHT] lane myia-po-2025:CoursIA-2 — verification G.9 au 2026-10-09
Verification des criteres du body, firsthand sur
origin/main= d38ad81. Aucune cloture posee : la decision reste au coordinateur.ETAT DU FIL : un seul commentaire,
[CLAIMED] lane myia-po-2026:CoursIA(2026-10-05T03:02:11Z). Aucun[DELIVERED]ni[RELEASED]sur l'issue. La livraison est passee par deux PRs MERGED : #19215 (fix/19101-credited-sweep, 2026-10-05T10:10:04Z, mergeCommit dec5d91) et #19261 (2026-10-05T21:10:10Z, edfd197).# critere du body verdict preuve 1 Option 1 « passe nocturne » (balayage post-mortem des PRs mergees) MET scripts/notebook_tools/credited_examples_sweep.pysur origin/main (docstring l.1-20, pose POST-MORTEM) + etape dediee dans.github/workflows/exercises-advisory.yml2 Ne PAS reintroduire pull_requestsur le workflowMET .github/workflows/exercises-advisory.yml:on:=schedule(cron: '12 03 * * *') +workflow_dispatch, aucunpull_request3 Sortie, 1re branche : un run vert qui pose EFFECTIVEMENT le label sur une PR mergee portant une perte non exemptee NOT-MET le label credited-examples-lostn'existe pas :gh api repos/jsboige/CoursIA/labels/credited-examples-lostrend 404 ; la liste des labels (100 noms) ne le contient pas ;issues?labels=credited-examples-lost&state=allest vide. Aucune PR n'a jamais porte ce label4 Sortie, 2e branche : mesure documentee « zero perte sur le corpus recent » MET 4 runs scheduleverts depuis le merge : 2026-10-05 (run 37296102691, 44 PRs .ipynb), 2026-10-06 (37448359126, 33), 2026-10-07 (37605857646, 43), 2026-10-08 (37764002554, 75), chacun concluantRESULT: 0 PR(s) a labelliser, 0 perte(s) non exemptee(s), 0 erreur(s) de diffFAIT MATERIEL qui decide de la 1re branche : rien ne cree jamais ce label.
credited_examples_sweep.py:413-421(apply_label) appellegh pr edit <n> --add-label credited-examples-lostet rend False sans lever sur rc non nul ; aucune creation de label dans le script ; et dans le workflowensure_labelest neutralise sous nocturne (if [ "$NOCTURNE" -eq 1 ]; then ensure_label() { true; }), le declencheurscheduleetant le seul existant. La branche « pose effective du label » n'a donc jamais ete exercable en production.LECTURE : la 2e branche du critere de sortie est pleinement satisfaite (4 runs verts, fenetres de 24 h, 0 perte non exemptee sur 195 PRs cumulees). La 1re ne l'est pas et ne peut pas l'etre. C'est un defaut du livrable merge, pas de l'issue.
RECOMMANDATION : cloture par la 2e branche, accompagnee d'une issue de suivi nommee pour la creation du label (sans elle, la 1re branche reste un critere mort). Aucune fermeture posee par l'adjoint.
Constat (review ai-01 10:28Z sur #18761)
La branche « exemples crédités » de
exercises-advisory.yml(flags--base+--pr-body-file, pose du labelcredited-examples-lost) a été posée mais ne se déclenche jamais : le workflow ne tourne que surscheduleetworkflow_dispatch(tranche 1 de #12817), et ces deux modes n'ouvrent pas de contexte PR. Le label ne peut donc pas être posé, et le détecteur (check_credited_examples.py, appelé parcheck_pr_exercises.py) ne joue que localement.Options
scheduleexistant balaie les PRs mergées du jour (via l'API search) et pose le label à titre post-mortem — détecte les pertes passées, ne protège pas le merge.pull_requestqui ne paie PAS le clone complet (2,22 Go) — soit un sparse-checkout limité aux notebooks modifiés, soit lecture des blobs viagh apisans checkout.Contrainte
Ne PAS réintroduire le déclencheur
pull_requestsur le workflow existant (défaisait la tranche 1 de #12817 — motivation d'origine : le coût du clone sur chaque PR).Critère de sortie
Un run vert sur
mainqui pose effectivement le label sur une PR mergée portant une perte d'exemples crédités non exemptée (ou mesure documentée : zéro perte sur le corpus récent).Voir la pose dormante : #18761 (code de pose présent, dormant sous les déclencheurs actuels).