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

# int_tyre_surface_vs_bulk_decoupling

> One row per lap (post-cliff only).

<Note>Part of the [Residual](/transform/families/residual) family.</Note>

One row per lap (post-cliff only). After tyre cliff, diagnoses whether degradation is surface-recoverable or bulk-structural. surface\_bulk\_ratio \[0,1]: high = recoverable, low = must pit. Includes recovery\_probability (pace-recovery chance within 2 laps). Grain: lap\_id filtered to cliff\_onset\_passed = TRUE.

## Lineage

```mermaid theme={null}
flowchart LR
  int_lap_residual_decomposed --> int_tyre_surface_vs_bulk_decoupling
  int_lap_thermal_proxy --> int_tyre_surface_vs_bulk_decoupling
  style int_tyre_surface_vs_bulk_decoupling fill:#e40404,stroke:#e40404,color:#fff
```

## Overview

| Property          | Value                                                                                                              |
| ----------------- | ------------------------------------------------------------------------------------------------------------------ |
| Layer             | `intermediate`                                                                                                     |
| Family            | [Residual](/transform/families/residual)                                                                           |
| Contract enforced | No                                                                                                                 |
| Tags              | `simulation`, `thermal`                                                                                            |
| Upstream          | [`int_lap_thermal_proxy`](./int_lap_thermal_proxy), [`int_lap_residual_decomposed`](./int_lap_residual_decomposed) |

**9 tests** [guard](/transform/ci/overview) this model  -  9 generic, 0 singular.

## Columns

| Column                  | Type | Nullable | Tests                                                                                                          | Description                                                               |
| ----------------------- | ---- | -------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `lap_id`                |      | Yes      | [`not_null`](/transform/ci/structural), [`unique`](/transform/ci/structural)                                   | PK, FK to stg\_laps (post-cliff laps only)                                |
| `surface_bulk_ratio`    |      | Yes      | [`not_null`](/transform/ci/structural), [`expect_column_values_to_be_between`](/transform/ci/range-and-domain) | push\_load\_surface / (push\_load\_surface + push\_load\_bulk). \[0, 1].  |
| `degradation_source`    |      | Yes      | [`not_null`](/transform/ci/structural), [`accepted_values`](/transform/ci/range-and-domain)                    | Classification based on surface\_bulk\_ratio thresholds.                  |
| `recovery_probability`  |      | Yes      | [`not_null`](/transform/ci/structural), [`expect_column_values_to_be_between`](/transform/ci/range-and-domain) | Probability of pace recovery within 2 laps. \[0, 1]. SQL approximation.   |
| `thermal_attribution_s` |      | Yes      | [`not_null`](/transform/ci/structural)                                                                         | Share of compound\_component\_s attributable to thermal (surface) damage. |
