# SREL/AI-1 — AI Risk Profile Specification v1

**URN:** `urn:srel:profile:ai:v1`
**Status:** Stable; extension section-classes marked below.
**Depends on:** the meta-language ([`srel-meta-v1.md`](srel-meta-v1.md)).
**Normative grammar:** [`../grammar/srel-meta-v1.abnf`](../grammar/srel-meta-v1.abnf) (base profile) and [`../grammar/srel-ai-1-ext.abnf`](../grammar/srel-ai-1-ext.abnf) (extension sections).
**Primitive reference:** [`../reference/primitives-table.md`](../reference/primitives-table.md).
**Conformance keywords:** MUST, SHOULD, MAY per RFC 2119 / RFC 8174.

## 1. Purpose and interpretation

The AI Risk profile expresses the risk posture of a deployed AI system as a structured assessment over a fixed coordinate space, producing a composite hazard indicator, the Shadow Simplex Score (SSS).

The SSS is a **hazard rate, not a verdict.** It estimates relative propensity to failure, and is validated by rank behavior — decile lift across a population of deployments — not by per-incident hit rates. A high score is a statement about hazard density, not a prediction that a specific incident will occur.

## 2. Coordinate substrate

The profile places every risk primitive on a matrix of **nine dyadic groups by six compositional periods**.

The nine groups are the dyadic edges of a five-vertex substrate `{L, S, P, A, Ω}`. Of the ten possible vertex pairs, the `A–Ω` edge (emergence–purpose) is **excluded** as the irreducible alignment edge: it is treated as a structural property of the substrate, not enumerated as a tenth peer group. The nine enumerated groups are `L–S`, `L–P`, `L–A`, `L–Ω`, `S–P`, `S–A`, `S–Ω`, `P–A`, `P–Ω`, numbered `I`–`IX` and organized as:

- **Groups I–IV, model-anchored** (`L–S`, `L–P`, `L–A`, `L–Ω`)
- **Groups V–VII, data-anchored** (`S–P`, `S–A`, `S–Ω`)
- **Groups VIII–IX, harm-emergent and harm-purposive** (`P–A`, `P–Ω`)

The six compositional periods are `P1` Primordial, `P2` Relational, `P3` Synthetic, `P4` Mediated, `P5` Social, `P6` Absolute.

A coordinate is written `<group>.<period>`, e.g. `III.P3`. The 9×6 matrix yields the **54 named primitives** enumerated in the primitive reference table. Primitive assignments MAY be overridden per deployment, subject to two constraints: assignments are mutually exclusive within a coordinate, and coding tokens are unique within a document.

## 3. Document structure

An AI Risk document is:

    ai-meta-header · [capability] · [meta] · [primitive."g.p"]+ ·
    [register_weights.<register>]×5 · [[compound]]* · [composite] · [explanation]?

### 3.1 Header

The meta-header (§2.1 of the meta-language) plus a required `register` declaration.

### 3.2 `[capability]`

Records the capability metric of the system and how it is normalized: `metric`, `metric_reference`, a `form` (`linear_inverse`, `exponential`, `threshold_tiered`, `velocity_ratio`, or `hybrid`), an optional `decay_coefficient`, and a `normalizer` in `[0,1]`. Capability normalization situates the assessment against a reference point so that scores are comparable across systems of differing capability.

### 3.3 `[meta]` — meta-conditions

Six boolean meta-conditions and their product:

| Field | Meta-condition |
|---|---|
| `KILL` | kill-switch / stop authority present and effective |
| `SAF` | safety envelope present |
| `HITL` | human-in-the-loop where required |
| `AUT` | automation appropriately gated |
| `TRU` | trust / independence condition met |
| `MAN` | mandate / authorization present |
| `product` | `0` or `1` — the product of the six booleans |

The meta-conditions are **non-compensating**: `product = 0` whenever any one condition fails. Their role in the composite is a hard gate (§3.7), not a weighted contribution. (A seventh condition, EFF, is defined by the Controls Exchange profile, where lifecycle state makes it meaningful.)

