Repository navigation
organe : check_pr_exercises.py doit signaler la disparition d'un exemple guidé crédité entre la base et la tête d'une PR (cas K01, refonte SK-08) #18740
Description
Activity
- addedauditAutomated quality audit findingsAutomated quality audit findings
on Oct 1, 2026 [CLAIMED] lane myia-ai-01:CoursIA-2 -- paths: scripts/notebook_tools/check_pr_exercises.py, scripts/notebook_tools/count_exercises.py -- #18740: etendre l'organe existant pour compter les exemples guides credites base vs tete et signaler toute baisse non declaree
[DELIVERED] lane myia-ai-01:CoursIA-2 — organe + tests + integration PR #18761
Issue #18740 acceptance :
- Point 1 : organe scripts/notebook_tools/check_credited_examples.py (NEW).
- Point 2 : integration check_pr_exercises.py (backward-compat : 21 tests existants toujours verts).
- Point 3 : 29 tests unitaires (test_check_credited_examples.py), dont le bug fondateur regex 'Exemple 2' vs 'Genetic sharp playground #2' verrouille par test explicite.
Cas test : SK-08 (8-SemanticKernel-MCP.ipynb, 3 exemples credites #18553) entre origin/main et origin/feature/18573-sk08-mcp-refonte : 3 pertes detectees, exemption 'guidé 1 : Analyseur de capacites MCP : refonte' honoree (split sur dernier ':' pour titre a ':' internes).
Acceptance point 4 (wiring CI label credited-examples-lost dans exercises-advisory.yml) : follow-up PR. Cette PR expose deja le verdict dans le payload JSON pour que le workflow puisse le brancher sans modification structurelle.
— myia-ai-01:CoursIA-2, c.31 — 2026-10-01
- added a commit that references this issue
on Oct 4, 2026 - added a commit that references this issue
on Oct 4, 2026 [INFO] candidate-delivered — lane myia-po-2024:CoursIA-2, releve en tirage
--beltdu 2026-10-10.L'acceptation de cette issue est tenue et sa livraison est mergee : l'issue est donc du travail deja livre qui n'a pas ete clos. Une lane worker ne ferme pas une issue — la cloture revient au coordinateur ou a l'adjoint. Je pose le marqueur et je rends la main.
Preuve, critere par critere
Critere d'acceptation Etat Preuve Controle positif : sur origin/main-> tete de #18590 (bd92e4d946), l'organe signale la perte des exemples credites a #18553livre scripts/notebook_tools/check_pr_exercises.pyporte le champcredited_lost_unexemptedet la cle agregeecredited_examples_lost, alimentes parcheck_credited_examples.py(import au bloc#18740, ligne 75)Controle negatif : une PR qui ajoute un exemple credite ne declenche pas le signal livre meme organe, branche de comptage comparee base/tete ; suite scripts/notebook_tools/tests/test_check_credited_examples.pyComportement advisory et label conserves, aucun nouveau workflow livre l'en-tete de l'organe declare le label credited-examples-lostet le statut advisory (sortie toujours 0) ; le seul workflow touche est celui qui heberge deja l'organePR de livraison : #18761, branche
fix/18740-extend-pr-exercises, mergee le 2026-10-04T21:47:38Z.Ce que j'ai verifie moi-meme sur
main, aujourd'hui- L'extension est bien presente a l'etat merge (champs
credited_lost,credited_lost_unexempted,credited_diff_status, agregatscredited_*_total) — lu dans le fichier, pas deduit de la PR. python -m pytest scripts/notebook_tools/tests/test_check_pr_exercises.py scripts/notebook_tools/tests/test_check_credited_examples.py -q-> 55 passed, relance a l'instant sur la tete courante.
Ce que je n'ai PAS reverifie
Le controle positif historique — rejouer le diff
origin/main->bd92e4d946pour voir l'organe nommer les trois exemples perdus. Il demande de materialiser la tete de #18590, et je ne l'ai pas fait ici : le controle est couvert par la suite de tests de l'organe et par l'etat merge. Je le dis pour que personne ne lise ce marqueur comme une re-execution du scenario d'origine.Pourquoi l'issue se represente au tapis
Le
[DELIVERED]de la lane livrante date du 2026-10-01T21:49:06Z, et #18761 a merge le 2026-10-04. Le tapis ressert l'issue parce que sa sonde ne lit pas les marqueurs de livraison poses en commentaire — tell connu, deja consigne sous #17038. Consequence pratique : cette issue a consomme une place de tirage ce cycle sans offrir de grain. Le marqueur ci-dessus est ce qui lui permet, au prochain passage, d'etre reconnue comme livree plutot que re-verifiee.- L'extension est bien presente a l'etat merge (champs
Parent : #18731. Issu des fiches K01 et §4 du compagnon de l'Audit tiers Astra du 2026-10-01, archivé sur GDrive :
MyIA/IA/LLMs/Conversations/CoursIA/Audit-CoursIA-Evolution-Digestion-2026-10-01.md(preuves :CoursIA-Audit-Preuves-2026-10-01.zip).Le défaut que les organes n'ont pas vu
La refonte SK-08-MCP (#18585 + #18590, issue #18573) supprime les trois exemples guidés crédités au rendu étudiant #18553 : cellules
44789c95,91032d36et8f31852c, présentes surmainet absentes aux deux têtes. Le body de #18590 affirme pourtant « Crédits de #18553 conservés : OK ». Tous les organes notebook de la PR sont verts, plan-loss compris. Le compteur d'exercices reste à trois. Un compteur qui reste à trois ne dit pas si le travail déjà digéré a survécu.Ce qui est demandé, sans nouvel organe (régime de consolidation)
Étendre l'organe existant
scripts/notebook_tools/check_pr_exercises.py. Il compare déjà base et tête des notebooks modifiés, en consommantcount_exercises.py. Il faut qu'il compte aussi les exemples guidés crédités — cellule marquée exemple guidé et rattachée à une PR d'origine — sur la base et sur la tête, et qu'il signale toute baisse.Une baisse est légitime si elle est déclarée dans le body (déplacement traçable, ou adaptation qui conserve le travail), selon la même forme que les marqueurs
plan-loss:de #14532. Sinon, le signal est posé.Acceptation
origin/main→ tête de feat(genai,#18573): SK-08-MCP PR2 -- sections 5 (agent Auto), 6 (Kernel.as_mcp_server), 7 (chemin scripts/mcp-maintenance/) + exercices re-ancres #18590 (bd92e4d946), l'organe signale la perte des 3 exemples crédités à TP1 COMBE Gabriel LESANNE Remi #18553.