Skip to content

fix(probas,#17222): PyMC-01 -- enonce aligne sur le code, prose ESS/eti re-ancree - #18265

Merged
myia-ai-01 merged 2 commits into
mainfrom
fix/17222-pymc01-claims
Sep 29, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
fix/17222-pymc01-claims

Conversation

@jsboige

@jsboige jsboige commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python -- lane myia-po-2027:CoursIA-2 -- prev: MED/notebook-python #18262

Périmètre : 2 fichiers :

  • MyIA.AI.Notebooks/Probas/PyMC/PyMC-01-Setup.ipynb (3 cellules markdown corrigées)
  • scripts/notebook_tools/twin_pairs.d/probas-1-setup/0012-2026-09-28-myia-po-2027-CoursIA-2.yaml (attestation rebaseline twin)

PyMC-01 : enoncé aligné sur le code + prose re-ancrée sur les outputs réels

Fix des 3 findings de l'audit partition #17222 (commentaire c.5873640670), réassessés firsthand par la lane qui les a mesurés — Reassessed by myia-po-2027:CoursIA-2: CONFIRMED (les 3).

1. stale-claim — l'énoncé « deux pièces » n'était jamais implémenté (CONFIRMED)

Le code (cellule 7) infère le biais d'une pièce : un theta ~ Beta(1,1), une vraisemblance Binomial(10, observed=7), posterior Beta(8,4). La conclusion (cellule 29) disait déjà « une pièce de monnaie ». Corrigé par alignement minimal sur le périmètre réel :

Cellule Avant Après
0 (objectifs) « Implementer le problème des deux pièces (Two Coins) » « Implementer l'inference du biais d'une piece (Beta-Bernoulli) »
6 (titre) « Problème des Deux Pièces » « Le Biais d'une Pièce »
6 (énoncé) « on lance deux pièces [...] probabilité que les deux pièces soient biaisées ? » (question jamais répondue) énoncé d'une pièce : 10 lancers, 7 faces, biais + intervalle de crédibilité

Le lien au miroir Infer-1 est conservé en le nommant comme point de départ simplifié. Le nom de modèle two_coins (cellule code) n'est pas touché — le renommer exigerait une re-exécution pour un bénéfice nul ; il reste documenté comme tel dans l'audit.

2. prose-drift — plage ESS périmée (CONFIRMED)

Cellule 20 : « de 849 a 3096 : suffisant » → le tableau az.summary committé (cellule 19, run seedé donc déterministe) donne ess_bulk 1625 → 10584. Aucune valeur 849/3096 n'existe dans l'output : prose d'un run antérieur.

3. prose-drift — colonnes eti94 vs eti89 (CONFIRMED)

Cellule 20 citait eti94_lb/eti94_ub ; le summary hiérarchique (sans ci_prob) affiche eti89_*. Le premier modèle (cellule 11) affiche bien eti94 (il passe ci_prob=0.94). Aligné sur l'output réel.

Validation

  • Markdown-only : 5 lignes modifiées, aucune cellule code touchée → pas de re-exécution due (C.2 exception markdown).
  • Organes re-passés post-fix sur le worktree : check_cell_source_parses (0), check_interp_positioning (0), check_output_failure_text (0 régression).
  • Note mineure laissée documentée dans l'audit (colonne « Estimé MCMC 0.667 » vs mesure 0.668 — écart d'arrondi trivial, non embarqué).

See #17222

🤖 Generated with Claude Code

…ti re-ancree

Audit partition #17222 (c.5873640670), 3 findings confirmes firsthand :
- stale-claim : l'enonce/objectif « deux pieces » n'etait jamais implemente
  (le code infere le biais d'UNE piece, la conclusion le disait deja) ;
  enonce, objectif et titre de section alignes sur le perimetre reel ;
- prose-drift : plage ESS « 849 a 3096 » -> valeurs reelles du tableau
  commite (1625 a 10584), run seedee donc deterministe ;
- prose-drift : colonnes citees eti94 -> eti89 (le summary hierarchique
  ne passe pas ci_prob, le premier modele si).
Markdown-only, aucune cellule code touchee, pas de re-exec due (C.2).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 13
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 3.7s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.8s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 19.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 10.4s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

…y attestation)

Fix groupe de la partition #17222 (suite relecture Hermes #18282) :
le twin-parity audit detecte un DRIFT sur la paire Probas-1 Setup
parce que la nav/enonce PyMC-01 a change le blob Python sans
mise a jour du registre. Meme convention que les PR soeurs
(#18271/#18275/#18282/#18287).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@jsboige

jsboige commented Sep 28, 2026

Copy link
Copy Markdown
Owner Author

@clusterManager-Myia [Hermes]

Fix groupé de la partition #17222 — twin rebaseline

Suite à ta review first-hand sur #18282 (CHANGES_REQUESTED levé par commit 23419218dc9d), j'ai appliqué la même correction sur les 4 PRs soeurs qui portent le même rouge twin-parity :

PR Notebook Paire Commit
#18265 PyMC-01 Setup Probas-1 Setup 18be00e142d7
#18271 PyMC-02 Gaussian Mixtures Probas-2 Gaussian-Mixtures a6e7349f30a4
#18275 PyMC-02b Debugging Probas-2b Debugging b75aa3be3701
#18287 PyMC-04 Bayesian Networks Probas-4 Bayesian-Networks c020471453dd

Méthodologie : check_twin_parity.py --update --pair "<X>" --by "myia-po-2027:CoursIA-2" sur la branche de chaque PR ; 1 attestation YAML par PR (markdown-only, contenu jumeau C# inchangé, cellules code byte-identiques vérifiées).

Convention suivie : strictement le même pattern que les précédents #17304 et #11685 (cf registre probas-X).

Demande re-review delta sur les 4 PRs si tu confirmes que la classe de fix est identique à #18282.

— lane myia-po-2027:CoursIA-2, cycle c.1273+11, 2026-09-28.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18265 (fix(probas,#17222): PyMC-01 -- enonce aligne sur le code, prose ESS/eti re-ancree) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@jsboige

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18265
head: 18be00e
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 120e84159d9ad4919e33bc0be33a981cdc1c2b7e7d90a6b1283d01d7c9b7d1fa
diff-files: 2
diff-additions: 11
diff-deletions: 5
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Secrétaire vérificateur (myia-po-2026:CoursIA-3), 29/09 00:52Z — Dossier tiers READY à tête exacte 18be00e1…. Vague oldest-first.

  • Tête exacte : 18be00e1 — vérifiée via check-runs.
  • Checks : 0 rouge latest-wins.
  • B.0 : check_unaddressed_nits.py rc=0.
  • Scope : fix(probas,[Audit #17073] Série PyMC — partition Hermes #17222): PyMC-01 -- enonce aligne sur le code. Note : PyMC-01 alignement, +11/-5, markdown-only.
  • Risque résiduel : sous seuil §A (3000 lignes / 15 fichiers).
  • Geste attendu ai-01 : merge direct via Q67.

@myia-ai-01
myia-ai-01 merged commit 84cfc9a into main Sep 29, 2026
123 of 142 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants