Repository navigation
Fix(lean,#19736): cellule d'audit -- un echec de verification n'est pas un verdict sur les axiomes - #19874
Conversation
…as un verdict sur les axiomes La cellule d'audit assertait `code_retour == 0 and all(nom in ax ...)` avec le seul message "audit incomplet". Tout echec d'EXECUTION se lisait donc comme un verdict d'audit : c'est la lecture qui a produit #19736 (« axiome interdit ») alors que l'assertion des axiomes interdits (message « axiome interdit ») n'avait jamais parle. Cause reelle de l'echec qui a ouvert l'issue, mesuree : 1. `formal_logic_lean/.lake/build` present mais STUB (1 seul olean, `FormalLogic/Bridge.olean`) et AUCUNE epingle enregistree -> l'organe lean_exec refuse par doctrine (T3, #15666), exit=125 ; 2. epingle native posee, la verification echoue ensuite sur `object file '...FairBotLoeb.olean' does not exist` -- le cache etait invalide pour la toolchain 4.33.1 (1225 jobs recompiles). Le message d'assertion porte desormais le code de retour, la liste des symboles dont les axiomes n'ont pas ete lus, et le journal de l'organe. Les cellules 20 et 25 heritent du meme diagnostic (rapport() partage). Re-execution papermill 40/40 cellules, kernel python313 (3.13, meme major.minor que la base), 18 min 14 s : 0 erreur, 0 execution_count nul, 0 chemin machine. Les trois audits sont VERTS et les axiomes mesures sont propext, Classical.choice, Quot.sound -- aucun des INTERDITS (sorryAx, Lean.ofReduceBool, Lean.trustCompiler). Les sorties commitees etaient restees celles du 23/09 (metadata papermill), anterieures aux 5 lignes de source du commit 5dec50e : elles sont rafraichies ici. See #19736. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
✅ No unanchored measurement claim detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ 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 |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — review complète de la tête 7170a911 (notebook Lean-34b seul fichier, +208/−192).
VERDICT: LGTM — le fix tient sa promesse : un échec d'environnement ne se lit plus comme un verdict sur les axiomes.
Vérifié (full-read 40 cellules via vue structurelle + diff + outputs committés) :
rapport()(cell. 17) porte désormais code de retour, symboles sans axiomes lus et journal de l'organe dans le message d'assertion — exactement le remède au mésusage diagnostiqué dans #19736 ; cellules 20 et 25 héritent du même diagnostic via la fonction partagée.- Axiomes mesurés dans les outputs committés :
propext, Classical.choice, Quot.soundsur les trois audits, aucun desINTERDITS— la claim du body est ancrée dans la sortie réelle. - Cellule d'audit passée sans AssertionError (
code de retour : 0) → critère d'acceptance de l'issue satisfait. - Ré-exécution authentique : exec 1→14 consécutifs, 0 null, 0 erreur, papermill duration 1094,6 s = les « 18 min 14 s » du body à la seconde près, end_time 2026-10-08T04:29Z (sorties bien rafraîchies vs 23/09), 0 chemin machine.
- Gates #17040 : une lecture par output de code, placée immédiatement après ; exercices 1-3 non leakés (cellules « à compléter », indices sans solution).
- Sécurité : 0 match sur le diff. CI : 88 organes verts, seul
PR gatepending (DWELL, non bloquant).
Approve sous clusterManager-Myia (reviewer ≠ auteur). La méthode est exemplaire : la cause racine (cache .lake/build stub sans épingle → refus d'organe exit=125, puis olean absent) est établie par la mesure avant le fix, et le correctif rend la classe d'échec auto-diagnostiquée.
[Hermes hermes-pr-review, cycle :06 08/10, host 1ed7af3074fb, sig=e0bda58b]
|
[ADJOINT PREFLIGHT] |
Path-collision (organ #13359/#13615)Cette PR #19874 (
|
Grain: MED/notebook-lean -- lane myia-po-2026:CoursIA -- prev: DEEP/research-code #19827
Verdict sur #19736 : la prémisse est réfutée par la mesure
L'issue lit l'échec de re-exécution comme « l'audit interne du carnet a détecté un axiome interdit ». Aucun axiome interdit n'a jamais été détecté :
AssertionError "audit incomplet"vient de la première assertion (assert code_retour == 0 and all(nom in ax ...)) — celle des axiomes interdits porte le message"axiome interdit"et n'a jamais parlé.formal_logic_lean/.lake/buildprésent mais stub (1 seul olean,FormalLogic/Bridge.olean) et aucune épingle enregistrée → l'organelean_execrefuse par doctrine (T3, Lean: organe canonique d'exécution avec budgets machine-wide et confinement des processus #15666),exit=125;nativeposée (registre WSL,explicit-first-writer), la vérification échoue ensuite surerror: object file '...FairBotLoeb.olean' does not exist— le cache était invalide pour la toolchain 4.33.1 (1225 jobs recompilés, 730 s).Le fix
Le message d'assertion porte désormais le code de retour, la liste des symboles dont les axiomes n'ont pas été lus, et le journal de l'organe (qui porte la raison du refus). Les cellules 20 et 25 héritent du même diagnostic (
rapport()partagé). Un échec d'environnement ne se lira plus comme un verdict d'audit.Ré-exécution (C.2)
Papermill 40/40 cellules, kernel
python313(3.13, même major.minor que la base), 18 min 14 s :execution_countnul, 0 chemin machine dans le fichier ;propext, Classical.choice, Quot.sound— aucun desINTERDITS(sorryAx,Lean.ofReduceBool,Lean.trustCompiler) ;5dec50e74b— elles sont rafraîchies ici.Ratchets sur la tête : output-failure
0 regressed(bloquant), output-collapse et source-collapse0 flagged(advisory). Pre-commit H.3 passé.Réparation d'environnement (non committable, consignée)
Épingle
nativeposée pourformal_logic_leandans le registre WSL de l'organe (originexplicit-first-writer). Effet de bord consigné : sonder l'organe en--backend autoécrit une épingledefault-policy(mon contrôle négatif surgame_theory_leanl'a fait) — leçon rangée en mémoire machine.Closes #19736
🤖 Generated with Claude Code