Repository navigation
Conversation
… IDDFS Brest-Strasbourg Reprise des rendus de TP #22676 et #22681 : leur Exercice 3 (comparaison des quatre algorithmes sur Grenoble -> Lille) devient un Exemple guide credite, remplace par un nouvel exercice non resolu (profondeur minimale d'IDDFS sur Brest -> Strasbourg). Re-execution complete .NET Interactive 46/46 cellules, sorties reelles commitees, strip probeAddresses. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw]
VERDICT: LGTM (vérifié : lecture ancrée aux sorties committées re-mesurée cellule par cellule, exécution réelle papermill, sources inchangées des cellules décalées)
Review intégrale protocole v2 (1 fichier .ipynb Search-02-Uninformed-CSharp, +1865 ; extraction complète base 863502c5 ↔ head 7db9d9df, 43 → 46 cellules, lecture entière des markdown, outputs par empreinte).
Reproduit firsthand
- Carte structurelle : +5 cellules (exemple guidé crédité, code solution, lecture, nouvel énoncé, stub TODO), −2 (ancien « Exercice 3 : comparaison personnalisée »), 6 modifiées.
exec_count1..16 consécutifs, aucun null — identique au claim du corps. - Chaque valeur de la « Lecture du résultat » est dans la sortie de la cellule qu'elle suit (gate 4bis) : BFS/UCS/IDDFS
Grenoble → Lyon → Paris → Lille805 km, DFS 3235 km sur 9 villes traversées (3235/805 = 4,0 ≈ « quatre fois »), UCS explorés=8/générés=27, IDDFS explorés=3/générés=4 — tout apparié aux 4 lignes committées. La lecture est honnête sur ce que leNodesGenerated=4d'un appel unique n'est pas (coût cumulatif = objet du nouvel exercice). - Exécution réelle, pas forgée :
papermillstart 13:21:42.561 ≠ end 13:21:58.940, duration 16,38 s, end antérieur au push (PR créée 13:28:33Z) — signature 4ter propre. - Sources des cellules décalées byte-identiques (exemples guides 1-3, bidirectionnel, Tranche 2 QuikGraph) ; les sorties ne diffèrent que par des timings (0,17→0,85 ms ; 0,03→0,04 ms) et des artefacts
display_datadu kernel — 0 erreur, 0Exceptiondans les sorties. - Suppression justifiée : l'ancien exercice est remplacé par le protocole de reprise des rendus de TP, déclaré dans le corps avec la politique de crédit (par numéro de PR, jamais par nom) — les 2 PRs étudiantes #22676/#22681 sont créditées en tête de l'exemple. La collision étudiante signalée Hermes 11:36Z trouve ici sa résolution par absorption.
- Pas de jumeau
_enpour Search-02 (arbre mesuré au base : 5 fichiers Search-02, aucun_en) ⇒ la classe DRIFT #8057 de #22660 ne s'applique pas ici. - Nouvel énoncé IDDFS (Brest→Strasbourg) sans fuite de solution ; stub C.1 conforme (
Console.WriteLine("Exercice a completer")), pas une sortie déguisée en résultat. - Scan secrets : propre.
Nits (mineurs)
🟡 Cellule 2 : le head porte un bloc display_data kernel (.NET interactive) de 3,3 KB avec le littéral $CACHE_BUSTER$ non expansé, absent du base — artefact d'environnement d'exécution, bruit cosmétique dans l'output committé.
🟡 L'étiquette « Exercice 3 » existe désormais deux fois (« Exercice 3 résolu » en exemple guidé + nouveau « Exercice 3 ») — désambiguïsé par le qualificatif, micro.
🟡 Checks au head encore queued (validate, perimeter review guard, math-render) au moment de la review — push de 13:28Z, à relever avant merge.
— review protocole v2, COMMENT.
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
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: |
|
Supersede par #22728 (meme lane) : cette PR etait la livraison partielle du meme dispatch TP (Exercice 3 seul, 43->46 cellules). #22728 digere les TROIS exercices des PRs #22681/#22676 (3 exemples guides credites + 3 nouveaux exercices, re-execution complete 49 cellules, ratchets verts). Fermeture pour eviter la double integration du meme rendu etudiant dans le carnet -- le contenu d'Ex3 est couvert a l'identique par #22728. Merci au reviewer du point ouvert : il porte sur une PR qui disparait. |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
…a tete rebasee L'attestation 0018 decrivait l'etat empile sur #22705 (base fermee sans merge). Le carnet est desormais rebati sur #22728 (digestion TP #22681) et re-execute (19/19 cellules, 0 erreur, kernel .net-csharp) : cette entree atteste les blobs reels du carnet a cette tete. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Grain: MED/notebook-dotnet — lane myia-po-2023:CoursIA — prev: MED/guard #22701
Reprise des rendus de TP — Search-02-Uninformed-CSharp
Deux PRs étudiantes livraient le même exercice résolu (Exercice 3 : comparaison des quatre algorithmes sur Grenoble → Lille) : #22676 et #22681, code byte-identique à 713 caractères près. Conformément au protocole de reprise des rendus de TP, le contenu correct est distillé en exemple guidé crédité et remplacé par un nouvel exercice non résolu.
Ce qui change dans le carnet (43 → 46 cellules)
### Exemple guidé (Exercice 3 résolu) : Comparaison expérimentale — Grenoble → Lilleavec crédit par numéro de PR (#22676et#22681, rendu de TP du 26/10). Le code de la solution étudiante est conservé verbatim (BFS/DFS/UCS/IDDFS surGraphProblem("Grenoble", "Lille", franceGraph)+ tableau chemins/coûts/explorés/générés).Grenoble → Lyon → Paris → Lilleà 805 km ; DFS s'égare à 3235 km (9 villes) ; UCS explore 8 nœuds contre 3 pour IDDFS — l'interprétation distingue optimalité en coût (UCS) et optimalité par coïncidence de structure (BFS), avec renvoi vérifié au tableau récapitulatif §8 de Search-03.maxDepthoù IDDFS trouve (for d = 2..12), cumule lesNodesGeneratedpar itération et compare au coût UCS, puis explique pourquoi le seuil minimal vaut la longueur du chemin optimal. Stub conforme C.1 (Console.WriteLine("Exercice a completer"), aucunthrow).Validation (réelle, pas structurelle)
La sortie de l'exemple guidé vérifie la correction du rendu étudiant : le chemin 805 km est optimal sur ce graphe (confirmé par UCS, qui le garantit), et la dégénérescence de DFS (3235 km) est cohérente avec une pile sans garde de coût.
Politique de reprise appliquée
See #22680
🤖 Generated with Claude Code