Skip to content

Fix(accents,#16638): Sudoku-10, -11, -12-Z3 (deux jumeaux) -- détachés de #20780 et #20783 (seuil de 15 fichiers) - #20940

Open
jsboige wants to merge 4 commits into
mainfrom
claude/16638-p5-accents-sudoku-c
Open

jsboige wants to merge 4 commits into
mainfrom
claude/16638-p5-accents-sudoku-c

Conversation

@jsboige

@jsboige jsboige commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

See #16638
Hors flotte (exemption #17713).

Summary

Changes

Repris de #20780 :

  • Sudoku-10-ORTools-Python.ipynb : 10 corrections dans 3 cellules (15, 27, 29). Mots : deterministe, execution, cles, precedent, meme, aleatoire.
  • Sudoku-11-Choco-Python.ipynb : 20 corrections dans 11 cellules (3, 6, 9, 12, 15, 18, 23, 26, 32, 34, 38). Mots : cles / Cles (titres et puces « Points clés »), precedente (dix occurrences dans le tableau comparatif de la cellule 32).
  • Sudoku-12-Z3-CSharp.ipynb : 1 correction dans 1 cellule (25). Mot : cles. La correction theories -> théories (cellule 26, « sat-modulo-theories ») est revertée : c'est une locution anglaise (section « Faux positifs revertés » de Fix(accents,#16638): tranche Sudoku (1re moitie) -- restauration canonique des accents (markdown seul) #20780).

Repris de #20783 :

  • Sudoku-12-Z3-Python.ipynb : 10 corrections, cellules 2, 13, 18, 29, 32. Paires : Regle->Règle (2), cles->clés (2), meme->même (2), memes->mêmes, modeles->modèles, probleme->problème, theories->théories (cellule 2).

Registre de parité : YAML parents et entrées d'audit de sudoku-10-ortools et sudoku-11-choco, repris de #20780. Pour sudoku-12-z3, une ligne known_differences « sur les deux jumeaux », puis check_twin_parity.py --update --pair "Sudoku-12 Z3" en dernière opération (#8957). 10 fichiers au total.

Validation

Lancée sur le commit 4d35ad9cee (tête de cette PR), base origin/main 2ee98646c1.

check_accent_restoration_invariants.py --base-sha 2ee98646c1 --fail-on-findings <carnet>
  -> Sudoku-10-ORTools-Python.ipynb : TOTAL 0 finding(s)
  -> Sudoku-11-Choco-Python.ipynb : TOTAL 0 finding(s)
  -> Sudoku-12-Z3-CSharp.ipynb : TOTAL 0 finding(s)
  -> Sudoku-12-Z3-Python.ipynb : TOTAL 0 finding(s)
check_twin_parity.py --check --per-pair --base 2ee98646c1
  -> Total : 157 paire(s) | OK=157 INTRO=0 FIXED=0 PRE=0
pytest scripts/notebook_tools/tests/test_twin_registry_integrity.py
  -> 46 passed, 1 warning

Aucun de ces carnets n'a changé sur main depuis la base de fusion de #20780 et #20783 (1cef8a5502). Sur la voie rapide des PRs d'origine, le seul garde bloquant rouge est check-nav-chain. Il signale deux orphan_entry déjà présents sur main (carnets ANALYSE étrangers à cette PR), et le correctif est #20704.

Review Checklist

  1. Scope réel : OK. 10 fichiers : 4 carnets et le registre de leurs 3 paires jumelles.
  2. Validation post-fix : OK. Invariants d'accent, parité et tests du registre relancés sur la tête.
  3. Cohérence pédagogique : OK. Seuls des accents changent dans la prose markdown (invariance strip_accents, 0 finding).
  4. Exécution réelle : sans objet (C.2).
  5. Regression check : OK. check_twin_parity à 157/157, et l'attestation de sudoku-12-z3 porte les blobs des deux côtés.

Hors flotte : session cloud du mainteneur (exemption #17713), pas de lane ni de tag Grain.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA


Generated by Claude Code


Generated by Claude Code

… -- detache de #20780 (seuil de 15 fichiers)

Partie de la PR #20780 detachee pour la ramener sous le seuil de 15 fichiers
(pr-review-discipline §A). Fichiers repris a l'identique de sa tete 90ea1e0 ;
aucun n'a change sur main depuis sa base de fusion 1cef8a5, donc les
attestations jumelles restent valides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA
…tation a refaire sur les deux jumeaux

La paire sudoku-12-z3 etait ré-attestée deux fois, un côté chacune : côté C#
dans #20780, côté Python dans #20783, avec deux entrées 0017 concurrentes.
Les deux côtés sont réunis ici. Ce commit reprend le carnet Python de la tête
7e0315a de #20783 et retire l'attestation côté C# seul ; le commit suivant
ré-atteste la paire sur les deux jumeaux.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA
…n des deux cotes de Sudoku-12-Z3

La modification de cette PR deplace le blob SHA de carnets enregistres dans
le registre de parite. Pour chaque paire : entree known_differences qui decrit
le geste et le cote touche, puis check_twin_parity.py --update --pair en
derniere operation (cf #8957). Paires : sudoku-12-z3

check_twin_parity.py --check --per-pair --base origin/main : OK sur les
157 paires apres re-attestation.

See #16638

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA

@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] — Réunion Sudoku 10/11/12 détachée de #20780+#20783 : attestation réunie vérifiée, LGTM

Le neuf de cette PR est le registre — le contenu carnets a déjà été reviewé par mes soins aux têtes sources (j'ai approuvé #20780 le 14/10 23:40Z @90ea1e0c, commenté #20783 le 15/10 09:43Z @7e0315ae). Vérifié au head 4d35ad9c : les 4 blobs carnets sont byte-identiques à ces têtes sources (Sudoku-10 f24d8ae4, Sudoku-11 f81df117, Sudoku-12-C# 31455de7, Sudoku-12-Py 7e23b0c6) — rien de neuf à relire côté prose.

Attestation réunie sudoku-12-z3 0017-2026-10-15 : porte exactement les deux blobs du head (python 7e23b0c6… ✓, csharp 31455de7… ✓) — le conflit des entrées 0017 concurrentes de #20780/#20783 est bien résorbé (une seule entrée, les deux côtés). La ligne known_differences documente correctement l'attestation bilatérale avec --update en dernière opération (#8957).

Entrées reprises : sudoku-10-ortools 0013 (python f24d8ae4 = blob head ✓) et sudoku-11-choco 0013 (python f81df117 = blob head ✓), côtés C# non touchés (blobs main inchangés).

Règle C.2 (markdown seul), scan sécurité négatif. Convergence : la 2e moitié de #20783 restera dans la PR d'origine — son body documente déjà le recouvrement.

@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

⚠️ 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

⚠️ Stale-claim review needed: a markdown cell claims a measurement value that appears in NO committed output of the notebook. Advisory, NOT a merge gate — triage against the JSON artifact.

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.

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Sur l'avis « Prose/output review » : les signalements sont antérieurs à cette PR. J'ai lancé check_markdown_claims_output.py --json et check_stale_claims.py --json sur les carnets modifiés, à la base 2ee98646c1 puis à la tête 4d35ad9cee. Une fois les accents normalisés, les deux côtés rendent les mêmes signalements, sans aucun nouveau :

  • premier détecteur : 8 et 8 (Sudoku-11 : 5, Sudoku-12-Py : 3) ;
  • second détecteur : 7 et 7.

Cette PR ne restaure que des accents en markdown ; ces écarts sortent de son périmètre et restent tels quels ici.


Generated by Claude Code

@github-actions github-actions Bot added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 15, 2026
@github-actions

github-actions Bot commented Oct 15, 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 5.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.5s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 18.7s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.7s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 12.5s

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

@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 added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Oct 15, 2026

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Le rouge de « Always-on guards » sur cette PR vient de main : aucun des fichiers en cause n'est touché par la PR.

check-nav-chain signale deux orphan_entry, ANALYSE-10-Reflexion-Thurston-Python.ipynb et ANALYSE-06-Sensibilite-2026-Lean-Python_en.ipynb. J'ai reproduit le même résultat sur origin/main avec python scripts/notebook_tools/check_notebook_nav_chain.py --check. Le correctif est la PR #20704 : elle est approuvée par le coordinateur et aucun de ses checks n'est en échec, mais PR gate et deux autres runs y ont été annulés en file et attendent d'être relancés.

Je ne reporte pas ce correctif ici : il touche deux carnets étrangers à cette PR, dont un _en. Une fois #20704 mergée, je rafraîchirai la branche et la garde repassera au vert.


Generated by Claude Code

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Le check Scripts Tests (CPU) est rouge sur la tête 4d35ad9cee, mais l'échec ne vient pas de cette PR.

  • Seul test en échec : scripts/translation/tests/test_check_translation_parity.py::test_full_repo_state_passes_parity (1 failed, 18985 passed). Il signale un STRUCTURE_DRIFT sur la paire 01-2-GPT-5-Image-Generation / _en, que cette PR ne touche pas (elle modifie MyIA.AI.Notebooks/Sudoku/Sudoku-10-ORTools-Python.ipynb, MyIA.AI.Notebooks/Sudoku/Sudoku-11-Choco-Python.ipynb, MyIA.AI.Notebooks/Sudoku/Sudoku-12-Z3-CSharp.ipynb, MyIA.AI.Notebooks/Sudoku/Sudoku-12-Z3-Python.ipynb, scripts/notebook_tools/twin_pairs.d).
  • Cause : sur main, Tp2 #20551 a ajouté des cellules au carnet FR sans re-rendre son jumeau EN. Le test tourne sur le commit de fusion avec main, où il est rouge.
  • Correctifs existants : fix(i18n,#20551): parite EN 01-2-GPT-5-Image -- rendu T4 des cellules TP2 (main rouge Scripts Tests) #20589 et fix(translation,#20551): re-rendu EN de 01-2 GPT-5 Image -- repare la parite FR/EN rouge sur main #20777, qui re-rendent tous deux le jumeau EN. Je ne les reporte pas ici : ils modifient un carnet et un fichier de traduction, hors du périmètre de cette PR.
  • Suite : dès que l'un des deux sera mergé, je rafraîchirai la branche sur main, ce qui relancera la jambe. Relancer le job seul rejouerait le même commit de fusion, donc le même rouge.

Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 4
  • Code cells validated: 56
  • 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 commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

cell-source-parses est rouge sur la tête 64d5fa9364 sans avoir rien parsé : le job s'est arrêté au checkout, sur le runner myia-ai-01-wsl-9 (« error: Could not read » sur une série d'objets, dont 6ad03c7431, le commit de main sur lequel la branche a été rafraîchie). Aucun fichier n'a été examiné. Plusieurs runners WSL de myia-ai-01 cassent ainsi leurs checkouts depuis ce matin (wsl-2 sur #20732, #20737, #20595 et #20811 ; wsl-9 ici) : c'est un défaut de l'état git des runners, pas un défaut de cette PR. Le job en échec a été relancé une fois.


Generated by Claude Code

This branch has not been deployed

No deployments
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) variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants