# COMPATIBILITY MATRIX -- Evaluator Frames vs RAM Frames

**Purpose:** Canonical lookup for Phase 4 Compatibility Declaration. Given `(frame_id, ram_frame_id)`, emit the three Kuhnian signature pairs and summary verdict.

---

## 1. Summary Matrix

| Evaluator frame ↓ / RAM frame → | RAM_S02 (Fitness) | RAM_S03 (Transportability) | RAM_S08 (Saturation) |
|---|---|---|---|
| pragmatist | DISTINCT | DISTINCT | DISTINCT |
| phenomenological | DISTINCT | DISTINCT | DISTINCT |
| constructivist | DISTINCT | DISTINCT | DISTINCT |
| realist_cmo | DISTINCT | **PARTIAL** | DISTINCT |
| historiographic | DISTINCT | DISTINCT | DISTINCT |
| discourse_analytic | DISTINCT | DISTINCT | DISTINCT |
| chilisa_indigenous | DISTINCT | DISTINCT | DISTINCT |

20 of 21 cells DISTINCT. One is PARTIAL and carries the role-divider requirement.

---

## 2. RAM Frame Signatures (read-in only)

| RAM frame | Methodological | Semantic | Ontological |
|---|---|---|---|
| RAM_S02 | evidence-certainty | claim-fitness-relative | evidence-as-hierarchy |
| RAM_S03 | CMO configuration | generative-mechanism | stratified-realist |
| RAM_S08 | informational-redundancy | data-saturation-relative | sample-as-population-proxy |

---

## 3. Per-Cell Signature Pairs (Evaluator vs RAM)

Declaration: `{ methodological, semantic, ontological, summary: DISTINCT | PARTIAL }`. DISTINCT = all three dimensions non-overlapping. PARTIAL = at least one dimension shared.

### 3.1 Pragmatist
- vs RAM_S02/S03/S08: experimental-instrumental | (RAM sig); consequence-defined | (RAM sig); pluralist/anti-foundational | (RAM sig). DISTINCT across all three.

### 3.2 Phenomenological
- vs RAM_S02/S03/S08: descriptive/reductive | (RAM sig); lifeworld-anchored | (RAM sig); intentionality/embodied-constitution | (RAM sig). DISTINCT across all three.

### 3.3 Constructivist
- vs RAM_S02/S03/S08: hermeneutic-dialectic | (RAM sig); stakeholder-relative | (RAM sig); socially-constituted | (RAM sig). DISTINCT across all three.

### 3.4 Realist-CMO -- **the PARTIAL row**
- vs RAM_S02: middle-range/realist | evidence-certainty-grading; generative-mechanism | claim-fitness-relative; stratified-realist | evidence-as-hierarchy. DISTINCT.
- **vs RAM_S03: middle-range/realist | mechanism-context-outcome; generative-mechanism | generative-mechanism; stratified-realist | stratified-realist.** Semantic and ontological share Pawson-Tilley lineage. **PARTIAL** -- role-divider required (see `ROLE_DIVIDER_PROTOCOL.md`).
- vs RAM_S08: middle-range/realist | informational-redundancy; generative-mechanism | data-saturation-relative; stratified-realist | sample-as-population-proxy. DISTINCT.

### 3.5 Historiographic
- vs RAM_S02/S03/S08: tropological/conjectural | (RAM sig); narrative-pre-figured | (RAM sig); temporal-particularist | (RAM sig). DISTINCT across all three.

### 3.6 Discourse-Analytic
- vs RAM_S02/S03/S08: archaeological/CDA | (RAM sig); discourse-constituted | (RAM sig); positions-and-formations | (RAM sig). DISTINCT across all three.

### 3.7 Chilisa Indigenous
- vs RAM_S02/S03/S08: relational/Indigenous | (RAM sig); community-constituted | (RAM sig); relational-kinship | (RAM sig). DISTINCT across all three.

---

## 4. Declaration Emission Rule

Emit one record per binding:

```
compatibility_declaration = {
  methodological: "<eval_sig> | <ram_sig>",
  semantic: "<eval_sig> | <ram_sig>",
  ontological: "<eval_sig> | <ram_sig>",
  summary: "DISTINCT" | "PARTIAL"
}
```

Always persist, even when "obviously DISTINCT." Skipped writes break E9 convergence-drift detection.

---

## 5. Why DISTINCT Is Not a Blanket Default

DISTINCT is per-dimension, not global. E9 reads the three-dimension breakdown to detect drift where frames stay formally "DISTINCT" but share retrieval corpus or scoring-signal family. E9 watches the signature pair, not the summary word.
