Skip to content

docs(notebook,#13410): ICT-29 density tranche -- read the measured verdicts - #16083

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/densite-13410-famille15
Sep 15, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/densite-13410-famille15

Conversation

@jsboige

@jsboige jsboige commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python — lane myia-po-2026:CoursIA — prev: LIGHT/tooling #16077

Objet

Tranche densité sur MyIA.AI.Notebooks/IIT/ICT-Series/ICT-29-ConceptInoculation.ipynb (epic #13410). Famille IIT — vierge de la session (rotation R6 côté famille ; le grain précédent était tooling, celui avant notebook-dotnet). Kernel python3, genre notebook-python. 7 cellules markdown d'interprétation insérées, chacune ancree sur une sortie reellement presente dans les outputs.

Mesure (LIVE, pas le baseline Phase-1)

scripts/notebook_tools/pedagogy_density.py sur le fichier seul.

prose_chars cellules code densite verdict
avant 5496 8 687 below_threshold
apres 12044 8 1506 0 below

Deficit strict avant : 1200 × 8 − 5496 = +4104 ; le livrable insere 6548 chars (marge deliberee, meme doctrine que les tranches precedentes, pour absorber de futurs ajouts de code au denominateur).

Ce que le fichier avait, et ce qui manquait

Le notebook portait une prose riche mais annonciatrice : la section 2 donne la formule eff_rate = transmission_rate × (1 − biais)^{exposures−1}, la section 3 nomme le seuil R_0 > 1 — et aucune valeur mesuree n'etait jamais relue. Les cellules ajoutees ecrivent les lectures, pas des redites des enonces.

Les quatre lectures qui portent le tier

1. Le seuil endemique est une frontiere de phase, et elle est LOCALISEE. Le balayage de l'exercice 1 (survie post-retrait, la grandeur exacte de la section 3) donne : taux 0,05 → 0,000 · 0,10 → 0,000 · 0,20 → 0,812 · 0,40 → 0,887 · 0,60 → 0,912. Entre 0,10 et 0,20, la survie passe de l'extinction exacte a l'endemie massive : la frontiere R_0 = 1 que la prose nomme abstraitement est mesuree entre 0,10 et 0,20 a autres parametres fixe. En dessous, doubler le taux ne fait rien ; au-dessus, le gain s'effondre (+0,075 puis +0,025 pour deux pas identiques) — tripler le taux n'achete que +0,10 : le parametre critique decide du tout-ou-rien, les autres decident du combien.

2. Deux boutils aux effets qualitativement differents. Le biais de confirmation (section 2) degrade continument jusqu'a un plancher positif (1,000 → 0,335 a biais 0,9 — un tiers de la population porte encore le concept) ; le taux de transmission (exercice 1) produit une discontinuite. La formule de la section explique le plancher : a biais 0,9, la dixieme exposition d'un non-converti ne pese plus que 0,1^9 = 10^-9 du taux nominal — les sollicites-prudents deviennent inconvertissables, les conversions precoces sont acquises.

3. La mesure d'assortativite de l'exercice 3 est DEGENEREE a saturation. La baseline du stub imprime fraction 1,000, paires P-P 1,000, p² 1,000, ecart +0,000. Quand la fraction vaut 1, toutes les paires sont P-P par construction et obs − p² est identiquement nul quelle que soit la structure du reseau : le +0,000 n'est pas l'absence de polarisation, c'est l'absence de pouvoir discriminant. La question de l'exercice est non mesurable sur cette configuration ; elle parle au regime intermediaire que la section 2 a justement mesure (0,335 ⇒ p² = 0,112). Verifiable par quiconque relance le stub.

4. L'exercice 2 compare des populations dont l'une est VIDE. La baseline imprime 28 conversions, age moyen 9,1, median 8, et zero adoption apres le tour 150 : il n'existe pas de convertis tardifs a ces parametres. La question « les tardifs ont-ils un profil different ? » est viciée sur ce banc — le complement utile est de trouver les parametres qui creent des tardifs (seuil de la lecture 1).

S'y ajoutent deux lectures de regime : l'infection partielle 0,400 de la section 1 (le verdict booleen cache le chiffre), et l'endemie erodee 0,725 de la section 3 (au-dessus du seuil, l'oubli non compense grignote un quart du parc).

Justification du tier DEEP

Revendique sur des resultats mesurables et falsifiables que le fichier ne portait pas : la localisation de la frontiere de phase (R_0 = 1 entre 0,10 et 0,20), la mise au jour d'une mesure degenereree dans la baseline d'un exercice (assortativite ≡ 0 a saturation, identiquement), et une question d'exercice viciée par population vide. Chacun se re-verifie en relançant les cellules du notebook. Aucune prose existante n'est contredite — les predictions du fichier sont confirmees et chiffrees. Le tier peut etre conteste sur cette base.

Preuves d'integrite

  • Markdown-only : le notebook etait deja execute (8 execution_count non nuls, 0 output vide, 0 erreur) -> exception C.2, aucune re-execution requise.
  • Les 17 cellules d'origine sont deep-equal a origin/main, verifie cellule a cellule en JSON parse (kept == old -> True), metadonnees comprises.
  • Diff brut apres hooks : 90 insertions(+), 0 deletion(-) (recompte apres pre-commit ; aucun auto-fix declenche).
  • C.1 : grep -nE "raise NotImplementedError|assert False|1/0" -> 0. Les stubs d'exercices et leurs TODO sont intacts (aucune solution fuitee — les lectures portent sur ce que les baselines impriment deja).
  • H.1 : scripts/notebook_tools/validate_pr_notebooks.py origin/main <nb> -> 1/1 passed, Total code cells checked: 8.
  • Structure : 17 -> 24 cellules, 0 paire de cellules code consecutives, 0 id duplique.
  • Registre twin : scripts/notebook_tools/twin_pairs.d/ ne mentionne ni le chemin ni le nom -> aucune rebaseline due.
  • Tous les hooks pre-commit passent au premier essai (gitleaks, scrub papermill, --- openers, markdown-rendering, source-newlines, H.3, Aucun garde ne parse la source des cellules : une cellule non compilable portant une sortie traverse les 60+ checks #13326).
  • Densite LIVE re-mesuree apres insertion : judged=1, below_threshold=0.

Residuel

La famille IIT reste la veine la plus profonde du depot (39 notebooks sous plancher sur 76 juges, mesure LIVE de ce cycle). Les autres fichiers n'ont pas ete traites.

Quoi

Tranche densite markdown-only sur ICT-29 : 7 cellules d'interpretation inserees apres les cellules code mesurees, chacune confrontant une sortie reelle (densite 687 -> 1506, 0 below LIVE).

Perimetre

Un seul fichier : MyIA.AI.Notebooks/IIT/ICT-Series/ICT-29-ConceptInoculation.ipynb. Aucun autre chemin, aucun script, aucun catalogue.

See #13410

🤖 Generated with Claude Code

…rdicts

7 markdown interpretation cells anchored on the notebook's own outputs:
partial endemic infection (0.400), the 0.335 resistance floor vs the
exercise-1 phase boundary (survival 0.000 at rate<=0.10 vs 0.812 at 0.20,
R0=1 bracketed), the eroded endemic regime (0.725 post-removal), the
all-early adoption baseline (28 conversions, mean 9.1, zero late), and
the assortativity measure degenerate at saturation (obs - p^2 == 0
identically when fraction=1). Markdown-only: 17 -> 24 cells, +90/-0.

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

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.9s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.2s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.7s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.6s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.6s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 20.5s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.3s

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

@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: 8
  • 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 merged commit 0281b30 into main Sep 15, 2026
80 of 81 checks passed
jsboige added a commit that referenced this pull request Sep 16, 2026
…rdicts (#16083)


7 markdown interpretation cells anchored on the notebook's own outputs:
partial endemic infection (0.400), the 0.335 resistance floor vs the
exercise-1 phase boundary (survival 0.000 at rate<=0.10 vs 0.812 at 0.20,
R0=1 bracketed), the eroded endemic regime (0.725 post-removal), the
all-early adoption baseline (28 conversions, mean 9.1, zero late), and
the assortativity measure degenerate at saturation (obs - p^2 == 0
identically when fraction=1). Markdown-only: 17 -> 24 cells, +90/-0.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 20, 2026
…mees (ICT-28/29/31) (#17057)

ICT-28 (4 suppressions) : 4 "## Lecture N --" ajoutees par la campagne
#16437 paraphrasent les cellules "**Interpreetation.**" preexistantes (memes
valeurs rho_c=0.425, saut 0.472, fraction finale 0.000/1.000). Regle (c)
doublon d'une lecture preexistante -> suppression des ajouts campagne,
preservation des Interpretation. antérieures.

ICT-29 (3 suppressions) : 3 "#### 5a/b/c." ajoutees par la campagne
#16083 lisent les cellules code EXERCICE (stubs "# TODO etudiant") qui
n'ont pas d'output de sortie commited -- ces Lectures sont des lectures
d'exercice, interdites par la regle (c). Suppression.

ICT-31 (4 suppressions) : 4 "**Lecture chiffree --" ajoutees par la
campagne #16454 paraphrasent les "### Lecture --" preexistantes (memes
valeurs recovery_score, temps de retour, variance de champ). Regle (c)
doublon d'une lecture preexistante -> suppression des ajouts, preservation
des ### Lecture. anterieures.

Cellules code, outputs, execution_count, metadata, IDs non touches.
Byte-identique sur 30 cellules code (8+8+14). UTF-8 sans BOM.
Markdown-only -- aucune re-execution requise (exception C.2).

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants