Skip to content

fix(taxonomy): #497 rename crossLink header typo Levarages->Leverages + validation - #502

Merged
jsboige merged 1 commit into
masterfrom
fix/497-crosslink-leverages-typo
Jun 16, 2026
Merged

fix(taxonomy): #497 rename crossLink header typo Levarages->Leverages + validation#502
jsboige merged 1 commit into
masterfrom
fix/497-crosslink-leverages-typo

Conversation

@jsboige

@jsboige jsboige commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

What & why

Dispatch secondaire #497 (ai-01 deep-queue, base master 50247b77). The crossLink_Levarages column header is a typo of Leverages. This PR fixes the typo and ships a validation pass of the existing cross-link data so the cluster isn't chasing non-existent defects.

Change

Single header-cell rename, byte-exact:

  • crossLink_LevaragescrossLink_Leverages
  • Same-length (9-char) substitution on raw bytes — file size (4,071,127 B), byte offsets, UTF-8-no-BOM encoding, and the mixed CRLF+LF newlines are all preserved verbatim. No csv round-trip (which would have normalized newlines and corrupted the file).
  • git diff --stat: 1 file changed, 1 insertion(+), 1 deletion(-) — exactly the header line.
  • All 1408 data rows byte-identical (row count verified against master).

Zero blast radius (verified before edit)

A repo-wide search confirms no code/config reads the crossLink_* columns by literal name:

  • The Fallacy entity + its CsvHelper ClassMap do not map crossLink_* at all — they are passive columns the C# pipeline never parses.
  • VirtueMindMapDocumentConfig.cs matched only the crossLink variable/type name, not the header string.
  • Git_Archeology_Report.md matched a historical git-diff excerpt, not the column.
  • GSheetSync is Enabled = false; no config references the literal typo header.
  • The literal token crossLink_Levarages appeared exactly once (this header).

Validation report — the 22 existing cross-link cells

The #497 garde-fou is "aucun lien fabriqué, fail-loud, decimal_path valides, symétrie cohérente". I validated the existing data against the canonical path column (1408 distinct paths). Result: every target resolves (0/22 invalid); no curation needed.

PK source path predicate target path target PK valid
3 1.1.1 IsRelatedTo 7.1.2.3 1294
38 1.1.2.1.3.1 Opposes 6.2.1.1.4 982
151 1.3.1.3.3.1 Denounces 5.1.2.3.2 821
152 1.3.1.4 Leverages 5.3.3.1 877
154 1.3.2.1 Leverages 4.1.3.1.1.1 722
332 2.2.2.3 Allows 1.3.2.3.3.1 163
355 2.2.3.4 PredatesOn 1.1.1.1.1 5
358 2.3.1.1 PredatesOn 6.3.1.1.1.2.1 1039
369 2.3.1.1.2 PredatesOn 6.3.1.2.3.1.3.3 1161
377 2.3.1.1.4.1 PredatesOn 6.3.1.1.1.2.1.3 1046
383 2.3.1.1.5 PredatesOn 6.3.1.2.1.1 1092
390 2.3.1.2.3.1 PredatesOn 6.3.1.1.1.2.1.1 1040
439 2.3.2.2.1.1.4 PredatesOn 6.3.1.1.1.2.1.4 1047
440 2.3.2.2.1.1.4.1 PredatesOn 6.3.1.2.3.1.1.3 1151
673 3.3.1.2.2 Mirrors 5.1.2.2.4 814 ✅ (reciprocated)
814 5.1.2.2.4 Inverts 5.1.2.2.2 810
814 5.1.2.2.4 Mirrors 3.3.1.2.2 673 ✅ (reciprocated ↔ 673)
982 6.2.1.1.4 IsRelatedTo 1.1.2.1.3.1 38 ✅ (reciprocated ↔ 38)
1021 6.2.3.4.1 Opposes 6.2.1.1.1 976
1282 7.1.1 Leverages 5.3.2.3.2.1 869
1372 7.3.2.1 Leverages 5.2.3 844
1395 7.3.2.4.3 PredatesOn 6.3.2.3.1.6 1234

Predicate distribution: PredatesOn 9, Levarages→Leverages 4, Opposes 2, Mirrors 2, IsRelatedTo 2, Denounces 1, Allows 1, Inverts 1.

What this PR does NOT do (deliberately)

  • No new cross-links added. The garde-fou forbids fabrication, and adding fallacy-relationship semantics requires domain expertise / gpt-5.5 (po-2023 lane) — out of scope for this worker slice. ai-01: if you want relationship additions, please route with a DoD / source.
  • No data-cell edits. Validation found nothing broken to curate.
  • No code changes. This is a pure CSV header rename.

Scope & review

  • 🟡 HELD for ai-01 review (per dispatch: feat(taxonomy): peupler la couche relationnelle transverse (8 liens typés, 23/1408) #497 cross-link slice PRs are held for coordinator review).
  • Not gated (jsboige-sanctioned enhancement, hors v0.9.0 gate). No pipeline behavior change (columns are passive).
  • The CSV content rule ("never modify before CardPen injection") concerns content escaping, not header schema — a header rename is legitimate and does not touch any data cell.

🤖 Worker po-2024

The crossLink_Levarages column header is a typo of "Leverages". Renamed in
place (byte-exact, same-length 9-char substitution — file size/offsets/
UTF-8-no-BOM encoding / mixed CRLF+LF newlines preserved verbatim).

Zero blast radius: no code, config, or ClassMap reads the crossLink_* columns
by literal name — the Fallacy entity ignores them, the C# pipeline does not
parse them, and GSheetSync is disabled. Repo-wide grep confirms the literal
token appeared only in this one header cell. Only the header changed; all 1408
data rows are byte-identical (row count verified against master).

Validation of the 22 existing cross-link cells (#497 "verified batch"):
every target decimal_path resolves to a real taxonomy node (0/22 invalid), and
Mirrors is reciprocated (PK 673 <-> PK 814). No curation needed. No NEW
cross-links added — the garde-fou "aucun lien fabriqué" forbids fabrication,
and relationship additions require domain/gpt-5.5 (po-2023 lane), out of
scope for this slice. Full validation table is in the PR body.

Dispatch secondaire #497 (po-2024, ai-01 deep-queue). PR held for ai-01 review.

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

Copy link
Copy Markdown
Collaborator

[NanoClaw]

fix(taxonomy): typo in CSV header Levarages->Leverages.

One character fix in the header row. Trivially correct.

LGTM.

@jsboige
jsboige merged commit d780774 into master Jun 16, 2026
3 checks passed
@jsboige
jsboige deleted the fix/497-crosslink-leverages-typo branch June 16, 2026 17:09
jsboige added a commit that referenced this pull request Jun 17, 2026
Adds a GATED proposal (no production CSV change) for inter-fallacy
cross-links ADDITIONS. The relational layer is sparse (22 cells / 1408
nodes = 1.6%); po-2024 validated the existing 22 are clean (PR #502),
so the need is additions, not curation.

Convention verified from existing data: crossLink cell = target's PATH
column value (not PK); reciprocity = swapped paths (PK 814<->673 model).

Pilot: 12 NEW cross-links (24 directed cells w/ reciprocity):
- 1 crossLink_Mirrors: 708 Affirmation du consequent <-> 722 Negation
  de l'antecedent (the one genuine structural dual — twin invalid
  conditional forms).
- 11 crossLink_IsRelatedTo: cross-family duplicate nodes (708<->731,
  722<->729, 703<->840 — same fallacy under two family positions) +
  cluster siblings (emotional appeals, causal confusions, comparison
  fallacies, ad-hominem obstruction).

Method (anti-fab): candidate PAIRS curated from real taxonomy structure
(formal/emotional/ad-hominem/causal/analogy/ignorance clusters); gpt-5.5
only TYPES + justifies (or REJECTS). Conservative typing — Mirrors
reserved for the single genuine dual. /v1/responses + effort:low.

Verify (4 layers): both PKs real, both paths real, type in 8, novelty
(none overlap existing 22). 0 fab violations, 0 dup-with-existing. PASS.
24 net-new directed cells.

Notable for jsboige: 3 pairs expose cross-family DUPLICATE nodes (same
fallacy, two positions) — IsRelatedTo surfaces the duplication; dedupe/
merge/keep decision is jsboige's.

GATED: ai-01 reviews structure, jsboige validates content. No Fallacies
CSV edit until approval. Pilot = calibration exemplar for scale-up.

Refs #497

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>
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