### 3.4 `[primitive."g.p"]`

One section per assessed coordinate:

| Field | Range | Meaning |
|---|---|---|
| `code` | 2–5 chars | primitive coding token |
| `score` | `[0,1]` | raw risk score at the coordinate |
| `shadow_distance` | `≥ 0` | distance into the shadow (hazard) region |
| `lambda` | `> 0` | shadow-amplification parameter |
| `weight` | `[0,1]` | contribution weight of the coordinate |

`shadow_distance` and `lambda` express how far and how sharply a coordinate's raw score translates into hazard. The **calibrated values of `lambda`, and of the register weights (§3.5), are not fixed by this specification**; they are supplied by the scoring implementation and are outside the interchange contract. A conforming document carries the fields; it does not thereby disclose the calibration behind them.

### 3.5 `[register_weights.<register>]`

Five register-weight tables, one per register: `statics`, `mechanics`, `dynamics`, `thermodynamics`, `kinematics` (a sixth register name, `unified`, denotes the aggregate). Each table's weights MUST sum substantially to `1.0`. The registers are the physical-analogy decomposition of the substrate; the specific weight values are implementation-supplied (§3.4).

### 3.6 `[[compound]]`

Zero or more compound primitives, each with a `code`, a `constituents` array of base coordinates, and a `contribution` in `[0,1]`. Compounds express interactions among base primitives (illustratively: error, stress, validation, redundancy, role, tool, delivery, goal, revision, and misuse compounds).

### 3.7 `[composite]`

The composite report:

| Field | Range | Meaning |
|---|---|---|
| `SSS_extended` | integer `[0,1000]` | the composite hazard score |
| `band` | enum | `PASS`, `WATCH`, `DRIFT`, `ELEVATED`, or `CRITICAL` |
| `SSS_statics` … `SSS_kinematics` | integer `[0,1000]` | per-register sub-scores |

`SSS_extended` is derived by **non-compensating aggregation** of the shadow-amplified primitive contributions across registers, **gated by the meta-condition product**: when `product = 0`, the composite is driven to its worst region rather than being averaged back toward acceptability. Aggregation is non-compensating by design — a strong register does not buy back a failed one, and lambda-coefficient multiplication of the meta-conditions is explicitly **not** the model. The numeric band thresholds over `[0,1000]` are calibration and are not fixed by this specification.

### 3.8 `[explanation]` (optional)

`top_contributors` (an array of coordinates or `compound:<code>` references) and a `narrative` string, so a score can be read back to the coordinates that drove it.

## 4. Extension section-classes

The extension grammar adds five section-classes for cell-diagnostic, cascade, and polarity scoring. They are OPTIONAL; the base sections above remain normative when they are used.

- `[interface_profile.<aspect>]` — per-aspect (`L`, `S`, `P`, `A`, `Omega`) interface-tension sub-score, group indices, mean orientation, and an interface-dominance flag.
- `[neglect_pathology.<aspect>]` — per-aspect neglect indicator `Q_i`, orientation means, and a flag.
- `[orientation_trajectory."g.p"]` — per-coordinate orientation `omega`, its rate `omega_dot`, and shadow-drift / domain-recovery flags.
- `[cascade]` — cascade maximum `sigma_max`, cascade parameter `lambda_c`, origin group, cascade sub-score, alert flag, and second-order tension groups.
- `[polarity.<group>]` — per-group polarity `pi` in `[-1,1]`, domain and shadow orientations, a criticality flag, and a counter-force note.

## 5. Conformance

A document conforms to the AI Risk profile if it presents the required header, `[capability]`, `[meta]`, at least one `[primitive."g.p"]`, the five register-weight tables, and `[composite]`, with all fields in their declared ranges and the meta `product` equal to the product of the six booleans. Extension sections, when present, MUST satisfy the extension grammar. Calibration values (lambda, register weights, band thresholds) are neither required to be disclosed nor validated by this specification.
