docs(taxonomy): #499 Virtues relational/AIF parity pilot — GATED proposal (10-virtue, gpt-5.5, anti-fab verified) - #503
Merged
Conversation
…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>
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 No concerns. |
jsboige
marked this pull request as ready for review
June 17, 2026 00:02
42 tasks
This was referenced Jun 17, 2026
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>
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
GATED proposal for #499 — Virtues relational/AIF parity. The Virtues taxonomy entirely lacks the two structural layers Fallacies has (relational
crossLink_*+ ontologicalAIF_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)
crossLink_*(relational)AIF_skos*(ontological)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:
Anti-fabrication guarantee (the hard requirement)
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, notemperature(reasoning models reject it). Raw output + generation script intmp/(not committed; available on request).Gate boundaries (what this does NOT do)
Argumentum Virtues - Taxonomy.csv.For reviewers
Marked draft until jsboige content review.
Refs #499
🤖 Generated with Claude Code