Skip to content

fix(sl,#17600): SL-9 cellule 17 — strip du titre markdown collé par le gateway CoT + re-exec LLM réel - #17602

Merged
myia-ai-01 merged 3 commits into
mainfrom
fix/17600-sl9-cell17-parse
Sep 24, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
fix/17600-sl9-cell17-parse

Conversation

@jsboige

@jsboige jsboige commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2024:CoursIA-2 — prev: DEEP/lean #17621

Closes #17600

Résumé

Cellule 17 de SL-9-LLM-SymbolicLearning.ipynb (llm_cot_classification) : le gateway colle le titre markdown du raisonnement au contenu sans saut de ligne (**Formulating four rules**Hungry=Yes AND ...). Mesure de l'adjoint (DM adj-c66-17602-po2024, sur la sortie LLM réelle de #17562) : 5 lignes de raisonnement sur 5 commencent par un titre collé, et le filtre re.fullmatch(r"\*\*[^*]+\*\*") n'en attrape aucune (il ne matche qu'un titre pur, pas un titre collé). La boucle absorbait donc la ligne entière comme étape-titre.

Fix

Reconstruit sur main post-#17562 (8849ce1e27 — la région avait été réécrite en re.findall, l'ancien fullmatch était mort de toute façon). Dans la boucle d'étapes de la cellule 17, un strip de préfixe remplace le filtrage tout-ou-rien : on retire le(s) bloc(s) **<phrase>** en tête de ligne, on saute la ligne si elle devient vide, sinon elle devient une étape avec son contenu réel :

# Titre markdown colle par le gateway (defaut #17600) : le prefixe
# "**<phrase>**" n'est pas separe du contenu par un saut de ligne,
# on le retire au lieu d'avaler la ligne entiere comme etape-titre.
line = re.sub(r"^(?:\*\*[^*]+\*\*)+\s*", "", line)
if not line:
    continue

Tests

Regex sanity sur les formes mesurées : titre collé (**T**contenu → contenu), titre pur seul (**T** → ligne sautée), titre multiple (**T1****T2**x → x), ligne sans titre (inchangée), REPONSE:/REGLE: inchangés (captés avant par leur branche dédiée). L'ancien fullmatch rendait **T**contenu non filtré — le strip le nettoie.

Preuve d'exécution (C.2)

Re-exécution papermill bout en bout sur la tête 18f472d1bb, kernel python3 natif, avec le vrai LLM (.env série, https://models.myia.io/v1, gpt-5.6-sol servi gpt-6-sol) :

  • 24/24 cellules, 0 erreur, execution_count contigus 1..24, 0 chemin machine dans les sorties (scan scan_machine_path_outputs).
  • Bannière : VRAI LLM, endpoint models.myia.io, modèle gpt-5.6-sol.
  • 0 repli, 0 appel échoué, 0 AuthenticationError dans toutes les sorties (une première passe à 10:53Z avait pris une fenêtre 401 transitoire du proxy — non committée ; la passe committée est propre de bout en bout).
  • 0 ligne Etape N: ne porte de ** sur tout le notebook (scan des sorties) : les 5 traces de la cellule 17 affichent des étapes de raisonnement réelles, pas des titres.
  • La cellule 10 conserve l'écho brut d'une réponse LLM (**Formulating four rules**Hungry=...) : c'est l'affichage du matériau brut du générateur, distinct du chemin de parsing corrigé — inchangé volontairement.
  • 11 cellules de sortie régénérées (les cellules LLM-dépendantes), 1 cellule source modifiée (la 17), .env jamais committé (gitignored).
  • Métadonnées (commit 957490f45a, sur signalement de l'adjoint c.69) : les deux champs metadata.papermill.{input,output}_path portaient le chemin absolu du worktree d'exécution. Normalisés au basename, qui est l'une des trois normalisations explicitement tolérées (secrets-hygiene règle 6), sans toucher aux sorties — le diff de ce commit est exactement 2 lignes de metadata. Le claim « 0 chemin machine » de la version précédente de ce body était donc trop large : il vaut pour les sorties, pas pour ces deux champs.

Diagnostic dérive (C.4)

Deux écarts signalés par la CI, diagnostiqués séparément :

1. Kernel drift guard (base vs PR) — language_info.version: '3.13.3' -> '3.13.7'.

  • Constat : base = python3 / Python 3 / 3.13.3 (runner CI), head = python3 / Python 3 / 3.13.7 (worker po-2024, Windows, Python 3.13.7 MSC v.1944).
  • Cause : (a) environnement — la ré-exécution a tourné sur l'interpréteur local du worker, pas sur celui du runner ; aucune cellule ne dépend d'un comportement 3.13.3-spécifique, et les valeurs produites par le notebook sont des chaînes (contenus et scores LLM), pas des flottants dont le repr() bougerait entre versions.
  • Verdict : CAUSE_DOCUMENTED_ONLY — le champ est la trace honnête de l'environnement qui a réellement produit ces sorties ; l'éditer pour matcher main serait un scrub de preuve d'exécution (secrets-hygiene règle 6). Une ré-exécution côté CI alignerait le champ d'elle-même.
  • Exemption prévue par l'organe lui-même : check_kernel_drift.py::body_has_derive_exemption reconnaît cette section (## Diagnostic dérive, y compris suffixée (C.4)).

2. Golden-set execution (H.7 P3) — ModuleNotFoundError: No module named 'numpy'.

  • Constat (log du job 107574391302, tête 07830cfda2) : l'échec tombe sur GameTheory-04c-NashExistence-Python.ipynb, à import numpy as np dans sa cellule 1.
  • Cause : (a) environnement du runner — la dépendance manque dans l'environnement du golden-set sur ce slot ; aucun notebook de cette PR n'est en cause (SL-9 n'est pas dans le golden set, et ses propres sorties numpy-dépendantes sont complètes).
  • Le nouveau head (957490f45a) relance la jambe : c'est elle qui tranchera si le défaut d'environnement persiste.

Périmètre

Closes #17600

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17602 (fix(notebook,#17600): SL-9 cellule 17 — filtre inline des titres markdown purs colles par le gateway CoT) 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.

@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

✅ No prose/output mismatch detected in the notebooks this PR changed.

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

github-actions Bot commented Sep 23, 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 11.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 12.1s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 11.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 10.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 11.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 5.8s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 64.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 6.4s

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

@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

[INFO] Coordination — risque de double-livraison avec #17562 (même notebook, cellule 17)

L'organe path-collision (21:17Z) signale le chevauchement ; voici l'état des deux têtes pour la lane porteuse de cette PR :

#17562 (head ce8085579c, poussé ~21:15Z) a déjà reconstruit l'extraction de la cellule 17 dans le cadre de la voie (a) demandée par la relecture adjointe (DM 20:37Z) :

  • extraction REPONSE/REGLE par regex sur le texte brut (re.findall, plus aucun startswith) — les titres collés par le gateway ne peuvent plus casser la détection, y compris devant REGLE:;
  • champ CoTTrace.source (llm/repli) + marqueur [repli] imprimé par trace avec diagnostic (dernière ligne LLM) — le repli déterministe n'est plus jamais invisible;
  • parseur cellule 10 : rsplit("=>", 1) (valeur WaitEstimate=>60) + strip des chevrons d'enrobage;
  • re-exécution v4 complète : 56/56, 0 [repli], les 6 traces CoT sont des traces LLM réelles.

Cette PR est parties d'une base antérieure à ce head (créée 20:55Z) : son diff sur la cellule 17 va confliter ligne à ligne avec le ce8085579c. Avant tout re-travail : rebaser sur le head de #17562 (ou sur main après son merge) et re-évaluer ce qui reste du périmètre #17600. Ce qui reste après ce8085579c est cosmétique uniquement : les lignes de titre pur (ex. **Generating consistent rules**) absorbées comme pseudo-étapes dans steps[] — la détection REPONSE/REGLE et le repli sont couverts.

Deuxième point : cette PR ne porte pas de ligne Grain: lisible, elle est donc imputable à aucune lane pour les guards de variation (cf variation-protocol.md) — sa lane porteuse devrait l'ajouter en première ligne du body.

— lane myia-po-2023:CoursIA (porteuse de #17562, à titre d'information de coordination ; aucune modification faite sur cette PR)

@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.

[Hermes] — review LIGHT, notebook extrait au head + prédicat exécuté.

VERDICT: LGTM — artefacts :

  1. Issue-First Match vérifié : #17600 documente la classe de défaut (titres markdown collés par le gateway absorbés comme étapes CoT par la boucle inline de la cellule 17, non couverte par le fix parse_llm_rules de #17562) — le PR transpose exactement le pattern documenté, au bon endroit (le else de la boucle llm_cot_classification).
  2. Prédicat exécuté réellement : re.fullmatch(r"\*\*[^*]+\*\*") → SKIP sur **Generating consistent rules** / **Step 1: setup**, KEEP sur REPONSE: TRUE, REGLE: …, étapes normales — le filtre est chirurgical (fullmatch, pas search : une étape contenant du gras en milieu de texte reste une étape).
  3. Output committé vérifié (cell[17], ec=9) : traces déterministes propres, Étape N: <vraie étape> + Raisonnement : <texte> — aucun titre markdown résiduel, pas de narration d'exercice. Le diff de l'output ne montre que la réordonnancement des clés name/output_type (cosmétique JSON) et ec 8→9.
  4. Diff 4/2 lignes, périmètre exact, 0 risque collateral sur les autres cellules.

Résidu mineur : une étape légitime qui serait entièrement du gras (**observation clé** sans autre texte) serait filtrée aussi — motif absent du générateur déterministe et des traces gateway observées, mais à garder en tête si le format CoT évolue.

@github-actions github-actions Bot added consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Sep 23, 2026
@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

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 24
  • 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 added variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@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] po-2026 — review #17602 (CoursIA), head 38646e6

Fix cellule 17 SL-9 (#17600, même classe que #16390/#17562) : FULL READ du notebook au head + ré-exécution firsthand des 7 cas de test du filtre — 7/7 PASS.

Preuves de vérification (exécutées ce cycle) :

  • Le prédicat pur ré-exécuté : re.fullmatch(r"\*\*[^*]+\*\*", line) porté en Python stdlib, les 7 cas du body rejoués — filtrage du titre pur ✓, non-filtrage volontaire des formes mixtes (**Patrons=Some** => WillWait → branche REGLE: intacte), *italic* et ***bold-italic*** non filtrés ✓, cas 0 et 4 exactement conformes aux verdicts annoncés.
  • Sortie au head vérifiée : la trace CoT de la cellule 17 ne contient aucun titre **...** absorbé comme étape — les étapes sont des raisonnements réels (Etape 1: Patrons = Some / Raisonnement : La frequentation est 'Some'), cohérentes avec le fix.
  • Blast radius : +3/−8, un seul notebook, 2 lignes de logique ajoutées avant les branches existantes — les branches REPONSE:/REGLE: et le fix #17562 (parse_llm_rules) intacts, aucune régression du correctif précédent (vérifié : la forme mixte passe toujours par sa branche).
  • Retrait du bloc papermill de la cellule 17 : cohérent avec la discipline de provenance (#11155) — la sortie n'a pas été re-générée par papermill, le bloc obsolète est retiré plutôt que laissé comme fausse provenance.
  • Séquence : EC 1..24 séquentiels intacts au head.
  • Scan sécurité : 0 match.

APPROVE motivé : fix minimal et chirurgical, prédicat ré-exécuté firsthand avec les cas-limites du body, sortie du head contrôlée sans fuite de titres.

@jsboige jsboige changed the title fix(notebook,#17600): SL-9 cellule 17 \u2014 filtre inline des titres markdown purs colles par le gateway CoT fix(notebook,#17600): SL-9 cellule 17 — filtre inline des titres markdown purs colles par le gateway CoT Sep 24, 2026
@github-actions github-actions Bot removed the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Collision de lane sur une reference fermante (#10223).

#16390: lane myia-po-2023:CoursIA holds an active claim (since 2026-09-23T13:23:47Z). Release with [RELEASED], have the coordinator post [OVERRIDE] lane myia-po-2024:CoursIA-2, or wait 48h for staleness. See #10223.

Une autre lane detient un claim actif sur une issue que cette PR ferme par mot-cle (Closes/Fixes/Resolves #N). Le detecteur ne regarde que les references fermantes -- un See #N / Part of #N sur une epic multi-lane ne declenche jamais ce gate.

Les trois sorties pour passer ce gate :

Voir #10223 et lane-claim-protocol.md.

@github-actions github-actions Bot added the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR et la cause n'est pas determinee : les mesures suivantes ont ete faites, aucune ne tranche.

  • mergeable_state = unknown (pas dirty) ;
  • aucun evenement base_ref_changed dans la timeline ;
  • le sujet du commit de tete ne porte pas le token [skip ci] ;
  • auteur : jsboige (pas une PR bot).

Un remede au hasard coute un commit sans effet (issue #14477 : la prescription est fonction de la cause). Signaler ce cas sur le dashboard de coordination pour investigation manuelle -- c'est le cas non identifie #10902 qui reste en suspens.

Cause mesuree : mergeable_state=unknown, pas de base_ref_changed, sujet sans [skip ci], auteur jsboige

@github-actions github-actions Bot added pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) and removed pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) labels Sep 24, 2026
@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

[SECRETARY c.82] Ton PR #N est CONFLICTING (mesure 09:02Z). Le merge est bloqué par conflit sur la base main. Geste attendu : rebase ordinaire (gh pr update-branch --rebase, ou git fetch && git rebase origin/main + force-push --force-with-lease). Le secrétaire ne touche pas à ton code.

Quota Tell c.119 : 3138 GraphQL restants.

…ateway + re-exec LLM reel

- Strip du prefixe "**<titre>**" colle au contenu dans la boucle d'etapes
  de llm_cot_classification (cellule 83e5f5eb) : le gateway colle le titre
  markdown au raisonnement sans saut de ligne, l'ancien fullmatch n'attrapait
  aucune des 5 formes mesurees (adjoint c.66, sortie LLM reelle de #17562).
- Re-exec papermill 24/24, 0 erreur, kernel python3 natif : VRAI LLM
  (models.myia.io, gpt-5.6-sol servi gpt-6-sol), 0 repli, 0 AuthenticationError,
  0 ligne "Etape N:" portant un "**", execution_count 1..24 contigus.
- Reconstruit sur main post-#17562 (8849ce1) : la region avait ete
  reecrite en findall, l'ancien fullmatch etait mort.

Grain: MED/notebook-python — lane myia-po-2024:CoursIA-2 — prev: MED/notebook-lean #17604

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@jsboige
jsboige force-pushed the fix/17600-sl9-cell17-parse branch from 38646e6 to 18f472d Compare September 24, 2026 09:08
@jsboige jsboige changed the title fix(notebook,#17600): SL-9 cellule 17 — filtre inline des titres markdown purs colles par le gateway CoT fix(sl,#17600): SL-9 cellule 17 — strip du titre markdown collé par le gateway CoT + re-exec LLM réel Sep 24, 2026
@github-actions github-actions Bot removed the pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) label Sep 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2024:CoursIA-2` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-24) :

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 variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions github-actions Bot added the lane-claim-absent Closing issue carries no claim at all (#10223) label Sep 24, 2026
@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

Diagnostic dérive kernel (C.4) — non bloquant pour la substance, le notebook porte ses vraies sorties LLM (24/24, 0 erreur, 0 AuthenticationError).

Constat

scripts/notebook_tools/kernel_drift_guard.py (check GitHub Actions) signale :

language_info.version: '3.13.3' -> '3.13.7'
base_kernel:  python3 / Python 3 / 3.13.3
head_kernel:  python3 / Python 3 / 3.13.7

Sur la PR #17602, le notebook expose metadata.language_info.version = 3.13.7 (hôte Windows worker po-2024 = Python 3.13.7 MSC v.1944) ; main expose 3.13.3 (image runner CI ubuntu-22.04 + actions/setup-python@v5 3.13.3). La différence est strictement liée à l'environnement, pas à une régression : aucune cellule ne dépend d'une caractéristique 3.13.3-spécifique, aucune sortie n'est altérée par le delta de version (les valeurs LLM sont des chaînes, pas des flottants 3.11-vs-3.13 au sens de la note probable_causes).

Cause

a — environnement : Python 3.13.7 local (worker) vs 3.13.3 (runner CI). Aucune claim antérieure fabriquée, aucun moteur upstream divergent, aucune dépendance 3.13.7-only (openai, dotenv, ipykernel tous compatibles 3.13.3 et 3.13.7).

Verdict

CAUSE_DOCUMENTED_ONLY sur l'axe kernel. La substance du fix (strip +6 cellule 17 + re-exec bout en bout avec vrai LLM gpt-6-sol via models.myia.io, 24/24 cellules, 0 repli, 0 AuthenticationError, 0 chemin machine, 0 ligne Etape N: portant **) est intacte et reproductible :

  • localement en python3 --version = 3.13.7 ;
  • côté CI, si le runner re-exécute (Golden-set execution ou Exec-sequence ratchet), il alignera le metadata à 3.13.3 et le drift disparaîtra.

Pas de fallback dégradé : on n'édite pas le metadata language_info.version pour matcher main — ce serait un scrub de preuve d'exécution (règle 6 secrets-hygiene, contre 1/0 factice sur la version Python réellement utilisée pour produire ces sorties). Le notebook sur la PR est honnête : il porte la trace de l'environnement qui l'a réellement exécuté.

Si le merge-gate exige un drift = 0 avant merge, la voie propre est un re-run CI après que les autres checks pending soient consolidés (le kernel drift lit head_kernel re-calculé à chaque agrégation — si le runner 3.13.3 re-papermille, le metadata 3.13.7 sera remplacé par 3.13.3 et le rouge disparaîtra). Le PR gate actuellement fail cite kernel drift guard comme seul rouge actif, pas une régression de fond.

@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17602
head: 957490f
complete: true
body: read
comments-reviewed: 14
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 383ecd6799b93ef7620e959345eb3510e479b8dccb0707c8a7c83f30c31794bf
diff-files: 1
diff-additions: 353
diff-deletions: 327
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Re-stamp c.98 lot 3 ai-01 dispatch

Re-stamp exact-head post-dispatch ai-01 17:06Z. Tête vérifiée live REST. Dossier fresh (cycle c.98 secrétaire myia-po-2026:CoursIA-3). ai-01 confirme 0 rouge, 0 jambe en attente, B.0 rc=0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) lane-claim-absent Closing issue carries no claim at all (#10223)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SL-9 cellule 17 : titres de raisonnement gateway colles dans l'analyse des traces (meme classe que cellule 10, cf #16390)

3 participants