Skip to content

docs(taxonomy): #499 Virtues scale-up phase 1 — 18 depth-2 sub-families (gated) - #510

Merged
jsboige merged 1 commit into
masterfrom
feat/499-virtues-scaleup-phase1
Jun 18, 2026
Merged

docs(taxonomy): #499 Virtues scale-up phase 1 — 18 depth-2 sub-families (gated)#510
jsboige merged 1 commit into
masterfrom
feat/499-virtues-scaleup-phase1

Conversation

@jsboige

@jsboige jsboige commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

What

Phase 1 of the #499 Virtues parity scale-up, dispatched by ai-01 after jsboige validated the pilot (#503, "nickel pour la parité", 2026-06-17). 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).

This is the 3rd generative taxonomy lane started this cycle (#499 Virtues · #498 AIF · #497 cross-links). Phase 1 = depth-2 backbone; depth-3…7 refinement (Phase 2+) follows; the production 12-col CSV write is the final gated step.

Method & anti-fabrication guarantee

  • Model: gpt-5.5 via /v1/responses, reasoning:{effort:"low"}, 3 batches of 6 (smoke first → format validated before continuing). No temperature (rejected). Answer read from output[].content[].text (the top-level output_text 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.DictReader — naive awk -F',' corrupts on the quoted multilingual fields. The prompt forbids any PK outside the catalog.
  • Family mirror as a hard constraint (pilot §3): each Virtue family's prevented_family_pk is fixed, so the model cannot invent a family mapping.
  • Verification — 3 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.

Sample (full set in the CSV)

Virtue (pk) → Fam. (PK) Opposes Walton scheme
Causalités bien identifiées (80) Erreur raisonn. (696) 707 Inversion de causalité · 719 Effet cigogne Argument from Cause to Effect
Comparaisons justifiées (142) Abus langage (798) 834 Comparaison abusive · 839 Fausse analogie Argument from Analogy
Respect de la personne (207) Obstruction (1280) 1398 Attaque personnelle · 1352 Empoisonnement du puits Argument from Bias

Files

  • 499-virtues-scaleup-phase1.md — Phase 1 proposition doc (method, anti-fab, sample, next steps)
  • 499-scaleup-phase1-annotations.csv — 18 rows, pilot 10-col presentation schema (AIF_skosDirectRef = Walton scheme; AIF_skosMappingType = restored-CQ text — carried over from the validated pilot)
  • 499-virtues-parity-pilot.md — fix prose typo crossLink_LevaragesLeverages (fix(taxonomy): #497 rename crossLink header typo Levarages->Leverages + validation #502 fixed it on the Fallacies side; dispatch asked to fix this copy)

Gate boundaries

  • ❌ Does not edit the production Argumentum Virtues - Taxonomy.csv (no schema cols, no rows). Docs/ proposition ONLY.
  • ❌ Does not touch OWL, EPITA consumer, cards, or mindmaps.
  • Worker signals structure + grounding; ai-01 reviews structure, jsboige validates content. No production data changed → gate-safe (docs/).

Verification

  • CSV integrity: 10 cols × 18 rows, 0 malformed, all link_type = crossLink_Opposes, 18 unique PKs, 9 distinct Walton schemes (all from the vetted list).
  • Diff: 2 new docs files + 1 one-word typo fix. No production CSV, no config, no RowsetNb/rscount, no workflow/rules.

Contributes to #499. Refs #503 (validated pilot), #497/#498 (sibling taxonomy lanes), #204 (test/contract lane context).

🤖 Worker po-2024 — primaire of ai-01 dispatch msg-20260617T000805-0kamu5.

…es (gated)

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: Claude Opus 4.6 <noreply@anthropic.com>
@clusterManager-Myia

Copy link
Copy Markdown
Collaborator

[NanoClaw] — GATED proposal review

Verdict: LGTM — well-structured phase-1 proposal with solid anti-fabrication controls.

What this does: Adds 18 depth-2 virtue sub-families (under 7 parent virtues) with ASPIC+ attack_type=undermine crosslinks opposing real fallacy PKs, plus AIF grounding via Walton scheme references and French CQ mappings.

3 files (+108/-0):

  1. 499-virtues-scaleup-phase1-annotations.csv (new, 18 rows) — Each row contains virtue_pk, prevented_family, crossLink_Opposes (catalog fallacy PKs), AIF_skosDirectRef (Walton scheme URI), AIF_skosMappingType (CQ in FR), and free-text justification. Schema mirrors the validated feat(taxonomy): peupler la couche relationnelle transverse (8 liens typés, 23/1408) #497 pilot exactly (10-col parity).

  2. 499-virtues-parity-pilot.md (modified) — Single typo fix: LevaragesLeverages. Clean.

  3. 499-virtues-scaleup-phase1.md (new) — Full proposal doc: scope (18 across 7 families), inverse paradigm (virtue = correct application, not absence), 3-layer anti-fab protocol.

Anti-fabrication checks passed:

  • All 18 virtue_pk values are plausible (no collision with existing fallacy PKs in catalog)
  • crossLink_Opposes targets reference real catalog fallacy families
  • AIF_skosDirectRef values point to valid Walton scheme segments
  • CSV structure is parseable (standard comma-delimited, 10 columns)
  • Justification column is non-empty for all rows

Gate status: This is a GATED proposal (no production CSV changes). Awaiting jsboige validation before merge.

Notes:

  • Phase 1 scope is well-bounded (18 depth-2 only, no depth-3)
  • The inverse paradigm (virtue PKs as separate entities, not just absence-of-fallacy flags) is consistent with the ASPIC+ attack model
  • 7 parent families provide good coverage without overextension

Ready for jsboige review when available.

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>
@clusterManager-Myia

Copy link
Copy Markdown
Collaborator

[NanoClaw] — LGTM

  • Virtues scale-up phase 1: 18 depth-2 sub-families in docs/taxonomy/
  • GATED: no production CSV changes — consistent with gate pattern
  • Clean inventory structure

No concerns.

@jsboige
jsboige merged commit 0ad4025 into master Jun 18, 2026
3 checks passed
@jsboige
jsboige deleted the feat/499-virtues-scaleup-phase1 branch June 18, 2026 12:46
jsboige added a commit that referenced this pull request Jun 18, 2026
… depth-3..4 leaves (gated) (#530)

Phase 2 begins the depth-3..7 leaf layer (194 nodes). This batch 1 covers the
smallest family, Langage exact (14 nodes: 9 depth-3 + 5 depth-4), as a
calibration batch for leaf-level granularity.

Same method, schema, and anti-fab guarantee as Phase 1 (#510, merged 0ad4025):
- gpt-5.5 /v1/responses reasoning:low, grounding catalog of 7 family PKs + 63
  real depth-3 fallacies (forbidden to use any PK outside it).
- Family mirror as hard constraint: every Langage-exact leaf -> Abus de langage
  (PK 798).
- Three independent verification layers re-checked against the REAL corpus
  (not the prompt catalog): catalog membership, ground-truth PK<->text_fr on
  the 1408-row Fallacies CSV, mirror consistency. 14/14 annotated, 0 violations.
- Anti-fab validator #518 (kind=virtues): CLEAN — 14 rows, 0 HARD, 0 WARN.

Granularity refinement for leaves: a depth-4 virtue opposes the most specific
applicable fallacy under the family (e.g. "Ponctuation correcte" -> Amphibologie
847, not a broad ambiguity).

GATED proposal — docs/taxonomy/ only, no production Virtues CSV change.
6 families (180 nodes) remain for subsequent phase-2 batches.

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
…matique depth-3..4 leaves (gated) (#532)

Phase 2 batch 2: the Rigueur mathematique family (16 leaves: 9 depth-3 + 7
depth-4). Same method, schema, and anti-fab guarantee as batch 1 (#530, merged
fc2013f) and Phase 1 (#510).

- gpt-5.5 /v1/responses reasoning:low, grounding catalog of 7 family PKs + 63
  real depth-3 fallacies (forbidden to use any PK outside it).
- Family mirror hard constraint: every Rigueur-mathematique leaf -> Erreur
  mathematique (PK 594).
- Three independent verification layers re-checked against the REAL corpus:
  catalog membership, ground-truth PK<->text_fr on the 1408-row Fallacies CSV,
  mirror consistency. 16/16 annotated, 0 violations.
- Anti-fab validator #518 (kind=virtues): CLEAN — 16 rows, 0 HARD, 0 WARN.

Depth-4 leaves oppose the most specific applicable math fallacy (e.g.
"Exactitude numerique" -> Erreur de calcul 681 + Imprecision 667, not a broad
sampling fallacy). "Sign" scheme dominance reflects the probabilistic nature
of most math-rigor virtues.

GATED proposal — docs/taxonomy/ only, no production Virtues CSV change.
5 families (164 nodes) remain for subsequent phase-2 batches.

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