Data quality and confidence
Nothing in this product invents a number. When the data cannot support a value the value is missing, marked or hidden, and the reason is shown. This page lists every quality signal and what the interface does with it.
Session level
| signal | source | what happens |
|---|---|---|
| no telemetry track | importer | the file is refused with the reason (exported / re-encoded video) |
| GPS valid fraction < 0.8 from the camera's first fix on, or no valid run ≥ 60 s | GPS validation | a session-level problem: the engine's sentence is shown above the analysis and the badge reads problem. It does not stop the analysis: no stage reads it, lap detection still runs on the valid stretches, and each lap is judged on its own GPS (Lap level); a recording that gives no laps says so ("no laps at all") |
| accelerometer at rest 2–15 % off 1 g (measured second by second over still seconds) | normalisation | every camera reading is scaled so that rest reads 1 g; the factor and the rest reading are recorded with the axis map |
| accelerometer at rest still not within 0.95–1.05 g after that | IMU validation | warning: the camera's G-forces are not trustworthy for this recording; GPS speeds, lap times and GPS cornering are unaffected |
| speed-consistency witness fails | GPS validation | warning; analysis continues with confidence downgraded |
| fewer than 2 racing laps | lap detection | no comparison; the session shows its fastest lap only |
| no laps at all | lap detection | status "no analysis" with the engine's reason; the recording is still stored and playable |
The session data-quality badge in the command bar reads problem when the engine reports a blocking
error (the recording's GPS is too poor to trust as a whole; the analysis still runs on what is valid), caution when it reports any warning (for example the
speed-consistency witness), and OK otherwise. No threshold is applied in the interface. Every message is a
sentence written by the engine (dtta.engine.validate.messages) that says what it affects; reports stored
before Oct 2026 are shown in the same words when they are read.
Lap level
| signal | definition | interface |
|---|---|---|
| classification and reasons | see Lap detection | badge on every lap; only racing laps are selectable for comparison |
| GPS valid fraction | fraction of valid samples in the lap | lap invalid below 0.9 |
| mean projection confidence, lost-sample count | see Track progress | data-quality warning when the mean is below 0.9; invalid when lost > 5 consecutive samples |
| gate-crossing confidence | lateral offset and heading at the gate | Engineer laps table |
| mount moved | up-vector drift > 10° | vehicle-frame values for the lap are marked unreliable |
The lap quality badge in the interface is derived only from these engine values: limited if the lap is invalid or any projection sample was lost; caution if the projection confidence mean is below 0.9 or the mount moved; ok otherwise. The thresholds come from the methodology registry served by the engine, not from the interface.
Lap visibility (product rule)
Invalid laps — intervals the engine rejected (did not complete the loop, went backwards on track, distance does not match the track length, GPS projection lost, GPS quality too low, implausibly fast for the track length) — are hidden from the Driver view by default. They never count as the fastest lap, the reference lap or a comparison, and they are excluded from the session summary (racing-lap count, fastest lap, lap spread). The lap strip shows "N invalid laps hidden"; the Lap visibility control (racing always on; caution / pace, pit / partial and invalid laps toggleable) reveals them with an INVALID badge and the engine's reason in plain words, still not selectable. The Driver preference is remembered in the browser. Engineer view shows invalid laps by default through a separate, non-persisted setting and allows an invalid lap to be inspected as the comparison, marked "INVALID DATA — ENGINEER REVIEW ONLY", with no delta or segment comparison computed; returning to Driver view restores a racing comparison. The interface never re-classifies a lap: it reads the lap class and the reasons from the engine and filters.
Lap-pair level (the delta)
The confidence shown for a lap delta is high when the endpoint invariant and the continuity bound hold and no grid point of the pair is low-confidence; caution when some grid points are low-confidence (the fraction is shown); limited would mean a failed invariant, which the engine never serves.
Grid level (along the lap)
| signal | definition | interface |
|---|---|---|
| low-confidence range | either lap's projection confidence < 0.5, or a GPS gap > 0.5 s | shaded band on every lane; "low confidence here" in the readout; per-segment fraction in the table |
| run edge | first/last 0.5 s of a run | excluded from peaks and sustained values |
| Cornering G undefined | speed < 3 m/s | gap in the trace |
| Chassis Load hidden | mount priority 4 (unknown / unreliable) or the mount moved on that lap | trace and columns hidden with the reason; the toggle is disabled |
Mount calibration priority (Chassis Load visibility)
| priority | condition | interface |
|---|---|---|
| 1 | automatic, confidence ≥ 0.8 | shown |
| 2 | automatic, confidence 0.5–0.8 | shown with a warning badge |
| 3 | manual override | shown, badge "manual" |
| 4 | otherwise | hidden; Cornering G (GPS only) is unaffected |
Video
| signal | interface |
|---|---|
| sync offset δ not measured for this camera | "sync unverified" in the video head (Engineer view shows δ = 0) |
| no playable source yet (proxy pending) | placeholder with the reason; telemetry analysis is unaffected |
Provenance
Every result records algorithm, algorithm version, parameter-set id and the full parameter dictionary, engine version, input hashes (always including the telemetry track hash of each chapter) and units. Two runs on the same input produce byte-identical results on the same platform (timestamps live only in the run log). The Provenance tab shows all of it for the session being viewed.