docs(ontology): AIF Virtues export — companion to #828 (double V-A/V-B modelling, read-only) - #829
Merged
Merged
Conversation
…B modelling, read-only) Extends the AIF export (#828, Fallacies) to the Virtues Taxonomy. Companion to aif-attack-graph-export.py. Read-only on sources, post-tag-safe. Honest verdict: the 222 virtues carry a DOUBLE AIF modelling of the same population — two complementary views, never merged: - V-A (CSV): 222 bipartite attack-edges (virtue -> node-TYPE RA/I/CA), 0 axiom violations (undercut->RA 206, undermine->I 13, rebut->CA 3). - V-B (OWL aif#goodTenorOf): 222 virtue -> canonical argument-scheme edges (14 schemes: Rule 50, Commitment 40, Bias 27, Sign 26, ...). Same 14-scheme vocabulary, different predicates. Not redundant, not contradictory. Contrast with Fallacies (#828): Fallacies carry ONLY the attack-graph (V-A), no goodTenorOf. Virtues are the dual (BOTH views). Do NOT fuse Fallacies-attacks + Virtues-attacks — Virtues-attacks encode counter-arguments to fallacies. Artefacts (docs/ontology/aif-export/): - aif-virtues-attack-edges.csv 222 V-A bipartite attack-edges (PK-keyed) - aif-virtues-good-tenor.csv 222 V-B virtue->scheme edges - aif-virtues-canonical-concepts.csv 14 AIF schemes (skos refs) - aif-virtues-schemes.csv 14 schemes distribution - README.md + Virtues companion section tools/aif-virtues-export.py: reproducible (Python stdlib, ~1s, 0 write to sources). Refs: #828 (Fallacies AIF export), CoursIA ICT #7289, Layer C #790. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…es↔Virtues vocabularies disjoint) Empirical finding (read-only, no fabrication): Fallacies (#828) and Virtues (#829) reference DISJOINT AIF vocabularies (intersection = 0). - Fallacies: 60 concepts, "<Topic>_<Type>" suffix (_Inference/_Conflict/_Scheme) - Virtues: 14 concepts, "Argument from <Topic>" readable form Both conventions co-exist as declared classes in the source AIF ontology (Ontology/Resources/AIF.owl: 125 _Type forms + 15 "Argument from X" forms). A lexical alignment is inferrable in several cases but NO materialised mapping table exists in the source data. The export therefore does NOT unify the two vocabularies — documented to prevent the false assumption that the two concept spaces are pre-aligned. A consumer needing a unified AIF space must build that mapping explicitly (modelling decision, not export). Same lane (Cards/AIF), post-tag-safe, 0 write to sources. Amend to PR #829. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…bility) The ontology README (§2 Layer 3) documents the AIF attack-typed counts (Fallacies 145, Virtues 222) but did not reference the consumable CSV exports in aif-export/ added by #828 + #829. Add a short pointer in §3 so downstream consumers (CoursIA ICT #7289, Layer C #790) can discover the bipartite attack-edges, good-tenor edges, canonical concepts, taxonomy tree, and inter-fallacy relations CSVs + the reproducible export scripts. Same lane (Cards/AIF docs), post-tag-safe, 0 write to sources. Amend to PR #829. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… README 1985 raw) Resolves the crossLink delta tracked at tick 49 (README §2 Layer 2 = 1985 vs aif-relations-graph.csv = 1734). Read-only investigation finding — NOT a bug, a counting-methodology difference: - README 1985 = RAW emitted assertions (pre-dedup). - Raw OWL parse = 1977 (= README 1985 minus 8 schema self-definitions, one per verb across the 8 relation verbs). - 1977 raw - 1734 distinct = 243 EXACT-duplicate triples (OWLSharp serializer idempotency quirk, not a data issue). The dedup is correct for a consumer. - Symmetric verbs (mirrors/isRelatedTo/inverts/opposes) are emitted bidirectionally as two distinct triples (A,p,B)+(B,p,A) — both kept (not duplicates). Added a count-reconciliation note to the aif-relations-graph.csv section of the export README so consumers understand the 1734 vs 1985 difference. Same lane (Cards/AIF docs), post-tag-safe, 0 write to sources. Amend to PR #829. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Jul 21, 2026
…ract (#7289 Phase-B) (#833) * docs(ontology): AIF export — directed/typed spectral consumption contract (#7289 Phase-B) Bridge note (tertiary deliverable of ai-01 dispatch #497/#498/bridge deep-queue) for CoursIA ICT #7289 strate-6 Phase-B consumers, and the nit raised in notebook #7341 review: the AIF attack graph is DIRECTED (attacker -> abstract node-TYPE, bipartite) and TYPED (undercut/undermine/rebut). A spectral/Laplacian consumer must preserve both, or collapse the mode-of-attack signal the analysis wants to surface. - Directed, not symmetric: standard L_sym on an undirected projection treats attacker and attacked node-type as interchangeable (they are not; direction is the semantics). - Typed edges carry distinct modes: do not binarise undercut/undermine/rebut (RA-node / I-node / CA-node = three argumentative operations). - Complementary graphs have different symmetries: aif-relations-graph.csv (bidirectional mirrors/isRelatedTo) vs aif-attack-edges.csv (typed directed) -- pick the graph matching the question, do not merge. - Recommended (consumer choice, not exported): directed / magnetic hermitian Laplacian, or type-weighted / multi-channel edges. Consumption contract only -- CSVs unchanged, 0 data change, 0 fabrication. Read-only docs lane (same as #828/#829), post-tag-safe. Verdict QA = ai-01. Refs: dispatch ai-01 -> po-2024 (msg-20260721T174854-ucdwi7). Co-Authored-By: Claude-Code <noreply@anthropic.com> * docs(ontology): clarify rebut→CA is export's mode-marker, not canonical AIF target (#833 review) Addresses NanoClaw's structural-review nit on the #7289 Phase-B consumption contract: the new "Typed edges" bullet said `rebut` "attacks the conclusion, CA-node", conflating the canonical semantic target (an I-node) with the export's node-type marker (`CA-node`). Verified against aif-attack-edges.csv: the export genuinely emits `rebut → CA-node` (5 rows, node_type_axiom_ok=1), consistent with the already-merged verdict table (#828). Reworded the bullet to state that `CA` here is the export's *conflicting-application* mode-marker (keeping the three attack types on distinct node-types = separable spectral channels), NOT the canonical AIF target — in canonical AIF/ASPIC+ a rebuttal targets the conclusion I-node. Consumer should read it as a type channel, not a node instance. Additive docs-only clarification; CSVs unchanged, 0 data change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
This was referenced Jul 21, 2026
Merged
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.
What
Companion to #828 (Fallacies AIF export). Extends the AIF export to the Virtues Taxonomy — autonomous post-tag-safe follow-up as invited by ai-01 (msg-wfk7jq: "ne stalle pas, ouvre des PRs autonomes"). Read-only on sources (CSV +
argumentum_virtues.owl), 0 write, does not touch the release.Honest verdict — DOUBLE AIF modelling of the Virtues
The 222 virtues carry two complementary AIF views of the same population, never merged:
AIF_attackType+AIF_attackedNode)argumentum_virtues.owl(aif#goodTenorOf)Contrast with Fallacies (#828)
Fallacies carry only the attack-graph (V-A) — no
goodTenorOfinargumentum.owl. The Virtues are the dual (carry BOTH views). Do NOT fuseFallacies-attacks+Virtues-attacks— Virtues-attacks encode counter-arguments to fallacies, a different semantics.Artefacts (
docs/ontology/aif-export/)aif-virtues-attack-edges.csvaif-virtues-good-tenor.csvaif-virtues-canonical-concepts.csvaif-virtues-schemes.csvREADME.mdtools/aif-virtues-export.py— reproducible (Python stdlib, ~1s, idempotent, 0 write to sources).Post-tag-safe
Docs + generated CSVs + one tool script. No source change. No release impact. Gate (b)/(d) untouched.
Refs
900cee2b).🤖 Generated with Claude Code