Part of the Residual family.
thermal group (push_residual, cumulative_push_load_*) INFERS push load from lap-time residuals; this MEASURES the inputs. That is a different construct even though it shares the telemetry sensor with proximity. Phase 9 dropped powertrain and telemetry_cliff — the mart’s whole consumption of int_lap_telemetry_aggregates — and Phase 10a then cleared at 1.54x/2.17x re-reading the same ingestion through a different aggregation. The evidence says the aggregation failed, not the sensor, which is why this model’s risk is concentrated in the aggregation design and stated there.
AGGREGATION. mean / sd / max per phase. Mean is the lap’s overall input level, max the single hardest corner, sd the one with a tyre-management story: a driver even across the lap loads the tyre differently from one spiking in two corners and coasting the rest, at equal mean. Each phase is aggregated over the corners where THAT phase is measurable, not over the intersection of all three — corner-grain availability, re-measured on the shipped table 2026-09-11, is braking 69.94%, mid-corner 81.12%, exit 47.00% (18.88% of corner rows are unmapped outright at field_corner_sample_n < 5; among mapped rows the three run 86.21% / 100% / 57.94%), and corner_residual_total_s (exactly that intersection) is non-null on only 38.59% of corner rows. An earlier draft quoted mid-corner 97.6% and exit 60.9%; those do not reproduce and are corrected here.
CORNER-TYPE SPLIT: CONSIDERED AND DECLINED, recorded so it is not re-derived. §3 of the leaf doc suggests splitting by corner type since a slow hairpin and a high-speed sweep load a tyre differently. Declined for the primary arm on two grounds. (1) The only within-warehouse classifier of corner speed is apex speed, and a per-(race, corner) speed class pooled over the race reaches forward into the label window — the exact defect 02a ruled on in this same model. A point-in-time classifier would have to be trailing, which makes the corner’s TYPE vary lap to lap, which is not what a corner-type split means. (2) dim_corners carries only geometry (apex distance, neighbour spacing), which is a weak proxy for how a corner loads a tyre. It stays available as a declared follow-on arm if the primary clears; it is not in the primary arm.
POINT-IN-TIME. Every input is a residual against a backward-only trailing-5 field median (02g). The GROUP BY is keyed on lap_id, which pins one lap, so this model contributes no aggregation scope of its own — the whole argument rests on int_corner_skill_residuals above.
COVERAGE IS NOT NEUTRAL, and is emitted as a column rather than left as a NaN pattern. Measured on the mart’s training-eligible rows, corner_braking_loss_mean_s is NULL on 4.15%, and those rows average +1.393 s of 5-lap jump against -2.330 s for covered rows (sd 10.196 vs 5.938). The missingness carries label signal. It is not forward leakage — a lap is uncovered because its own telemetry is absent, or because the trailing baseline over t-5..t-1 held fewer than five valid observations, both settled strictly before t+1 — but a model handed bare NaNs could split on “corner inputs missing” and score a win that has nothing to do with driver inputs. corner_input_coverage is therefore admitted to the contract beside the residuals so the ablation can separate the two (arm C).
Lineage
Overview
9 tests guard this model - 8 generic, 1 singular.