Repository navigation
fix(rl,#17251): bandeaux de série rl_13 + rl_14 (navigation-misplaced, passe unique) - #17321
Conversation
…n rl_12) - rl_13 : Serie/Notebook 13/18/Duree 35-40 min + Navigation (bandeau absent de l'historique du fichier, constat Hermes navigation-misplaced) - rl_14 : 14/18, ~50 min (durees et denominateur groundes sur le README, serie = 18 notebooks ; le /13 de rl_1..rl_12 est perime, residuel signale) - rl_13 re-execute integralement (32.6s, 0 erreur, ec 1-10) ; rl_14 markdown-only, outputs preserves - 2 signalements C2 sur rl_13 = FP pre-existants du checker contre les stubs C.1 (return None TODO / class-stub), documentes dans le body Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Path-collision (organ #13359/#13615)Cette PR #17321 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
|
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 |
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) |
|
[ADJOINT PREFLIGHT] Motif (secrétaire, c.48) — tête
|
Grain: LIGHT/notebook-python -- lane myia-po-2026:CoursIA -- prev: MED/notebook-dotnet #17318
Bandeau de série rl_13 + rl_14 (finding Hermes #17251,
navigation-misplaced, passe unique série)Défaut : sur 9 notebooks de la série testés par le bot (rl_1, 4, 5, 6, 6c, 8, 9, 10, 12), le bandeau
**Série** : … | **Notebook** : N | **Durée estimée**+ ligneNavigation :est la constante d'orientation.rl_13etrl_14passent directement du titre au texte — l'apprenant qui enchaîne la série perd son repère de position et de durée. Le bandeau n'a jamais existé dans l'historique des deux fichiers (vérifié par le bot sur git log complet ; la tranche densité #16495 ne l'a ni créé ni retiré).Fix (pattern = rl_12, inséré après la ligne de titre) :
rl_13:**Série** : Reinforcement Learning | **Notebook** : 13/18 | **Durée estimée** : 35-40 min+ Navigation (RL-4 Bandits, RL-8 Dyna-Q+, RL-13, RL-12, RL-14).rl_14:**Notebook** : 14/18 | **Durée estimée** : ~50 min+ Navigation (RL-1 CartPole, RL-5 Tabulaire, RL-14, RL-13, RL-16 Dream-RSI).Grounding : positions et durées tirées du README de la série (table 1→18 ; rl_13 = 35-40 min, rl_14 = ~50 min). Le dénominateur retenu est 18 (véridique, README), pas le
/13périmé encore affiché par rl_1..rl_12 — voir résiduel ci-dessous. Toutes les cibles de liens vérifiées sur disque (y comprisrl_4_multi_armed_bandits.ipynb— le nom courtrl_4_bandits.ipynbn'existe pas).rl_13 re-exécuté intégralement (Papermill end-to-end, 32.6 s, 0 erreur,
ec1-10 monotones) — la bannière est markdown-only mais l'occasion est prise pour attester l'exécutabilité courante du notebook et rafraîchir les outputs (figures restaurées dans l'état commis).Validation
ec1-10 monotones, 0 nullcheck_null_exec.py(H.3)detect_markdown_rendering.pycheck_split_reading_cells.pyenrich_quality_ci.py(base = blob main extrait, méthode CI)restore_accents_canonical.py --checkSérie,Durée estimée) — aucune nouvelle cure requiseNote C.2 honnête :
check_c2_compliancesignale 2 cellules sur rl_13 — pré-existantes sur main, avant et après ma re-exec, faux positifs du checker contre les stubs C.1 : (a)def success_vs_lengthdont le corps TODO se termine parreturn None(pattern expressément sanctionné par la règle C.1, lu à tort comme « fonction destinée à produire une sortie » carreturnfigure dans la source) ; (b) la celluleclass RunningStd+def train_chain_normalized(stub de classe non couvert par la brancheis_function_stub). Un stub ne peut pas produire d'output par design ; exécution réelle faite, l'état ne change pas. Candidat fix checker = grain séparé (à trier côté organes).Résiduels (hors scope, signalés)
/13périmés sur rl_1..rl_12 (la série compte 18 notebooks au README) — renumérotation série-wide = grain séparé.rl_13_curiosity_explorationvers.html(0 fichier.htmldans RL/) — correction README = grain séparé (audit fichier-entier §E requis).See #17251 (contribution partielle : volet bandeau rl_13+rl_14 ; rl_2 RAS confirmé par le bot ; rl_11 en cours sur la lane).
🤖 Generated with Claude Code
Diagnostic dérive
re-exécution locale sous Python 3.11.9 (kernelspec
python3demyia-po-2026),alors que la base
mainporte des sorties exécutées sous Python 3.12.13 — mêmekernelspec
python3, seullanguage_info.versiondiffère. Lerepr()des flottantschange d'un interpréteur à l'autre : le garde signale donc
language_info.version: '3.12.13' -> '3.11.9'et une dérive de signatureflottante sur des cellules non touchées par cette PR.
ce sont les valeurs réelles des re-exécutions (kernel local, 0 erreur). Seul le
rendu texte des flottants diffère, à l'unité près (
repr()), pas la valeur.expliqué). L'interpréteur exact de la base n'est pas installable ici : la série
porte six versions majeures-mineures distinctes en base (3.12.13, 3.13.3,
3.13.7, 3.13.12 x2, 3.13.14), qu'aucune installation locale ne peut satisfaire
simultanément. Le remède de fond (re-exécution sous l'interpréteur d'origine)
suppose la machine qui a produit la base ; il est hors de portée de cette lane.