Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,943 changes: 965 additions & 978 deletions Cards/Fallacies/Argumentum Fallacies - Taxonomy.csv

Large diffs are not rendered by default.

324 changes: 162 additions & 162 deletions Cards/Scenarii/Argumentum Scenarii - Cards.csv

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -1747,6 +1747,222 @@ public async Task Apply(AssetConverterConfig config)
MaxGroupItemNb = 12,
WriteOneTargetFileByField = false,
MaxChildren = 8
},
new DatasetUpdaterConfig()
{
Enabled = false,
Name = "Scenarii FR clarity review gpt-5.5",
SourceDataset = KnownDataSets.Scenarii,
FieldsToInclude = new List<string>()
{
"path",
"titre",
"contexte",
"enjeu",
"suggestion",
},
FieldsToUpdate = new List<string>()
{
"titre",
"contexte",
"enjeu",
"suggestion",
},
PrimaryField = "path",
TargetPath = @".\Target\Datasets\Argumentum Scenarii - Cards.csv",
SystemPromptPath = PromptsRootPath + "PromptGeneralSystem.txt",
DialogPrompts = new List<PromptExample>()
{
new PromptExample()
{
UserPromptPath = PromptsRootPath + "PromptScenariiFrClarityUser.txt",
AssistantAnswerPath = PromptsRootPath + "PromptScenariiFrClarityAssistant.txt"
}
},
Model = "gpt-5.5",
MaxOutputTokens = 8192,
MaxTokensPerMinute = 300000,
DivisionMode = DivisionMode.SequentialChunks,
PKHierarchicalChar = '.',
PKHierarchyLevel = 1,
ChunkSize = 12,
UseFunctionCalling = true,
NbMessageCalls = 1,
SkipChunkNb = 0,
TakeChunkNb = -1,
SelectEmptyTargets = false,
RandomizeChunks = false,
MaxDegreeOfParallelismWebService = 1,
CompareMode = false,
AutoCompare = false,
MaxGroupItemNb = 12,
WriteOneTargetFileByField = false,
MaxChildren = 8
},
new DatasetUpdaterConfig()
{
Enabled = false,
Name = "Scenarii cascade drift remap gpt-5.5",
SourceDataset = KnownDataSets.Scenarii,
FieldsToInclude = new List<string>()
{
"path",
"titre","contexte","enjeu","suggestion",
"title","context","issue","suggestion",
"title_ru","context_ru","issue_ru","suggestion_ru",
"title_pt","context_pt","issue_pt","suggestion_pt",
"title_es","context_es","issue_es","suggestion_es",
"title_ar","context_ar","issue_ar","suggestion_ar",
"title_fa","context_fa","issue_fa","suggestion_fa",
"title_zh","context_zh","issue_zh","suggestion_zh",
},
FieldsToUpdate = new List<string>()
{
"title","context","issue","suggestion",
"title_ru","context_ru","issue_ru","suggestion_ru",
"title_pt","context_pt","issue_pt","suggestion_pt",
"title_es","context_es","issue_es","suggestion_es",
"title_ar","context_ar","issue_ar","suggestion_ar",
"title_fa","context_fa","issue_fa","suggestion_fa",
"title_zh","context_zh","issue_zh","suggestion_zh",
},
PrimaryField = "path",
TargetPath = @".\Target\Datasets\Argumentum Scenarii - Cards.csv",
SystemPromptPath = PromptsRootPath + "PromptGeneralSystem.txt",
DialogPrompts = new List<PromptExample>()
{
new PromptExample()
{
UserPromptPath = PromptsRootPath + "PromptScenariiCascadeDriftUser.txt",
AssistantAnswerPath = PromptsRootPath + "PromptScenariiCascadeDriftAssistant.txt"
}
},
Model = "gpt-5.5",
MaxOutputTokens = 8192,
MaxTokensPerMinute = 300000,
DivisionMode = DivisionMode.SequentialChunks,
PKHierarchicalChar = '.',
PKHierarchyLevel = 3,
ChunkSize = 12,
UseFunctionCalling = true,
NbMessageCalls = 1,
SkipChunkNb = 0,
TakeChunkNb = 1,
SelectEmptyTargets = false,
RandomizeChunks = false,
MaxDegreeOfParallelismWebService = 1,
CompareMode = false,
AutoCompare = false,
MaxGroupItemNb = 12,
WriteOneTargetFileByField = false,
MaxChildren = 8
},
new DatasetUpdaterConfig()
{
Enabled = false,
Name = "Fallacies FR clarity review gpt-5.5",
SourceDataset = KnownDataSets.FallaciesTaxonomy,
FieldsToInclude = new List<string>()
{
"path",
"text_fr",
"desc_fr",
"example_fr",
},
FieldsToUpdate = new List<string>()
{
"text_fr",
"desc_fr",
"example_fr",
},
PrimaryField = "path",
TargetPath = @".\Target\Datasets\Argumentum Fallacies - Taxonomy.csv",
SystemPromptPath = PromptsRootPath + "PromptGeneralSystem.txt",
DialogPrompts = new List<PromptExample>()
{
new PromptExample()
{
UserPromptPath = PromptsRootPath + "PromptFallaciesFrClarityUser.txt",
AssistantAnswerPath = PromptsRootPath + "PromptFallaciesFrClarityAssistant.txt"
}
},
Model = "gpt-5.5",
MaxOutputTokens = 8192,
MaxTokensPerMinute = 300000,
DivisionMode = DivisionMode.PKHierarchicalChar,
PKHierarchicalChar = '.',
PKHierarchyLevel = 2,
ChunkSize = 4,
UseFunctionCalling = true,
NbMessageCalls = 1,
SkipChunkNb = 0,
TakeChunkNb = -1,
SelectEmptyTargets = false,
RandomizeChunks = false,
MaxDegreeOfParallelismWebService = 1,
CompareMode = false,
AutoCompare = false,
MaxGroupItemNb = 12,
WriteOneTargetFileByField = false,
MaxChildren = 20
},
new DatasetUpdaterConfig()
{
Enabled = false,
Name = "Fallacies cascade drift remap gpt-5.5",
SourceDataset = KnownDataSets.FallaciesTaxonomy,
FieldsToInclude = new List<string>()
{
"path",
"text_fr","desc_fr","example_fr",
"text_en","desc_en","example_en",
"text_ru","desc_ru","example_ru",
"text_pt","desc_pt","example_pt",
"text_es","desc_es","example_es",
"text_ar","desc_ar","example_ar",
"text_fa","desc_fa","example_fa",
"text_zh","desc_zh","example_zh",
},
FieldsToUpdate = new List<string>()
{
"text_en","desc_en","example_en",
"text_ru","desc_ru","example_ru",
"text_pt","desc_pt","example_pt",
"text_es","desc_es","example_es",
"text_ar","desc_ar","example_ar",
"text_fa","desc_fa","example_fa",
"text_zh","desc_zh","example_zh",
},
PrimaryField = "path",
TargetPath = @".\Target\Datasets\Argumentum Fallacies - Taxonomy.csv",
SystemPromptPath = PromptsRootPath + "PromptGeneralSystem.txt",
DialogPrompts = new List<PromptExample>()
{
new PromptExample()
{
UserPromptPath = PromptsRootPath + "PromptFallaciesCascadeDriftUser.txt",
AssistantAnswerPath = PromptsRootPath + "PromptFallaciesCascadeDriftAssistant.txt"
}
},
Model = "gpt-5.5",
MaxOutputTokens = 8192,
MaxTokensPerMinute = 300000,
DivisionMode = DivisionMode.PKHierarchicalChar,
PKHierarchicalChar = '.',
PKHierarchyLevel = 2,
ChunkSize = 4,
UseFunctionCalling = true,
NbMessageCalls = 1,
SkipChunkNb = 0,
TakeChunkNb = 1,
SelectEmptyTargets = false,
RandomizeChunks = false,
MaxDegreeOfParallelismWebService = 1,
CompareMode = false,
AutoCompare = false,
MaxGroupItemNb = 12,
WriteOneTargetFileByField = false,
MaxChildren = 20
}
};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Compris. Je vais évaluer chaque noeud de la taxonomie présentée et identifier la dérive tangible entre le FR récemment affiné et les 7 traductions multilingues. Pour chaque noeud, je n'appellerai `UpdateRecord` que sur AU PLUS UNE cellule (priorité example_* > desc_* > text_*) et seulement si la dérive est sémantique, stylistique, d'incarnation ou de cohérence cross-langue. Les noeuds où les traductions restent fidèles à la nouvelle clarté FR — qui devraient former la majorité — seront passés sans correction. Je n'utiliserai que function-calling, jamais de texte libre, et respecterai le format impersonnel EN vs formel 2e personne FR/RU/PT/ES.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
**Cascade Drift Remap — Fallacies Taxonomy**

Le texte français (`text_fr`, `desc_fr`, `example_fr`) vient d'être affiné en clarté et précision (passe FR clarity gpt-5.5). Les traductions multilingues ont été produites AVANT cet affinement et présentent donc une dérive stylistique ou sémantique. Tu reçois plusieurs entrées hiérarchisées (famille → sous-famille → sous-sous-famille) de la taxonomie pour évaluer cette dérive et proposer des correctifs progressifs.

**Langues cibles** (7 langues × 3 champs) :
- EN (impersonnel, infinitif/gérondif)
- RU, PT, ES, AR, FA, ZH (registre formel, miroir du "Vous" français)

**Champs concernés** (par langue) :
- `text_*` : nom court de la fallacie
- `desc_*` : description (formelle, 2e personne pluriel sauf EN)
- `example_*` : mise en situation incarnée, 1ère personne, sans nommer la fallacie

---

**Stratégie de mise à jour progressive** (CRITIQUE — sans cela tu vas sur-corriger ou tout sauter)

1. **Function calling exclusif** : Pour chaque correction, appelle `UpdateRecord`. Pas de texte libre. Utilise autant d'appels que de modifications souhaitées.

2. **Hiérarchie d'arbitrage** : Pour la majorité des nœuds, les traductions restent globalement valides ; ne propose des corrections que là où la dérive est tangible. Ce devrait être une minorité progressivement décroissante au fil des passes.

3. **Priorisation par champ** (par noeud) : `example_*` > `desc_*` > `text_*`. **Maximum UNE cellule corrigée par noeud par passe**, en commençant par l'exemple si dérive détectable, sinon la description, sinon le titre. Si rien n'est tangiblement améliorable, passe au noeud suivant. Cette règle force une convergence progressive en plusieurs passes au lieu d'un sur-update massif.

4. **Critères de dérive tangible** (au moins UN de ces signaux) :
- **Sémantique** : la traduction colle à un ancien sens du FR (ex: "based on" alors que le FR a évolué vers "fondé sur" ⇒ "founded on")
- **Style** : la traduction ne reflète pas la nouvelle clarté/précision FR (lourdeur, ambiguïté que le FR a résolue)
- **Fidélité incarnée** (exemples) : l'exemple ne mime plus la situation FR de manière vivante
- **Cohérence cross-langue** : une langue diverge clairement des autres alors que toutes devraient miroiter le FR

5. **Ne PAS toucher** :
- Traductions où le sens est correctement aligné (la majorité)
- Champs `_fr` (verrouillés source, gérés par la passe FR clarity)
- Termes techniques bien établis (noms de fallacies reconnaissables : "Ad Hominem", "Strawman", etc.)
- Variations stylistiques minimes mais légitimes (idiotismes de langue)

6. **Format** :
- EN : infinitif/gérondif, impersonnel ("Avoiding the question" pas "You avoid the question")
- RU/PT/ES : registre formel 2e personne pluriel (miroir "Vous")
- AR/FA/ZH : registre formel, idiomatique

---

**Output attendu** : Une série d'appels `UpdateRecord` ciblés (idéalement 0 à ~30% des cellules du chunk selon dérive observée), pas une mise à jour massive ni un skip total. Si tout est aligné, peu d'appels ; si dérive significative, plusieurs appels mais respectant le quota d'1 cellule/noeud/passe.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
I'll review each French fallacy text for clarity. If the text needs improvement, I'll call UpdateRecord with the revised version. If it's already clear and well-written, I'll skip it.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
You are reviewing French fallacy taxonomy text for "Argumentum: L'école des menteurs". Your task: improve the clarity and readability of the French text while preserving the exact meaning.

IMPORTANT RULES:
- Use "Vous" (formal) for second person — never "tu"
- Keep technical terms precise (logical fallacy names should remain accurate)
- Simplify overly complex sentences without losing nuance
- Preserve the hierarchical structure context (famille → sous-famille → sous-sous-famille)
- Do NOT change the meaning — only improve clarity and style
- If the text is already clear and well-written, do NOT call UpdateRecord — skip it

