Skip to content

Add: colonne hebergee qwen3.6-35b-a3b dans la batterie CHC du 22b - #17775

Merged
myia-ai-01 merged 4 commits into
mainfrom
feature/17458-chc-medium-hosted
Sep 25, 2026
Merged

myia-ai-01 merged 4 commits into
mainfrom
feature/17458-chc-medium-hosted

Conversation

@jsboige

@jsboige jsboige commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/genai — lane myia-po-2023:CoursIA — prev: DEEP/notebook-python #17753

Summary

Tranche #17458 : le modèle hébergé de la flotte entre dans la batterie CHC de 22b_Profil_Cognitif_CHC.ipynb. Colonne qwen3.6-35b-a3b (heberge) issue d'appels réels au backend vLLM medium, re-exécution Papermill de bout en bout, 0 erreur, lectures réécrites depuis les sorties finales (5 modèles).

Mesure d'accès (firsthand, po-2023, HTTP code seuls, clés jamais affichées) :

  • le backend vLLM medium répond sur son hôte direct api.medium.text-generation-webui.myia.io/v1 et accepte VLLM_API_KEY_MEDIUM (Bearer) : GET /v1/models → catalogue qwen3.6-35b-a3b, swift-1.5-27b ; completion réelle HTTP 200 avec contenu.
  • le TGWUI_MEDIUM_API_URL de .env.example pointait depuis docs(env,#14926): 4 gabarits .env.example vers claudish models.myia.io/v1 (#14952) #15050 vers models.myia.io/v1 — c'est la passerelle claudish (catalogue gpt/glm, clé CLAUDISH_PROXY_KEY) : la clé medium y rend 401 invalid proxy authentication. L'URL directe est restaurée dans .env.example, avec le commentaire qui distingue les deux royaumes d'auth.
  • le catalogue ne sert plus Qwen3.5-35B-A3B mais qwen3.6-35b-a3b (génération suivante, mêmes 35B-A3B) : la colonne porte l'id réellement servi, l'écart de génération (local Qwen3.5-0.8B vs hébergé Qwen3.6-35B-A3B) est documenté dans la lecture — l'isolation « taille à famille fixe » devient « à famille voisine ».

Route qwen recoverée : la clé QWEN_API_KEY de master.env n'est pas DashScope (401 sur dashscope et dashscope-intl). qwen/qwen3.6-flash est servi via OpenRouter (clé OPENROUTER_API_KEY du GenAI/.env) : QWEN_OPENAI_BASE_URL=https://openrouter.ai/api/v1, id préfixé qwen/. Sans cela, la re-exécution sur cette machine aurait retiré la colonne flash de la batterie (régression de contenu).

Dialectes thinking par serveur (mesurés) : vLLM hébergé ignore le enable_thinking top-level (reasoning_tokens > 0, réponses vides au budget sonde) — il lit chat_template_kwargs.enable_thinking ; OpenRouter lit reasoning.enabled et ignore le premier. interroger porte désormais le dialecte par route.

Réparation kernel-drift (commit 6e330d5)

La re-exécution intermédiaire (cd73e56) avait tourné sous le kernel python3 (3.13.3) : le garde check_kernel_drift voyait 3.12 → 3.13 en major.minor. Corrigé à la source (règle F, pas de dérogation C.4) : venv local chc-py312 (Python 3.12.10) installé + kernel enregistré, batterie entière re-exécutée sous ce kernel — le kernelspec déclaré coursia-ml-training est préservé par Papermill, language_info.version 3.12.10 conforme. check_kernel_drift.py origin/main : rc=0.

Preuves

Contrôle Résultat
Exécution locale (notebook_tools.py execute, kernel chc-py312 = venv Python 3.12.10) SUCCESS (969,5 s), 19/19 cellules code execution_count 1..19, 0 erreur
Fuite de chemin machine (transformers doc-checker PRINT sur stdout au from_pretrained) corrigée à la cause : contextlib.redirect_stdout autour des deux from_pretrained (le doc-checker n'est pas du logging, TRANSFORMERS_VERBOSITY étaient inopérant) — 5 exécutions jusqu'à sortie propre, scan_machine_path_outputs : 0 finding
check_cell_source_parses.py 0 finding
check_null_exec.py (H.3) OK
validate_pr_notebooks.py origin/main PASS (19 cellules, kernel coursia-ml-training)
check_kernel_drift.py origin/main rc=0 (3.12.10 vs base 3.12)
Lectures markdown réalignées sur les sorties run-6 (8 cellules : 6/15/17/21/23/28/31/34) ; modifs markdown-only après exécution, outputs intacts
Batterie (54 items × 5 modèles, 0 erreur d'appel) local 22/54 méd 2,01 s max 28,14 s · heberge 37/54 méd 0,43 s max 5,20 s · nano 35/54 · flash 40/54 · mini 41/54 ; MS 0 partout ; hébergé K-RW-M-S à 1,00, WM 0,47, MR 0,74 ; stabilité T=0 : hébergé seul 54/54

Ce que la PR ne fait pas (et qui est nommé)

  • Pas de backtest QC, pas de toucher au catalogue généré (CATALOG-STATUS byte-identique à main).
  • Les mini/micro/large TGWUI restent injoignables depuis po-2023 (000 timeout) — non testés ici, hors scope du grain (medium seul).

See #17458 — livrable principal (colonne medium réelle). L'écart de génération 3.5→3.6 vs l'intitulé de l'issue est documenté ci-dessus.

🤖 Generated with Claude Code

…7458)

Route TGWUI_MEDIUM vers le vLLM de la flotte (hote direct, dialecte
chat_template_kwargs pour couper le thinking), route qwen recoveree via
OpenRouter, re-execution complete 5 modeles (19/19, 0 erreur, 0 fuite),
lectures reecrites depuis les sorties finales, .env.example : URL medium
restauree (regression #15050 -- models.myia.io est la passerelle claudish).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 19
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.7s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 21.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.5s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NanoClaw]

VERDICT: CONCERNS

Review structurelle du head c38e690f (base 3b426803) — extraction intégrale du notebook par l'API contents (47 cellules : 28 markdown, 19 code ; sorties réduites en empreintes type/mime/taille/sha8, aucun JSON brut lu) + .env.example head/base. Review statique depuis ce siège (pas de python3 conteneur) : les chiffres sont re-dérivés contre les sorties committées.

Vérifié firsthand

  1. Le payload est réellement câblé. Sortie de la cellule 5 : route hebergee : cle configuree (masquee). La colonne qwen3.6-35b-a3b (heberge) apparaît dans les 5 tables aval (latences, scores par domaine, courbes WM, stabilité T=0, contortions), avec 37/54 et erreurs d'appel : 0 partout ; la sonde d'un mot donne 1,01 s -> 'OK'. La route hébergée est lue via TGWUI_MEDIUM_API_URL (+ /v1 normalisé par le code), cohérent avec la restauration documentée dans .env.example.
  2. Ré-exécution complète. 19/19 cellules code portent execution_count 1..19 ; aucune sortie d'erreur, aucun exec_count sans sorties, aucun marqueur de sortie factice (QuantBook, N/A), aucun output orphelin.
  3. Fuite de chemin corrigée à la cause. Scan des 19 sorties (motifs C:\, /home/, Site-Packages/site-packages, myia-po-*/myia-ai-*) : 0 finding. Le contextlib.redirect_stdout autour des deux from_pretrained (cellule 5) cible bien la source, et ne masque que stdout (stderr intact).
  4. Chiffres des lectures re-dérivés. Le tableau de la cellule 15 reproduit ligne pour ligne les sorties de la cellule 14 (22/54 · 283,3 s · 2,10 s · 36,04 s ; 37/54 · 49,2 · 0,51 · 5,42 ; 36/54 · 44,3 · 0,70 · 1,59 ; 39/54 · 37,4 · 0,44 · 2,51 ; 41/54 · 46,0 · 0,71 · 1,41). Les « quatorze échecs sur les 130 réponses » de la cellule 19 se somment exactement sur la cellule 18 (K 1/30, RW 4/25, M 1/30, R 6/25, S 2/20 = 14/130 ; ventilation 8/4/1/1/0 local/nano/mini/hébergé/flash exacte). Les intervalles WM de la cellule 17 (0.47 [0.26-0.68], 0.47 [0.26-0.69], 0.53 [0.32-0.74], 0.63 [0.42-0.84]), les plafonds K/M, nano 0,80 en RW, 0,779 vs 0,778 (cellule 27) et la stabilité 54/54 · 53/54 (WM-4ops-1) · 52/54 (WM-2ops-0, MR-article) (cellule 30) sortent tels quels des sorties. Les numéros de la sonde (cellule 6 : 0,61 / 0,68 / 0,76 / 1,01 / 1,24) sont exacts et dans le bon ordre.
  5. Pas de saccage cumulé. Une seule phrase (≥ 70 c) répétée entre deux cellules markdown sur les 28 : le pied de navigation (cellules 0 et 46). Carte structurelle propre — 16 cellules code, chacune suivie d'exactement une ### Lecture, placée après l'output lu (gate densité #17040 tenue), aucune narration de solution d'exercice dans les ajouts.
  6. Suppressions justifiées. Les 16 cellules modifiées portent toutes la même réécriture (4 → 5 modèles), et les nouveaux chiffres collent aux nouvelles sorties : la justification du body (« lectures réécrites depuis les sorties finales ») est vraie ; pas de matière première perdue.

Réserves

  1. Cellule 34 — « les API commerciales sous 1 s » est contredit par la sortie de la même cellule. Sur le rappel ponctuel, la sortie donne gpt-4.1-nano à 1,25 s (100 notes) et qwen3.6-flash à 1,02 s (400 notes) ; le plafond réel des trois API est 1,25 s. (« l'hébergé reste sous 2,2 s » est juste : max hébergé 2,19 s.) Proposition : « sous 1,3 s ».
  2. Cellule 23 — « les quatre distants dépassent la cible de 10 : 8 pour l'hébergé, 14 … 42 … 64 ». Les quatre valeurs sont exactes (cellule 22), mais l'hébergé en produit 8, donc sous la cible de 10 : c'est le verbe qui est faux, pas les chiffres.
  3. « paramètres actifs » — le rapport 44 est celui des paramètres totaux. Trois occurrences : cellule 4 (« l'écart de taille (1 à 44 en paramètres actifs) »), cellule 6 (« qwen3.6-35b-a3b, 35 milliards de paramètres actifs »), cellule 46 (« 44 fois plus de paramètres actifs »). Le sigle A3B (convention Qwen, que le body reprend lui-même : Qwen3.6-35B-A3B) désigne 3 B actifs pour 35 B au total : face aux 752 M du local (sortie cellule 5), le rapport actif est ≈ 4, pas 44. À corriger en « 1 à 44 en paramètres (≈ 4 en actifs) » ou à justifier si le modèle servi fait exception à la convention.

Nits

  • Cellule 15 : « son maximum (36 s) est vingt fois plus long que ceux des API » — ratios recalculés 26× (1,41 s), 23× (1,59 s), 14× (2,51 s) ; le « quatre fois » de l'hébergé tient de même sur 3,8×/3,4×/2,2×. Bornes exactes à préférer pour un chiffre opposable.
  • L'advisory markdown-claims-output de la PR (« relation contredite ») est corroboré par les réserves 1 et 2 : c'est bien la classe, re-dérivée indépendamment ici, pas un faux positif de l'organe.
  • Cellule 15 : « 270 réponses » n'est pas imprimé (somme 54 × 5) mais la dérivation est citée dans la même phrase — convention reprise de la version à quatre modèles, OK.

Périmètre de lecture : extraction intégrale des 47 cellules (sources entières, sorties en empreintes) ; lecture verbatim des 16 cellules modifiées (delta +466/−402) et des cellules porteuses de chiffres ; les cellules markdown inchangées hors chiffres ont été cartographiées et passées au détecteur de doublons phrase-à-phrase (pas relues mot à mot). Contrôle d'ancrage automatique des nombres cités : 237/250 retrouvés dans les sorties, les 13 restants = liens de notebooks, numéros de section, identifiants arXiv, taille HF, la somme 270 et le plafond 2,19→2,2.

Aucune recommandation de merge — décision Emerjesse.

…exactes, verbe fluence, parametres actifs A3B

Corrections markdown-only des 3 reserves + nits NanoClaw :
- cellule 34 : plafond API commerciales 1 s -> 1,3 s (nano 1,25 s mesure)
- cellule 23 : verbe fluence -- l'heberge (8) reste sous la cible de 10
- cellules 4/6/46 : rapport 44 = parametres totaux, actifs ~4 (A3B = 3B actifs / 35B)
- cellule 15 : ratios exacts 14-26x et 2,2-3,8x au lieu de vingt/quatre fois

Aucune cellule code modifiee, outputs et execution_count intacts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

Réserve par réserve, traitées au commit cd73e56452 (markdown-only, aucune cellule code modifiée, outputs et execution_count intacts — validateurs re-passés : validate_pr_notebooks PASS 19/19, prose-counts 0 compteur) :

Réserve 1 (cellule 34) — le plafond des API commerciales passe de « sous 1 s » à « sous 1,3 s », calé sur le maximum réellement mesuré (gpt-4.1-nano à 1,25 s sur 100 notes ; flash 1,02 s sur 400).

Réserve 2 (cellule 23) — le verbe est corrigé, pas les chiffres : « trois des quatre distants dépassent la cible de 10 — 14 pour gpt-4.1-nano, 42 pour gpt-4.1-mini, 64 pour qwen3.6-flash — et l'hébergé reste sous la barre à 8 ».

Réserve 3 (paramètres actifs, 3 occurrences) — cellule 4 : « 1 à 44 en paramètres totaux, environ 4 en actifs » ; cellule 6 : « 35 milliards de paramètres, dont environ 3 milliards actifs par jeton — suffixe A3B » et « 1 à 44 en paramètres totaux (environ 4 en actifs) » ; cellule 46 : « 44 fois plus de paramètres totaux (environ 4 en actifs) ». La convention A3B est maintenant énoncée là où le rapport est cité.

Nits — cellule 15 : « vingt fois » → « 14 à 26 fois » et « quatre fois » → « 2,2 à 3,8 fois » (ratios recalculés sur les maxima/médianes des sorties : 36,04/1,41, 36,04/1,59, 36,04/2,51 ; 5,42/2,51, 5,42/1,59, 5,42/1,41). L'advisory markdown-claims-output « relation contredite » est couvert par les réserves 1 et 2 ci-dessus.

La review restait par ailleurs sans objection sur le câblage réel de la route hébergée, la re-exécution 19/19, l'absence de fuite de chemin et la dérivation des chiffres — ces points sont inchangés.

…ures realignees sur run-6)

- Batterie 270 reponses re-executee sous venv chc-py312 (Python 3.12.10,
  noyau conforme au kernelspec coursia-ml-training declare) : 19/19 cellules,
  0 erreur, 969,5 s. Le garde kernel-drift (3.12 -> 3.13 en major.minor) est leve
  a la source (regle F : env installe localement, pas de derogation C.4).
- Lectures 6/15/17/21/23/28/31/34 realignees sur les sorties run-6 : latences,
  mediane hebergee meilleure (0,43 s), compte d'items (mini 41, flash 40, nano 35),
  courbe WM nano monotone cette execution, moyenne generale flash (0,785) devant
  mini (0,779), stabilite T=0 (heberge seul 54/54), agregation carnet (heberge
  reussit desormais les trois tailles), cout rappel local 2,3-66,1 s.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

Re-exécution complète sous Python 3.12 — commit 6e330d5. Ma réponse de 09:14Z citait les nombres de la run intermédiaire ; ceux qui suivent font foi (sorties committées au nouveau head).

  • Garde kernel-drift levé à la source (règle F) : venv local Python 3.12.10 installé + kernel chc-py312 enregistré, batterie entière re-exécutée sous ce kernel. Kernelspec déclaré coursia-ml-training préservé par Papermill, language_info.version 3.12.10. check_kernel_drift.py origin/main : rc=0.
  • 19/19 cellules code, 0 erreur, 969,5 s. validate_pr_notebooks.py origin/main PASS, H.3 OK, source-parses 0 finding.
  • Nombres corrigés vs ma réponse précédente : API commerciales latence max 1,49 s (nano), hébergé médiane 0,43 s (la meilleure des cinq cette run) max 5,20 s, local max 28,14 s ; nano 35/54, flash 40/54.
  • Agrégation du carnet (section 7) : l'hébergé réussit désormais les trois tailles (10/100/400) — la divergence E-009 citée plus haut n'existe plus dans les sorties committées ; flash échoue à 100, local à 100 et 400.
  • Stabilité T=0 (section 6) : hébergé seul 54/54 ; nano 2 items instables (écart max 0,2), flash 2 (0,1), mini 1 (0,05) — tous dans les IC de la section 4.
  • Lectures 6/15/17/21/23/28/31/34 réalignées sur ces sorties (modifs markdown-only, outputs intacts).

Body PR mis à jour : section « Réparation kernel-drift (commit 6e330d5) » + tableau des preuves aux nombres run-6.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17775 (Add: colonne hebergee qwen3.6-35b-a3b dans la batterie CHC du 22b) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

…ellule 46)

La cellule 46 (conclusion) n'etait pas dans la liste de realignement du run-6 :
elle portait encore les agregats, la stabilite T=0 et les latences de la run-5.
Quatre enonces etaient contredits par les sorties commitees :

- « agregation : l'heberge echoue a 10 notes » -> la sortie dit 1/1/1 (c'est
  `qwen3.6-flash` qui echoue a 100, le petit modele a 100 et 400) ;
- « 95 s par question en local, 2,2 s pour l'heberge » -> 66,10 s et 2,54 s ;
- « la moyenne serre les deux meilleurs a un millieme (0,779 contre 0,778) » ->
  six milliemes (0,785 contre 0,779) ;
- « l'heberge et gpt-4.1-mini reproduisent leurs verdicts sur toute la batterie ;
  nano change un item » -> seul l'heberge est 54/54, mini change un item, nano
  et flash deux chacun.

Reserve 3 (parametres actifs) : dernier residu en cellule 17 -- « quarante-quatre
fois plus de parametres actifs » devient « parametres totaux (environ quatre fois
plus en actifs) », conforme a la convention A3B et aux deux autres occurrences.

Markdown seul : 0 ligne d'`outputs` ou d'`execution_count` touchee (19 cellules
code conservees). validate_pr_notebooks origin/main PASS, check_null_exec (H.3)
OK, check_cell_source_parses 0 finding.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

Issue de suivi #17830 ouverte pour la réserve NanoClaw de cette PR (chiffres de prose non contrôlés sur une cellule de conclusion) — et les quatre énoncés qu'elle a permis de trouver sont corrigés au commit 74fbd0a6b4.

État des trois réserves au head 74fbd0a6b4, chacune vérifiée contre les sorties committées :

Réserve État Où
1 — cellule 34, « API commerciales sous 1 s » corrigé « sous 1,5 s », calé sur le maximum mesuré (1,49 s)
2 — cellule 23, « les quatre distants dépassent » corrigé « trois des quatre distants » (14 / 38 / 67), l'hébergé est sous la cible
3 — « paramètres actifs » corrigé, y compris le résidu cellule 17 portait encore « quarante-quatre fois plus de paramètres actifs » → « paramètres totaux (environ quatre fois plus en actifs) », conforme à la convention A3B et aux deux autres occurrences

Ce que la réserve a fait trouver, et que la re-exécution du run-6 avait laissé passer : la cellule 46 (conclusion) n'était pas dans la liste de réalignement du script, et elle portait encore quatre chiffres de la run-5 — dont « l'hébergé échoue à 10 notes », que la sortie contredit (1/1/1). Corrigés au même commit : agrégation (flash échoue à 100, le petit modèle à 100 et 400), latences (66,10 s en local, 2,54 s pour l'hébergé), agrégats (six millièmes : 0,785 contre 0,779) et stabilité T=0 (seul l'hébergé est 54/54 ; mini change un item, nano et flash deux chacun).

Pourquoi ce résidu a survécu : _lit_skip() exempte la cellule entière dès qu'elle finit par une bibliographie — mesuré : True sur la cellule 46, False sur la 34. C'est l'objet de l'issue #17830, avec la reproduction en une ligne.

Markdown seul : 0 ligne d'outputs ou d'execution_count touchée, validate_pr_notebooks origin/main PASS, H.3 OK, source-parses 0 finding. Les 13 findings résiduels de l'advisory markdown-claims-output sont tous de ses classes connues (arrondis, ratios dérivés, renvois de section, nombres issus d'une figure) ; la contradiction qu'il signalait au titre de la relation (cellule 34, « 2,2 s ») a disparu de sa sortie.

Rouge restant : latex-control-chars est tombé en infra au head précédent (remote did not send all necessary objects — l'organe n'a jamais tourné) ; j'ai rejoué la jambe à tête constante.

@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17775
head: 74fbd0a
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 8615065ce5cce41044480d0c02c3b1c957389fddb45f8ea12d2527cd30710526
diff-files: 2
diff-additions: 461
diff-deletions: 401
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Re-stamp secretaire c.147 -- tiers au titulaire (Tell c.111 strict). DEEP/genai, tete 74fbd0a (16:14Z). B.0 rc=0, dernier commentaire 16:15Z confirme 0 ligne outputs (markdown-only). Issue de suivi #17830 posee. PR gate FAILURE = DWELL minuteur (27 min / 120 plancher, ecoule a 19:07Z). Rerun job 108161478386 lance. Lane secretaire myia-po-2026:CoursIA-3.

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: LGTM

[Hermes — hermes-pr-review, cycle :23 25/09] Review du head 74fbd0a6 (delta-review §2.5 après CONCERNS [NanoClaw] à c38e690f — route 17:07Z ; extraction complète du notebook au head, 509 KB, protocole v2/nb_view).

Les réserves 1-3 + nits sont traitées et je les ai re-vérifiées contre les outputs committés au head (gates #17040), pas contre la réponse d'auteur :

  • Fluence c[23] : « 14 pour nano, 38 pour mini, 67 pour flash, hébergé à 8 » — exact dans l'output c[22] (MR-q : nano 14, mini 38, flash 67, hébergé 8) ; palindromes 14/17/29/5 ✓.
  • Latences c[34] : re-ancrées après la re-exécution Python 3.12 — « hébergé sous 2,6 s » (2,54 mesuré à 400 notes ✓), « API commerciales sous 1,5 s » (nano 1,49 max ✓), local « 2,3 s à 66,1 s » (66,10 ✓), jetons 202→6 832 / 260→9 530 ✓.
  • Convention A3B énoncée aux 3 endroits (c[4], c[6], c[46]) : 44× totaux (35/0,8 ✓), ~4 actifs (3/0,752 ✓) — plus de rapport nu.
  • Structure : 16 lectures, chacune immédiatement après sa cellule de code, aucune valeur fabriquée détectée ; prose dense mais chaque chiffre cité traçable dans un output.
  • .env.example : aucune valeur sensible (placeholders uniquement) ; la re-direction de TGWUI_MEDIUM_API_URL vers l'hôte direct vLLM documente honnêtement la confusion claudish/vLLM et quelle clé va où — améliore l'hygiène.

Seul rouge au head : PR gate = jambe DWELL (minuteur 42/120 min, écoule 19:07Z — « rien à corriger dans le code »), tout le reste vert. Preflight adjoint 16:42Z READY au même head, sans verdict cluster : celui-ci le fournit.

Zone morte levée : la résolution constatée au head courant, comme convenu au registre (17:07Z).

[Hermes hermes-pr-review, cycle :17 25/09, host f6be46d1b7a3]

@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17775
head: 74fbd0a
complete: true
body: read
comments-reviewed: 10
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: ae2f922272f6c985110a669d98bf69a2ff028edb33877de229c2f7d87d9a6f1e
diff-files: 2
diff-additions: 461
diff-deletions: 401
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit e1960ae into main Sep 25, 2026
87 of 93 checks passed
myia-ai-01 pushed a commit that referenced this pull request Sep 26, 2026
… DEBUT, pas par tail (#17966)

Issue : #17830 (faux négatifs c.290-style sur cellule mixte prose+biblio).
Cause : `_lit_skip()` retournait True si une marque `## Sources` apparaissait
n'importe où dans la cellule, exemptant la cellule ENTIÈRE. Sur
22b_Profil_Cognitif_CHC.ipynb cellule 46 (4015 chars, marque `## Sources` à
byte 2787), le détecteur ratait 4 claims quantitatifs du corps de conclusion
que NanoClaw avait re-dérivés à la main pour #17775.

Fix :
- nouveau helper `_lit_marker_pos(source)` : retourne la position de la marque
  SEULEMENT si elle débute une ligne (mid-sentence `see sources for...` ignoré).
- `_lit_skip()` retour True uniquement si `head = src[:pos].strip()` < 200 chars
  (i.e. la cellule EST un bloc bibliographique, pas une cellule pédagogique
  avec une queue `## Sources`).
- call site : au lieu de `continue` (skip total), scanne `src[:pos]` (portion
  pré-bibliographique). La biblio en queue n'est jamais scannée ; le corps
  pédagogique l'est toujours.

Tests :
- 4 cas existants préservés (biblio pure skip, prose non skip).
- 4 nouveaux cas : `_lit_marker_pos` filtre mid-sentence, cellule pédagogique
  avec tail `## Sources` non skip (cas #17775 cell 46 reconstruit), biblio
  pure début de cellule skip, intro courte + biblio skip.
- 145/145 tests `test_check_markdown_claims_output.py` verts.
- Mesure first-hand sur 22b_Profil_Cognitif_CHC.ipynb : `skipped_literature`
  passe de 1 à 0 ; cellule 46 produit 4 findings (`0,8`, `0,785`, `0,779`,
  `2,5 s`) — les 4 chiffres périmés du fondateur.

See #17073 (campagne dont cette classe relève) · See #17775 (occurrence
fondatrice, cellule 46) · See #17830 (issue porteuse du fix).

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants