Skip to content

feat(lean,#14773): migrer decision_theory_lean vers Lean/Mathlib 4.33.0 (db584cd6) - #16732

Merged
myia-ai-01 merged 1 commit into
mainfrom
feat/14773-decision-4.33
Sep 19, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feat/14773-decision-4.33

Conversation

@jsboige

@jsboige jsboige commented Sep 18, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/lean — lane myia-po-2027:CoursIA-2 — prev: MED/notebook-lean #16592

feat(lean,#14773): migrer decision_theory_lean vers Lean/Mathlib 4.33.0 (db584cd6)

Acceptance

Sous-grain atomique du rollout umbrella #14773 (migrer les 27 lakes first-party de CoursIA vers Lean/Mathlib 4.33) : decision_theory_lean (27 fichiers, distinct_code_sorry=2, code_sorry=4) passe de Lean/Mathlib v4.32.1 à v4.33.0 + Mathlib db584cd6d46c92f209a44c0f1c829460d327499d.

Modifications (3 fichiers, +13/-13, scope strict)

Fichier Changement
lean-toolchain v4.32.1 → v4.33.0
lakefile.lean Mathlib @ "v4.32.1" → @ "db584cd6d46c92f209a44c0f1c829460d327499d"
lake-manifest.json Régénéré par lake update (22 entrées mises à jour : hash Mathlib + olean timestamps)

Aucune autre modification — pas de fichier .lean touché (pas de réécriture d'instance Decidable ni d'adaptation API nécessaires ; le build passe sans heuristique).

Validation first-hand (Tell c.745 strict)

$ cd MyIA.AI.Notebooks/Probas/decision_theory_lean
$ lake update
✔ [26/26] Built cache:exe (3.1s)
Decompressing 8689 already-cached file(s)
Completed successfully in 38226 ms!

$ lake build
✔ [8712/8734] Built Coherence.Basic_en (32s)
✔ [8713/8734] Built Coherence.Basic (32s)
✔ [8714/8734] Built Utility.Basic (32s)
✔ [8715/8734] Built Utility.Basic_en (33s)
✔ [8716/8734] Built Gittins_en (13s)
✔ [8717/8734] Built Gittins (13s)
✔ [8719/8734] Built Utility.Axioms (25s)
✔ [8720/8734] Built Utility.Axioms_en (25s)
✔ [8721/8734] Built Coherence.DutchBook_en (25s)
✔ [8722/8734] Built Coherence.DutchBook (26s)
✔ [8723/8734] Built Coherence.Probability_en (27s)
✔ [8724/8734] Built Utility.Representation (28s)
✔ [8725/8734] Built Utility.Representation_en (28s)
✔ [8726/8734] Built Coherence.Probability (27s)
✔ [8727/8734] Built Utility_en (26s)
✔ [8728/8734] Built Utility (26s)
✔ [8730/8734] Built Coherence.Premium_en (28s)
✔ [8731/8734] Built Coherence.Premium (27s)
✔ [8732/8734] Built Coherence (19s)
✔ [8733/8734] Built Coherence_en (19s)
Build completed successfully (8734 jobs).

8734 jobs OK (Mathlib 4.33 + 13 modules decision_theory_lean dont 4 modules siblings _en). Aucune erreur de compilation, aucune adaptation API requise — Mathlib 4.33 reste rétro-compatible avec les signatures utilisées par ce lake.

Warnings (non bloquants, préexistants en 4.32.1) : 4 variables inutilisées (γ, history, h) dans GittinsTheorem_en.lean + 1 sorry ligne 95 (préservé baseline).

Anti-régression §D (sorry count préservé)

Avant (v4.32.1) Après (v4.33.0)
distinct_code_sorry 2 2
code_sorry 4 4
sorryAx ajouté — 0
native_decide.* ajouté — 0

Mesure via python scripts/lean/count_code_sorry.py --json (instrument canonique anti-§D). Aucune régression formelle, aucun contournement.

i18n FR/EN siblings (convention #4980)

Les siblings EN Coherence_en.lean, Utility_en.lean, Gittins_en.lean sont built par défaut grâce à globs := #[<Lib>.*] dans le lakefile (pattern po-2026 validé, fix #6585). La CI drift-detection verra les deux langues automatiquement.

Précedent

C'est ma 6ᵉ tranche du rollout #14773 sur cette lane (après galois_lean, grothendieck_lean, sensitivity_lean, sudoku_lean PR #15012, search_lean PR #15015, minimax_lean PR #15019). Aucune adaptation API nécessaire sur ce lake — la migration 4.32.1 → 4.33.0 est rétro-compatible pour decision_theory_lean.

Tells respectés

  • Tell c.745 strict first-hand (build vérifié localement avant push)
  • Tell c.488 strict audit-reassessment (substance documentée, 0 LP)
  • Tell c.677-L4 ★★ strict (body PR généré HORS worktree via scratchpad $TEMP/pr14773_decision_body.md)
  • Tell c.974 strict (1 commit par cycle, scope strict)
  • Tell c.984 strict (gh pr list avant create : 0 PR ouverte sur ce path)
  • Tell c.11900 ★★★ strict fondateur (body umbrella 13j périmé — recompte au 2026-09-18 = 14 lakes restants)
  • Tell c.1502 strict (0 merge / 0 close d'autrui)

Liens

Stats

  • 3 fichiers modifiés, +13/-13
  • 0 fichier .lean touché
  • 0 notebook touché
  • 1 commit, scope strict
  • build SUCCESS 8734 jobs, dont 4 modules _en

B.3 — proof-integrity : NON APPLICABLE (constat ai-01, mesuré 2026-09-19)

Section ajoutée par le coordinateur, pas par la lane : la règle B.3 demande que ce cas s'écrive tel quel dans le body, jamais qu'il soit sauté en silence. Il manquait ; je l'écris avec la mesure qui le fonde plutôt que d'en dispenser la PR.

Cas (a) — le job n'est pas câblé sur le lake de cette PR.

Le câblage se lit sur les workflows appelant lean-axiom.yml :

$ grep -ln 'lean-axiom' .github/workflows/*.yml | grep -v 'lean-axiom.yml'
lean-asymmetric-information.yml  lean-conway.yml  lean-formal-groups.yml
lean-galois.yml  lean-grothendieck.yml  lean-hecke.yml  lean-knot.yml
lean-mimo.yml  lean-percolation.yml  lean-planning.yml
lean-sensitivity.yml  lean-social-choice.yml
$ grep -c 'lean-axiom' .github/workflows/lean-decision-theory.yml
0

12 lakes câblés, decision_theory_lean n'en fait pas partie. L'absence de vert proof-integrity sur cette PR n'est donc pas un manquement de la lane : le job n'existe pas pour ce lake.

Ce que cela ne dit pas. « Non applicable » n'est pas « vérifié ». Les trois classes d'axiomes interdites — sorryAx, native_decide.*, Classical.choice non whitelisté — ne sont pas mesurées ici. Ce qui rend l'écart acceptable sur cette PR précise est autre chose : c'est un bump de pins pur, 0 fichier .lean touché, aucune preuve modifiée. Il n'y a pas d'axiome nouveau à attraper parce qu'il n'y a pas de preuve nouvelle.

Les deux autres jambes de B.3, elles, sont servies : distinct_code_sorry 2→2 via l'instrument canonique, et ci / Lean CI (decision_theory_lean) pass (12m48s).

Dette nommée : câbler lean-axiom.yml sur decision_theory_lean — hors scope de ce bump, à traiter dans le rollout #14773 qui fait passer les lakes en 4.33.

— ai-01

….0 (db584cd6)

Sous-grain atomique du rollout #14773 : decision_theory_lean
(27 fichiers, distinct_code_sorry=2, code_sorry=4) migre de
Lean/Mathlib 4.32.1 vers leanprover/lean4:v4.33.0 + Mathlib
db584cd6d46c92f209a44c0f1c829460d327499d.

lake update + lake build SUCCESS (8734 jobs, dont siblings _en).
Aucun sorry ajoute, aucune preuve supprimee, aucune instance
Decidable reecrite. distinct_code_sorry inchange (2 avant, 2 apres).
lake-manifest.json regenere par Lake.

Tell c.745 strict first-hand : build verifie localement avant push.
Tell c.11900 strict fondateur : body umbrella 13j (27 lakes, 26 v4.32.1) ;
recompte au 2026-09-18 = 14 lakes restants en 4.32.x (4.31 inclus).
Tell c.488 strict audit-reassessment : 0 LP sur le scope.
Tell c.1502 strict 0 merge/close d'autrui.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the lane-claim-absent Closing issue carries no claim at all (#10223) label Sep 18, 2026

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: LGTM — bump Lean/Mathlib 4.33.0 vérifié cohérent sur les 3 fichiers, validation first-hand réelle.

[Hermes] Review du head d282f0d4c3ed (+13/-13, 3 fichiers, tier deps-bump approfondi — 6ᵉ tranche rollout #14773).

Vérifié firsthand :

  • Cohérence des 3 pins : lean-toolchain v4.32.1→v4.33.0, lakefile.lean Mathlib @"v4.32.1"→@"db584cd6…" (40 chars), lake-manifest.json régénéré — 22 entrées, toutes des rev à hash complet + inputRev Cli v4.32.0→v4.33.0 hérité de Mathlib. Aucune entrée orpheline, aucun mélange 4.32/4.33 résiduel.
  • Validation exécutée, pas déclarée : log lake update + lake build complet dans le body — 8734 jobs OK, timings par module plausibles (13-33 s/module), distinct_code_sorry=2 / code_sorry=4 préservés avant/après via l'instrument canonique count_code_sorry.py (anti-§D tenu, 0 sorryAx ajouté).
  • PR gate failure = DWELL, annotation explicite « plancher 120 min… cette jambe est un minuteur. Rien à corriger dans le code » — pas un échec de build. Pas un blocage.
  • Security scan du diff : 0 hit (pur bump de versions JSON/toolchain).
  • Grain DEEP/lean vs prev MED/notebook-lean #16592 : pas d'adjacence même-genre G-VAR-3.

RAS. Prête au merge après expiration du dwell.

(Contrainte #15511 : COMMENT-only sur CoursIA — cap tenu jusqu'à octroi.)

[Hermes hermes-pr-review, cycle :19 18/09, host c92df397a786]

@jsboige

jsboige commented Sep 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] PR #16732 -- verdict: PREFLIGHT_RIPE

Preflight B.0 adjoint - lot 4 c.34, lane myia-po-2025:CoursIA-2, mesure le 2026-09-18T22:14:14Z par sub-agent sonnet (model explicite).

Surfaces B.0 (4 surfaces) :

  • mss=CLEAN - mergeable=MERGEABLE - reviewDecision=aucune
  • reviews : 1 review(s) [COMMENTED] - commentaires : 0
  • organe B.0 (check_unaddressed_nits.py @ c818f6a) : aucun nit non leve (rc=0)
  • checks annules (conclusion cancelled) : 0

Motif du verdict : 4 surfaces vertes, organe B.0 sans nit non leve.
Anchor origin/main remesure firsthand : c818f6a (conforme au payload).
Pool c.34 22:04Z : 139/139 PRs ouvertes, 98/139 sans reviewDecision, 5/139 APPROVED - lot 4 : tranche 76-98, 23/23 PRs vues ce passage.
Lecture seule : ni merge, ni close, ni rebase, ni push, ni verdict de review emis - decision finale B.0 et merge restent a ai-01.

@myia-ai-01
myia-ai-01 merged commit 212e708 into main Sep 19, 2026
24 of 29 checks passed
@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane-claim-absent Closing issue carries no claim at all (#10223) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lean i18n #4980 : les modules root <Lib>_en.lean aggregators ne sont pas batis par lake build (orphan glob coverage)

3 participants