Repository navigation
fix(search,#18256): Search/Applications -- retirer la promesse DQN-RL absente du contenu - #18491
Conversation
…e du contenu Le README de Search/Applications et les deux notes de navigation de App-14-ConnectFour-Adversarial annonçaient un agent « DQN-RL » et renvoyaient vers App-14b pour « 8 algorithmes (DQN-RL, etc.) ». App-14b ne contient aucun code d'apprentissage par renforcement : ses joueurs sont aléatoire, Minimax alpha-beta, MCTS, glouton, puis le framework AIMA de Russell & Norvig, avec un tournoi round-robin et des exercices Negamax / approfondissement itératif. Le DQN a bien existé, mais dans le projet étudiant source (Groupe 12, EPITA PPC 2025) : il n'a pas été porté dans le carnet. La mention de la section Hommage qui crédite l'étudiant reste donc intacte -- c'est un crédit de travail réel, pas une promesse de contenu. Cinq surfaces corrigées, markdown uniquement : - README ligne 44 (noeud mermaid) : DQN-RL -> AIMA - README ligne 58 (prose) : liste des joueurs réels du premier binôme - README ligne 62 (tableau) : contenu réel d'App-14b - App-14-ConnectFour-Adversarial.ipynb, cellule nav-header #0 (note) - App-14-ConnectFour-Adversarial.ipynb, cellule nav-header #1 (note) Aucune cellule de code touchée, aucun output modifié : la ré-exécution n'est pas due (C.2, exception markdown). Parité des jumeaux re-mesurée : verdict OK pour App-14 ConnectFour Adversarial (aucune modification du côté C#). Voir #18256 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
…sarial Le registre stocke le git blob SHA de chaque jumeau : toute edition le deplace, y compris markdown-only. La correction de la note de navigation des cellules nav-header a donc mis la paire en DRIFT au regard de l'organe (#8057), sans rien changer a la parite semantique -- le cote C# n'est pas touche et les deux cotes portent toujours le meme socle (moteur, Minimax alpha-beta, MCTS, glouton, tournoi round-robin). Sidecar 0014, forme attendue par l'organe (une attestation par rebaseline). Aucune modification du registre : le verdict reste OK, seule l'attestation SHA avance. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
|
Trivial-diff advisory (#15740, non bloquant). |
…-header duplique) Le gate `No markdown content loss in changed notebooks` rougissait la PR #18491 sur un TRUNCATED_CELL 2126c -> 1156c (ratio 0.544) a la cellule 0. Mesure : ce n'est PAS une perte de contenu. Le diff de la PR est de 2 lignes et le total normalise du carnet AUGMENTE (25068 -> 25219). La cause est un id de cellule DUPLIQUE : les cellules 0 (titre) et 1 (Hommage) portaient toutes deux `id: nav-header` -- deja sur main, independamment de cette PR. L'organe detect_md_content_loss.py apparie les cellules par id quand les ensembles d'ids sont egaux (l.766-780) ; son `base_by_id` est un dict, donc le doublon s'ecrase et la cellule 1 (Hommage, 2126c) se retrouve appariee a la cellule 0 (head, 1156c) : d'ou le faux TRUNCATED_CELL. Un id duplique viole par ailleurs le spec nbformat (ids uniques dans un carnet). Fix : cells[1].id -> `hommage-section` (style des ids voisins : intro-section, imports). Aucun outil ne depend de `nav-header` (grep scripts/, .github/workflows, .claude/rules = 0 hit). Apres fix : findings=0, rc=0. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Le blob du carnet a bouge avec le fix d'id de cellule (69727e8), donc l'attestation 0014 ne vaut plus. Sidecar 0015 = etat du carnet a HEAD. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] |
Grain: LIGHT/readme -- lane myia-po-2023:CoursIA -- prev: DEEP/genai #18459
Le défaut
Le README de
Search/Applicationset les deux notes de navigation deApp-14-ConnectFour-Adversarial.ipynbannonçaient un agent DQN-RL :ConnectFour, Minimax, MCTS, DQN-RL,App-14b-ConnectFour | Puissance 4 : Minimax, MCTS, **DQN-RL**nav-header#0 : « Pour une étude complète avec 8 algorithmes (DQN-RL, etc.), voir App-14b »nav-headerfeat: add stiegler or tools #1 : même phraseAucun de ces contenus n'existe. Le balayage des sources de tous les carnets de
Search/Applications(jamais les sorties, qui portent du base64 PNG — ungrep DQNymatche par hasard) ne rend qu'une seule occurrence de DQN après correctif : la ligne de
crédit de la section Hommage, qui attribue à un étudiant un travail réel du projet source.
Ce qu'
App-14b-ConnectFour.ipynbcontient réellement, énuméré par ses propres titres :moteur de jeu, IA 1 aléatoire, IA 2 Minimax α-β, IA 3 MCTS, IA 4 glouton,
tournoi round-robin, puis le framework AIMA de Russell & Norvig (sections 8.1-8.4), et
trois exercices (Negamax, approfondissement itératif, ordonnancement des coups). Zéro
apprentissage par renforcement. Sa seule mention d'RL est un « Pour aller plus loin » qui
renvoie vers une autre série.
D'où venait la promesse
Le DQN a bien existé — dans le projet étudiant source (Groupe 12, EPITA PPC 2025), où
il est explicitement crédité. Il n'a pas été porté dans le carnet CoursIA, mais la
référence est restée dans la documentation. La correction ne touche donc pas la ligne
de crédit : un crédit de travail réel n'est pas une promesse de contenu.
Ce qui change
ConnectFour, Minimax, MCTS, DQN-RLConnectFour, Minimax, MCTS, AIMAMinimax, MCTS, DQN-RLaléatoire, Minimax α-β, MCTS, glouton, framework AIMA (Russell & Norvig), tournoi round-robinnav-header#0nav-header#1Les deux autres carnets de la sous-série (
App-14b,App-14c-ConnectFour-CSharp) portentdéjà une description exacte — le jumeau C# ligne 63 énumère correctement « Minimax +
Alpha-Beta + MCTS (UCB1) + glouton + iterative deepening » : c'est le libellé de la ligne 62
qui était resté en arrière, pas l'inverse.
Preuves
git diff= 5 insertions /5 suppressions sur 2 fichiers. La ré-exécution n'est pas due (règle C.2, exception
markdown ; aucun
outputsniexecution_countmodifié).check_twin_parity.pyrend OK pourApp-14 ConnectFour Adversarial(aucune modification côté C# — le texte de la notedécrit le même socle des deux côtés).
check_prose_quantitative_claims.py --diff origin/main...HEAD→
[OK] aucun compteur quantitatif en prose.La formulation retenue nomme lesjoueurs au lieu d'annoncer un nombre, précisément pour ne pas entretenir un total à la
main (règle E).
Search/Applications/**: 1 occurrence, le créditétudiant (contrôle négatif ci-dessus).
Hors périmètre (voir #18256)
Cette PR ne traite que le finding confirmé de l'audit. Le réexamen des quatre autres
findings est posté sur l'issue, avec ses mesures.
See #18256
🤖 Generated with Claude Code