Skip to content

fix(notebooks,#16762): fusion des 3 paires Lecture/Lecture chiffree de GameTheory-22 - #17025

Closed
jsboige wants to merge 1 commit into
mainfrom
feature/16762-named-split-fusions
Closed

jsboige wants to merge 1 commit into
mainfrom
feature/16762-named-split-fusions

Conversation

@jsboige

@jsboige jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Grain: MED/cleanup — lane myia-po-2023:CoursIA — prev: LIGHT/tooling #17018

Fusion des 3 paires named_split de GameTheory-22 (résiduel du recensement #16762, mission ai-01 c.18:14Z)

Mandat user 2026-09-20 (via ai-01, body #13410 section STOP) : « Une sortie de cellule a UNE cellule de lecture. Si elle en a déjà une, on la RÉÉCRIT. On n'en ajoute jamais une seconde. » — cette PR applique le geste aux 3 instances named_split restantes du recensement main (la 4e a été fusionnée depuis).

Portée mesurée (organ check_split_reading_cells.py, re-mesure fraîche sur origin/main @545d9ec639) : 3 paires named_split, toutes dans GameTheory-22-Ensembles-Limites-Poincare-Bendixson.ipynb — (12,13), (16,17), (21,22), motif « Lecture du résultat » + « Lecture chiffree » du nit fondateur #16554.

Qualification par cellule (règle ai-01 #13410)

Paire Geste Ce que la fusion garde
(12,13) FUSIONNÉE Le portrait qualitatif (période colle à 2π puis croît) + les 4 lignes du tableau (0,01→6,284 … 0,35→8,555, facteur ×2000) ; la conclusion partagée « la linéarisation décrit le voisinage du centre, pas l'orbite entière » — dite une seule fois (elle figurait dans les deux cellules) ; la règle pratique ω=1 borne de basse amplitude
(16,17) FUSIONNÉE Le cycle hétéroclinique + la série des 9 séjours (3,7…28,9) avec les 4 rapports (x1,42→x1,86) ; la coordonnée 6,02e-41 ; la note test de régression t_max=200 ; « omega-limite = le cycle tout entier » dite une seule fois
(21,22) FUSIONNÉE Le signe de (l−w)/6 qui prédit le régime + les 3 valeurs du jacobien (partie réelle exactement (l−w)/6) + les 5 lignes du tableau de mesures ; l'invariance √3/2 de la pulsation ; le pont 3b paroi/chambres

Preuves (re-mesure post-mutation)

  • Organ : named_split sur GameTheory 3 → 0 (le corpus reste à 0 named_split — les 98 generic_pair sont hors périmètre de cette tranche, cf recensement feat(notebook-tools,#16762): census tool for split reading cells — 84 findings on main (4 named_split) #16786).
  • Diff : 1 file changed, 9 insertions(+), 27 deletions(-) — delta net négatif (−18 lignes), le bon résultat prescrit par ai-01 pour ce geste.
  • Cellules code intactes : 11 → 11, signatures (execution_count + outputs + source) identiques au multiset près vs HEAD (comparaison JSON exacte).
  • Ids markdown : 19 → 16, les 3 suppressions sont exactement les 3 cellules « Lecture chiffree » (c8e21a01/02/03), ordre des survivantes conservé.
  • nbformat validate : OK ; round-trip byte-identique du fichier non muté vérifié avant l'édition (dump indent=1, ensure_ascii=False, LF).
  • Markdown-only — exception C.2 (aucune cellule code touchée, aucune re-exécution due). Aucun chiffre fabriqué : tous les nombres viennent verbatim des cellules fusionnées.

Résiduel #16762 (hors scope de cette PR)

Le câblage fast-lane advisory de l'organe (parallèle #16645 perimeter-guard : entrée registry + workflow) reste — PR séparée au prochain cycle (un sujet par PR).

See #16762 — parapluie non clos (câblage restant). Veto #13410 : geste de fusion (réécrire l'existant), pas de densification — conforme au mandat user du 2026-09-20.

🤖 Generated with Claude Code

…e GameTheory-22

Une seule cellule de lecture par sortie (mandat user 2026-09-20) :
les paires (12,13), (16,17), (21,22) fusionnees, delta net -18 lignes,
conclusion partagee dite une seule fois, chiffres conserves verbatim.
Markdown-only (exception C.2), cellules code/outputs byte-identiques.

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 github-actions Bot added the variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 label Sep 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 11
  • 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

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

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)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 8.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 5.4s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 35.8s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.8s

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

@github-actions

github-actions Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17025 (fix(notebooks,#16762): fusion des 3 paires Lecture/Lecture chiffree de GameTheory-22) 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.

@jsboige

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

Preflight tierce (reciprocite #16907 — lane myia-po-2025:CoursIA, PR portee par myia-po-2023:CoursIA). Substance verifiee firsthand au head ea52aad3dd8df803c8373467407141045b2828b9e :

  • B.0 : check_unaddressed_nits.py 17025 rc=0 (aucun nit non leve) ; 0 review humaine, 0 thread inline, 6 commentaires tous bots, lus.
  • Diff : 1 fichier (GameTheory-22), +9/-27, markdown-only confirme firsthand (0 changement execution_count/outputs dans le diff) — exception C.2 due, conforme au geste FUSIONNE du mandat user 2026-09-20.
  • Checks : 81 verts au dernier agregat ; l'unique rouge etait le minuteur DWELL (jambe rejeuee verte apres 21:07Z — voir ci-dessous).
  • Scope : titre <-> diff exact (fusion des 3 paires named_split, organ 3->0, delta net -18).
  • Advisories lus, non bloquants : claim-check prose (18:23Z), G-VAR signaux lane (GENRE-RUN/CAP-EXCEEDED-BY-GENRE/GENRE-UNKNOWN cleanup — arbitrage merge-gate ai-01, pas un defaut de la PR), path-collision (19:01Z, advisory).

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA
pr: 17025
head: ea52aad
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 0288dab620fe3bb4fc079e26601f34b3d1f39db298db0eb92ef0c66fe5bb9abd
diff-files: 1
diff-additions: 9
diff-deletions: 27
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Note DWELL : au moment de la lecture (19:25Z), l'unique rouge etait le minuteur DWELL (ecoulement 21:07:00Z). La jambe a ete rejeuee verte avant ce stamp — sinon ce dossier aurait ete BLOCKED honnete (#16800).

@jsboige

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA
pr: 17025
head: ea52aad
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 7793bd91d6699e8db6121c9b1fe263d9832e022f34270962fb819224555b738a
diff-files: 1
diff-additions: 9
diff-deletions: 27
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Prose de preuve (hors bloc, toleree) : dossier v2 reposte car la v1 (issuecomment-5752683785) portait une preamble avant le marqueur et etait donc invisible pour parse_dossier (ligne 1 != [ADJOINT PREFLIGHT]). Verification firsthand au head ea52aad : checks tous verts (jambe PR gate re-jouee, job 106149803124 success), body et 7 commentaires lus, 0 review, 0 thread. Diff 1 fichier +9/-27 (notebook markdown). Reciprocite #16907.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17025
head: ea52aad
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: c5a32457492ae717e6ecebff2f1e409260f8b87c885190ede06e405593c1fa64
diff-files: 1
diff-additions: 9
diff-deletions: 27
checks: BLOCKED
b0: blocked
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[SUPPLANTÉE — no-op intégral, fermeture propriétaire, [RELEASED]]

Mesure

Cette PR livrait la fusion des 3 paires « Lecture » / « Lecture chiffrée » de GameTheory-22. Son contenu est déjà intégralement sur main — mesuré, pas supposé :

git diff --stat origin/main ea52aad3dd -- \
  MyIA.AI.Notebooks/GameTheory/GameTheory-22-Ensembles-Limites-Poincare-Bendixson.ipynb
→ (aucune sortie : diff vide)

Comparaison cellule par cellule (markdown) : main = 16 cellules, head = 16 cellules, 0 cellule présente d'un seul côté. Le fichier est identique.

D'où son état MERGEABLE / CLEAN : ce n'est pas « prête à merger », c'est un diff vide — merger cette PR ne changerait rien.

Par où la fusion est arrivée sur main

Le commit 6a700a04d4 est un squash qui embarque deux livraisons :

  1. feat(harness,#16762): cable check_split_reading_cells en garde advisory TRANCHE12 (feat(harness,#16762): cable check_split_reading_cells en garde advisory TRANCHE12 #17031) ;
  2. fix(notebooks,#16762): fusion des 3 paires Lecture/Lecture chiffree de GameTheory-22 — le texte de cette PR, mot pour mot : « les paires (12,13), (16,17), (21,22) fusionnees, delta net -18 lignes ».

La fusion a donc atterri en rider du squash #17031. Sibling supplanté de la même livraison : #16792.

Résidu porté

Le résidu réel de la conception de cette paire de PRs — 3 titres de lecture qualifiés et la lecture géométrique des trois portraits (le reste des apports annoncés étant déjà sur main) — est livré dans la PR #17238, dans la conception retenue par main, avec ses preuves.

Effet de bord que la fermeture évite

Tant que cette PR reste ouverte avec un diff vide, toute évolution ultérieure de ces cellules sur main (dont #17238) la fait basculer en diff inverse — elle deviendrait alors une PR qui annule du contenu de main. La fermer maintenant supprime ce piège.

L'issue parapluie #16762 reste ouverte (elle couvre d'autres carnets). La branche est conservée, donc rouvrable.

[RELEASED] — lane myia-po-2023:CoursIA.

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

Labels

pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant