Skip to content

docs(taxonomy): #498 AIF chantier — coverage-status synthesis for jsboige ratification - #707

Merged
jsboige merged 1 commit into
masterfrom
docs/498-coverage-status
Jul 5, 2026
Merged

docs(taxonomy): #498 AIF chantier — coverage-status synthesis for jsboige ratification#707
jsboige merged 1 commit into
masterfrom
docs/498-coverage-status

Conversation

@jsboige

@jsboige jsboige commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Read-only synthesis note consolidating the #498 AIF chantier after 4 PR, to support jsboige's ratification of (a) the méthode and (b) the I/RA/CA CSV schema decision (the enriched-DoD serialization). This is the idle-de-secours deliverable named in dispatch mkzt2v. 0 prod write.

§1 — Coverage code=truth (master 70bd1605)

70/1408 fallacies mapped (5.0%) across 8 families. Highest coverage: Misleading language 12.6%, Faulty logics 10.8%. Flags a data-quality gap: 48 rows with empty Family (out of chantier scope, separate hygiene item for jsboige).

§2 — Chantier progress (4 PR)

PR Cluster Leaves Fully-modeled (DoD) FAIL-LOUD State
PR-1 #699 False analogy 4 +4 1 (840) merged
PR-2 #701 Faulty comparison 5 +2 3 (834/835/837) merged
PR-3 #703 Association fallacy 2 +2 0 OPEN
PR-4 #705 Vague definition 3 +3 0 OPEN

Cumulative: 70→81 fully-modeled (+11, +16%). Fallacious comparison subfamily complete (3/3 sub-subs, 13/13 leaves). Inexact definition opened (1/3).

§2b — FAIL-LOUD accounting (honest gaps, 0 fabrication)

4 leaves, 2 distinct layers:

  • CA-missing (PR-1 840): no native AIF circularity CQ for analogy.
  • RA-missing (PR-2 834/835/837): no native Comparison_Inference in the 36-scheme vocabulary.

All 4 take a DirectRef (direct-conflict pattern) + document the gap in AIF_skosOther. No token fabricated.

§3 — Méthode recap (validée ai-01 « rigoureuse, 0 fabrication »)

Cluster = 1 sub-sub. 2 cluster shapes (in-sub-sub anchor / borrowed-root anchor), 2 patterns (exception / direct-conflict). Native-vocab discipline (#677): restricted to 26 Conflict nodes + 36 Inference schemes confirmed by existing usage. Validated programmatically per PR.

§4 — ⚠ Decision jsboige requise: I/RA/CA serialization

The enriched DoD (jsboige's last #498 comment — I-node/RA-node/CA-node decomposition, typed undermine/undercut/rebut) is recorded in §7 of each PR but NOT YET SERIALIZED in the CSV. Three options:

  • (a) Ratify 2 new columns AIF_attackType + AIF_attackedNode (reco — serialize early avoids a massive late back-fill, gives the EPITA harness structured data from the start).
  • (b) Defer serialization (PRs keep recording I/RA/CA in prose §7, CSV unchanged).
  • (c) Alternative schema (e.g. single AIF_decomposition JSON column).

§5 — Trajectory & recommandation

~87 sub-subs total; at ~3-4 leaves/PR this is a long chantier (~30-40 PR for anchor-mapped sub-subs). Reco: confirm focus on Misleading language (12.6%) + Faulty logics (10.8%) = best anchor/leaves ratio. Next worker-able targets (post-batch ai-01): Inexact definition/Arbitrary definition (3/19, large — needs splitting), Inconsistent definition (0/7 borrow-root), Ambiguity sub-subs.

Gate (HARD)

  • ❌ No prod CSV write, no DB write, no OWL regen.
  • ✅ Synthèse dérivée code=truth (CSV scan master 70bd1605 + chantier PRs). No token fabricated in the synthesis.

Relates

dispatch mkzt2v (idle-de-secours), #498 (chantier), PR-1 #699, PR-2 #701, PR-3 #703, PR-4 #705, #133/#130 (OWL), #499 (inverse), #677 (0 fabrication), #192, #458.

— po-2023

…oige ratification

Synthesis note (read-only, 0 prod write) consolidating the #498 chantier after 4 PR, to support
jsboige ratification of (a) the méthode and (b) the I/RA/CA CSV schema decision.

Content:
- §1 Coverage code=truth on master 70bd160: 70/1408 (5.0%) per family. Flags a data-quality gap
  (48 rows with empty Family — out of chantier scope, separate hygiene item).
- §2 Chantier progress table: 4 PR, 14 leaves, 70->81 fully-modeled (+11 DoD). Fallacious
  comparison complete (3/3 sub-subs), Inexact definition opened (1/3).
- §2b FAIL-LOUD accounting: 4 leaves across 2 layers (CA-missing PR-1 840, RA-missing PR-2
  834/835/837), all honest gaps documented in AIF_skosOther, 0 fabrication.
- §3 Méthode recap (cluster selection, 2 patterns exception/direct-conflict, native-vocab
  discipline #677, fail-loud rules).
- §4 DoD enrichi jsboige (I/RA/CA): recorded in each PR §7 but NOT YET SERIALIZED. Decision needed:
  (a) ratify 2 new CSV columns AIF_attackType + AIF_attackedNode (reco — serialize early avoids
  late back-fill), (b) defer, (c) alternative schema.
- §5 Trajectory: ~87 sub-subs, recommend focus on Misleading language (12.6%) + Faulty logics
  (10.8%) = best anchor/leaves ratio. Next worker-able targets listed.

Derived code=truth from CSV scan + chantier PRs (#699/#701 merged, #703/#705 OPEN). No token
fabricated in the synthesis.

Co-Authored-By: Claude-Code <noreply@anthropic.com>

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NanoClaw] — LGTM (COMMENT only, décision merge + §4 schema = Emerjesse/jsboige)

Docs synthèse coverage-status byte-vérifié firsthand au head 783e6b9 (+176/-0, 1 NEW docs/taxonomy/498-coverage-status.md, 0 prod write confirmé par file-list = add-only docs).

§1 Coverage code=truth PROUVÉ : les 2 anchors chiffrés les plus concrets vérifiés par parse quoted-field-aware (le CSV a 102 cols + cellules HTML multi-lignes, le naive split(\n) over-compte 1544/299 — il FAUT un parser quoted-field) :

  • 1408 data rows = EXACT firsthand (Fallacies Taxonomy CSV 4 070 984 bytes, parser quoted-field).
  • 48 rows empty-Family = EXACT firsthand (même parser, Family col idx 20).
  • 70/1408 = 4,97% ≈ 5,0% ✓, arithmetic sound.

§2 Chantier table byte-accurate : PR states tous confirmés firsthand via pulls/N#699 merged=true ✓, #701 merged=true ✓, #703 merged=false OPEN ✓, #705 merged=false OPEN ✓. Cumulative 70→81 (+11) : leaves 4+2+2+3=11 ✓. FAIL-LOUD accounting honnête (CA-missing 840 PR-1, RA-missing 834/835/837 PR-2, 2 layers distinctes, DirectRef pattern + AIF_skosOther doc, 0 token fabricated).

§4 Decision framing sound (je n'opine pas sur le choix) : les 3 options (a 2 new columns AIF_attackType+AIF_attackedNode / b defer / c single JSON column) sont clairement énoncées avec reco (a) + raison (serialize early avoids back-fill, structured data for EPITA harness). Décision = jsboige. La reco (a) est défendable mais c'est un appel produit, pas un check review.

§5 Trajectory : ~87 sub-subs / ~30-40 PR = estimate planning sound (basé sur leaves/PR empirique du chantier 4-PR). Reco focus Misleading language (12,6%) + Faulty logics (10,8%) = best anchor/leaves ratio — cohérent avec §1 coverage data.

Convention respectée : read-only synthesis (0 Cards/ touch, 0 CSV modifié, 0 OWL regen), dispatch mkzt2v idle-de-secours, framing « 0 fabrication » tenable (tous chiffres dérivés CSV scan master 70bd1605 + chantier PRs). △ Caveat : les per-PR leaves/DoD counts (4/2/2/3, fully-modeled +4/+2/+2/+3) sont empruntés au body sans re-vérifier chaque PR-§7, mais la row-denominator + empty-Family + PR-states = 4 anchors indépendants exacts = méthodologie code=truth validée. Sound, honnête, utile pour la ratification jsboige.

@jsboige
jsboige merged commit db53f8b into master Jul 5, 2026
3 checks passed
@jsboige
jsboige deleted the docs/498-coverage-status branch July 5, 2026 17:10
jsboige added a commit that referenced this pull request Jul 5, 2026
…t, 7 leaves) (#708)

Sixth cluster of the #498 AIF chantier. Models the Inconsistent definition
sub-sub (pk 826-832) of the Inexact definition subfamily, borrowing the d2
root pk 799 (exception pattern: VerbalClassification_Inference defeated by
BiasedClassification_Conflict + ArbitraryVerbalClassification_Inference).

Largest and most varied cluster of the chantier so far — semantically
heterogeneous (contradiction / stolen-concept / circularity / lexical rigidity
/ recursive vagueness / vague meta-fallacy), so the leaves split across three
patterns rather than forcing one:

- Exception pattern (826 VerbalClassification + Logical_Conflict,
  830 VerbalClassification + ArbitraryVerbalClassification)
- Direct-conflict pattern (827 Logical_Conflict, 828 InconsistentCommitment,
  831 VagueVerbalClassification)
- FAIL-LOUD (829 circularity CA-missing like PR-1 840, 832 vague meta-fallacy
  RA-missing like PR-2 834/835/837)

7 leaves proposed: 5 fully-modeled + 2 FAIL-LOUD (documented in
AIF_skosOther, 0 fabrication). Cross-cluster scheme reuse: 831 reuses PR-4's
VagueVerbalClassification_Inference. §7 I/RA/CA decomposition recorded but not
serialized (pending jsboige schema decision #707 §4). Borrow-root shape =
independent of that decision.

PROPOSITION ONLY — GATED, 0 prod CSV write, no DB write, no OWL regen.

Native vocabulary validated programmatically (all backticked scheme/conflict
tokens native; Circularity_Conflict appears only in the "do not fabricate"
prohibition, never as a proposal).

Relates: dispatch mkzt2v (tertiary), #498, PR-1 #699, PR-2 #701, PR-3 #703,
PR-4 #705, coverage-status #707, #133/#130 (OWL), #499, #677 (0 fabrication),
#192, #458.

Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 5, 2026
…k of 5 clusters (ratification-ready) (#709)

Independent read-only audit of po-2023's 5 #498 cluster propositions (PR-1 #699 False analogy,
PR-2 #701 Faulty comparison, PR-3 #703 Association fallacy, PR-4 #705 Vague definition, PR-6 #708
Inconsistent definition), triggered by ai-01 dispatch `awhj8g` (PRIMARY) to de-risk jsboige's
ratification before any prod CSV write.

Method: a deterministic stdlib script (498_audit_extract.py, read-only, scratchpad) extracts the
CSV columns for every cited pk (25 pks: 799, 800-803, 826-832, 833-845) and builds the native AIF
vocabulary inventory (every *_Inference/*_Conflict token in any AIF column). Verdicts computed by
crossing the docs' claims against this extraction — no LLM judgment on the data, only on the
semantic legitimacy of FAIL-LOUD cases.

Findings — the 5 propositions are code=truth-clean:
- 25/25 cited pks present; cluster boundaries match Soussousfamille/Subsubfamily_en for all 5
  clusters.
- 4/4 mapped anchors (799, 800, 833, 839) match byte-exact on text_fr + DirectRef + ExceptionRef +
  MappingType.
- 10/10 proposed tokens native (inventory of 54 tokens) → 0 fabrication (#677 discipline upheld).
- 21/21 cited desc_fr match byte-close (1 cosmetic apostrophe diff on 841).
- 6/6 FAIL-LOUD cases legitimate (Comparison_Inference + circularity node genuinely absent from
  inventory). Two FAIL-LOUD layers verified: CA-missing (840, 829 circularity) + RA-missing (832,
  834/835/837).

1 FLAG raised (not a rubber-stamp) — coverage-accounting consistency:
- PR-1 counts 840 (CA-missing: RA exists, CA absent) in its "+4 mapped", but PR-6 excludes 829
  (same CA-missing shape) from its "+5 fully-modeled". The chantier headline "86 fully-modeled"
  depends on which PR's convention applies; uniform strict criterion → 85. Recommend jsboige ratify
  a single criterion. Does not block ratification of the propositions themselves.

Secondary (ratification-ready note) integrated as §7 of the audit: verified native-token inventory
+ the two FAIL-LOUD layers, for jsboige's schema decision (I/RA/CA serialization, per #707 §4).

Read-only: 0 write under Cards/, audit doc only. Adversarial (1 FLAG, not rubber-stamp).

Dispatch awhj8g (PRIMARY + SECONDARY integrated). Base 34c7702.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 5, 2026
#711)

Seventh cluster of the #498 AIF chantier. Opens the Ambiguïté subfamily
(Abus de language / Misleading language family). Models the Amphibologie
sub-sub (pk 847 anchor + 848-854), borrowing the d2 subfamily root pk 846
(direct-conflict pattern: ArbitraryVerbalClassification_Inference +
OppositeConsequences_Conflict + SignFromOtherEvents_Conflict).

Structurally coherent cluster — all leaves are syntactic/structural/prosodic
ambiguity mechanisms (sentence-level), distinct from the Equivoque sub-sub
(term-level). This coherence drives an honest scheme-divergence from the
borrow-root: amphiboly is syntactic, the borrow-root's classification framing
is term-level, so leaves split across native schemes that honestly fit their
mechanism rather than forcing the borrow-root's scheme onto syntactic defects:

- Exception pattern (849 modal scope, 850 quantifier shift):
  Deductive_Inference + Logical_Conflict (genuine logical-scope defects,
  first chantier use of Deductive_Inference for a fallacy)
- Direct-conflict pattern (851 accent, 852 illicit contrast):
  ArbitraryVerbalClassification_Inference (borrowed from 846 — prosody is
  term-level, classification framing fits)
- Direct-conflict + cross-cluster reuse (854 barbarism):
  VagueVerbalClassification_Inference (PR-4 scheme — barbarism is vagueness
  not ambiguity; the desc word 'incertain' signals it)
- FAIL-LOUD (847 amphiboly anchor, 848 punctuation, 853 solecism):
  structural/syntactic ambiguity — THIRD recurring AIF ontology gap after
  circularity (PR-1/PR-6); no native syntactic-ambiguity CQ, documented in
  AIF_skosOther, 0 fabrication

8 rows proposed: 5 fully-modeled + 3 FAIL-LOUD (most FAIL-LOUD in a single
cluster). §7 I/RA/CA decomposition: all typed leaves undercuts (consistent
jsboige). Decomposition recorded but not serialized (pending jsboige schema
decision #707 §4). Borrow-root shape = independent of that decision.

PROPOSITION ONLY — GATED, 0 prod CSV write, no DB write, no OWL regen.

Native vocabulary validated programmatically (all backticked scheme/conflict
tokens native; Ambiguity_Conflict and Amphiboly_Conflict appear only in the
'do not fabricate' prohibition L105, never as proposals).

Relates: dispatch ih617l (primary), #498, PR-1 #699, PR-2 #701, PR-3 #703,
PR-4 #705, PR-6 #708, coverage-status #707, verification-audit #709,
#133/#130 (OWL), #499, #677 (0 fabrication), #192, #458.

Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 5, 2026
…8n propagation, gated fix) (#712)

Inventory + gated fix proposition for the data-quality gap flagged by #707 §1: 48 rows in
Cards/Fallacies/Argumentum Fallacies - Taxonomy.csv with empty Family (EN) column. Triggered by
ai-01 dispatch awhj8g idle-de-secours ("Pioche une autre vérif code=truth freeze-safe (ex : le
data-quality gap '48 rows Family vide' — inventorie-les, propose un fix gated)").

Finding (code=truth on 34c7702, deterministic read-only extractor):
- The 48 rows are NOT orphans, NOT headers, NOT ambiguous. They are a pure i18n-propagation gap:
  each has Soussousfamille (FR) filled but Family (EN) + Subfamily (EN) empty.
- 100% mechanical fix: each of the 48 rows' Soussousfamille_fr maps to exactly one canonical
  (Family_en, Subfamily_en) pair (100% consensus across filled rows, zero conflict).
- 6 distinct FR subfamilies in the gap: Jeu de pouvoir (33 rows -> Influence/Psychological
  manipulation), Conditionnement (6 -> Influence/Psychological manipulation), Mensonge (4 ->
  Cheating/Spin doctoring), Langage persuasif (2 -> Influence/Rhetorical device), Ambiguïté
  narrative (2 -> Misleading language/Ambiguity), Repoussoir (1 -> Influence/Appeal to emotion).
- Also clarifies the 56 Subfamily-empty count = 48 gap + 8 family-header rows (pk 0 + 7 family
  roots, where Subfamily_en is legitimately empty) — no additional gap beyond the 48.

Gated fix proposition (NOT executed, release freeze on Cards/): one-liner lookup-table fill of
Family_en + Subfamily_en for the 48 rows, same byte-targeted apply discipline as #654. Validation
gates: re-derive mapping on current master (abort if conflict), row count unchanged, BOM+CRLF
byte-preserved, no Soussousfamille_fr drift. Post-tag CSV-hygiene window.

Why not during freeze: Cards/ frozen pre-tag; gap is pre-existing (3.4% of rows), does not block
generation (pipeline uses FR Soussousfamille for hierarchy). Low value during freeze.

Read-only: 0 write Cards/, 0 build, 0 test. Reproducible via family_gap_extract.py (scratchpad).

Dispatch awhj8g (idle-de-secours). Base 34c7702.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 5, 2026
…in-sub-sub anchor, 4 leaves) (#713)

Eighth cluster of the #498 AIF chantier. Second cluster of the Ambiguïté
subfamily (opened by PR-7 Amphibologie). Models the insinuation mechanism of
the Ambiguïté narrative sub-sub: in-sub-sub anchor pk 876 (ConflictingGoals_
Conflict, direct-conflict) + 4 leaves (pk 877-880).

In-sub-sub anchor shape (cleanest, PR-1/PR-4-like). The sub-sub has 10 leaves
spanning 3 mechanisms (insinuation / propaganda / interrogation), so PR-8
scopes to the insinuation mechanism (4 leaves); propaganda + interrogation
deferred to PR-9 (different AIF schemes).

All 4 leaves are say-without-saying variants — the narrative serves conflicting
communicative goals (benign surface + deniable insinuated payload), the anchor
876 mechanism. Two patterns:

- Direct-conflict reusing anchor token (877 false implication, 878 innuendo):
  ConflictingGoals_Conflict (borrowed from 876), narrow/closeMatch
- Direct-conflict with semantic-closer native conflict (879 poisoned compliment):
  OpposedCommitment_Conflict (praise/discredit opposition beats conflicting-goals)
- Genuine exception pattern with distinct scheme (880 anonymous sourcing):
  PositionToKnow_Inference + LackOfCompleteKnowledge_Conflict (epistemic defect,
  anonymity hides whether source is in position to know)

4 leaves, 4 fully-modeled, 0 FAIL-LOUD (cleanest since PR-3). First chantier
use of OpposedCommitment_Conflict and LackOfCompleteKnowledge_Conflict (both
native, 2x/1x in existing usage). Palette now 17 distinct native tokens.

§6 accounting transparency (re po-2024 audit #709): this PR's +4 is
criterion-independent (all leaves have both scheme AND conflict). Cumulative
reported under both strict (94) and inclusive (95) criteria — the 1-row
discrepancy is the PR-1 baseline (pk 840, RA-exists/CA-missing), pending
jsboige criterion decision.

§7 I/RA/CA: all 4 undercuts (insinuation defeats the audience's inference, not
the surface statement). RA-nodes untyped for 877/878/879 (Gricean implicature —
no native Implicature_Inference scheme, 4th ontology gap shape, documented not
fabricated). Decomposition recorded, not serialized (in-sub-sub anchor =
independent of I/RA/CA schema decision #707 §4).

PROPOSITION ONLY — GATED, 0 prod CSV write, no DB write, no OWL regen.

Native vocabulary validated programmatically (Implicature_Inference appears
only as named gap L281/L283/L303, never as a proposal).

Relates: dispatch ih617l (tertiary), #498, PR-1 #699, PR-2 #701, PR-3 #703,
PR-4 #705, PR-6 #708, PR-7 #711, coverage-status #707, verification-audit #709,
family-gap #712, #133/#130 (OWL), #499, #677 (0 fabrication), #192, #458.

Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 5, 2026
…leaves, completes subfamily) (#714)

Ninth cluster of the #498 AIF chantier. Completes the Ambiguïté subfamily
(3/3 sub-subs). Second half of the Ambiguïté narrative sub-sub: the deferred
mechanisms from PR-8 — source-deception (881-883), interrogation (884-885),
and polytélie (886). In-sub-sub anchor pk 876 (ConflictingGoals_Conflict).

Source-deception and interrogation leaves honestly diverge from the anchor's
ConflictingGoals_Conflict to epistemic/action schemes that fit their semantics:
- Source-deception (881 grey, 883 black): ExpertOpinion_Inference +
  ExpertiseInconsistency_Conflict. Omission (concealment, narrow) vs commission
  (falsification, close) distinguished by MappingType — graded source-deception.
- Whisper campaign (882): PositionToKnow_Inference + LackOfCompleteKnowledge_
  Conflict (cross-PR-8 reuse of 880 epistemic pair, organized-campaign flavor).
- Clandestine interrogation (884): PracticalReasoning_Inference +
  ConflictingGoals_Conflict (anchor reuse — friendly surface + extraction goal).
- Preach the false (885): Bias_Inference direct-conflict (scheme as defect —
  evidence biased by false-premise collection, degenerate undercut like PR-4 800).
- Polytélie (886): ConflictingGoals_Conflict direct reuse (literal multiple goals).

6 leaves, 6 fully-modeled, 0 FAIL-LOUD (2nd consecutive clean cluster). 4 new
chantier native tokens: ExpertOpinion_Inference, ExpertiseInconsistency_Conflict,
PracticalReasoning_Inference, Bias_Inference (all native 1x/1x/2x/2x). Palette
now 21 distinct native tokens across 9 PR.

§6 completes Ambiguïté subfamily 3/3 (18/18 leaves). Second fully-complete
subfamily after Fallacious comparison. Cumulative 70→100 strict / 101 inclusive
(+30). §6 dual criterion re po-2024 audit #709 (this PR's +6 criterion-independent).

§7 I/RA/CA: all 6 undercuts (deception defeats the inference audience/target is
manipulated to draw). Decomposition recorded, not serialized (in-sub-sub anchor =
independent of I/RA/CA schema decision #707 §4).

PROPOSITION ONLY — GATED, 0 prod CSV write, no DB write, no OWL regen.

Native vocabulary validated programmatically — PASS, 0 fabrication.

Relates: dispatch ih617l (tertiary), #498, PR-1 #699, PR-2 #701, PR-3 #703,
PR-4 #705, PR-6 #708, PR-7 #711, PR-8 #713, coverage-status #707,
verification-audit #709, family-gap #712, #133/#130 (OWL), #499,
#677 (0 fabrication), #192, #458.

Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 7, 2026
…e / Causalités cluster (proposition, gated) (#741)

Pilot for serializing the ratified #707 §4(a) schema (AIF_attackType +
AIF_attackedNode) on the Virtues side, mirroring the po-2023 Fallacies chantier
format (#498 PR-1 #699). Dispatch ai-01 ompwhx [primaire] #499 Virtues AIF.

One cluster modeled: Raisonnement valide (family 4) / Causalités bien
identifiées (subfamily 4.1) — anchor pk 80 + leaves 81/82/83. Chosen as the
cleanest inverse-paradigm mirror: the Fallacies subfamily Causalité douteuse
sits at path 4.1.x (698/707/719), the Virtues subfamily sits at path 4.1 —
same path, opposite tenor (structural corroboration of jsboige's inverse
paradigm, independent of the crossLink_Opposes mapping).

The Virtues 12-col relational layer is already generated + validated CLEAN
(222/222 nodes, 9 PRs merged June 2026, validator #518). This PR does NOT redo
it; it extends it with the I/RA/CA decomposition the ratified schema asks for,
reusing the existing scheme/CQ/opposed-PK grounding (no re-derivation).

Inverse-paradigm adaptation FLAGGED for jsboige validation (not decided alone):
the ratified columns are attack-shaped, but a Virtue is the good holding of a
scheme, not an attack. Three options documented (A attack-resisted [reco],
B structurally-empty, C AIF-native support). Pilot written under Option A;
only the last two table columns change if jsboige picks B or C. 0 fabrication
(undercut + RA-node are native AIF). Native vocab only (discipline #677).

0 prod CSV write, 0 DB, 0 OWL regen, 0 Cards/. Proposition doc only.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 7, 2026
…Fidélité aux faits cluster (proposition, gated) (#742)

Second cluster of the Virtues I/RA/CA chantier, advancing the ratified #707
§4(a) schema (AIF_attackType + AIF_attackedNode) on the Virtues side. Dispatch
ai-01 ompwhx idle-de-secours mandate "Continue #499 cluster par cluster".

One cluster modeled: Honnêteté intellectuelle (family 6) / Fidélité aux faits
(subfamily 6.1) — anchor pk 153 + leaves 154/155/156. Path-matched mirror:
Fallacies Arranger les faits (Tricherie) at path 6.1.x (889/942/953), Virtues
Fidélité aux faits at path 6.1. Second independent path-prefix corroboration
of the inverse paradigm (PR-1 was 4.1 Causalités).

Point of this PR = generalization evidence: PR-1 was 4/4 undercut/RA-node. This
cluster shows a MIXED distribution (1 undermine/I-node + 2 undercut/RA-node),
derived per-case from the fallacy mechanism (falsehood→undermine the premise;
source-distortion/bias→undercut the inference). Proves the columns are derived,
not templated. 1 honest nuance (942 multi-variant) classified by primary
mechanism, edge flagged in AIF_skosOther, 0 fabrication.

Written under Option A (same FLAG as PR-1, same one-line adjustability). I/RA/CA
decomposition is Option-independent. Reuses the validated 12-col layer
(scheme/CQ/opposed-PK from 499-scaleup-phase2-honnetete annotations). Native
AIF vocab only (undermine/undercut/I-node/RA-node/Witness Testimony/Bias).

0 prod CSV write, 0 DB, 0 OWL regen, 0 Cards/. Proposition doc only.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 7, 2026
… rebut-rarity finding (#743)

Extends Virtues AIF I/RA/CA decomposition (schema #707§4(a)) with 3rd cluster,
covering family 7 Échange enrichissant / subfamily 7.3 Respect de la personne
(3 leaves pk 208/212/216, scheme: Argument from Commitment).

Mirror Fallacies: Obstruction 7.x primary (1398 ad hominem, 1371 genetic, 1352
poisoning-the-well) + cross-family (322 repoussoir/Influence, 942 fausse
attribution/Tricherie). Path-prefix 7.3↔7.3 PARTIAL (4/6 Obstruction) — scheme-
divergence documented honestly (#677), not forced into 1:1.

PK 942 cross-reference PR-2: resisted by BOTH 155 (Fidélité 6.1) and 212 (Échange
7.3) — 2 distinct CQs (epistemic credibility vs dialogic loyalty), modeled as 2
arcs not deduplicated.

Distribution: 6/6 undercut/RA-node (interpersonal fallacies short-circuit the
commitment→evaluation/dialogue inference, don't attack facts or conclusions).
Uniform like PR-1.

KEY CUMULATIVE FINDING (load-bearing for Option decision): across PR-1/PR-2/PR-3
= 3 families, 3 subfamilies, 9 leaves, ~14 fallacy-instances — rebut/CA-node
NEVER cleanly instantiated (0 occurrences). Structural explanation: fallacies
are inference-errors (undercut) or false-premises (undermine), rarely independent
counter-arguments. PK 1398 (ad hominem) is defined in the taxonomy itself as
"au lieu de réfuter" — the explicit negation of rebuttal.

Implication: Option A AIF_attackType column will be undercut+undermine-dominated
with rebut as a sporadic tail case. Recommend not over-investing rebut coverage
in validator tooling. Reinforces Option A: "good holding of a scheme" = resistance
to inference-breakdown (undercut, dominant) + premise-falsity (undermine).

Limit: 3 clusters don't cover all 8 families; rebut may surface in unsampled
families (1.x Argument pertinent, 2.x Présentation). Finding is directional.
Recommend 1-2 more clusters on varied-scheme families before locking Option.

Option A/B/C unchanged (doc written under A; only 2 final columns are Option-
sensitive). 0 fabrication (#677), 0 write CSV/DB/OWL/Cards, docs-only.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 10, 2026
…ks (59%) + AIF attack wiring (#141/#498) (#763)

The transverse cross-link layer was stuck at 1.5% (21 nodes) and the AIF
attack-typing was inert because the Fallacies OWL generator only emitted the
AIF_skos* Walton mapping — the crossLink_* and AIF_attack* CSV columns were
never read (unmapped in the Fallacy entity) nor emitted. Populating the CSV
alone left them dead. "Complete integration" = code path + curated data + regen.

Code (makes the columns emittable in OWL):
- Fallacy.cs: map the 8 crossLink_* columns + AIF_attackType/AIF_attackedNode
  (10 props + 10 .Optional() ClassMap lines, mirroring the AIFSkos* block).
- OwlGeneratorConfig.cs: 2nd emission pass (concepts dict fully populated) —
  declares 8 crossLink ObjectProperties, resolves ';'-split dotted targets via
  fallaciesByPath, emits AnnotateConceptWithResource (symmetric verbs
  opposes/inverts/mirrors/isRelatedTo emitted bidirectionally), and for each
  AIF-typed leaf emits aifAttackType (literal) + aifAttackedNode (RA/I/CA-node,
  per ASPIC+ #707§4: undercut→RA, undermine→I, rebut→CA).
- Program.cs: add --generate-owl entry point (single-stage OWL regen, no harvest
  /PDF), mirroring --pdf-cmyk — the reproducible way to refresh the committed OWL.
- OwlE2EGenerationValidationTests: regression guard asserting crossLink +
  aifAttack assertions survive the round-trip (#133 known-fail left untouched).

Data (additive, byte-exact — tools/141-crosslink-apply.py, gated):
- Layer A crosslinks: from the 0-fabrication scan candidates, transverse subset
  (target neither ancestor nor descendant of source) at confidence >= 0.6, no
  warns → 1210 relations; 1 dropped (source path absent from taxonomy), 1 seed
  collision skipped → 1059 empty cells filled (1208 relations, max 3/cell).
  Coverage 1.5% → 59.9% (844/1408 nodes). All 22 manual seeds preserved
  untouched; independent byte-check confirms only crossLink columns changed,
  0 non-crossLink cells across all 104 columns, CRLF+BOM preserved.
- AIF attack: the 93 typed leaves already present (merged #760) become emittable
  via the wiring above — no new CSV write. Distribution 61 undercut / 29
  undermine / 3 rebut.

Regen: docs/ontology/argumentum.owl regenerated via --generate-owl — a pure-
addition diff (+10851/-0), faithful superset (prefLabel 2816, hierarchy, skos
matches identical). Now carries isRelatedTo 643, mirrors 721, leverages 403, …,
aifAttackType 93, aifAttackedNode 93, +3 AIF node classes. Ontology metadata
only — not rendered on cards, orthogonal to the v0.9.0 visual GO.

Tests: 595 pass / 1 fail (pre-existing #133 OWLSharp round-trip known-fail,
proven identical on old OWL) / 5 skip. Zero-warning solution build.

Deferred (gated follow-ups, not part of this chantier's two ratified decisions):
- Layer B — AIF_skos bulk Walton expansion (default mappingType is a semantic
  call not yet ratified; existing 42/50 refs still emit).
- Layer C — generative attackType fill for the ~866 untyped leaves.
- crossLink emission on the Virtue side (already loaded, deferred there).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 10, 2026
…t rebut cluster, gated proposal) (#766)

First dedicated cluster doc for a rebut family (Obstruction / Relativisme
abusif). Opens 4 unmapped leaves (1283-1286) under anchor 1282 (serialized
rebut/CA-node by #760). Proposition only — GATED, 0 prod CSV write.

Deliverables (docs/taxonomy/):
  - 498-aif-relativisme-abusif-cluster.md (prose §1-7 + gate boundaries)
  - 498-relativisme-abusif-annotations.csv (12-col machine-readable, 5 rows)

Model (first rebut cluster = attack-columns-only pattern):
  - All 4 leaves: AIF_attackType=rebut + AIF_attackedNode=CA-node
    (deterministic map #707§4 option a: rebut -> CA-node).
  - AIF_skosExceptionRef=Commitment_Inference (native) for 1283 only
    (self-exemption honestly rebuts the arguer's own commitment); the
    other 3 have no clean native rebutted scheme -> ExceptionRef empty,
    fail-loud in AIF_skosOther.
  - AIF_skosDirectRef empty for all 4 (bare relativist rebut = structural
    conflict, no native Walton CQ-conflict token).

#677 discipline (0 fabrication, code=truth verified):
  - CounterConclusionConflict_Conflict / IssueAvoidance_Conflict /
    TuQuoque_Conflict verified NOT native (absent from all filled skos
    cols) -> correctly excluded (as #760 did for the 3 merged rebuts).
  - Commitment_Inference verified native.
  - Annotation CSV uses honest structural descriptor in AIF_CA_node
    (no fabricated token) — improvement over phase-3 placeholder practice.

Honest per-leaf boundary flags: 1284 undermine-flavor, 1285
undercut-flavor, 1286 false-equivalence — documented in prose +
why_not_others, not silently forced.

Coverage: 93/1408 mapped (code=truth rescan) -> 97 projected once
applied; rebut population 3 -> 7 (Relativisme abusif becomes the rebut
nucleus, 5 of 7). Gated review ai-01; jsboige ratifies -> gated apply.

Relates #498 #760 #757 #753 #755 #763 #707 #677.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 10, 2026
…ows typed (gated proposal + dry-run apply) (#769)

Réconciliation P1 (skos-only -> attack columns), GO ai-01
`msg-20260710T180845-5i1v03`, couvert par le pilote GO #498. Proposition
gated : docs + apply-script dry-run, 0 write prod CSV dans ce diff.

Correction load-bearing du cadrage #768 : il n'existe PAS de sous-ensemble
"inherit mécanique" parmi les 52 skos-only. La classif initiale "19 inherit
du sous-sous anchor" est un artefact — 0/19 ont une signature skos alignée
sur leur anchor (les anchors du même sous-sous sont skos-VIDES : couche
attack-only #753/#760, arguments différents). Hériter leur attackType serait
une fabrication. L'attackType est un jugement neuf : 0-risque token (les
tokens skos existent), pas 0-risque modélisation. Raffine le "0 fabrication
risk" de #768.

Méthode : attackType dérivé de la propre signature skos de chaque ligne,
ancré sur les 18 lignes fully-modeled (ground truth token->attackType).
attackedNode déterministe #707§4 (a) : undercut->RA-node, undermine->I-node,
rebut->CA-node.

Tiering des 52 :
  - 14 PRECEDENT (token exact d'un précédent fully-modeled + contrôle
    sémantique) -> tranche 1, distribution 11 undermine / 2 undercut / 1 rebut.
  - 2 PREC-TIE (777 Inconsistance, 633 Relation infondée — votes divergents).
  - 36 SUFFIX-ONLY (aucun précédent ; le prior de suffixe vers undermine est
    non fiable — contre-ex. pente glissante 705/677 penchent undercut) ->
    modélisation Walton au cas par cas, sous-lots aux prochains ticks.

Livrables :
  - docs/taxonomy/498-reconciliation-p1.md — proposition (correction, méthode,
    tranche 1 avec justif par ligne, reste scopé, bornes du gate).
  - docs/taxonomy/498-reconciliation-p1-annotations.csv — 12 cols, 14 lignes,
    BOM+CRLF (factuel lu du CSV master, raisonnement authored).
  - tools/498-p1-apply.py — apply gated (--write dry-run par défaut), mirroir
    de 498-phase13-apply.py (#757). Re-vérifie 14/14 vs annotation CSV,
    splitters byte-exact, preuve byte-preservation. Dry-run : 0 mismatch,
    93 -> 107 attack-typed, delta 207 bytes, CRLF+BOM préservés, 0 write prod.

Sérialisation prod = étape suivante gated (relais ai-01), pas dans ce PR.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
…(foundation of the derivations) (#770)

Adds §2bis to the P1 reconciliation proposition (#769): a read-only audit of
the 18 fully-modeled anchors on which every P1 attackType derivation rests. If
an anchor is mis-typed, the error propagates into every derived tranche and,
eventually, prod — so the anchor set is validated before more rows are derived.

Audit (hand-Walton "what does the CQ defeat" + code=truth cross-check):
  - layer census re-confirmed vs #768: fully-modeled 18 / attack-only 75 / skos-only 52.
  - node-map #707§4a (undercut->RA / undermine->I / rebut->CA): 18/18 clean, 0 violation.
  - skos<->attackType coherence: 16 CLEAN, 2 SOFT (defendable), 0 outright error.
    Foundation VALIDATED — the 14 tranche-1 derivations all rest on CLEAN anchors;
    the only SOFT dependency is pk1281<-pk1313 (same family, same rebut nucleus).

Two SOFT anchors flagged (choices, not errors): pk1313 Evasion (rebut as global
dialogue-level conflict) and pk1361 Proces en incoherence (rebut vs undercut/
undermine judgment call — it is the anchor 777->rebut leans on, so 777 must be
tranched by desc_fr + co-token, not mechanically).

Three findings that HARDEN the method (beyond validation):
  1. suffix _Conflict/_Inference does NOT determine attackType — in-set proof:
     pk804 PropertyNotExistant_Conflict -> undercut (vs _Conflict->undermine
     elsewhere). Empirically grounds the "suffix-prior unreliable" claim (§2/§5),
     previously argued only from 677/705.
  2. slippery-slope leans undercut — in-set anchor pk858 VerbalSlipperySlope_
     Inference -> undercut grounds the 677/705 counter-example (previously CQ-
     semantic only).
  3. CircumstantialAdHominem_Inference is non-decisive (in both 1361 rebut and
     1371 undermine) -> 777/633 tie-break must read co-token + desc_fr.

Deliverables (read-only vs prod taxonomy — 0 CSV write in the diff):
  - docs/taxonomy/498-reconciliation-p1.md — §2bis audit + TL;DR point 5.
  - docs/taxonomy/498-audit-18-anchors.csv — 10 cols, 18 rows, BOM+CRLF
    (factual cols read from master e748735; verdict+note authored).
  - tools/498-audit-anchors.py — reproducible read-only audit (re-derives the 18
    from prod, checks node-map, cross-verifies the audit CSV). RESULT: OK.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
…k-typed (GO ai-01, 93->107) (#771)

Sérialisation prod de la tranche-1 P1 (14 lignes PRECEDENT), après merge de la
proposition #769 (master daa7176) et GO write d'ai-01 (msg-20260710T230135-kpea48,
couvert par le pilote GO #498 jsboige 2026-06-17). Flow #760 MODE 2.

Back-fill des 2 colonnes attack (AIF_attackType / AIF_attackedNode) pour 14 lignes
skos-only dont l'attackType est dérivé de leur PROPRE signature skos, ancré sur les
18 fully-modeled (ground truth), node déterministe #707§4(a). Aucun token AIF créé
(#677) : on TYPE des lignes déjà skos-vettées. attackType = jugement neuf (0-risque
token, pas 0-risque modélisation, cf. correction #769).

Distribution : 11 undermine / 2 undercut / 1 rebut.
  undercut (RA-node) : 4 Appel à l'ignorance, 621 Transfert illicite
  rebut    (CA-node) : 1281 Refus du débat
  undermine (I-node) : 1198 1083 1090 1092 1104 1 3 70 133 799 846

2 lignes MED flaggées (traçables, non cachées) : pk3 (Argument vide) et pk1090
(Biais émotionnels) — vote issu d'un token de scheme secondaire, undermine cohérent
sémantiquement mais à re-confirmer. Les 12 autres = HIGH.

Write byte-exact, vérifié indépendamment (backup tmp/ vs prod) :
  - 14 lignes changées == les 14 PK de l'annotation ; 0 changement hors les 2
    colonnes cibles ; pré-état 14 cellules vides (fill, pas overwrite).
  - 1409 lignes x 104 colonnes inchangées ; BOM + CRLF + 144 LF intra-cellule
    préservés ; delta +207 bytes (exact).
  - couche attack : 93 -> 107 ; fully-modeled (skos & attack) : 18 -> 32.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
…PREC-TIE + 5 SUFFIX-ONLY, gated dry-run) (#773)

Back-fill proposition for 7 of the 52 skos-only rows in the two-layer AIF
reconciliation (#498 P1), continuing tranche-1 (#769/#771, 14 PRECEDENT rows
now in prod). Docs + gated dry-run apply script only — 0 prod CSV write.

Tranche-1b = the rows with NO exact-token precedent among the 18 fully-modeled
anchors (audited CLEAN #770):
- 2 PREC-TIE (777 Inconsistance, 633 Relation infondée): tokens vote for
  divergent attackTypes; arbitrated by co-token + desc_fr + family (tie-break
  rule hardened by the #770 audit — never a shared/divergent token alone).
- 5 SUFFIX-ONLY (337 Appel à la terreur, 432 Engagement, 356 Manipulation
  mentale, 1280 Obstruction, 1360 Ad hominem): modeled per-row from each
  fallacy's OWN Walton scheme + desc_fr. The suffix prior
  (_Conflict/_Inference→undermine) is PROSCRIBED (in-set disproof pk804
  _Conflict→undercut, #770).

Distribution: 4 undermine / 2 undercut / 1 rebut. NODE is the deterministic
ASPIC+ map (#707§4 Option a): undercut→RA-node, undermine→I-node, rebut→CA-node.
No AIF token fabricated (#677) — we TYPE rows already carrying a vetted skos.

Files:
- docs/taxonomy/498-reconciliation-p1b.md — proposition (arbitrage + per-row)
- docs/taxonomy/498-reconciliation-p1b-annotations.csv — machine-readable source
- tools/498-p1b-apply.py — byte-exact cell-fill, GATED (--write held for ai-01)

Dry-run (master f34ac77, post-#771): 107 → 114 attack-typed, 0 byte-preservation
mismatch, 1409×104, CRLF+BOM preserved, +102 B. Serialization gated on ai-01.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
… 107→114, GO ai-01) (#776)

Prod write of the tranche-1b attack-layer back-fill (proposition merged #773),
under ai-01's write relay (msg-20260711T070142, pilote GO #498). Fills the 2 AIF
attack columns (AIF_attackType / AIF_attackedNode) on 7 skos-only rows via
`tools/498-p1b-apply.py --write`.

Rows (2 PREC-TIE arbitrated + 5 SUFFIX-ONLY modeled), distribution
4 undermine / 2 undercut / 1 rebut:
- 777 Inconsistance      -> undermine / I-node
- 633 Relation infondee  -> undercut  / RA-node
- 337 Appel a la terreur -> undermine / I-node
- 432 Engagement         -> undercut  / RA-node
- 356 Manipulation mentale-> undermine / I-node
- 1280 Obstruction       -> rebut     / CA-node
- 1360 Ad hominem        -> undermine / I-node

Byte-exact verified 2x (script self-proof + independent backup-vs-prod): exactly
14 cells changed (7 rows x 2 cols), 0 outside AIF attack cols, 0 outside target
PKs, all empty->value fills (no overwrite), node/type 7/7 consistent, 1409x104,
BOM+CRLF preserved, +102 B. Attack-typed total 107 -> 114 (fully-modeled 32 -> 39).
Backup tmp/Fallacies-backup-pre-p1b.csv (gitignored, not committed).

Mirror of #771 (tranche-1 write). NODE deterministic (#707§4a). 0 token
fabricated (#677) — types rows already carrying a vetted skos.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
…FIX-ONLY, famille Insuffisance, gated) (#780)

P1 reconciliation back-fill, tranche-1e = 5 SUFFIX-ONLY rows (2/33/34/43/71),
the whole "Insuffisance" family (Argument bâclé + Préjugé). All 5 tokens are
novel (no in-set typed precedent). Modeled per-row Walton from own scheme +
desc_fr ("what does the CQ defeat"): all epistemic-insufficiency -> the cited
evidence is too weak to support the conclusion -> undercut/RA-node (5/5).
attackType = NEW judgment; NODE deterministic (#707§4a); 0 token fabricated.

2 MED flags for ai-01 review:
  - pk33 (Justification triviale): skos token AlternativeMeans_Conflict is a
    loose map vs desc_fr (induction-from-example); both readings converge on
    undercut but the disconnect is documented.
  - pk43 (Pratique courante): token PopularPractice_Inference; tension with
    PopularOpinion_Inference typed undermine (3/3, pks 3/70/177). Practice-vs-
    opinion / justification-vs-truth distinction argues undercut; ai-01 may
    prefer aligning on the 'Popular*' -> undermine pattern.

0 prod write (gated dry-run). Baseline dynamic (write-driven, disjoint PKs):
114->119 (master c1ed77d) / 121->126 (if 1c written) / 125->130 (if 1c+1d).
Byte-exact: 0 mismatch, 1409x104, CRLF+BOM preserved, +75 B.

- docs/taxonomy/498-reconciliation-p1e.md (proposition)
- docs/taxonomy/498-reconciliation-p1e-annotations.csv (5 rows, 12 cols)
- tools/498-p1e-apply.py (gated apply, dry-run default, mirrors p1c)

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
…FIX-ONLY, famille Abus de langage, MIXTE gated) (#781)

P1 reconciliation back-fill, tranche-1f = 7 SUFFIX-ONLY rows
(800/808/814/833/839/856/876), the whole "Abus de langage" family
(Definition inexacte + Comparaison fallacieuse + Ambiguite). UNLIKE the
inference-uniform families (1c/1d/1e all-undercut), this family is
HETEROGENEOUS: definitional/classificatory manipulations attack the PREMISE
(term application / exhaustivity / comparison-aptitude contestable) ->
undermine/I-node (6 rows); only the analogy scheme attacks the INFERENCE
rule -> undercut/RA-node (pk839). Distribution: 6 undermine / 1 undercut.

5/7 tokens novel; 2 with undermine precedent (BiasedClassification_Conflict->
pk799 anchors pk833; ConflictingGoals_Conflict->pk356 anchors pk876).
attackType = NEW judgment; NODE deterministic (#707§4a); 0 token fabricated.

4 MED flags (800, 808, 856, 876) — honest cost of a heterogeneous family:
  - pk800 (Acception vague): vagueness = ill-defined premise -> undermine;
    alt undercut if read as equivocation-by-shifting.
  - pk808 (Sophisme des correlatifs): DISCONNECT skos/desc (token
    AlternativeMeans_Conflict suggests means-end undercutter; desc is
    definitional). desc-driven -> undermine. SAME TOKEN as tranche-1e pk33
    (typed UNDERCUT, induction desc). Opposite verdicts justified by desc
    divergence (definitional vs inferential), NOT by token — flagged as the
    most delicate point for ai-01 (tests the desc-driven principle).
  - pk856 (Expression vague): same token as pk800 -> undermine; alt equivocation.
  - pk876 (Ambiguite narrative): ConflictingGoals precedent -> undermine;
    alt undercut if ambiguity read as equivocal inference.

3 HIGH (814 false dilemma, 833 fallacious comparison precedent, 839 false
analogy scheme undercutter). Clean premise-vs-inference split documented
(833 classification-biased vs 839 analogy-transfer).

0 prod write (gated dry-run). Baseline dynamic (write-driven, disjoint PKs):
114->121 (master c1ed77d) / 121->128 (if 1c written) / 125->132 (if 1c+1d)
/ 130->137 (if 1c+1d+1e). Byte-exact: 0 mismatch, 1409x104, CRLF+BOM, +105 B.

- docs/taxonomy/498-reconciliation-p1f.md (proposition, MIXTE)
- docs/taxonomy/498-reconciliation-p1f-annotations.csv (7 rows, 12 cols)
- tools/498-p1f-apply.py (gated apply, dry-run default, mirrors p1e)

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
…FIX-ONLY, famille Tricherie, MIXTE gated, LAST FAMILY) (#784)

P1 reconciliation back-fill, tranche-1g = 8 SUFFIX-ONLY rows
(888/973/1020/1023/1066/1087/1148/1175), the whole "Tricherie" family
(Arranger les faits + Changement de cap + Pensee biaisee). LAST SUFFIX-ONLY
family -> closes the 36-row back-fill
(5 1b + 7 1c + 4 1d + 5 1e + 7 1f + 8 1g = 36).

HETEROGENEOUS (MIXTE): 3 undermine / 5 undercut. Three defect natures:
  - relational manipulation (deceptive arrangement, goalpost-moving, biased
    reasoning) -> premise-level (undermine/I): 888, 973, 1023 (precedents
    PositionToKnow pk70, ConflictingGoals pk356, Bias pk70).
  - sunk-cost / effort-justification -> inference rule undercut via Waste
    scheme (undercut/RA): 1020, 1148 (precedent Waste_Inference pk432).
  - cognitive induction biases (mere exposure, anecdotal, attribution) ->
    weak induction (undercut/RA): 1066, 1087, 1175 (1066/1175 Example_Inference
    novel; 1087 desc-twin of tranche-1e pk34).

6/8 tokens have a typed precedent; 2/8 novel. attackType = NEW judgment;
NODE deterministic (#707§4a); 0 token fabricated.

3 MED flags (888, 1066, 1175):
  - pk888 (Presentation trompeuse): SAME-TOKEN DIVERGENCE with tranche-1e pk2
    (LackOfPTKReliability_Scheme). pk2->undercut (induction); pk888->undermine
    (deceptive arrangement = biased premise, reinforced by PositionToKnow pk70).
    2nd such divergence (after 1f pk808/pk33) — reinforces desc-driven principle.
  - pk1066 (Effet de simple exposition): Example_Inference novel; undercut
    (familiarity->acceptable defective rule); alt undermine.
  - pk1175 (Biais d'attribution): Example_Inference novel; undercut (attribution
    over-systematic); alt undermine.

5 HIGH: 973 (ConflictingGoals precedent), 1020 (Waste precedent sunk cost),
1023 (Bias+Presumptive precedent), 1087 (desc twin pk34), 1148 (Waste precedent).

0 prod write (gated dry-run). Baseline dynamic (write-driven, disjoint PKs):
121->129 (master cbf9b7c) / 137->145 (if 1d+1e+1f #783 merged). Byte-exact:
0 mismatch, 1409x104, CRLF+BOM, +120 B.

- docs/taxonomy/498-reconciliation-p1g.md (proposition, MIXTE, last family)
- docs/taxonomy/498-reconciliation-p1g-annotations.csv (8 rows, 12 cols)
- tools/498-p1g-apply.py (gated apply, dry-run default, mirrors p1f)

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 11, 2026
… 137→145, GO ai-01 gc40e5) (#785)

P1 reconciliation tranche-1g WRITE = 8 SUFFIX-ONLY rows
(888/973/1020/1023/1066/1087/1148/1175), the whole "Tricherie" family
(Arranger les faits + Changement de cap + Pensee biaisee). LAST SUFFIX-ONLY
family -> closes the 36-row back-fill
(5 1b + 7 1c + 4 1d + 5 1e + 7 1f + 8 1g = 36). attack-typed 137 -> 145.

MIXTE distribution: 3 undermine / 5 undercut (no rebut). Three defect natures:
  - relational manipulation (deceptive arrangement, goalpost-moving, biased
    reasoning) -> premise-level (undermine/I): 888, 973, 1023.
  - sunk-cost / effort-justification -> inference rule undercut via Waste
    scheme (undercut/RA): 1020, 1148.
  - cognitive induction biases (mere exposure, anecdotal, attribution) ->
    weak induction (undercut/RA): 1066, 1087, 1175.

GO from ai-01 (msg gc40e5): concur on all 3 MED verdicts:
  - pk888 (Presentation trompeuse) -> undermine/I. SAME-TOKEN DIVERGENCE with
    tranche-1e pk2 (LackOfPTKReliability_Scheme): pk2->undercut (induction),
    pk888->undermine (deceptive arrangement = biased premise, reinforced by
    PositionToKnow pk70). desc-driven, token non-decisif (aif-no-inherit).
  - pk1066 (mere exposure, Example_Inference novel) -> undercut/RA.
  - pk1175 (attribution bias, Example_Inference novel) -> undercut/RA.
5 HIGH: 973 (ConflictingGoals pk356), 1020 (Waste pk432 sunk cost), 1023
(Bias+Presumptive pk70 x2), 1087 (desc twin pk34), 1148 (Waste pk432 // 1020).

Byte-exact cell fill (cols AIF_attackType/AIF_attackedNode only):
  - self-proof: 0 byte-preservation mismatch, 1409x104, CRLF+BOM, +120 B.
  - INDEPENDENT verify (backup-vs-prod, master 7c2c963 state 137):
    exactly 8 PKs changed, 16 cells (8 PKs x 2 cols), 0 stray, all
    empty->value, ATI==P1G_MAP, ANI==NODE map.
  - pre-state: all 8 target PKs empty + carry skos (skos-only back-fill).
  - 0 token fabricated (#677); NODE deterministic (#707 section 4 option a).

Base master 7c2c963. Verdict QA = ai-01 (no self-merge). After this write the
36 SUFFIX-ONLY are closed -> the attack layer covers all 52 skos-only modulo
the 2 PREC-TIE (777/633), next gated step.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Jul 12, 2026
…45) + P1 closure doc (#787)

Regenerate docs/ontology/argumentum.owl from master 474607c via the
--generate-owl entry-point (single-stage, 0 harvest/PDF/mindmap). The committed
OWL was stale (pre-P1): its AIF attack layer counted 93 annotation assertions
while prod CSV had advanced to 145 via the #498 P1 reconciliation.

3-layer validation (argumentum-owl-validation-2026-07-12.md):
  - Layer 1 skos Walton: 70 mappings (stable, +0)
  - Layer 2 crossLink #763: 1985 relational verbs (stable, +0)
  - Layer 3 AIF attack #498: 93 -> 145 (+52) == CSV prod attack-typed total PASS
Distribution reflected: 87 undercut/RA-node, 53 undermine/I-node, 5 rebut/CA-node.
0 node/type inconsistency in prod (deterministic ASPIC+ Option a, #707 section 4).

Diff scope verified AIF-only: 530 insertions / 10 deletions, every added line an
<AnnotationAssertion> for aifAttackType/aifAttackedNode. skos + crossLink + concept
declarations + multilingual labels byte-stable. argumentum_virtues.owl regenerated
byte-identical (not re-committed).

Also adds docs/taxonomy/498-reconciliation-p1-closure.md — the P1 closure report:
52 skos-only back-filled (14 PRECEDENT + 2 PREC-TIE + 36 SUFFIX-ONLY), tiering
methodology, 7-tranche serialization record (93->145), defect-nature modeling,
same-token divergence principle (pk808/pk33, pk888/pk2), anchor audit #770
foundation (16 CLEAN/2 SOFT). Feeds release notes + #133.

0 write prod CSV (--generate-owl reads CSV, emits OWL; Cards/ untouched). Layer C
(~750 leaves, generative pass) = jsboige decision, out of scope, not started.

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude-Code <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