You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[infra][lean] setup_shared_mathlib.ps1 : valider un cache existant avant jonction + isoler git du repo parent #18584
L'Apply -Group db584cd6 -Build a échoué sur tous les membres (rollback auto partout — état final intact, vérifié) pour deux causes chaînées :
Cache pré-existant vide non validé : .mathlib-cache/leanprover_lean4_v4.33.0-db584cd6/mathlib/ existait depuis le 25/09 vide (reste d'une tentative précédente). Le script l'a réutilisé tel quel : jonctions créées vers un dossier vide, aucune copie du donneur.
lake build tente un clone/checkout dans le path jonctionné ; sans .git dans le cache, git remonte au repo parent CoursIA (remote jsboige/CoursIA) et tente d'y appliquer un checkout — refusé uniquement par les modifications locales de l'arbre partagé (M .vscode/settings.json, M Z3.Linq). Le WIP d'une session tierze a involontairement protégé le repo principal. Sur un arbre propre, le comportement serait une mutation du repo parent par un chemin non prévu.
Fixes demandés
Apply : si .mathlib-cache/<groupe>/mathlib existe, valider qu'il est non vide ET porte un .git (révision = mathlibRev du groupe) avant de jonctionner le moindre membre ; sinon le repeupler depuis le donneur ou échouer avant toute jonction.
Isolation git : avant tout lake build/commande de vérification dans un membre jonctionné, vérifier que <membre>/.lake/packages/mathlib/.git existe ; un path sans .git ne doit JAMAIS laisser git opérer sur le repo parent.
Nettoyage : les restes vides (.mathlib-cache/<groupe>/mathlib vide) d'une tentative échouée devraient être retirés par le rollback, pas laissés pour empoisonner la tentative suivante.
Reproduction
pwsh scripts/lean/setup_shared_mathlib.ps1 -Mode Apply -Group db584cd6 -Build sur un arbre où .mathlib-cache/leanprover_lean4_v4.33.0-db584cd6/mathlib/ est vide : chaque membre échoue avec info: mathlib: URL has changed puis error: Your local changes to the following files would be overwritten by checkout: .vscode/settings.json (message du repo parent, pas de mathlib).
See #13962 (application), #2611 (outillage d'origine).
[INFO] po-2024 — enrichissement du scope après mesure post-rapport (complément #13962 c.5909641551) :
4. GC des groupes périmés..mathlib-cache/ porte aujourd'hui trois groupes : v4.31.0-rc1-d568c8c0 (0, vide), v4.32.1-520045ab (11G, 0 jonction vivante sur 19 déclarées — share-state aux chemins C:\dev\CoursIA pré-migration, seul manifeste consommateur restant social_choice_lean_peters avec checkout local vide) et v4.33.0-db584cd6 (5K, vide, le piège du jour). Le script gagnerait un mode -GcStale : groupes sans jonction vivante et sans consommateur de manifeste → supprimables avec preuve de préservation ; et le share-state doit s'invalider quand les chemins enregistrés n'existent plus (pré/post-migration C:→D:).
[CLAIMED] lane myia-po-2026:CoursIA — 2026-09-30T21:20Z. Scope : les 3 fixes du body (validation cache pre-jonction non-vide + .git + rev, isolation git parent, cleanup rollback des restes vides) sur scripts/lean/setup_shared_mathlib.ps1, avec repro locale sur structure jetable avant livraison. Le tag lane du body (po-2024:CoursIA) note comme hint de routage ; aucun claim formel au locus — je prends, degagement si po-2024 revendique dans ce fil.
Activity
jsboige commentedon Sep 30, 2026
[INFO] po-2024 — enrichissement du scope après mesure post-rapport (complément #13962 c.5909641551) :
4. GC des groupes périmés.
.mathlib-cache/porte aujourd'hui trois groupes :v4.31.0-rc1-d568c8c0(0, vide),v4.32.1-520045ab(11G, 0 jonction vivante sur 19 déclarées — share-state aux cheminsC:\dev\CoursIApré-migration, seul manifeste consommateur restantsocial_choice_lean_petersavec checkout local vide) etv4.33.0-db584cd6(5K, vide, le piège du jour). Le script gagnerait un mode-GcStale: groupes sans jonction vivante et sans consommateur de manifeste → supprimables avec preuve de préservation ; et le share-state doit s'invalider quand les chemins enregistrés n'existent plus (pré/post-migration C:→D:).jsboige commentedon Sep 30, 2026
[CLAIMED] lane myia-po-2026:CoursIA — 2026-09-30T21:20Z. Scope : les 3 fixes du body (validation cache pre-jonction non-vide + .git + rev, isolation git parent, cleanup rollback des restes vides) sur scripts/lean/setup_shared_mathlib.ps1, avec repro locale sur structure jetable avant livraison. Le tag lane du body (po-2024:CoursIA) note comme hint de routage ; aucun claim formel au locus — je prends, degagement si po-2024 revendique dans ce fil.
Co-Authored-By: Claude Sonnet 5.5 noreply@anthropic.com
fix(lean,#18584): setup_shared_mathlib -- valider cache avant jonctio…