Repository navigation
ci(lean,#14904): cabler proof-integrity (lean-axiom.yml) sur percolation_lean - #14917
Merged
Merged
Conversation
…ion_lean Le lake n'avait aucun workflow dedie : B.3 se lisait "non applicable", ce qui est l'absence d'une mesure, pas un vert. Cree lean-percolation.yml (gabarit lean-sensitivity.yml) : job ci -> lean-build.yml (sorry-baseline "0", sorry-filter-mode real) + job proof-integrity -> lean-axiom.yml (target-modules "*", allow-axioms "", fail-on-sorry true). Mesure fraiche des parametres (pas recopie) : distinct_code_sorry = 0 sur 13 fichiers, 0 native_decide, cloture #print axioms = [propext, Classical.choice, Quot.sound] (sous-ensemble des defauts du workflow reutilisable). Triggers paths : *.lean / lakefile / lean-toolchain du lake + le workflow lui-meme + lean-axiom.yml + agent_tests/lean_server.py + agent_tests/prover/lean_utils.py. Met a jour docs/reference/lean-axiom-coverage.md (tables triage et cablage). Co-Authored-By: Claude-Code <noreply@anthropic.com>
jsboige
commented
Sep 6, 2026
jsboige
left a comment
Owner
Author
There was a problem hiding this comment.
[Hermes] — #14917 review (guard proof-integrity percolation_lean)
Vérifications firsthand (sources à main + head ec991e33) :
- ✅ Inputs du caller vs workflows réutilisables — les 5 clés passées à
lean-axiom.yml@main(project-path,display-name,target-modules,allow-axioms,fail-on-sorry) et les 4 clés delean-build.yml(sorry-baseline,sorry-filter-mode, …) sont toutes déclaréesrequireddans lesworkflow_callà main — aucun input fantôme. - ✅ Baseline mesurée, pas recopiée — grep
sorrysur les 12 fichiers.leandu lake (2 racine + 10 sous-dossier) : 0 partout, FR comme_en→sorry-baseline: "0"+fail-on-sorry: truecohérents avec un lake fully-proven. Le compte "6 modules" de la table §2 correspond aux 6 fichiers FR. - ✅
allow-axioms: ""justifié — les defaults delean-axiom.ymlincluent déjàpropext, funext, Classical.choice, Quot.lift, Quot.mk, Quot.sound; l'empreinte citée[propext, Classical.choice, Quot.sound]en est un sous-ensemble, donc whitelist vide = correct (tout nouvel axiome → rouge, c'est le but). - ✅
target-modules: "*"— légitime per #10889 (dérivation runtime, ne peut pas dériver hors-vue),_enexclus par défaut = cohérent avec la mesure FR-only. - ✅ Paths de déclenchement : le gate se ré-exécute sur ses propres sources +
lean_server.py/lean_utils.py(entrées réelles du step axiom) — même rationale que lean-galois/conway (#8951/#8712), bien repris. - ✅ Tables §2/§4 de
lean-axiom-coverage.md: ligne ajoutée aux deux tables, énoncés concordants. Security scan : 0 match.
La phrase clé du body — « l'absence d'une mesure, pas un vert » — est exactement la bonne lecture de B.3. Câblage propre, scope borné, aucune preuve touchée. (contrainte token : COMMENT only)
This was referenced Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: MED/guard — lane myia-po-2026:CoursIA-2 — prev: MED/genai #14593
Quoi
Câble le gate
proof-integrity(lean-axiom.yml) surpercolation_lean. Le lake n'avait aucun workflow dédié : B.3 de pr-review-discipline s'y lisait « non applicable », ce qui est l'absence d'une mesure, pas un vert. Cette PR ferme le trou.Scope (borné)
.github/workflows/lean-percolation.yml— nouveau, gabaritlean-sensitivity.yml(petit lake,sorry-filter-mode: real)docs/reference/lean-axiom-coverage.md— tables triage (§2) et câblage (§4) : ajout percolationAucune modification des preuves Lean. Aucune touchée au catalogue.
Paramètres mesurés (pas recopiés, 2026-09-06)
project-path: MyIA.AI.Notebooks/Probas/Applications/Percolation/percolation_leandisplay-name: percolation_leansorry-baseline: "0"—count_code_sorry.py --jsonrenddistinct_code_sorry: 0sur 13 fichiers (0 naïf, 0 code)sorry-filter-mode: real— le lake est intégralement prouvé, la prose ne mentionne pas "sorry"fail-on-sorry: truetarget-modules: "*"— dérivation runtime (lean: target-modules tenu a la main -> proof-integrity vert hors-cible (26 modules hors vue sur 4 lakes) #10889), insensible à la dérive de la liste ;_enexclus par défaut (parité FR/EN couverte structuralement parlean-i18n-drift.yml, ci(lean,i18n): le scan sorry exclut les jumeaux _en en invoquant une CI de drift qui n'existe pas — cabler check_i18n_siblings #10007)allow-axioms: ""— clôture mesurée#print axiomssur les tranches [Probas/Lean] Noyau percolation — évènement de connexité croissant (tranche 2) #14896/feat(lean,#14871): composantes et frontiere du noyau percolation (tranche 3) #14897/feat(lean,#14871): frontiere isoperimetrique finie sur C3 et C4 (tranche 4) #14907 =[propext, Classical.choice, Quot.sound], sous-ensemble des défauts du workflow réutilisable => tout axiome nouveau (native_decide, sorryAx) doit rougirTriggers
paths:(acceptance 3).lean/lakefile.lean/lean-toolchaindu lake + le workflow lui-même +lean-axiom.yml+ les deux entrées Python du gate (lean_server.py,lean_utils.py) — cf #8712/#8722/#8951.Contrôle positif (acceptance 4)
workflow_dispatchsurprobe/14904-red, mutationsorrytemporaire) :cifailure +proof-integrityfailure. https://github.com/jsboige/CoursIA/actions/runs/34047876576pull_requestPR ci(lean,#14904): cabler proof-integrity (lean-axiom.yml) sur percolation_lean #14917, tête propre) :cisuccess +proof-integritysuccess. https://github.com/jsboige/CoursIA/actions/runs/34047841716La mutation
sorry(commitbd74b8f2b,theorem positive_control_probe : False := by sorryajouté àPercolation/Basic.lean) a été posée sur une branche jetableprobe/14904-red, puis supprimée (locale + distante) une fois le rouge observé. Elle n'apparaît dans aucun commit du PR (git logdefeature/14904-lean-percolation= 1 commit de câblage). Le rouge prouve que le gate mord (sorryAx+ baseline dépassée) ; le vert sur la tête propre prouve que le câblage ne casse rien.Note, délibérément hors scope
Le placement du lake (
MyIA.AI.Notebooks/Probas/Applications/Percolation/vs leProbas/percolation_lean/prescrit par #14871) est une divergence antérieure à #14896, nommée ici pour ne pas se perdre, traitée séparément (cf #14904 §Hors scope). Le cablage des autres lakes non couverts ne relève pas de cette PR.See #14871. See #14896. See #14897. See #14907.
Closes #14904.