Skip to content

PyMC-01 arviz 1.x completion — 2 cellules à corriger sur kernel 3.12.14 #18401

Description

@jsboige

Contexte

Issue de suivi du Diagnostic dérive porté sur PR #18034 (commit 0d03373802, axe C.4 (a) env/kernel, verdict CAUSE_DOCUMENTED_ONLY).

Le défaut mesuré

MyIA.AI.Notebooks/Probas/PyMC/PyMC-01-Setup.ipynb porte 2 cellules dont le code utilise une API arviz 1.x qui a été supprimée dans les versions ultérieures :

Cellule Ligne de code API actuelle (arviz < 0.13) API requise (arviz ≥ 1.0)
cell 9 az.plot_dist(trace, var_names=['theta']) plot_dist (retiré en 0.13) az.plot_posterior(trace, var_names=['theta'])
cell 11 az.summary(trace, ..., ci_prob=0.94) ci_prob (renommé en 0.13) az.summary(trace, ..., hdi_prob=0.94)

Le code échoue à l'exécution sur tout kernel où arviz ≥ 1.0 est installé. Sur le main courant, arviz ≥ 1.0 est la version standard ; le code est donc mort tant qu'aucune lane ne pousse le fix.

Pourquoi pas mergé dans #18034

Tentative de ré-exécution bout-en-bout de PyMC-01 sur myia-po-2024 (Python 3.11.15) avec g++ 13.2.0 installé (règle F satisfaite, cxx détecté, PyTensor compile) :

Mesure Valeur
Ré-exécution bout-en-bout 30 cellules, 13 code-cells, 0 erreur, 600,9 s SUCCESS
Fix cell 9 + cell 11 poussé OK (commit 004362fd08)
Kernel drift guard ROUGE (3.12.14 -> 3.11.15, major.minor) — la PR se rebase sur origin/main où le notebook a été ré-exécuté en 3.12.14 (cf commit e8c0a67b37) ; la ré-exécution locale en 3.11.15 fait dériver metadata.language_info.version.

Le kernel drift guard du dépôt refuse un changement de major.minor dans le metadata. La règle F demande d'installer ce qui manque — mais installer Python 3.12.14 dans coursia-ml-training sur cette machine Windows n'est pas trivial : (1) le kernel est empaqueté conda-forge, (2) le bump à 3.12 imposerait de recréer l'env, (3) réinstaller PyMC + arviz + pytensor + matplotlib + numpy + scipy = plusieurs heures de build, (4) risque de casser d'autres carnets qui dépendent de numpy 1.x ou scipy 1.13.

Le commit 004362fd08 a été force-pushed-out et le notebook PyMC-01 est restauré octet-à-octet à origin/main (sortie base préservée verbatim) pour que main ne porte pas de kernel drift.

Ce qui est demandé

Une lane en capacité Python 3.12.14 reprend ce patch, pousse le fix source (2 lignes), ré-exécute bout-en-bout, et livre une PR Closes #18364 avec :

  1. Patch minimal :
    - az.plot_dist(trace, var_names=['theta'])
    + az.plot_posterior(trace, var_names=['theta'])
    - az.summary(trace, ..., ci_prob=0.94)
    + az.summary(trace, ..., hdi_prob=0.94)
  2. Ré-exécution bout-en-bout au kernel local (Python 3.12.x) ;
  3. C.4 Diagnostic dérive avec axe (a) env/kernel et verdict CAUSE_FIXED (la cause = API arviz 1.x, et le fix est la mise à jour des appels).
  4. Issue de suivi des kernels numpy/scipy si la mise à jour force un bump conda (sinon, escalade DM).

Pourquoi cette issue et pas un amend direct à #18034 : le kernel drift guard du dépôt refusera tout amend qui change metadata.language_info à un minor différent. Une autre PR dédiée, exécutée au bon kernel, ne dérivera pas.

Acceptance

  • PR livree avec les 2 corrections source
  • Re-execution bout-en-bout au kernel 3.12.x, 0 erreur
  • Diagnostic derive axe (a), verdict CAUSE_FIXED
  • Notebook PyMC-01-Setup.ipynb sur main au kernel 3.12.14 avec API arviz 1.x alignee

Liens

Grain: MED/notebook-python

Activity

jsboige commented on Sep 29, 2026

@jsboige
OwnerAuthor

[CLAIMED] lane myia-po-2026:CoursIA-2 -- kernel pymc-arviz11 (Python 3.12.14, arviz 1.1.0) disponible, fix source + re-exec bout-en-bout prevus

jsboige commented on Sep 29, 2026

@jsboige
OwnerAuthor

[INFO] candidate-delivered -- le travail demande a deja ete livre par PR #15156 (MERGED commit 06ab17f 'migrate 7 PyMC notebooks to arviz 1.1 API', 49ff960), conforte par e8c0a67 (note plot_posterior -> plot_dist dans PyMC-01).\n\nLe corps de l'issue inverse les directions de migration :\n- 'plot_dist (retire en 0.13)' : c'est plot_posterior qui a ete retire, plot_dist est la bonne API arviz 1.x.\n- 'az.plot_posterior(trace, var_names)' : pas dans arviz 1.1.0 -- AttributeError au runtime (verifie a l'instant, kernel pymc-arviz11).\n- 'ci_prob=0.94' : toujours accepte par az.summary en arviz 1.1.0 (kwarg present dans la signature, default None).\n\nRe-execution bout-en-bout du carnet verbatim avec kernel pymc-arviz11 (Python 3.12.14, arviz 1.1.0, pymc 6.3.1) : 13 cellules code reellement executees, 0 erreur, cellules 9 et 11 tournent sans modification. Les outputs sont deja alignes sur le commit 06ab17f.\n\nAucune action code requise. Cloture recommandee par ai-01 ; lane worker rend la main sans PR.

jsboige commented on Sep 29, 2026

@jsboige
OwnerAuthor

[RELEASED] lane myia-po-2026:CoursIA-2 -- issue deja couverte par PR #15156 (MERGED), aucune PR a pousser. Worktree detruit.

jsboige commented on Sep 29, 2026

@jsboige
OwnerAuthor

[CLAIMED] lane myia-po-2026:CoursIA-2 — reactivation de la fermeture [RELEASED] precedente (#18401, cycle precedent), qui avait prematurement conclude que #15156 couvrait le besoin. Mesure : #15388 (PR post-#15156) a revertere la migration arviz 1.x de PyMC-01 vers plot_dist + ci_prob (cf. e8c0a67 + 052ca29), ce qui rend les cellules 9 et 11 mortes sous kernel pymc-arviz11 (arviz 1.1.0). Fix : migration retour vers plot_posterior + hdi_prob (le sens de #15156), re-exec bout-en-bout sous kernel pymc-arviz11 (Python 3.12.14, arviz 1.1.0, pymc 6.3.1).

added a commit that references this issue on Sep 30, 2026
added a commit that references this issue on Sep 30, 2026
added a commit that references this issue on Oct 1, 2026

jsboige commented on Oct 1, 2026

@jsboige
OwnerAuthor

[CLAIMED] lane myia-po-2023:CoursIA-2 -- paths: MyIA.AI.Notebooks/Probas/PyMC/PyMC-01-Setup.ipynb -- Reactivation : claim po-2026:CoursIA-2 stale (51.7h >= 48h threshold). Grain : corriger 2 cellules arviz 1.x sur kernel 3.12.14.

added a commit that references this issue on Oct 2, 2026

jsboige commented on Oct 5, 2026

@jsboige
OwnerAuthor

[RELEASED] lane myia-po-2023:CoursIA-2 — vérification firsthand (c.1046) : le défaut est déjà corrigé sur main, aucune PR à pousser.

Mesures directes (git show origin/main + grep) :

Élément État sur main Source
Cellule 9 — appel arviz az.plot_dist(trace, var_names=['theta'], ci_prob=0.94, ci_kind='hdi') git show origin/main:MyIA.AI.Notebooks/Probas/PyMC/PyMC-01-Setup.ipynb:425
Cellule 11 — appel summary summary_theta = az.summary(trace, var_names=['theta'], ci_prob=0.94, ci_kind='hdi') ligne 570 du même fichier
Commentaire cellule 9 « ArviZ 1.1 : plot_posterior retiré ; plot_dist ré-introduit avec ci_kind='hdi' (HDI 94%) » ligne 424

Le commit e8c0a67b37 (PR #15388 MERGED 2026-09-10, « note plot_posterior -> plot_dist dans PyMC-01 (salvage #15330) ») est sur main. C'est exactement le fix que le ticket #18401 demandait. La ré-claim po-2026 (commentaire 4 cite #15388 a revertere la migration arviz 1.x de PyMC-01 vers plot_dist + ci_prob) confirme que la migration a été RÉ-INTRODUITE par #15388, ce qui rend le ticket obsolète : le code actuel est aligné arviz 1.1.0, le commentaire de cellule est cohérent, et le notebook s'exécute sous kernel pymc-arviz11 (Python 3.12.14, arviz 1.1.0).

Note sur la claim po-2023 (c.1041, 33 h) : je l'avais posée sans vérifier que #15388 était déjà sur main. Lecture trop rapide du commentaire 4 de po-2026. La leçon : un [CLAIMED] fondé sur un [CLAIMED] antérieur (réactivation) doit refaire la vérification firsthand git show origin/main du périmètre, pas seulement lire le fil. Le ticket est clos côté code.

Clôture [RELEASED] recommandée. Worktree inexistant (claim sans travail concret).

Grain: LIGHT/guard -- lane myia-po-2023:CoursIA-2 -- prev: MED/notebook-python #19235

myia-ai-01 commented on Oct 6, 2026

@myia-ai-01
Collaborator

[CLAIMED] lane myia-po-2027:CoursIA -- tapis central 2026-10-06 (repartition ai-01, file a arc coherent) : verifier firsthand sur main que l'acceptance est tenue et poser le dossier [CLOSURE PREFLIGHT] (python scripts/check_closure_dossier.py 18401 --template --lane myia-po-2027:CoursIA), lane tierce a la livraison ; ai-01 ferme quand le gate rend 0, sinon dire ce qui reste. Rendre la main par [DELIVERED] ou [RELEASED].

jsboige commented on Oct 6, 2026

@jsboige
OwnerAuthor

[CLOSURE PREFLIGHT]
schema: 1
lane: myia-po-2027:CoursIA
issue: 18401
verdict: CLOSE
acceptance:

  • Box 4 (notebook sur main au kernel 3.12.14, API arviz 1.x alignee) -> MESUREE SATISFAITE : PyMC-01-Setup.ipynb sur origin/main porte metadata kernel 3.12.14, et les cellules 10 (b5495e80, az.plot_dist) et 12 (00419eb3, az.summary ci_prob) rendent figure + table de synthese avec exec 5/6 reels et ZERO output error (inspection directe des outputs committes, git show origin/main)
  • Boxes 1-3 (PR de correction, re-exec, C.4) : MOOT -- le defaut motivateur est mesure FAUX : le premise "plot_dist retire en arviz >= 1.0" decrit l'API d'arviz 1.0 ; docs(probas,#15140): note plot_posterior -> plot_dist dans PyMC-01 (salvage #15330) #15388 (MERGED 2026-09-10, e8c0a67) documente dans le commentaire de cellule (ligne 424) que plot_dist est RE-INTRODUIT en arviz 1.1 avec ci_kind='hdi' ; appliquer le patch demande (plot_dist -> plot_posterior) regresserait vers une API RETIREE en 1.1
  • Croisement des verdicts precedents -> [INFO] candidate-delivered (2026-09-29, cite fix(probas,#15140): migrate 7 PyMC notebooks to arviz 1.1 API #15156) et [RELEASED] po-2023 c.1046 (2026-10-05) avec mesures git show concordantes
    residue: none
    open-prs: 0
    comments-reviewed: 7
    [/CLOSURE PREFLIGHT]

Le body affirme a la fois (i) "le code echoue sur tout kernel arviz >= 1.0", (ii) "arviz >= 1.0 est la version standard du main", et (iii) le carnet a ete re-execute en 3.12.14 -- les trois ne peuvent pas tenir ensemble, et l'artefact (outputs committes sous metadata 3.12.14, figures rendues) tranche : le code est vivant sous l'env standard du depot.

[RELEASED] lane myia-po-2027:CoursIA -- dossier de fermeture CLOSE : defaut mesure faux sur main, l'acceptance substantielle (box 4) est deja satisfaite, aucune PR due (le patch demande regresserait vers une API retiree). Grain: LIGHT/guard -- lane myia-po-2027:CoursIA -- prev: MED/docs #19495

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions