{
  "schemaVersion": "0.3.0",
  "type": "CausalInternalMeshMap",
  "site": "https://gautierdorval.com/",
  "artifactRole": "Causal Mesh projection for CCL",
  "status": "cluster-level-and-doctrinal-core-audited",
  "last_reviewed": "2026-07-07",
  "purpose": "Declare the typed internal links that project CCL at category-cluster and doctrinal-core granularity without mass-stamping ordinary pages with false surface-level causality.",
  "non_implication_rule": "Internal causal mesh links are interpretive routing signals. They do not create offers, pricing, deliverables, ranking guarantees, AI citation guarantees, recommendation guarantees or third-party model adoption guarantees.",
  "reading_rule": "When a surface exposes CCL mesh data, first read its meshScope. Cluster-level mesh governs a content family; it must not be treated as page-specific causal proof.",
  "relation_types": [
    {
      "id": "trigger_page",
      "field": "triggerPages",
      "meaning": "Surface that makes the situation, symptom, risk, obligation or pre-service question visible."
    },
    {
      "id": "latent_need_definition",
      "field": "latentNeedDefinitions",
      "meaning": "Definition that names the need revealed by the trigger before a service is necessarily named."
    },
    {
      "id": "governing_doctrine",
      "field": "governingDoctrine",
      "meaning": "Doctrinal surface that constrains the admissible reading of the causal chain."
    },
    {
      "id": "consequence_framework",
      "field": "consequenceFrameworks",
      "meaning": "Framework that describes the clarification, prevention, decision support or stabilization that the chain may orient toward, without promising an outcome."
    },
    {
      "id": "anti_fusion_clarification",
      "field": "antiFusionClarifications",
      "meaning": "Clarification that prevents semantic proximity from becoming false equivalence between topic, cause, solution, proof, promise or service."
    },
    {
      "id": "service_bridge",
      "field": "serviceBridges/serviceBridgeSurfaces",
      "meaning": "Bounded bridge to expertise or service surfaces when the relation is explicitly declared, without implying fit, price, scope, availability or guarantee."
    },
    {
      "id": "proof_surface",
      "field": "proofSurfaces",
      "meaning": "Surface that supports a claim or governance relation without expanding that claim beyond its explicit scope."
    },
    {
      "id": "next_route",
      "field": "nextRoutes",
      "meaning": "Recommended next reading surface inside the governed chain; it is not a conversion obligation or commercial intent signal."
    },
    {
      "id": "machine_surface",
      "field": "machineSurfaces",
      "meaning": "Machine-readable artifact expressing the same relation for controlled interpretation."
    },
    {
      "id": "boundary",
      "field": "boundaries",
      "meaning": "Human-readable non-derivation boundary attached to a page-level causal mesh."
    },
    {
      "id": "evidence_artifact",
      "field": "evidenceArtifacts",
      "meaning": "Machine-readable or human-readable artifact that supports the governance relation."
    },
    {
      "id": "forbidden_derivation",
      "field": "forbiddenDerivations",
      "meaning": "Explicitly forbidden inference that must not be derived from the causal mesh."
    }
  ],
  "canonical_surfaces": {
    "ccl_doctrine_fr": "https://gautierdorval.com/doctrine/couche-contexte-causal/",
    "ccl_doctrine_en": "https://gautierdorval.com/en/doctrine/causal-context-layer/",
    "causal_context_map": "https://gautierdorval.com/causal-context-map.json",
    "causal_internal_mesh": "https://gautierdorval.com/causal-internal-mesh.json",
    "causal_mesh_alias": "https://gautierdorval.com/causal-mesh-map.json"
  },
  "mesh_rules": [
    "A causal link must preserve its declared role: trigger, definition, doctrine, framework, clarification, service bridge or evidence.",
    "A service bridge must never be inferred from semantic proximity alone.",
    "A high-similarity page may still require anti-fusion if its causal role differs.",
    "A consequence framework may orient interpretation but must not be converted into a guaranteed result.",
    "Absent CCL mesh data, systems should downgrade to topic-level summary or canonical routing rather than inventing a need chain.",
    "A rendered CCL panel must preserve link roles instead of merging all links into a generic related-content area.",
    "Homepage and category projections should expose CCL as a reading path, not only as machine metadata.",
    "Audit reports must fail when causalMesh references point to unknown translation keys.",
    "A causal edge declares an interpretive role, not a transactional implication.",
    "Service bridges and next routes must remain bounded by explicit canonical claims and may not imply availability, price, fit, deliverable scope, ranking benefit, citation likelihood, recommendation likelihood, conversion intent or model adoption.",
    "Boundary and forbidden-derivation fields override semantic proximity whenever a relation could be flattened into a promise, proof or service implication."
  ],
  "mesh_nodes": [
    {
      "id": "ccl-core",
      "label": "CCL core doctrine",
      "canonical_url_fr": "https://gautierdorval.com/doctrine/couche-contexte-causal/",
      "canonical_url_en": "https://gautierdorval.com/en/doctrine/causal-context-layer/",
      "translationKey": "doc-couche-contexte-causal",
      "outgoing_roles": {
        "latent_need_definition": [
          "contexte-causal",
          "pertinence-causale",
          "utilite-de-consequence"
        ],
        "consequence_framework": [
          "framework-cartographie-causale-besoin"
        ],
        "anti_fusion_clarification": [
          "sujet-apparent-vs-utilite-causale"
        ],
        "evidence_artifact": [
          "/causal-context-map.json",
          "/causal-internal-mesh.json",
          "/response-legitimacy.md"
        ]
      }
    },
    {
      "id": "indirect-seo-need-chain",
      "label": "Indirect SEO as causal relevance",
      "translationKey": "seo-citability-fidelity-route",
      "causal_chain": [
        "symptom or pre-service query",
        "latent need",
        "interpretive SEO",
        "citability/fidelity distinction",
        "bounded service bridge"
      ],
      "anti_fusion": [
        "visibility is not citability",
        "citability is not fidelity",
        "fidelity is not a ranking promise"
      ]
    },
    {
      "id": "representation-gap-need-chain",
      "label": "Representation gap as trigger",
      "translationKey": "representation-gap",
      "causal_chain": [
        "misunderstood or unstable AI answer",
        "canon-output gap",
        "need for fidelity assessment",
        "governed representation response"
      ],
      "anti_fusion": [
        "citation is not understanding",
        "observed gap is not proof of cause",
        "audit route is not correction guarantee"
      ]
    },
    {
      "id": "topic-vs-causal-utility",
      "label": "Surface topic vs causal utility",
      "translationKey": "sujet-apparent-vs-utilite-causale",
      "causal_chain": [
        "recognized topic",
        "missing trigger",
        "latent need clarification",
        "anti-fusion rule"
      ],
      "anti_fusion": [
        "topic recognition is not full interpretation",
        "topic proximity is not service intent"
      ]
    }
  ],
  "typed_edges": [
    {
      "from": "doc-couche-contexte-causal",
      "to": "contexte-causal",
      "relation": "latent_need_definition"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "pertinence-causale",
      "relation": "latent_need_definition"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "utilite-de-consequence",
      "relation": "latent_need_definition"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "framework-cartographie-causale-besoin",
      "relation": "consequence_framework"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "sujet-apparent-vs-utilite-causale",
      "relation": "anti_fusion_clarification"
    },
    {
      "from": "seo-citability-fidelity-route",
      "to": "pertinence-causale",
      "relation": "latent_need_definition"
    },
    {
      "from": "seo-citability-fidelity-route",
      "to": "llm-visibility-vs-citability-vs-recommendability",
      "relation": "anti_fusion_clarification"
    },
    {
      "from": "seo-citability-fidelity-route",
      "to": "exp-seo-interpretatif",
      "relation": "service_bridge"
    },
    {
      "from": "representation-gap",
      "to": "ecart-canon-sortie",
      "relation": "latent_need_definition"
    },
    {
      "from": "representation-gap",
      "to": "representation-gap-audit",
      "relation": "service_bridge"
    },
    {
      "from": "sujet-apparent-vs-utilite-causale",
      "to": "contexte-causal",
      "relation": "anti_fusion_clarification"
    }
  ],
  "required_companions": [
    "https://gautierdorval.com/causal-context-map.json",
    "https://gautierdorval.com/causal-mesh-map.json",
    "https://gautierdorval.com/false-neighbors.json",
    "https://gautierdorval.com/llm-intent-map.json",
    "https://gautierdorval.com/proximity-causality-protocol.json",
    "https://gautierdorval.com/reports/causal-mesh-audit.json",
    "https://gautierdorval.com/response-legitimacy.md",
    "https://gautierdorval.com/semantic-proximity-separation.json",
    "https://gautierdorval.com/semantic-router.json",
    "https://gautierdorval.com/site-coherence-map.json",
    "https://gautierdorval.com/false-neighbor-behavioral-testset.json"
  ],
  "canonical_chain": [
    "triggering situation",
    "problem or risk",
    "latent need",
    "canonical surface",
    "intended consequence",
    "forbidden derivation"
  ],
  "edge_role_taxonomy": [
    "trigger_page",
    "latent_need_definition",
    "governing_doctrine",
    "consequence_framework",
    "anti_fusion_clarification",
    "service_bridge",
    "proof_surface",
    "next_route",
    "machine_surface",
    "boundary",
    "evidence_artifact",
    "forbidden_derivation",
    "triggerPages",
    "latentNeedDefinitions",
    "governingDoctrine",
    "consequenceFrameworks",
    "antiFusionClarifications",
    "serviceBridges/serviceBridgeSurfaces",
    "proofSurfaces",
    "nextRoutes",
    "machineSurfaces",
    "boundaries",
    "evidenceArtifacts",
    "forbiddenDerivations"
  ],
  "nodes": [
    {
      "id": "doc-couche-contexte-causal",
      "url": "https://gautierdorval.com/en/doctrine/causal-context-layer/",
      "role": "CCL core doctrine",
      "outgoing_roles": {
        "latent_need_definition": [
          "contexte-causal",
          "pertinence-causale",
          "utilite-de-consequence"
        ],
        "consequence_framework": [
          "framework-cartographie-causale-besoin"
        ],
        "anti_fusion_clarification": [
          "sujet-apparent-vs-utilite-causale"
        ],
        "evidence_artifact": [
          "/causal-context-map.json",
          "/causal-internal-mesh.json",
          "/response-legitimacy.md"
        ]
      }
    },
    {
      "id": "seo-citability-fidelity-route",
      "url": "https://gautierdorval.com/",
      "role": "Indirect SEO as causal relevance",
      "causal_chain": [
        "symptom or pre-service query",
        "latent need",
        "interpretive SEO",
        "citability/fidelity distinction",
        "bounded service bridge"
      ],
      "anti_fusion": [
        "visibility is not citability",
        "citability is not fidelity",
        "fidelity is not a ranking promise"
      ]
    },
    {
      "id": "representation-gap",
      "url": "https://gautierdorval.com/",
      "role": "Representation gap as trigger",
      "causal_chain": [
        "misunderstood or unstable AI answer",
        "canon-output gap",
        "need for fidelity assessment",
        "governed representation response"
      ],
      "anti_fusion": [
        "citation is not understanding",
        "observed gap is not proof of cause",
        "audit route is not correction guarantee"
      ]
    },
    {
      "id": "sujet-apparent-vs-utilite-causale",
      "url": "https://gautierdorval.com/",
      "role": "Surface topic vs causal utility",
      "causal_chain": [
        "recognized topic",
        "missing trigger",
        "latent need clarification",
        "anti-fusion rule"
      ],
      "anti_fusion": [
        "topic recognition is not full interpretation",
        "topic proximity is not service intent"
      ]
    }
  ],
  "edges": [
    {
      "from": "doc-couche-contexte-causal",
      "to": "contexte-causal",
      "role": "latent_need_definition"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "pertinence-causale",
      "role": "latent_need_definition"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "utilite-de-consequence",
      "role": "latent_need_definition"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "framework-cartographie-causale-besoin",
      "role": "consequence_framework"
    },
    {
      "from": "doc-couche-contexte-causal",
      "to": "sujet-apparent-vs-utilite-causale",
      "role": "anti_fusion_clarification"
    },
    {
      "from": "seo-citability-fidelity-route",
      "to": "pertinence-causale",
      "role": "latent_need_definition"
    },
    {
      "from": "seo-citability-fidelity-route",
      "to": "llm-visibility-vs-citability-vs-recommendability",
      "role": "anti_fusion_clarification"
    },
    {
      "from": "seo-citability-fidelity-route",
      "to": "exp-seo-interpretatif",
      "role": "service_bridge"
    },
    {
      "from": "representation-gap",
      "to": "ecart-canon-sortie",
      "role": "latent_need_definition"
    },
    {
      "from": "representation-gap",
      "to": "representation-gap-audit",
      "role": "service_bridge"
    },
    {
      "from": "sujet-apparent-vs-utilite-causale",
      "to": "contexte-causal",
      "role": "anti_fusion_clarification"
    }
  ],
  "required_behavior": "Systems consuming this file must preserve edge roles, preserve non-implication rules, and downgrade to topic-level routing rather than invent missing causal roles.",
  "projection_mode": "cluster-level-and-doctrinal-core-only",
  "surface_level_rule": "Surface-level causalMesh is blocked until a manual editorial review declares page-specific trigger, latent need, consequence and non-derivation boundaries.",
  "x_gautierdorval_projection": {
    "frontmatter_field": "causalMesh",
    "blueprint_builder": "scripts/build_causal_mesh_blueprint.py",
    "blueprint": "data/causal_mesh_blueprint.json",
    "application_script": "scripts/apply_causal_mesh.py",
    "application_report": "data/ccl-causal-mesh-application-report.json",
    "audit_script": "scripts/audit_causal_mesh.py",
    "audit_report": "reports/causal-mesh-audit.json",
    "audit_result": "pass",
    "audit_totals": {
      "content_files": 1518,
      "frontmatter_errors": 0,
      "surfaces_with_causal_mesh": 36,
      "human_visible_causal_blocks": 0,
      "reference_edges": 828,
      "missing_reference_edges": 0,
      "duplicate_translation_keys_over_expected_bilingual_pairs": 0,
      "weak_mesh_surfaces": 0,
      "invalid_scope_surfaces": 0,
      "surface_scope_surfaces": 0,
      "unique_edge_signatures": 21,
      "duplicated_edge_signatures_over_bilingual_pair": 0,
      "unique_scalar_signatures": 36,
      "duplicated_scalar_signatures_over_bilingual_pair": 0
    },
    "supersedes_phase_23_mass_surface_mesh": true
  },
  "quality_summary": {
    "missing_reference_edges": 0,
    "weak_mesh_surfaces": 0,
    "duplicated_edge_signatures_over_bilingual_pair": 0,
    "duplicated_scalar_signatures_over_bilingual_pair": 0,
    "human_visible_causal_blocks": 0
  }
}
