docs(taxonomy): #498 AIF reconciliation P1 tranche-1 — 14 skos-only rows typed (gated proposal + dry-run apply) - #769
Merged
Conversation
…ows typed (gated proposal + dry-run apply) 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: Claude-Code <noreply@anthropic.com>
This was referenced Jul 10, 2026
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 19, 2026
…ations (read-only, 0 write) (#828) Export the EXISTING AIF modelling (dispatch ai-01 msg-eltaoz) into consumable artefacts for CoursIA ICT #7289 + Layer C #790. Read-only on CSV/OWL, post-tag-safe. Honest verdict (no fabrication): the AIF attack graph is BIPARTITE — each of the 145 fully-modeled fallacies is an attacker targeting an abstract AIF node-TYPE (RA/I/CA-node), NOT another fallacy. There is no inter-fallacy attack adjacency in the data; AIF_attackedNode encodes node-type, not a target PK (145/145 axiom, 0 violations). A separate inter-fallacy graph exists in the OWL (isRelatedTo, mirrors, etc., 1734 edges) but those are generic semantic relations, not typed AIF attack-edges — exported and labelled separately. Artefacts (docs/ontology/aif-export/): - aif-attack-edges.csv 145 bipartite attack-edges (CSV, PK-keyed, primary) - aif-canonical-concepts.csv 60 AIF canonical concepts (skos refs) - taxonomy-tree-edges.csv 1408 hierarchical tree edges - aif-owl-attack-edges.csv 142 attack-edges from OWL (cross-view, individual-keyed) - aif-relations-graph.csv 1734 inter-fallacy relations (NON-AIF) - README.md column-to-adjacency mapping + verdict tools/aif-attack-graph-export.py: reproducible (Python stdlib, ~3s, 0 write to sources). Refs: dispatch ai-01 msg-eltaoz, AIF tranches 1-1d (#498/#753/#769/#776/#779), CoursIA ICT #7289, Layer C #790. Co-authored-by: Your <your.email@example.com> Co-authored-by: Claude Opus 4.8 (1M context) <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.
Summary
#498 AIF two-layer reconciliation, P1 (skos-only → attack columns) — tranche 1. GO ai-01
msg-20260710T180845-5i1v03, couvert par le pilote GO #498. Proposition gated : docs + apply-script dry-run, 0 write prod CSV dans le diff.Suite du finding de #768 (deux couches AIF jamais réconciliées : 93 attack ∩ 70 skos = 18 ; 52 skos-only). P1 back-fill la couche attack pour les 52.
Correction load-bearing du cadrage #768
Il n'existe pas de sous-ensemble « inherit mécanique 0-risque » parmi les 52. La classif initiale « 19 inherit du sous-sous anchor » est un artefact : vérification code=truth → 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
attackTypeserait une fabrication.→ L'
attackTypeest un jugement neuf : 0-risque token (les tokens skos existent), pas 0-risque modélisation. Ceci raffine le « 0 fabrication risk » de #768.Méthode
attackTypedérivé de la propre signature skos de chaque ligne, ancré sur les 18 lignes fully-modeled (ground truth token→attackType).attackedNodedéterministe #707§4 (a) :undercut→RA-node,undermine→I-node,rebut→CA-node.Tiering des 52 :
Contre-exemple prouvant que le prior de suffixe est non fiable : pk705/677 « Pente glissante » portent des CQ (
WeakestLink/RequiredSteps) qui contestent la chaîne causale → penchent undercut, pas le~underminedu prior.Tranche 1 — 14 lignes, distribution 11 undermine / 2 undercut / 1 rebut
Tous les précédents (953, 177, 357, 322, 300, 750, 804, 340, 1371, 1313) sont dans les 18 fully-modeled. 2 lignes MED (3, 1090) flaggées (vote depuis token de scheme secondaire, cohérent sémantiquement). Détail + justif par ligne dans le doc + colonne
justificationdu CSV.Livrables
docs/taxonomy/498-reconciliation-p1.md— proposition (correction, méthode, tranche 1, reste scopé, bornes du gate).docs/taxonomy/498-reconciliation-p1-annotations.csv— 12 cols, 14 lignes, BOM+CRLF (factuel lu du CSV mastere748735b, raisonnement authored).tools/498-p1-apply.py— apply gated (--writedry-run par défaut), mirroir de498-phase13-apply.py(chore(taxonomy): #498 phase 1-3 apply script (prep, gated --write, D2-paramétrable) #757). Re-vérifie 14/14 vs annotation CSV, splitters byte-exact, preuve byte-preservation.Dry-run (ce PR) :
annotation 14/14 OK · pre-state 14 vides + skos OK · 0 mismatch · 93→107 attack-typed · delta 207 bytes · CRLF+BOM préservés · 0 write prod.Discipline
git diff --stat).e748735b.--write, relais ai-01), pas dans ce PR.🤖 Worker po-2024 — réconciliation P1 tranche 1.