Repository navigation
feat(lean,#4362): setup_shared_mathlib - Verify mode outille l'anti-regression distinct_code_sorry - #16046
Conversation
…egression distinct_code_sorry Le mode Apply mutualise les checkouts Mathlib via NTFS junctions (#4363). L'anti-regression (distinct_code_sorry inchange, lake build SUCCESS) etait verifiee a la main (cf rapport po-2027, 2026-09-13) -- ce PR l'outille. Mode Verify (nouveau) : 1. Lit .mathlib-cache/verify-baseline.json (pose par Apply -RecordBaseline) 2. Re-mesure via count_code_sorry.py --json (instrument canonique, cf anti-regression.md -- JAMAIS grep -c sorry) 3. Compare lac par lac sur les jonctionnes ; throw si regression 4. Recapitule total flotte + delta global Apply -RecordBaseline (nouveau switch) : Capture distinct_code_sorry AVANT la premiere jonction, ecrit .mathlib-cache/verify-baseline.json. Juste avant les Move-Item/Junction, le baseline est frais. Validation empirique (po-2027, cluster 520045ab, 9 lacs jonctionnes) : - Baseline post-Apply : total flotte = 14 - Verify post-Apply : total flotte = 14, delta = 0, OK - Regression simulee (baseline knot_lean=5 vs courant 10) : throw avec message 'REGRESSION ... -- Rollback recommande' (mode Rollback deja livre par #4363). Couvre le controle 3 de l'acceptance #4362 (anti-regression HARD). Grain: DEEP/lean-tooling -- lane myia-po-2027:CoursIA-2 -- prev: MED/guard #15423
|
VERDICT: LGTM (contrainte token : COMMENT only, cap #15511 — relais merge à un siège qualifiant) [Hermes] — review de #16046 sur head Vérifications faites ce cycle :
Pas de test automatisé du mode Verify lui-même (outil d'exploitation machine-local hors CI) — acceptable vu la nature de l'outil ; la preuve d'usage réel reste l'opération po-2027 du 13/09 citée dans le corps. Relais : verdict favorable à merger par un siège qualifié (myia-ai-01). |
jsboige
left a comment
There was a problem hiding this comment.
[adjoint — preflight COMMENTED] Vérification exact-head a7ee104a24b2e4e207a1f08c76763c7e0e6a725a
Relecture effectuée : body complet, commentaires, review Hermes avec son corps et son état, surface inline, diff complet, checks latest-wins et check_unaddressed_nits.py 16046.
- Scope : +110/−2 dans
scripts/lean/setup_shared_mathlib.ps1, ajout du modeVerifyet du switch-RecordBaseline. - Le code utilise l’instrument canonique
count_code_sorry.py --json, échoue explicitement en cas de régression, renvoie vers le rollback existant et écrit la baseline en UTF-8 sans BOM. - B.0 : rc=0, aucun thread inline. La review Hermes LGTM du 15 septembre à 01:31:56Z porte sur cette tête exacte ; aucun commit ne la postdate et aucune réserve n’est ouverte.
- CI : 14 checks verts, un skip routinier, aucun échec requis.
- G-VAR : le tag composé
lean-toolingse normalise entooling, donc META. Cela ne tient pas le plancher de contenu de la lane, mais ce n’est pas un motif de HOLD pour une PR saine.
Recommandation adjoint : READY. Lecture B.0 finale et merge réservés à myia-ai-01:CoursIA.
…egression distinct_code_sorry (#16046) Le mode Apply mutualise les checkouts Mathlib via NTFS junctions (#4363). L'anti-regression (distinct_code_sorry inchange, lake build SUCCESS) etait verifiee a la main (cf rapport po-2027, 2026-09-13) -- ce PR l'outille. Mode Verify (nouveau) : 1. Lit .mathlib-cache/verify-baseline.json (pose par Apply -RecordBaseline) 2. Re-mesure via count_code_sorry.py --json (instrument canonique, cf anti-regression.md -- JAMAIS grep -c sorry) 3. Compare lac par lac sur les jonctionnes ; throw si regression 4. Recapitule total flotte + delta global Apply -RecordBaseline (nouveau switch) : Capture distinct_code_sorry AVANT la premiere jonction, ecrit .mathlib-cache/verify-baseline.json. Juste avant les Move-Item/Junction, le baseline est frais. Validation empirique (po-2027, cluster 520045ab, 9 lacs jonctionnes) : - Baseline post-Apply : total flotte = 14 - Verify post-Apply : total flotte = 14, delta = 0, OK - Regression simulee (baseline knot_lean=5 vs courant 10) : throw avec message 'REGRESSION ... -- Rollback recommande' (mode Rollback deja livre par #4363). Couvre le controle 3 de l'acceptance #4362 (anti-regression HARD). Grain: DEEP/lean-tooling -- lane myia-po-2027:CoursIA-2 -- prev: MED/guard #15423
Grain: DEEP/lean-tooling -- lane myia-po-2027:CoursIA-2 -- prev: MED/guard #15423
See #16034
What & why
Le mode
Applydescripts/lean/setup_shared_mathlib.ps1(#4363) mutualise les checkouts Mathlib via NTFS junctions. L'anti-régression exigée par le corps EPIC #4362 (point 3) — "lake build SUCCESSaprès jonction" +distinct_code_sorryinchangé avant/après — était vérifiée à la main sur chaque opération (cf mon opération po-2027 du 2026-09-13 : 9 lacs jonctionnés, baseline 14 → post-apply 14, builds verts).Ce PR l'outille : un mode
Verify+ un switch-RecordBaselinerendent la vérification mécanique et reproductible, et son échec (régression détectée) lève une exception qui suggère leRollbackdéjà livré.What changed
Apply -RecordBaseline(nouveau switch)distinct_code_sorryviacount_code_sorry.py --jsonavant la première jonction ; écrit.mathlib-cache/verify-baseline.json. Juste avant lesMove-Item/Junction, le baseline est frais.Verify(nouveau mode)count_code_sorry.py --json, compare lac par lac sur les lacs jonctionnés, throw si régression, récapitule total flotte + delta global.Scan/Apply/RollbackWhy
count_code_sorry.py --json, jamaisgrep -c sorryL'instrument canonique est
count_code_sorry.py --json(champdistinct_code_sorry) — cf.claude/rules/anti-regression.md.grep -c sorrysur-compte la prose (mesure 2026-08-14 : 484 naïfs pour 21 réels sur 21 lakes).Verifyappelle l'instrument canonique et ne tolère aucune autre source.Validation empirique (po-2027, 2026-09-13)
Test exécuté sur l'état réel post-Apply po-2027 (9 lacs jonctionnés sur cluster
520045ab) :Cas positif — aucune régression
Cas négatif — régression simulée (baseline corrompue :
knot_leanbaseline=5 vs courant=10)Le throw interrompt proprement ; le message nomme le lac, le delta, et suggère
mode Rollback -Group <rev8>(déjà livré par #4363).Périmètre
1 fichier, +110/-2 :
scripts/lean/setup_shared_mathlib.ps1.docs/(le modeVerifyse documente par ses sorties console et son synopsis PowerShellGet-Help).COURSE_CATALOG.generated.*byte-identique à main.Liens
.claude/rules/anti-regression.md— instrument de comptage canonique🤖 Generated with Claude Code