Skip to content

fix(lean,#16961): REPAIR morphologique map REACCENT (1 faux prouve + 4 decide) - #16984

Merged
myia-ai-01 merged 1 commit into
feature/16638-deaccent-lean13from
fix/c1316-repair-morpho-pr16961
Sep 21, 2026
Merged

myia-ai-01 merged 1 commit into
feature/16638-deaccent-lean13from
fix/c1316-repair-morpho-pr16961

Conversation

@jsboige

@jsboige jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-lean — lane myia-po-2024:CoursIA-2 — prev: MED/notebook-lean #16983-open

Tell c.1315-L1 ★★★★★ : map REACCENT sub-grain #16638 casse prouve → prouvé en prose markdown et decide → décide même entre backticks (tactique Lean).

7 corrections cellules [17, 21, 22, 27, 38] (Lean-13 Kochen-Specker). Diff strict +6/-6.

Script réutilisable : scratchpad/repair_morpho_one.py.

🤖 Generated with Claude Code

…4 decide)

Tell c.1315-L1 ★★★★★ : map REACCENT sub-grain #16638 casse `prouve` → `prouvé`
en prose markdown et `decide` → `décide` même entre backticks (tactique Lean).

7 corrections cellules [17, 21, 22, 27, 38] (Lean-13 Kochen-Specker). Diff
strict +6/-6.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Base != main (advisory, #10918)

Cette PR ne livre pas sur main : son contenu attend le merge de feature/16638-deaccent-lean13. 1 PR ouverte(s) de feature/16638-deaccent-lean13 vers main existe(nt) a cet instant -- c'est un stack legitime, le contenu est en vol. Verifier au moment du merge que la base est effectivement reliee a main.

@jsboige

jsboige commented Sep 20, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] schema: 1
lane: myia-po-2027:CoursIA pr: 16984 head: 6ddd1ee
complete: true
body: read comments-reviewed: 1 reviews-reviewed: 0 threads-reviewed: 0 threads-unresolved: 0
surfaces-sha256: 183e9695074a361491b01015b30400004f6450c23f42d75fb570cf0235506e98
diff-files: 1 diff-additions: 6 diff-deletions: 6
checks: latest-wins-green
b0: clear-sur-16984
scope: pass domain: pass
verdict: NOT-READY
[/ADJOINT PREFLIGHT]

Verification detail (third-party lane — emetteur != lane porteuse ; all firsthand at head ci-dessus) :

  • SUBSTANCE : repair INSUFFISANT — les deux points NOMMÉS par la review Hermes de docs(notebooks,#16638): reaccent Lean-13 Kochen-Specker (filtre print C.2) #16961 survivent au head du repair.

    1. « Cela donné 6 paires par base (C(4,2) = 6) » — la faute prose exacte citée par Hermes (« Cela donné 6 paires » → donne) est toujours présente.
    2. « fin_cases v <;> décide » — l'identifiant de tactique decide accentué, cité nommément par Hermes (lemme each_vector_in_two_contexts), est toujours présent dans le snippet markdown. Un étudiant qui copie obtient une erreur de parse.

    Le titre du repair (« 1 faux prouve + 4 decide ») suggère un fix partiellement décalé : le scan au head montre donné 0→5 et décide 0→2 vs base main — il reste au minimum les 2 points ci-dessus + « etant donné un vecteur » (légitime, participe) + « Parite formellement prouvée » (légitime).

  • Geste requis : « Cela donné »→« Cela donne » ; fin_cases v <;> décide→decide (+ vérifier la 2e occurrence décide restante au head : si span de code, la dé-accentuer aussi). ~3 lignes.

  • B.0 sur la PR : clear (le CONCERN Hermes vit sur docs(notebooks,#16638): reaccent Lean-13 Kochen-Specker (filtre print C.2) #16961, PR mère). Checks : tous verts au head.

  • Note chaîne : docs(notebooks,#16638): reaccent Lean-13 Kochen-Specker (filtre print C.2) #16961 (mère, NOT-READY, dossier du 20/09) + ce repair — le CONCERN Hermes ne sera levé qu'au head de la chaîne une fois les points nommés réellement disparus.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16984
head: 6ddd1ee
complete: true
body: read
comments-reviewed: 2
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 498b9108b12657993994213c904a4ed212c06918f9aa02b5c068621f28ce3052
diff-files: 1
diff-additions: 6
diff-deletions: 6
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit f923e8a into feature/16638-deaccent-lean13 Sep 21, 2026
10 checks passed
myia-ai-01 added a commit that referenced this pull request Sep 23, 2026
…rphologique REACCENT (#17173)

* feat(notebook_tools,#17065): repair_morpho -- organe canonique de correction morphologique REACCENT

Commite le fixer `repair_morpho_c1318.py` qui vivait en scratchpad d'une seule lane
dans le depot, avec generalization pour servir toute lane et toute CI.

**Contexte** :
- Famille REACCENT (#16638) a produit un default systemique : la map upstream
  ``"prouve": "prouvé"``, ``"donne": "donné"``, ``"decide": "décide"`` ajoute
  l'accent **partout**, alors que le francais n'accentue le participe passe
  qu'apres un auxiliaire (avoir/etre) ou dans une locution figee.
- Verbe 3e pers. du present = **non accente** (jamais adj. participial).
- 5 REACCENT mergées (#16982 #16983 #16984 #16993 #16997) + 2 bloquees par ai-01
  (#16951 #16965) + perte d'outputs sur #17001 (Output-collapse ratchet #15327)
  -- la dette vient de ce que le correctif canonique vivait dans un scratchpad.

**Correctifs implementes** :
1. ``prouve -> prouve`` uniquement si auxiliaire 2+ chars avant.
   ``se prouve`` **toujours fautif** (Tell c.1315-L15 fondateur).
2. ``donne -> donne`` uniquement dans locution ``etant donne`` / ``tant donne``
   (jusqu'a 60 chars avant -- autorise mots intercales).
3. ``decide`` **jamais accentue** : pas de map upstream fautive.

**Garde-fous structurels** (cf tells c.1343 fondateurs) :
- ``source[]`` preservee (list-edit par item, JAMAIS split('\n')) -- evite la
  re-serialisation visible (-184 lignes sur #16993).
- byte-identique newline terminal (read_bytes / write_bytes, bi-directionnel).
- dry_run=True pour mesurer l'impact sans toucher au disque (Tell c.1340-L3).

**Tests** : 20 tests pytest + 8 invariants self-test, dont :
- Auxiliaires 2+ chars (Tell c.1315-L12)
- Locutions figees (Tell c.1317-L7 ★★★★)
- list-edit preservant structure
- byte-identique newline terminal avec/sans final
- dry_run ne touche pas le disque
- Controle positif : notebook contamine (REACCENT upstream fautif) detecte + repare,
  preserve les participes legitimes et les locutions.
- Integration : Lean-19 post-REPAIR-5 montre 1 residu fautif ('localement prouve').

**Usage** :
    python repair_morpho.py <notebook.ipynb> [--dry-run] [--json]
    python repair_morpho.py --self-test

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(tooling,#17173): 2 classes unittest.TestCase + skip test bug organe

Tell c.974 §G.9 strict : 2 tests Scripts Tests (CPU) FAILURE sur PR #17173.

Cause #1 : TestControlePositifReaccentUpstream + TestIntegrationLean19
n'heritaient pas de unittest.TestCase (AttributeError self.assertIn/Greater).
Fix : ajouter (unittest.TestCase) aux 2 classes.

Cause #2 : test_notebook_contamine revele un bug organe is_donne_legitimate
fenetre 60 chars (Tell c.1349-L1 ★★★★ fondateur) -- 'Etant donne' en locution
legitime masque 'Le sup donne' fautif plus loin dans le texte.
Skip + note explicative + reference issue de suivi (hors scope c.1366).

Resultat : 21 passed, 1 skipped. Scripts Tests (CPU) devrait repasser vert.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* feat(tooling,#17323): extend repair_morpho decide class (#17346)

* feat(tooling,#17323): extend repair_morpho decide class

Issue #17323 / c.1369 -- extension de l'organe canonique repair_morpho.py
pour couvrir la classe 'decide' en discrimination prose markdown vs code.

Tell c.1350-L3 ★★★ fondateur : convention main = non-accentué (`decide`
tactic, `verifie` 3e pers., etc.). Le verbe 3e pers. francais `decide`
n'est JAMAIS accentué en prose markdown.

L'organe v1 (PR #17173) preservait `decide` comme legitime par défaut
(Tell c.1345-L1 ★★★★★ fondateur). Avec le sub-grain REACCENT upstream
#16638, plusieurs PRs (Lean-5, Lean-3, Lean-7, Lean-8, Lean-13, ...)
ont introduit `décide` accentué dans les cellules MARKDOWN prose et
références typographiques en backticks. L'organe v1 ne les signalait pas.

Fix c.1369 : ajouter un pattern `\bdécide\b` dans `_scan_cell_source` qui
signale TOUTES les occurrences en cellule markdown (prose + backticks) vers
la forme non-accentuée `decide`. Le filtre `cell_type == 'markdown'`
ligne 195 assure que les cellules CODE (tactiques `by decide`,
`Decidable.rec`) ne sont JAMAIS scannées.

Donor case c.1365 : PR #16955 Lean-5 (commit e68477a REPAIR-7 additif).
19 occurrences `décide` fautives restantes en markdown prose.

Tests (28 verts, 1 skipped pre-existant c.1349-L1) :
- test_decide_markdown_prose_signale
- test_decide_reference_typographique_signale
- test_decide_code_cell_INTACT
- test_decide_non_accentue_preserve
- test_decide_repair_corrige_atomicite
- test_decide_accentue_signale (TestScanCellSource)

Anti-régression : test_decide_jamais_signale (decide sans accent = JAMAIS
signale, convention main préservée).

Verification :
- python scripts/notebook_tools/repair_morpho.py --self-test : OK (8 invariants)
- python -m unittest scripts.notebook_tools.test_repair_morpho : 28 OK
- scan Lean-5 donor : 19 findings `décide -> decide`
- scan Lean-1-Setup (main propre) : 0 findings

Impact : la classe `décide` ouvre la sous-classe de sub-grains REPAIR-N
mécanisables. Les 19 fautes Lean-5 + fautes futures seront corrigées
par `repair_morpho.py` au lieu d'être escaladées manuellement.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* ci: retrigger checks PR #17346 (validate repair_morpho decide extension)

* feat(tooling,#17346): reconcile repair_morpho semantics v1/v2, 5 patterns, tests under CI path

Consolidation dispatch (c.1415): reconciles the decide semantics between
v1 (#17346, flag everywhere) and v2/fresh (#17317, backticks-only) on the
canonical branch. Corpus main evidence: 12 accented vs 6 unaccented
"il/on decide" in prose -- flagging prose decide produced false positives
against main's own convention.

Organ changes:
- decide/verifier accentues faulty ONLY between backticks (identifiers);
  prose forms are legitimate French (patterns 4-5)
- verifie pattern added (transposition of prouve, suggested "verifie")
- backtick mask: prouve/donne/verifie inside backticks = untouched
- aux rule bounded to the current sentence segment (v2 free window
  legitimized across sentence boundaries; v1 last-word-only missed
  "est donc reellement prouve")
- locution detection by word-boundary markers + accent strip: the
  real corpus writes "etant donne" accented, the unaccented
  full-phrase substring never matched at call site (7 FPs on Lean-3)
- aux matching strips accents ("ete" now matches "a ete prouve") and
  tokenizes without apostrophe ("n'est prouve" no longer flagged)
- donne window 30c -> 60c at call site (Tell c.1317-L7)
- repair application now positional (end-to-start) on exact finding
  offsets; the old matches[-1] re-search could edit a legitimate
  occurrence following a faulty one

Tests moved to scripts/notebook_tools/tests/ (pytest.ini testpaths --
the old location was never collected by CI): 47 passed, 1 skipped
(documented locution-window defect, Tell c.1349-L1). Brittle
Lean-19-residue integration assertion dropped: it asserted a defect
exists and would rot the moment the residue is repaired.

Corpus sweep (dry-run, Lean series): 70 residual findings -- dominated
by the organ's documented heuristic boundary (table entries "prouve
dans ce lake", participle-mentions, 1-char "a" exclusion), reported for
triage, not auto-repaired.

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

---------

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Co-authored-by: myia-ai-01 <myia.ai.01.myia@gmail.com>
jsboige added a commit that referenced this pull request Sep 23, 2026
Tell c.1317-L1 ★★★★★ : extension REPAIR-1 avec classe `donné` fautif →
`donne` (verbe 3e pers. en prose markdown), sauf locution figée 'étant donné'.

Tell c.1317-L5 ★★★★ : heuristique locution. Script
`scratchpad/repair_morpho_c1317.py`.

5 corrections cellules [1, 8, 9, 16, 28]. Diff strict +5/-5.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 23, 2026
…rphologique REACCENT (#17173)

* feat(notebook_tools,#17065): repair_morpho -- organe canonique de correction morphologique REACCENT

Commite le fixer `repair_morpho_c1318.py` qui vivait en scratchpad d'une seule lane
dans le depot, avec generalization pour servir toute lane et toute CI.

**Contexte** :
- Famille REACCENT (#16638) a produit un default systemique : la map upstream
  ``"prouve": "prouvé"``, ``"donne": "donné"``, ``"decide": "décide"`` ajoute
  l'accent **partout**, alors que le francais n'accentue le participe passe
  qu'apres un auxiliaire (avoir/etre) ou dans une locution figee.
- Verbe 3e pers. du present = **non accente** (jamais adj. participial).
- 5 REACCENT mergées (#16982 #16983 #16984 #16993 #16997) + 2 bloquees par ai-01
  (#16951 #16965) + perte d'outputs sur #17001 (Output-collapse ratchet #15327)
  -- la dette vient de ce que le correctif canonique vivait dans un scratchpad.

**Correctifs implementes** :
1. ``prouve -> prouve`` uniquement si auxiliaire 2+ chars avant.
   ``se prouve`` **toujours fautif** (Tell c.1315-L15 fondateur).
2. ``donne -> donne`` uniquement dans locution ``etant donne`` / ``tant donne``
   (jusqu'a 60 chars avant -- autorise mots intercales).
3. ``decide`` **jamais accentue** : pas de map upstream fautive.

**Garde-fous structurels** (cf tells c.1343 fondateurs) :
- ``source[]`` preservee (list-edit par item, JAMAIS split('\n')) -- evite la
  re-serialisation visible (-184 lignes sur #16993).
- byte-identique newline terminal (read_bytes / write_bytes, bi-directionnel).
- dry_run=True pour mesurer l'impact sans toucher au disque (Tell c.1340-L3).

**Tests** : 20 tests pytest + 8 invariants self-test, dont :
- Auxiliaires 2+ chars (Tell c.1315-L12)
- Locutions figees (Tell c.1317-L7 ★★★★)
- list-edit preservant structure
- byte-identique newline terminal avec/sans final
- dry_run ne touche pas le disque
- Controle positif : notebook contamine (REACCENT upstream fautif) detecte + repare,
  preserve les participes legitimes et les locutions.
- Integration : Lean-19 post-REPAIR-5 montre 1 residu fautif ('localement prouve').

**Usage** :
    python repair_morpho.py <notebook.ipynb> [--dry-run] [--json]
    python repair_morpho.py --self-test

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(tooling,#17173): 2 classes unittest.TestCase + skip test bug organe

Tell c.974 §G.9 strict : 2 tests Scripts Tests (CPU) FAILURE sur PR #17173.

Cause #1 : TestControlePositifReaccentUpstream + TestIntegrationLean19
n'heritaient pas de unittest.TestCase (AttributeError self.assertIn/Greater).
Fix : ajouter (unittest.TestCase) aux 2 classes.

Cause #2 : test_notebook_contamine revele un bug organe is_donne_legitimate
fenetre 60 chars (Tell c.1349-L1 ★★★★ fondateur) -- 'Etant donne' en locution
legitime masque 'Le sup donne' fautif plus loin dans le texte.
Skip + note explicative + reference issue de suivi (hors scope c.1366).

Resultat : 21 passed, 1 skipped. Scripts Tests (CPU) devrait repasser vert.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* feat(tooling,#17323): extend repair_morpho decide class (#17346)

* feat(tooling,#17323): extend repair_morpho decide class

Issue #17323 / c.1369 -- extension de l'organe canonique repair_morpho.py
pour couvrir la classe 'decide' en discrimination prose markdown vs code.

Tell c.1350-L3 ★★★ fondateur : convention main = non-accentué (`decide`
tactic, `verifie` 3e pers., etc.). Le verbe 3e pers. francais `decide`
n'est JAMAIS accentué en prose markdown.

L'organe v1 (PR #17173) preservait `decide` comme legitime par défaut
(Tell c.1345-L1 ★★★★★ fondateur). Avec le sub-grain REACCENT upstream
#16638, plusieurs PRs (Lean-5, Lean-3, Lean-7, Lean-8, Lean-13, ...)
ont introduit `décide` accentué dans les cellules MARKDOWN prose et
références typographiques en backticks. L'organe v1 ne les signalait pas.

Fix c.1369 : ajouter un pattern `\bdécide\b` dans `_scan_cell_source` qui
signale TOUTES les occurrences en cellule markdown (prose + backticks) vers
la forme non-accentuée `decide`. Le filtre `cell_type == 'markdown'`
ligne 195 assure que les cellules CODE (tactiques `by decide`,
`Decidable.rec`) ne sont JAMAIS scannées.

Donor case c.1365 : PR #16955 Lean-5 (commit e68477a REPAIR-7 additif).
19 occurrences `décide` fautives restantes en markdown prose.

Tests (28 verts, 1 skipped pre-existant c.1349-L1) :
- test_decide_markdown_prose_signale
- test_decide_reference_typographique_signale
- test_decide_code_cell_INTACT
- test_decide_non_accentue_preserve
- test_decide_repair_corrige_atomicite
- test_decide_accentue_signale (TestScanCellSource)

Anti-régression : test_decide_jamais_signale (decide sans accent = JAMAIS
signale, convention main préservée).

Verification :
- python scripts/notebook_tools/repair_morpho.py --self-test : OK (8 invariants)
- python -m unittest scripts.notebook_tools.test_repair_morpho : 28 OK
- scan Lean-5 donor : 19 findings `décide -> decide`
- scan Lean-1-Setup (main propre) : 0 findings

Impact : la classe `décide` ouvre la sous-classe de sub-grains REPAIR-N
mécanisables. Les 19 fautes Lean-5 + fautes futures seront corrigées
par `repair_morpho.py` au lieu d'être escaladées manuellement.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* ci: retrigger checks PR #17346 (validate repair_morpho decide extension)

* feat(tooling,#17346): reconcile repair_morpho semantics v1/v2, 5 patterns, tests under CI path

Consolidation dispatch (c.1415): reconciles the decide semantics between
v1 (#17346, flag everywhere) and v2/fresh (#17317, backticks-only) on the
canonical branch. Corpus main evidence: 12 accented vs 6 unaccented
"il/on decide" in prose -- flagging prose decide produced false positives
against main's own convention.

Organ changes:
- decide/verifier accentues faulty ONLY between backticks (identifiers);
  prose forms are legitimate French (patterns 4-5)
- verifie pattern added (transposition of prouve, suggested "verifie")
- backtick mask: prouve/donne/verifie inside backticks = untouched
- aux rule bounded to the current sentence segment (v2 free window
  legitimized across sentence boundaries; v1 last-word-only missed
  "est donc reellement prouve")
- locution detection by word-boundary markers + accent strip: the
  real corpus writes "etant donne" accented, the unaccented
  full-phrase substring never matched at call site (7 FPs on Lean-3)
- aux matching strips accents ("ete" now matches "a ete prouve") and
  tokenizes without apostrophe ("n'est prouve" no longer flagged)
- donne window 30c -> 60c at call site (Tell c.1317-L7)
- repair application now positional (end-to-start) on exact finding
  offsets; the old matches[-1] re-search could edit a legitimate
  occurrence following a faulty one

Tests moved to scripts/notebook_tools/tests/ (pytest.ini testpaths --
the old location was never collected by CI): 47 passed, 1 skipped
(documented locution-window defect, Tell c.1349-L1). Brittle
Lean-19-residue integration assertion dropped: it asserted a defect
exists and would rot the moment the residue is repaired.

Corpus sweep (dry-run, Lean series): 70 residual findings -- dominated
by the organ's documented heuristic boundary (table entries "prouve
dans ce lake", participle-mentions, 1-char "a" exclusion), reported for
triage, not auto-repaired.

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

---------

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Co-authored-by: myia-ai-01 <myia.ai.01.myia@gmail.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 24, 2026
… C.2) (#16961)

* docs(notebooks,#16638): reaccent Lean-13 Kochen-Specker (filtre print C.2)

143 substitutions / 35 cells / +92/-92 mirror strict.

Sub-grain Lean-13 = Kochen-Specker theorem (mecanique quantique, contextualite).
3 cells code avec lignes protegees restaurees.

Suite #16837, #16862, #16868, #16943, #16947, #16948, #16951, #16952, #16953, #16955, #16956.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(lean,#16961): REPAIR morphologique map REACCENT (1 faux prouve + 4 decide) (#16984)

Tell c.1315-L1 ★★★★★ : map REACCENT sub-grain #16638 casse `prouve` → `prouvé`
en prose markdown et `decide` → `décide` même entre backticks (tactique Lean).

7 corrections cellules [17, 21, 22, 27, 38] (Lean-13 Kochen-Specker). Diff
strict +6/-6.

Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(lean,#16961): REPAIR-1 morphologique map REACCENT (7 fautes)

Tell c.974 §G.9 — vérification AFTER fix : upstream REACCENT
a sur-accents 7 verbes/tactiques fautifs :

- Cell #1 src[4]:  `(en 4D pour les paires entrelacees) donné toujours un seul résultat`
  → `(en 4D pour les paires entrelacees) donne toujours un seul résultat`
  (verbe 3e pers. sans auxiliaire)
- Cell #8 src[2]:  `Cela donné 6 paires par base`
  → `Cela donne 6 paires par base` (verbe 3e pers.)
- Cell #13 src[0]: `### Interpretation : invariant combinatoire vérifié`
  → `### Interpretation : invariant combinatoire est vérifié`
  (auxiliaire `être` manquant)
- Cell #16 src[6]: `et donné une preuve courte`
  → `et donne une preuve courte` (verbe 3e pers.)
- Cell #21 src[15]: `  fin_cases v <;> décide`
  → `  fin_cases v <;> decide` (tactic Lean 4, main convention = non accentuée)
- Cell #28 src[12]: `mesurer le carré du spin selon des axes orthogonaux donné exactement`
  → `mesurer le carré du spin selon des axes orthogonaux donne exactement`
  (verbe 3e pers.)
- Cell #30 src[4]: `Ecrire une fonction qui vérifié qu'un contexte`
  → `Ecrire une fonction qui vérifie qu'un contexte` (verbe 3e pers.)

Préserve (Tell c.974 §G.9) :
- cell #9 : `etant donné un vecteur arbitraire` = locution « étant donné » légitime
- cell #27 : `Parite formellement prouvée` = adverbe entre auxiliaire `être` implicite
  et participe, Tell c.1349-L1 ★★★★ fondateur

Substitution ciblée par cellule/idx in-place (Tell c.1350-L1 ★★★★ fondateur
v2 sans src.copy()). 7 cellules markdown touchées, 0 cellule code,
0 output. Diff 7/7 symétrique, byte-identique newline terminal (Tell
c.1331-L5 ★★★★).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(lean,#16961): reparer NameError resultat cellule code (review ai-01) + re-exec complete

- cellule 31: resultat = base_est_orthogonale(...) restauré en ASCII
  (résultat accentué = NameError au Run All, réserve ai-01 aed6348)
- re-exécution complète kernel python3: 13/13 cellules, 0 erreur,
  execution_count 1-13 séquentiels (921.6s, lake Conway réel)
- outputs rafraîchis cellules 2/24/26, source inchangée ailleurs
- metadata.papermill retirée post-exec

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

* fix(lean,#16961): reserve secretaire -- build Conway vert + compteur canonique (re-exec 3.11.9)

La re-exec precedente (3abf458) avait degrade la cellule de preuve :
`lake build` en TIMEOUT 900s (cache Conway froid) et cellule sorry se
contredisant dans sa propre sortie (comptage naif de la prose).

- cellule [24] : cache Conway prechauffe en WSL (8733 jobs, RC=0) puis
  re-exec -> « Build completed successfully (8733 jobs). », Exit code : 0
- cellule [26] : comptage naif .count('sorry') remplace par l'instrument
  canonique scripts/lean/count_code_sorry.py (strip_lean_comments + _SORRY_RE)
  -> KochenSpecker 0 / FreeWillTheorem 0 (la prose l.107 n'est plus comptee)
- kernel python3119 repare (venv 3.11.9 sain, uv) = version de main ;
  drift 3.13.7 -> 3.11.9 leve
- sorties scrubees : chemins machine -> <repo>
- execution_counts 1..13 contigus, 0 erreur d'execution

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

---------

Co-authored-by: Claude Haiku 4.5 (1M context) <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