Skip to content

exercises-advisory : faire tirer la branche credited-examples (pose dormante, #18761) #19101

Description

@myia-ai-01

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 label credited-examples-lost) a été posée mais ne se déclenche jamais : le workflow ne tourne que sur schedule et workflow_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é par check_pr_exercises.py) ne joue que localement.

Options

  1. Passe nocturne : le tir schedule existant 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.
  2. Déclencheur PR léger : un job ciblé sur pull_request qui ne paie PAS le clone complet (2,22 Go) — soit un sparse-checkout limité aux notebooks modifiés, soit lecture des blobs via gh api sans checkout.

Contrainte

Ne PAS réintroduire le déclencheur pull_request sur 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 main qui 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).

Activity

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

    @jsboige
    Owner

    [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.)

  4. added a commit that references this issue on Oct 5, 2026
  5. added 2 commits that reference this issue on Oct 5, 2026
  6. jsboige commented on Oct 8, 2026

    @jsboige
    Owner

    [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.py sur origin/main (docstring l.1-20, pose POST-MORTEM) + etape dediee dans .github/workflows/exercises-advisory.yml
    2 Ne PAS reintroduire pull_request sur le workflow MET .github/workflows/exercises-advisory.yml : on: = schedule (cron: '12 03 * * *') + workflow_dispatch, aucun pull_request
    3 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-lost n'existe pas : gh api repos/jsboige/CoursIA/labels/credited-examples-lost rend 404 ; la liste des labels (100 noms) ne le contient pas ; issues?labels=credited-examples-lost&state=all est vide. Aucune PR n'a jamais porte ce label
    4 Sortie, 2e branche : mesure documentee « zero perte sur le corpus recent » MET 4 runs schedule verts 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 concluant RESULT: 0 PR(s) a labelliser, 0 perte(s) non exemptee(s), 0 erreur(s) de diff

    FAIT MATERIEL qui decide de la 1re branche : rien ne cree jamais ce label. credited_examples_sweep.py:413-421 (apply_label) appelle gh pr edit <n> --add-label credited-examples-lost et rend False sans lever sur rc non nul ; aucune creation de label dans le script ; et dans le workflow ensure_label est neutralise sous nocturne (if [ "$NOCTURNE" -eq 1 ]; then ensure_label() { true; }), le declencheur schedule etant 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.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions