Skip to content

data(virtues): complete EN/RU translation gaps - #290

Merged
jsboige merged 1 commit into
masterfrom
data/virtues-translation-gaps
May 17, 2026
Merged

data(virtues): complete EN/RU translation gaps#290
jsboige merged 1 commit into
masterfrom
data/virtues-translation-gaps

Conversation

@jsboige

@jsboige jsboige commented May 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fill 5 missing EN translations (pk 15, 61, 62, 63, 109) and 3 missing RU translations (pk 165, 166, 167) in the Virtues taxonomy CSV
  • All 223 Virtues records now have 100% coverage across EN, RU, and PT languages

Details

Record Language Title
pk=15 EN Reputable journal
pk=61 EN Representative sampling
pk=62 EN Taking exceptions into account
pk=63 EN Legitimate transfer
pk=109 EN Ferio syllogism
pk=165 RU Определение точек внимания
pk=166 RU Учёт конфликта интересов
pk=167 RU Стремление к объективности

Test plan

  • CSV parsing validated — all 38 columns parse correctly with comma delimiter
  • Zero remaining gaps confirmed for EN/RU/PT
  • Pipeline regeneration to validate card rendering (Phase 0 complete, regen deferred)

🤖 Generated with Claude Code

Fill missing translations in Virtues taxonomy CSV:
- EN: pk 15 (Reputable journal), 61 (Representative sampling), 62 (Taking
  exceptions into account), 63 (Legitimate transfer), 109 (Ferio syllogism)
- RU: pk 165 (Определение точек внимания), 166 (Учёт конфликта интересов),
  167 (Стремление к объективности)

All 223 Virtues records now have 100% EN, RU, and PT coverage.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

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

Review automatique — ClusterManager (myia-ai-01)

Verdict : APPROVE

Argumentum Virtues — Taxonomy.csv : Remplissage des gaps de traduction EN/RU pour 9 entrées (lignes 15, 61-63, 109, 165-167). Traductions cohérentes avec le reste du fichier, URLs Wikipédia correctes. Ajout BOM en header (mineur, standard CSV UTF-8).

RAS.

— ClusterManager (myia-ai-01) [CRON:review-pr 13:15Z]

@jsboige jsboige left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review ai-01 — cycle 35

Verdict : 🟢 Approve avec note non-bloquante.

Convention checklist

  • Diff sanity : +9/-9 lignes, 1 fichier, surgical (8 records + header)
  • Format CSV : 38 colonnes préservées, dialect cohérent
  • No FR regression : aucune cellule FR touchée, seuls les cells EN (5) et RU (3) ciblés sont modifiés
  • Sample qualité (8/8 records reviewés) :
    • pk=15 "Reputable journal" / FR "Journal réputé" — ✓ idiomatique
    • pk=61 "Representative sampling" / FR "Echantillonnage représentatif" — ✓ canonique
    • pk=62 "Taking exceptions into account" / FR "Prise en compte des exceptions" — ✓ littéral exact
    • pk=63 "Legitimate transfer" / FR "Transfert licite" — ✓ précis
    • pk=109 "Ferio syllogism" / FR "Syllogisme Ferio" — ✓ nom latin préservé
    • pk=165 "Определение точек внимания" / FR "Identifier les points de vigilence" — ✓ (≈ "warning signs" EN existant — légère nuance "attention points" vs "warnings", acceptable)
    • pk=166 "Учёт конфликта интересов" / FR "Prise en compte des conflits d'intérêt" — ✓ direct
    • pk=167 "Стремление к объективности" / FR "Effort d'objectivité" — ✓ idiomatique
  • CI verts : Build Debug + Release + GitGuardian tous SUCCESS
  • Glossaire respecté : N/A pour Virtues (pas de terme glossaire critique type "baratineur")

⚠ Note non-bloquante : BOM UTF-8 réintroduit

Le diff ajoute un BOM UTF-8 () en tête du fichier :

-pk,path,depth,...
+pk,path,depth,...

