> ## Documentation Index
> Fetch the complete documentation index at: https://wuweism.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SCM model registry

> List and retrieve structural causal models (SCMs) available in the Wu-Weism model registry.

The model registry exposes a catalogue of peer-reviewed structural causal models (SCMs) across scientific domains. These models encode causal structure — nodes, edges, and constraints — that power intervention validation, counterfactual tracing, and integrity checking throughout the Wu-Weism platform.

<Note>
  Both endpoints in this group are public. You do not need an `Authorization` header to read the model registry.
</Note>

***

## List all SCM models

```
GET /api/scm/models
```

Returns all publicly available SCMs in the registry.

### Response fields

<ResponseField name="success" type="boolean" required>
  `true` when the request succeeds.
</ResponseField>

<ResponseField name="models" type="object[]" required>
  Array of model summary objects.

  <Expandable title="model object properties">
    <ResponseField name="modelKey" type="string">
      Unique identifier for the model. Use this key when calling other SCM endpoints.
    </ResponseField>

    <ResponseField name="version" type="string">
      Semantic version of the model (e.g., `"1.0.0"`).
    </ResponseField>

    <ResponseField name="domain" type="string">
      Scientific domain the model covers. See [domain values](#domain-values) below.
    </ResponseField>

    <ResponseField name="description" type="string">
      Human-readable summary of the model's scope and intended use.
    </ResponseField>

    <ResponseField name="nodes" type="string[]">
      Variable names modelled as nodes in the causal graph.
    </ResponseField>

    <ResponseField name="edges" type="object[]">
      Directed causal edges between nodes, each with `from` and `to` properties.
    </ResponseField>

    <ResponseField name="constraints" type="object">
      Structural constraints and assumptions encoded in the model.
    </ResponseField>
  </Expandable>
</ResponseField>

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url https://wuweism.com/api/scm/models
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://wuweism.com/api/scm/models');
  const { models } = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get('https://wuweism.com/api/scm/models')
  models = response.json()['models']
  ```
</CodeGroup>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "models": [
      {
        "modelKey": "neural_topology_v1",
        "version": "1.0.0",
        "domain": "neuroscience",
        "description": "Causal model of structural brain connectivity and its relationship to cognitive outcomes, encoding known confounders including age, stress exposure, and genetic factors.",
        "nodes": ["cortisol_level", "stress_exposure", "hippocampal_volume", "age", "neuroplasticity"],
        "edges": [
          { "from": "stress_exposure", "to": "cortisol_level" },
          { "from": "cortisol_level", "to": "hippocampal_volume" },
          { "from": "age", "to": "hippocampal_volume" }
        ],
        "constraints": {
          "acyclic": true,
          "latentConfounders": ["genetic_risk"]
        }
      },
      {
        "modelKey": "alignment_bias_scm",
        "version": "1.0.0",
        "domain": "alignment",
        "description": "Structural causal model capturing how training data composition and RLHF feedback loops causally influence model alignment and emergent biases.",
        "nodes": ["training_data_distribution", "rlhf_reward_signal", "alignment_score", "emergent_bias"],
        "edges": [
          { "from": "training_data_distribution", "to": "alignment_score" },
          { "from": "rlhf_reward_signal", "to": "alignment_score" },
          { "from": "alignment_score", "to": "emergent_bias" }
        ],
        "constraints": {
          "acyclic": true,
          "latentConfounders": []
        }
      },
      {
        "modelKey": "hot_rosenthal_v1",
        "version": "1.0.0",
        "domain": "consciousness",
        "description": "Higher-order thought (HOT) causal model based on Rosenthal's representationalist framework, encoding causal relationships between first-order states, higher-order representations, and conscious experience.",
        "nodes": ["first_order_state", "higher_order_representation", "conscious_experience", "attention"],
        "edges": [
          { "from": "first_order_state", "to": "higher_order_representation" },
          { "from": "higher_order_representation", "to": "conscious_experience" },
          { "from": "attention", "to": "higher_order_representation" }
        ],
        "constraints": {
          "acyclic": true,
          "latentConfounders": ["global_workspace_access"]
        }
      }
    ]
  }
  ```
</ResponseExample>

***

## Get a specific SCM model

```
GET /api/scm/models/{modelKey}
```

Returns the full specification for a single SCM, including its complete node list, edge set, constraints, and metadata.

### Path parameters

<ParamField path="modelKey" type="string" required>
  The unique model identifier. See the table below for known model keys.
</ParamField>

### Known model keys

| `modelKey`            | Domain                     | Description                                                               |
| --------------------- | -------------------------- | ------------------------------------------------------------------------- |
| `alignment_bias_scm`  | `alignment`                | Training data and RLHF effects on model alignment and emergent bias       |
| `hot_rosenthal_v1`    | `consciousness`            | Higher-order thought causal model (Rosenthal framework)                   |
| `neural_topology_v1`  | `neuroscience`             | Structural brain connectivity and cognitive outcomes                      |
| `neural_dynamics_v1`  | `theoretical_neuroscience` | Dynamic causal modelling of neural population activity                    |
| `iml_epistemology_v1` | `iml`                      | Epistemic causal structure of interpretable machine learning explanations |

### Domain values

The `domain` field uses one of the following values:

`alignment` · `consciousness` · `neuroscience` · `theoretical_neuroscience` · `iml` · `education` · `legal` · `ecology` · `evolutionary_biology` · `cognitive_psychology` · `scaling_laws` · `physics` · `abstract`

### Response fields

<ResponseField name="success" type="boolean" required>
  `true` when the request succeeds.
</ResponseField>

<ResponseField name="model" type="object" required>
  Full model specification.

  <Expandable title="model properties" defaultOpen={true}>
    <ResponseField name="modelKey" type="string">
      Unique model identifier.
    </ResponseField>

    <ResponseField name="version" type="string">
      Semantic version string.
    </ResponseField>

    <ResponseField name="domain" type="string">
      Scientific domain.
    </ResponseField>

    <ResponseField name="description" type="string">
      Human-readable description of the model.
    </ResponseField>

    <ResponseField name="nodes" type="string[]">
      All variable names modelled as nodes in the directed acyclic graph.
    </ResponseField>

    <ResponseField name="edges" type="object[]">
      Directed causal edges. Each edge has `from` (string) and `to` (string).
    </ResponseField>

    <ResponseField name="constraints" type="object">
      Structural constraints, including `acyclic` (boolean) and `latentConfounders` (string\[]).
    </ResponseField>
  </Expandable>
</ResponseField>

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url https://wuweism.com/api/scm/models/neural_topology_v1
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://wuweism.com/api/scm/models/neural_topology_v1');
  const { model } = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get('https://wuweism.com/api/scm/models/neural_topology_v1')
  model = response.json()['model']
  ```
</CodeGroup>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "model": {
      "modelKey": "neural_topology_v1",
      "version": "1.0.0",
      "domain": "neuroscience",
      "description": "Causal model of structural brain connectivity and its relationship to cognitive outcomes, encoding known confounders including age, stress exposure, and genetic factors.",
      "nodes": [
        "cortisol_level",
        "stress_exposure",
        "hippocampal_volume",
        "age",
        "neuroplasticity",
        "genetic_risk"
      ],
      "edges": [
        { "from": "stress_exposure", "to": "cortisol_level" },
        { "from": "cortisol_level", "to": "hippocampal_volume" },
        { "from": "age", "to": "hippocampal_volume" },
        { "from": "age", "to": "cortisol_level" },
        { "from": "neuroplasticity", "to": "hippocampal_volume" }
      ],
      "constraints": {
        "acyclic": true,
        "latentConfounders": ["genetic_risk"]
      }
    }
  }
  ```

  ```json 404 theme={null}
  {
    "success": false,
    "error": "Model not found"
  }
  ```
</ResponseExample>
