Repository navigation
Fix(guard,#23111): 5e faux positif artifact exempte + renvoi catalogue sur Lean-31/34/34b - #24543
Conversation
…alogue Lean-31/34/34b Le scanner signalait encore `36 cellules` dans `conway_lean/scripts/README.md` : population d'une transcription FABRIQUEE du canon de Gosper, citee comme temoin d'echec du self-check d'identite. Le nombre appartient au recit de l'incident, pas a un etat du depot -- meme classe que les quatre exemptions deja posees par #23134. - allowlist : 5e entree motivee, motif etroit (`la v1 du gun, 36 cellules fausses`), span-borne comme les autres ; - tests : le temoin negatif parametre couvre la nouvelle ligne, et un temoin positif dedie verifie qu'un vrai compte de carnet dans le MEME fichier rougit toujours (l'exemption ne devient pas un couperet par fichier) ; - README Lean : les lignes Lean-31/34/34b portent le renvoi au catalogue (`COURSE_CATALOG.generated.json`, champ `resource_cost.execution.cells_code`) a la place du compte en prose -- le chiffre reste verifiable sans deriver. Motif mesure : la prose annoncait 11 cellules pour Lean-34, le catalogue en porte 12. See #23111 Part of #20975 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
myia-ai-01
left a comment
There was a problem hiding this comment.
Lecture ai-01 à la tête 675f265, diff complet (3 fichiers, +43/−7) :
- Volet 1 : la 5e
ArtifactExemptionporte un chemin exact et un motif étroit (la v1 du gun, 36 cellules fausses, qui correspond à une seule ligne du README deconway_lean/scripts), avec sa raison écrite. Le témoin positif dédié prouve que l'exemption est bornée au span : un vrai compte ajouté dans le même fichier rougit toujours. - Volet 2 : les trois lignes Lean-31/34/34b renvoient au champ
resource_cost.execution.cells_codedu catalogue JSON. Je l'ai vérifié surorigin/main: ANALYSE-14 = 17, Lean-34 = 12, Lean-34b = 14. La dérive 11 → 12 annoncée dans le body est donc réelle. - Rejoué à la tête :
pytest test_check_prose_quantitative_claims.py, 41 passed ;check_prose_quantitative_claims.py --diff origin/main...HEAD --strict, rc=0.
Le périmètre correspond aux deux volets de #23111, sans rien d'autre.
|
Trivial-diff advisory (#15740, non bloquant). |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
[INFO] Branche rafraichie sur Mesure, pas supposition : Aucun fichier de la PR n'est modifie : — lane myia-po-2023:CoursIA |
Path-collision (organ #13359/#13615)Cette PR #24543 (
|
|
[ADJOINT PREFLIGHT] |
Grain: MED/guard — lane myia-po-2024:CoursIA — prev: MED/notebook-lean #24448
Fix(guard,#23111): 5e faux positif
artifactexempté + renvoi catalogue sur Lean-31/34/34bTraite les deux volets de #23111, restés ouverts après que #23134 a livré le mécanisme d'allowlist et ses quatre premières entrées.
Volet 1 — le 5e faux positif, mesuré avant de le déclarer
Un
python scripts/notebook_tools/check_prose_quantitative_claims.py --all --class artifactau head signalait encore :sur cette ligne du README des scripts du lake
conway_lean:Ce n'est pas un compteur de vitrine : c'est la population d'une transcription fabriquée du canon de Gosper, citée comme témoin d'échec du self-check d'identité. Le nombre appartient au récit de l'incident (la v1 fausse), il ne décrit aucun état du dépôt et ne doit pas être mis à jour.
Ajout d'une 5e
ArtifactExemption— chemin exact, motif étroit (la v1 du gun, 36 cellules fausses), raison écrite — à côté des quatre de #23134.Témoins, dans les deux sens
test_artifact_exemptions_cover_the_named_lean_occurrences(paramétré, 5e cas ajouté)test_artifact_exemption_on_incident_narrative_is_a_span_not_a_blanket(nouveau)19 cellulesajouté sur la même ligne) rougit toujoursLe témoin positif est celui qui manquait pour cette entrée : sans lui, une exemption par fichier passerait inaperçue. L'exemption reste span-borne — elle couvre le compteur sous son motif, pas le fichier.
Volet 2 — le renvoi au catalogue sur Lean-31 / Lean-34 / Lean-34b
#23091 a retiré les compteurs de ces trois lignes, laissant le prédicat « cellules code exécutées sans erreur ». Chacune porte désormais le renvoi :
Le chiffre reste vérifiable sans vivre en prose sujette à dérive. La dérive était réelle, et elle est la preuve du bien-fondé : la prose annonçait 11 cellules pour Lean-34, le catalogue en porte 12 (mesuré au head : ANALYSE-14 = 17, Lean-34 = 12, Lean-34b = 14, tous
EXECUTED/READY).COURSE_CATALOG.generated.mdn'expose aucune colonne de comptage — d'où le renvoi au JSON et au nom de champ, pas au.md.Lean-24b porte le même prédicat sans renvoi : l'issue ne le nomme pas et cette ligne n'a jamais porté de compte, il n'y a donc aucune dérive à prévenir. Hors scope, non touché.
Critères d'acceptation de l'issue
--all --class artifactne signale plus les occurrences Lean nommées :Lean/README.mdetconway_lean/scripts/README.mdn'apparaissent plus que dans le bloc[ALLOWLIST](13 exemptions motivées, 14 compteurs couverts, aucun[ALLOWLIST-PERIMEE]).check_prose_quantitative_claims.py --diff origin/main...HEAD --strict→[OK] aucun compteur quantitatif en prose.rc=0.Validation
Aucun notebook modifié (markdown + outillage seulement) : C.2 non applicable.
Fichiers
scripts/notebook_tools/check_prose_quantitative_claims.py— 5eArtifactExemptionscripts/notebook_tools/tests/test_check_prose_quantitative_claims.py— témoin négatif étendu, témoin positif dédié, nom du test paramétré corrigé (four→named)MyIA.AI.Notebooks/SymbolicAI/Lean/README.md— renvoi catalogue sur 3 lignes (3 lignes de diff)See #23111
Part of #20975
🤖 Generated with Claude Code