Skip to content

docs(taxonomy): #499 Virtues relational/AIF parity pilot — GATED proposal (10-virtue, gpt-5.5, anti-fab verified) - #503

Merged
jsboige merged 1 commit into
masterfrom
feat/499-virtues-parity-pilot
Jun 17, 2026
Merged

docs(taxonomy): #499 Virtues relational/AIF parity pilot — GATED proposal (10-virtue, gpt-5.5, anti-fab verified)#503
jsboige merged 1 commit into
masterfrom
feat/499-virtues-parity-pilot

Conversation

@jsboige

@jsboige jsboige commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

What

GATED proposal for #499 — Virtues relational/AIF parity. The Virtues taxonomy entirely lacks the two structural layers Fallacies has (relational crossLink_* + ontological AIF_skos*). This PR proposes the schema + demonstrates it on a 10-virtue pilot, with a full anti-fabrication guarantee. No production Virtues CSV is changed — this is the proposal for jsboige to validate before scale-up.

Why

Virtues (66 cols) can't express which fallacies a virtue prevents or anchor to Walton's Argument Interchange Framework. The EPITA consumer hard-codes 9 virtues precisely because the taxonomy can't answer "what does this virtue protect against?" Adding parity turns the 223-node Virtues backbone into a consumable, traceable counterpart to Fallacies.

The gap (verified)

Layer Fallacies Virtues
crossLink_* (relational) 8 cols 0
AIF_skos* (ontological) 4 cols 0
Total cols 102 66

Deliverables

  • docs/taxonomy/499-virtues-parity-pilot.md — schema design (add the same 12 cols verbatim), the symmetric 7-family Virtue↔Fallacy mirror, the 10-virtue pilot table, method, and anti-fabrication proof.
  • docs/taxonomy/499-pilot-annotations.csv — machine-readable pilot (10 rows): crossLink_Opposes (real Fallacies PKs) + AIF_skosDirectRef (Walton scheme) + AIF_skosMappingType (restored critical question).

The pilot (10 structuring virtues — 7 family roots + 3 central subs)

Each virtue → prevented Fallacy family + 1–2 specific opposed fallacies (real depth-3 PKs) + canonical Walton scheme + the critical question the virtue restores. Example rows:

Virtue → Family Opposes Walton CQ restored
Raisonnement valide (79) Erreur de raisonnement (696) 727, 784 La conclusion découle-t-elle des prémisses par une inférence valide ?
Langage exact (134) Abus de langage (798) 800, 855 Les termes sont-ils définis et employés dans le même sens précis ?
Échange enrichissant (179) Obstruction (1280) 1313 L'interlocuteur répond-il à la question plutôt que de l'éviter ?

Anti-fabrication guarantee (the hard requirement)

  • Grounding: gpt-5.5 was given only a catalog of 7 family + 63 named depth-3 real Fallacies PKs (extracted directly from the CSV) and forbidden to reference any PK outside it.
  • Verification (2 layers): every returned PK checked against the catalog and re-verified against the real 1408-row Fallacies CSV.
  • Result: 29 PK references, 0 violations. PASS — all PKs verified real.

The 7-family mirror was independently recovered by gpt-5.5 from the definitions (not told the mapping) — it matches the hand-derived backbone, validating conceptual coherence.

Method

gpt-5.5 (OpenAI direct, key live 2026-06-16), one call per virtue, max_completion_tokens=1500, no temperature (reasoning models reject it). Raw output + generation script in tmp/ (not committed; available on request).

Gate boundaries (what this does NOT do)

  • ❌ No edit to the production Argumentum Virtues - Taxonomy.csv.
  • ❌ No OWL ontology or consumer (EPITA/cards/mindmaps) change.
  • ❌ Does not claim final content — the pilot is the calibration exemplar for scale-up to all 223 nodes.

For reviewers

  • ai-01: review the schema design (§2), mirror coherence (§3), and grounding/verify method (§5).
  • jsboige: validate the content — the 12-column set, the family mirror, and the 10 pilot mappings (§4). On approval, scale-up populates the 223 nodes via DatasetUpdater (gpt-5.5) using this pilot as few-shot calibration.

Marked draft until jsboige content review.

Refs #499

🤖 Generated with Claude Code

…osal

Adds a GATED proposal (no production CSV change) for Virtues parity with
the Fallacies relational + AIF layers that Virtues entirely lacks.

Gap confirmed: Virtues = 66 cols, 0 crossLink_*/AIF_skos* vs Fallacies =
102 cols with 8 crossLink_* + 4 AIF_skos*.

