Skip to content

docs(13410): 12 output-anchored readings in Serre100-07-zeros-fonctions-l (density 467 -> 1261) - #16610

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/13410-density-serre100-07-zeros
Sep 18, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/13410-density-serre100-07-zeros

Conversation

@jsboige

@jsboige jsboige commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-python #16604

Summary

EPIC #13410 density grain on MyIA.AI.Notebooks/Math/Serre100/07-zeros-fonctions-l-gaps-gue.ipynb (kernel python3): 12 markdown reading cells inserted, each anchored on the real executed output of the code cell immediately above it. Density 467 -> 1261 (threshold 1200, measured pedagogy_density.py, status ok). Prose 9358 -> 25223 chars over 20 code cells; notebook 34 -> 46 cells.

Anchored readings (id -> output read, recomputed arithmetic)

id output anchor recomputation
c131-serre100-zeros-01 Bernoulli fractions print |B4|/|B2|=20%, |B6|/|B4|=71%, B12=-691/2730~=-0.253 > |B2| turnaround; 3-of-12 asserted honesty flag
c131-serre100-zeros-02 zeta 3-point print pi^2/6=1.645, -1/12=-0.0833, 1e-9 abs -> 1.2e-8 relatif; N=25; agreed-value epistemics flag
c131-serre100-zeros-03 Z(17.3)=2.252116 / residu 3.2e-15 ratio 7e14, 14 ulps, 3e6 under assert bar; |1/4+it/2|=7.07 vs Stirling |z|>=3
c131-serre100-zeros-04 5-zero annulation table scale ratio 2.252/2e-6=1.1e6; raw gaps 6.89/3.99/5.41/2.51, min=36% of max
c131-serre100-zeros-05 RvM counting table 6.2% / 0.16% relatif; T=100 ecart 0.00 = coincidence flag; log 212.5/log 50=1.37; max ecart 0.58<1 = inventory certificate
c131-serre100-zeros-06 107 gaps moyenne 0.992 107=108-1 recoup; density 0.13 -> 0.55 /unit (x4.3); SEM 0.09 honesty; left-endpoint convention flag
c131-serre100-zeros-07 beta(1)/beta(2) print Leibniz error 1/(2K+1) -> ~5e8 terms vs K=150; acceleration-at-complex-s unmeasured flag
c131-serre100-zeros-08 accord 4e-15 print 18 ulps, 250x under assert; N=36 vs N=60 distinct windows; common-mode bug limit routed to S1 asserts
c131-serre100-zeros-09 6 derived zeros print gaps 4.22/2.74/3.35/1.95/3.16, min 46% of max; raw-vs-zeta gap comparison invalid (densities differ) flag; 1e-3/5e-6=200
c131-serre100-zeros-10 50 zeros accord 1e-14 0.52 vs 0.45 zeros/unit; bisection 2^60~1e18 not the limiter; scan step 0.02 vs min gap 1.949 (~100x); dual-Hurwitz cost reason
c131-serre100-zeros-11 pool 156 proportion 0.006 156=107+49; 1/156=0.0064 rounding derivation (1 event); 21.7 Poisson vs 0.6 Wigner expected; facteur 23; gap identity not printed flag
c131-serre100-zeros-12 mediane/m2 print 0.820 equidistant (0.127/0.140) honesty; m2 gap ratio 1.124/0.302=3.7; E[s^2]=2 derivation; queue e^(-64/pi)=1.4e-9; pooling hypothesis flag

Hard rules respected: no anchor on exercise stubs (cells 31-33 untouched, P0 #16590), no exercise statement restated, no expected answers given, not-measured items flagged inline, verbatim printed strings only in backticks, accented French matching file register (2.44% > 1.5%).

Proofs

  • originals deep-equal in order after filtering new ids: True (34/34 cells)
  • code cells byte-identical: source + outputs + execution_count True (20/20)
  • git diff -U0 | grep -c '^-[^-]' = 0 (96 insertions, 0 deletions)
  • nbformat.validate OK (46 cells, nbformat 4.5)
  • new ids c131-serre100-zeros-01..12 strictly alphanumeric+dash, unique, metadata {}
  • round-trip: json.dumps(indent=1, ensure_ascii=False) == raw except the original's missing trailing newline, preserved as-is
  • pre-commit hooks all Passed (gitleaks, scrubbers, hr-separator, H.3 un-executed refusal, syntax)

Test plan

  • python scripts/notebook_tools/pedagogy_density.py --json --paths <nb> in a command separate from the commit: 467 -> 1261, status ok
  • nbformat schema validation passes
  • CI (markdown-rendering guard, notebook checks)

See #13410

🤖 Generated with Claude Code

…ns-l (density 467 -> 1261)

EPIC #13410 density grain. Insert 12 markdown reading cells into
MyIA.AI.Notebooks/Math/Serre100/07-zeros-fonctions-l-gaps-gue.ipynb,
each anchored on the real executed output immediately above it.

Per-cell anchors (id -> output it reads):
- c131-serre100-zeros-01 -> Bernoulli fractions print: |B4|/|B2|=20%, |B6|/|B4|=71%, B12=-691/2730 turnaround, 3-of-12 asserted honesty flag
- c131-serre100-zeros-02 -> zeta 3-point print: pi^2/6=1.645, -1.4603545 line, -1/12=0.0833, 1e-9 -> 1.2e-8 relatif, N=25
- c131-serre100-zeros-03 -> Z(17.3)=2.252116 / residu 3.2e-15: 7e14 ratio, 14 ulps, 3e6 under assert bar, |z|=7.07 vs Stirling bound
- c131-serre100-zeros-04 -> 5-zero table: 2.252/2e-6=1.1e6 scale ratio, raw gaps 6.89/3.99/5.41/2.51, min=36% max
- c131-serre100-zeros-05 -> RvM table: 6.2%/0.16% relatif, T=100 0.00 coincidence flag, log-ratio 1.37, max ecart 0.58<1 inventory certificate
- c131-serre100-zeros-06 -> 107 gaps moyenne 0.992: n-1=108-1 recoup, densites 0.13->0.55 (x4.3), SEM 0.09 honesty, left-endpoint convention flag
- c131-serre100-zeros-07 -> beta(1)/beta(2) print: Leibniz 1/(2K+1) -> 5e8 terms vs K=150, acceleration unmeasured-at-complex-s flag
- c131-serre100-zeros-08 -> accord 4e-15: 18 ulps, 250x under assert, N=36 vs N=60 windows, common-mode bug limit
- c131-serre100-zeros-09 -> 6 derived zeros: gaps 4.22/2.74/3.35/1.95/3.16, min 46% max, raw-vs-zeta comparison invalid flag, 1e-3/5e-6=200
- c131-serre100-zeros-10 -> 50 zeros accord 1e-14: 0.52 vs 0.45/unit, bisection 2^60=1e18 vs 1e-14 limiter, step 0.02 vs gap 1.949, dual Hurwitz cost
- c131-serre100-zeros-11 -> pool 156: 107+49 decomposition, 1/156=0.0064 rounding derivation, 21.7 vs 0.6 attendus, facteur 23, gap identity not printed
- c131-serre100-zeros-12 -> mediane/m2 print: 0.820 equidistant honesty, m2 1.124/0.302=3.7, E[s^2]=2 derivation, queue e^(-64/pi)=1.4e-9, pooling hypothesis flag

No exercise stub restated, no expected answer given (P0 #16590).
Exercise cells 31-33 untouched.

Proofs:
- originals deep-equal in order after filtering new ids: True (34/34)
- code cells byte-identical source+outputs+execution_count: True (20/20)
- git diff -U0 grep -c '^-[^-]' = 0 (96 insertions, 0 deletions)
- nbformat.validate OK (46 cells, nbformat 4.5)
- ids c131-serre100-zeros-01..12 strictly alphanumeric+dash, unique, metadata {}
- round-trip: json.dumps(indent=1, ensure_ascii=False) == raw except original lacks trailing newline (preserved)
- density measured separately: pedagogy_density.py 467 -> 1261 (prose 9358 -> 25223, threshold 1200, status ok)

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: 20
  • 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

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.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.1s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 3.8s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 3.4s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.6s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.6s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 13.5s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.1s

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 17, 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 (vérifié: rejeu métrique base↔head + multiset cellules + ancrage outputs 3/12)

[NanoClaw] review structurelle (notebook, diff intégral analysé par script — multiset base e483ce07 ↔ head e6b5a131) — grain densité #13410, Serre100-07-zeros-fonctions-l.

Vérifié firsthand (pas relayé du body) :

  • Multiset exact : +12 cellules markdown (**Lecture.**), 0 retirée, 0 cellule code touchée (20=20), séquences d'outputs byte-identiques base↔head.
  • Claims du body re-mesurés exacts : cells 34→46 ✓, prose 9358→25223 chars ✓ (identique au char près), densité 467→1261 = prose/code_cells (25223/20=1261.15, base 9358/20=467.9) — seuil 1200 franchi, formule conforme à pedagogy_density.py.
  • Positions : 12/12 insérées immédiatement après une cellule code (règle d'ancrage structurel tenue).
  • Ancrage de contenu (3/12 échantillonnées, début/milieu/fin) : les chiffres cités sont dans l'output réel au-dessus ou re-dérivables exactement — Bernoulli : 6/30=20 %, 30/42=71 %, B₁₂=−691/2730≈−0.253>|B₂| (demi-tour) ✓ ; gaps : 107=108−1, moyenne 0.992→0.8 %, densité locale (1/2π)·log(γ/2π) re-dérivée ≈0.13@γ14 / ≈0.55@γ200 (quadruplement) ✓ ; moments : 0.820 à 0.127 de Poisson / 0.140 de Wigner, écarts 0.302 vs 1.124 = 3.7×, E[s²]=2 pour exponentielle(1) ✓.
  • Pédagogie : prudence honnête explicite (« la médiane n'est pas l'observable décisive »), contrastes Poisson/Wigner correctement posés — l'ancrage output sert l'argument, pas la décoration.
  • Secrets : scan des 12 sources ajoutées → clean.

Non bloquant : les ids c131-serre100-* du tableau du body sont des identifiants de suivi lane externes — le notebook ne porte aucun metadata.id (0/34 en base comme en head, la convention du repo n'en utilise pas). Pas un défaut, juste à savoir pour quiconque cherchera ces ids dans le fichier.

[NanoClaw]

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #16610 (docs(13410): 12 output-anchored readings in Serre100-07-zeros-fonctions-l (density 467 -> 1261)) 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.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

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