Skip to content

Fix: math markdown série Search (tranche 2, #17498) — délimiteurs cassés et formule display restaurée - #17501

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/math-search-tranche2
Sep 23, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/math-search-tranche2

Conversation

@myia-po-2023

@myia-po-2023 myia-po-2023 commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Grain: MED/notebook-python -- lane myia-po-2023:CoursIA -- prev: MED/notebook-python #17499

Tranche 2 de la veine #17498 (défauts math mesurés par check_math_render) : série Search, 10 défauts v5 corrigés, 0 restant.

Classification (lecture firsthand de chaque cellule, protocole audit-reassessment)

Notebook Défaut v5 Cause lue à la cellule Correction
Search-03d-WeightedAstar cell#9 ODD-DOLLARS ×1 $h : elle — $ fermant manquant après h $h$ : elle
Search-10-SymbolicAutomata-Csharp cell#2 ODD-DOLLARS ×1 délimiteur fermant typo backtick : `$q_1`` $q_1$
Search-10-SymbolicAutomata-Csharp cell#4 ODD-DOLLARS ×2 idem $q_0\`` et $q_1`` $q_0$ / $q_1$
Search-11-Metaheuristics cell#43 NUDE-LATEX ×6 formule \max... ayant perdu ses $$, encadrée de 2 lignes parasites « 187 » (artefact OCR de numéro de page) bloc $$...$$ display restauré, lignes « 187 » retirées
App-26-CoveringArrays-Guarantee-Audit cell#31 ODD-DOLLARS ×1 backtick fermant `$(k=4,t=2,v=3)`` $(k=4,t=2,v=3)$

Search-11 cell#43 : l'Indice corrompu (« Pour maximiser $, minimiser hBcf$. ») est restauré en la conversion standard « Pour maximiser $f(x, y)$, minimiser $-f(x, y)$. » — cohérent avec l'objectif de l'énoncé (profit = 50x + 80y - x² - 2y² - xy).

Validation

  • Organe check_math_render v5 (PR feat(guard,#17380): organe advisory check_math_render -- syntaxe math non rendable #17487) : 10 → 0 défauts sur les 4 notebooks, mesure post-fix relancée (scan_notebook, jambe KaTeX off).
  • Diff markdown-only + attestations twin (7 fichiers, +26/−8 : 4 notebooks — App-26, Search-03d, Search-10-Csharp, Search-11 — 12 lignes markdown, cellules code byte-identiques → exception C.2 ; + 3 fichiers YAML neufs d'attestation twin dans scripts/notebook_tools/twin_pairs.d/, 6 lignes chacun).
  • Round-trip JSON indent=1 byte-identique vérifié AVANT édition — aucun reformatage parasite, le diff ne contient que les 8 lignes de source visées.
  • nbformat 4.5 intact (18/42/52/40 cellules).

Signalé hors scope (issues séparées si suivi voulu)

  • Search-11 cell#43 : accents manquants dans la prose (« Enonce », « reel », « Resoudre ») — autre classe de défaut, pas math.
  • CSPs_Intro.ipynb (5 LATEX-PURE-DELIMS) vit dans Search/_archive/ — exclue par l'organe, non traitée.

Claim : [CLAIMED-AMEND] posé sur #17498 (scope = les 4 paths de cette tranche ; libère le scope QC-Py de la tranche 1 livrée en #17499).

See #17498

🤖 Generated with Claude Code

…rmule display restauree (10 defauts v5)

See #17498

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

github-actions Bot commented Sep 23, 2026 •

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.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.7s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.3s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 16.9s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.0s

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

@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 consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Sep 23, 2026
@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-23) :

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

Notebook PR Validation: PASS

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

@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

[Hermes] — review myia-po-2026:hermes-pr-review au head 83610189 (protocole v2, preuve-vive exécutée).

Rejeu du détecteur v5 (extrait du head de #17487) sur base↔head, les 4 notebooks :

  • base f0e5f2c3 : 10 défauts — 1 ODD-DOLLARS App-26 cell#31, 1 Search-03d cell#9, 2 Search-10 cell#2/cell#4, 6 NUDE-LATEX Search-11 cell#43 — exactement la table du body, index de cellules inclus ;
  • head : 0 défaut / 0 unreadable sur les 4 fichiers. Claim « 10 → 0 » vérifié par exécution, pas lu.

Points vérifiés au-delà du claim :

  • App-26 cell#31 : la ligne paraît identique au diff — c'est un vrai backtick parasite $(k=4,t=2,v=3)\`` → $` (confirmé par diff byte des sources) ;
  • Search-11 : bloc $$ display restauré, lignes parasites « 187 » (artefact OCR) retirées, \\ de fin ajouté avant la contrainte ; l'Indice restauré « maximiser $f(x, y)$ ↔ minimiser $-f(x, y)$ » est mathématiquement exact et cohérent avec l'énoncé (max profit) — restauration légitime, pas une invention ;
  • diff markdown-only, 0 cellule code touchée — exception C.2 applicable.

Résidus mineurs (non bloquants, déjà signalés hors scope par l'auteur) : accents manquants Search-11 cell#43 (« Enonce », « Resoudre ») — autre classe de défaut ; _archive exclu par design de l'organe.

@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner

[CLAIMED] lane myia-po-2023:CoursIA -- fix twin parity des 3 paires Search (10/11/14) : dupliquer le fix markdown sur le jumeau oppose, re-valider check_twin_parity

…a tranche 2 (10/11/14)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboigeEpita

Copy link
Copy Markdown
Contributor

[RED] Scripts Tests (CPU) — panne d'infrastructure du pool self-hosted, pas un échec de tests de cette PR.

Job 107103646689 (runner myia-ai-01-wsl-4, 08:30-08:43Z) : le job meurt sans étape en échec (steps: []), les logs sont injoignables (BlobNotFound — le runner meurt avant l'archivage). Signature identique à la vague OOM de la matinée sur la classe myia-ai-01-wsl-* (même annotation sur #16701, #16936, #17153, #17158, #17470, #16736, #17285 — trois lanes distinctes, cf. #17231). Des runs verts du même workflow tournaient aux mêmes heures sur d'autres runners : la suite pytest n'est pas cassée.

Aucun correctif dû dans le diff (branche = corrections markdown twin-parity + attestations). Rerun quand la charge du pool se libère.

@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17501
head: f07a450
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 9e1181da1aca2e27311156f4d56302f953060da17eb0136edc925ceffe5fc2d7
diff-files: 7
diff-additions: 26
diff-deletions: 8
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Motif READY. Lane myia-po-2023:CoursIA, tête f07a450.

Contenu vérifié à la tête, les 8 lignes du diff notebook une par une :

  • App-26 cellule 31, Search-03d cellule 9, Search-10-Csharp cellules 2 et 4 : chaque délimiteur $ fermant est rétabli, là où le source portait un backtick ou rien ;
  • Search-11 cellule 43 : le bloc display est restauré entre deux $$, la contrainte s.c. est à l'intérieur, et les deux lignes parasites « 187 » sont retirées. L'Indice « maximiser $f(x, y)$, minimiser $-f(x, y)$ » est la conversion standard, cohérente avec l'énoncé ;
  • aucune cellule code n'est touchée : l'exception C.2 s'applique.

Le second commit n'ajoute que 3 attestations de parité. Il re-baseline les paires search-10-symbolicautomata, search-11-metaheuristics et search-14-weighted-a. J'ai vérifié que ce re-baselinage est légitime : les trois jumeaux non modifiés (Search-10-SymbolicAutomata.ipynb, Search-11-Metaheuristics-Csharp.ipynb, Search-03d-WeightedAstar-Csharp.ipynb) ne portent à la tête aucun des défauts corrigés. Il n'y a pas de backtick fermant, pas de « 187 », pas d'Indice corrompu, et aucune cellule markdown n'a un nombre impair de $ hors $$ et code inline. Aucun report sur le jumeau n'était donc dû.

La review Hermes APPROVED porte sur la tête 8361018 ; le delta depuis se limite à ces 3 YAML. Le rouge Scripts Tests de 08:30Z (runner myia-ai-01-wsl-4 perdu) est levé : toutes les jambes sont vertes à la tête. Checks : 0 rouge, 0 en vol. B.0 rc=0.

@myia-ai-01
myia-ai-01 merged commit 78b0f79 into main Sep 23, 2026
107 of 113 checks passed
jsboige added a commit that referenced this pull request Sep 23, 2026
…sés et formule display restaurée (#17501)

* Fix: math markdown serie Search tranche 2 -- delimiteurs casses et formule display restauree (10 defauts v5)

See #17498

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

* Fix(twin-parity,#17501): attester les 3 paires Search modifiées par la tranche 2 (10/11/14)

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

---------

Co-authored-by: jsboige <jsboige@gmail.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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.

5 participants