ANALYTICS V5 — RACE ANALYTICS · GROUNDED

v3c comparison-scroll spine, grounded on real G3 (RCYC 6/15 · stored staging analytics + engine-validation) · quality-gated tri-color · honest N1b states · unused engine gems (line position/bias) surfaced · values marked † are interpolated pending recompute
RCYC · R1 JUN 15 ’25 3/3
RACE ANALYTICScomparison · full scroll
OverviewFull raceStartLegs 1–4x̄ off
181Innocent B.GPS COURSE 298ChimichuriGPS COURSE 441AlchemistHEADING OK
RACE OVERVIEWsegment winners + lead
181298441 · LEAD
Start gun→line+4 s†12 s +2 s†
Leg 1 ↑+16.5+26.310:17.8 +0:26
Leg 2 ↓+8.2†7:41.0† +3.1† +0:31
Leg 3 ↑+10.310:05.5 +9.2 +0:22
Leg 4 ↓+6.0†+2.4†7:12.6† +0:29
Finish+1:07+0:2942:19
441 won it on Leg 1 and defended. The LEAD column is the story: +26 s off the first beat, never surrendered more than 9 s on any later leg.
FULL RACErace-scope engine fields
Elapsed43:2642:4842:19
Avg SOG kn5.655.755.86
Distance m7,398†7,4567,410†
Avg VMG kn3.9†4.0†4.2†
Tacks / Gybes2/43/74/4
race-scope Avg SOG ≠ Leg-1 SOG (5.65 vs 5.31 …) — bound to avgSpeed/totalDistance, killing the repeat-Leg-1 wiring bug by construction · T/G bound to maneuverSummary (kills 0/0/0) · quality-flagged cells (·gps) never win or lose the row
Note what is NOT green: 181's Tacks 2/4 and VMG are heading-derived on a GPS-course boat — they render plain and are excluded from best/worst. On staging today, 181's sensor failure (0 tacks) is highlighted green as "best." v5's rank rule fixes that lie.
STARTall SOG/position → trusted
Position on line32% fr. pin†61%†55%†
Line biaspin favored +4°† startLineBias
SOG −30 s kn4.1†4.9†4.6†
SOG at gun4.8†5.7†5.5†
Gun→line s19†12†14†
SOG +30 s5.2†5.6†5.8†
298 won the start (fastest at the gun, first to the line) — 441 won the exit (best SOG +30 s, converting a mid-line start into the Leg-1 lead). Every row here is SOG/position-based: trusted on all three boats regardless of heading.
LEG 1beat · clean roundings
Time+16.5+26.310:17.8
Avg SOG kn5.315.485.65
Rank at WMP2 P3 ▼1P1 ▲1
Distance m2,540†2,5892,551†
LEG 3example: N1b state (from B5)
⚠ Leg boundary uncertain for 441 — the second windward mark shares coordinates with the first, so this rounding couldn't be ordered reliably. 441's Leg-3 time is suppressed (raw value 27:04 is ~2× fleet — a boundary artifact, not sailing). Fleet values shown for 181 · 298 only. binding: markRoundings monotonic-guard (N1b) · recompute pending · total time for 441 marked affected
Time17:5012:53
Avg SOG kn4.95.4
This replaces the vague "leg breakdown needs review" banner on staging today, which hides ALL per-leg stats behind one warning while still showing 441's inflated 63:34 total as real. v5 names the cause, suppresses only the corrupt cells, and keeps the trustworthy ones.
iPhone · 390pt · full scroll · real G3/B5 anchors

WHAT THE EVIDENCE CHANGED (RACE PAGE)

  • The v3c spine survives intact — overview grid + LEAD column, elapsed-first, tri-color, jump chips, magnifier. What changed is the truth layer under it.
  • Rank rule (new): quality-flagged cells render plain and are excluded from best/worst + x̄. Staging today paints 181's sensor failure green ("0 tacks — best").
  • Bug A/B die by binding. Race-scope rows bind to avgSpeed/totalDistance/maneuverSummary — proven correct in the stored data on every race. §4 findings: 5.65 ≠ 5.31.
  • N1b honest state is a first-class block pattern — name the cause, suppress only the corrupted cells, mark the affected total. B5 live: "Leg 3 = 27:04" (2× fleet) shown as real behind a vague banner. Affects G2/B5/B6 (3/11 corpus races) until the monotonic-rounding fix + recompute land.
  • Start block promotes the unused engine gems: distanceFromBoatEnd (position on line) + startLineBias + KB-01 SOG ±30 s. All position/SOG-based → trusted on every boat, immune to N2.
  • Rank chips (KB-02) from markRoundings[] render only where roundings are clean (monotonic) — same gate as the leg blocks.

DATA STATUS

  • Numbers without † are stored-staging or engine-validation values (G3 elapsed/SOG/legs, B5 leg times). † = interpolated placeholders pending the N1/N1b recompute — the layout is the contract, recompute fills the cells.
  • Desktop = 2–3-column grid of these same blocks (report layout demonstrates); no separate desktop implementation.