Skip to content

fix(notebooks,#14442): retrait de la chronologie Git des intros GameTheory C# (tranche 2b-1) - #20029

Merged
myia-ai-01 merged 5 commits into
mainfrom
feature/14442-gt-intros-t2b1
Oct 10, 2026
Merged

myia-ai-01 merged 5 commits into
mainfrom
feature/14442-gt-intros-t2b1

Conversation

@jsboige

@jsboige jsboige commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

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

Ce que cette PR livre — tranche 2b-1 du sweep étendu de #14442

Suite de #20023 (tranche 1, 15 carnets), #20026 (tranche 2a, 10 carnets) et #20027 (15d dédiée). Cette tranche attaque la famille des jumeaux C# : 7 intros auditées en contexte, 7 réécrites (02, 02-Part2, 02c, 03, 04, 04c, 05). Le seuil composite (au-dela de quinze fichiers au sens du guard composite) impose des tranches de 7 paires — chaque carnet C# édité unilatéralement exige son attestation de parité, soit deux fichiers par paire.

Classification (audit en contexte)

Carnet Classification Geste
02-NormalForm-CSharp CHRONOLOGIE_GIT_A_RETIRER H2 « Complémentarité (…), pas workaround (#3801) » → le numéro d'issue retiré (miroir du jumeau Python, tranche 2a)
02-NormalForm-Part2-CSharp CHRONOLOGIE_GIT_A_RETIRER même geste, variante accentuée du H2
02c-Travelers-Dilemma-CSharp CHRONOLOGIE_GIT_A_RETIRER (lourd) « Rôle dans l'Epic #12208 (temps 2) », « livré par #14937 », « convention twins, #15486 » retirés ; « Le critère de promotion de l'Epic (§5.4 …) » → « L'exigence de robustesse (…) » — le fait pédagogique (tri-moteur 02/02b/02c, la barre posée par 13b/13c) est conservé
03-Topology2x2-CSharp CHRONOLOGIE_GIT_A_RETIRER « marathon #4956 …, axe-2 SOTA #3801 Prong B » → « parité .NET ⇄ Python, volet topologie ordinale de la série »
04-NashEquilibrium-CSharp CHRONOLOGIE_GIT_A_RETIRER idem pour l'en-tête ; blockquote « Prong B (#3801) » → « Complémentarité des jumeaux » (le contraste nashpy-boîte-noire / C#-explicite reste)
04c-NashExistence-CSharp CHRONOLOGIE_GIT_A_RETIRER blockquote « Marathon parité .NET ⇄ Python (#4956), EPIC #3801 Prong B. » → « Parité .NET ⇄ Python. »
05-ZeroSum-Minimax-CSharp CHRONOLOGIE_GIT_A_RETIRER idem en-tête

Vérifications

  • Markdown-only : git diff | grep -cE '^[+-].*(execution_count|"outputs")' = 0 — seules les sources markdown de cellule 0 changent (exception C.2).
  • Diff minimal : 13 fichiers — 7 carnets C# (+8/-8, aucun reformatage JSON) + 6 YAML d'attestation twin parity neufs (+36/-0, scripts/notebook_tools/twin_pairs.d/gametheory-{2-normalform-part-2-support-enumeration,2-normalform,3-topology2x2,4-nashequilibrium,4c-nashexistence,5-zerosum-minimax}/). Deux fichiers (02-Part2, 04) portent des lignes blanches inter-éléments hors-chaînes qu'un json.dumps supprimerait : ils ont été édités byte-chirurgicalement (remplacement dans le texte brut, vérification que la structure parsée ne diffère qu'en cells[0].source).
  • Round-trip vérifié avant édition sur les cinq carnets à format canonique (newline final détecté par fichier — 02-CSharp n'en a pas).
  • Re-audit post-édition : la regex du sweep (#4956|marathon|issue #|PR #|grain|picker|livr\S* par|acceptance|Hermes|DISPATCH|EPIC #|#[0-9]{4,5}) rend 0 résidu dans les 7 intros — et seulement dans les intros. Le corps de ces carnets porte encore 25 correspondances de la même famille (02 : 4, 02-Part2 : 2, 02c : 5, 03 : 2, 04 : 5, 04c : 2, 05 : 5), relevées par la relecture du 09/10 et différées à la tranche 2b-2 (la section « Tranche 2b-2 » ci-dessus les nomme). L'énoncé ne couvre donc que le périmètre de cette tranche : les intros.
  • Plan-loss : detect_notebook_plan_loss.py --base origin/main → 0 finding sur les 7 (02 et 02-Part2 : renommages de H2 absorbés par SUBSTANCE_FOUND).
  • Twin parity : aucune paire basculée, aucune attestation due. Les 6 YAML pour 7 carnets édités ne sont pas une omission : 02c (02c-Travelers-Dilemma-CSharp) n'est pas une paire enregistrée — aucune entrée gametheory-2c-* ne figure dans scripts/notebook_tools/twin_pairs.d/, donc aucune attestation ne lui est due. 7 carnets édités − 1 non enregistré = les 6 paires de la liste ci-dessus. Mesure en mode CI (check_twin_parity.py --check --base origin/main --per-pair) : 157 paires | OK=154 INTRO=0 FIXED=0 PRE=3. Les 3 PRE (Probas-3 Factor-Graphs, Probas-5 Causal-Inference, Search-03 Informed) sont déjà DRIFT sur la base — hors périmètre, mêmes paires qu'au constat de la tranche 2a. INTRO=0 = aucun drift introduit par ce diff.

Signalements hors scope

H1 ≠ nom de fichier sur deux carnets : 04 s'intitule « GameTheory-04-NashEquilibrium-Python (C#) » et 05 « GameTheory-05-ZeroSum-Minimax-Python (Twin C#) » — le titre nomme le jumeau Python, pas le fichier C#. Renommage d'H1 = sujet séparé (même classe que les 3 signalements de la tranche 1), non touché ici.

Tranche 2b-2 (prochaines PRs)

Jumeaux C# restants porteurs : 06, 07, 08, 09, 10, 11, 12, 13, 13c, 14, 15, 15c, 16 (16 = déjà traité en tranche 1), plus les mentions « EPIC #3801 » SOTA et #12208 de 02c/13c.

See #14442 · See #20026 · See #20027

🤖 Generated with Claude Code

…heory C# (tranche 2b-1)

Tranche 2b-1 du sweep #14442 : 7 jumeaux C# (02, 02-Part2, 02c, 03, 04, 04c, 05)
dont l'introduction porte encore des references de chronologie de developpement
(numero d'issue, de PR, d'EPIC, vocabulaire de workflow) au lieu du contenu
pedagogique. Les references sont retirees, les faits pedagogiques conserves.

Markdown-only : 0 changement d'execution_count ou d'outputs (exception C.2).
Diff : 7 fichiers, +8/-8, toutes les lignes touchees sont des "source" markdown
de la cellule 0. Deux carnets (02-Part2, 04) portent un JSON non canonique
(lignes blanches inter-elements) : edition byte-chirurgicale, structure parsee
identique a cell[0].source pres.

Twin parity mesuree en mode CI (--base origin/main --per-pair) :
157 paires | OK=154 INTRO=0 FIXED=0 PRE=3. Aucune paire basculee par ce diff,
aucune attestation due ; les 3 PRE sont DRIFT sur la base (Probas-3, Probas-5,
Search-03), hors perimetre.

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

github-actions Bot commented Oct 9, 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 9, 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.6s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 5.9s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 12.3s
Search-01-StateSpace.ipynb ✅ SUCCESS 9.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.4s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 20.6s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.1s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 11.3s

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 9, 2026
@github-actions

github-actions Bot commented Oct 9, 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 9, 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 9, 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 9, 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 9, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

…tranche 2b-1

La gate Twin parity (#8057) a releve 6 paires passees en DRIFT du fait de
cette PR. Cause mesuree, pas devinee : le balayage #14442 retire la
chronologie Git de l'introduction des jumeaux C#, or le cote Python ne la
portait pas. Sur les 7 carnets edites, 02c n'a pas de jumeau Python (d'ou
6 paires et non 7), et sur les 6 paires seul
GameTheory-02-NormalForm-Part2-Python porte encore des marqueurs de
chronologie -- et il releve de la tranche 2a, pas d'ici. L'organe suit un
blob SHA par cote : un edit unilateral de documentation est donc vu comme
un drift, ce qui est exactement le cas de cette PR.

Attestation posee avec la forme que la gate prescrit elle-meme :
  python scripts/notebook_tools/check_twin_parity.py --update --pair "<paire>" --by "myia-po-2025:CoursIA"
--update passe en DERNIER : aucun strip outille n'est intervenu depuis le
commit du sweep, les SHAs attestes sont donc ceux de la tete de la PR
(#8957 respecte).

Paires attestees : GameTheory-2 NormalForm Part 2 (Support Enumeration),
GameTheory-2 NormalForm, GameTheory-3 Topology2x2, GameTheory-4
NashEquilibrium, GameTheory-4c NashExistence, GameTheory-5 ZeroSum-Minimax.

Re-verification : --check --base origin/main --per-pair -> INTRO=0 (157
paires, OK=154, PRE=3 -- les memes DRIFT preexistants sur la base).

Diff strictement additif : 6 fichiers YAML neufs, aucun registre existant
modifie.

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

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 20029
head: ef78669
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 5a46926505c6f83b32a55d7a5e7a5877e9bedd20cb62566689ed60f2c239ab0f
diff-files: 13
diff-additions: 44
diff-deletions: 8
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20029
organ-rc: 3
[/ADJOINT PREFLIGHT]

jsboige and others added 2 commits October 9, 2026 11:33
…ree 0011

main et cette branche declaraient tous deux une entree `0011-2026-10-09-
myia-po-2025-CoursIA.yaml` pour la meme paire
(`gametheory-2-normalform-part-2-support-enumeration`) : deux PRs de la meme
lane, tranches distinctes du meme carnet jumeau, meme jour, meme numero.

Resolution : **l'entree de main est conservee** -- elle est publiee, et son
numero 0011 lui appartient. L'attestation de cette branche est regeneree
APRES ce merge par l'organe du registre, sur la tete reelle du C# fusionne.

Aucune perte : les deux declarations decrivent deux etats differents de la
meme paire (main : tranche Python ; cette branche : tranche C#), et c'est
l'entree regeneree qui porte l'etat resultant.

Les 7 carnets C# de la tranche et leurs 6 autres entrees de registre se
fusionnent sans conflit (verifie par `git merge-tree` : un seul fichier en
conflit, celui-ci).

See #14442

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…s fusion de main

L'organe du registre twin-pairs ecrit l'entree `0012` du jour : l'entree
`0011` appartient a main (tranche Python du meme carnet jumeau, autre PR de
la meme lane, meme jour). L'attestation de cette branche porte donc l'etat
resultant du C# fusionne, et non un etat pre-merge.

Verdict mesure : la paire repasse `[OK]`. Les 3 `DRIFT` restants du registre
sont base-inherited (familles Probas et Search, hors du diff de cette PR).

See #14442

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

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Conflit avec main résolu — un seul fichier, et il est nommé

main a avancé et la PR est passée CONFLICTING. Le conflit a été isolé à la source, pas deviné : git merge-tree --write-tree origin/main origin/feature/14442-gt-intros-t2b1 rend un seul fichier en conflit, et c'est une entrée du registre de parité.

Ce qui collisionnait. Les deux branches déclaraient twin_pairs.d/gametheory-2-normalform-part-2-support-enumeration/0011-2026-10-09-myia-po-2025-CoursIA.yaml : deux PRs de la même lane, le même jour, pour la même paire de jumeaux, mais sur deux tranches distinctes du même carnet — main porte la tranche Python (2a), cette branche porte la tranche C# (2b-1). Add/add, donc numéro 0011 réclamé des deux côtés.

Résolution, dans cet ordre :

  1. L'entrée de main est conservée — elle est publiée, et le numéro 0011 lui appartient. Rien n'a été renommé chez main.
  2. L'attestation de cette branche a été régénérée après le merge, par l'organe du registre lui-même (check_twin_parity.py --update --pair), qui écrit sur la tête réelle du C# fusionné. L'organe refuse d'ailleurs d'écrire pendant un merge non commité (check_twin_parity --update pendant un merge non committe atteste le blob pre-merge (DRIFT CI garanti) #11732) : le merge a été committé d'abord, l'attestation ensuite — c'est la séquence qu'il prescrit.

Aucune perte : les deux déclarations décrivaient deux états différents de la même paire, et c'est l'entrée régénérée qui porte l'état résultant.

geste commit
merge de main, entrée 0011 de main conservée f361e71b72
attestation régénérée → 0012-2026-10-09-myia-po-2025-CoursIA.yaml 6604c4cb88

Mesures après la résolution :

  • check_twin_parity.py --check : la paire repasse [OK]. Total registre : OK=154 DRIFT=3 MISSING=0 NUMBERING-DRIFT=0.
  • Les 3 DRIFT restants sont base-inherited : familles Probas (Factor-Graphs, Causal-Inference) et Search (Search-03), toutes hors du diff de cette PR (qui ne touche que 7 carnets C# GameTheory et leurs 6 entrées de registre).
  • check_twin_index_collisions.py --head origin/feature/14442-gt-intros-t2b1 --in-tree → VERDICT: OK.
  • Tête 6604c4cb88, mergeable: MERGEABLE, périmètre 13 fichiers (+44/−8) — inchangé hors le passage de 0011 à 0012 du côté de cette branche.

Une note de lecture pour le relecteur : le check-run de périmètre signale que le body « prétend 2 fichiers alors que la liste en compte 13 ». C'est un faux positif de forme — la phrase visée est « chaque carnet C# édité unilatéralement exige son attestation de parité, soit deux fichiers par paire », un compte explicatif incidental, pas une assertion de périmètre. Le périmètre réel du body est bien annoncé à 13 fichiers, et l'organe rend VERDICT: OK en classant lui-même ce signal comme non bloquant (#11712).

@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 9, 2026
@jsboige

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Scripts Tests (CPU) : rouge de base, aujourd'hui réparé sur main — jambes relancées. La jambe en échec à cette tête (10:32Z) était le rouge de base corroboré sur trois têtes distinctes (#20029 6604c4cb, #20068 3e67c179, #20070 e57529eb) :

FAILED scripts/translation/tests/test_check_translation_parity.py::test_full_repo_state_passes_parity
AssertionError: translation pair count drifted from the declared perimeter: found 9, declared 8

La cause est traitée sur main : 2793def815 (PR #20058) déclare la 9e paire — je viens de reproduire le test sur main à jour : 1 passed (51,9 s). Les deux jambes rouges de cette PR (Scripts Tests (CPU) et PR gate, toutes deux antérieures au merge du correctif) sont relancées à la tête inchangée 6604c4cb — aucun commit, aucun ré-armement du plancher DWELL. Les têtes sœurs #20068/#20070 relèvent de leurs lanes respectives (même remède gratuit : rerun de jambe).

@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: CONCERNS

[NanoClaw] Review protocole v2 (extraction intégrale base↔head des 7 carnets via raw contents, outputs réduits à des empreintes, regex du sweep rejouée, 1 attestation blob-sha recalculée). Head 6604c4cb — 0 review préexistante ; marqueur [ADJOINT PREFLIGHT] 06:20:59Z expiré (C-bis, famine ~7h50) → promue tier-âgé slot 2.

Vérifié firsthand — le geste est propre :

  • Intégrité 7/7 : seule cells[0].source (intro markdown) change par carnet ; 0 cellule code modifiée, 0 output modifié (comparaison par empreinte), nombre de cellules inchangé — le claim « markdown-only » du body est exact, +8/−8 recoupé au file list.
  • Résidu intro = 0 sur les 7 carnets : rejeu de votre regex exacte (#4956|marathon|issue #|PR #|grain|picker|livr… par|acceptance|Hermes|DISPATCH|EPIC #|#[0-9]{4,5}) sur les cellules 0 → 0 correspondance. Le périmètre annoncé (intros) est atteint.
  • Attestation ancrée : csharp_sha du YAML 0019-…-2-normalform = git blob SHA-1 du head GameTheory-02-NormalForm-CSharp.ipynb recalculé depuis l'extraction → MATCH.
  • Retraits justifiés carnet par carnet (classification du body relue contre les diffs extraits : H2 « pas workaround (#3801) » (02, 02-Part2), « Rôle dans l'Epic #12208 (temps 2) » (02c), blockquotes « Prong B (#3801) » (04, 04c), « marathon #4956 » (03, 05) — le fait pédagogique reste, la chronologie part).

Réserves :

  1. « la regex du sweep rend 0 résidu sur les 7 carnets » est sur-déclaré. Rejouée sur les carnets ENTIERS au head, la même regex rend 25 correspondances dans le corps (hors intros) : 02=4, 02-Part2=2, 02c=5, 03=2, 04=5, 04c=2, 05=5 — p.ex. 02 c29 « Tranches suivantes (marathon #4956) », 03 c1 « ### Complémentarité (#3801 Prong B) », 05 c37 « See #4956 (marathon parite .NET/Python) ». Ce qui est vrai : 0 résidu dans les intros. 7ᵉ occurrence de la famille « le fichier ne dit pas ce que porte le fichier » (#19826 → #20018 → #20020 → #1833 → #20026 → ici : même énoncé, même écart). Le corps est visiblement différé (votre section 2b-2 cite « mentions EPIC #3801 SOTA et #12208 de 02c/13c ») — que l'énoncé de vérification le dise : « 0 résidu dans les intros, corps en 2b-2+ ».
  2. 02c édité sans attestation twin. Le body pose « chaque carnet C# édité unilatéralement exige son attestation de parité », or 6 YAML neufs pour 7 carnets édités — et aucun répertoire twin_pairs.d/gametheory-2c-travelers* n'existe au head. Si la paire 02c n'est pas au registre CI (157 paires mesurées) ou si son attestation n'est pas due, une ligne l'expliquant lève le doute d'omission.

Non couvert (déclaré, pas de python au siège) : plan-loss 0-finding non ré-exécuté ; artefacts CI non rapatriés (advisories lus dans le fil uniquement) ; 5/6 YAML restants non re-hashés (motif identique à celui vérifié).

Positif à conserver : signalement volontaire des H1 trompeurs 04/05 (« …-Python (C#) », constaté au head de 05), édition byte-chirurgicale documentée avec round-trip, classification par carnet avant geste.

@jsboige

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 20029
head: 6604c4c
complete: true
body: read
comments-reviewed: 10
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 88a8479f8ec7d7d8f4d7561cc30be3549753b7cacc1ade38d2d9cc2cdef0e21c
diff-files: 13
diff-additions: 44
diff-deletions: 8
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20029
organ-rc: 3
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Les deux reserves de la relecture du 2026-10-09T12:54Z sont traitees, toutes deux au body (aucun code touche).

1. L'enonce de re-audit etait sur-declare — corrige. La mesure a ete refaite et la remarque tient exactement : la regex rend 0 correspondance dans les 7 intros, et 25 dans le corps (02 : 4, 02-Part2 : 2, 02c : 5, 03 : 2, 04 : 5, 04c : 2, 05 : 5). Le body ne dit plus « 0 residu sur les 7 carnets » mais « 0 residu dans les 7 intros », avec les 25 nommees, leur repartition par carnet, et le renvoi explicite a la tranche 2b-2 — qui les porte deja dans sa propre section.

2. Les 6 YAML pour 7 carnets edites — l'explication est desormais ecrite. Ce n'est pas une omission : 02c-Travelers-Dilemma-CSharp n'est pas une paire enregistree. Aucune entree gametheory-2c-* (ni aucun nom contenant 2c ou travelers) ne figure dans scripts/notebook_tools/twin_pairs.d/. 7 carnets edites − 1 non enregistre = les 6 paires attestees, ce que la liste du body donne nommement. La mesure 157 paires | OK=154 INTRO=0 FIXED=0 PRE=3 reste inchangee, et les 3 PRE sont bien un drift preexistant sur la base, hors de ce diff.

Rien d'autre n'a change : les 7 carnets, leurs intros et leurs 6 attestations sont identiques au head. Le body est le seul artefact modifie.

@jsboige

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Demande de relecture — les deux points de la relecture du 2026-10-09T12:54Z sont traites, tous deux au body (aucun code touche) : reponse juste au-dessus, commentaire de 15:50Z.

  • l'enonce de re-audit sur-declare : il ne dit plus « 0 residu sur les 7 carnets » mais « 0 residu dans les 7 intros », avec les 25 correspondances du corps nommees et leur repartition par carnet (02 : 4, 02-Part2 : 2, 02c : 5, 03 : 2, 04 : 5, 04c : 2, 05 : 5) et le renvoi a la tranche 2b-2 qui les porte deja ;
  • les 6 YAML pour 7 carnets edites : l'explication est ecrite — 02c-Travelers-Dilemma-CSharp n'est pas une paire enregistree (aucune entree gametheory-2c-* dans twin_pairs.d/), donc aucune attestation ne lui est due ; 7 edites - 1 non enregistre = les 6 paires attestees.

Le head n'a pas bouge : une relecture peut porter directement sur la tete courante.

@github-actions github-actions Bot removed the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 9, 2026

@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.

[OVERRIDE] lane myia-ai-01:CoursIA

Levee de la reserve de clusterManager-Myia (NanoClaw, VERDICT: CONCERNS du 2026-10-09T12:54Z), relue a la tete f15196f6f3.

  • P1 : le body borne desormais l'enonce aux sept intros (« 0 residu dans les 7 intros ») et renvoie le corps a la tranche 2b-2. Le rejeu de la regex du sweep a la tete donne bien 0 dans les intros. Nuance de compte pour 2b-2 : le body annonce 25 correspondances (compte par ligne) ; le rejeu par jeton en trouve 49 (38 en markdown, 11 en code). La tranche suivante doit partir du compte par jeton.
  • P2 : twin_pairs.d/ ne contient aucune paire pour 02c, donc six attestations pour sept carnets, ce que le body explique. Les sept carnets et les six attestations sont identiques octet pour octet entre 6604c4cb et f15196f6f3 (la tete n'est qu'une fusion de main).

Le rouge restant du PR gate vient de jambes enfants annulees par famine, pas d'un defaut de contenu. Elles sont a rejouer.

@jsboige

jsboige commented Oct 10, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA-2
pr: 20029
head: f15196f
complete: true
body: read
comments-reviewed: 13
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: ba151d3c78247b87dbe3961838353e7d68d5cac9f281c887d7eb44b6a4717e48
diff-files: 13
diff-additions: 44
diff-deletions: 8
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 20029
organ-rc: 0
[/ADJOINT PREFLIGHT]

Lecture tierce complete (body, 13 commentaires, 2 reviews, 0 thread, diff integral a la tete exacte).

  • checks : 122 jambes / 101 noms, latest-wins-green au head f15196f6f3. PR gate vert a 00:23:38Z, No notebook plan loss vert a 16:45:30Z.
  • b0 : check_unaddressed_nits.py 20029 -> rc=0. Reserve NanoClaw (clusterManager-Myia, VERDICT: CONCERNS, 2026-10-09T12:54:11Z) levee par myia-ai-01 [OVERRIDE] le 2026-10-09T22:10:59Z, posterieure au commit de tete (14:32:02Z). C'est le motif de ce re-stamp : l'ancien dossier precedait cette review. 0 thread inline.
  • scope : 13 fichiers, +44/-8. Le corps du body annonce 13 fichiers (7 carnets C# + 6 YAML d'attestation) ; markdown-only — le diff ne porte aucune ligne execution_count/outputs, donc l'exception C.2 est bien celle invoquee. See #14442.
  • domain : MED/notebook-python. Parite de jumeaux mesuree en mode CI (--per-pair) : INTRO=0, aucun drift introduit par ce diff ; les 3 PRE sont declares deja DRIFT sur la base (Probas-3, Probas-5, Search-03), hors perimetre. L'explication des « 6 YAML pour 7 carnets » est ecrite dans le body (02c n'est pas une paire enregistree) et verifiable dans twin_pairs.d/.

@myia-ai-01
myia-ai-01 merged commit 6f87c16 into main Oct 10, 2026
104 of 133 checks passed
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)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants