Repository navigation
feat(lean,#23499): Pli 2 Poincare -- note de conception, temoin de chaine FR/EN et carnet Lean-42 - #23506
feat(lean,#23499): Pli 2 Poincare -- note de conception, temoin de chaine FR/EN et carnet Lean-42#23506jsboige wants to merge 1 commit into
Conversation
…aine FR/EN et carnet Lean-42 Premiere et deuxieme marches du Pli 2 de l'EPIC #18205 (origami geometrie differentielle), grain #23499. - docs/lean/origami-pli2-note-conception.md : inventaire mesure sur le pin v0.1.3 (17 555 modules / 4 704 458 lignes pour le paquet amont ; 14 196 / 4 020 908 pour la cloture de l'enonce), composition par famille, maillons mesures separement, pivots par in-degree, ordre des marches, matiere reservee aux Pli 3 et 4, numero de carnet propose (Lean-42). Le document porte aussi la correction de sa propre erreur : le premier jet proposait Lean-38 en croyant la serie arretee a Lean-37. - differential_lean/PoincareChain.lean + _en : temoin de visite de la chaine de preuve (Moise -> extinction controlee -> Poincare lisse -> Poincare topologique), en sibling-pair i18n #4980, ajoute aux globs du lake pour que le frere EN soit elabore et non orphelin (#6749). - Lean-42-Poincare-Conjecture-Lean.ipynb : le carnet. Le graphe d'imports est construit par le carnet (parcours en largeur sur les lignes import), jamais recopie ; la longueur de la preuve est comptee par le carnet (11 lignes de bloc, 5 apres := by) ; 10 cellules code, 0 erreur, execution papermill. Note honnete de portee : le lake build du temoin n'a pas ete rejoue a terme dans ce cycle. L'environnement echoue a la premiere dependance (failed to create file ...OpenPrivate.olean.server) alors que la toolchain attendue v4.33.1 est verifiee et que l'olean s'ecrit normalement dans le meme dossier ; le detail et les pistes sont dans le body de la PR. Le build de ces memes modules a ete valide en local au Pli 1 (#21916). Part of #18205. See #23499. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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 |
|
✅ 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 |
|
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: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
Cette PR depasse le seuil de couverture review (par defaut 300 additions) et n'a recu aucune review -- ni bot, ni humaine. Le label Le label est retire au balayage suivant (quotidien) des qu'une review arrive -- dans Seuil, historique et exceptions : cf. |
Path-collision (organ #13359/#13615)Cette PR #23506 (
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] Review — Pli 2 Poincaré : fond solide, 3 gardes bloquantes imputables au diff
Vérifications exécutées (head a0326bc4, 120 check-runs lus, logs fast-lane extraits) :
- Carnet authentique et chiffres ancrés : papermill 2.7.0,
start 09:13:37.980401/end 09:13:50.720434(µs distinctes, durée 12.740033 fractionnaire), exec 1→10, 0 erreur, per-cell papermill 28/28. Les 4 chiffres du body sont dans les outputs committés (17,555 modules / 4,704,458 lignes / 14,196 / 80.9 % / 85.5 %). Les 3 exercices sont bien des stubsreturn None+# TODO etudiant. Le listingPoincare.lean23 lignes concorde (théorème l.12,:= byl.16, 5 lignes de tactiques l.17-21). Le contenu de la cellule « Lecture du résultat » (Moise porte d'entrée, difféomorphisme vs homéomorphisme,toHomeomorph) est fidèle au listing committé. - Numérotation Lean-42 exacte :
contents/SymbolicAI/Lean@mainva jusqu'àLean-41, aucunLean-4[2-9]dans le dossier — le claim de correctionLean-38→42est juste. - Jumeau EN : 5
#print axiomsbyte-identiques au FR (les 6ᵉ/7ᵉ hits sont le docstring), imports identiques — convention #4980 respectée. - lakefile : ajout de
PoincareChain/PoincareChain_enaux globs — cohérent avec le piège #6749 documenté. - Body honnête : la réserve critère 2 (build Lake non reproduit, MAX_PATH 260 mesuré sur les 3 chemins) est un état déclaré « dû », pas caché.
Les 3 gardes en échec au head sont toutes imputables au diff (le Always-on guards rouge n'est que l'agrégat — log lu : « Organes bloquants en echec : fastlane ») :
check-nav-chainFAILURE —[independent_chain] SymbolicAI/Lean. La série EST à convention nav (mesuré sur les blobs : 38↔39 se pointent, 41→40, 39→38+17+16a, 40→29+Langlands, 41→40+MIMO+22).Lean-42a 0 lien.ipynbentrant et 0 sortant (aucune cellule Navigation). Remède mesuré éprouvé (#22481, #22462) : cellule## Navigationdans Lean-42 avec un lien[<< Lean-41](Lean-41-Capstone-MIMO-Python.ipynb), et idéalement l'arête entrante depuis Lean-41.prose-countsFAILURE (#9377) — 9 compteurs : README l.206 (10 cellules,23 lignes,5 lignes,17 555 modules) ×5, note197 modules,23 lignes,17 555 modules,83 fichiers×4. Tous dans les lignes ajoutées par la PR. Remède : « Supprimer la mesure, garder le prédicat » — p.ex.23 lignes→(0 sorry),17 555 modules→la quasi-totalité du paquet.docs-index-guardFAILURE —docs/lean/origami-pli2-note-conception.mdinatteignable depuisdocs/README.md(277/278) : il manque la ligne d'index dans la section Lean (le Pli 1 y figure l.184 :lean/origami-reconnaissance.md). Un ajout de doc vivant sans ligne d'index est la classe #22071.
Le fond (note, témoins FR/EN, carnet mesuré, lakefile) est de qualité — le blocage est purement ces trois surfaces documentaires. Verdict COMMENT_WITH_CONCERNS : rien ne m'oppose au fond, mais je ne peux pas approuver avec 3 gardes bloquantes non réparées au head.
Grain: DEEP/notebook-lean — lane myia-po-2025:CoursIA-2 — prev: MED/genai #22761
Pli 2 de l'EPIC origami géométrie différentielle (#18205), grain #23499. Trois livrables, dans l'ordre que le mainteneur a demandé (note d'abord, carnet ensuite).
Les trois marches
docs/lean/origami-pli2-note-conception.mddifferential_lean/PoincareChain.lean+PoincareChain_en.leanLean-42-Poincare-Conjecture-Lean.ipynbPlus :
differential_lean/lakefile.lean(les deux siblings entrent dans les globs, sans quoi ils ne seraient jamais élaborés — piège #6749) etSymbolicAI/Lean/README.md(ligne de table + entrée d'arbre).Ce que le pli a trouvé, et qui n'était pas dans le body de l'EPIC
Le body de l'EPIC décrit la chaîne comme « Moise → chirurgie → extinction ». La lecture du module de l'énoncé dit autre chose, et c'est la matière du carnet :
poincare_conjecturetient en 5 lignes de tactiques (module de 23 lignes, bloc du théorème de 11 lignes énoncé compris, 5 après:= by— mesure 2026-10-30, recalculée par le carnet lui-même) ;IsManifold (𝓡 3) ∞ M, etexists_isManifold_threeest le seul passage du monde topologique au monde lisse ;smoothPoincareConjecture_holds), strictement plus fort que l'énoncé ;f.toHomeomorphest tout l'écart entre les deux ;fineCutNeckSupplyStrongn'est pas la tête de la chaîne : c'est un maillon interne.Note : la première version de ma note proposait
Lean-38et affirmait que la série s'arrêtait àLean-37. Les deux étaient faux (Lean-38-Capstone-Geometry-Lean-Python.ipynbexiste, la série va jusqu'àLean-41). Corrigé enLean-42, vérifié libre pargit ls-tree(0 occurrence deLean-4[2-9]surmain) et par recherche de PR. La correction de méthode est écrite dans la note (§5) plutôt que silencieuse.Chiffres mesurés (recalculés par le carnet, pas recopiés)
Les chiffres de la prose viennent des sorties du carnet lui-même (C.5), et deux relevés indépendants — scripts de mesure hors dépôt et cellules du carnet — donnent exactement les mêmes comptes au pin
v0.1.3(7a48598d, Apache-2.0) :DifferentialGeometryContrôle de méthode : le même calcul reproduit exactement les trois petites clôtures du Pli 1 (33/13 432 · 47/23 522 · 383/181 252), ce qui vaut validation indépendante de l'instrument.
Critères d'acceptation — état honnête
lake buildpasse sur la machine témoin, journal cité ;count_code_sorry.py --jsoninchangé ;#print axiomsrelu dans les deux siblingsG:\Mon Drive\MyIA\IA\Bibliographie IARéserve sur le critère 2 —
lake builddu témoin non reproduit, cause mesuréeLe fichier de visite est livré, les deux siblings sont dans les globs, et
#print axiomsy est appelé cinq fois dans chaque sibling (Moise → Hamilton → extinction contrôlée → difféomorphisme → homéomorphisme). Lelake buildde la cible n'a pas encore rendu de journal vert.Après un premier cycle où j'avais écrit « environnement défaillant » sans cause, j'ai rejoué le build seul (0 processus
lean/lakeprésent au lancement, vérifié avant de partir) pour départager un verrou concurrent d'autre chose. Le verrou est réfuté, et la signature a changé :Le fichier existe (1 652 octets, mesuré) et le paquet est complet (17 555
.lean, 1,2 Go). L'erreur ne parle donc pas du fichier lu — elle parle du fichier écrit. Mesure des deux chemins, au caractère :.leandu module amont.olean.olean.server(celle du premier échec)Les trois dépassent
MAX_PATH(260), la limite Windows pour une application non manifestée long-path-aware — et Lean n'est pas manifestée. C'est la cause réelle, et elle explique les deux signatures observées : lefailed to create file …OpenPrivate.olean.serverdu cycle précédent et leno such file or directoryde ce cycle sont le même défaut, vue de deux chemins de sortie différents.Ce que cela corrige dans mon propre diagnostic : j'avais écarté la longueur de chemin au cycle précédent sur une mesure de 254 caractères — un autre chemin, plus court, que celui qui échoue. Une mesure qui ne porte pas sur l'objet en cause ne réfute rien ; j'ai pris un chiffre plausible pour une mesure.
Le correctif est identifié, pas appliqué : construire depuis une racine courte (worktree
gitsousD:\), ce qui ramène source et sorties autour de 115-140 caractères. La fermeture amont coûte 22 909 jobs et 11 253 s en local (Pli 1, #21916) — c'est un build de plusieurs heures, pas une vérification de fin de cycle. Je le déclare dû, pas acquis.Le code livré n'est pas en cause : un fichier de
#print axiomsn'ajoute aucune preuve. Mais le critère demande un journal de build, et il n'y en a pas. Le grain reste ouvert —Part of #18205,See #23499, pas de clôture. Le journal du build rejoué viendra en commit séparé.Note d'instrument, pour le lecteur suivant :
lake update 2>&1 | tail -25rend0alors que le log porteerror: build failed— le code de sortie d'un pipeline est celui detail. Les mesures ci-dessus ont été refaites avec capture complète.Critère 5, sans objet — et pourquoi ce n'est pas une esquive
Le corps du grain prévoit des copies archivées dans
G:\Mon Drive\MyIA\IA\Bibliographie IA. Ce pli ne récupère, n'utilise et ne cite aucune publication : son unique source externe est le dépôtqinz1yang/differential-geometry, épinglé au commit7a48598dpar le manifeste Lake du lake d'enveloppe — un artefact versionné, pas une publication. Il n'y a donc rien à archiver, et inventer un rayon GDrive pour un dépôt serait du rangement décoratif. Le relevé du 2026-10-30 ne trouve aucune entrée Poincaré/Ricci/Perelman/Hamilton dans le gisement.Si le mainteneur veut que le carnet cite les trois préprints de Perelman, c'est un ajout de contenu — et il viendra avec les copies archivées, dans le même geste.
C.1 / C.2 — les preuves d'exécution
Carnet exécuté par Papermill deux fois (la seconde après correction d'une fuite de chemin machine dans une sortie — corrigée par la cause, pas par édition manuelle), sortie 0 les deux fois :
execution_countnul : 0 ;return None+print(…),# TODO etudiantconservé) : le carnet s'exécute de bout en bout exercices non complétés.Première sortie de la cellule qui lit le module de l'énoncé :
Portée
DIFFERENTIAL_GEOMETRY_SRCsinon emplacements conventionnels), et s'arrête avec un message explicite si rien n'est trouvé.v4.33.1côté amont,v4.33.0côté flotte) ; rien n'est aligné ici.CATALOG-STATUSreste byte-identique, la ligne de table et l'entrée d'arbre sont le seul ajout.Part of #18205. See #23499.
🤖 Generated with Claude Code