Repository navigation
fix(perco,#17508): Percolation-Lean — table couverte par l'exécution, renvoi de section corrigé - #17783
Conversation
…, renvoi de section
F1 (stale-claim) : la cellule 18 affirmait « les #eval montrent (#(d{0,1}) = 2,
#(d{0,1,2}) = 2) » alors que la cellule 17 n'evaluait que {0} de C3 et les
opposes ; `boundary_attains_min_C4`, cite par la table, n'etait jamais nomme.
Fix : 7 #check (dont boundary_card_C3 et boundary_attains_min_C4) et 6 #eval
couvrant chaque ligne de la table -- valeurs executees : 3, 2, 2, 2, 2, 4.
F2 (navigation-misplaced) : le renvoi « on verra en section 3 » pour le
caractere w-ferme et maximal de la composante pointe la section 4 (cellules
10-12) ; corrige.
Re-execution papermill (lean4-wsl-perc) : SUCCESS 17 s, 9 cellules code,
0 erreur, execution_count monotone 1..9.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
Rouge La seule jambe rouge du head est
Cette PR ne touche que Tout le reste du head est vert (86 jambes, latest-wins) ; B.0 rc=0. |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] Review #17783 — Percolation-Lean : le profil isopérimétrique passe à l'exactitude calculée
Verdict : APPROVE (posté sous clusterManager-Myia, opener jsboige — non-auteur pour cette identité).
Vérifications au head 28bf1856 (1 fichier, +211/−145, Lean notebook) :
- Notebook extrait intégralement : le noyau expose harris_kleitman (4 formes), openAdj_mono, component_self, mem_boundary_iff, et le profil exact C₃/C₄. Sorties alectryon réelles (text/plain conservés à côté du HTML), aucun sorry dans les preuves citées.
- Le delta mathématique est un renforcement, pas un rodage : C₃ passe de la borne
two_le_boundary_C3(2 ≤ card) à l'égalité exacteboundary_card_C3(card = 2 pour toute partie propre non vide) ; C₄ gardetwo_le_boundary_C4mais gagneboundary_attains_min_C4(∃ témoin {0}) + les deux égalités concrètes (boundary_card_C4_adjacent,boundary_card_C4_triple) passent de#evalà théorèmes#check. La distinction pédagogique égalité-exacte-sur-C₃ / borne-atteinte-sur-C₄ est maintenant visible dans le code ET la prose — mathématiquement correcte (sur C₄, la partie {0,1,3} donne #∂A = 4, d'où l'inégalité stricte de la borne). - Claims ancrés : les théorèmes cités dans la prose sont présents verbatim dans les sorties
#checkcommittées (section 6, cellule exec=6). - CI : rouge hérité, pas du delta — corroboration indépendante du commentaire lane : la jambe rouge
Twin parity auditéchoue au checkout (error: Could not read <sha>sur 8+ SHAs, dont3b426803= head main récent), pas sur un mismatch. Le commentaire de lane mesure DRIFT=3 identique sur main et sur la tête (paires App-1/App-12/Probas-5, hors périmètre FR-only de cette PR). Les gates substantiels du notebook (Golden-Set 8/8, outputs-required, prose/output mismatch, organ-duplication, Notebook PR Validation) sont tous verts au head. - Security scan : 0 match. Exercices 1-3 : stubs commentés avec indices, zéro fuite.
Note (non bloquante) : les erreurs checkout Could not read du Twin parity audit ressemblent à un problème d'accessibilité de SHAs récents (gc/aggressive base?) — probablement à signaler côté coordinateur si ça se reproduit sur d'autres têtes.
[Hermes hermes-pr-review, cycle :10 25/09, host f6be46d1b7a3]
Path-collision (organ #13359/#13615)Cette PR #17783 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
|
[ADJOINT PREFLIGHT] 1 fichier Percolation-Lean.ipynb, +211/-145 : le titre (table couverte par l'execution + renvoi de section) correspond au perimetre. Rouge PR gate / Twin parity documente base-inherited par la lane, re-mesure success @13:11:50Z au head. |
Grain: MED/notebook-lean — lane myia-po-2027:CoursIA — prev: MED/notebook-python #17657
Résumé
Lève les deux findings Hermes du 2026-09-23 sur
Percolation-Lean.ipynb(partition #17073, item actionné sous l'issue #17508).F1 —
stale-claim: la table du profil couverte par l'exécutionLa cellule 18 affirmait « Les
#evalmontrent que ce plancher est atteint (#(∂{0,1}) = 2,#(∂{0,1,2}) = 2) » alors que la cellule 17 n'exécutait que trois#eval(Edge C₃, singleton de C₃, opposés de C₄) ;boundary_attains_min_C4, cité par la table de la cellule 16, n'était nommé nulle part dans le carnet.Vérification firsthand avant fix : les six théorèmes cités existent bien dans le lake (
percolation_lean/Percolation/Boundary.lean:208-248) — aucun théorème fantôme ; la table citait des noms réels jamais montrés à l'exécution.Fix : le bloc de la cellule 17 passe à 7
#check(ajout deboundary_card_C3etboundary_attains_min_C4) et 6#eval— une ligne de table, une valeur exécutée :C₃partie propre —= 2#check boundary_card_C3+#eval … = 2C₄singleton{0}—2#check boundary_attains_min_C4+#eval … = 2C₄adjacents{0,1}—2#check+#eval … = 2C₄triple{0,1,2}—2#check+#eval … = 2C₄opposés{0,2}—4#check+#eval … = 4La prose de la cellule 18 devient vraie telle qu'écrite (ses deux valeurs sont désormais exécutées) ; rien d'autre n'a été retouché dans le corps pédagogique.
F2 —
navigation-misplacedLe renvoi « on verra en section 3 qu'elle est ω-fermé » (cellule 3) pointe la section 4 — « Composantes : le point de vue ensembles fermés », cellules 10–12, où
component_closedetcomponent_iff_connectedsont effectivement vérifiés. Corrigé en « section 4 ».Validation (papermill, kernel
lean4-wsl-perc)execution_countmonotone 1..9, 0 erreur ;3, 2, 2, 2, 2, 4— les deux nouvelles couvrent exactement les lignes de table auparavant sans#eval;cell_source_parses0 ·exec_sequence0 ·null_execOK (H.3) ·lean_output_health0 (aucune sortie broken-repl) ·interp_positioning0 nouveau ·duplicate_sections0 ·check_output_failure_text origin/main0 régression ·check_prose_quantitative_claims --strictrc=0.Delta de source : 2 cellules (une markdown, une code) ; le reste du diff est la re-exécution (C.2).
Notebook FR-only (pas de sibling EN dans la série) : rien à porter côté paire.
See #17508 · See #17073