Skip to content

Fix(accents,#16638): tranche SMT/Z3-API -- restauration canonique des accents (markdown seul) - #20785

Merged
myia-ai-01 merged 4 commits into
mainfrom
claude/16638-p5-accents-z3-api
Oct 17, 2026
Merged

myia-ai-01 merged 4 commits into
mainfrom
claude/16638-p5-accents-z3-api

Conversation

@jsboige

@jsboige jsboige commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

See #16638
Hors flotte (exemption #17713).

Summary

  • Scission (2026-10-15) : avant la scission, le diff dépassait le seuil de pr-review-discipline §A (22 chemins pour un maximum de 15). 3 carnet(s) (Z3-04-Strings-Regex-CSharp.ipynb, Z3-06-Advanced-Optimization-CSharp.ipynb, Z3-16e-Meal-Planner-Optimize-Python.ipynb) passent dans Fix(accents,#16638): Z3-04-Strings-Regex-CSharp, Z3-06-Advanced-Optimization-CSharp, Z3-16e-Meal-Planner-Optimize-Python -- détaché de #20785 (seuil de 15 fichiers) #20935, avec les YAML parents et les entrées d'audit de leur(s) paire(s) jumelle(s) (z3-python-04-strings-regex, z3-python-06-advanced-optimization), soit 7 chemins repris à l'identique. Le commit eee6094c8c les rend ici à leur état de base. Cette PR garde 15 fichiers. Les totaux du résumé portent sur la tranche d'avant la scission. Dans les tableaux, les lignes déplacées sont marquées « → Fix(accents,#16638): Z3-04-Strings-Regex-CSharp, Z3-06-Advanced-Optimization-CSharp, Z3-16e-Meal-Planner-Optimize-Python -- détaché de #20785 (seuil de 15 fichiers) #20935 ».
  • Restauration canonique des accents français sur 10 carnets de SymbolicAI/SMT/Z3-API (cellules markdown seules) : 137 corrections de mots dans 58 cellules, toutes relues mot à mot après l'outil.
  • Deux faux positifs revertés (« Modulo Theories », nom anglais de la notion), détail dans ## Faux positifs revertés.
  • Candidats du détecteur detect_markdown_deaccent.py (auto + lexicon) sur la tranche : 512 → 376. Il reste un seul faux positif lexical (Theories, Z3-02, nom anglais).
  • Tranche partielle. 375 occurrences auto restent en prose désaccentuée, hors de la table canonique (negation, theoreme, reel, intermediaire, etc.), et quelques formes exclues par le détecteur (complete, decision, cote) restent aussi. Elles relèvent d'une passe contextuelle mot à mot, non faite ici. Cette PR ne ferme pas le stock de la série.
  • Z3-12-Real-Arithmetic-Python.ipynb n'a aucune correction après tri : laissé intact.

Changes

Mode d'écriture : seules les lignes source des cellules markdown modifiées sont réécrites, par édition textuelle (pas de re-sérialisation JSON). Sorties, métadonnées, cellules de code et fin de fichier restent identiques à origin/main.

Carnet Corrections (après tri) Cellules markdown touchées
Z3-01-Introduction-CSharp.ipynb 1 (equivalent, cellule 0) 1
Z3-01b-Style-Declaratif-Linq.ipynb 3 3
Z3-02-Sudoku-CSharp.ipynb 1 (complementaire, cellule 16) 1
Z3-03-Tactics-Python.ipynb 21 10
Z3-04-Strings-Regex-CSharp.ipynb → #20935 1 (Creation, cellule 0) 1
Z3-05-Quantifiers-Proofs-CSharp.ipynb 60 16
Z3-05-Quantifiers-Proofs-Python.ipynb 10 9
Z3-06-Advanced-Optimization-CSharp.ipynb → #20935 13 7
Z3-11-Graph-Coloring-Python.ipynb 15 8
Z3-12-Real-Arithmetic-Python.ipynb 0 (intact) 0
Z3-16e-Meal-Planner-Optimize-Python.ipynb → #20935 12 2
Total 137 58

Faux positifs revertés

Carnet Cellule Forme proposée Motif
Z3-01-Introduction-CSharp.ipynb 11 Théories « Optimization Modulo Theories » : nom anglais de la notion, laissé en anglais
Z3-02-Sudoku-CSharp.ipynb 0 Théories « Satisfiability Modulo Theories » : idem

Verdicts

# Constat Verdict Preuve
1 139 corrections proposées par restore_accents_canonical.py (table ACCENT_PAIRS) CONFIRMED, 137 appliquées après relecture tableau Changes ; relecture de chaque paire (contexte de 40 caractères)
2 Theories proposé dans Z3-01 cellule 11 et Z3-02 cellule 0 FALSE POSITIVE, revert « Modulo Theories » en anglais, section ci-dessus
3 donne (Z3-02 cellule 3 : « Le puzzle facile donne 30 indices ») signalé auto FALSE POSITIVE : verbe conjugué au présent, la forme est juste, pas de donné Z3-02-Sudoku-CSharp.ipynb cellule 3
4 type (Z3-04 cellule 8 : « dans le type ReExpr ») signalé homograph FALSE POSITIVE : mot français identique, rien à corriger Z3-04-Strings-Regex-CSharp.ipynb cellule 8
5 equivalent dans \text{ est equivalent a } (Z3-03 cellule 31, formule LaTeX) CONFIRMED, corrigé : prose française dans \text{}. Le détecteur ignore les formules, d'où un écart de 1 entre les corrections (21) et la baisse du détecteur (20) Z3-03-Tactics-Python.ipynb cellule 31
6 complete (Z3-05-Python cellules 0 et 16, « est complete et automatique » ; Z3-06-CSharp cellule 28, « est maintenant complete (6/6) ») et decision (Z3-05-Python cellule 0, « une decision algorithmique ») CONFIRMED, non corrigé : formes françaises (complète, décision) exclues par le détecteur, hors table canonique extraits des cellules ; passe contextuelle requise
7 cote (Z3-12 cellule 13, « le plus long cote est trop long ») CONFIRMED, non corrigé : côté, homographe exclu par le détecteur ; Z3-12 hors périmètre de cure (0 correction de table) Z3-12-Real-Arithmetic-Python.ipynb cellule 13
8 375 occurrences auto hors table restantes (intermediaire, negation, theoreme, reel, identite, priorite, declaratif, etc.) CONFIRMED, non corrigé : hors table canonique, à traiter mot à mot sortie detect_markdown_deaccent.py --json après cure (détail par carnet ci-dessous)

Aucune forme homographe verbe ou participe n'a été réaccentuée à tort par la table : defini (Z3-11 cellule 2, « graphe de Petersen défini ») est un participe correctement accentué.

Validation

Interpréteur des scripts : venv coursia (Python 3.12). Aucun carnet n'est exécuté : aucune cellule de code n'est modifiée (exception C.2 : markdown seul).

Mesure avant/après (detect_markdown_deaccent.py --json sur les 11 carnets de la tranche ; sommes des buckets calculées sur la sortie JSON) :

avant : auto 421 . lexicon 91 . homograph 5 . en_cognat 2
après : auto 375 . lexicon 1  . homograph 5 . en_cognat 2
Carnet auto avant -> après lexicon avant -> après
Z3-01-Introduction-CSharp 18 -> 18 1 -> 0
Z3-01b-Style-Declaratif-Linq 13 -> 13 3 -> 0
Z3-02-Sudoku-CSharp 20 -> 20 2 -> 1 (Theories, faux positif)
Z3-03-Tactics-Python 5 -> 0 15 -> 0
Z3-04-Strings-Regex-CSharp → #20935 13 -> 13 1 -> 0
Z3-05-Quantifiers-Proofs-CSharp 62 -> 40 38 -> 0
Z3-05-Quantifiers-Proofs-Python 118 -> 116 8 -> 0
Z3-06-Advanced-Optimization-CSharp → #20935 56 -> 48 5 -> 0
Z3-11-Graph-Coloring-Python 13 -> 12 14 -> 0
Z3-12-Real-Arithmetic-Python 60 -> 60 0 -> 0
Z3-16e-Meal-Planner-Optimize-Python → #20935 43 -> 35 4 -> 0

Cure canonique : restore_accents_canonical.py <carnet> --dry-run --json a proposé 139 corrections, 2 revertées (voir ci-dessus) : 137 appliquées. Compte relu sur la différence de jetons entre origin/main et la tête : 137 mots, 58 cellules.

Invariance (organe du dépôt, ruling #16638 du 2026-10-03) :

$ python scripts/notebook_tools/check_accent_restoration_invariants.py <carnet> --base-sha origin/main --fail-on-findings
TOTAL 0 finding(s) -- MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-01-Introduction-CSharp.ipynb        (rc=0)
TOTAL 0 finding(s) -- MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-03-Tactics-Python.ipynb           (rc=0)
TOTAL 0 finding(s) -- MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-11-Graph-Coloring-Python.ipynb    (rc=0)
(les 11 carnets : TOTAL 0, rc=0)

Structure (comparaison à git show origin/main:<carnet>, cellule par cellule) :

Z3-01-Introduction-CSharp.ipynb: md_cells_changed=1 code_cells=9 eof_preserved=True problems=none
Z3-01b-Style-Declaratif-Linq.ipynb: md_cells_changed=3 code_cells=7 eof_preserved=True problems=none
Z3-02-Sudoku-CSharp.ipynb: md_cells_changed=1 code_cells=7 eof_preserved=True problems=none
Z3-03-Tactics-Python.ipynb: md_cells_changed=10 code_cells=14 eof_preserved=True problems=none
Z3-04-Strings-Regex-CSharp.ipynb: md_cells_changed=1 code_cells=12 eof_preserved=True problems=none
Z3-05-Quantifiers-Proofs-CSharp.ipynb: md_cells_changed=16 code_cells=13 eof_preserved=True problems=none
Z3-05-Quantifiers-Proofs-Python.ipynb: md_cells_changed=9 code_cells=13 eof_preserved=True problems=none
Z3-06-Advanced-Optimization-CSharp.ipynb: md_cells_changed=7 code_cells=11 eof_preserved=True problems=none
Z3-11-Graph-Coloring-Python.ipynb: md_cells_changed=8 code_cells=10 eof_preserved=True problems=none
Z3-12-Real-Arithmetic-Python.ipynb: md_cells_changed=0 code_cells=8 eof_preserved=True problems=none
Z3-16e-Meal-Planner-Optimize-Python.ipynb: md_cells_changed=2 code_cells=10 eof_preserved=True problems=none
ALL OK

Le contrôle vérifie aussi : cellules de code égales, métadonnées de carnet et de cellule égales, types de cellules inchangés, nombre de cellules inchangé, aucune cellule déplacée.

nbformat : nbformat.validate passe sur 10 carnets. Z3-11-Graph-Coloring-Python.ipynb échoue sur cells[4].id ('' ne correspond pas à ^[a-zA-Z0-9-_]+$). La même validation échoue sur origin/main : le fichier de base porte deux cellules à "id": "". Défaut pré-existant, hors accents, non corrigé ici.

Contrôles relancés après le commit :

$ python scripts/notebook_tools/check_activity_leak.py --diff origin/main...HEAD
[OK] aucun passage d'activite dense ajoute (10 carnet(s) modifie(s) analyses, mentions isolees tolerees).   rc=0
$ python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main...HEAD
[OK] aucun compteur quantitatif en prose.   rc=0
$ python scripts/notebook_tools/check_papermill_ratchet.py origin/main
changed notebooks : 10
regressions       : 0   rc=0
$ python scripts/notebook_tools/check_output_failure_text.py origin/main
base origin/main -> merge-base 1cef8a550249 | 10 changed notebooks | 0 regressed   rc=0
$ python scripts/notebook_tools/check_output_collapse.py origin/main
base origin/main -> merge-base 1cef8a550249 | 10 changed notebooks | 0 flagged (advisory)   rc=0
$ python scripts/notebook_tools/check_source_collapse.py origin/main
base origin/main -> merge-base 1cef8a550249 | 10 changed notebooks | 0 flagged (advisory)   rc=0
  • check_papermill_ratchet.py étiquette BLOCK_REMOVED deux carnets (Z3-01b, Z3-11). Vérifié : ils n'ont de bloc metadata.papermill ni à la base ni en tête. L'étiquette ne porte aucune régression (regressions : 0).
  • check_kernel_drift.py : sans objet (aucune ré-exécution, aucune cellule de code modifiée).
  • check_markdown_claims_output.py --json et check_stale_claims.py --json, avant/après sur chaque carnet : mêmes constats. Par exemple Z3-05-Quantifiers-Proofs-Python FABRICATION_DETECTED avec 2 constats avant et après, Z3-16e STALE_CLAIM (cellule 19, « 11 ») avant et après. Aucun constat nouveau, tous pré-existants.

Jumeaux et traductions (git grep sur origin/main, non modifiés par cette PR) :

  • Jumeaux enregistrés dans scripts/notebook_tools/twin_pairs.d/ : Z3-01-Introduction-CSharp (z3-python-01-introduction.yaml), Z3-02-Sudoku-CSharp (z3-python-02-sudoku.yaml), Z3-03-Tactics-Python (z3-python-03-tactics.yaml), Z3-04-Strings-Regex-CSharp (z3-python-04-strings-regex.yaml), Z3-05-Quantifiers-Proofs-CSharp et -Python (z3-python-05-quantifiers-proofs.yaml), Z3-06-Advanced-Optimization-CSharp (z3-python-06-advanced-optimization.yaml).
  • Les jumeaux non touchés par cette tranche restent désaccentués, alors que leur jumeau de la paire est accentué ici. Mesure après cette PR (détecteur, buckets auto + lexicon) : Z3-01-Introduction-Python 2 auto + 12 lexicon, Z3-02-Sudoku-Python 0 + 4, Z3-03-Tactics-CSharp 4 + 18, Z3-04-Strings-Regex-Python 3 + 17, Z3-06-Advanced-Optimization-Python 111 + 4. Le coordinateur ré-atteste les paires.
  • translations/smt/z3-api.csv référence les 11 carnets. translations/** n'est pas touché. check_translation_sync.py (lecture seule) : 755 anomalies sur origin/main, 778 avec cette PR. Le delta est de +23 SRC_DRIFT : Z3-01b +3, Z3-02-CSharp +1, Z3-03-Python +7, Z3-05-Python +6, Z3-06-CSharp +6. La régénération du CSV (scripts/translation/extract_cells_to_csv.py) reste à faire par le coordinateur.
  • check_pr_translation_drift.py origin/main (advisory) : 10 carnets couverts, 0 cellule signalée.

Review Checklist

  • Scope : cure markdown seule sur 10 carnets de la tranche ; aucune cellule de code, métadonnée ou sortie modifiée (voir Structure).
  • Validation post-fix : contrôles relancés après le dernier commit (voir Contrôles relancés).
  • Cohérence pédagogique : chaque paire relue ; aucune cellule déplacée ; aucune ancre de lien ne vise un titre renommé (recherche de ](#...) dans le dossier Z3-API et les fichiers présents du worktree : aucune).
  • Exécution réelle : N/A, markdown seul, aucune cellule de code modifiée, aucune ré-exécution due (C.2).
  • Regression check : cellules de code et métadonnées égales à origin/main (Structure) ; jumeaux et CSV de traduction signalés plus haut, non modifié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

… accents (markdown seul)

Outil : scripts/notebook_tools/restore_accents_canonical.py (table ACCENT_PAIRS).
Chaque paire a ete relue mot a mot (aucune homographe verbe/participe touchee).

- 137 corrections de mots, 58 cellules markdown, 10 carnets de la tranche.
- Z3-12-Real-Arithmetic-Python.ipynb : 0 correction apres tri, laisse intact.
- 2 faux positifs revertes : "Modulo Theories" (Z3-01-Introduction-CSharp,
  Z3-02-Sudoku-CSharp), nom anglais d'une notion, laisse en anglais.
- Cellules de code, metadonnees, sorties et fin de fichier inchanges :
  edition textuelle des seules lignes `source` markdown modifiees.
- Formes hors table (cures incompletes, non traitees ici) : restent en prose
  desaccentuee, a traiter par une passe contextuelle.

See #16638

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA
…ration des accents (tranche z3-api)

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 : z3-python-01-introduction z3-python-02-sudoku z3-python-03-tactics z3-python-04-strings-regex z3-python-05-quantifiers-proofs z3-python-06-advanced-optimization

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

jsboige commented Oct 14, 2026

Copy link
Copy Markdown
Owner Author

Commit 42883a9ffb : ré-attestation des paires jumelles touchées par la restauration des accents (tranche SMT/Z3-API).

Le « Twin parity audit (#8057) » aurait rougi en DRIFT-INTRO sur 6 paire(s) : z3-python-01-introduction.yaml, z3-python-02-sudoku.yaml, z3-python-03-tactics.yaml, z3-python-04-strings-regex.yaml, z3-python-05-quantifiers-proofs.yaml, z3-python-06-advanced-optimization.yaml. Le carnet bouge sans que son jumeau bouge, et c'est voulu : le contenu de la PR ne change que la prose. Pour chaque paire, une entrée known_differences décrit le geste, puis check_twin_parity.py --update --pair est lancé en dernière opération (#8957).

Vérification locale après le commit : python scripts/notebook_tools/check_twin_parity.py --check --per-pair --base origin/main donne Total : 157 paire(s) | OK=157 INTRO=0.


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Le check Scripts Tests (CPU) est rouge sur la tête 42883a9ffb, 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, qui n'est pas dans cette PR : elle modifie des carnets Z3-API et leurs entrées de registre jumeau, et les tests de jumeaux passent dans la même jambe.
  • 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

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

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 added consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels 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

…mization partent dans une PR dediee

La PR depassait le seuil de 15 fichiers (pr-review-discipline §A). Ces
carnets, leurs YAML parents et leurs entrees d'audit sont rendus ici a leur
etat de la base de fusion 1cef8a5 et repris tels quels dans la branche
claude/16638-p5-accents-z3-api-b.

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

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Scission pour respecter le seuil de 15 fichiers de pr-review-discipline §A : la PR en modifiait 22.

Contrôles relancés sur les deux têtes :

  • check_twin_parity --check --per-pair : OK=157.
  • check_accent_restoration_invariants : 0 finding pour chaque carnet déplacé.
  • test_twin_registry_integrity : 46 passed sur la nouvelle branche.

Le body porte un bloc « Scission » en tête, et les lignes déplacées y sont marquées « → #20935 ». Les reviews déjà postées portaient sur l'ancienne tête, qui couvre les deux PRs.


Generated by Claude Code

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

PR gate est rouge sur la tête eee6094c8c, mais aucun check n'y a échoué sur le contenu.

Ses jobs enfants ont tous été annulés après 12 à 17 minutes d'attente en file, sans runner attribué et sans aucune étape exécutée (vérifié sur math-render d'une PR sœur : runner_name vide, liste d'étapes vide). C'est la saturation de la file de runners (plus de 1 600 runs en attente ce matin). PR gate ne fait que constater ces annulations.

Je ne relance pas maintenant : une relance repartirait dans la même file. Le balayage pr-gate-stale-sweep relance les jobs enfants quand des runners se libèrent, et le rafraîchissement de la branche après le merge de #20704 relancera de toute façon toute la CI de la PR.


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #20785 (Fix(accents,#16638): tranche SMT/Z3-API -- restauration canonique des accents (markdown seul)) 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.

@github-actions

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.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.9s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 6.0s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.0s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 32.7s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.7s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 19.4s

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

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Le job Detect notebook changes du workflow Notebook Execution Required (run 38758288889) est rouge sur la tête 074a48b649 sans avoir rien examiné : le checkout a échoué sur le runner myia-ai-01-wsl-7 (« RPC failed; curl 92 HTTP/2 stream 3 was not closed cleanly », « early EOF », puis « could not fetch … from promisor remote »). C'est une coupure réseau pendant le git fetch, pas un défaut de cette PR. Le job en échec a été relancé une fois.


Generated by Claude Code

@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 PR Validation: PASS

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

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA
pr: 20785
head: 074a48b
complete: true
body: read
comments-reviewed: 14
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: b231acabba04d46e3eed8b723a97bbab0d40deb886ca56a1707695e47a8f1583
diff-files: 15
diff-additions: 118
diff-deletions: 90
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20785
organ-rc: 0
[/ADJOINT PREFLIGHT]

Notes de lecture (surfaces) : tranche accents #16638 SMT/Z3-API (hors flotte #17713), markdown seul. Body documente (13 255 c.) : perimetre 15 carnets, comptes par carnet, gardes passees. 14 commentaires lus = bots uniquement (validation PASS, organ-duplication OK, path-collision) + suivi auteur. 0 review humaine/bot sur la PR — le present dossier tierce est la premiere lecture de fond des surfaces : rien en prose ne porte de reserve, b0 clear derive (aucun marqueur). Aucune cellule code/sortie concernee (markdown seul, +118/-90). Verdict machine : READY.

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

Disposition coordinateur (lane myia-ai-01:CoursIA) à la tête 074a48b6.

  • Aucune revue Hermes sur cette PR : le dossier de prévalidation tiers est la seule lecture indépendante, et l'organe le lit vert à cette tête (corps, surfaces, jambes, B.0, périmètre, domaine).
  • Contrôle coordinateur : fichiers touchés conformes au titre ; grep C.1 sur les lignes ajoutées.

J'approuve à la tête exacte.

@myia-ai-01
myia-ai-01 merged commit b0ac3f3 into main Oct 17, 2026
94 of 116 checks passed
myia-ai-01 pushed a commit that referenced this pull request Oct 18, 2026
…ization-CSharp, Z3-16e-Meal-Planner-Optimize-Python -- détaché de #20785 (seuil de 15 fichiers) (#20935)

* Fix(accents,#16638): z3-python-04-strings-regex, z3-python-06-advanced-optimization + Z3-16e-Meal-Planner-Optimize-Python.ipynb -- detache de #20785 (seuil de 15 fichiers)

Partie de la PR #20785 detachee pour la ramener sous le seuil de 15 fichiers
(pr-review-discipline §A). Fichiers repris a l'identique de sa tete 42883a9 ;
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

* Fix: re-atteste la paire twin z3-python-06 a l'index 0008 apres #20617

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

* Fix(ci): reporte la renumerotation des index twins dupliques (#21182)

main porte depuis 12:20Z deux attestations sous le meme index pour
gametheory-6-evolutiontrust et search-07-mcts-and-beyond :
test_audit_index_unique echoue et rougit Scripts Tests (CPU) sur cette PR.
Meme renommage que #21182 (0022 -> 0023, 0019 -> 0021) ; il devient
sans effet des que #21182 est sur main.

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

---------

Co-authored-by: Claude <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) 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