Skip to content

Fix(analyse,#18408): d[X;X]=0 seulement pour X uniforme — contre-exemple Z/4Z mesuré + invariant de translation commune - #19612

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/18408-ruzsa-dxx-uniforme
Oct 7, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/18408-ruzsa-dxx-uniforme

Conversation

@jsboige

@jsboige jsboige commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python — lane myia-po-2025:CoursIA — prev: LIGHT/docs #19605

Fix(analyse,#18408): d[X;X]=0 tient seulement pour X uniforme — contre-exemple mesuré

Résumé

Correction à la source de l'affirmation fausse d[X;X] = 0 (énoncée inconditionnellement) dans deux carnets, avec contre-exemple exécutable. Qualification fondatrice : commentaire #18405 du 2026-10-05T20:25Z (reproduction par la lane : d_ruzsa({0:0.5, 1:0.5}, {0:0.5, 1:0.5}, 4) = 0.5 bit, pas 0). Steer file profonde ai-01 22:46Z, rang 1/7 : « l'invariant vrai est d[X+a;Y+a] = d[X;Y] ».

Fichier Cellule Geste
ANALYSE-04-PFR-Primitives-Python.ipynb 1 (md) Invariant d[X;X]=0 restreint au cas uniforme (ssi X uniforme sur un sous-groupe) ; ajout de l'invariant inconditionnel d[X+a;Y+a]=d[X;Y] (translation commune) ; sémantique précisée (« translatées d'un même sous-groupe uniforme »)
ANALYSE-04 (id.) 2 (code) Test 4 exécuté : d[X;X]=0.5000 bit pour {0:0.5, 1:0.5} sur Z/4Z ; d[X+a;X+a]=0.5000 inchangé (a=1,2,3) ; test 4bis : d=0.0000 pour X uniforme sur Z/4Z
ANALYSE-04 (id.) 3 (md) Lecture corrigée : Test 1 — la nullité tient à l'uniformité, pas à l'identité des lois ; Test 2 — translation d'une loi uniforme ; Test 4 — X = a+Y donne d[Y;Y], nul seulement si Y uniforme
Quotients-Fibres-Recollement-Python.ipynb 17 (md) « si X = a + Y (translation), d_Ruzsa(X,Y) = 0 » → conditionné à l'uniformité sur des translatées d'un même sous-groupe + lien vers le contre-exemple mesuré dans ANALYSE-04. Markdown only

Validation

  • Papermill re-exécution complète d'ANALYSE-04 : 27/27 cellules, 0 erreur, 10/10 cellules code avec execution_count rempli, kernel python3 (3.13.13), ~9 s.
  • Sortie du test 4 (mesurée, pas affirmée) : d[X;X] = 0.5000 · d[X+1;X+1] = 0.5000 · d[X+2;X+2] = 0.5000 · d[X+3;X+3] = 0.5000 · d[X_uniforme;X_uniforme] = 0.0000.
  • Quotients-Fibres : markdown only → pas de re-exécution due (exception C.2 markdown) ; kernelspec non touché.
  • metadata.papermill.output_path normalisée au basename (organe scrub_papermill_paths.py, tolérance admise).
  • Périmètre : 2 fichiers, 163 insertions / 135 délétions — les délétions sont les outputs régénérés par la re-exécution ; les sources ne changent que sur les 4 cellules déclarées ci-dessus (3 dans ANALYSE-04, 1 dans Quotients-Fibres).

Contexte issue

See #18408 · See #18405

🤖 Generated with Claude Code

…re-exemple mesure

- ANALYSE-04 cell 1 : invariant d[X;X]=0 restreint au cas uniforme
  (sous-groupe) ; ajout de l'invariant inconditionnel de translation commune
  d[X+a;Y+a]=d[X;Y] ; semantique precisee (translatees d'un meme sous-groupe
  uniforme).
- ANALYSE-04 cell 2 : test 4 execute -- d[X;X]=0.5000 bit pour {0:0.5,1:0.5}
  sur Z/4Z ; d[X+a;X+a]=0.5000 inchange (a=1,2,3) ; d=0.0000 pour X uniforme
  (test 4bis). Carnet re-execute 27/27, 0 erreur, execution_count remplis.
- ANALYSE-04 cell 3 : lecture corrigee (nullite tient a l'uniformite, pas a
  l'identite des lois ; X=a+Y donne d[Y;Y], nul seulement si Y uniforme).
- Quotients-Fibres cell 17 : meme correction a la source + lien vers le
  contre-exemple mesure dans ANALYSE-04. Markdown only, pas de re-exec due.

See #18408 (correction math du steer file profonde 22:46Z ; points 1-6 deja
livres par #18410/#18409, point 7 arbitre sans renommage). Qualification
fondatrice : commentaire #18405 du 2026-10-05T20:25Z (c.6002306315).

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

github-actions Bot commented Oct 6, 2026

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

github-actions Bot commented Oct 6, 2026

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 4.9s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 6.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.4s
Search-01-StateSpace.ipynb ✅ SUCCESS 5.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.2s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 21.5s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 11.4s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 14.6s

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

@github-actions

github-actions Bot commented Oct 6, 2026

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

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

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

github-actions Bot commented Oct 6, 2026

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 commented Oct 6, 2026

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 Oct 6, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

[INFO] Jambe enfant bloquee rejouee -- ce n'est pas un plafond de temps structurel.

Mesure firsthand (gh run view <id> --json jobs, duree = startedAt -> completedAt, donc l'execution seule) :

Execution de la meme jambe Duree
runs verts recents (37549017756, 37547394997) 0.17 - 0.18 min (~11 s)
ce run 37545452063 10.20 min, puis annulation

L'organe lui-meme prend 43 s sur tout le corpus en local, et .git pese 6.91 GiB. Le job n'a donc pas consomme son plafond en travail : il est reste bloque sur le runner ephemere auto-heberge (coursia-ephemeral, timeout-minutes: 10).

Remede applique : gh run rerun 37545452063 --job 112548247929 -- c'est le remede que le gate nomme lui-meme (rejouer l'enfant qui possede le job, jamais le gate : un rerun du gate relit le meme check-run gele). Re-accepte, le run est repasse queued a 00:22:45Z.

Re-agregation du PR gate a head constant des que l'enfant est vert (pr-gate-rerun.yml -f pr_number=19612 -f head_sha=ffcb721cc288), sans push -- donc sans re-armer le DWELL.

Rien a corriger dans le contenu de la PR : le seul rouge etait cette jambe bloquee.

-- lane myia-po-2025:CoursIA

@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19612
head: ffcb721
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 3551493cfbe6233d30019724c7dc176388b470001ed9e577a922db2b7eed329c
diff-files: 2
diff-additions: 163
diff-deletions: 135
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19612
organ-rc: 0
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 6bc4af7 into main Oct 7, 2026
94 of 97 checks passed
@jsboige
jsboige deleted the fix/18408-ruzsa-dxx-uniforme branch October 7, 2026 07:54
myia-ai-01 pushed a commit that referenced this pull request Oct 8, 2026
…e pour un DEEP sur READY secretariat (#19964)

La garde merge refuse un DEEP dossiere par le secretariat (#19612) et
l'anti-double-stamp refusait le dossier de domaine de l'adjoint qui
devait le remplacer : le DEEP sur dossier secretariat etait impostable
(mesure sur #19801 et #19838). Le rc 0 admet desormais le re-stamp d'une
lane qualifiee quand la PR porte Grain: DEEP, le dossier intact tient du
secretariat, et la refutation est explicite (supersedes + supersedes-why)
-- le gate juge la refutation comme pour le rc 3 (#19420, #18934).

Co-authored-by: Claude Haiku 4.5 (1M context) <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