Contents:
- Schema design: add the same 12 cols (8 crossLink_* + 4 AIF_skos*) to
  Virtues, mirroring Fallacies verbatim. Structural only.
- Conceptual backbone: symmetric 1:1 Virtue↔Fallacy family mirror
  (7 families), independently recovered by gpt-5.5 from definitions.
- 10-virtue pilot (7 family roots + 3 structuring subs): each annotated
  with prevented family PK, 1-2 specific opposed fallacy PKs (real
  Fallacies depth-3), canonical Walton scheme, restored critical question
  (FR), link type, justification.
- Anti-fabrication: grounded in a catalog of 7 family + 63 depth-3 real
  Fallacies PKs; 29 PK references verified 0 violations against the real
  1408-row CSV (PASS).
- Method: gpt-5.5 direct (key live 2026-06-16), one call/virtue.

GATED: ai-01 reviews structure, jsboige validates content. No Virtues
CSV edit, no OWL/consumer change until approval. Pilot serves as the
calibration exemplar for the scale-up to all 223 nodes.

Refs #499

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@clusterManager-Myia

Copy link
Copy Markdown
Collaborator

[NanoClaw] LGTM — GATED proposal, 2 files (+113/-0)

Excellent structure: clear gate boundaries (no production CSV changes), anti-fabrication verification (29 PKs checked against real 1408-row catalog, 0 violations), Walton scheme grounding with critical questions in FR. The 10-virtue pilot demonstrates the Virtue↔Fallacy family mirror cleanly.

Minor: §2 lists crossLink_Levarages#502 just fixed that typo to Leverages. Update this reference once #502 merges. Cosmetic, not a blocker.

No concerns.

