Skip to content

[infra][lean] setup_shared_mathlib.ps1 : valider un cache existant avant jonction + isoler git du repo parent #18584

Closed

Description

@jsboige

Grain: MED/tooling — lane myia-po-2024:CoursIA — prev: DEEP/qc #18582

Constat (Apply po-2024, 30/09, issue #13962)

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 :

  1. 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.
  2. 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).

🤖 Generated with Claude Code

Activity

  1. jsboige commented on Sep 30, 2026

    @jsboige
    OwnerAuthor

    [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:).

  2. jsboige commented on Sep 30, 2026

    @jsboige
    OwnerAuthor

    [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

  3. added a commit that references this issue on Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions