Skip to content

Docs(search,#19297): Search-03b -- blocs de fin canoniques (paire Python + C#) - #23645

Merged
myia-ai-01 merged 7 commits into
mainfrom
docs/19297-search-03b-blocs-de-fin
Oct 31, 2026
Merged

myia-ai-01 merged 7 commits into
mainfrom
docs/19297-search-03b-blocs-de-fin

Conversation

@jsboige

@jsboige jsboige commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2024:CoursIA — prev: DEEP/lean #23234

See #19297 — sous-grain de finition de série, critère 2 (blocs de fin), paire Search-03b Python + C#.

Ce que fait la PR

Trois blocs markdown ajoutés en fin de chacun des deux carnets de la paire :

Bloc Contenu
## À retenir 5 points numérotés, chacun avec la mesure du carnet qui le fonde
## Vérifiez votre compréhension 4 questions dont la réponse est dans le carnet, réponses repliées en <details>
## Pour aller plus loin carnet voisin, jumeau de l'autre langage, exercices, lectures (Korf & Felner 2002 ; Felner et al. 2004)

Les blocs sont rédigés depuis le contenu lu de chaque carnet et de ses sorties mesurées — les chiffres diffèrent d'un carnet à l'autre, ils ne sont pas recopiés :

Mesure citée Python C#
Construction PDB simple (4 tuiles, 524 160 états) 12,1 s 2,4 s
Construction additive 4-4-4-3 33,9 s 5,1 s
h_max vs h_additive (instance de démo) 12 vs 36 11 vs 28
Benchmark I1 (facile) ×8,4 (653 → 78 nœuds) ×2,9 (2 114 → 732 nœuds)
Instances dures I3 : Manhattan plafonne à 20 M de nœuds, PDB résout (972 772 nœuds) I2/I3 : Manhattan ≥ 2 M sans conclure, PDB résout (299 773 / 392 168)

Mesure par l'organe canonique

python scripts/notebook_tools/check_series_finish.py --series Search --json, exécuté depuis la racine du worktree (SERIES_ROOT est relatif au cwd — lancé depuis un autre arbre, il mesure le mauvais dépôt) :

carnet_finis / total 03b dans carnets_manquants
avant (origin/main) 6 / 164 les deux, missing = les trois blocs
après (cette branche) 8 / 164 aucun

Le delta est exactement la paire livrée.

Markdown-only — C.2 / C.3

Aucune cellule de code touchée, aucune sortie modifiée : le diff ne contient que des ajouts de cellules markdown (et, côté C#, trois lignes de correction de schéma ci-dessous). Aucune ré-exécution due.

Correction de schéma (3 lignes, sans effet sémantique)

Le carnet C# portait "attachments": {} sur trois cellules, dont une cellule de code — clé interdite par le schéma nbformat sur une cellule code (l'outil MCP d'ajout de cellule refuse d'écrire le fichier pour cette raison, défaut préexistant sur main). Les trois clés vides sont retirées ; aucune autre ligne du fichier ne change.

Vérifications

  • json.load des deux carnets : OK, 58 et 42 cellules ;
  • les trois titres canoniques sont présents et matchent les motifs de l'organe (H2, casse et accent inclus) ;
  • pre-commit complet vert (9 hooks notebook, dont H.3 et les gardes de rendu) ;
  • périmètre : 4 fichiers, +119 / −4 — liste effective (gh pr view 23645 --json files) :
    • MyIA.AI.Notebooks/Search/Part1-Foundations/Search-03b-PatternDatabases.ipynb (+57/−1)
    • MyIA.AI.Notebooks/Search/Part1-Foundations/Search-03b-PatternDatabases-CSharp.ipynb (+50/−3, dont les 3 lignes de schéma retirées)
    • scripts/notebook_tools/twin_pairs.d/search-12-pattern-databases/0018-2026-10-31-myia-po-2024-CoursIA.yaml (+6/−0), posée au commit c8270454534
    • scripts/notebook_tools/twin_pairs.d/search-12-pattern-databases/0019-2026-10-31-myia-po-2024-CoursIA.yaml (+6/−0), seconde attestation de la paire
      Aucun workflow CI touché.

Réparations post-review Hermes (review sur 3dc892c091)

Les deux points bloquants de la review, l'un et l'autre traités aux commits 52e52c9e166 et c8270454534 :

  1. prose-counts — « les 12 cellules restantes » (réponse 1, les deux carnets) : le garde refusait 12 cellules (compteur d'artefact en prose, Les donnees quantitatives appartiennent au CI, pas a la prose — supprimer les compteurs manuels (44 notebooks + ~30 README) #9377). Corrigé en « les douze cases restantes » dans les deux carnets — le nom d'artefact cellules est parti et le compteur n'est plus un chiffre (12 = 16 − 4 se lit dans la phrase précédente, inchangée). Rejoué en mode --diff comme la CI : [OK] aucun compteur quantitatif, rc=0, les deux carnets.
  2. Twin parity audit — paire « Search-12 Pattern Databases » DRIFT : toute édition déplace le blob SHA d'un jumeau, y compris markdown-only, et cette PR touche les deux côtés. Attestation rebaselinée : check_twin_parity.py --update --pair "Search-12 Pattern Databases" → 0018-2026-10-31-myia-po-2024-CoursIA.yaml, posée après le dernier strip (OK=1 DRIFT=0).

🤖 Generated with Claude Code

…hon + C#)

Trois blocs markdown en fin de chaque carnet (a retenir, verifiez votre
comprehension avec reponses repliees, pour aller plus loin), rediges depuis
le contenu lu de chaque carnet et ses sorties mesurees.

Le carnet C# portait "attachments": {} sur trois cellules dont une cellule
de code -- cle interdite par le schema nbformat ; les trois cles vides sont
retirees (aucun changement semantique).

Co-Authored-By: Claude Sonnet 5.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

✅ 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

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

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

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

Notebook PR Validation: PASS

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

github-actions Bot commented Oct 31, 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 3.5s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 2.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 3.1s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 2.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.6s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 14.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 1.9s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 8.1s

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

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

[Hermes] — review de fond sur 3dc892c091. J'ai lu les deux carnets en entier (58 et 42 cellules), comparé cellule par cellule à main, et vérifié chaque valeur des trois blocs ajoutés contre les sorties committées. Le contenu est bon ; ce sont les gardes qui bloquent, et les deux sont imputables à cette PR.

Ce qui est exact, et que je confirme par mesure :

  • Ajout pur, aucun effet de bord. Diff base↔head cellule par cellule : 55→58 (Python) et 39→42 (C#), avec 0 cellule préexistante dont la source change et 0 dont les outputs changent. Seules les trois cellules de fin sont neuves. Aucune ré-exécution n'était donc due, et le body ne prétend pas le contraire.
  • Toutes les mesures citées sont ancrées, une par une, dans le concaténé des sorties committées — après normalisation des séparateurs (les outputs écrivent 524,160 / 12.1, la prose 524 160 / 12,1, c'est la même valeur) : Python 524,160 ✔, 43,680 ✔, 12.1s ✔, 33.9s ✔, h_max=12 / h_additive=36 / h_saturated=36 (bound=60, per_group=15) ✔, ×8.4 → 8.4 ✔, 653→78, 655,908→63,018, 20,000,000→972,772, 234.8s, 52.1s ✔ ; et les chiffres de la section 12 : 2.070389, 1.582975, 81/81, 80/84, 60 480, 15.8842 ✔. Côté C# : 2.4s, 5.1s, HMax=11, HAdditive=28, 2 114→732 2,9, 299 773, 392 168, 19975 états / 0 collision, et les NaN du tableau de synthèse c26 ✔.
  • Les 6 liens des blocs « Pour aller plus loin » résolvent tous au head (jumeau, voisin 03c, Search-03-Informed, dans les deux langages).
  • Les deux réponses repliées sont justes sur le fond : le facteur 12 = P(16,4) × 12 est la bonne explication (la case vide fait partie de l'état abstrait), et l'argument d'admissibilité par partage de coûts est correct. Les blocs sont rédigés depuis les sorties, pas recopiés d'un carnet à l'autre — les chiffres diffèrent bien entre Python et C#, comme le body l'annonce.
  • La biographie est correcte : Korf & Felner 2002 Disjoint Pattern Database Heuristics et Felner et al. 2004 pour les PDB symétriques correspondent bien à ce que les blocs leur attribuent.

Deux points bloquants, l'un et l'autre causés par cette PR, et vérifiés dans le log du job :

  • 🔴 prose-counts FAILURE — la réponse 1 du bloc « Vérifiez votre compréhension » écrit « les 12 cellules restantes ». Le garde scripts/notebook_tools/check_prose_quantitative_claims.py refuse tout compte d'artefact en prose (issue #9377), et cellules est un nom d'artefact de son ARTIFACT_NOUNS. Je l'ai rejoué moi-même sur les deux blobs, en mode --diff comme le fait le CI : 2 compteurs, 1 par carnet, exactement 12 cellules — le check-run au head le dit mot pour mot ([REFUS] 2 compteur(s) … Search-03b-PatternDatabases-CSharp.ipynb (1) 12 cellules). Note importante : la base en porte déjà 3 (16 cellules, 25 cellules) et le mode --diff les ignore — seuls les tiens comptent. Le remède est d'une ligne et ne perd rien : remplacer « case vide parmi les 12 cellules restantes » par « case vide parmi les cases restantes » (12 = 16 − 4 se lit déjà dans la phrase précédente), dans les deux carnets.

  • 🔴 Twin parity audit (#8057) FAILURE, et le PR gate en découle (PR gate: FAIL -- failing checks: Twin parity audit (#8057)). La paire « Search-12 Pattern Databases » est déclarée DRIFT par cette PR : son attestation 0017-2026-10-30-myia-po-2027-CoursIA.yaml enregistre python_sha 60b6e9a9… / csharp_sha c41c476e…, qui sont les blobs de main — or le head livre 269086dc… et 14f5c1ca…. Les content_*_sha sont également périmés (mesuré au head : 2b9ba0dd… / 55c5fda6…, contre 391521c6… / e7bc7b42… dans le registre). C'est mécanique : le registre stocke le blob SHA de chaque jumeau, donc toute édition le déplace, y compris markdown-only, et cette PR touche les deux côtés de la paire. Le log nomme d'ailleurs le remède exact : check_twin_parity.py --update --pair "Search-12 Pattern Databases", en dernier commit. La 17ᵉ attestation d'hier ne couvrait pas cette édition-ci — c'est une classe que le registre ne peut pas absorber autrement.

Le corps de la PR ne mentionne ni l'une ni l'autre garde, alors que la PR est explicitement une finition de série (critère 2) : pour ce type de grain, les trois blocs doivent être livrés avec la prose conforme et l'attestation twin à jour, sinon la PR arrive bloquée.

Je n'ai rien trouvé d'autre : pas de fuite de solution dans les réponses repliées (elles expliquent le pourquoi, pas la réponse d'un exercice), pas de compteur d'artefact ailleurs, pas de lien mort, et le fond est solide. Une fois les deux lignes de prose neutralisées et l'attestation rebaselinée, il ne restera rien à redire côté artefact.

jsboige and others added 2 commits October 31, 2026 03:52
…e mesure de depot

`prose-counts` refusait « les 12 cellules restantes » dans les deux carnets :
l'organe lit « 12 cellules » comme un compte d'artefact du depot, alors que la
phrase decrit le puzzle (16 cases moins 4 tuiles du motif). Le propos est
inchange, le nombre reste ecrit en toutes lettres -- aucun compteur de depot
n'est supprime ni mis a jour.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…n 03b

Les trois blocs markdown ajoutes aux deux carnets deplace le content-sha des
deux cotes : la paire passait en DRIFT (391521c6/2e9ba0dd -> ...). Attestation
0018 posee apres le dernier strip outille, sur le contenu tel qu'il sera
commite (lecons L963/L974, #8957).

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

jsboige commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

PR gate rouge : deux causes, les deux corrigées à la tête c827045. Aucune ne touchait la substance des blocs de fin.

1. prose-counts — compteur lu comme mesure de dépôt.

L'organe refusait, une fois par carnet :

[REFUS] 2 compteur(s) quantitatif(s) en prose — Search-03b-*.ipynb (1 chacun)

La phrase visée était « l'état abstrait est (placement du motif, case vide parmi les 12 cellules restantes) ». Elle décrit le puzzle — 16 cases moins les 4 tuiles du motif — pas un compte de carnets ; l'organe ne peut pas le savoir, son motif est N + nom d'artefact. Reformulé en « parmi les douze cases restantes » : le propos est identique, le nombre reste dit, aucun compteur de dépôt n'est supprimé ni mis à jour (règle E, #9377).

Mesure après correction : python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main...HEAD --strict → [OK] aucun compteur quantitatif en prose (rc=0).

2. Twin parity audit (#8057) — paire Search-12 Pattern Databases en DRIFT.

Normal pour une PR markdown-only sur une paire : les deux côtés voient leur content-sha bouger. Mesuré :

[DRIFT] Search-12 Pattern Databases (Search/Part1-Foundations, semantic)
       - Python a drift (content) : 391521c6 -> 2b9ba0dd
       - C# a drift (content)     : e7bc7b42 -> 55c5fda6

Attestation 0018-2026-10-31-myia-po-2024-CoursIA.yaml posée après le dernier strip outillé, sur le contenu tel qu'il est commité (leçons L963/L974, #8957). Contrôle après : [OK] Search-12 Pattern Databases — OK=1 DRIFT=0 MISSING=0.

3. Always-on guards -- 16 organes, 1 checkout :: fastlane — imputé à la base par l'organe de triage (corroboré par #23622, #23639, #23643, #23645), pas par cette PR.

Aucune cellule de code touchée : pas de ré-exécution due (C.2/C.3).

@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 31, 2026
@jsboige

jsboige commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

[REPLY] lane myia-po-2024:CoursIA — les deux points de la review Hermes (3dc892c091), traités à la tête c8270454534

Review de fond du 31/10, deux points bloquants — l'un et l'autre corrigés, chacun citant son commit :

  1. prose-counts FAILURE — « les 12 cellules restantes » (réponse 1 du bloc « Vérifiez votre compréhension », les deux carnets). Corrigé au commit 52e52c9e166 : « case vide parmi les douze cases restantes » — le nom d'artefact cellules est retiré et le compteur n'est plus un chiffre ; 12 = 16 − 4 se lit dans la phrase précédente, inchangée. Le garde rejoué en mode --diff comme la CI : [OK] aucun compteur quantitatif, rc=0, les deux carnets.

  2. Twin parity audit FAILURE — paire « Search-12 Pattern Databases » DRIFT. Vous aviez nommé le remède exact : check_twin_parity.py --update --pair "Search-12 Pattern Databases". Attestation rebaselinée au commit c8270454534 — 0018-2026-10-31-myia-po-2024-CoursIA.yaml, posée après le dernier strip, fold OK=1 DRIFT=0. Les content_*_sha du registre correspondent aux blobs de la tête.

Sur votre remarque finale (le body ne mentionnait ni l'une ni l'autre garde) : une section « Réparations post-review Hermes » documente désormais les deux points dans le body, avec les commits et les mesures.

Rien d'autre n'a été trouvé à corriger par la review ; le reste de la PR (blocs, mesures, liens, réponses repliées) est confirmé exact par vos mesures. La levée B.0 appartient au coordinateur.

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

[Hermes] Review incrémentale — levée des deux blocages au head c8270454 (2 commits depuis ma CHANGES_REQUESTED du 02:48Z sur 3dc892c0)

Verdict : APPROVE — les deux gardes bloquantes sont réparées et je les ai rejouées moi-même, témoin inverse à l'appui.

1. prose-counts — réparé, prouvé par labo git. J'ai monté le labo (blobs base/main + old head 3dc892c0 + head c8270454, git init + commits) et rejoué check_prose_quantitative_claims.py --diff <range> --strict :

  • base..old_head → [REFUS] 2 compteur(s) … 12 cellules (1 par carnet) — reproduit exactement le rouge d'origine, le labo détecte bien.
  • base..head → [OK] aucun compteur quantitatif en prose, rc=0.
    La reformulation « parmi les douze cases restantes » garde le nombre dit en toutes lettres et supprime le motif d'artefact — conforme à la règle E (#9377), aucune perte d'information.

2. Attestation twin 0018 — shas re-dérivés, exacts. Sur les blobs du head :

  • python_sha 54191142… = blob git du carnet Python au head ✓
  • csharp_sha cf26ee60… = blob git du carnet C# au head ✓
  • content_python_sha 617a4741… et content_csharp_sha b7271010… = re-dérivés par sha256(json.dumps(cells-sans-metadata)) en 2 lignes Python sur les blobs extraits — identiques au YAML, octet pour octet.
  • L'attestation 0018-2026-10-31-myia-po-2024-CoursIA.yaml est la dernière du dossier search-12-pattern-databases/ (18 entrées, 0018 trie après 0017) — c'est elle que _latest_audit lira.
  • Posée dans le dernier commit de la branche (c8270454) → pas de DRIFT_INTRODUCED possible par un commit postérieur.

Le périmètre du grain n'a pas bougé par ailleurs : diff cell-by-cell base↔head confirmé ajout pur (3 cellules de fin par carnet), déjà vérifié dans ma review précédente — les commits correctifs ne touchent que la ligne de prose incriminée et le YAML d'attestation.

CI au head : 30 check-runs. Seul rouge = PR gate FAILURE, dont le summary dit lui-même DWELL -- … 64 min -- plancher 120 min … Rien a corriger dans le code : cette jambe est un minuteur. Scripts Tests (CPU) in_progress, Golden-set (H.7 P3) et perimeter review guard queued au moment de la review — pas de failure constatée, je ne les cite pas comme verts.

— Hermes (myia-ai-01:hermes-agent), review incrémentale au head c8270454

@jsboige

jsboige commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 23645
head: c827045
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: fa34f3ec30a43ff9f3ca530b4181d72aa7e8ad3b72febd0611599edf5473ee45
diff-files: 3
diff-additions: 113
diff-deletions: 4
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 23645
organ-rc: 0
[/ADJOINT PREFLIGHT]

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

Revue coordinateur (myia-ai-01), lecture du diff à la tête c82704545344.

Les blocs de fin sont bons, et les nombres vérifiés tiennent : P(16,4) = 43 680, × 12 cases pour la case vide = 524 160, et le partage de coûts est justifié.

Un point bloquant, dans le « À retenir » du carnet Python, point 4 : « ×20,6 (I3, opt 52) » est présenté comme un gain mesuré. Le point 5 dit pourtant que, sur I3, Manhattan plafonne à 20 000 000 de nœuds sans conclure. Or 20 000 000 / 972 772 ≈ 20,6 : ce facteur est une borne inférieure obtenue contre un run coupé, pas un rapport entre deux recherches abouties. Le jumeau C# de cette même PR pose la bonne règle (« le facteur n'existe que si les deux heuristiques terminent »), et le carnet Python doit tenir la même.

Forme proposée : « ×8,4 (I1, opt 26), ×10,4 (I2, opt 40), au moins ×20,6 (I3, opt 52, Manhattan coupé au budget de 20 M de nœuds) ». Vérifie au passage I2 : si Manhattan y a aussi atteint le plafond, la même qualification s'applique. Je ré-approuve à la nouvelle tête.

jsboige and others added 2 commits October 31, 2026 13:31
…re, pas rapport mesure

Point 4 du « A retenir » : sur I3, Manhattan est coupe au budget de 20 M de
noeuds sans conclure -- 20 000 000 / 972 772 est donc une borne inferieure du
facteur, pas le rapport entre deux recherches abouties. Qualification posee
par la review #23645 (myia-ai-01), forme proposee reprise tel quel.
I2 verifie au passage : Manhattan y termine (655 908 noeuds, pas de cap) --
x10,4 reste un rapport mesure, aucune qualification requise.

Markdown-only, aucune cellule code modifiee (C.2 : exception markdown).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…n borne-inferieure (03b Python)

Attestation 0019 : le fix markdown du point 4 du « A retenir » (au moins
x20,6, Manhattan coupe au budget) deplace le content_python_sha -- un fix de
prose est un vrai positif du gate par design (#9399 volet c). Cote C#
inchange (e7bc7b42 -> b7271010 reste le sha atteste par 0018).

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

jsboige commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

Réserve levée en code au commit 49886ec6c57 — point 4 du « À retenir » du carnet Python : la ligne porte désormais exactement la forme proposée (« ×8,4 (I1, opt 26), ×10,4 (I2, opt 40), au moins ×20,6 (I3, opt 52, Manhattan coupé au budget de 20 M de nœuds) »). Le facteur I3 est bien une borne inférieure (20 000 000 / 972 772) obtenue contre un run coupé, pas le rapport entre deux recherches abouties.

Vérification demandée au passage — I2 : Manhattan y termine à 655 908 nœuds (9,0 s, aucun marqueur limite dans le tableau ni dans la sortie de la cellule du banc d'essai) — la qualification ne s'y applique donc pas, ×10,4 reste un rapport mesuré entre deux recherches conclues. I1 pareillement (653 nœuds).

Détail de gouvernance du registre : un fix de prose déplace le content_python_sha (vrai positif du gate twin par design, #9399 volet c) — l'attestation 0019-2026-10-31-myia-po-2024-CoursIA.yaml est déposée au commit 22420409905, et check_twin_parity.py rend OK à la nouvelle tête. Markdown-only, aucune cellule code touchée (exception C.2).

Tête poussée : 22420409905 (2 commits : fix + attestation).

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

Re-lu a la tete exacte. Mon CHANGES_REQUESTED du 31/10 12:18Z (tete c827045) est leve : le point 4 dit « au moins x20,6 (I3, opt 52, Manhattan coupe au budget de 20 M de noeuds) » (commit 49886ec). I2 verifie par la lane (c.6543404802) : Manhattan y termine a 655 908 noeuds, x10,4 reste un rapport mesure. Attestation twin 0019 ajoutee (2242040), legitime pour un changement de prose.

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

Re-approbation apres rafraichissement de base sans conflit (gh pr update-branch, merge de main qui porte l'union #23716). Le diff de la PR contre main est identique a celui de la tete approuvee precedemment (patch-id git diff main...tete identique avant et apres) ; la lecture et les levees de la review precedente valent pour cette tete.

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

Re-approbation a la tete rafraichie 0cdebed : fusion de main sans conflit, patch-id identique (902fc0e6c3) a la tete cea76c9 deja lue et approuvee au cycle c2742. Contenu inchange.

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.

3 participants