Target fields to review:
- text_fr: Fallacy name (keep concise, recognizable)
- desc_fr: Description (clear, educational, use "Vous" when applicable)
- example_fr: Example (concrete, vivid, easy to understand)
- link_fr: Keep as-is unless clearly broken

For each record, review the French fields. If improvements are needed, call UpdateRecord with the improved text.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Compris. Je vais évaluer chaque règle et identifier la dérive tangible entre le FR récemment affiné et les 7 traductions multilingues. Pour chaque règle, je n'appellerai `UpdateRecord` que sur AU PLUS UNE langue par passe (celle où la dérive est la plus criante : sémantique, markdown perdu, terminologie du jeu incohérente, ou style lourd). Les règles dont les traductions restent fidèles à la nouvelle clarté FR — qui devraient former la majorité — seront passées sans correction. Je n'utiliserai que function-calling, jamais de texte libre, et respecterai le markdown (`#`, `##`, `*`, `**`) ainsi que le format impersonnel EN vs formel 2e personne FR/RU/PT/ES.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
**Cascade Drift Remap — Rules**

Le champ français `Text` (règles du jeu) vient d'être affiné en clarté (passe FR clarity gpt-5.5, 19/24 règles améliorées). Les traductions multilingues (`Text_en`, `Text_ru`, `Text_pt`, `Text_es`, `Text_ar`, `Text_fa`, `Text_zh`) ont été produites AVANT cet affinement et présentent une dérive stylistique. Tu reçois un chunk de règles pour évaluer cette dérive.

---

**Stratégie de mise à jour progressive** (CRITIQUE)

1. **Function calling exclusif** : Pour chaque correction, appelle `UpdateRecord`. Pas de texte libre.

2. **Hiérarchie d'arbitrage** : Pour la majorité des règles, les traductions restent globalement valides. Ne propose des corrections que là où la dérive est tangible. Vise la convergence progressive en plusieurs passes, pas un sur-update massif.

3. **Une langue à la fois par règle (max)** : Pour chaque règle, **au plus UNE langue corrigée par passe**, en commençant par celle où la dérive est la plus criante. Si plusieurs langues divergent, prends la pire — les autres seront traitées dans une passe future.

4. **Critères de dérive tangible** :
- **Sémantique** : la traduction colle à un ancien sens FR (mécanique de jeu décrite différemment)
- **Markdown perdu** : la mise en forme (`#`, `##`, `*`, `**`) ne suit plus le FR refondu
- **Terminologie** : noms du jeu (embromador, baratineur, jurés...) traduits incohéremment
- **Style** : tournure lourde alors que le FR a été simplifié

5. **Ne PAS toucher** :
- Traductions où le sens et le style sont alignés
- Champ `Text` (FR verrouillé)
- Variations idiomatiques légitimes
- Noms propres du jeu

6. **Format par langue** :
- EN : impersonnel (infinitif/gérondif)
- RU/PT/ES : formel "Vous" miroir FR
- AR/FA/ZH : formel idiomatique
- Markdown (`#`, `##`, `*`, `**`) à préserver exactement

---

**Output attendu** : Quelques `UpdateRecord` ciblés (typiquement 1 par règle qui dérive, sur 1 langue), pas un déluge ni un skip total. Convergence progressive.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Compris. Je vais évaluer chaque scénario et identifier la dérive tangible entre le FR récemment affiné et les 7 traductions multilingues. Pour chaque scénario, je n'appellerai `UpdateRecord` que sur AU PLUS UNE cellule par passe (priorité `enjeu/issue` > `contexte/context` > `suggestion` > `titre/title`) et seulement si la dérive est sémantique, stylistique, ou casse le flux narratif (contexte → enjeu → suggestion). Les scénarios dont les traductions restent fidèles à la nouvelle clarté FR — qui devraient former la majorité — seront passés sans correction. Je préserverai les noms propres (Sherlock, Jeanne d'Arc, Ergo sum…). Function-calling exclusif, jamais de texte libre. Format : EN impersonnel, RU/PT/ES formel miroir FR, AR/FA/ZH formel idiomatique.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
**Cascade Drift Remap — Scenarii**

Les champs français `titre`, `contexte`, `enjeu`, `suggestion` viennent d'être affinés en clarté (passe FR clarity gpt-5.5, 162/167 records, 437 cellules). Les traductions multilingues ont été produites AVANT cet affinement et présentent une dérive stylistique. Tu reçois un chunk de scénarios pour évaluer cette dérive.

**Langues cibles** (7 langues × 4 champs) :
- EN : `title`, `context`, `issue`, `suggestion`
- RU : `title_ru`, `context_ru`, `issue_ru`, `suggestion_ru`
- PT, ES, AR, FA, ZH : idem avec suffixe `_xx`

---

**Stratégie de mise à jour progressive** (CRITIQUE)

1. **Function calling exclusif** : Pour chaque correction, appelle `UpdateRecord`. Pas de texte libre.

2. **Hiérarchie d'arbitrage** : Pour la majorité des scénarios, les traductions restent globalement valides. Ne propose des corrections que là où la dérive est tangible. Convergence progressive en plusieurs passes.

3. **Priorisation par champ** (par scénario) : `enjeu/issue` > `contexte/context` > `suggestion` > `titre/title`. **Maximum UNE cellule corrigée par scénario par passe**, en commençant par le champ où la dérive est la plus criante. Les titres sont courts et stables. Cette règle force la convergence progressive.

4. **Critères de dérive tangible** :
- **Sémantique** : la traduction colle à un ancien sens FR
- **Style** : tournure lourde alors que le FR a été clarifié
- **Noms propres / références culturelles** : doivent être préservés tels quels
- **Flux narratif** : contexte → enjeu → suggestion doit rester cohérent

5. **Ne PAS toucher** :
- Traductions alignées (la majorité)
- Champs FR (verrouillés)
- Noms propres (Sherlock, Jeanne d'Arc, Ergo sum, etc.)
- Variations idiomatiques légitimes

6. **Format** :
- EN : impersonnel (infinitif/gérondif, pas "you")
- RU/PT/ES : formel "Vous" miroir FR
- AR/FA/ZH : formel idiomatique

---

**Output attendu** : Quelques `UpdateRecord` ciblés (0 à ~30% des cellules selon dérive), pas un déluge ni un skip total. Convergence progressive.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
I'll review each French scenario text for clarity and conciseness. If improvements are needed, I'll call UpdateRecord with the revised fields. If the text is already clear and correct, I'll skip it.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
You are reviewing French text in the "Argumentum: L'école des menteurs" card game Scenarii dataset. Your task: improve the French text (titre, contexte, enjeu, suggestion) for clarity, conciseness, and natural phrasing.

IMPORTANT RULES:
- Preserve the game's "vous" (formal "you") form consistently
- Keep all proper names, historical figures, and cultural references unchanged
- Maintain the scenario structure: context → issue → suggestion flow
- Fix grammar, awkward phrasing, and unnecessary verbosity
- If the text is already clear and correct, do NOT call UpdateRecord — skip it
- Keep titles short and descriptive
- Contexte should set the scene clearly
- Enjeu should state what's at stake in the debate
- Suggestion should provide a concrete opening line for the smoothTalker

Fields to review:
- titre: short scenario title
- contexte: the setting/situation
- enjeu: what's at stake in the argument
- suggestion: opening line example for the smoothTalker
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Compris. Je vais évaluer chaque vertu (noeud family/subfamily/subsubfamily) et identifier la dérive tangible entre le FR récemment affiné et les 7 traductions multilingues. Pour chaque noeud, je n'appellerai `UpdateRecord` que sur AU PLUS UNE cellule par passe (priorité `remark_*` > `description_*` > `title_*` — les remarques étant des exemples concrets plus susceptibles de dérive, les titres étant courts et stables). Critères : dérive sémantique, style ne reflétant plus la punchiness FR, exemple ne mimant plus la situation FR, ou divergence nette d'une langue. Les vertus dont les traductions restent fidèles — qui devraient former la majorité — seront passées sans correction. Function-calling exclusif, jamais de texte libre. Format : EN impersonnel, RU/PT/ES formel miroir FR, AR/FA/ZH formel idiomatique ; titres courts et incisifs.
Loading
Loading