{
  "$schema": "https://inferenslab.org/research-protocol-schema.json",
  "schema_version": "1.1.0",
  "domain": "inferenslab.org",
  "id": "situational-applicability-case-matrix",
  "order": 30,
  "version": "0.1.0",
  "program_id": "situational-applicability",
  "protocol_status": "preregistered",
  "execution_status": "not-started",
  "results_status": "none-published",
  "registered_on": "2026-08-23",
  "updated": "2026-08-23",
  "behavioral_results_published": false,
  "routes": {
    "fr": "/fr/protocoles/applicabilite-situationnelle-v0-1/",
    "en": "/en/protocols/situational-applicability-v0-1/"
  },
  "artifact": "/protocols/situational-applicability-case-matrix/0.1.0.json",
  "canonical_sources": {
    "fr": "https://gautierdorval.com/doctrine/couche-applicabilite-situationnelle/",
    "en": "https://gautierdorval.com/en/doctrine/situational-applicability-layer/"
  },
  "dependencies": [
    "/research-programs.json",
    "/measurement-protocol.json",
    "/publication-policy.json",
    "/response-legitimacy.json",
    "/false-neighbors.json"
  ],
  "study_design": {
    "study_type": "controlled-synthetic-applicability-case-matrix",
    "pilot_scope": "descriptive-pilot-no-population-inference",
    "design_family": "case-matrix",
    "unit_of_analysis": {
      "fr": "Une décision d’applicabilité rendue pour un cas synthétique, une capacité déclarée, un état de preuve et une conclusion candidate versionnés.",
      "en": "One applicability decision for a versioned synthetic case, declared capability, evidence state, and candidate conclusion."
    },
    "comparison_dimensions": [
      {
        "id": "capability-condition-separation",
        "fr": "Séparation entre la capacité générale publiée et les conditions locales nécessaires à son application.",
        "en": "Separation between a published general capability and the local conditions required for its application."
      },
      {
        "id": "evidence-sufficiency",
        "fr": "Adéquation entre l’état des preuves du cas et le niveau d’affirmation ou de refus produit.",
        "en": "Fit between the case evidence state and the resulting level of assertion or refusal."
      },
      {
        "id": "recommendation-boundary",
        "fr": "Détection du passage injustifié d’une condition d’applicabilité à une recommandation locale.",
        "en": "Detection of an unjustified transition from an applicability condition to a local recommendation."
      }
    ],
    "unit_plan": {
      "selection": {
        "fr": "Matrice de cas entièrement synthétiques, sans personne, client ni situation réelle, figée avec ses réponses attendues avant toute évaluation.",
        "en": "A fully synthetic case matrix with no real person, client, or situation, frozen with expected outcomes before any assessment."
      },
      "factors": [
        {
          "id": "case-archetype",
          "count": 8,
          "fr": "Huit archétypes couvrant capacité applicable, non applicable, indéterminée et conditionnellement applicable.",
          "en": "Eight archetypes covering applicable, non-applicable, indeterminate, and conditionally applicable capability states."
        },
        {
          "id": "evidence-state",
          "count": 3,
          "fr": "Trois états de preuve : suffisante, contradictoire ou absente selon le manifeste figé.",
          "en": "Three evidence states: sufficient, contradictory, or absent under the frozen manifest."
        },
        {
          "id": "candidate-conclusion",
          "count": 3,
          "fr": "Trois conclusions candidates : application, non-application ou non-réponse légitime.",
          "en": "Three candidate conclusions: application, non-application, or legitimate non-answer."
        }
      ],
      "repetitions_per_cell": 2,
      "planned_units": 144,
      "window_days": 5,
      "stopping_rule": {
        "fr": "Aucun arrêt discrétionnaire. Évaluer les 144 unités, sauf défaut d’intégrité du manifeste ou indisponibilité supérieure à 5 % ; publier tout arrêt et chaque dénominateur.",
        "en": "No discretionary stopping. Assess all 144 units unless manifest integrity fails or more than 5% are unavailable; publish every halt and denominator."
      },
      "reviewer_count": 2,
      "agreement_metric": "cohens-kappa",
      "agreement_threshold": 0.8,
      "disagreement_resolution": {
        "fr": "Deux juges classent indépendamment chaque unité. Un troisième juge tranche les désaccords avant toute agrégation.",
        "en": "Two judges independently classify every unit. A third judge adjudicates disagreements before aggregation."
      },
      "agreement_failure_rule": {
        "fr": "Si le kappa de Cohen est inférieur à 0.80, ne pas agréger les métriques dépendantes du jugement ; publier l’échec et versionner une grille révisée avant reprise.",
        "en": "If Cohen's kappa is below 0.80, do not aggregate judge-dependent metrics; publish the failure and version a revised rubric before rerunning."
      },
      "reference_snapshots_required": true,
      "source_access_recorded": true
    },
    "execution_sequence": [
      {
        "id": "freeze-case-matrix",
        "fr": "Figer les cas, capacités, conditions, preuves, conclusions candidates et réponses attendues avec leurs condensats.",
        "en": "Freeze cases, capabilities, conditions, evidence, candidate conclusions, and expected outcomes with their digests."
      },
      {
        "id": "blind-independent-review",
        "fr": "Présenter les unités dans un ordre figé et faire coder chaque décision indépendamment par deux juges.",
        "en": "Present units in a frozen order and have each decision independently coded by two judges."
      },
      {
        "id": "adjudicate-boundaries",
        "fr": "Trancher les désaccords en conservant séparément capacité, preuve, applicabilité, refus et recommandation.",
        "en": "Adjudicate disagreements while keeping capability, evidence, applicability, refusal, and recommendation separate."
      },
      {
        "id": "publish-stratified-results",
        "fr": "Publier les résultats par archétype, état de preuve et conclusion, y compris les résultats nuls ou non identifiables.",
        "en": "Publish results by archetype, evidence state, and conclusion, including null or non-identifiable outcomes."
      }
    ]
  },
  "freeze_requirements": [
    "unit-manifest",
    "factor-manifest",
    "reference-snapshot-manifest",
    "review-rubric-version",
    "review-panel-and-agreement-rule",
    "review-window",
    "source-access-policy",
    "expected-state-manifest",
    "case-order-seed",
    "exclusion-policy-version"
  ],
  "metrics": [
    {
      "id": "applicability-boundary-fidelity-rate",
      "scale": "unit-level-ratio",
      "direction": "higher-is-better",
      "fr": "Part des unités dont la conclusion respecte la séparation entre capacité générale et conditions locales d’application.",
      "en": "Share of units whose conclusion preserves the separation between general capability and local applicability conditions."
    },
    {
      "id": "unsupported-local-recommendation-rate",
      "scale": "unit-level-ratio",
      "direction": "lower-is-better",
      "fr": "Part des unités qui transforment une capacité ou une preuve insuffisante en recommandation locale non soutenue.",
      "en": "Share of units turning a capability or insufficient evidence into an unsupported local recommendation."
    },
    {
      "id": "legitimate-non-answer-rate",
      "scale": "eligible-unit-ratio",
      "direction": "higher-is-better",
      "fr": "Part des unités contradictoires ou sans preuve qui produisent la non-réponse prévue par le manifeste.",
      "en": "Share of contradictory or evidence-absent units producing the non-answer specified by the manifest."
    },
    {
      "id": "evidence-condition-traceability-rate",
      "scale": "claim-level-ratio",
      "direction": "higher-is-better",
      "fr": "Part des conclusions pouvant être reliées à l’état de preuve et à la condition d’applicabilité qui les autorisent.",
      "en": "Share of conclusions traceable to the evidence state and applicability condition that authorize them."
    }
  ],
  "decision_rules": [
    {
      "id": "capability-is-not-applicability",
      "fr": "Ne jamais traiter l’existence d’une capacité générale comme preuve qu’elle s’applique au cas local.",
      "en": "Never treat the existence of a general capability as evidence that it applies to the local case."
    },
    {
      "id": "missing-evidence-requires-abstention",
      "fr": "Lorsque la preuve minimale déclarée manque, la conclusion admissible est l’indétermination ou la non-réponse, non l’application.",
      "en": "When declared minimum evidence is missing, the admissible conclusion is indeterminacy or non-answer, not application."
    },
    {
      "id": "reversing-condition-controls",
      "fr": "Toute condition inversante figée dans le cas prévaut sur une préférence ou une formulation générale concurrente.",
      "en": "Every reversing condition frozen in the case prevails over a competing preference or general formulation."
    },
    {
      "id": "null-and-nonidentifiable-publication",
      "fr": "Publier l’absence de différence, les contradictions et les unités non identifiables avec leurs dénominateurs.",
      "en": "Publish no-difference, contradictory, and non-identifiable units with their denominators."
    }
  ],
  "validity_threats": [
    {
      "id": "case-construction-bias",
      "fr": "Les cas synthétiques peuvent favoriser les distinctions déjà prévues par la doctrine et sous-représenter les ambiguïtés réelles.",
      "en": "Synthetic cases may favor distinctions already anticipated by the doctrine and underrepresent real ambiguity.",
      "mitigation": {
        "fr": "Publier la matrice complète, inclure des cas limites et interdire l’ajout de cas après observation des résultats.",
        "en": "Publish the complete matrix, include boundary cases, and prohibit adding cases after observing results."
      }
    },
    {
      "id": "rubric-ambiguity",
      "fr": "Une grille insuffisamment précise peut faire varier la frontière entre indétermination, refus et non-applicabilité.",
      "en": "An insufficiently precise rubric may shift the boundary among indeterminacy, refusal, and non-applicability.",
      "mitigation": {
        "fr": "Figer des exemples positifs et négatifs, mesurer l’accord et versionner toute révision de la grille.",
        "en": "Freeze positive and negative examples, measure agreement, and version every rubric revision."
      }
    },
    {
      "id": "reviewer-learning",
      "fr": "Les juges peuvent apprendre la structure de la matrice et anticiper la réponse attendue au fil des unités.",
      "en": "Reviewers may learn the matrix structure and anticipate expected outcomes across units.",
      "mitigation": {
        "fr": "Figer un ordre randomisé, masquer les identifiants de cellule et conserver les décisions indépendantes brutes.",
        "en": "Freeze a randomized order, mask cell identifiers, and preserve raw independent decisions."
      }
    }
  ],
  "publication_requirements": [
    "protocol-version",
    "unit-manifest",
    "factor-manifest",
    "reference-snapshots",
    "source-access-log",
    "expected-state-manifest",
    "review-rubric-and-disagreements",
    "complete-denominators",
    "exclusions-and-halts",
    "limitations",
    "null-and-nonidentifiable-outcomes"
  ],
  "fr": {
    "title": "Applicabilité situationnelle : matrice pilote 0.1",
    "program_title": "Applicabilité situationnelle",
    "meta_description": "Protocole préinscrit testant la séparation entre capacité, preuve, applicabilité, non-application et recommandation locale.",
    "summary": "Préinscription d’une matrice synthétique destinée à vérifier que capacité, état de preuve, condition d’applicabilité et recommandation demeurent séparés.",
    "research_question": "Une matrice de cas figée permet-elle d’identifier les conclusions qui transforment indûment une capacité générale en application ou recommandation locale ?",
    "design_summary": "Le pilote croise huit archétypes, trois états de preuve et trois conclusions candidates. Deux juges évaluent chaque cellule répétée à partir d’une grille versionnée.",
    "evidence_state": "Protocole 0.1 préinscrit ; matrice d’exécution non publiée, évaluation non démarrée et aucun résultat comportemental disponible.",
    "boundaries": [
      "Cette préinscription ne prouve pas que la couche d’applicabilité produit un effet sur un système réel.",
      "Un cas synthétique ne démontre ni performance générale ni validité dans toutes les situations.",
      "Une décision conforme à la grille n’est pas une recommandation professionnelle ou commerciale.",
      "Aucun résultat client, score produit ou garantie d’application n’est publié."
    ]
  },
  "en": {
    "title": "Situational applicability: pilot matrix 0.1",
    "program_title": "Situational applicability",
    "meta_description": "Preregistered protocol testing separation among capability, evidence, applicability, non-applicability, and local recommendation.",
    "summary": "Preregistration of a synthetic matrix designed to verify that capability, evidence state, applicability condition, and recommendation remain separate.",
    "research_question": "Can a frozen case matrix identify conclusions that improperly turn a general capability into local application or recommendation?",
    "design_summary": "The pilot crosses eight archetypes, three evidence states, and three candidate conclusions. Two judges assess every repeated cell using a versioned rubric.",
    "evidence_state": "Protocol 0.1 preregistered; execution matrix not published, assessment not started, and no behavioral result available.",
    "boundaries": [
      "This preregistration does not prove that an applicability layer affects any real system.",
      "A synthetic case demonstrates neither general performance nor validity in every situation.",
      "A rubric-conforming decision is not professional or commercial advice.",
      "No client result, product score, or applicability guarantee is published."
    ]
  }
}
