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
11 changes: 11 additions & 0 deletions docs/taxonomy/499-pilot-annotations.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
virtue_pk,virtue_title,prevented_family_pk,prevented_family_name,crossLink_Opposes,opposed_fallacies_readable,AIF_skosDirectRef,AIF_skosMappingType,link_type,justification
1,Argument pertinent,1,Insuffisance,153;3,153=Argument des mauvaises raisons; 3=Argument vide,Argument from Sign,L'élément invoqué constitue-t-il réellement un signe pertinent et fiable de la conclusion avancée ?,crossLink_Opposes,"Un argument pertinent exige que les raisons ou preuves fournies aient un lien probant avec la conclusion, ce qui écarte les arguments vides ou fondés sur de mauvaises raisons."
12,Premisses fiables,1,Insuffisance,3;33,3=Argument vide; 33=Justification triviale,Argument from Position to Know,La source ou la prémisse avancée est-elle suffisamment fiable et en position de soutenir correctement la conclusion ?,crossLink_Opposes,Des prémisses fiables empêchent qu’une conclusion repose sur un support vide ou trivial en rétablissant l’exigence waltonienne d’une base crédible et adéquate.
34,Presentation integre,887,Tricherie,889;942,889=Mensonge; 942=Fausse attribution,Argument from Witness Testimony,Le témoin ou l'orateur dit-il la vérité et attribue-t-il correctement les propos ou les preuves qu'il présente ?,crossLink_Opposes,"La présentation intègre impose une restitution honnête et traçable des faits et des sources, ce qui bloque le mensonge et la fausse attribution en rétablissant la question critique de véracité du témoignage."
59,Rigueur mathematique,594,Erreur mathematique,644;681,644=Probabilites faussees; 681=Erreur de calcul,Argument from Sign,Le signe quantitatif invoqué est-il calculé correctement et constitue-t-il un indicateur fiable de la conclusion ?,crossLink_Opposes,"La rigueur mathématique impose de vérifier les calculs, les probabilités et la validité des indicateurs avant d’en tirer une conclusion argumentative."
79,Raisonnement valide,696,Erreur de raisonnement,727;784,727=Erreur de logique propositionnelle; 784=Syllogisme invalide,Argument from Commitment,La conclusion découle-t-elle réellement des prémisses acceptées selon une règle d’inférence valide ?,crossLink_Opposes,"Le raisonnement valide exige que les engagements prémissiels soutiennent effectivement la conclusion, ce qui bloque les erreurs formelles comme l’erreur de logique propositionnelle et le syllogisme invalide."
88,Deductions correctes,696,Erreur de raisonnement,727;784,727=Erreur de logique propositionnelle; 784=Syllogisme invalide,Argument from Commitment,La conclusion découle-t-elle effectivement des prémisses selon une règle d’inférence valide ?,crossLink_Opposes,Des déductions correctes empêchent les erreurs de logique propositionnelle et les syllogismes invalides en vérifiant que le passage des prémisses à la conclusion satisfait une règle d’inférence valide.
134,Langage exact,798,Abus de langage,800;855,800=Acception vague; 855=Equivoque,Argument from Verbal Classification,Les termes clés sont-ils définis et employés dans le même sens précis et pertinent tout au long de l’argument ?,crossLink_Opposes,Le langage exact prévient l’acception vague et l’équivoque en rétablissant l’exigence critique de stabilité et de précision des termes dans la classification verbale.
152,Honnetete intellectuelle,887,Tricherie,942;953,942=Fausse attribution; 953=Attention selective,Argument from Witness Testimony,La source est-elle rapportée fidèlement et sans sélection biaisée des éléments pertinents ?,crossLink_Opposes,"L’honnêteté intellectuelle oblige à citer correctement les sources et à présenter aussi les éléments défavorables, ce qui rétablit la CQ de fiabilité du témoignage contre la fausse attribution et l’attention sélective."
153,Fidelite aux faits,887,Tricherie,889;953,889=Mensonge; 953=Attention selective,Argument from Witness Testimony,"Le témoignage ou l’énoncé factuel est-il exact, complet et corroboré par les faits disponibles ?",crossLink_Opposes,"La fidélité aux faits s’oppose au mensonge et à l’attention sélective en rétablissant l’exigence waltonienne de vérifier que les affirmations factuelles sont exactes, pertinentes et non tronquées."
179,Echange enrichissant,1280,Obstruction,1313,1313=Evasion,Argument from Commitment,"L’interlocuteur répond-il effectivement à l’engagement ou à la question en discussion, plutôt que de déplacer le sujet ?",crossLink_Opposes,"Un échange enrichissant, fondé sur l’écoute active et la considération mutuelle, oblige chaque participant à traiter les engagements pertinents de l’autre au lieu de recourir à l’évasion."
102 changes: 102 additions & 0 deletions docs/taxonomy/499-virtues-parity-pilot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# #499 — Virtues Relational/AIF Parity Pilot (GATED proposal)

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

