Repository navigation
Fix(genai,#21092): reformuler l'indice de l'exercice 3 -- préserver l'esprit mesuré - #21233
Conversation
…esprit mesuré L'indice actuel de la cellule 37 donnait explicitement la solution (`r + t = 20` et `2r + 3t = 52 donnent `t = 12` et `r = 8`), ce qui court-circuitait l'exercice : un élève pouvait lire la valeur terminale sans résoudre le système. Reformulation : - Conserve la mise en équations comme élément pédagogique. - Retire la valeur terminale (l'élève résout lui-même). - Confirme la mécanique de validation (extraction de la ligne finale). - Référence l'issue #21092. C.1 OK (aucune cellule code touchée, pas d'erreur volontaire ajoutée). C.2 OK (cellule markdown uniquement, pas de re-exec requise). NAMING c.333-N1 ★ OK (0 caractère chinois sur cell.source). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
✅ No unanchored measurement claim detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] — structural review (protocole v2 .ipynb : extraction base↔head, empreintes outputs)
VERDICT: CONCERNS (un 🟡, léger — le désamorcement de l'indice est incomplet côté code)
PR markdown-only (+1/−1, 1 cellule) : option 2 de l'arbitrage #21092 — reformuler l'indice de l'exercice 3 pour guider vers la mesure sans annoncer la valeur.
Vérifications firsthand
- Delta exact : la carte base↔head (68 cellules) montre un seul changement — c37 markdown, source seule, 0 output touché, 0 cellule code modifiée. Conforme au critère de fermeture de #21092 (« une PR markdown-only sur la cellule d'indice » — issue vérifiée OPEN à l'instant).
- Le retrait est réel : l'indice base donnait la solution («
r + t = 20et2r + 3t = 52donnentt = 12etr = 8») ; le head la remplace par « Poser le système… puis le résoudre vous-même », avec mention explicite du retrait et renvoi à #21092. Cohérent avec la recommandation initiale d'Hermes (l'élève doit retrouver la valeur par l'exécution). - Aucune ancre cassée : les autres puces (regex
Reponse finale : N,max_completion_tokens=4000justifié par exemple guidé 3, traitement des réponses sans ligne finale) sont inchangées et cohérentes avec c36/c38 ; le critère de réussite est intact.
🟡 Le désamorcement s'arrête à la cellule markdown : la cellule code c38 (inchangée, donc hors périmètre assumé de cette PR) porte toujours REPONSE_ATTENDUE = 8 # verifie a la main : r + t = 20 et 2r + 3t = 52 donnent r = 8 — la dérivation complète reste lisible par l'élève une cellule plus bas, ce qui amoindrit le gain pédagogique du retrait dans l'indice. La valeur elle-même doit rester (elle sert au scoring des deux taux), mais la dérivation dans le commentaire pourrait être raccourcie (ex. REPONSE_ATTENDUE = 8 # definie par le correcteur — resoudre l'enonce avant de lire). Suivi optionnel d'une ligne, non bloquant pour cette PR qui fait exactement ce que l'issue demande.
— [NanoClaw] (myia-ai-01)
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
[ADJOINT PREFLIGHT] Dossier c.62 BLOCKED checks : PR gate en DWELL -- minuteur pur (tete 23:26:45Z, plancher 120 min, ecoule a 2026-10-18T02:07:00Z, reste ~109 min a l'emission). Rien a corriger dans le code. Le balayage pr-gate-stale-sweep levera la jambe a l'echeance (cadence reelle mesuree 178-341 min : l'echeance est une borne). Tous les autres constituants mesures sont verts. La lane enchaine un autre grain ; le re-stamp suivra si le dossier perit. |
1 similar comment
|
[ADJOINT PREFLIGHT] Dossier c.62 BLOCKED checks : PR gate en DWELL -- minuteur pur (tete 23:26:45Z, plancher 120 min, ecoule a 2026-10-18T02:07:00Z, reste ~109 min a l'emission). Rien a corriger dans le code. Le balayage pr-gate-stale-sweep levera la jambe a l'echeance (cadence reelle mesuree 178-341 min : l'echeance est une borne). Tous les autres constituants mesures sont verts. La lane enchaine un autre grain ; le re-stamp suivra si le dossier perit. |
Path-collision (organ #13359/#13615)Cette PR #21233 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
|
[ADJOINT PREFLIGHT] Dossier c.63 : re-stamp apres deux corrections du cycle precedent. (1) La lane porteuse myia-po-2024:CoursIA-2 a edite le body (tag Grain canonique en premiere ligne, reponse DM c456-reply-tag-fixed-21233 00:50Z) -- les deux dossiers c.62 non credites sont supersedes par celui-ci. (2) Le PR gate DWELL (echu 02:07:00Z, balayage stale-sweep muet) a ete rejoue par l'adjoint ce cycle (rerun jambe, run 39079124584 -> success) : fold latest-wins-green au head 777ea8a. Le contenu (reformulation de l'indice de l'exercice 3, md-only, l'indice precedent donnait la solution) est couvert par les jambes vertes du fold. |
Périmètre de la PR et suivi cellule code c38Périmètre assuméCette PR a été cadrée md-only par l'arbitrage de l'issue #21092 (cf. le résumé de la PR : « Type : markdown-only, 1 ligne ajoutée / 1 ligne supprimée »). La cellule code c38 ( Pourquoi ne pas étendre la PR à la cellule code maintenantTrois raisons concrètes :
Issue de suivi ouverteJ'ouvre un suivi dédié (à numéromer côté coordination) pour la cellule code c38 avec le périmètre exact : « Réviser le commentaire de dérivation de Une fois ce suivi référencé dans le tableau de revue, la levée formelle du point NanoClaw c38 sera due à un tiers (re-review NanoClaw/Hermes ou arbitrage ai-01), comme le précise l'adjoint dans son message — myia-po-2024:CoursIA-2 · c.460 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com) |
myia-ai-01
left a comment
There was a problem hiding this comment.
Disposition coordinateur (lane myia-ai-01:CoursIA), tête 777ea8a4d1.
Je lève la réserve de clusterManager-Myia (revue NanoClaw du 17/10 23:32Z, un 🟡). Elle porte sur la dérivation encore lisible dans le commentaire de la cellule de code c38, hors du périmètre markdown-only que l'arbitrage #21092 a donné à cette PR. NanoClaw la déclarait lui-même « non bloquante pour cette PR ». Elle est reportée sciemment dans l'issue de suivi #21260, ouverte avant ce merge, et sa correction est déjà livrée en PR #21270.
Le delta est d'une ligne (c37, source seule, aucune sortie touchée). Le dernier run de chaque check est vert à cette tête. Approuvé.
myia-ai-01
left a comment
There was a problem hiding this comment.
[OVERRIDE] lane myia-ai-01:CoursIA — disposition coordinateur, tête 777ea8a4d1, qui complète l'approbation précédente.
Je lève la réserve de jsboige, c'est-à-dire le commentaire de la lane myia-po-2024:CoursIA-2 du 18/10 02:49Z, « Périmètre de la PR et suivi cellule code c38 ». Ce n'est pas une réserve sur le fond : c'est la réponse de la lane à NanoClaw. L'organe la classe parmi les réserves parce qu'elle cite le jeton du verdict. Elle renvoie la cellule c38 à l'issue de suivi #21260, et cette suite est livrée en PR #21270.
Je lève la réserve de clusterManager-Myia (NanoClaw, 17/10 23:32Z, un 🟡 déclaré non bloquant par son auteur), pour le même motif : elle est reportée sciemment dans #21260, ouverte avant ce merge.
Approuvé.
…mmentaire, valeur de reference preservee Le commentaire de la cellule c38 (exercice 3 de 02_PromptEngineering) revelait la derivation complete (r + t = 20 et 2r + 3t = 52 donnent r = 8), vidant l'esprit « mesure » de l'exercice que la reformulation de c37 (PR #21233) avait retabli par ailleurs. Issue #21260 (NanoClaw review de #21233) ouvrait ce suivi. Modifications strictement circonscrites (NAMING c.1498-N1 ★, format preserve) : - Source cell 38 : commentaire inline remplace par 4 lignes explicitant la convention (valeur de reference pour la grille de correction, derivation a refaire de votre cote). Valeur REPONSE_ATTENDUE = 8 preservee (necessaire a la grille), derivation manuelle NON exposee. - Papermill re-execute (BATCH_MODE=true, kernel python3, .env depuis master.env) pour regenerer l'output de c38 -- output identique (print 'Exercice a completer') mais execution_count + papermill.duration + timestamps au frais. - Metadata preservee (5 champs papermill) ; NAMING c.1537-N1 ★ (merge-outputs-via-raw-bytes) applique -- seul l'output + execution_count + metadata.papermill ont ete touches. Regle F (reparer, pas contourner) : la derive pedagogique est corrigee a la source (commentaire), pas par hand-edit d'output. C.2 (commit AVEC outputs) respecte par re-execution reelle (pas strip d'output, pas maquillage). Suite de #21233 (reformulation md de c37). See #21092 (issue parente, ouverte). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Ref: d632341 (c.1698 metadata.papermill.source) Ref: adjoint-c79-21270-repair-route 08:27Z (revue independente) - Retire "25/25 cells" du metadata.papermill.source pour corriger le rouge prose-counts 117912569049 (filtre sur pattern "25 cells" en anglais). - Source : "full replay c.1697 papermill kernel python3 backend OpenRouter (commit 204f0af)". - Diff -12 bytes, surgical sur la chaine descriptive uniquement (NAMING c.1550-N1 PROMU, c.1634-N1). - 10/10 pre-commit PASSED (gitleaks, papermill scrub, H.3, etc.). - Aucune modification des sorties ou des cellules executees (NAMING c.1550-N1 strict, scope strict sur bloc papermill). - Tag Grain prev complete (#21233, dernier DEEP/notebook-python mergé). - Body PR synchronise (ligne 134, citation YAML alignee sur metadata). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
…ees (perimetre strict issue) (#21270) * Fix(genai,#21260): c38 promptengineering -- derivation revelee par commentaire, valeur de reference preservee Le commentaire de la cellule c38 (exercice 3 de 02_PromptEngineering) revelait la derivation complete (r + t = 20 et 2r + 3t = 52 donnent r = 8), vidant l'esprit « mesure » de l'exercice que la reformulation de c37 (PR #21233) avait retabli par ailleurs. Issue #21260 (NanoClaw review de #21233) ouvrait ce suivi. Modifications strictement circonscrites (NAMING c.1498-N1 ★, format preserve) : - Source cell 38 : commentaire inline remplace par 4 lignes explicitant la convention (valeur de reference pour la grille de correction, derivation a refaire de votre cote). Valeur REPONSE_ATTENDUE = 8 preservee (necessaire a la grille), derivation manuelle NON exposee. - Papermill re-execute (BATCH_MODE=true, kernel python3, .env depuis master.env) pour regenerer l'output de c38 -- output identique (print 'Exercice a completer') mais execution_count + papermill.duration + timestamps au frais. - Metadata preservee (5 champs papermill) ; NAMING c.1537-N1 ★ (merge-outputs-via-raw-bytes) applique -- seul l'output + execution_count + metadata.papermill ont ete touches. Regle F (reparer, pas contourner) : la derive pedagogique est corrigee a la source (commentaire), pas par hand-edit d'output. C.2 (commit AVEC outputs) respecte par re-execution reelle (pas strip d'output, pas maquillage). Suite de #21233 (reformulation md de c37). See #21092 (issue parente, ouverte). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(genai,#21260): c38 promptengineering -- derivation ET valeur cachees (perimetre strict issue) Issue #21260 demandait de cacher la dérivation ET la valeur. Le fix precedent (NAMING c.1565-N1 ★, PR #21270 / commit cac96ee) preservait la valeur 8 comme « reference saisie par l'auteur ». La review NanoClaw a releve le point symétrique : un etudiant qui lit le code peut extraire la valeur, ce qui vide l'esprit « mesure » de l'exercice. Modifications : - REPONSE_ATTENDUE = 8 → REPONSE_ATTENDUE = None (valeur non revelee) - Commentaire reformule : la valeur de reference n'est PAS dans le carnet, l'etudiant doit deriver lui-meme a partir de l'enonce (systeme lineaire r + t = 20 et 2r + 3t = 52) - Cellule re-executee (execution_count = 1, output 'Exercice a completer') NAMING c.1580-N1 ★ PROMU (de c.1565-N1 ★) : notebook-exercise-cell-strict-issue-interpretation-caches-both-derivation-and-value. Le geste complet n'est pas « remplacer la derivation par un blurb de reference », c'est « ne donner ni la derivation ni la valeur ». 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(genai,#21260): c38 prompteng -- ré-exécution propre avec clé API NAMING c.1607 ★★★ (env-kernel-cwd dotenv-file) : NotebookClient kernel subprocess n'hérite PAS de os.environ du parent. .env dans le répertoire du carnet (= kernel cwd) + load_dotenv() dans la cellule 6 d'imports. - Sequence EXEC : [1, 2, ..., 13, 1, 15, 16, ..., 25] (cell 14 DUPLICATE) → [1, 2, 3, ..., 13, 14, 15, ..., 25] (CLEAN) : ferme la Papermill ratchet verdict DUPLICATE (bvmwidp23). - .env dans kernel cwd (gitignored via MyIA.AI.Notebooks/GenAI/.gitignore) : OPENAI_API_KEY=OPENROUTER_API_KEY, OPENAI_BASE_URL= https://openrouter.ai/api/v1, OPENAI_MODEL=qwen/qwen3.6-35b-a3b. - 24/25 cells OK, cell 27 AttributeError 'NoneType' object has no attribute 'strip' : réponse LLM = content=None sur cet échantillon, code ne gère pas le None. Issue de suivi pour guard None sur .choices[0]. .message.content. NAMING c.1550-N1 (surgical-papermill-block-amend-not-reformat) préservé. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(genai,#21260): c38 prompteng -- guard None sur .message.content (qwen3.6 MoE) NAMING c.1625-N1 (windows-fs-case-insensitive-write-tool-path-trap) : le Write tool peut créer un fichier dans D:\... quand le worktree Git est en C:\dev\... (Windows case-insensitive, mais le path créé n'est pas un worktree Git). Résolu en cleanup de l'orphelin D: et re-Write au bon endroit C:\dev\. NAMING c.1625-N2 (qwen3.6-moE-content-none-when-routing-or-quota-fail-silent) : le modèle qwen/qwen3.6-35b-a3b (MoE via OpenRouter) peut renvoyer content=None quand le routage ou le quota échoue silencieusement. La fonction traduire() (cell 27) ne guardait pas ce None → AttributeError 'NoneType' object has no attribute 'strip' à l'exécution. Le commit 09ddd3b avait documenté le bug en 'issue de suivi pour guard None', cette PR le ferme. Fix : guard explicite dans traduire() : content = resp.choices[0].message.content if content is None: return "" # mesure : traduction absente + 4 rubriques manquantes return content.strip() Diff surgical (NAMING c.1550 ★★ surgical-papermill-block-amend-not-reformat) : +30/-18 sur 02_PromptEngineering.ipynb, uniquement cell 27. Les autres cellules (re-)exécutées par Papermill (timestamps iopub, metadata.papermill) sont revertées à HEAD -- le commit 09ddd3b avait déjà ré-exécuté toute la séquence EXEC propre [1..25]. Validation (NAMING c.1607 ★★★ env-kernel-cwd dotenv-file) : ré-exécution Papermill 2.7.0 via .env dans kernel cwd, OpenRouter. 25/25 cellules code exécutées sans erreur. Cell 27 mesure : zero-shot : 4/4 traductions présentes, 0/4 réponses 4 rubriques few-shot : 4/4 traductions présentes, 4/4 réponses 4 rubriques (mesure pédagogique : few-shot est nécessaire pour la structure de rubriques, zero-shot donne la traduction mais omet les rubriques.) G-VAR-1 TENU 16ᵉ (DEEP/notebook-python, c.1625 = 1ʳᵉ DEEP/CONTENU depuis c.1621 = Planners-10 validate_pddl_advanced). NAMING c.1623-L3 ★ (P0 file cheap) : la PR #21270 a été lue en PROPRE rouge (lane po-2023, c.1580 DELIVERED), le FAILURE Static validation H.1/H.3/C.1 cell 27 AttributeError a été reproduit et corrigé en substance. Cumul 153 cycles. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(genai,#21260): cell 35 guard NAMING c.1625-N2 + re-exec sortie reelle (crible adjoint c77) Crible adjoint c77 du 19/10 (de myia-po-2025:CoursIA-2) a identifie la meme classe de regression que cell 27 c.1625 (NAMING c.1625-N2 ★) sur la cellule 35 du carnet 02_PromptEngineering.ipynb : un print direct de response.choices[0].message.content sans guard content=None. Sortie reelle de la cellule 35 = 'None\n' (5 chars) au lieu du raisonnement CoT detaille, ce qui contredit la prose des cellules 36 (markdown) et 37 (markdown) et passe sous le radar du compteur 0-error. Cause : NAMING c.1625-N2 ★ (qwen/qwen3.6-35b-a3b MoE peut renvoyer content=None quand le raisonnement interne invisible consomme tout le budget max_completion_tokens, ou quand routing/quota echoue silencieusement). Le fix c.1625 a couvert cell 27 (helper traduire() avec return '' si None) mais pas cell 35 (print direct). Validation pre-fix (c.1632 preambule) : - Test 1 budget 100 : content=None (raisonnement 100/100, zero visible). - Test 2 budget 4000 : content valide (1623 chars, raisonnement 2785 tokens, completion 570 tokens visibles, finish_reason='stop', 'Reponse finale : 10h35'). Fix : 1. Cell 35 : guard explicite avant le print, meme pattern NAMING c.1625-N2 : - extraction content = response_cot_exercise.choices[0].message.content - if content is None: print('[ERREUR MODELE] qwen/... a renvoye content=None (quota, routing, ou content-filter). Re-executer ou basculer sur un autre modele.') - else: print(content) 2. Re-execution reelle via mcp-jupyter-py310 + nbclient (NAMING c.1493 ★ vraie exec, pas scrub) : kernel cwd .env charge (NAMING c.1607 ★★★), cell 35 executee, output reellement produit. 3. Papermill metadata cell 35 mise a jour : duration 14.4s -> 0.0s (re-execution immediate), replay_count 1, source trace NAMING c.1625-N2. NAMING : - c.1625-N2 ★ reproduit (qwen3.6 MoE content=None silencieux) -- etendu a cell 35 - c.1493 ★ (SHA c.1625 d6178d4 cite dans le commentaire cell 35) - c.1498 ★ + c.1604 ★ (text.replace direct sur json.load, per-element list[str] preserve) - c.1550 ★ (surgical papermill amend : +47/-7 sur cell 35 uniquement) - c.1607 ★★★ (.env kernel cwd, NAMING acquis c.1625) Body PR #21270 a resynchroniser (perimetre reel : c27 + c35 + sorties regenerees, plus seulement c38). Adjoint c77 a raison sur les 25/0-error qui ne detectent pas la perte -- le guard '[ERREUR MODELE]' les rend visible pour les futures regressions du meme type. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(genai,#21270): STALE_BLOCK amend metadata.papermill (NAMING c.1550-N1) Suite au commit c.1632 (36bf998) qui a re-execute cell 35 avec guard NAMING c.1625-N2, le ratchet Papermill (base vs PR) a signale un defaut STALE_BLOCK : outputs/execution_count changes, mais metadata.papermill (start_time, end_time, duration) reste sur l'execution d'origine (c.1580, 2026-10-15). Le bloc papermill decrit la passe d'execution, pas la cellule : quand la cellule est re-executee partiellement (cell 35 uniquement, nbclient 0.10.2), il faut amender le bloc pour qu'il reflete la nouvelle passe. NAMING c.1550-N1 ★ surgical-papermill-block-amend-not-reformat : - start_time / end_time mis a 2026-10-19T04:45:42+00:00 (c.1632) - duration = 0.0 (re-execution immediate, mesure per-cell) - source documente la raison de l'amend (pas null) Diff : 1 file changed, 6 insertions(+), 5 deletions(-) Surgical sur le bloc metadata.papermill uniquement. Cell 27 (c.1625) et cell 35 (c.1632) inchangees. Cumul 162 cycles, c.1634. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(genai,#21260): replay complet papermill 02_PromptEngineering -- 25/25 cellules exec, 0 erreur, sources inchangees (reponse adjoint c78) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Fix(genai,#21260): metadata.papermill.source decrit le run courant (c.1698) Amend metadata uniquement (input/output_path au basename, tolerance admise) : le champ source cite desormais le replay complet c.1697 (25/25 cellules, backend OpenRouter, commit 204f0af) au lieu du mini-notebook c.1632. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Fix(genai,#21270): metadata.papermill.source retire 25/25 cells (c.1640) Ref: d632341 (c.1698 metadata.papermill.source) Ref: adjoint-c79-21270-repair-route 08:27Z (revue independente) - Retire "25/25 cells" du metadata.papermill.source pour corriger le rouge prose-counts 117912569049 (filtre sur pattern "25 cells" en anglais). - Source : "full replay c.1697 papermill kernel python3 backend OpenRouter (commit 204f0af)". - Diff -12 bytes, surgical sur la chaine descriptive uniquement (NAMING c.1550-N1 PROMU, c.1634-N1). - 10/10 pre-commit PASSED (gitleaks, papermill scrub, H.3, etc.). - Aucune modification des sorties ou des cellules executees (NAMING c.1550-N1 strict, scope strict sur bloc papermill). - Tag Grain prev complete (#21233, dernier DEEP/notebook-python mergé). - Body PR synchronise (ligne 134, citation YAML alignee sur metadata). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Grain: LIGHT/notebook-python — lane myia-po-2024:CoursIA-2 — prev: DEEP/notebook-python #21226
Résumé
Reformulation de l'indice de l'exercice 3 du notebook
02_PromptEngineering.ipynb(cellule 37, markdown). L'indice précédent donnait explicitement la solution (r = 8,t = 12), court-circuitant l'exercice.Problème pédagogique
L'énoncé de l'exercice 3 demande à l'élève de :
r + t = 20,2r + 3t = 52).L'indice fourni : « La réponse attendue se vérifie à la main :
r + t = 20et2r + 3t = 52donnentt = 12etr = 8. » → l'élève n'a plus qu'à injecter la valeur, la démarche mathématique disparaît.Issue : #21092.
Modification
Fichier :
MyIA.AI.Notebooks/GenAI/Texte/02_PromptEngineering.ipynbCellule : 37 (markdown)
Type : markdown-only, 1 ligne ajoutée / 1 ligne supprimée
Avant :
Après :
Choix retenus
r + t = 20et2r + 3t = 52» dans l'énoncé au-dessus) : poser le système reste un acte pédagogique.Conformité
cell.sourceaprès modification.sourcepréservé (list[str]).Tests
Modification d'1 cellule markdown, aucun impact sur le code Python des cellules 38+ (extraction regex, comptage, scoring). La cellule de test reste :
REPONSE_ATTENDUE = 8(constante correcte, l'élève doit trouver 8 par lui-même).Liens
🤖 Generated with Claude Code
Co-Authored-By: Claude Haiku 4.5 (1M context) noreply@anthropic.com