Constat :

  • Local Argumentum Virtues - Taxonomy.csv (avant ce PR) : PAS de BOM (70 6b 2c = pk,)
  • Argumentum Fallacies - Taxonomy.csv : PAS de BOM
  • Argumentum Scenarii - Cards.csv : PAS de BOM

→ Le BOM est une regression vs convention établie (cf. CLAUDE.md global: "UTF-8 BOM ... breaks parsers. Use UTF8Encoding($false)"). Note dashboard mentionnait aussi "Bug BOM UTF-8 corrigé" pour DatasetUpdater Virtues — récurrence.

Impact technique vérifié :

  • ✅ Pipeline .NET : CsvBase.cs:29 utilise File.ReadAllText(path) qui auto-détecte et strippe le BOM → pas d'impact runtime sur Argumentum
  • ⚠ Outils tiers (Python csv.DictReader, scripts bash, upload GSheet) peuvent ne pas stripper → header pkpk casserait le mapping
  • ⚠ GDrive sync : risque de cycle BOM/no-BOM si pull/push alterné

Recommandation : merge ce PR (utile pour combler les 8 gaps), mais prévoir un commit suivi chore(data): strip BOM from Virtues CSV pour aligner avec les 3 autres CSVs et éviter régressions Python/GSheet futures.

🤖 Generated with Claude Code

@jsboige
jsboige merged commit 064ff42 into master May 17, 2026
3 checks passed
@jsboige
jsboige deleted the data/virtues-translation-gaps branch May 17, 2026 14:32
jsboige added a commit that referenced this pull request May 17, 2026
Rebased onto master (post PR #290 merge). Standardize subfamily and
subsubfamily translations across 223 Virtues records for EN, RU, PT.
75 field changes, 0 inconsistencies remaining.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request May 17, 2026
- Scenarii row 9 (path 1.2.4): "Olympus of Gouge" → "A suffragette" (EN drawer)
- Scenarii row 9 (path 1.2.4): "Um sufrágio" → "Uma sufragista" (PT drawer_pt)
- Strip UTF-8 BOM from Virtues CSV (introduced by PR #290)
- Strip UTF-8 BOM from Scenarii CSV (introduced by PR #291)

Olympe de Gouges is a French historical figure (suffragette), not a mountain.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 1, 2026
…ue (0 Cards/) (#619)

TERTIAIRE of ai-01 deep-queue supersede (msg-...370u0q). Read-only
scoping of the #202 "bulk EN translation" backlog.

Reframe (stale-dispatch pattern, like #609/#618): #202's Phase-2 bulk
counts (Simple_name_en 1348 empty, political_example 1373 empty) are
2-year-old and contradict the live census.

Census on master 18b4d02:
  - Fallacies core text (desc/example/text x8 langs) = 100% (census #609).
  - Only 6 _en columns total. EN > FR source on the bulk-secondary ones:
      nom_vulgarisé (FR=3%) vs Simple_name_en (EN=4%) -> 25 translatable
      exemple politique (FR=3%) vs political_example_en (EN=2%) -> 10
    => EN cells were curated directly in English; FR SOURCE is ~97% empty.
       Cannot translate content never authored.
  - Genuinely FR->EN translatable residue = ~35 cells total (trivial).
  - Scenarii baratineur leak = 0/167 (Phase-2 resolved). Virtues i18n =
    100% (#218/#236/#246/#290/#295). Rules PT fixed (#306).
  - Real i18n gap = link_* (lane #600/#618, DONE), not text.

Recommendation: close or re-scope #202. The concrete residue is (a) FR
source editorial authoring (lane #191, human, not translation), (b) a
~35-cell micro-pass, (c) link_*/AIF lanes already tracked. Do NOT launch
a bulk EN run — no source to translate on secondary cols, core is 100%.
Memory i18n-coverage-gap-is-link-urls honored (measure FR-relatively).

Scope: docs/taxonomy/202-bulk-en-scoping.md only. 0 write Cards/, 0
AssetConverter code change (pre-tag safe). Base 18b4d02.

Relates to #202, #191, #609, #600, #618.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <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