---

## 1. The gap (confirmed concretely)

The Fallacies taxonomy carries two structural layers the Virtues taxonomy **does not have at all** — the columns are absent from the schema, not merely empty:

| Layer | Fallacies cols | Virtues cols |
|-------|---------------|--------------|
| Descriptive + i18n (8 langs) | ✓ | ✓ (66 cols, 223 rows) |
| **Relational** (`crossLink_*`) | **8** (PredatesOn, Denounces, Levarages, Allows, Opposes, Inverts, Mirrors, IsRelatedTo) | **0** |
| **Ontological / AIF** (`AIF_skos*`) | **4** (DirectRef, ExceptionRef, Other, MappingType) | **0** |
| **Total cols** | 102 | 66 |

Without these layers, Virtues cannot express *which fallacies a virtue prevents*, nor anchor itself to the **Argument Interchange Framework** (Walton schemes + critical questions) that Fallacies already uses. The EPITA consumer currently hard-codes 9 virtues because the taxonomy cannot answer "what does this virtue protect against?"

## 2. Proposed schema (mirror of Fallacies, no invention)

Add to `Argumentum Virtues - Taxonomy.csv` the **same 12 columns** Fallacies uses, verbatim names:

```
crossLink_PredatesOn, crossLink_Denounces, crossLink_Levarages, crossLink_Allows,
crossLink_Opposes, crossLink_Inverts, crossLink_Mirrors, crossLink_IsRelatedTo,
AIF_skosDirectRef, AIF_skosExceptionRef, AIF_skosOther, AIF_skosMappingType
```

Convention (matches existing Fallacies usage): a `crossLink_*` cell holds one or more **target PKs** (Fallacies PKs, since the relation is cross-taxon Virtue→Fallacy). `AIF_skosMappingType` holds the Walton scheme + the critical question in a compact form. This is structural parity only — *populating* it is the pilot below.

## 3. The conceptual backbone — symmetric Virtue ↔ Fallacy family mirror

The two taxonomies are designed as **inverses**: each Virtue family is the antidote to exactly one Fallacy family. The pilot confirms this 1:1 mirror independently (gpt-5.5 was not told the mapping; it recovered it from the definitions):

| Virtue family (pk) | prevents Fallacy family (PK) | relation |
|--------------------|------------------------------|----------|
| Argument pertinent (1) | Insuffisance (1) | pertinence ↔ insufficient/irrelevant support |
| Présentation intègre (34) | Tricherie (887) | honest presentation ↔ cheating/misrepresentation |
| Rigueur mathématique (59) | Erreur mathématique (594) | exact mirror |
| Raisonnement valide (79) | Erreur de raisonnement (696) | exact mirror |
| Langage exact (134) | Abus de langage (798) | exact mirror |
| Honnêteté intellectuelle (152) | Tricherie (887) | honesty ↔ factual cheating |
| Échange enrichissant (179) | Obstruction (1280) | constructive exchange ↔ debate obstruction |

> Note on 152/34 → both map to Tricherie (887). This is correct: *Présentation intègre* and *Honnêteté intellectuelle* are two facets (presentational vs epistemic) of resisting the same family of deception. Influence (175) is reached at the **specific-fallacy** level (e.g. appeal to consequences, conditioning) rather than the family level — exercised in the pilot's `opposed_fallacy_pks`.

## 4. The pilot — 10 structuring virtues, fully annotated

**Selection:** the 7 family roots (depth 1) + 3 structurally central sub-virtues (depth 2): *Prémisses fiables* (12), *Déductions correctes* (88), *Fidélité aux faits* (153).

For each: the Fallacy family prevented, 1–2 **specific named fallacies** (real Fallacies depth-3 PKs) it directly opposes, the canonical **Walton argumentation scheme**, the **critical question** the fallacy violates and the virtue restores, the link type, and a one-line justification.

