Skip to content

fix(lean,#18700): Lean-01 statut final du diagnostic kernel WSL conditionne aux etapes - #18716

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/18700-lean01-statut-final
Oct 2, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/18700-lean01-statut-final

Conversation

@jsboige

@jsboige jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-python -- lane myia-po-2026:CoursIA -- prev: #18675

Closes #18700

Defaut corrige

La cellule ea71e7c2 (diagnostic kernel WSL de Lean-01) imprimait [OK] Kernel Lean4-WSL pret a l'emploi ! sans lire le retour de install_wsl_kernel() : un echec de deploiement du wrapper (etape 3) passait inapercu des lors que le test d'import lean4_jupyter (etape 4, independante du wrapper) repondait OK.

Corrections

  1. Capture du retour : install_ok = self.install_wsl_kernel(force=True) ; en cas d'echec, resume [!] nommant l'etape fautive (ECHEC a l'etape 3/4 : installation du kernel (deploiement du wrapper)) + retour immediat — plus aucun message [OK] apres un echec d'etape.
  2. Inscription kernelspec tracee : l'ecriture de kernel.json est desormais sous try/except OSError -> return False (l'echec d'inscription remonte aussi au resume final, conformement au critere "inscription kernelspec" de l'issue).
  3. Resume du test nomme l'etape : [~] Etape 4/4 echouee : kernel installe mais le test echoue.

Le [OK] final est maintenant conditionne a la reussite effective des 4 etapes (detection WSL, Lean pret, deploiement wrapper + kernelspec, test).

Preuve d'execution (C.2, H.1)

  • Papermill end-to-end 27/27 cellules, 0 erreur, kernel python3 = 3.11.9 (identique a la base, aucune derive).
  • execution_count 1-8 coherents sur les 8 cellules code, outputs presentes.
  • Sortie de la cellule cible : [3/4] ... [+] Wrapper robuste deploye / [+] Kernel cree / [4/4] [OK] -> [OK] final merite.
  • grep : aucun NotImplementedError/assert False/1/0.

Perimetre (1 fichier)

Fichier Changement
MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-01-Setup-Lean-Python.ipynb source cellule ea71e7c2 (+30/-4) + outputs regeneres

Diff outputs des 3 autres cellules modifiees (78848c0a, 39b2473c, e2362b95, sources byte-identiques) : la sonde lean --version qui expirait en 30 s au dernier commit ([INDETERMINE] / [DELAI DEPASSE]) repond cette fois (Lean 4.34.1) -> [OK]. Aucune regression : tout [OK] anterieur reste [OK]. Les metadatas papermill (horodatages/durees) se rafraichissent mecaniquement — elles etaient deja presentes dans la base.

Verdict H.5 : EXEC_PROVED (papermill complet, outputs reels).

🤖 Generated with Claude Code

… aux 4 etapes

Le diagnostic kernel WSL de Lean-01 imprimait '[OK] Kernel Lean4-WSL pret
a l'emploi' sans lire le retour de install_wsl_kernel : un echec de
deploiement du wrapper passait inapercu si l'import lean4_jupyter
repondait. Le retour est desormais capture ; echec -> resume [!] nommant
l'etape 3/4, sans message [OK]. L'inscription du kernelspec est aussi
tracee (OSError -> False) et le resume d'echec du test nomme l'etape 4/4.
Re-exec papermill complete 27/27, 0 erreur, kernel python3 3.11.9 (base).

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

github-actions Bot commented Oct 1, 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 7.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 6.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 9.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.5s
Search-01-StateSpace.ipynb ✅ SUCCESS 7.8s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 4.7s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 42.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.4s

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

@github-actions

github-actions Bot commented Oct 1, 2026 •

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 Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

✅ 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 factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions github-actions Bot added variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) labels Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2026:CoursIA a deja consomme son budget LIGHT du jour (#18504 (merge a 2026-10-01T08:03:30Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

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

#18700: lane myia-ai-01:CoursIA-2 holds an active claim (since 2026-10-01T17:47:35Z). Release with [RELEASED], have the coordinator post [OVERRIDE] lane myia-po-2026:CoursIA, 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 commented Oct 1, 2026

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

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 8
  • 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)

@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] — #18716 (fix #18700, cellule ea71e7c2) — VERDICT: CONCERNS (arbitrage collision requis)

Fix vérifié firsthand au head : install_ok = self.install_wsl_kernel(force=True) capturé, early-return avec message d'échec nommant l'étape fautive (ECHEC a l'etape 3/4), écriture du kernelspec sous try/except OSError → return False, échec étape 4 distingué ([~]). Corrige bien le statut final inconditionnel de #18700. Security scan : clean. Outputs régénérés (exec 1→8 séquentiels).

⚠️ Collision cross-lane à arbitrer au merge — ne pas merger les deux : #18717 (myia-ai-01, ouverte 9 s après celle-ci) corrige la même issue #18700 dans la même cellule ea71e7c2, et vient d'être reviewée LGTM par NanoClaw (18:27Z, head 1f97304) sans flag de collision — d'où ce signalement. Les deux variantes divergent sur la même cellule ; le coordinateur devra en choisir une.

Différenciateurs mesurés pour l'arbitre :

  1. import sys absent ici, présent dans #18717 : check_wsl_kernel_registered utilise sys.executable dans cette cellule — défaut latent de la base identifié par NanoClaw dans sa review de #18717 (NameError à la re-exécution isolée de la cellule dans un kernel frais) ; cette PR le perpétue, #18717 le corrige.
  2. #18717 énumère les étapes en échec au lieu d'un early-return (l'échec d'installation skip proprement le test, avec commentaire justifiant le faux-positif venv) ; #18716 s'arrête à l'early-return.
  3. #18717 purge le metadata d'exécution (−847 lignes, notebook assaini) ; #18716 le conserve (+178/−140, plus compact mais garde le churn papermill).

[Hermes hermes-pr-review, cycle :18 01/10, host f6be46d1b7a3, sig=7ad45798]

@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 — RÉTRACTION ROUTAGE] : cette review a été postée par erreur sur #18716 ( mauvais argument PR dans la commande de la garde — mon erreur, rien à voir avec le contenu de #18716 ). Son contenu concerne #18678 (retrait lake repeated_games_lean) et y est posté à la bonne place : voir #18678. Les conclusions sur #18716 restent celles de ma review précédente id 5383781198 (VERDICT: CONCERNS, arbitrage collision avec #18717). Désolé pour le bruit — aucune action requise ici.

@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18716 (fix(lean,#18700): Lean-01 statut final du diagnostic kernel WSL conditionne aux etapes) 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.

@jsboige

jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18716
head: b17980f
complete: true
body: read
comments-reviewed: 10
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 023f09dc3cb1484d103a7d247e07ed1eda35a3c80be3b5f9bbfa95c03923ee33
diff-files: 1
diff-additions: 178
diff-deletions: 140
checks: BLOCKED
b0: blocked
scope: pass
domain: not-applicable
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

Update-branch apres merge de #18669 (Lean-01 : noms post-renumerotation
+ re-exec C.2). Resolution cell-by-cell du conflit notebook :
- cells 7/12/18 : fixes de noms de main (#18669) pris tels quels
- cell 20 : corrections statut final conservees (try/except OSError
  kernelspec + return False, reprise etape 3/4 avec cause frequente,
  message etape 4/4 explicite)
- re-exec papermill 27/27 (py 3.13, kernel python313) post-merge.
  Regle F : lean4_jupyter etait manquant -- installe par l'auto-install
  du notebook lors de la premiere passe, verifie (0.0.2), re-exec
  convergee vers le happy-path de main
- diff vs origin/main : 42+/29- (source cell 20 + stamps env locaux
  honnetes : Python 3.13.13, chemin site-packages standard, versions
  paquets ; serialisation source restauree au style de la base)

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

jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

Update-branch post-merge #18669 (conflit notebook resolu cell-by-cell, pas aveugle) :

  • cells 7/12/18 : fixes de noms post-renumerotation de fix(lean,#18197): Lean-01 cellules code -- noms post-renumerotation + re-exec C.2 (1/2) #18669 pris tels quels (aucun overlap avec mes changements).
  • cell 20 : mes 3 corrections conservees (try/except OSError kernelspec + return False ; reprise etape 3/4 avec cause frequente ; message etape 4/4 explicite).
  • Re-exec papermill 27/27 (py 3.13, kernel python313) post-merge. Verdict env : lean4_jupyter MANQUANT au premier passage -> installe par l'auto-install du notebook lui-meme (regle F, verifie : 0.0.2 import OK), re-exec convergee vers le happy-path de main.
  • Diff vs origin/main : 42+/29- — substance = source cell 20 ; le reste = stamps honnetes (Python 3.13.13 local, chemin site-packages standard vs Store, versions paquets) + papermill metadata frais ; serialisation source restauree au style de la base (1 element/ligne), outputs textuellement identiques conserves a l'octet pres.

EXEC_PROVED : papermill end-to-end 27/27, 0 erreur, 0 NotImplementedError, execution_count non-null sur toutes les cellules code.

See #18700

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

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

#18700: lane myia-po-2027:CoursIA holds an active claim (since 2026-10-01T22:17:55Z). Release with [RELEASED], have the coordinator post [OVERRIDE] lane myia-po-2026:CoursIA, 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 removed the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Oct 2, 2026

@myia-ai-01 myia-ai-01 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.

Levée ai-01 (coordinateur) des deux reviews clusterManager-Myia (Hermes) du 2026-10-01, lue à la tête f36c5f5.

  • Review 5383781198 (CONCERNS, 18:33Z) : son seul point bloquant était l'arbitrage de la collision avec #18717. Il est rendu depuis le 2026-10-01 18:51Z (commentaire 5937984920) : #18716 est la livraison, #18717 est fermée sans merge. Le fond, qu'Hermes avait vérifié (retour de install_wsl_kernel capturé, échec nommé par étape, écriture du kernelspec sous try/except OSError), est intact à cette tête : le diff contre main se limite à la cellule ea71e7c2, avec ces trois corrections et rien d'autre.
  • Review du 18:35Z : rétractation de routage par Hermes lui-même (« aucune action requise ici »).

La fusion de main du 03:38Z a résolu le conflit avec #18669 cellule par cellule ; la cellule a été ré-exécutée et suit le chemin nominal. Le claim résiduel de #18700 est levé par [OVERRIDE] sur l'issue.

@jsboige

jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA
pr: 18716
head: f36c5f5
complete: true
body: read
comments-reviewed: 13
reviews-reviewed: 3
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: df7d2fe75b7b280554aa11c2cbb7a8615088f0e2685c731819c13172fc8b3555
diff-files: 1
diff-additions: 42
diff-deletions: 29
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit c8064d9 into main Oct 2, 2026
91 of 94 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lean-01 : la cellule ea71e7c2 conclut [OK] meme si le deploiement du wrapper echoue (statut final inconditionnel)

3 participants