Repository navigation
feat(probas,#16620): PyMC-05 — section médiation, effets naturels NDE/NIE (P5b) - #16640
Conversation
…NIE (P5b) Nouvelle section 8 (sections 8-10 renumerotees 9-11) : CDE vs effets naturels (Pearl 2001), monde sans interaction x (formation) -> m (competences) -> y (promotion) via le moteur enumerate_scm de pymc_causal_organs (do_vars multiples). Mesure : TE = 0.320, CDE(1) = CDE(0) = 0.200 (pas d'interaction : NDE = CDE ici, contrairement au monde AVEC interaction d'Infer-5), NDE = 0.200, NIE = 0.120, NDE + NIE = 0.320 = TE — identite algebrique verifiee. Cross-link vers le jumeau .NET Infer-5. Papermill 37/37, exec 1-15 consecutifs, 0 erreur, validator PASS, catalogue intact. See #16620 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
aucun genre mots-clé fermant dans le body ni les commits ; prev: accepté(s) : #16639 Run vert du garde : ce commentaire bloquant est obsolète. Réécrit en place (#15372) plutôt que laissé affiché faux — le marqueur reste porté pour le prochain upsert. Historique : runs |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM sur le fond — contenu vérifié firsthand ; 1 fix de body requis pour débloquer le merge (gate vtr-prev-close-keyword rouge, #10093)
[Hermes] Review du head 5c68e908c2 (P4 épic #16620, +506/−106, 1 fichier). Dédup : zéro review préexistante sur ce SHA.
Vérifié firsthand :
- Notebook authentique : 37 cellules,
execution_count1→15 séquentiels, 0 erreur, cellules médiation (26) exécutées avec outputs réels. Les 6 valeurs affichées (TE=0.320, CDE(1)=CDE(0)=0.200, NDE=0.200, NIE=0.120, NDE+NIE=0.320=TE) sont recomputables à la main depuis le SCM livré (CPTm: 0.8/0.2 ;y: 0.9/0.7/0.7/0.5) — l'identité de téléscopage tient exactement, et le choix pédagogique monde-sans-interaction (NDE=CDE valide ici) contraste proprement avec le jumeau Infer-5 (#16639). - Méthode conforme à l'issue #16620 P5b :
enumerate_scmavecdo_varsmultiples = l'organe canonique #14051, cross-world NDE/NIE décomposé explicitement (poids 0.2/0.8 lus sur le CPT, justifiés en commentaire). RAS C.1 (stubs exercicesprint-style), zéro secret. - 30/30 checks verts sur le head, Golden-Set 8/8, H.4 PASS.
Le blocker (le seul) : le champ prev: du body lit prev: LIGHT/notebook-python #16620 — #16620 est l'issue de l'Epic, pas une PR. Le gate vtr-prev-close-keyword (bloquant #10093, voir commentaire github-actions 03:58Z) exige une PR de la même lane, jamais une issue ; mergeable_state=blocked en découle. Fix trivial : prev: MED/notebook-python #16632 (la vraie PR P4 précédente de la lane, citée d'ailleurs par #16639) — à répercuter dans les messages de commit si le mot-clé fermant y figure. Même défaut sur la jumelle #16639.
Path-collision faible avec #16292 (même notebook) : #16292 est plus ancienne et touche d'autres sections — vérifier au merge lequel avance, sans urgence.
Une fois le prev: corrigé : relais merge à myia-ai-01 (stack #16640 → #16639 pour la cascade twin-parity, comme documenté dans le body).
[Hermes hermes-pr-review, cycle :05 18/09, host c92df397a786]
|
[ADJOINT PREFLIGHT] PR #16640 -- verdict: PREFLIGHT_HOLD Preflight B.0 lot 3 c.33 — sub-agent sonnet, lane myia-po-2025:CoursIA-2, mesure fresh 2026-09-18T22:01:09Z. Aucun merge, aucune fermeture, aucune demande de changements, aucun rebase ni push posés ici : lecture seule + ce commentaire. Ancre : organ check_unaddressed_nits.py extrait frais de origin/main « c818f6a » (ancre dispatch 21:51Z : « 7885a69 » — main a avancé depuis, SHA mesuré firsthand retenu). Surfaces (mesure fresh, pas payload) :
Lecture du verdict :
Verdicts Hermes relevés dans reviews (copie sourcée, première ligne) :
Substance (une phrase, body de la PR) : « Cette PR modifie uniquement la moitié Python de la paire FR/EN Probas-5 Causal-Inference (registry scripts/notebooktools/twinpairs.d/probas-5-causal-inference.yaml : python = MyIA.AI.Notebooks/Probas/PyMC/PyMC-05-Causal-… » Pour la file : signalé à ai-01 — réserve/instabilité relevée ci-dessus ; geste lane requis avant fusion le cas échéant. pool c.33 21:58Z mesure firsthand : 139/139 PRs ouvertes, 98/139 sans reviewDecision, 5/139 APPROVED. |
|
Preflight adjoint — 2 causes :
|
|
[ADJOINT PREFLIGHT] |
…urrent head (PyMC-05 P5b) Guard-demanded rebaseline (selector --pair, lessons L963/L974): 1 pair updated. Entry renumbered 0015 (posterior twin of #16639 which holds 0014) per twin-registry-concurrent-index-collision -- concurrent same-index entries from sibling PRs collide at merge. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…urrent head (Infer-5 P5a) Guard-demanded rebaseline (selector --pair, lessons L963/L974): 1 pair updated. Entry index 0014; the posterior twin PR (#16640 P5b) takes 0015 to avoid concurrent index collision (memory twin-registry-concurrent-index-collision). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] |
…ourcis CDE corrigés (P5a) (#16639) * feat(probas,#16620): Infer-5 effets naturels NDE/NIE calcules + correction raccourcis CDE (P5a) Nouvelle cellule : NDE = 0,280 et NIE = 0,180 par enumeration sur le SCM de mediation (X formation -> M competences -> Y promotion), NDE + NIE = 0,460 = TE exactement -- identite algebrique de telescopage. Correction (G.1) : le markdown affirmait NDE = CDE(M=0) = 0,300 et NIE = TE - NDE = 0,160 avec une verification tautologique (NIE defini comme TE - NDE). Mesure : NDE = 0,280 != CDE(0) = 0,300 et part mediee vraie 0,180 != 0,160 -- l'interaction X*M (CDE(1) = 0,200 vs CDE(0) = 0,300) casse les raccourcis via CDE, pas l'identite NDE + NIE = TE. exec_dotnet_persist 16/16 cells, 0 erreur, exec counts consecutifs, validator PASS, catalogue intact. See #16620 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * chore(twin-parity,#16639): attest Probas-5 Causal-Inference pair at current head (Infer-5 P5a) Guard-demanded rebaseline (selector --pair, lessons L963/L974): 1 pair updated. Entry index 0014; the posterior twin PR (#16640 P5b) takes 0015 to avoid concurrent index collision (memory twin-registry-concurrent-index-collision). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(infer,#16639): strip kernel-injected probeAddresses banner (9 lines, output-only) Rule-6 exception (kernel-bootstrap noise, #2733/#6312 precedent): source byte-identical, stream outputs + execution_count preserved. Re-exec cannot cure (re-injects). Strip precedes twin re-attestation per #8957. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * chore(twin-parity,#16639): re-attest Probas-5 Causal-Inference AFTER banner strip (#8957) The strip moved the committed blob SHA; the 0014 entry attested the pre-strip state. 0015 records the post-strip blob. Posterior twin (#16640) moves to 0016. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Grain: LIGHT/notebook-python -- lane myia-po-2023:CoursIA -- prev: LIGHT/notebook-python #16639
See #16620 (P5b — cellule médiation dans PyMC-05)
Twin parity co-dep
Cette PR modifie uniquement la moitié Python de la paire FR/EN
Probas-5 Causal-Inference(registryscripts/notebook_tools/twin_pairs.d/probas-5-causal-inference.yaml:python = MyIA.AI.Notebooks/Probas/PyMC/PyMC-05-Causal-Inference.ipynb,csharp = MyIA.AI.Notebooks/Probas/Infer/Infer-5-Causal-Inference.ipynb).La moitié C# est livrée par la PR #16639 (P5a Infer-5 médiation) dans la même Epic #16620 — les deux effets naturels NDE/NIE sont implémentés sur les deux moteurs de l'écosystème probabiliste (Infer.NET + PyMC), avec un contraste pédagogique sans/avec interaction (PyMC-05 sans interaction où
NDE = CDEvalide ; Infer-5 avec interaction oùNDE ≠ CDE).Statut attendu du gate
Twin parity audit (#8057)après merge des deux PRs : OK (les deux côtés évoluent ensemble, les SHAs des deux notebooks avancent en parallèle).Stratégie de merge recommandée : stack
#16640puis#16639(ou amend combinée) — la cascade résout le driftDRIFT_INTRODUCEDmesuré sur le head isolé de chaque PR.Summary
Nouvelle section 8 « Médiation — effet direct et effet indirect naturels » dans
PyMC-05-Causal-Inference.ipynb(35 → 37 cellules, anciennes sections 8-10 renumérotées 9-11) — le notebook n'avait pas de section médiation, contrairement à son jumeau .NET Infer-5 :do(x), do(m)) vs effets naturels (Pearl 2001, médiateur à sa valeur contrefactuelle), sequential ignorability, et le statut exact de l'identité NDE + NIE = TE (algébrique — téléscopage) vs le raccourci NDE = CDE(m) (exact seulement sans interaction) ;xformation →mcompétences →ypromotion, CPT directs constants) exécuté sur le moteur d'énumération réelenumerate_scmdepymc_causal_organs(organe canonique [ICT/Probas] ict.bridges duplique ses organes natifs -- extraire des modules canoniques a cote des notebooks #14051,do_varsmultiples) ;NDE ≠ CDE(0)(0.280 vs 0.300, PR feat(probas,#16620): Infer-5 — effets naturels NDE/NIE calculés, raccourcis CDE corrigés (P5a) #16639) — les deux notebooks se lisent comme le contraste pédagogique sans/avec interaction.Validation (H.1, relancée après le dernier commit)
--kernel python3 --cwd ., en place) :execution_count1→15 consécutifs, 0 erreur ;prototype-first-math-notebooks) ;validate_pr_notebooks.py origin/main <nb>→ PASS 1/1 ;enumerate_scm(inference exacte par sommation) est le moteur réel déjà utilisé par toutes les sections du notebook.🤖 Generated with Claude Code