@jsboige
jsboige marked this pull request as ready for review June 17, 2026 00:02
@jsboige
jsboige merged commit 487b3a9 into master Jun 17, 2026
3 checks passed
@jsboige
jsboige deleted the feat/499-virtues-parity-pilot branch June 17, 2026 00:02
jsboige added a commit that referenced this pull request Jun 17, 2026
Encodes the manual anti-fabrication passes done per taxonomy scale-up phase
(pilots #503/#505/#508, phase-1 #509/#510) into a stdlib-only Python tool so each
new proposition CSV can be validated automatically before its PR. Dispatched by
ai-01 (msg-20260617T051231); built by worker po-2024.

Why a script, not a C# test: the docs/taxonomy/ propositions have HETEROGENEOUS
schemas (virtues / AIF-triple / cross-links) that are not C# entities, and the
generation+anti-fab tooling for this lane is Python. A stdlib-only script adds no
runtime the repo does not already imply, and accepts arbitrary CSV paths so a
worker validates a phase file on its own branch before opening the PR.

Checks (per detected schema kind):
- (a) HARD  PK membership — every *_pk / opposed PK / family PK / source+target PK
  is a real PK in the corresponding corpus CSV; family PKs are depth 1.
- (b) HARD  link_type in the 8 crossLink_* types.
- (c) WARN  Walton scheme in the union used by validated pilots (drift detection).
- (d) HARD  attack_type in {undermine, undercut, rebut}.
- (e) WARN  attacked_component coherent with attack_type (data-grounded map).
- (f) HARD  symmetric links: the reverse edge is encoded (symmetric flag = source
  of truth, not a type-set heuristic).

Anti-fab design: no machine-readable canonical "Walton 24" exists in the repo
(corpus AIF_skosDirectRef holds AIF node IDs, not scheme names; generation was
ad-hoc). Hardcoding Walton from memory risks false fail/pass. So check (c) is a
WARNING built from the union of scheme names used by merged validated pilots —
catches drift honestly without fabricating a canonical list.

DoD: 0 HARD violations across all 5 existing CSVs
(497-pilot-crosslinks, 498-pilot-annotations, 499-pilot-annotations on master +
498-scaleup-phase1 #509, 499-scaleup-phase1 #510 from their branches). Negative
test: deliberately corrupted CSVs trigger every HARD check (bad PK, bad link type,
wrong family depth, bad attack type, missing reciprocal edge) — proven, not
assumed.

Gate-safe: pure tooling, 0 prod change (no CSV, no config, no workflow).

Contributes to the taxonomy scale-up lane (#497/#498/#499). Refs #509/#510.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 18, 2026
…es (gated) (#510)

Phase 1 of the #499 Virtues parity scale-up, dispatched by ai-01 after jsboige
validated the pilot (#503, "nickel pour la parité"). Completes the depth-2
structural backbone: the 18 remaining depth-2 sub-family Virtue nodes (the pilot
did the 7 family roots + 3 depth-2 nodes: pk 12, 88, 153).

Inverse paradigm (per virtue): the Fallacy family it prevents, 1-2 specific named
fallacies it opposes (crossLink_Opposes, real depth-3 PKs), the Walton scheme, and
the critical question the virtue RESTORES (not violates).

- Method: gpt-5.5 via /v1/responses, reasoning.effort=low, 3 batches of 6 (smoke
  first). Family mirror (pilot S3) enforced as a hard constraint so the model
  cannot invent a family mapping.
- Grounding catalog: 7 Fallacy family PKs + 63 named depth-3 fallacies (9/family),
  extracted via csv.DictReader (naive awk -F',' corrupts on quoted multilingual
  fields). Prompt forbids any PK outside the catalog.
- Anti-fab: 3 independent layers, all re-checked against the REAL corpus (not the
  prompt catalog): catalog membership, ground-truth PK<->name, mirror consistency.
  Result: 18/18 annotated, 0 violations.

Files:
- 499-virtues-scaleup-phase1.md: Phase 1 proposition doc (method, anti-fab, sample)
- 499-scaleup-phase1-annotations.csv: 18 rows, pilot 10-col presentation schema
  (AIF_skosDirectRef = Walton scheme; AIF_skosMappingType = restored CQ text)
- 499-virtues-parity-pilot.md: fix prose typo crossLink_Levarages -> Leverages
  (#502 fixed it on the Fallacies side; dispatch asked to fix this copy)

Gate boundaries: docs/ proposition ONLY. No production Virtues CSV change (the
12-col prod write is the final gated step: spot-check ai-01 + nod jsboige).
Worker signals structure + grounding; ai-01 reviews, jsboige validates content.

Contributes to #499. Refs #503 (validated pilot), #497/#498 (sibling lanes).

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jun 22, 2026
…lot diacritics (#578)

Add the closure dossier for #499 (Virtues relational/AIF parity) and
normalize the pilot CSV's display diacritics, giving ai-01/jsboige one
consolidated, validator-clean dossier to review.

Context: ai-01 dispatched GO #499 (relational layer, draft non-prod,
docs/taxonomy/, gpt-5.5). Verify-before-code showed generation was already
COMPLETE: pilot (#503) + phase 1 (#510) + phase 2 batches 1-7 (#530-#544)
cover all 8 Virtue families depth 1-7. So the genuine remaining un-gated
work was consolidation + validation, not generation.

Coverage (measured against the real 223-row Virtues CSV):
- 223/223 Virtue PKs annotated (0 unannotated) = 100% coverage.
- 222 annotation rows across 12 CSVs (pilot + phase 1 re-confirm roots).
- 14 distinct Walton schemes referenced (Rule 50, Commitment 40, Bias 27,
  Sign 26, Verbal Classification 21, ...) - semantic specificity, not
  template repetition.
- 7 Virtue families -> 6 Fallacy families (Presentation intregre 34 +
  Honnetete 152 both -> Tricherie 887, the dual-facet mapping gpt-5.5
  recovered independently).

Validator #518 holistic run across all 12 CSVs:
- BEFORE: 12/12 CLEAN, 0 HARD, 8 WARN (all in the pilot CSV #503).
- The 8 warnings were cosmetic diacritic-folding in the pilot's display
  columns (virtue_title/prevented_family_name/opposed_fallacies_readable):
  "Premisses fiables" vs corpus "Premisses fiables" (ASCII-folded). PKs,
  Walton schemes, CQs were all real and verified - WARN, not HARD.
- This PR normalizes the pilot display diacritics to the corpus (aligning
  it with its own pilot MD section 4 table, which already shows accented
  forms). No PK, scheme, CQ, link_type, or justification changed.
- AFTER: 12/12 CLEAN, 0 HARD, 0 WARN.

Closure recommendation: CLOSE #499 (content-proposal layer). Generation
complete, 100% coverage, 0 HARD violations, fail-loud satisfied. Remaining
steps are all GATED on jsboige: (1) content validation, (2) prod 12-col
Virtues CSV write, (3) OWL propagation (Virtues not yet in OWL export -
OwlAdapter handles Fallacies only), (4) EPITA consumer wiring.

New file: docs/taxonomy/499-virtues-parity-closure.md (mirrors
498-aif-closure.md structure). Modified: 499-pilot-annotations.csv
(display diacritics only). No production Virtues CSV touched.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants