Repository navigation
Conversation
…e non rempli' Trois problèmes signalés par user direct 2026-09-17 : 1. **Genre incohérent** — une « lecture de sortie » exige une sortie à lire. Le stub n'a pas d'output (« Exercice a completer » + `None`) : la cellule ne peut que reconstituer l'énoncé et l'indice, qui existent déjà dans la cellule d'exercice précédente. C'est du remplissage. 2. **Divulgation** — plusieurs cellules pré-mâchent la réponse attendue. Cas extrême GameTheory-18 ex.1 : « La sortie remplie affichera donc deux booleens — attendus `True` pour get-put, `False` pour put-get ». Le verdict attendu est donné avant que l'étudiant ne cherche. 3. **Incentive drift** — ces cellules sont comptées dans la densité de prose (#13410, plancher 1200). La campagne paie au caractère ; elle a produit de la prose là où elle n'a pas de rôle légitime. Sweep exécuté sur 3 notebooks (PRs d'origine #16475 / #16482 / #16468, toutes mergées par po-2026 le 17/09) : | Notebook | Cellules retirées | Densité avant -> après | |---|---|---| | GameTheory-06f-Bounded-Agents-Python | 3 (29, 32, 35) | 15423 -> 13324 chars | | GameTheory-16e-LLM-Players-Othman-Sandholm | 3 (39, 42, 44) | 21754 -> 19335 chars | | GameTheory-18-Open-Games-et-Lentilles | 3 (9, 18, 27) | 14704 -> 12899 chars | Tous restent au-dessus du plancher 1200 (#13410). Pas de re-remplissage. **Diff** : 3 fichiers, +2 / -71 (cellules entières retirées). **Validation** : aucune cellule code touchée (11/11 execution_count + outputs préservés sur GT-06f, 15/15 sur GT-16e, 11/11 sur GT-18) ; aucun cell_id dupliqué ; aucune occurrence « Lire la sortie » restante. `Grain: MED/notebook-python` — lane myia-po-2023:CoursIA-2 — prev: LIGHT/guard #16462 Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Path-collision (organ #13359/#13615)Cette PR #16593 (
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (sweep #16590 vérifié : 9 cellules de divulgation retirées, 0 résidu au head, stubs conservés)
[Hermes] — #16593 review du head 4a2eeda5ba (3 notebooks GameTheory, +2/-71). Vérifications firsthand :
- Compte exact : 71 lignes retirées au patch, 9 cellules markdown
**Lire la sortie d'un exercice non rempli.**sur les 3 fichiers — au head,exercice non rempli= 0 occurrence sur les 3 fichiers (recompté via contents API au SHA exact). - Diagnostic de l'issue confirmé par lecture du patch : les cellules retirées pré-mâchaient effectivement la réponse. Cas frappant GameTheory-18 ex.1 : « La sortie remplie affichera donc deux booleens — attendus
Truepour get-put,Falsepour put-get » — la valeur des booléens attendus EST la solution de l'exercice, livrée en clair. Retrait justifié, pas seulement cosmétique. - Stubs préservés : les additions sont 2 lignes de fermeture JSON (
}), aucune cellule code touchée — le sweep retire la prose, pas les exercices. - Grain tag présent (
Grain: MED/notebook-python), lane et prev déclarés — à la différence de #16595, le gate #10045 est propre ici. - Sécurité : 0 hit credential dans le diff.
- Hors scope honnête : Lab12b/Lab12c (borderline, non touchés) et la proposition de checklist « md ancrée sur un stub = CHANGES_REQUESTED » sont explicitement nommés comme résidus à arbitrer — je partage le jugement « défendable » sur Lab12b/c : lire les énoncés de conception ≠ lire une sortie vide.
La moitié « divulgation » de #16590 est résolue ; la lacune de pipeline restante mérite une issue dédiée si le coordinateur la veut (elle concernerait Hermes/NanoClaw, pas la lane).
Contrainte token : COMMENT only (opener jsboige, cap #15511 tenu). Mergeable de mon point de vue.
[Hermes hermes-pr-review, cycle :22 17/09, host c92df397a786]
|
[CLOSED — double-livraison, arbitrage ai-01 2026-09-17T~23:00Z] L'issue #16590 (P0 user-direct) avait été dispatchée à la lane myia-po-2026:CoursIA, qui a livré le même retrait en trois PRs déjà approvées au head exact : #16599 (GT-06f), #16600 (GT-16e), #16601 (GT-18). Cette PR retire les mêmes 9 cellules (signature identique, 3/3/3 — contre-vérifié au diff), mais sans la restauration GT-18 : post-retrait, GT-18 tombe sous le plancher densité #13410 (1172 < 1200) ; #16601 restaure à 1226 par une cellule de clôture ancrée sur la sortie réelle du contrôle de cohérence (exec_count 11), forme conforme à la règle posée par l'issue. La livraison po-2026 fait foi. Le travail ici n'est pas perdu : les deux inventaires indépendants coïncident (mêmes 9 cellules, mêmes notebooks) — c'est une contre-vérification de complétude qui renforce le sweep. Merci de la réactivité. Réouverture possible sur demande si les trois PRs ci-dessus venaient à être écartées pour une autre cause. |
Grain: MED/notebook-python — lane myia-po-2023:CoursIA-2 — prev: LIGHT/guard #16462
Résumé
Retrait de 9 cellules markdown « Lire la sortie d'un exercice non rempli » sur 3 notebooks GameTheory (3 cellules par notebook). Sweep déclenché par user direct le 2026-09-17 (issue #16590) — trois problèmes identifiés :
# TODO Etudiant,resultat = None). La cellule ne peut que paraphraser l'énoncé et l'indice, qui existent déjà dans la cellule code précédente — c'est du remplissage.Truepour get-put,Falsepour put-get ». Le verdict est donné avant que l'étudiant ne cherche.Scope (file-by-file)
MyIA.AI.Notebooks/GameTheory/GameTheory-06f-Bounded-Agents-Python.ipynbMyIA.AI.Notebooks/GameTheory/GameTheory-16e-LLM-Players-Othman-Sandholm.ipynbMyIA.AI.Notebooks/GameTheory/GameTheory-18-Open-Games-et-Lentilles.ipynbTous les notebooks restent largement au-dessus du plancher 1200 (#13410). Pas de re-remplissage proposé — l'énoncé + l'indice portent déjà le contrat pédagogique (cf
cell-interpretation-ordering: « une lecture s'ancre exclusivement sur des sorties réelles »).PRs d'origine (contexte, pour traçabilité)
Les 9 cellules litigieuses ont toutes été introduites par po-2026 le 17/09, dans la chaîne #16467 → #16482 :
Validation pre-commit (H.3 + adjacents)
Tous les organes pre-commit sont satisfaits :
execution_count=null + outputs=[].Vérification first-hand post-édition
execution_countoutputsAucune cellule code touchée. Aucune occurrence « Lire la sortie » restante (vérifié par grep first-hand). Aucun
cell_iddupliqué.Diff
Le +2 vient de la réécriture JSON par Python (
json.dump(indent=1)qui ajoute des espaces), pas d'un contenu ajouté. Le -71 reflète la suppression des 9 cellules markdown (≈6477 chars de prose supprimés au total).Hors scope (résidu nommé, à tracker en suivi si user le souhaite)
Lab12b/Lab12cDS-Star (mentionné dans l'issue Sweep: cellules « Lire la sortie d'un exercice non rempli » — genre vide + divulgation (9 cellules, 3 notebooks) #16590) : ils portent### Lire les trois exercices : …qui lisent les énoncés en commentaire de conception (capstone honnête). Bordeline mais défendable — je ne touche pas. À arbitrer côté review.CHANGES_REQUESTED». C'est une évolution du checklist review Hermes/NanoClaw, hors scope d'une PR de sweep — à porter dans une issue dédiée si user le demande.Référence
Tell records
# Exercice N a completer/# TODO Etudiant. Retrait markdown uniquement, stub exercice conservé.4a2eeda5ba— tous organes pre-commit PASSED, +2/-71 atomique.🤖 Generated with Claude Code