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 · R1JUN 15 ’253/3
RACE ANALYTICScomparison · full scroll
OverviewFull raceStartLegs 1–4x̄ off
181Innocent B.GPS COURSE298ChimichuriGPS COURSE441AlchemistHEADING OK
RACE OVERVIEWsegment winners + lead
181
298
441 · LEAD
Start gun→line
+4 s†
12 s ★
+2 s†
Leg 1 ↑
+16.5
+26.3
10:17.8 ★+0:26
Leg 2 ↓
+8.2†
7:41.0† ★
+3.1† +0:31
Leg 3 ↑
+10.3
10:05.5 ★
+9.2 +0:22
Leg 4 ↓
+6.0†
+2.4†
7:12.6† ★+0:29
Finish
+1:07
+0:29
42: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
Elapsed
43:26
42:48
42:19
Avg SOG kn
5.65
5.75
5.86
Distance m
7,398†
7,456
7,410†
Avg VMG kn
3.9†
4.0†
4.2†
Tacks / Gybes
2/4
3/7
4/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 line
32% fr. pin†
61%†
55%†
Line bias
pin favored +4°† startLineBias
SOG −30 s kn
4.1†
4.9†
4.6†
SOG at gun
4.8†
5.7†
5.5†
Gun→line s
19†
12†
14†
SOG +30 s
5.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 1↑beat · clean roundings
Time
+16.5
+26.3
10:17.8 ★
Avg SOG kn
5.31
5.48
5.65
Rank at WM
P2 —
P3 ▼1
P1 ▲1
Distance m
2,540†
2,589
2,551†
LEG 3↑example: 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
Time
17:50
12:53 ★
—
Avg SOG kn
4.9
5.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.
☰ MENU
Map◫Data
v5 · grounded
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.