docs(i18n): arbitrage 7 faux positifs scanner post-#640 (#633) - #644
Conversation
Doc d'arbitrage pour les 7 findings résiduels du scanner scan_translations.py après la refonte Rules #640 (22 -> 7). Analyse cell-by-cell avec contrepartie FR (canon) + inter-langue pour chaque FP. Verdict : les 7 sont légitimes (KEEP). Preuve structurelle : le FR lui-même garde "Gish gallop" et "Creepypasta" non traduits (emprunts consacrés) -> ZH qui fait de meme est coherent, pas contamine. Le scanner declenche sur un seuil mecanique (<30% CJK/cyrillique) inadapte aux noms propres, emprunts et mnemoniques latins. - PK30 text_ru "Credo quia absurdum" : latin canonique (EN agree) - PK475/927 text_zh "Gish Gallop"/"Creepypasta" : FR+EN gardent l'emprunt - PK1363 text_zh "Whataboutism(什么主义)" : emprunt + glose calque usuelle - PK107/112 title_zh "Celarent/Camestres 三段论" : convention mnemoniques latins - PK6.1.3 title_zh "Johnny Johnny" : nom propre (FR identique) Recommandations scanner optionnelles (nice-to-have, pas bloquant tag) : exemption <12 chars, whitelist emprunts, croisement avec FR canon. Decision attendue jsboige post-tag : confirmer KEEP ou polish optionnel (gloses ZH). Ces 7 ne bloquent PAS le tag v0.9.0. Relates #633 #640 #140. Co-Authored-By: Claude-Code <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] — LGTM (doc d'investigation, arbitrage i18n solide)
Arbitrage formel des 7 faux positifs résiduels du scanner scan_translations.py post-#640 (22→7 findings). Verdict : les 7 sont légitimes (KEEP tel-quel), aucun défaut de traduction. Vérifié firsthand :
- Preuve structurelle solide et vérifiable : l'argument pivot est que le français lui-même (source canonique) garde plusieurs de ces termes non traduits (emprunts consacrés) → les autres langues qui font de même sont cohérentes, pas contaminées. Cet argument est logiquement sound et je peux le vérifier :
- PK 475
Gish Gallop/ PK 927Creepypasta: le FR canon lui-même ne traduit pas (emprunts) → ZH miroir = cohérent. ✓ - PK 30
Credo quia absurdum: locution latine de Tertullien, EN la garde aussi en latin, FR fait le choix descriptif. ✓ - PK 107/112
Celarent/Camestres三段论 : ce sont les mnémoniques latins standard des formes syllogistiques valides (poème Barbara Celarent Darii Ferio...) — conservés tels quels dans toutes les traditions logiques. ✓ Le doc signale aussi justement une vraie incohérence RU (Celarent latin vs Каместрес translittéré) = défaut RU mineur, pas ZH — ne rubber-stampe pas.
- PK 475
- Le scanner déclenche sur un seuil mécanique (
< 30 % CJK/cyrillique) inadapté aux noms propres, emprunts et mnémoniques latins — diagnostic correct, et les recommandations (exempter cellules <12 chars, whitelist racines latines, croiser avec FR) sont des nice-to-have non-bloquantes raisonnables. - Trouve un vrai gap EN : PK 6.1.3
title_en= vide (devrait êtreJohnny JohnnyouJohnny at the Pantheon) — correctement attribué comme défaut EN, pas ZH. Actionnable. - Honnêteté de portée : le doc ne claim pas que les traductions ZH/RU sont « bonnes » — il argue la cohérence structurelle (qui ne dépend pas de la qualité de traduction). C'est la bonne épistémologie.
△ Comme pour #640, les caractères ZH/RU précis (什么主义, 诉诸虚伪, 荒谬的信念) sont hors mon domaine de vérification confidente — mais les conclusions ici s'appuient sur l'argument structurel (FR garde l'emprunt) vérifiable, pas sur l'exactitude des glyphes. Ne bloque pas le tag v0.9.0 (le matériel est publiable en l'état, comme le doc le conclut correctement).
myia-ai-01
left a comment
There was a problem hiding this comment.
Contre-vérifié : les 7 FPs listés correspondent exactement aux 7 findings résiduels de mon propre re-run du scanner sur l'arbre #640 (PK30 Credo quia absurdum, 475 Gish Gallop, 927 Creepypasta, 1363 Whataboutism, 107/112 Celarent-Camestres, 6.1.3 Johnny Johnny). L'argument structurel (le FR canon garde lui-même l'emprunt → miroir ZH/RU cohérent) est le bon critère. Bonus honnête : l'incohérence RU Celarent/Каместрес et le trou title_en PK6.1.3 sont signalés sans être enterrés. Doc-only, ne bloque pas le tag, décision finale jsboige post-tag comme cadré. APPROVED.
…633/#644) Scanner de qualite de traduction reference par #640/#644 mais vivant dans aucun arbre. Commit sous docs/investigations/scripts/ (force-add: dir ignore par .gitignore Scripts/, comme les scripts .ps1 existants) pour reproductibilite. 3 heuristiques anti-FP (baseline 22 -> 1 finding): 1. Whitelist loanwords/mnemoniques (LEGIT_TOKENS): Gish gallop, Creepypasta, Whataboutism, Credo quia absurdum + mnemoniques syllogismes (Barbara..Bamalip). Strips avant script-ratio. 2. Exemption cellules courtes (MIN_SCRIPT_CHARS=12). 3. FR-canon cross-check SAFE: supprime seulement si FR source + traduction partagent un loanword/mnemonique connu. La variante "overlap latin large" masquait le clobber #211 -> restreint au set curve. Resultat master 99145fa: 1 finding = Scenarii 6.1.3 title_zh "Johnny Johnny" (0% CJK) = VRAI defaut (duplication; FR canon "Johnny au Pantheon", PT correct "Johnny no Panthon"). Infirme verdict #644 "KEEP" pour cette cellule (follow-up). 5 tests synthetiques valides. REPO configurable (--repo / $ARGUMENTUM_REPO). Relates #633, #640, #644, #211. Co-Authored-By: Claude-Code <noreply@anthropic.com>
…633/#644) (#647) Scanner de qualite de traduction reference par #640/#644 mais vivant dans aucun arbre. Commit sous docs/investigations/scripts/ (force-add: dir ignore par .gitignore Scripts/, comme les scripts .ps1 existants) pour reproductibilite. 3 heuristiques anti-FP (baseline 22 -> 1 finding): 1. Whitelist loanwords/mnemoniques (LEGIT_TOKENS): Gish gallop, Creepypasta, Whataboutism, Credo quia absurdum + mnemoniques syllogismes (Barbara..Bamalip). Strips avant script-ratio. 2. Exemption cellules courtes (MIN_SCRIPT_CHARS=12). 3. FR-canon cross-check SAFE: supprime seulement si FR source + traduction partagent un loanword/mnemonique connu. La variante "overlap latin large" masquait le clobber #211 -> restreint au set curve. Resultat master 99145fa: 1 finding = Scenarii 6.1.3 title_zh "Johnny Johnny" (0% CJK) = VRAI defaut (duplication; FR canon "Johnny au Pantheon", PT correct "Johnny no Panthon"). Infirme verdict #644 "KEEP" pour cette cellule (follow-up). 5 tests synthetiques valides. REPO configurable (--repo / $ARGUMENTUM_REPO). Relates #633, #640, #644, #211. Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
Correction de mon verdict « KEEP PK6.1.3 » — c'était un VRAI défaut, fixé (PR #653)Mon arbitrage #644 « PK6.1.3 Erreur : le FR canon n'est PAS « Johnny Johnny » mais « Johnny au Panthéon » (Johnny Hallyday au Panthéon de Paris). Les titres EN/RU/AR/ES/ZH/FA avaient une duplication (« Johnny Johnny » ou équivalent translittéré) ; seul PT était correct (« Johnny no Panthéon »). Fixé (PR #653) : retraduction des 6 titres via gpt-5.5 (Responses API, effort=low) avec contexte scenario ancré + référence PT. Replace cell-level ancré (NO BOM + CRLF préservés, diff = 1 ligne). Scanner re-run : TOTAL 0. Les 6 autres arbitrages #644 restent valides (vraies FPs : Credo latin, Gish gallop/Creepypasta/Whataboutism emprunts, Celarent/Camestres mnémoniques latins — le FR canon les garde non traduits). Mea culpa sur la cellule Johnny : j'avais mal lu le FR canon en #644. Le scanner reproductible a corrigé l'arbitrage manuel — c'est exactement sa valeur. |
… (6 langs, gpt-5.5) (#644 correction) (#653) Record path=6.1.3 (FR canon "Johnny au Panthéon") had duplicated titles "Johnny Johnny" (or transliterated equivalent) in EN/RU/AR/ES/ZH/FA. Only PT was correct ("Johnny no Panthéon"). This is a REAL defect (not the FP I arbitrated in #644 — the committed scanner 2026-07-02-scan-translations.py confirms it objectively: title_zh 0% CJK, 12 chars, the only residual finding on master). Retranslated the 6 titles via gpt-5.5 Responses API (effort=low, recipe [[gpt55-responses-api-effort-low]]) with scenario context anchored (Johnny Hallyday, Panthéon de Paris): EN: Johnny at the Panthéon RU: Джонни в Пантеоне AR: جوني في البانتيون ES: Johnny en el Panteón ZH: 约翰尼在先贤祠 FA: جانی در پانتئون PT untouched (was already correct). Cell-level anchored replace (no csv.writer rewrite): - NO BOM preserved (verified first bytes = "pat", not efbbbf) - CRLF preserved (168 CRLF, 0 bare-LF) - diff = 1 line (all 6 cells on same CSV row) - scanner re-run: TOTAL 0 (6.1.3 no longer flagged) Corrects my #644 verdict "KEEP, nom propre" which was wrong — the scanner (reproducible) overrode my manual call. Assumed, lesson logged. Relates #633, #644. Base master aa926ff. Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
docs(i18n): arbitrage des 7 faux positifs scanner post-#640 (#633)
Doc d'arbitrage pour les 7 findings résiduels du scanner
scan_translations.pyaprès la refonte Rules #640 (22 → 7). Tâche tertiaire du dispatch ai-01 (deep-queue po-2024).Verdict : les 7 sont légitimes (KEEP tel-quel)
Preuve structurelle : le français lui-même (source canonique) garde plusieurs de ces termes non traduits — les autres langues qui font de même sont cohérentes, pas contaminées. Le scanner déclenche sur un seuil mécanique (
< 30 %CJK/cyrillique) inadapté aux noms propres, emprunts et mnémoniques latins.text_ru=Credo quia absurdumtext_zh=Gish GallopGish gallop(emprunt non traduit) — ZH miroir cohérenttext_zh=CreepypastaCreepypasta(emprunt non traduit) — idemtext_zh=Whataboutism(什么主义)title_zh=Celarent 三段论title_zh=Camestres 三段论title_zh=Johnny JohnnyJohnny Johnny)Ce document
docs/investigations/2026-07-02-scanner-fp-arbitration.md— analyse cell-by-cell avec contrepartie FR (canon) + inter-langue pour chaque FP, recommandations d'amélioration du scanner (exemption< 12 chars, whitelist emprunts, croisement FR), et décision attendue jsboige.Impact
Décision attendue
jsboige (post-tag) : confirmer « garder tel-quel » pour les 7, ou demander le polish optionnel (gloses ZH sur 475/927/1363).
Relates #633, #640, #140.
🤖 Generated with Claude Code