data(rules): fix PT cover subtitle (EN contamination row 1) - #306
Merged
Conversation
Row 1 Text_pt contained 'Liars 'School' (EN with typo) instead of PT translation. Replaced with 'A Escola dos Mentirosos' (native PT validated by po-2023 cycle 55). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced May 18, 2026
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>
jsboige
added a commit
that referenced
this pull request
Jul 2, 2026
… PT/RU + glossaire verrouillé (#633) (#640) Corrige les 23 findings HIGH du dataset Rules (audit ai-01 2026-07-02) : vieille MT ~2021 jamais remplacée (Text_pt/Text_ru) + contamination LLM « embromador » (mot PT) injectée dans FR/EN/ES par les passes #366/#372/#376. Cards/Rules/Argumentum Rules - Cards.csv (15 records) : - Text_pt : retraduction intégrale depuis FR (gpt-5.5 Responses API) - Text_ru : Rules_07 titre (Бинго аргументативной миксологии), Rules_12 formatage headers, Rules_15 retraduction (header vide + phrase FR incrustée), « Ход партии » → « Ход раунда » ×3 (cohérence раунд) - Text_en : Rules_09 « The Last Smooth Talker » (beau parleur), Rules_10 « rounds » (manche ≠ sleeves) - Purge embromador FR→baratineur / EN→smooth talker / ES→embaucador (11 cells, PT conservé — embromador = canon PT du rôle baratineur) Cards/Rules/Argumentum Rules - Cards Print and Play.csv (6 records) : - Text_pt + Text_ru : retraduction intégrale (PP divergeait silencieusement du principal ; couverture #306 reportée : « A escola dos mentirosos ») Taxonomy (2 cellules MEDIUM) : - Fallacies PK615 example_ar : russe (copie example_ru) → arabe MSA - Virtues pk71 description_ru : fuite française → russe Prévention récidive — glossaire verrouillé dans les prompts DatasetUpdater : - PromptRulesFrClarityUser.txt : « embromador » listé à tort comme terme FR → corrigé en canonique « baratineur » + directive anti-contamination étrangère - PromptRulesCascadeDriftUser.txt : ligne « terminologie incohérente (embromador, baratineur) » induisait l'harmonisation → remplacée par le glossaire canonique multi-langue (piocheur/baratineur/manche/pli/atout/saynète) Scanner (scan_translations.py) : 22 findings → 7 (les 7 résiduels = faux positifs documentés : noms latins canoniques Credo quia absurdum, emprunts Gish Gallop/Creepypasta/Whataboutism, mnémoniques Celarent/Camestres, nom propre Johnny Johnny). 0 HIGH Rules, 0 MEDIUM taxonomy résiduel. NOTE : GDrive (source autoritative, item #6 du scope) NON mis à jour — upload gated jsboige. Sans sync GDrive, le prochain pull baseline réimportera le garbage (cause racine du clobber #211 par 7fae40c). Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 4, 2026
RENDUS + path CMYK (#675) Refresh the release-validation dossier (PR #631) to reflect the 2026-07-03/04 state. ai-01 dispatch tbxfhu (tertiary). Key updates: - 64→80 PDFs: bundle v3 (10 types × 8 langues, expansion P&P #648-650 = P&P Standard + P&P Light). Bundle GDrive v3 = 6.5 GB (80 CMYK + 7 samples + CMYK_COLOR_PROOF.txt). - Verdict #140 (content, 8 langs) = PASS ai-01 RENDU: carte dense p51 EN/ES/RU/AR/FA/ZH (RTL AR+FA, CJK), covers, PT #306 fixé, FR Rules 5 jeux. #119, recto-verso, #216, micro-RU résolu. - Verdict #632 (colorimetric) = PASS ai-01 RENDU: DeviceCMYK 4-comp + GTS_PDFX/OutputIntent on fr+ar+zh. - Finding 1 (CMYK absent) → RÉSOLU: post-process Ghostscript (#632/#652) = 80/80 DeviceCMYK + OutputIntent SWOP. Le path DocumentCardSet.cs (oxymore PNG) est remplacé par le post-process GS sur le PDF final. - Tag v0.9.0: techniquement débloqué (2 verdicts PASS). Reste arbitrages jsboige (#636 §1 SVG Virtues, #654 mnémoniques, couplage go-live DNN) + finding titre PT (§3.6; note: #640 a résolu le bulk 'English Channel' 23 occ HIGH, titre Tarot PT spécifique possiblement inclus). Master ref 3e2fa0c → a41cbda. Bundles Debug/Release-v1 préservés. Relates: #631 #632 #652 #648 #649 #650 #140 #134. ai-01 dispatch tbxfhu. Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 5, 2026
…to look at, per lang) (#700) Bundle-v3-specific verification guide so jsboige can validate the 80-PDF CMYK bundle (10 types x 8 langs, post P&P #648-650 + CMYK #632/#652) in ~15 min, including the languages he doesn't read (ar/fa/zh, +ru). Triggered by ai-01 dispatch yj7u3j (secondary). Mandate "present the dossier cleanly at tag". Complementary to the existing guides (no duplication): - validation-guide.fr.md (general procedure, 2026-05-31, pre-P&P expansion) - non-latin-verification-guide.md (DNN site UI strings, not bundle) Bundle-v3 guide adds: - 10 doc types (incl. new P&P Standard/Light #648-650). - Per-lang sampling: 16 PDFs (2/lang) = Thumbnails p1 + TarotCards p1. - 3 sense-independent checks (direction RTL, glyph/font tofu, FR-leak #216). - Per-lang expected strings: ru Cyrillic "Sofizm", pt cover "A Escola dos Mentirosos" (#306 fix), ar RTL "Al-Safsata", zh CJK "miuowu". - CMYK transverse check (pdfimages -list = cmyk 4-comp + SWOP OutputIntent). - 15-min validation order + defect triage table. Master dc02e84. Docs-only, no test/build impact. Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
pushed a commit
that referenced
this pull request
Jul 6, 2026
…ispatch h2utyb TERTIAIRE) Applies the #712/#716 i18n-propagation-gap method to the other two Cards/ datasets. These use semantic name pairs (not _fr/_en suffix), so FR↔EN pairs are enumerated explicitly. Result: 0 derivable gap in either — Fallacies is the ONLY Cards/ dataset with an i18n-propagation hierarchy gap. Scenarii (167 rows, 8 FR→EN pairs: catégorie↔category, sous-catégorie↔subcategory, titre↔title, baratineur↔smoothTalker, piocheur↔drawer, contexte↔context, enjeu↔issue, suggestion↔suggestion_en): 0 gap across all 8. Confirms Scenarii 100% translated (8 fields × 4 langs). Rules (15 rows, Text↔Text_en): 0 gap (consistent with #306 PT row-1 cover fix). Reproducible via scenarii_rules_gap_scan.py (scratchpad). Closes TERTIAIRE: the Fallacies hierarchy gap is the only i18n-propagation gap in Cards/. Dispatch h2utyb (TERTIAIRE). Base 7ebeda1. Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 6, 2026
…onsolidates #712 + #716, dispatch h2utyb) (#721) * tools(i18n): unified gated apply-spec for Fallacies i18n-hierarchy gap (#712 + #716 consolidated) Consolidates the two data-quality inventories — #712 family-gap (Family/Subfamily empty) + #716 subsubfamily-gap (Subsubfamily empty, same 48 rows) — into ONE post-tag apply spec + gated byte-targeted script. Dispatch h2utyb PRIMARY (ai-01 2026-07-06 07:09), base master 7ebeda1. GATED: 0 write to prod CSV (release freeze on Cards/ until v0.9.0 tag). Script + unit tests ship and run; --apply on prod is post-tag. The 48 rows are a pure i18n-propagation gap: French Soussousfamille filled but all three English hierarchy columns (Family/Subfamily/Subsubfamily) empty. Fix is 100% mechanical — each row's FR key maps to exactly one canonical (Family, Subfamily, Subsubfamily) EN tuple (100% consensus, 0 conflict). The #712 apply would have filled 2 columns and missed the third; this does all three in one pass. Files: - tools/fallacies_i18n_hierarchy_apply.py — Python 3 stdlib, same byte-targeted discipline as mnemonics_to_latin.py (#654): BOM preserved, CRLF, QUOTE_MINIMAL, only empty target cells change. Re-derives the canonical map at apply time (never hardcoded). Modes: --dry-run (default), --apply (gated), --report. - tools/test_fallacies_i18n_hierarchy_apply.py — 11 unit tests (all PASS): canonical-map derivation, conflict detection, plan building (3-col/partial/novel/no-FR-key/full-row), apply round-trip (BOM+CRLF, never overwrites filled cells), + real-CSV grounding (asserts 144 cells = 48x3, 0 conflict, 0 novel on master). - docs/taxonomy/i18n-hierarchy-apply-spec.md — the unified spec: gap definition, 6-tuple canonical map, script usage, 5 validation gates (re-derive/conflict/novel/row-count/byte-preserve), post-tag apply procedure, impact, relationship to the link_fr->link_en gap (24 URLs, human-research, out of scope). Validation gates (enforced in code, abort exit 2): re-derive mapping at apply, conflict (>1 tuple per FR key), novel key (FR value absent from map), row count preserved, BOM+CRLF+QUOTE_MINIMAL. Dry-run on 7ebeda1: 144 cells (48x3), 0 conflict, 0 novel, canonical map 63 FR keys consensus. Post-tag apply = one command (--apply), same discipline as #654 --apply. Supersedes #712 + #716 as the single authoritative apply spec. Read-only this PR: 0 write Cards/, 0 build, 0 prod test, 0 OWL regen. Reproducible: python tools/fallacies_i18n_hierarchy_apply.py (dry-run) + python tools/test_fallacies_i18n_hierarchy_apply.py. Dispatch h2utyb (PRIMARY). Base 7ebeda1. Co-authored-by: Claude-Code <noreply@anthropic.com> * docs(taxonomy): add §8 Scenarii+Rules scan — 0 gap (clean negative, dispatch h2utyb TERTIAIRE) Applies the #712/#716 i18n-propagation-gap method to the other two Cards/ datasets. These use semantic name pairs (not _fr/_en suffix), so FR↔EN pairs are enumerated explicitly. Result: 0 derivable gap in either — Fallacies is the ONLY Cards/ dataset with an i18n-propagation hierarchy gap. Scenarii (167 rows, 8 FR→EN pairs: catégorie↔category, sous-catégorie↔subcategory, titre↔title, baratineur↔smoothTalker, piocheur↔drawer, contexte↔context, enjeu↔issue, suggestion↔suggestion_en): 0 gap across all 8. Confirms Scenarii 100% translated (8 fields × 4 langs). Rules (15 rows, Text↔Text_en): 0 gap (consistent with #306 PT row-1 cover fix). Reproducible via scenarii_rules_gap_scan.py (scratchpad). Closes TERTIAIRE: the Fallacies hierarchy gap is the only i18n-propagation gap in Cards/. Dispatch h2utyb (TERTIAIRE). Base 7ebeda1. Co-authored-by: Claude-Code <noreply@anthropic.com> --------- Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
20 tasks
This was referenced Jul 27, 2026
jsboige
added a commit
that referenced
this pull request
Jul 28, 2026
…follow-up) (#962) The release-gate dossier carried six facts measured stale against master 3094d42. All are mechanical/premise drift from July merges — no verdict, no release scope changed. This pass corrects the dossier body that #959 (header/§0) deliberately left untouched. 1. §3.2 Virtues .content.svg were marked FR-figé ("gap structural"). FALSE: Argumentum_Virtues_MindMap_{lang}.content.svg are native-script 8/8, committed via #665/#715/#724/#686 (9f52446). Distinct-size proof (git cat-file -s): fr 431931 / en 418954 / ru 485254 / pt 446948 / es 432142 / ar 461859 / fa 461654 / zh 1148677 — a FR clone would be ~431931 everywhere. Twin premise of #636 (CLOSED 2026-07-06), false for the same reason. Marked RÉSOLU. 2. §3.2 es/ar/fa/zh mindmap SVG count 3 → 5 each (git ls-files | wc -l). fr 6 / en 5 / ru 5 / pt 5 / es 5 / ar 5 / fa 5 / zh 5. 3. §4 tests 596/601 → 643/638/0/5 (CI run 30280070312, both matrix legs), aligning with §0/#959. The 596/601 was pre-#911 (Test step was a no-op). 4. §4 Magick.NET 14.14.0 → 14.15.0 (#871 6f1a6e1a, 5 advisories patched). Also adds AutoMapper 14.0.0 (#588) and PdfPig 0.1.14 official (#908). 5. §3.6 + §5.8 + §7 + §8.2(c) "PT titre English Channel — open finding, appel à décision" → RÉSOLU. git grep "English Channel" -- Cards/ = 0. Per ai-01 precision: the string lived in an EMBEDDED csv key that is IGNORED at runtime (HarvestManager.cs overwrites it with the real CSV), so the defect never reached a card — NOT "resolved by #803". The observed mistranslation was stale-harvest, not a live prod defect. Separated from PT row-1 cover contamination (#306, distinct, also closed). 6. §5.4(a) + §8.2(a) #636 "arbitrage ouvert" → CLOSED 2026-07-06 (twin premise of #1). Every value above is re-read at source (git ls-files / cat-file -s / grep / gh issue view), not taken from an intermediate report. 3 audit-probe imperfections (Fallacies/Scenarii counts grabbed Archive/2022; skos:prefLabel grep namespace-split) are documented honestly in the audit report, not masked. Scope: 1 docs file, docs-only, 0 prod write, 0 OWL, 0 CSV. Correction PR, decision to merge = ai-01 (pre-tag sensitive zone, #134 gate). Audit report: docs/investigations/2026-07-28-release-validation-v0.9.0-audit.md (landed in #961). This PR is the body-correction follow-up ai-01 gave GO on (arbitrage qgsvq4, 2 precisions applied: "n'a jamais atteint une carte" phrasing + PT vs EN distinct #306). Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
Rules CSV row 1
Text_ptcontained the EN string# Argumentum\n## Liars 'School(with typo space) instead of the PT translation. This affected the cover subtitle of TarotCards_pt PDF.Diff
Text_ptrow 1# Argumentum\n## Liars 'School# Argumentum\n## A Escola dos MentirososTranslation rationale
L'école des menteursA Escola dos Mentirosos(Title Case, branding-consistent)A), "dos Mentirosos" génitif pluriel masculin, cohérent pt-PT et pt-BRAudit
Audited all 24 rows of Rules CSV for similar EN contamination → only row 1 Text_pt affected. No other multilingual cells require correction in Rules CSV.
Cycle 44 Phase 2 impact
This fix resolves what was originally tracked as 2 separate blockers in cycle 44 Phase 2 plan:
Blocker Nouveau design #3 (PT cover tagline LIARS 'SCHOOL)→ fixed by this PRBlocker Flex, couleurs, polices, taille, positionnement #4 (Footer L'ÉCOLE DES MENTEURS partout)→ cycle 47 grep confirms this was a misinterpretation; no footer hardcoded in Fallacies/Scenarii/Memo/Virtues templates→ Phase 2 v1.0.0 blocker count reduced from 5 to 3.
Test plan
dotnet runharvest Rules)A Escola dos MentirososLinked issue
Rattaché à Epic #202 (text & translation finalization). No dedicated issue required (trivial data fix).
🤖 Generated with Claude Code