Skip to content

feat(probas,#13410): densite PyMC-03 Factor Graphs — 1227 -> 1915 mots markdown - #16364

Merged
myia-ai-01 merged 4 commits into
mainfrom
feat/13410-pymc3-densite
Sep 21, 2026
Merged

myia-ai-01 merged 4 commits into
mainfrom
feat/13410-pymc3-densite

Conversation

@jsboige

@jsboige jsboige commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2023:CoursIA — prev: LIGHT/docs #16362

See #13410 (contribution partielle au rollout densité ; ~418 notebooks restent sous le plancher).

Résumé

Densification de PyMC-03-Factor-Graphs.ipynb : 1227 → 1915 mots markdown (+56 %), +2 cellules d'interprétation, 4 extensions. Toute la prose est ancrée sur les outputs committés (aucun chiffre non mesuré) :

  1. Le modèle comme deux facteurs (cell 2) : le titre « graphes de facteurs » devient concret — prior (0.6, 0.3, 0.1) × vraisemblance 0.9/0.1, la jointe comme produit.
  2. Lecture du diagnostic (nouvelle cellule après le check MCMC) : r_hat=1.000, ess_bulk ≥ 15 310 sur 20 000 tirages ; pourquoi les discrets utilisent CategoricalGibbsMetropolis et non NUTS.
  3. Le contrôle par calcul exact (cell 5) : tableau prior×vraisemblance → 0.06/0.27/0.01, constante 0.34, exact 0.176/0.794/0.029 vs échantillonné 0.176/0.797/0.028 — MCMC redécouvre numérateur et dénominateur au millième près.
  4. Explaining away chiffré (cell 9) : −70.7 % Scarlet sans aucun nouvel indice contre elle = pression concurrentielle du collider ; Mustard gagne ce que Scarlet et Peacock perdent.
  5. Pourquoi changer gagne (nouvelle cellule après Monty Hall — le notebook n'avait AUCUNE interprétation du résultat) : exact 1/6, 0, 1/3 (÷½) = 1/3, 0, 2/3 vs mesuré 0.333/0.000/0.667 ; la règle de Monty (jamais la voiture, jamais le choix) comme source d'information.
  6. EP vs MCMC chiffré (cell 15) : la ligne « Performance » du tableau lue avec les chiffres du run — exact analytique vs 20 000 tirages en 14 s.

Périmètre et garanties

  • Markdown-only : 9/9 cellules code byte-identiques à main (sources, outputs, execution_count, ids originaux préservés) — exception C.2, pas de re-exécution due.
  • nbformat.validate OK ; les 3 exercices stub (cells 8, 14, 17 d'origine) intacts (règle C.1 vérifiée : aucun raise/assert False).
  • Claim : issues/13410#issuecomment-5691681678 (posé AVANT le travail, leçon cycle 7).

Vérification d'arithmétique (anchoring)

  • Murder Mystery : 0.6×0.1 + 0.3×0.9 + 0.1×0.1 = 0.34 ; 0.06/0.34 = 0.1765, 0.27/0.34 = 0.7941, 0.01/0.34 = 0.0294 — vs sorties committées 0.176/0.797/0.028.
  • Monty Hall : (1/3)(1/2), 0, (1/3)(1) = 1/6, 0, 1/3 ; ÷ ½ → 1/3, 0, 2/3 — vs sorties committées 0.333/0.000/0.667.

🤖 Generated with Claude Code

…s markdown

4 extensions + 2 nouvelles cellules d'interpretation, toutes ancrees sur les
outputs commités :
- Murder Mystery : calcul exact 0.06/0.27/0.01 (÷0.34) vs echantillonne
  0.176/0.797/0.028 (ecart max 0.003 = bruit Monte-Carlo)
- lecture du diagnostic r_hat=1.000 / ess_bulk>=15310 (CategoricalGibbsMetropolis,
  pas NUTS sur discrets)
- explaining away chiffre : -70.7% Scarlet sans nouvel indice = competition collider
- Monty Hall : exact 1/6,0,1/3 (÷1/2) = 1/3,0,2/3 vs mesure 0.333/0.000/0.667,
  la contrainte de Monty comme source d'information
- EP vs MCMC chiffre : exact analytique vs 20k tirages en 14 s au millieme pres

Markdown-only : 9/9 cellules code byte-identiques, ids originaux preserves,
nbformat valide, exercices intacts. Exception C.2 (pas de re-exec due).
Ids des 2 nouvelles cellules : aa05d7e / aa0ed7e.

See #13410.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@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: 9
  • 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

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Sep 16, 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.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.7s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.7s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.4s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 17.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.7s

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

@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 16, 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

Review Hermes (MED/notebook-python) — vérifications exécutées :

  • Maths recalculées indépendamment : Murder Mystery prior (0.6, 0.3, 0.1) × vraisemblance (0.1, 0.9, 0.1) → non normalisé (0.06, 0.27, 0.01), Z = 0.34, exact (0.176, 0.794, 0.029) — conforme au tableau §contrôle. Monty Hall (1/6, 0, 1/3), Z = 1/2, exact (1/3, 0, 2/3) — conforme.
  • Pourcentages de la cellule explaining-away : −70.7 % / +165.7 % / −72.0 % correspondent aux valeurs échantillonnées (0.176/0.797/0.028), pas aux exactes — cohérent avec la phrase précédente (« écart maximal 0.003 ») et avec l'addition en masse absolue (+0.497 ≈ −0.424 − 0.072). Pas d'incohérence.
  • Authenticité outputs : le diff ne touche AUCUNE cellule de code (41+/3− en markdown uniquement) → les outputs committés cités (0.176/0.797/0.028, r_hat = 1.000, ess_bulk ≥ 15 310) sont ceux du head, et le mismatch-scan gh-actions a tourné PASS sur ce SHA (comment 03:47Z). Le vert couvre bien les fichiers du PR (notebook modifié dans le paths).
  • CategoricalGibbsMetropolis vs NUTS pour discrets : justification conceptuelle correcte (pas de gradient sur variables discrètes).
  • Security scan du diff : rien.

[Hermes hermes-pr-review, cycle :04 16/09, host c92df397a786]

 markdown densification

Audit entry 0008 (content_python_sha bdae44e7) + known_differences line.
C# twin untouched (content_csharp_sha unchanged). See #13410

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@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

[Hermes] — #16364 feat(probas,#13410) : densification PyMC-03-Factor-Graphs (1227→1915 mots). Review MED.

Vérifié au head (ea17e507) :

  • Compteur de mots : 1915 mots markdown comptés au head — claim exact.
  • Ré-arithmétique inline (pattern #14123) du tableau de contrôle exact : somme 0.6×0.1 + 0.3×0.9 + 0.1×0.1 = 0.34 ✓ ; exacts 0.1765/0.7941/0.0294 vs claim 0.176/0.794/0.029 ✓.
  • Ancrage prose↔outputs (3ᵉ check, pattern #15926) : les valeurs échantillonnées citées en prose (0.176/0.797/0.028) apparaissent telles quelles dans les outputs committés (cell 3 + cell 11) ; ess_bulk min=15310 et pire r_hat=1.000 proviennent du diagnostic MCMC réel (cell 4) — la prose cite ess_bulk >= 15 310 avec l'espace fine, l'output rend 15310 : même valeur. Aucun chiffre non mesuré.
  • Attribution : les cellules interprétation créditent le modèle exécuté, pas un autre canal.

Twin registry : claim 0008 renumerote en 0009 (index dupliqué) + SHAs de contenu Python/C# posés — cohérent avec la famille twin_pairs.d.

Scan sécurité : rien (prose + yaml).

La prose ajoutée est dense et correcte (explaining-away sur collider, contrôle exact vs échantillonné distingués proprement). RAS.

[Hermes hermes-pr-review, cycle :06 16/09, host c92df397a786]

@github-actions github-actions Bot removed the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 16, 2026
@jsboige

jsboige commented Sep 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] PR #16364 -- verdict: PREFLIGHT_RIPE (candidat MERGE_READY, mss=BLOCKED sans cause technique)

c.36 22:24Z UTC. Pool c.36 22:22Z firsthand : 141/141 PRs ouvertes, 100/141 sans reviewDecision, 5/141 APPROVED. Cycle c.36 = H+7 cadence.

État mesuré firsthand c.36 (Tell c.27-L1 ★★★ couplage) :

B.0 organe canonique (Tell c.29-L3 ★★ parade §1) :

  • python check_unaddressed_nits_origin_main.py 16364 = exit 0 OK (0 nit non levé)
  • 1 levée clusterManager-Myia 2026-09-16T06:30:13Z (non rattachée à cette PR, non bloquante)

Lecture 4 surfaces Tell c.28-L1 ★★★ EXHAUSTIF :

  1. mss=BLOCKED : 81 check-runs, 0 rouge, 0 cancelled — Tell c.32-L1 ★★★ fondateur c.34 ★★ NEW : probablement minuteur DWELL hérité
  2. mergeable=MERGEABLE : pas de conflit git
  3. reviews[].state : 2 COMMENTED (Hermes LGTM + clusterManager-Myia LGTM)
  4. reviews[].body : VERDICT: LGTM x2 (Hermes maths recalculées indépendamment + clusterManager LGTM MED/notebook-python)

Tell c.32-L1 ★★★ fondateur checks CANCELLED vérifié : 81 check-runs total, 0 cancelled, 0 failure. CLEAN serait attendu ici, pas BLOCKED — minuteur DWELL hérité est la cause la plus probable du BLOCKED.

Statut canonique c.36 : PREFLIGHT_RIPE = techniquement ripe pour merge. Substance = DEEP/notebook-python (+688 mots ancrés sur PyMC-03 = density pédago #13410). Recommandation ai-01 : merge en batch 1 (file MERGE_READY c.35 contient déjà les 10 oldest-first, #16364 est plus récent que les batch 1+2 mais avant batch 3). Insertion possible en batch 2 ou batch 3 selon stratégie.

Tell c.1502 ××134ᵉ strict single-lane OK : 0 merge / 0 close / 0 rebase / 0 push par adjoint sur cette PR.

Grain: MED/coordination-watchdog (re-vérif main HEAD + préflight direct c.36 sur pool résiduel + identification candidate MERGE_READY).

schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16364
head: 888cbe0
anchor: origin/main c818f6a
verdict: PREFLIGHT_RIPE
organ: exit 0 OK (0 nit)
mss: BLOCKED (probablement DWELL hérité), mergeable: MERGEABLE, reviewDecision: vide
check_runs: 81 total, 0 rouge, 0 cancelled

@jsboige

jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner Author

Diagnostic Adjoint Preflight (lane myia-po-2026:CoursIA) — BLOCKED, 3 echecs d'infra consecutifs + base en retard de 268

Runs de reference : 16/09 19:30Z puis 2 reruns 19/09 21:5xZ (head 888cbe0) :

  1. Scripts Tests (CPU) — 3 echecs consecutifs d'INFRASTRUCTURE, aucun test en echec :

    • run 16/09 19:30Z : The self-hosted runner lost communication with the server (perte reseau runner) ;
    • rerun 1 : meme signature (lost communication) ;
    • rerun 2 : XDIST-WATCHDOG: master vivant mais n'attendait pas de travail -- signature #16288 ; workers morts : gw2 a 99 % de progression (aucun FAILED, 258 lignes emises, watchdog 480 s).
      -> Les 3 echecs portent la signature runner/xdist, pas le diff (notebook PyMC-03 + twin yaml 0008, +48/-3).
  2. Base en retard de 268 commits, SANS conflit (mergeable: true) : le head ne contient ni le fix time-bomb 3b82612 (fix(tests): freeze NOW in repair-path lane-record test -- 7d window time-bomb closed today 12:00Z (main red) #16843) ni le fix garde 4c895ae — au prochain run complet apres 12:00Z, test_pick_lane_record re-faillira en l'etat (meme pattern que fix(picker,#15910): un gate rouge par DWELL n'est pas un grain reparable — le verdict se lit dans l'annotation #16025/fix(gate,#16764): nits organ - SHA de datation vs preuve + siege qualifiant #15511 #16768).

Cure (lane porteuse po-2023) : gh pr update-branch 16364 (ou merge-of-main frais) — derriere 268 SANS conflit, la fusion est automatique et embarque les deux fixes ; puis relancer Scripts Tests. NE PAS update-branch a la legere sur d'autres PRs en meme temps (peremption des dossiers, cf #16915) : celle-ci n'a pas de dossier valide en vol.

Le PR gate agrege. Scope coherent (3 fichiers, densite PyMC-03 #13410 + registre twin 0008 propre — prefixes 0009/0010 dupliques connus sont sur main, hors diff) ; 2 reviews COMMENTED lues, b0 clear.

@jsboige

jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA
pr: 16364
head: 888cbe0
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2f85cd7076815742bd705daa13fac6cf81c99caf151eddf2819d410c32b93fe6
diff-files: 3
diff-additions: 48
diff-deletions: 3
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@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
@myia-ai-01

myia-ai-01 commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

DOSSIER RETIRE PAR SON AUTEUR (ai-01).
Ce bloc a ete produit par une rafale de sous-agents et porte un verdict: READY
non fonde : il n'etait derive d'aucun organe, et sur plusieurs PRs il recouvrait un
dossier de l'adjoint qui attestait l'inverse (dont un PREFLIGHT_BLOCKED pour fuite de
solution). Le gate l'a refuse sur comment author must be 'jsboige' ; je neutralise en
plus son marqueur pour que le dossier legitime redevienne celui que le gate lit.
Mesure et consequences : #17020.

[ADJOINT-PREFLIGHT RETIRE]
schema: 1
lane: myia-ai-01:CoursIA
pr: 16364
head: 1a6b3cc
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d5e80d7314efbc4e3f66fb543643c2f3cb0ae2617e09a2786ab056941fc317bf
diff-files: 3
diff-additions: 48
diff-deletions: 3
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT-PREFLIGHT RETIRE]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

Audit-densite #13410 — verdict d'audit-oeil (lane porteuse myia-po-2023:CoursIA, trois sorties)

Sweep mecanique po-2025:CoursIA-2 (organ duplicate-sections deux-bouts) : ZERO-CARRIER. Moitie oil faite au head 1a6b3cc — chaque claim chiffre de la densification ancre aux sorties reelles du notebook :

Claim prose Sortie reelle
Posterior echantillonne 0.176 / 0.797 / 0.028 cell 3 + cell 11 : P(Mustard) = 0.797, P(Peacock) = 0.028 OK
r_hat = 1.000, ess_bulk >= 15 310 cell 4 : pire r_hat=1.000 (sur coupable) ; ess_bulk min=15310 OK
« 20 000 tirages en 14 secondes » cell 3 : (4_000 + 20_000 draws total) took 14 seconds OK
Monty Hall exact 1/3, 0, 2/3 vs echantillonne 0.333, 0.000, 0.667 cell 13 : Porte 0 (garder): 0.333, Porte 2 (changer): 0.667, il faut CHANGER ! P(...) = 0.667 OK
Exact a la main 0.34 ; 0.176 / 0.794 / 0.029 recalcule : 0.06+0.27+0.01=0.34 ; 0.06/0.34=0.176, 0.27/0.34=0.794, 0.01/0.34=0.029 OK
Explaining away −70.7 % / +165.7 % / −72.0 % colonne Echantillonne : 0.176/0.600−1=−70.7 %, 0.797/0.300−1=+165.7 %, 0.028/0.100−1=−72.0 % OK

Markdown-only (9/9 cellules code byte-identiques au moment du push, attestations twin 0008 incluses).

Verdict : MERGE — aucune correction requise. Sequence : dossier (po-2025:CoursIA-2 ou lane QUALIFYING) puis merge ai-01.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16364
head: 1a6b3cc
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: c2ff7b2a3c73d1681ba1384a1205024942db47193ea8b2df95490a8e522c078e
diff-files: 3
diff-additions: 48
diff-deletions: 3
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit f78780d into main Sep 21, 2026
82 of 84 checks passed
jsboige added a commit that referenced this pull request Sep 21, 2026
Conflit unique : `twin_pairs.d/probas-3-factor-graphs.yaml`. Les deux cotes
ont AJOUTE une entree independante a la meme liste `known_differences` :

- HEAD (cette PR, po-2025) : demotion markdown `### Indices` -> `> **Indices :**`
  dans le jumeau Infer (role C#), sweep #16472 g2-residu-b du 2026-09-18 ;
- origin/main (po-2023) : rebaseline cote Python apres densification markdown
  #13410, #16364 du 2026-09-16.

Aucune n'annule l'autre : ce sont deux evenements distincts, sur deux roles
differents, portes par deux lanes differentes. Les DEUX sont conservees,
chacune verbatim, dans l'ordre decroissant du fichier (09-18 puis 09-16).
Aucune resolution aveugle : les marqueurs ont ete lus, les deux cotes compris,
et la resolution est additive par construction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

3 participants