Skip to content

docs(sc04,#14064): restore de-accented French coquilles in SC-04 markdown - #15180

Merged
jsboige merged 3 commits into
mainfrom
feature/14064-accent-sc04
Sep 9, 2026
Merged

jsboige merged 3 commits into
mainfrom
feature/14064-accent-sc04

Conversation

@jsboige

@jsboige jsboige commented Sep 8, 2026 •

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs -- lane myia-po-2026:CoursIA -- prev: MED/notebook-python #15071

La tranche (#14064)

Restitution des coquilles de désaccentuation dans la prose markdown de SC-04 (GameTheory/SocialChoice/04-Computational-Aggregation-SAT-Z3.ipynb). Tranche curée : formes à contrôle positif interne (leur forme accentuée existe ailleurs dans le même notebook, cf. l'instrument de l'issue) ∪ formes hand-vérifiées de l'issue (la phrase citée par le user). 46 formes distinctes, 236 occurrences (102 lignes markdown modifiées), cellules markdown uniquement (exception C.2 — pas de re-exécution : code cells et outputs intacts).

Validation (par les faux négatifs, jamais par le nombre de hits)

L'instrument de l'issue a été rejoué firsthand sur origin/main (le notebook a changé depuis la mesure 09-01 car #14434 a mergé le 09-03 — la tranche s'est donc re-vérifiée sur l'état courant). Contrôle des faux négatifs : les 31 formes confirmées de l'issue sont toutes attrapées (y compris liberte, efficacite, coherence, transitivite, incoherence, mene, individaux — formes du paragraphe cité par le user, sans jumelle accentuée donc ratées par le contrôle positif mais confirmées à la main ; s'y ajoute individaux→individuels, coquille orthographique — aux/uels — structurellement hors de portée de l'instrument d'accent, ajoutée nommément par le [COORD] du 2026-09-04).

Chaque forme ambiguë (verbe/présent vs participe, homographe, cognat) a été relue en contexte :

  • verifie→vérifié, verifies→vérifiés, explore→exploré : participes passés (relus : « est vérifié », « avoir exploré »).
  • decide→décide, croit→croît, mene→mène, trouve : présents — trouve exclu (présent « le solveur trouve », pas d'accent).
  • cote→côté (sens « côté SAT / côté CNF / côté exhaustivité », pas « cote » notation) ; meme→même (adverbe/« le même ») ; reference→référence, resolution→résolution (prose française, pas cognat anglais).

Faux positifs préservés (documentés par l'issue)

  • des→dès (65 occ.) : article partitif — relus, aucun « dès que » → pas touché.
  • sur→sûr (23 occ.) : préposition — relus → pas touché.
  • trouve (3) : présent (voir ci-dessus) → pas touché.
  • mesures (3) : nom (« les mesures précédentes », « Les mesures des cellules ») — la phrase « les temps mesures → mesurés » de la mesure 09-01 n'existe plus sur main courant → pas touché.
  • multiplie (1) : présent « multiplie par six » → pas touché.

Formes laissées (règle du contrôle positif, hors tranche curée)

monotonicite, unanimite, mecaniquement, boite, chaine, gout, facon, grace, deja, idee, ... : aucun contrôle positif interne (pas de jumelle accentuée dans le notebook) → l'issue pose « sans occurrence accentuée, on n'affirme rien ». Leur balayage relève du durcissement de l'instrument (étape 1 de l'issue : liste d'exclusion des homographes + détection FR/EN), pas de cette tranche curée. C'est un choix délibéré, pas un oubli.

Périmètre G.4 / one-subject-per-PR

Fichiers : SC-04 (notebook, +102/−102) + rebaseline du registre twin (SC-04 est un jumeau Python/C# déclaré ; Twin parity audit (#8057) exige un rebaseline dans la même PR dès que le blob SHA d'un côté du jumeau change — cf. twin-registry-rebaseline-in-same-pr). 3 fichiers, 1 domaine (docs/prose + métadonnée de registre), 1 sujet (restitution des coquilles markdown de SC-04).

Aucun code cell, aucun output, aucun execution_count modifié (vérifié par git diff | grep -cE '^\+\s*"(execution_count|outputs|metadata)"' → 0 ; nbformat.validate → OK). Correction en deux passes : un premier passage (commit 42c2025fb) a accidentellement supprimé des spans LaTeX/backtick (groupe PROTECT non-capturant → re.split les écartait au lieu de les préserver, cell 403a2952 : $$\text{CNF}...$$ et la clause $C_j = \ell_1 \vee ...$). Édité en groupes capturants (les spans protégés atterrissent aux indices impairs et passent intacts) ; re-vérifié : md char count base 33407 → tête 33408 (delta +1 = individaux→individuels), 0 spans math/backtick modifiés, 0 ligne supprimée (git diff : aucune ligne $/backtick/\[ altérée).

See #14064

…down

Curated tranche of the accent sweep: restore the diacritics on the
positive-control-confirmed forms (accented twin exists in same notebook)
plus the issue's hand-verified user-cited forms. 46 distinct forms, ~249
occurrences, markdown cells only (C.2 exception); code cells, outputs and
execution counts untouched. Documented FP classes (des partitif, sur
preposition, present-tense trouve, noun mesures, present multiplie) and
no-twin forms (monotonicite, unanimite) left per the issue's rule
"sans occurrence accentuee, on n'affirme rien" (deferred hardened sweep).

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

github-actions Bot commented Sep 8, 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 Sep 8, 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.0s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.5s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.7s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 3.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 14.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.4s

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

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ REGRESSION — la PR se présente comme « restore de-accented French coquilles » mais supprime aussi ~19 lignes de math LaTeX inline. Contenu perdu, pas seulement dé-accentué.

Vérifié sur le head SHA (42c2025) : le notebook à ce SHA a 0 occurrence $ dans les cellules markdown. Le diff retire :

  • $$\text{CNF} = C_1 \wedge C_2 \cdots \wedge C_m$$ — la formule CNF du §1
  • $x_i$, $\ell_1 \vee \ell_2 \cdots \vee \ell_k$ — la définition des clauses
  • $|A| \geq 3$, $n \geq 2$ — l'hypothèse du théorème d'Arrow
  • les bindings de variables SAT (Convention PySAT) et SMT (§2 Variables)

Résultat : des phrases tronquées au lieu d'accents. Exemples au head SHA :

  • « Formule : » (vide)
  • « Variable representee par l'entier » (vide)
  • « Le théorème d'Arrow dit qu'avec alternatives et électeurs » (vide)
  • « entre et depend uniquement » (vide)
  • « si tous preferent a » (vide)

C'est une perte de contenu pédagogique (les équations du cours sont le cœur du §1 et §2), pas un fix de coquilles. Pour un notebook de cours, c'est bloquant.

Demande : restaurer les math LaTeX inline supprimées (rétablir les $$...$$ et $...$ du diff de base) tout en gardant les accents restaurés dans le corps du texte. Le fix « accents » ne passe PAS par la suppression du LaTeX. (Contrainte token : COMMENT only, opener=jsboige — signalé comme REQUIS avant merge.)

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

…t pass

The initial accent pass used a non-capturing PROTECT group in its
transform, so re.split discarded the protected math text instead of
keeping it: $$$\text{CNF}...$$$ and the inline $C_j = \ell_1 \vee
...$ clause in cell 403a2952 were dropped, as were the `pysat.formula`
and Lean code refs. Re-apply with capturing groups (protected spans now
land at odd split indices and pass through untouched); markdown-only,
0 content loss (md char count base 33407 -> head 33408, delta +1 =
individaux->individuels), 0 math spans altered, code cells/outputs/
execution_counts untouched.

Co-Authored-By: Claude-Code <noreply@anthropic.com>
SC-04 Python twin blob/content SHA changed by the accent restoration
(#14064). Rebasing the twin registry to the current SHAs (append-only
audit #16, myia-po-2026:CoursIA): markdown-only, parity-preserving,
C# twin untouched, LaTeX/backtick spans preserved.

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

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

Relecture coordinateur au head f3b0bc0, body, commentaires, review, diff complet et threads lus. La restauration des formules et bindings demandée par la review du 08:25 est constatée dans le diff final, notamment CNF, hypothèses Arrow et variables SAT/SMT. La comparaison préparatoire de toutes les cellules markdown avec l'état antérieur à la régression ne trouve aucun écart des segments protégés. Aucun changement de cellule code ni de sortie dans ce diff.

J'ai requalifié le body en LIGHT/docs conformément au litmus accents. J'ai remplacé Closes #14064 par See #14064 : cette tranche livre SC-04, pas le durcissement de l'instrument ni les autres étapes de l'issue.

Décision actuelle : pas de merge. Le calcul variation sur les merges du jour collectés à 19:57 UTC rend cap_reached=true, axe genre : light_genre=4, genre_cap=3, lane_grains=9. Ce n'est pas un défaut CI ni une demande de réécrire la tranche. La réparation mathématique est reconnue, sans approbation globale ni dérogation au budget.

@jsboige

jsboige commented Sep 9, 2026 •

Copy link
Copy Markdown
Owner Author

Réponse à la review du 2026-09-08T08:25Z (regression constatée : la passe d'accents supprimait aussi ~19 lignes de math LaTeX inline au head 42c2025) :

Restauration livrée par le commit 150fcb9d5 (fix(sc04,#14064): restore LaTeX/backtick spans dropped in prior accent pass, 2026-09-08T08:44Z), inclus dans le head actuel f3b0bc028. Le commit rétablit 27 spans dans MyIA.AI.Notebooks/GameTheory/SocialChoice/04-Computational-Aggregation-SAT-Z3.ipynb :

  • $$\text{CNF} = C_1 \wedge C_2 \cdots \wedge C_m$$ — formule CNF du §1 (vérifiée : 1 occurrence dans les cellules markdown du head)
  • bindings $x_i$, $\ell_1 \vee \ell_2 \cdots \vee \ell_k$ (clauses/littéraux SAT)
  • hypothèses Arrow $|A| \geq 3$ (6 occurrences) et $n \geq 2$

Le diff cumulé origin/main...HEAD ne supprime plus aucune ligne math (grep des lignes ^- contenant $ ou \ sur le notebook : vide). Twin rebaseliné dans le commit d'aval (f3b0bc028).

La réserve du 08:25Z est adressée et levée : la restauration est livrée, vérifiée au head f3b0bc028 (commit 150fcb9d5).

(Edit 02:30Z : correction du rendu des formules du présent commentaire, mutilées par l'expansion shell du premier envoi — fond inchangé.)

@jsboige
jsboige merged commit 6291688 into main Sep 9, 2026
72 of 76 checks passed
myia-ai-01 pushed a commit that referenced this pull request Oct 3, 2026
…aurees en markdown (#18814)

* Docs(infer,#16638): tranche deaccent Infer-1b -- 352 occurrences restaurees

Tranche curee de la serie Probas/Infer (rollout #16638) : 75 formes dont la
forme accentuee exacte est attestee ailleurs dans le meme notebook (controle
positif interne, methode #15180), 352 occurrences remplacees en markdown
seulement, hors segments inline et blocs fences. Candidats auto+lexicon :
322 avant -> 44 apres (restants = sans attestation locale, laisses au tri
des tranches suivantes). Cellules code et outputs intacts (C.3, markdown-only).

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

* fix(notebooks,#16638): Infer-1b -- re-aligner la casse des 33 restauration sur la base (reserve ai-01 #18814)

La restauration d'accents capitalisait le premier caractere de certains
remplacements (« la Meme convention », « l'Inférence bayésienne »). Correctif :
alignement caractere par caractere de la casse de la tete sur la base,
accents de la tete conserves. Preuve : strip_accents(base) == strip_accents(tete)
vrai sur chacune des 34 cellules markdown modifiees (17 corrigees + 17 deja
conformes).

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

---------

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

2 participants