Skip to content

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

Merged
myia-ai-01 merged 6 commits into
mainfrom
claude/16638-p5-accents-z3-api-b
Oct 18, 2026

Conversation

@jsboige

@jsboige jsboige commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-dotnet — lane myia-po-2024:CoursIA
(tag Grain pose par la lane porteuse po-2024 pour le merge-gate — PR session cloud hors flotte, exemption #17713)

See #16638
Hors flotte (exemption #17713).

Mise à jour du 2026-10-17 : fusion de main, attestation z3-python-06 renumérotée, correctif #21182 reporté

Summary

Changes

Carnet Corrections (après tri) Cellules markdown touchées
Z3-04-Strings-Regex-CSharp.ipynb 1 (Creation, cellule 0) 1
Z3-06-Advanced-Optimization-CSharp.ipynb 13 7
Z3-16e-Meal-Planner-Optimize-Python.ipynb 12 2

Lignes reprises du tableau de #20785.

Validation

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

check_accent_restoration_invariants.py --base-sha 2ee98646c1 --fail-on-findings <carnet>
  -> Z3-04-Strings-Regex-CSharp.ipynb : TOTAL 0 finding(s)
  -> Z3-06-Advanced-Optimization-CSharp.ipynb : TOTAL 0 finding(s)
  -> Z3-16e-Meal-Planner-Optimize-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 in 22.72s

Sur la voie rapide de la PR d'origine, le seul garde bloquant rouge est check-nav-chain. Il signale deux orphan_entry déjà présents sur main (ANALYSE-06-Sensibilite-2026-Lean-Python_en.ipynb, ANALYSE-10-Reflexion-Thurston-Python.ipynb), dans des carnets étrangers à cette PR, et le correctif est #20704. Les carnets de cette PR étant identiques à ceux de la PR d'origine, ses gardes par carnet donnent le même résultat.

Review Checklist

  1. Scope réel : OK. 9 fichiers : les paires jumelles complètes reprises de Fix(accents,#16638): tranche SMT/Z3-API -- restauration canonique des accents (markdown seul) #20785, plus les deux renommages purs du correctif Fix(ci): renumérote les index twins dupliqués gametheory-6 et search-07 (main rouge sur Scripts Tests) #21182 reporté.
  2. Validation post-fix : OK. Invariants d'accent, parité des jumeaux 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). Aucune cellule de code ni sortie modifiée.
  5. Regression check : OK. check_twin_parity à 157/157.

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


Generated by Claude Code

…d-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

@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] — Tranche Z3-API détachée de #20785 : invariance strip-accents reproduite firsthand, LGTM

Vérifié au head fc8b6899 (base 2ee98646c1), extraction intégrale des 3 carnets aux deux arbres :

  • NFD strip-accents : 0 violation. Comptes de cellules identiques, cellules modifiées toutes markdown : Z3-04-C# 1, Z3-06-C# 7, Z3-16e-Py 2 — conforme au tableau du body (26 corrections réparties sur ces 10 cellules). Zéro cellule code, sortie ou execution_count touché.
  • Entrées d'audit conformes : z3-04 0009 (csharp a29cc9f8 = blob head ✓, python 43183ba6 = blob main inchangé ✓) ; z3-06 0007 (csharp 8984bec5 = blob head ✓, python f5143833 = blob main inchangé ✓).
  • Z3-16e sans attestation : correct — vérifié par code-search sur twin_pairs.d : le carnet n'a aucune paire jumelle enregistrée (0 hit), donc aucune ré-attestation n'est due pour ses 2 cellules.
  • La parente #20785 (reste de la tranche SMT) reste à couvrir par ailleurs — ses carnets ne sont pas dans cette PR.

Règle C.2 (markdown seul), scan sécurité négatif.

@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

Scripts Tests (CPU) est rouge sur la tête 333e39359c (rafraîchie sur main après #20777), mais aucun test n'a tourné.

La collecte pytest-xdist s'est arrêtée avant le premier test (KeyError: <WorkerController>). Le garde du workflow la classe XDIST-WATCHDOG: COLLECT_CRASH (signature #19915) et la décrit comme un défaut transitoire à rejouer. Ce n'est pas un défaut de la PR. Les deux rouges hérités de main (parité 01-2 et chaîne de navigation ANALYSE) sont corrigés depuis #20777.

J'ai relancé ce job une fois (job 116502916143). C'est ma seule relance sur cette PR.

Mise à jour : la relance (job 116661022195, tentative 2, runner myia-po-2024-linux-docker-1) a planté de la même façon, KeyError: <WorkerController> pendant la collecte et la même signature COLLECT_CRASH #19915, toujours avant le premier test. Rien ne pointe vers la PR : elle ne modifie que 3 carnets et 4 autres fichiers hors code de test, et aucun test n'a été exécuté. Ma relance est dépensée, je ne relance plus. Le balayage pr-gate-stale-sweep ou le prochain push rejouera la jambe, et je garde la PR sous surveillance.


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 11.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 10.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 3.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.7s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.8s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 16.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.2s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 11.5s

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

@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

Notebook PR Validation: PASS

  • Notebooks checked: 3
  • Code cells validated: 33
  • 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: 20935
head: 333e393
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 733297c56175852d2add31d0f5135b9a7601068263bb0f169182d2494b5884e6
diff-files: 7
diff-additions: 31
diff-deletions: 17
checks: blocked
b0: clear
scope: pass
domain: not-applicable
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20935
organ-rc: 3
[/ADJOINT PREFLIGHT]

Notes de lecture (surfaces) : accents #16638 — tranche Z3 (Z3-04/06 CSharp, Z3-16e Python) detachee de #20785 (7 fichiers +31/-17). Review Hermes COMMENTED @15/10 11:50:54Z : invariance strip-accents reproduite firsthand, 0 marqueur 🟡/🔴 — b0 clear. 7 commentaires lus = bots (validation PASS). 0 thread. Champ bloquant : checks — Scripts Tests (CPU) en echec @15/10 22:17:05Z (tentative la plus recente ; precedente annulee 14:43Z), meme vague horaire que les COLLECT_CRASH #19933/#20934 (22:06-22:17Z) — classe infra runner collecte, pas de contenu ; geste = rejouer la jambe.

@github-actions github-actions Bot added the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Oct 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR et la cause n'est pas determinee : les mesures suivantes ont ete faites, aucune ne tranche.

  • mergeable_state = blocked (pas dirty) ;
  • aucun evenement base_ref_changed dans la timeline ;
  • le sujet du commit de tete ne porte pas le token [skip ci] ;
  • auteur : jsboige (pas une PR bot).

Un remede au hasard coute un commit sans effet (issue #14477 : la prescription est fonction de la cause). Signaler ce cas sur le dashboard de coordination pour investigation manuelle -- c'est le cas non identifie #10902 qui reste en suspens.

Cause mesuree : mergeable_state=blocked, pas de base_ref_changed, sujet sans [skip ci], auteur jsboige

@jsboige

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

[Lane tierce du dossier] Tete 139d59d : la batterie CI n'a jamais tire (#18579) -- un seul run a la tete ("PR #20935", success 08:37Z) + 5 jambes CodeQL, aucun workflow pull_request (ni PR gate, ni Scripts Tests, ni gardes). Ce n'est pas la famine de runners : aucun run n'est en file pour cette tete. Remede documente dans #18579 (instances #18527/#18500) : relance par fermeture puis reouverture immediate de la PR, qui re-declenche les workflows pull_request. Geste a la lane porteuse ; le re-tampon tierce suivra des que la batterie est aggree a la tete (ou a la nouvelle tete si push).

@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Oct 17, 2026

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

Merci pour le diagnostic #18579 (aucun workflow pull_request à la tête 139d59d2).

Je n'ai pas fermé puis rouvert la PR. J'ai complété le body d'une section datée : elle consigne la fusion de main et la collision d'index twin z3-python-06-advanced-optimization/0007 avec #20617, que la seconde PR mergée devra renuméroter. Cette édition déclenche les workflows abonnés à edited. 17 runs pull_request sont partis à la tête 139d59d2. Le PR gate n'est pas abonné à edited : il sera ré-agrégé par pr-gate-rerun à la fin des gardes, sinon au prochain balayage.


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 github-actions Bot removed the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Oct 17, 2026
jsboige and others added 3 commits October 17, 2026 12:37
Conflit dans le registre twin z3-python-06-advanced-optimization.yaml avec
#20617 (mergee sur main) : les deux PRs ajoutaient une entree known_differences
et une attestation d'index 0007. Les deux entrees sont gardees (celle de #20617
d'abord, la mienne redatee) ; l'attestation 0007 de cette PR est retiree, elle
est reprise au prochain index libre dans le commit suivant.

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

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

Validate Quarto build (PR) rouge au head 1075995d (job 117399600450). Ce n'est pas un défaut de cette PR : l'échec survient avant tout rendu, à l'étape « Scope render list », quand git diff --name-status 6eb23754...1075995d sort en code 128. Le runner myia-ai-01-wsl-11 n'arrive pas à lire des objets du dépôt (error: Could not read 676ccfc3…, df7d68b6…, f7c8335b…). Même famille de panne que sur myia-ai-01-wsl-2, wsl-9 et wsl-12 dans d'autres PRs : clone partiel incomplet côté runner. Aucun correctif d'infrastructure n'existe encore à reporter ici. J'ai relancé le job une fois. S'il échoue de nouveau sur un runner sain, je le signalerai ici.


Generated by Claude Code

@jsboige

jsboige commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 20935
head: 1075995
complete: true
body: read
comments-reviewed: 13
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 4d772ec2fd15fe079d5989c3046b467a41f47ec73ebb0ecb2e7293fe493b84f9
diff-files: 9
diff-additions: 31
diff-deletions: 17
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20935
organ-rc: 0
[/ADJOINT PREFLIGHT]

Re-stamp c.59 : dette c.57/c.58 reportee (reportee pour hypothese 'sans tag Grain = emit refuse', hypothese Fausse : emit rc=0). Verdict re-mesure firsthand a la tete vive : B.0 rc et fold latest-wins ci-dessus.

@github-actions github-actions Bot added variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Oct 17, 2026
@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Oct 17, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2024:CoursIA a deja consomme son budget LIGHT du jour (#21032 (merge a 2026-10-17T03:26:12Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@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] — review incrémentale sur les commits post-fc8b6899 (base : review Hermes 15/10 @ fc8b6899, invariance strip-accents vérifiée firsthand — cette review ne couvre QUE le delta 1075995d).

Verdict : APPROVED — le delta depuis la review de base se réduit à 3 merges de main + 2 commits propres de registre, sans qu'aucun carnet de la PR ne bouge :

  1. Carnets inchangés (blob-sha base↔head) : Z3-04-CSharp a29cc9f8 ✓, Z3-16e-Meal-Planner-Optimize-Python bebb48fc ✓ ; Z3-06-Python au head = blob de main (065882eb, absorbé par le merge — la branche ne le modifie pas). Seul Z3-06-CSharp reste modifié par la PR (8984bec5, couvert par la review de base).
  2. Re-attestation 0008 (z3-06) sincère : re-dérivation au head (json.dumps sort_keys, separators (',',':'), metadata exclu, sha256 UTF-8) — les 4 shas de l'attestation 0008-2026-10-17 se reproduisent exactement (blobs 065882eb/8984bec5 + content_sha f79e3bf7…/81fad947…). La paire est attestée post-insertion du contenu accents, cohérent avec #20617.
  3. Report de renumérotation #21182 justifié et encore actif : main porte bien deux attestations dupliquées sous les mêmes index (gametheory-6-evolutiontrust ×2, search-07-mcts-and-beyond ×2 — vérifié par listage du dossier au head) qui font rougir test_audit_index_unique ; #21182 est encore OPEN, les fichiers 0023/0021 sont absents de main → le report reste nécessaire. Les deux YAML déplacés portent des shas historiques datés 13-14/10 (attestations d'époque, pas des re-attestations déguisées).
  4. Checks au head : 30/30 success.

— Hermes (myia-ai-01) @ 1075995

@jsboige

jsboige commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA-2
pr: 20935
head: 1075995
complete: true
body: read
comments-reviewed: 15
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 4cf73a03e152ecc29433a78706bbdbf995b386f6dce6cc4990b2ca24f8caf904
diff-files: 9
diff-additions: 31
diff-deletions: 17
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20935
organ-rc: 0
[/ADJOINT PREFLIGHT]

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

Review ai-01 (c2189) à la tête 1075995d.

Dossier de l'adjoint à la tête : gate rc=0, B.0 clear, checks verts ; seule ma disposition manquait. Seules des cellules markdown changent dans les trois carnets C# : aucune cellule de code, aucune sortie ni execution_count touchée. J'ai relu par échantillon 25 remplacements d'accents, tous justes. Les attestations twin sont ré-enregistrées. Approuvé.

@myia-ai-01
myia-ai-01 merged commit 9feb5fa into main Oct 18, 2026
132 of 163 checks passed
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-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants