Skip to content

Docs(probas,#13410): redressement densite g96-probas-7 -- CB-09 + PyMC-16, grain Vibe (#17040) - #22170

Merged
myia-ai-01 merged 3 commits into
mainfrom
wt/vibe-g96-probas-7
Oct 24, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
wt/vibe-g96-probas-7

Conversation

@jsboige

@jsboige jsboige commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2025:CoursIA — prev: #21983

Relais g96-probas-7 (grain Vibe #17040) — redressement densité CB-09 + PyMC-16

2 notebooks Python, +150 lignes, produit par le worker Vibe détaché (dispatch 23/10 07:00 loc, commit 7e29d7d52 sur base de3e87e31) :

  • MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-09-Hernan-TargetTrialEmulation-Python.ipynb (+60)
  • MyIA.AI.Notebooks/Probas/PyMC/PyMC-16-Sparse-Gaussian-Process.ipynb (+90)

Densités visées (message du commit du grain, mesure worker) : CB-09 971→1205, PyMC-16 1188→1382 — gisement #13410.

Gates

  • Base recalée : merge origin/main dans la branche avant attestation (anti DRIFT-INTRO étranger, c.288).
  • Parité jumelle : 158 paires → INTRO=0 avec --check (attestation additive probas-16-sparse-gaussian-process/0016-2026-10-23-myia-po-2025-CoursIA.yaml, commit 9c515e8d9f) ; CausalBridges-09 hors registre (aucune paire déclarée, comme CB-02) ; PRE=21 préexistants main (conforme c.290).
  • Tag Grain : validé par variation_tag_required (exit 0), tier MED, prev Add(lean,#17544): companion 02 -- le pont Groebner (module Geometry.GroebnerBridge) #21983 = dernier MERGÉ.

🤖 Generated with Claude Code

jsboige and others added 3 commits October 23, 2026 07:31
…>1205) + PyMC-16 (1188->1382), grain Vibe (#17040)

Redressement #17040, markdown-only, sans re-exécution :

- CausalBridges-09-Hernan-TargetTrialEmulation-Python (971 -> 1205 c/cellule,
  12 cellules code) : 6 lectures ancrées insérées immédiatement après les
  cellules de démonstration exécutées qui n'en avaient pas :
  cb09-lecture-sim (après ec=1, jeu simulé N=2000, taux 40,00 %/32,15 %/
  52,40 %), cb09-lecture-dag (après ec=2, figure DAG), cb09-lecture-naifs
  (après ec=3, biais +2,6427/+1,0012/+1,0668 vs vérité +0,6766),
  cb09-lecture-dowhy (après ec=4, backdoor L0, −0,5137), cb09-lecture-gformula
  (après ec=5, +0,7872, biais +0,1106), cb09-lecture-iptw (après ec=6,
  +1,2090, biais +0,5323). La sortie benchmark (ec=7) reste lue par la
  cellule Verdict existante ; aucune lecture sur les stubs d'exercice
  (ec=8..12).
- PyMC-16-Sparse-Gaussian-Process (1188 -> 1382 c/cellule, 18 cellules code) :
  9 lectures ancrées insérées : p16-lecture-rbf (après ec=2, matrice RBF),
  p16-lecture-donut (après ec=4, 16 points, rayons 0,43/1,35),
  p16-lecture-nuts (après ec=6, 800 échantillons, 0 divergence, ls=0,79),
  p16-lecture-accuracy (après ec=8, 16/16 = 100,0 %, points test
  P=0,23/0,52/0,64/0,57), p16-lecture-hsgp-data (après ec=9, 200+200),
  p16-lecture-hsgp-wall (après ec=10, Cholesky 0,6 ms -> 1443,4 ms, N^2,3),
  p16-lecture-hsgp-dense (après ec=11, 51,2 s, acc 1,000, LL 0,113),
  p16-lecture-hsgp-arms (après ec=12, 3,3 s / 4,2 s vs 51,2 s),
  p16-lecture-hsgp-scale (après ec=13, N=1200 : 12,1 s, LL 0,030 ; dense
  estimé ~51 min / ~40 h). Le bloc section 6 (6 cellules code consécutives)
  est désormais ponctué de prose ; les lectures existantes (tirages du prior,
  Lecture des résultats) sont conservées sans empilement. Aucune lecture
  sur les stubs d'exercice (ec=15..18) ni sur les cellules dont la sortie
  ne fait que récapituler le code (imports ec=1, définition du modèle ec=5,
  grille de prédiction ec=7 qui affiche déjà sa propre lecture).

Garde-fous éditoriaux : UTF-8 strict, accents conservés à l'octet près
(aucun repli ASCII, 0 U+FFFD) ; source conservé en liste de lignes ;
cellules code, outputs, execution_count, ids et metadata byte-identiques
(égalité dictionnaire par dictionnaire sur toutes les cellules anciennes,
diff = insertions pures : 60+0 et 90+0 lignes) ; aucune re-exécution.

Gardes : pedagogy_density ok (>=1200) sur les deux carnets (1205, 1382) ;
check_split_reading_cells clean (0 finding, aucune lecture scindée) ;
detect_solution_leaks 0 (HIGH/MEDIUM/LOW) ; check_density_anchor OK ;
check_interp_positioning 0 ; notebook_lint, scan_md_hierarchy,
check_notebook_navlinks, check_cell_source_parses, count_exercises OK.

Le seuil 1200 est traité comme repère de mesure, pas comme cible : aucun
ajout de prose de remplissage ; chaque lecture cite telle quelle la sortie
commitée de sa cellule ancrée.

Fichiers touchés (2, dans targetPath uniquement) :
- MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-09-Hernan-TargetTrialEmulation-Python.ipynb
- MyIA.AI.Notebooks/Probas/PyMC/PyMC-16-Sparse-Gaussian-Process.ipynb

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
…relais g96-probas-7 (grain Vibe #17040)

Co-Authored-By: Claude Sonnet 5.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.

[Hermes] Review — vérification par blobs base (main) vs head (9c515e8d)

Verdict : APPROVE. Grain densité propre : 0 cellule de code touchée sur les deux carnets, valeurs des lectures ancrées, attestation twin exacte. Détail :

Périmètre mécanique (2 carnets, +156 lignes diff)

  • PyMC-16 : 38 → 47 cellules, 9 cellules markdown ajoutées (p16-lecture-*), 18/18 cellules de code byte-identiques base↔head (sources + outputs + execution_count). Densité reproduite : 21 400/18 = 1189 → 24 886/18 = 1383 c/cell (body : 1188→1382, écart d'arrondi 1382,07→1383 par troncature, cohérent).
  • CB-09 : 26 → 32 cellules, 6 cellules markdown ajoutées (cb09-lecture-*), 12/12 cellules de code byte-identiques. Densité : 11 654/12 = 971 → 14 462/12 = 1205 c/cell — exactement le claim 971→1205.

Ancrage des lectures (concat streams/text-plain du head)

  • PyMC-16, points vérifiés un à un : ls posterior moyenne = 0,79 ✓ (cell 15), 800 post-burnin / 2 chaînes / 0 divergence ✓, bras dense 51,2 s / acc 1,000 / log-loss 0,113 ✓, HSGP m=[10,10] 3,3 s / m=[20,20] 4,2 s / 100 et 400 coefficients ✓, « divise par 12 à 15 » ✓ (51,2/4,2 = 12,2 ; 51,2/3,3 = 15,5), N=1200 : 12,1 s / log-loss 0,030 ✓, extrapolations ~51 min / ~40 h ✓ (présentes en sortie), mur Cholesky 0,6 ms → 1443,4 ms / ×2615 / N^2,3 ✓, donut 16 points / 8+8 / rayons 0,43-1,35 ✓, points test P = 0,23/0,52/0,64/0,57 ✓, corr 0,999/0,999/0,989 et |Δp| 0,009/0,009/0,091 ✓.
  • Les tirages du prior ls=0,2/ls=5,0 cités par la lecture NUTS vivent dans la source de la cell 7 (figure, non imprimée en texte) — ancrage par la source, acceptable pour des constantes du graphe.
  • CB-09 : 0 valeur décimale non ancrée dans les 6 lectures ajoutées.

Attestation twin 0016

  • Numérotation correcte : max du dossier = 0015 → 0016.
  • Re-dérivation des 4 shas avec la formule du checker : python_sha = blob PyMC-16 au head ✓, content_python_sha = re-dérivé du head 3984fb17… ✓, csharp_sha = blob Infer-16@main ✓, content_csharp_sha re-dérivé de main ✓ — 4/4 exacts. La paire était DRIFT-PRE (markdown base changé côté Python sans re-attestation), cette PR rebaseline légitimement le côté Python seul ; côté C# inchangé. CB-09 hors registre twin (aucun CausalBridges-* dans twin_pairs.d au main) — conforme au claim.

Réserves 🟡 (mineures)

  1. Le body annonce « +150 lignes » : le diff livré = +156 (60 + 90 + 6 du YAML). L'écart = les 6 lignes d'attestation ; les +60/+90 par carnet sont exacts.
  2. Les avertissements PyMC rhat > 1.01 / ess < 100 (cells 28/30/32) sont présents dans les sorties committées mais hérités (outputs byte-identiques base↔head, aucune lecture ajoutée ne les mentionne) — hors périmètre du grain, non imputable.

CI au head au moment de la review : organes queued (famine de runners #13510) — verdict fondé sur la vérification locale ci-dessus.

@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

⚠️ Stale-claim review needed: a markdown cell claims a measurement value that appears in NO committed output of the notebook. Advisory, NOT a merge gate — triage against the JSON artifact.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions github-actions Bot added the variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) label Oct 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2025:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-23) :

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 8.6s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 7.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 7.3s
Search-01-StateSpace.ipynb ✅ SUCCESS 5.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.8s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 34.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 4.6s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 20.6s

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

@github-actions github-actions Bot added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 30
  • 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)

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

Lecture coordinateur sur dossier delegue (lot t15, procedure dossier_procedure.md), verifie a la tete 9c515e8 : portee, sorties et ancres de prose, reviews et B.0, aucun rouge latest-wins hors advisory. Resume : Markdown-only density additions (Lecture cells) in CausalBridges-09 and PyMC-16 + twin attestation 0016; +156/-0, no code cell touched.

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

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants