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
19 changes: 19 additions & 0 deletions docs/taxonomy/499-scaleup-phase1-annotations.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
virtue_pk,virtue_title,prevented_family_pk,prevented_family_name,crossLink_Opposes,opposed_fallacies_readable,AIF_skosDirectRef,AIF_skosMappingType,link_type,justification
2,Argument fondé,1,Insuffisance,3;33,3=Argument vide; 33=Justification triviale,Argument from Sign,Les faits ou raisons invoqués constituent-ils un appui pertinent et suffisant pour la conclusion ?,crossLink_Opposes,L’argument fondé prévient l’insuffisance en exigeant que les prémisses fournissent un signe réel et solide de la conclusion.
28,Interprétation juste,1,Insuffisance,953;153,953=Attention sélective; 153=Argument des mauvaises raisons,Argument from Sign,L’interprétation prend-elle en compte tous les éléments pertinents sans sélection ni distorsion biaisée ?,crossLink_Opposes,L’interprétation juste prévient l’insuffisance en restaurant l’examen complet et loyal des signes disponibles avant de conclure.
35,Rhétorique acceptable,887,Tricherie,177;219,177=Langage persuasif; 219=Humour,Argument from Values,Le procédé rhétorique sert-il une valeur argumentative légitime sans manipuler l’auditeur ?,crossLink_Opposes,La rhétorique acceptable prévient la tricherie en subordonnant le style à la clarification éthique plutôt qu’à la manipulation.
51,Équilibre émotionnel,887,Tricherie,357;511,357=Conditionnement; 511=Influence non verbale,Argument from Values,L’appel émotionnel reste-t-il proportionné et compatible avec une évaluation rationnelle de l’argument ?,crossLink_Opposes,L’équilibre émotionnel prévient la tricherie en empêchant que l’affect remplace ou déforme l’évaluation rationnelle des raisons.
55,Communication authentique,887,Tricherie,889;953,889=Mensonge; 953=Attention sélective,Argument from Commitment,Les positions exprimées sont-elles sincères et répondent-elles loyalement aux arguments de l’autre ?,crossLink_Opposes,La communication authentique prévient la tricherie en restaurant la sincérité des engagements et l’écoute loyale des objections.
60,Généralisations justifiées,594,Erreur mathématique,596;759,596=Échantillon biaisé; 759=Conclusion hâtive,Argument from Example,"L’échantillon est-il représentatif, suffisant et analysé objectivement pour justifier la généralisation ?",crossLink_Opposes,Les généralisations justifiées préviennent l’erreur mathématique en exigeant que l’induction repose sur des données robustes et représentatives.
64,Interprétation rigoureuse des données,594,Erreur mathématique,596;644,596=Échantillon biaisé; 644=Probabilités faussées,Argument from Sign,"Les données invoquées sont-elles représentatives, correctement traitées et statistiquement fiables ?",crossLink_Opposes,L’interprétation rigoureuse des données empêche les biais et les distorsions statistiques en restaurant la question de la représentativité et de la fiabilité du signe quantitatif.
71,Résultats valides,594,Erreur mathématique,681;690,681=Erreur de calcul; 690=Opération inappropriée,Argument from Sign,"Les résultats sont-ils correctement calculés, reproductibles et cohérents avec les méthodes employées ?",crossLink_Opposes,Des résultats valides préviennent les erreurs mathématiques en vérifiant que les calculs et les opérations produisent un signe quantitatif fiable.
80,Causalités bien identifiées,696,Erreur de raisonnement,707;719,707=Inversion de causalité; 719=Effet cigogne,Argument from Cause to Effect,"La relation causale est-elle correctement établie, sans confondre cause, effet et simple corrélation ?",crossLink_Opposes,Identifier correctement les causalités empêche de prendre une corrélation pour une cause ou d’inverser le sens causal en restaurant l’examen du lien cause-effet.
84,Énoncés rigoureux,696,Erreur de raisonnement,727;784,727=Erreur de logique propositionnelle; 784=Syllogisme invalide,Argument from Rule,L’énoncé et l’inférence respectent-ils les règles syntaxiques et logiques du système employé ?,crossLink_Opposes,Des énoncés rigoureux préviennent les erreurs de raisonnement en restaurant la conformité aux règles formelles de construction et d’inférence.
135,Définitions claires,798,Abus de langage,800;826,800=Acception vague; 826=Définition incohérente,Argument from Verbal Classification,"Le terme est-il défini de façon précise, cohérente et conforme à l’usage pertinent ?",crossLink_Opposes,Des définitions claires empêchent les confusions lexicales en restaurant la question de la précision et de la cohérence de la classification verbale.
142,Comparaisons justifiées,798,Abus de langage,834;839,834=Comparaison abusive; 839=Fausse analogie,Argument from Analogy,Les éléments comparés présentent-ils des ressemblances pertinentes et suffisantes malgré leurs différences ?,crossLink_Opposes,Des comparaisons justifiées préviennent les abus de langage analogiques en restaurant l’examen de la pertinence réelle des ressemblances invoquées.
146,Clarté linguistique,798,Abus de langage,847;855,847=Amphibologie; 855=Équivoque,Argument from Verbal Classification,Les termes employés sont-ils suffisamment clairs et univoques pour soutenir la classification proposée ?,crossLink_Opposes,"La clarté linguistique prévient l’abus de langage en restaurant l’exigence que les mots utilisés aient un sens accessible, stable et non ambigu."
159,Clarté des enjeux,887,Tricherie,953;942,953=Attention sélective; 942=Fausse attribution,Argument from Commitment,"Les enjeux pertinents du débat sont-ils exposés loyalement, sans omission ni attribution trompeuse ?",crossLink_Opposes,"La clarté des enjeux empêche la tricherie en rendant explicites les objectifs, les responsabilités et les points réellement discutés."
167,Effort d'objectivité,887,Tricherie,953;1242,953=Attention sélective; 1242=Biais théoriques,Argument from Bias,"Les faits sont-ils établis avec impartialité, en tenant compte des biais possibles ?",crossLink_Opposes,L’effort d’objectivité prévient la tricherie en restaurant l’examen impartial des faits plutôt qu’une sélection orientée des éléments favorables.
180,Contribution positive,1280,Obstruction,1297;1313,1297=Preuve par assertion; 1313=Évasion,Argument from Commitment,La contribution apporte-t-elle des raisons substantielles qui répondent réellement à la discussion ?,crossLink_Opposes,La contribution positive prévient l’obstruction en remplaçant l’affirmation gratuite ou l’évitement par un apport argumentatif constructif.
199,Participation efficace,1280,Obstruction,1313;1345,1313=Évasion; 1345=Complication exagérée,Argument from Commitment,"La participation fait-elle avancer le débat de façon pertinente, claire et coopérative ?",crossLink_Opposes,La participation efficace prévient l’obstruction en maintenant l’échange centré sur des réponses utiles plutôt que sur l’évitement ou la complexification stérile.
207,Respect de la personne,1280,Obstruction,1398;1352,1398=Attaque personnelle; 1352=Empoisonnement du puits,Argument from Bias,La critique porte-t-elle sur l’argument plutôt que sur la disqualification de la personne ?,crossLink_Opposes,Le respect de la personne prévient l’obstruction en préservant la dignité des participants et en empêchant que le débat soit détourné par des attaques personnelles.
2 changes: 1 addition & 1 deletion docs/taxonomy/499-virtues-parity-pilot.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Without these layers, Virtues cannot express *which fallacies a virtue prevents*
Add to `Argumentum Virtues - Taxonomy.csv` the **same 12 columns** Fallacies uses, verbatim names:

```
crossLink_PredatesOn, crossLink_Denounces, crossLink_Levarages, crossLink_Allows,
crossLink_PredatesOn, crossLink_Denounces, crossLink_Leverages, crossLink_Allows,
crossLink_Opposes, crossLink_Inverts, crossLink_Mirrors, crossLink_IsRelatedTo,
AIF_skosDirectRef, AIF_skosExceptionRef, AIF_skosOther, AIF_skosMappingType
```
Expand Down
88 changes: 88 additions & 0 deletions docs/taxonomy/499-virtues-scaleup-phase1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# #499 — Virtues Scale-up, Phase 1: the 18 depth-2 sub-families (GATED proposal)

**Issue:** [#499 — Virtues parity with Fallacies relational + AIF layers](https://github.com/ArgumentumGames/Argumentum/issues/499)
**Author:** Claude Code @ myia-po-2024 (worker)
**Date:** 2026-06-17
**Base:** master `fc8313b3`
**Status:** **GATED PROPOSAL** — ai-01 reviews structure, jsboige validates content. **No production Virtues CSV change until jsboige approves.** This document + the annotation CSV are the proposition.

**Calibration:** [`499-virtues-parity-pilot.md`](499-virtues-parity-pilot.md) + [`499-pilot-annotations.csv`](499-pilot-annotations.csv) — jsboige **validated interactively** ("nickel pour la parité", 2026-06-17) and merged as the few-shot exemplar.

---

## 1. Scope of Phase 1

The pilot annotated **10 structuring virtues** (7 family roots at depth 1 + 3 central depth-2 sub-virtues: pk 12, 88, 153). Phase 1 completes the **depth-2 structural backbone**: the **18 remaining depth-2 sub-families** (3 per Virtue family, minus the 3 already done). These are the nodes that anchor each family's three sub-branches before the depth-3+ leaves are refined.

| Virtue family | depth-2 pks (Phase 1) | prevented Fallacy family |
|---|---|---|
| Argument pertinent | 2, 28 | Insuffisance (1) |
| Présentation intègre | 35, 51, 55 | Tricherie (887) |
| Rigueur mathématique | 60, 64, 71 | Erreur mathématique (594) |
| Raisonnement valide | 80, 84 | Erreur de raisonnement (696) |
| Langage exact | 135, 142, 146 | Abus de langage (798) |
| Honnêteté intellectuelle | 159, 167 | Tricherie (887) |
| Échange enrichissant | 180, 199, 207 | Obstruction (1280) |

Remaining after Phase 1: **194 depth-3…7 leaf nodes** (Phase 2+, per family).

## 2. Schema — mirrors the validated pilot (10-col presentation), not the 12-col prod write

The pilot CSV uses a **10-column presentation schema** (what jsboige validated). Phase 1 reuses it verbatim:

```
virtue_pk, virtue_title, prevented_family_pk, prevented_family_name,
crossLink_Opposes, opposed_fallacies_readable,
AIF_skosDirectRef, AIF_skosMappingType, link_type, justification
```

Two naming notes carried over from the pilot (intentional, not errors):
- `AIF_skosDirectRef` holds the **Walton scheme name** the virtue honors.
- `AIF_skosMappingType` holds the **critical question (CQ) the virtue restores** (FR), not a mapping-type enum.

When jsboige approves and we write to the production Virtues CSV, these map into the **12-col Fallacies-mirror schema** (8 `crossLink_*` + 4 `AIF_skos*`, §2 of the pilot doc). Phase 1's `crossLink_Opposes` cell → the `crossLink_Opposes` column; `AIF_skosDirectRef`/`AIF_skosMappingType` carry straight over. That prod write is the **final gated step** (spot-check ai-01 + nod jsboige).

## 3. The inverse paradigm (honored per virtue)

A virtue is the **good holding of a scheme** — the **correct answer to the CQ** that the corresponding fallacy **violates**. So each row gives: the Fallacy family prevented, 1–2 specific named fallacies opposed (`crossLink_Opposes`, real depth-3 PKs), the Walton scheme, and the CQ the virtue restores. The same family mirror the pilot recovered independently is used here as a **hard constraint**.

## 4. Method & anti-fabrication guarantee

- **Model:** gpt-5.5 (OpenAI direct, key live 2026-06-17). `POST /v1/responses`, `reasoning:{effort:"low"}`, `max_output_tokens:4500`, no `temperature` (rejected). 3 batches of 6 virtues (smoke first → batch validated format before continuing). Answer read from `output[].content[].text` (the `output_text` top-level field is empty for this provider).
- **Grounding catalog:** the **7 Fallacy family PKs** (1, 175, 594, 696, 798, 887, 1280) + **63 named depth-3 fallacies** (9 per family), extracted via CSV-aware parsing (`csv.DictReader` — naive `awk -F','` corrupts on quoted multilingual fields). The prompt forbids referencing any PK outside this catalog.
- **Family mirror as hard constraint:** each Virtue family's `prevented_family_pk` is fixed (pilot §3), so the model cannot invent a family mapping.
- **Verification (three independent layers, all re-checked against the REAL corpus, not the prompt catalog):**
1. *Catalog membership* — every opposed PK ∈ the 63 depth-3 set; `prevented_family_pk` ∈ the 7 families.
2. *Ground-truth* — every PK re-verified against the real 1408-row Fallacies CSV; opposed-PK ↔ name and family-PK ↔ name cross-checked character-for-character.
3. *Mirror consistency* — each virtue's `prevented_family_pk` equals the pilot §3 mirror for its Virtue family.
- **Result: 18/18 annotated, 0 violations across all three layers.** [PASS — structural integrity + mirror consistency verified.]

Generation/verify script: `tmp/499_gen.py` (ephemeral, not committed). Raw model output: `tmp/499_gen_batch{A,B,C}.json` (ephemeral).

## 5. Sample of the 18 rows (full set in the CSV)

| Virtue (pk) | → Fam. (PK) | Opposes (PK = fallacy) | Walton scheme | CQ restored |
|---|---|---|---|---|
| Généralisations justifiées (60) | Erreur math (594) | 596 Échantillon biaisé · 759 Conclusion hâtive | Argument from Example | L'échantillon est-il représentatif et suffisant ? |
| Causalités bien identifiées (80) | Erreur raisonn. (696) | 707 Inversion de causalité · 719 Effet cigogne | Argument from Cause to Effect | La relation causale est-elle établie sans confondre cause et corrélation ? |
| Comparaisons justifiées (142) | Abus langage (798) | 834 Comparaison abusive · 839 Fausse analogie | Argument from Analogy | Les ressemblances invoquées sont-elles pertinentes ? |
| Clarté linguistique (146) | Abus langage (798) | 847 Amphibologie · 855 Équivoque | Argument from Verbal Classification | Les termes sont-ils univoques ? |
| Respect de la personne (207) | Obstruction (1280) | 1398 Attaque personnelle · 1352 Empoisonnement du puits | Argument from Bias | La critique porte-t-elle sur l'argument, pas la personne ? |

Machine-readable: [`499-scaleup-phase1-annotations.csv`](499-scaleup-phase1-annotations.csv).

## 6. What this does NOT do (gate boundaries)

- ❌ Does **not** edit the production `Argumentum Virtues - Taxonomy.csv` (no schema cols added, no rows changed). Awaiting jsboige approval.
- ❌ Does **not** touch OWL, EPITA consumer, cards, or mindmaps.
- ❌ Does **not** claim the content is final — Phase 1 is the depth-2 backbone; depth-3…7 refinement (Phase 2+) follows, then the gated prod write.

## 7. Proposed next steps (gated on jsboige)

1. **jsboige validates** the 18 Phase-1 rows (paradigm + content).
2. **Phase 2+** — refine the depth-3…7 leaves per family (Raisonnement valide = 55 nodes is the largest; Langage exact = 18 the smallest), same method + anti-fab.
3. On approval of the full set: add the 12 columns to the production Virtues CSV (empty), populate via DatasetUpdater gpt-5.5 using pilot + Phase 1 as calibration, then propagate to OWL + wire the EPITA consumer.

---

*GATED proposal. Worker signals structure + grounding; ai-01 reviews, jsboige validates content. No production data changed.*
Loading