# DISCIPLINE SELECTION MATRIX (Public RAM -- consumed by S3 + S8)

**Scope:** Maps `(claim-type, fitness-requirement, debiasing-overlay)` to a SET of research disciplines invoked IN PARALLEL. Authoritative for S3 Phase 2 dispatch.

## CRITICAL CONTRACT

**The matrix returns SETS, never single disciplines.** Every lookup result has size >= 2. A size-1 result is an authoring defect -- repair at design time, never bypass at runtime. Single-method invocation requires SINGLE_METHOD_EXCEPTION_PROTOCOL.md, not a matrix shortcut.

**Research Auditor is in every baseline set.** Non-removable meta-method. Capacity-ceiling deferrals pull from non-Auditor disciplines only.

## 1. Baseline sets by claim type

Each baseline is the minimum parallel invocation, ignoring overlays. Every set lists Research Auditor.

- **Descriptive:** `{scoping review, content analysis, secondary data analysis, research auditor}`
- **Causal:** `{systematic review, realist review, secondary data analysis, research auditor}`
- **Predictive:** `{secondary data analysis, comparative analysis, scoping review, research auditor}`
- **Normative:** `{discourse analysis, comparative analysis, historiography, research auditor}`
- **Interpretive:** `{qualitative synthesis, discourse analysis, content analysis, research auditor}`

Baseline size = 4. Capacity ceiling K >= 4 under nominal runs; K < 4 deferrals logged per SEARCH_LEDGER_WRITE_CONTRACT.md.

## 2. Fitness-requirement overlay (additive)

If claim's fitness requirements (from FITNESS_REQUIREMENTS_BY_CLAIM_TYPE.md) include any property below, ADD the listed discipline:

- `mechanism-context coupling` -> `realist review`
- `out-of-sample calibration history` -> `secondary data analysis`
- `competitor-positioning signal` -> `competitive intelligence`
- `temporal-causation / period-comparison` -> `historiography`
- `thick-description / reflexivity` -> `qualitative synthesis`
- `framing / subject-positioning / presupposition` -> `discourse analysis`
- `systematic coverage of breadth` -> `scoping review`
- `codebook-measurable construct` -> `content analysis`
- `parallel side-by-side evaluation` -> `comparative analysis`
- `effect-size quantification` -> `systematic review`

Overlays are ADDITIVE only; never subtractive.

## 3. Debiasing overlay (additive)

If run context carries `monoculture-risk: nontrivial` OR claim touches non-Western / practitioner / non-English knowledge, ADD:

- `historiography` (temporal / paradigm-shift exclusions)
- `comparative analysis` (cross-cultural parallel structure)

Evaluated AFTER fitness overlay; the set can only grow.

## 4. Selection procedure

1. Read claim type -> fetch baseline (size 4).
2. Read fitness requirements -> union with overlay additions.
3. Read run context -> union with debiasing additions.
4. Dedupe. Emit SELECTED SET to Orchestrator.
5. Orchestrator applies K, dispatches top-K by fitness-match, defers remainder with CAPACITY_BOUND entry. Auditor never deferred.

## 5. Prohibited operations

- Intent-verb lookup: NOT a matrix operation. Matrix is keyed on claim type, not verb.
- "Best-fit" ranking to a singleton: NOT a matrix operation. Matrix returns sets.
- Dropping baseline disciplines: NOT a matrix operation. Overlays are additive.
- Emitting size-1: defect. File a bug; do not proceed.

## 6. Consumers

S3 Multi-Method Orchestrator (Phase 2 dispatch) and S8 Adversarial Pass Engine (adversarial-discipline parallel invocation) both read this matrix. Both MUST produce sets, never singletons. A singleton from either consumer is a consumer defect, not a matrix allowance.