| Virtue (pk) | → Fam. (PK) | Opposes (PK = fallacy) | Walton scheme | Critical question restored (FR) |
|---|---|---|---|---|
| Argument pertinent (1) | Insuffisance (1) | 153 Argument des mauvaises raisons · 3 Argument vide | Argument from Sign | L'élément invoqué est-il un signe pertinent et fiable de la conclusion ? |
| Prémisses fiables (12) | Insuffisance (1) | 3 Argument vide · 33 Justification triviale | Argument from Position to Know | La prémisse est-elle suffisamment fiable pour soutenir la conclusion ? |
| Présentation intègre (34) | Tricherie (887) | 889 Mensonge · 942 Fausse attribution | Argument from Witness Testimony | L'orateur dit-il la vérité et attribue-t-il correctement les propos ? |
| Rigueur mathématique (59) | Erreur math (594) | 644 Probabilités faussées · 681 Erreur de calcul | Argument from Sign | Le signe quantitatif est-il calculé correctement et fiable ? |
| Raisonnement valide (79) | Erreur raisonn. (696) | 727 Erreur de logique propositionnelle · 784 Syllogisme invalide | Argument from Commitment | La conclusion découle-t-elle des prémisses par une inférence valide ? |
| Déductions correctes (88) | Erreur raisonn. (696) | 727 Erreur de logique propositionnelle · 784 Syllogisme invalide | Argument from Commitment | La conclusion découle-t-elle effectivement des prémisses ? |
| Langage exact (134) | Abus langage (798) | 800 Acception vague · 855 Équivoque | Argument from Verbal Classification | Les termes sont-ils définis et employés dans le même sens précis ? |
| Honnêteté intellectuelle (152) | Tricherie (887) | 942 Fausse attribution · 953 Attention sélective | Argument from Witness Testimony | La source est-elle rapportée fidèlement, sans sélection biaisée ? |
| Fidélité aux faits (153) | Tricherie (887) | 889 Mensonge · 953 Attention sélective | Argument from Witness Testimony | L'énoncé factuel est-il exact, complet et corroboré ? |
| Échange enrichissant (179) | Obstruction (1280) | 1313 Évasion | Argument from Commitment | L'interlocuteur répond-il à la question en discussion plutôt que de l'éviter ? |

Machine-readable version: [`499-pilot-annotations.csv`](499-pilot-annotations.csv).

## 5. Method & anti-fabrication guarantee

- **Model:** gpt-5.5 (OpenAI direct, key live 2026-06-16). One call per virtue, `max_completion_tokens=1500`, no `temperature` (reasoning models reject it — learned this tick).
- **Grounding catalog:** the **7 Fallacy family PKs + 63 named depth-3 fallacies (9 per family)**, all extracted directly from `Argumentum Fallacies - Taxonomy.csv`. The prompt forbids referencing any PK outside this catalog.
- **Verification (two layers):**
1. *Catalog check* — every returned PK must be in the catalog (script `verify()`).
2. *Ground-truth check* — every returned PK re-verified against the **real 1408-row Fallacies CSV**, not the catalog.
- **Result:** **29 PK references checked, 0 violations.** All family PKs confirmed depth-1. [PASS — all PKs verified real.]

Generation script: `tmp/499_pilot_gen.py` (not committed — ephemeral). Raw model output: `tmp/499_pilot_annotations.json` (not committed — `_usage` tokens included for audit; can be committed on request).

## 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 of the column set + the 10 pilot mappings.
- ❌ Does **not** touch the OWL ontology or any consumer (EPITA harness, cards, mindmaps).
- ❌ Does **not** claim the pilot is the final content — it is the **calibration exemplar** for the scale-up to all 223 nodes.

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

1. **jsboige validates** (a) the 12-column schema, (b) the family mirror in §3, (c) the 10 pilot rows in §4.
2. On approval: add the 12 columns to the production Virtues CSV (empty), then populate the **223 nodes** via a DatasetUpdater gpt-5.5 task using this pilot as few-shot calibration + the same catalog-grounding + anti-fabrication verify.
3. Propagate to the OWL ontology (Virtue nodes gain `AIF_skos*` + `crossLink_*` triples), and wire the EPITA consumer to read the relational layer instead of the hard-coded 9.

## 8. Consumer benefit (EPITA)

Once populated, the relational layer lets the consumer answer, for any virtue, *"which fallacy does this protect against, and which critical question does it enforce?"* — replacing the 9 hard-coded virtues with the full 223-node backbone, and giving every virtue a traceable Walton grounding.

---

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