data(fallacies): revert 3 desc_fr to f38cfed9 (PK 7.3, 3.1.3, 6.1.1.2) - #387
Conversation
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — APPROVED
PR: data(fallacies): FR hierarchy realignment — 6 parent PKs (gpt-5)
Checklist
- Security scan: false positives only ("mot de passe"/"password" appear in fallacy example text inside CSV cells, not credentials — same pattern as approved #355)
- Impact cross-repo: none (data-only CSV)
- Change type: CSV data realignment — 6 parent PK hierarchy restructured, multilingual descriptions regenerated via gpt-5
Verification
- Data-only change to single taxonomy CSV, no code logic modified
- CI green (GitGuardian) ✓
- Consistent with previously approved data PRs #355, #385, #386
No concerns. Safe data realignment.
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — APPROVE
PR: data(fallacies): FR hierarchy realignment — 6 parent PKs (gpt-5)
Files: 8 changed (+1181 / -1047) | PKs touched: 6 desc_fr realignments + multilang cascade
Security scan
✅ PASS — no credential/secret patterns. (False positives in fallacy example text only — "mot de passe" etc.)
Scope analysis
PR title mentions 6 parent PKs but the diff is larger. Actual contents:
| Component | File | Risk |
|---|---|---|
| 6 parent realignments | Fallacies Taxonomy CSV | Core — well-documented in PR body |
| Multilang cascade (7 langs) | Fallacies Taxonomy CSV | Expected follow-on from FR changes |
| Virtues cascade drift | Virtues Taxonomy CSV (+211/-211) | Same pattern, bundled |
| Scenarii PT refine | Scenarii Cards CSV (+129/-129) | PT language cleanup |
| DatasetUpdater configs | C# config (+78/-7) | All — no runtime impact |
| Prompt templates | 4 .txt files | Supporting the cascade pipelines |
Data consistency checks
- Parent PK references: 6 PKs (7.3, 3.1.3, 4.2.3, 6.1.1.2, 4.3.1.1, 3.3) — all valid hierarchy paths in the taxonomy
- FK integrity: CSV is self-contained (path-based hierarchy), no external FK references. Paths preserved across changes.
- desc_fr quality: Per PR audit table, each realignment restores generic parent scope covering all children (Jaccard drift ≥ +0.180 confirmed regressions). New defs use "Vous..." voice, 12-30 words, no child vocabulary borrowing.
- Multilang cascade: EN/RU/PT/AR/ES/FA/ZH columns updated alongside FR — consistent FR-first taxonomy model.
- C# configs: Virtues cascade expanded from EN-only to multilang (7→4 chunk size, parallelism 1→4). New Scenarii PT refine config added. All — no immediate runtime effect.
Naming/language consistency
- FR-first convention respected throughout
- New prompt additions (PromptScenariiPtRefine*) follow existing patterns
- PromptFallaciesCascadeDriftUser/VirtuesCascadeDriftUser: added "drift sémantique structurel" and "re-conceptualisation des titres" detection rules — sensible quality gates
Notes
- Scope mismatch: Title says 6 PKs, but bundles Virtues cascade + Scenarii PT refine + C# configs. Consistent with project pattern (#355, #385, #386) but worth noting for changelog clarity.
- Multilang cascade not FR-only: Per PR body, this is expected — separate follow-up PR for propagation was planned but author included it here.
- Myia's existing review covers security + CI — no redundancy needed.
No blockers. Safe to merge.
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — APPROVE
PR: data(fallacies): FR hierarchy realignment — 6 parent PKs (gpt-5)
Files: 8 changed (+1181 / -1047) | PKs touched: 6 desc_fr realignments + multilang cascade
Security scan
PASS — no credential/secret patterns. (False positives in fallacy example text only — "mot de passe" etc.)
Scope analysis
PR title mentions 6 parent PKs but the diff is larger. Actual contents:
| Component | File | Risk |
|---|---|---|
| 6 parent desc_fr realignments | Fallacies Taxonomy CSV | Core — well-documented in PR body |
| Multilang cascade (7 langs) | Fallacies Taxonomy CSV | Expected follow-on from FR changes |
| Virtues cascade drift | Virtues Taxonomy CSV (+211/-211) | Same pattern, bundled |
| Scenarii PT refine | Scenarii Cards CSV (+129/-129) | PT language cleanup |
| DatasetUpdater configs | C# config (+78/-7) | All Enabled=false — no runtime impact |
| Prompt templates | 4 .txt files | Supporting the cascade pipelines |
Data consistency checks
- Parent PK references: 6 PKs (7.3, 3.1.3, 4.2.3, 6.1.1.2, 4.3.1.1, 3.3) — all valid hierarchy paths in the taxonomy
- FK integrity: CSV is self-contained (path-based hierarchy), no external FK references. Paths preserved across changes.
- desc_fr quality: Per PR audit table, each realignment restores generic parent scope covering all children (Jaccard drift >= +0.180 confirmed regressions). New defs use "Vous..." voice, 12-30 words, no child vocabulary borrowing.
- Multilang cascade: EN/RU/PT/AR/ES/FA/ZH columns updated alongside FR — consistent FR-first taxonomy model.
- C# configs: Virtues cascade expanded from EN-only to multilang (7 to 4 chunk size, parallelism 1 to 4). New Scenarii PT refine config added. All Enabled=false — no immediate runtime effect.
Naming/language consistency
- FR-first convention respected throughout
- New prompt additions (PromptScenariiPtRefine*) follow existing patterns
- PromptFallaciesCascadeDriftUser/VirtuesCascadeDriftUser: added "drift semantique structurel" and "re-conceptualisation des titres" detection rules — sensible quality gates
Notes
- Scope mismatch: Title says 6 PKs, but bundles Virtues cascade + Scenarii PT refine + C# configs. Consistent with project pattern (#355, #385, #386) but worth noting for changelog clarity.
- Multilang cascade not FR-only: Per PR body, this is expected — separate follow-up PR for propagation was planned but author included it here.
- Myia's existing review covers security + CI — no redundancy needed.
No blockers. Safe to merge.
…r Phase 4 PR #387 originally proposed AI-generated "hierarchy realignment" for 6 parent PKs whose Phase 4 FR clarity pass collapsed scope toward a single child. Cell-by-cell triptych review (baseline f38cfed / Phase 4 master / proposal) showed all 6 proposals over-engineered and unfit for playing-card length. Verdict applied (3 REVERT baseline / 3 REVERT pre-PR master / 0 KEEP proposal): REVERT to f38cfed baseline (concise + scope-correct): - PK 7.3 Ad hominem (11 mots) - PK 3.1.3 Transfert illicite (13 mots) - PK 6.1.1.2 Factoïde (14 mots) REVERT to pre-PR master (Phase 4 improvement worth keeping): - PK 4.2.3 Erreur de modalité (15 mots, accessible vs jargon) - PK 4.3.1.1 Prémisses (corrige typo "prémices") - PK 3.3 Conclusion math (singulier + concis) Surgical binary patch via tmp/runs/revert_cells.py: 6 insertions / 6 deletions. No other cell touched. CRLF + quoting preserved. Methodology validated by jsboige ("OK pour la répartition, tu peux rester sur cette ligne pour le reste") — to be extended to the full Phase 4 Fallacies audit (~1650 cells / ~955 PKs) via cluster review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…6.1.1.2) Cell-by-cell triptych review of 6 desc_fr cells modified by the Phase 4 FR clarity pass (PRs #366-#369). Verdict: 3 baseline restores, 3 Phase 4 keeps (no-op), 0 AI proposals accepted. REVERT to baseline f38cfed (Phase 4 collapsed scope toward one child): - PK 7.3 Ad hominem : restore "Vous visez votre adversaire lui-même..." (covers 3 children, not just Attaque personnelle) - PK 3.1.3 Transfert illicite : restore "...ou l'inverse" (preserves composition⇄division duality) - PK 6.1.1.2 Factoïde : restore "faits largement acceptés mais inexacts" (covers Désinformation/Rumeur/ Mythe/Mème, not just Rumeur) KEEP Phase 4 (genuine improvements): - PK 4.2.3 Erreur de modalité : accessible vocabulary - PK 4.3.1.1 Prémisses non pertinentes : fixes typo prémices→prémisses - PK 3.3 Conclusion math invalide : singulier + concis Methodology: tmp/runs/triptych.py displays baseline / Phase 4 master / HEAD side-by-side per PK with word counts and direct-children labels for scope verification. Validated by jsboige ("OK pour la répartition, tu peux rester sur cette ligne pour le reste") — to be extended to full Phase 4 Fallacies audit (~1650 cells / ~955 PKs) via cluster review. Surgical binary patch via tmp/runs/revert_cells.py: 3 insertions / 3 deletions. CRLF + quoting preserved. No collateral. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
72c2965 to
8e0a75e
Compare
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — APPROVED
SHA reviewed: 8e0a75e (HEAD, changed from previously reviewed 7db4aa)
Security scan
✅ CLEAN — no hardcoded credentials.
CI status
✅ All checks pass (GitGuardian, Debug build, Release build).
Review
3 desc_fr micro-reverts to f38cfed:
- PK 3.1.3: "attribuez à tout un groupe" → "prêtez à un groupe entier" — cleaner phrasing
- PK 6.1.1.2: "Vous appuyez votre argument sur" → "Vous vous appuyez sur des faits" — more precise (factose vs generic argument)
- PK 7.3: "attaquez personnellement" → "visez votre adversaire lui-même" — sharper definition
Consistent copy improvements, no structural changes, CI green. Low-risk data edit.
…t-5.5 (1281 cells, 61 PKs) (#397) Retraduit intégralement les 61 PKs AUDIT_FR vers 7 langues (EN/RU/PT/AR/ES/FA/ZH) × 3 champs (text/desc/example) = 1281 cellules, depuis le FR canonique post-audit (PRs #387-#394). Stratégie: blank-then-fill via prompt dédié non-drift. - Snapshot pré-blank: tmp/partb/fallacies_master_snapshot.csv (4,067,811 bytes) - Blank 1281 cellules (61 PKs × 21 cols) → cascade fired - Modèle: gpt-5.5 mono-tâche, SequentialChunks size=8, 28 chunks - Runtime: ~10:23, exit 0 - Output Target: 61/61 PKs full (21/21 cells), 0 partial, 0 empty → 100% fill - Surgical apply Target → master (1281 cells uniquement) Invariants vérifiés: - 1281/1281 cellules cibles remplies (100%) - Rows: 1409 (preserved) - Cols: 102 (preserved) - FR readonly: 0 drift sur 183 cellules FR (61 PKs × text_fr/desc_fr/example_fr) - Non-AUDIT_FR PKs (1348): 0 drift content-wise - Encoding: UTF-8 no-BOM, CRLF row terminators Nouveau prompt: PromptFallaciesFullRetranslation{User,Assistant}.txt - Non-drift, full-fill from FR canonical - ~21 UpdateRecord/record (7 langs × 3 champs) - Respecte invariants de style: EN impersonnel infinitif/gérondif, RU/PT/ES formel 2e pers plur miroir "Vous", AR/FA/ZH formel idiomatique, example_* 1ère pers narrative Config: DatasetUpdaterRootConfig.cs AUDIT_FR block → pointer DialogPrompts sur le nouveau prompt FullRetranslation (Enabled=false defensive maintenu). Fix taxonomique cascade-drift vs blank-fill (mémoire feedback enregistrée): le prompt cascade-drift juge "no drift" sur cellules vides (pas de baseline) → fill rate 45% sur Part A. Le nouveau prompt traite chaque cellule cible vide comme une traduction à émettre depuis FR canonique → 100% fill atteint. Refs: #335 (data-gate v0.9.0), #386 (Phase 4 Part B AUDIT_FR origin). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…onfig (Enabled=false) Adds focused cascade config block "Fallacies AUDIT_FR cascade 7-lang gpt-5.5" to surface re-translation of 61 FR-audited PKs (PRs #387–#394) across EN/RU/PT/AR/ES/FA/ZH (text/desc/example × 7 langs = 21 cells per PK = 1281 cells). Strategy: blank-then-fill. - Operator blanks the 1281 cells (61 PKs × 21 cols) via tmp/partb_blank_audit_fr.py. - Config (SelectEmptyTargets=true) fills only those blanks. - Operator surgically patches the master Fallacies CSV with cascade output. Defensive: Enabled=false. Flip to true only at execution time. Differs from "Fallacies cascade multi-lang gpt-5.5" (line 1908) in: - FieldsToUpdate ADDS EN (existing block omits EN — caused this very re-cascade need). - SelectEmptyTargets=true (vs false) — chunker scopes to blanked cells only. - DivisionMode=SequentialChunks (PKs scattered, no hierarchical co-location). - TakeChunkNb=-1 (full run, not smoke). - MaxDegreeOfParallelismWebService=4 (vs 1). Builds clean (0 errors, only pre-existing warnings). Run via dotnet run after flipping Enabled. Refs ai-01 dispatch [TASK refinement 18:55] 2026-05-29; jsboige [GO 21:38]. Pairs with PR #396 (Part A salvage, 1,476 cells deterministic). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…t-5.5 (1281 cells, 61 PKs) (#397) Retraduit intégralement les 61 PKs AUDIT_FR vers 7 langues (EN/RU/PT/AR/ES/FA/ZH) × 3 champs (text/desc/example) = 1281 cellules, depuis le FR canonique post-audit (PRs #387-#394). Stratégie: blank-then-fill via prompt dédié non-drift. - Snapshot pré-blank: tmp/partb/fallacies_master_snapshot.csv (4,067,811 bytes) - Blank 1281 cellules (61 PKs × 21 cols) → cascade fired - Modèle: gpt-5.5 mono-tâche, SequentialChunks size=8, 28 chunks - Runtime: ~10:23, exit 0 - Output Target: 61/61 PKs full (21/21 cells), 0 partial, 0 empty → 100% fill - Surgical apply Target → master (1281 cells uniquement) Invariants vérifiés: - 1281/1281 cellules cibles remplies (100%) - Rows: 1409 (preserved) - Cols: 102 (preserved) - FR readonly: 0 drift sur 183 cellules FR (61 PKs × text_fr/desc_fr/example_fr) - Non-AUDIT_FR PKs (1348): 0 drift content-wise - Encoding: UTF-8 no-BOM, CRLF row terminators Nouveau prompt: PromptFallaciesFullRetranslation{User,Assistant}.txt - Non-drift, full-fill from FR canonical - ~21 UpdateRecord/record (7 langs × 3 champs) - Respecte invariants de style: EN impersonnel infinitif/gérondif, RU/PT/ES formel 2e pers plur miroir "Vous", AR/FA/ZH formel idiomatique, example_* 1ère pers narrative Config: DatasetUpdaterRootConfig.cs AUDIT_FR block → pointer DialogPrompts sur le nouveau prompt FullRetranslation (Enabled=false defensive maintenu). Fix taxonomique cascade-drift vs blank-fill (mémoire feedback enregistrée): le prompt cascade-drift juge "no drift" sur cellules vides (pas de baseline) → fill rate 45% sur Part A. Le nouveau prompt traite chaque cellule cible vide comme une traduction à émettre depuis FR canonique → 100% fill atteint. Refs: #335 (data-gate v0.9.0), #386 (Phase 4 Part B AUDIT_FR origin). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…Enabled=false) (#397) * feat(dataset-updater): Part B scaffolding — AUDIT_FR cascade 7-lang config (Enabled=false) Adds focused cascade config block "Fallacies AUDIT_FR cascade 7-lang gpt-5.5" to surface re-translation of 61 FR-audited PKs (PRs #387–#394) across EN/RU/PT/AR/ES/FA/ZH (text/desc/example × 7 langs = 21 cells per PK = 1281 cells). Strategy: blank-then-fill. - Operator blanks the 1281 cells (61 PKs × 21 cols) via tmp/partb_blank_audit_fr.py. - Config (SelectEmptyTargets=true) fills only those blanks. - Operator surgically patches the master Fallacies CSV with cascade output. Defensive: Enabled=false. Flip to true only at execution time. Differs from "Fallacies cascade multi-lang gpt-5.5" (line 1908) in: - FieldsToUpdate ADDS EN (existing block omits EN — caused this very re-cascade need). - SelectEmptyTargets=true (vs false) — chunker scopes to blanked cells only. - DivisionMode=SequentialChunks (PKs scattered, no hierarchical co-location). - TakeChunkNb=-1 (full run, not smoke). - MaxDegreeOfParallelismWebService=4 (vs 1). Builds clean (0 errors, only pre-existing warnings). Run via dotnet run after flipping Enabled. Refs ai-01 dispatch [TASK refinement 18:55] 2026-05-29; jsboige [GO 21:38]. Pairs with PR #396 (Part A salvage, 1,476 cells deterministic). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * data(fallacies): Part B AUDIT_FR cascade 7-lang full-retranslation gpt-5.5 (1281 cells, 61 PKs) (#397) Retraduit intégralement les 61 PKs AUDIT_FR vers 7 langues (EN/RU/PT/AR/ES/FA/ZH) × 3 champs (text/desc/example) = 1281 cellules, depuis le FR canonique post-audit (PRs #387-#394). Stratégie: blank-then-fill via prompt dédié non-drift. - Snapshot pré-blank: tmp/partb/fallacies_master_snapshot.csv (4,067,811 bytes) - Blank 1281 cellules (61 PKs × 21 cols) → cascade fired - Modèle: gpt-5.5 mono-tâche, SequentialChunks size=8, 28 chunks - Runtime: ~10:23, exit 0 - Output Target: 61/61 PKs full (21/21 cells), 0 partial, 0 empty → 100% fill - Surgical apply Target → master (1281 cells uniquement) Invariants vérifiés: - 1281/1281 cellules cibles remplies (100%) - Rows: 1409 (preserved) - Cols: 102 (preserved) - FR readonly: 0 drift sur 183 cellules FR (61 PKs × text_fr/desc_fr/example_fr) - Non-AUDIT_FR PKs (1348): 0 drift content-wise - Encoding: UTF-8 no-BOM, CRLF row terminators Nouveau prompt: PromptFallaciesFullRetranslation{User,Assistant}.txt - Non-drift, full-fill from FR canonical - ~21 UpdateRecord/record (7 langs × 3 champs) - Respecte invariants de style: EN impersonnel infinitif/gérondif, RU/PT/ES formel 2e pers plur miroir "Vous", AR/FA/ZH formel idiomatique, example_* 1ère pers narrative Config: DatasetUpdaterRootConfig.cs AUDIT_FR block → pointer DialogPrompts sur le nouveau prompt FullRetranslation (Enabled=false defensive maintenu). Fix taxonomique cascade-drift vs blank-fill (mémoire feedback enregistrée): le prompt cascade-drift juge "no drift" sur cellules vides (pas de baseline) → fill rate 45% sur Part A. Le nouveau prompt traite chaque cellule cible vide comme une traduction à émettre depuis FR canonique → 100% fill atteint. Refs: #335 (data-gate v0.9.0), #386 (Phase 4 Part B AUDIT_FR origin). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Cell-by-cell triptych audit of 6 parent
desc_frcells modified by the Phase 4 FR clarity pass (PRs #366-#369), prompted by jsboige's regression flag on PK 7.3 Ad hominem.Net result: 3 cells reverted to
f38cfed9baseline, 3 cells kept as Phase 4 master (no-op). Zero AI-generated proposals accepted.Diff
3 insertions / 3 deletions, 1 file. CRLF + original CSV quoting preserved (surgical binary patch).
Verdict per cell
prémices→prémisses) in the baseline.Methodology pivot (this PR's story)
Originally this PR proposed AI-generated "hierarchy realignments" via
gpt-5for the 6 PKs whose Phase 4 desc_fr appeared to collapse toward a single child.jsboige's feedback on the first example ("l'avant était plus clair, plus court, tient sur une carte à jouer") made clear all 6 proposals were over-engineered — 24-28 words, em-dashes, philosophy-prof jargon, unfit for a playing card.
Pivot: built
tmp/runs/triptych.pyto display baselinef38cfed9(April 2024, pre-FR-clarity) / pre-PR master (Phase 4) / current variant side-by-side per cell with word counts and direct-children labels for scope verification. Per-cell verdict applied:This 6-cell exercise validates the triptych methodology for the broader Phase 4 Fallacies audit (~1650 cells across ~955 PKs). Per jsboige "OK pour la répartition, tu peux rester sur cette ligne pour le reste", the same per-cell judgement will be extended to the full Phase 4 changeset via a cluster review script (parent + direct children grappes, à la DatasetUpdater).
Implementation
tmp/runs/triptych.py PK [PK...]— three-way diff display per celltmp/runs/revert_cells.py— surgical binary patch(pk, field, target_ref)with raw/quoted variant detectiontmp/is local scratch space)Test plan
f38cfed9baselineorigin/master🤖 Generated with Claude Code