A real post-race report
This is not a mock-up. Below is the complete report Navigatek produced for race 1 of 4 October 2026 on Lake Tremblant, aboard CAN157 — every figure computed by deterministic tools from the boat's own sensors. Why this race: the coaching audit records 3 anomalies out of 22 checks, against 7 on 12 September and 52 (out of 18 checks) on 30 August. We publish our errors — and we fix them.
What has been changed: the internal component names have been shortened, and a few set-up notes specific to our boat have been removed. The race's figures, marks and verdicts are those of the real report. A report that only showed what went well would be worth nothing.
Race 1 — 10:20:46 → 11:07:29 (46.7 min)
1 · Summary
Race 4 of 4 October 2026: 46.7 minutes, southerly wind (161.3° on average, 11.35 kt). 10 legs, 5 tacks and 4 gybes. Pointing is optimal, but the wind turned 63° over the race, skewing the measured angles. The boat slid 8.0° to leeward of its course, with a suspect compass offset of 3.0°. The coaching missed 9 shifts out of 19. Vent's safeguard serves persistence, not the model. No speed breakdown, but costly gybes (30.8 s at 10:37:33).
2 · Context and conditions
Sensor health
| sensor | state | valid frames | readings | gaps |
|---|---|---|---|---|
| forward GPS | ok | 100 % | 37615 | 72 >0.3 s |
| Calypso wind | ok | 100 % | 1963 | 0 >4.5 s |
| compass | ok | 100 % | 2797 | 0 >3 s |
| gyroscope | ok | 100 % | 2797 | 0 >3 s |
| barometer | forecast (weather) — no local measurement | 100 % | 279 | 0 >30 s |
| speaker | ok | 100 % | 254 | n/d >3 s |
3 · Start
· start measured from the Juge GUN (start 1 gun of Race 2026-10-04 10:15), -23 s relative to the race boundary
4 · Speed and polars
An angle followed by a * is MEASURED (speed triangle, from the apparent wind): the reference wind gave a geometrically impossible one on this leg.
Leg detail — absolute and target speed
| leg | duration | TWA | wind | Mean SOG | Max SOG | polar target | % polar |
|---|---|---|---|---|---|---|---|
| downwind port | 368.4 s | 144.7° | 8.8 kt | 5 kt | 6.1 kt | 5.5 kt | 91.1 % |
| downwind starboard | 104.5 s | 157.7° | 10.5 kt | 5.4 kt | 6.4 kt | 5.6 kt | 97.5 % |
| downwind port | 534.8 s | 145.2° | 11.3 kt | 5.9 kt | 7.3 kt | 6.4 kt | 92.5 % |
| downwind starboard | 86.3 s | 157.5° | 14 kt | 6.5 kt | 7.6 kt | 6.7 kt | 98.3 % |
| upwind port | 298.7 s | 50.8° | 11.2 kt | 5.7 kt | 6.3 kt | 6.3 kt | 91.1 % |
| upwind starboard | 556.5 s | 45.1° | 12.9 kt | 5.8 kt | 6.5 kt | 6.2 kt | 93.9 % |
| upwind port | 219.6 s | 48.6° | 10.5 kt | 5.6 kt | 6.3 kt | 6 kt | 93.6 % |
| upwind starboard | 266.3 s | 44.9° | 12 kt | 5.9 kt | 6.4 kt | 6.1 kt | 97.7 % |
| upwind port | 269.3 s | 45.6° | 11 kt | 5.7 kt | 6.3 kt | 5.9 kt | 95.5 % |
| upwind starboard | 98.9 s | 39.3° | 12.8 kt | 5.8 kt | 6.4 kt | 5.9 kt | 98.9 % |
Tack asymmetry
| point of sail / tack | % polar | n legs | std dev |
|---|---|---|---|
| upwind_starboard | 96.8 % | 3 | 2.1 |
| upwind_port | 93.4 % | 3 | 1.8 |
| downwind_starboard | 97.9 % | 2 | 0.4 |
| downwind_port | 91.8 % | 2 | 0.7 |
upwind_delta_starboard_minus_port: 3.4 pts
downwind_delta_starboard_minus_port: 6.1 pts
· polar percentage is computed on SOG (speed over ground): the boat has no paddle wheel, leeway and current are not removed
5 · Manoeuvres
rotation time: median 4 s · from 3 s to 34 s · timed on 9 manoeuvres out of 9
tack: mean loss 6.2 s · worst 10.9 s · best 1.5 s (n=2) — rotation 3 s (3–8 s, n=5)
gybe: mean loss 17.8 s · worst 30.8 s · best 4.8 s (n=2) — rotation 16 s (3–34 s, n=4)
| time | type | wind | rotation | loss | extent |
|---|---|---|---|---|---|
| 10:26:54 | gybe | 9.1 kt | 9 s | 4.8 s | |
| 10:28:38 | gybe | 10.4 kt | 34 s | n/d | |
| 10:37:33 | gybe | 14.8 kt | 3 s | 30.8 s | |
| 10:39:00 | gybe | 11 kt | 23 s | 30.8 s | |
| 10:43:59 | tack | 12.3 kt | 4 s | 13.2 s | |
| 10:53:15 | tack | 11.9 kt | 3 s | 10.9 s | |
| 10:56:54 | tack | 10.3 kt | 8 s | 28.6 s | |
| 11:01:21 | tack | 11.7 kt | 3 s | 1.5 s | |
| 11:05:51 | tack | 10.9 kt | 3 s | n/d |
· 2 mark-rounding manoeuvre(s) (Bunker, Tremblant nord) counted but not graded: imposed by the course
· 1 loss(es) set aside from the averages: timed from an instant when the manoeuvre had not begun (gap of 35 s)
· 3 manoeuvre(s) not assessable (wind < 3.0 kt or loss not measured)
5bis · Leeway and symmetries
Starboard: median 11° · mean 11.3° · p10 -3.2° / p90 24.6° (n=1124)
Port: median -4.9° · mean -7.1° · p10 -17° / p90 -1.6° (n=1673)
True leeway 8° — compass offset 3° (expected range 3° to 6°)
Heel: starboard -25.3° · port 3.8° → true heel 14.6°, sensor offset -10.7°
Upwind: median absolute leeway 11.6° (n=1647)
Downwind: median absolute leeway 4.3° (n=1097)
· asymmetry of +3.0° between tacks: a compass offset of that order is probable
· heel offset of -10.7°: the report's per-tack heel figures are skewed by that much (one tack overstated, the other understated), and the « excessive heel time » with them
5ter · The track on the lake
wind 156.7° · tacking angle 88.2° · 5 tacks · corridor 25.5 %, pinched 24.4 %, footed 50.2 %
6 · Upwind and downwind — angles, speeds, heel
UPWIND
Time spent by heel band
| heel | % of time | distribution |
|---|---|---|
| 0-5° | 1.5 % | |
| 5-10° | 2.9 % | |
| 10-15° | 6.6 % | |
| 15-20° | 13.4 % | |
| 20-25° | 19.2 % | |
| 25+° | 56.4 % |
By tack
| tack | legs | TWA | SOG | % polar | heel |
|---|---|---|---|---|---|
| starboard | 3 | 43.1° | 5.8 kt | 96.8 % | 25.2° |
| port | 3 | 48.3° | 5.7 kt | 93.4 % | 23.6° |
DOWNWIND
Time spent by heel band
| heel | % of time | distribution |
|---|---|---|
| 0-5° | 96.5 % | |
| 5-10° | 3.3 % | |
| 10-15° | 0.1 % | |
| 15-20° | 0.1 % |
By tack
| tack | legs | TWA | SOG | % polar | heel |
|---|---|---|---|---|---|
| starboard | 2 | 157.6° | 6 kt | 97.9 % | 3.5° |
| port | 2 | 144.9° | 5.5 kt | 91.8 % | 2.4° |
· 1 tack(s) out of 5 taken on a LIFT: the angle turned there exceeds 2×TWA, so the wind had shifted in your favour and tacking gave it back. Example: 10:53:15, 109° turned for -18° of shift.
· heel above 20° upwind for 75.7 % of the time: beyond 20° a J/70 slides without gaining
· no reaching leg on this race
· the wind turned 63° over the race: angles are measured against the wind OF EACH LEG, not against a single race wind. Not comparable to a calm race without knowing it.
· UPWIND TWA, THREE MEASUREMENTS: leg angles 43.1°/48.3°; TWA measured per tack (corrected wind) starboard 39.2°, port 40.1°; reference = half the tacking angle on the compass, 37.6° (the wind turned 63° over the race). To judge pointing: trust the measured TWA (2.1° from the reference).
7 · The wind — shifts, headers and lifts
prevailing wind 159° (South) · 10.4 kt · 58 cells measured, 34 filled from the atlas, 113 interpolated · source: wind served on board (COM, calibrated compass)
The shifts, one by one
| time | rotation | direction | tack | nature |
|---|---|---|---|---|
| 10:22:26 | -5.4° | left | port | lift |
| 10:23:56 | -7.9° | left | port | lift |
| 10:25:26 | 5.6° | right | port | header |
| 10:29:36 | 5.7° | right | port | header |
| 10:31:26 | -5.1° | left | port | lift |
| 10:33:36 | 5.8° | right | port | header |
| 10:35:26 | -5.2° | left | port | lift |
| 10:37:36 | -5.9° | left | port | lift |
| 10:43:06 | -7.2° | left | port | lift |
| 10:44:36 | 5.1° | right | starboard | lift |
| 10:46:46 | 5.7° | right | starboard | lift |
| 10:51:56 | 6.5° | right | starboard | lift |
| 10:54:06 | -6.3° | left | port | lift |
| 10:56:16 | -8.5° | left | port | lift |
| 10:57:46 | -12.8° | left | starboard | header |
| 10:59:56 | 6.2° | right | starboard | lift |
| 11:01:26 | 5° | right | starboard | lift |
| 11:04:36 | -5.1° | left | port | lift |
| 11:06:06 | -6.3° | left | starboard | header |
8 · Tactics
| Leg | Measured time | On the best heading | Overcost |
|---|---|---|---|
| Start → Bunker | 17.8 min | 17.1 min | 4 % |
| Bunker → Start | 27.7 min | 23.4 min | 18.5 % |
Plan B — the bet on the racecourse
When the module stays silent, why:
- not enough observations: 19
- terrain and wind shift confounded (single leg): 18
- other: 16
- wind measurement too noisy to derive a field: 13
- gain too small or side not yet stable: 4
- outside upwind (the call is not played there): 1
Observed fault — to follow for improving the AI coaching
Vent's safeguard serves SIMPLE PERSISTENCE, not the wind model: over 164 comparisons accumulated since 22 August 2026, the model beats persistence only 60.4 % of the time — up since the safeguard was deployed (26.9 % on 22 August 2026). A signal to follow for improving the AI coaching — see the workbook, « wind-model-regressing-vs-persistence ».
high « signal » = what the module saw at every coaching cycle (~40 s), including its silence; « announced » = what actually reached the skipper, after the anti-repeat delay. A call that never leaves the signal is not a fault: it is the module's normal mode (silent by default, see the « water » module). `coverage_reliability` qualifies the NUMBER OF CYCLES OBSERVED, not the quality of the calls themselves: a day without a single call remains a reliable measurement if the module ran on every cycle.
Plan C — the measured header
Why the signal fires:
- Collapsed or negative VMG (haemorrhage): 4
- layline reached: 1
high « signal » = every coaching cycle (~40 s) where the boat is upwind (the tactical engine runs); « announced » = the orders actually spoken, prefixed « Plan C » (see the internal documentation). Critical alerts (collapsed or negative VMG) skip the orchestrator's usual confirmation — that is deliberate, a haemorrhage cannot wait. `coverage_reliability` qualifies the NUMBER OF UPWIND CYCLES OBSERVED, not the frequency of the orders.
Where the « now » orders come from
The reason the engine gives, branch by branch:
- 9 (90 %) — the other tack reaches the mark sooner
- 1 (10 %) — the current tack no longer reaches the mark
· route overcost: the CHOICE of heading only (polar on both sides, speed has its own mark); wind measured at the instant — being on the right side of a coming shift is not rewarded, and the vane's residual tack error (≈10° upwind) weighs on the angles
· « exploited » = a manoeuvre within 60 s; the DIRECTION of the shift and the starting tack are not yet taken into account — a low rate does not mean as many missed opportunities
· shift threshold 5° on wind smoothed over 60 s: at Tremblant the water's own oscillation is of the same order
9 · AI coaching audit
other 40 · speed_course 49 · shift 28 · manoeuvre 8 · plan_b 2 · gust 9
Detectable shifts not announced
| time | extent |
|---|---|
| 10:33:46 | -7.1° |
| 10:35:46 | -7.1° |
| 10:36:46 | -15.6° |
| 10:41:46 | -6.6° |
| 10:43:46 | 14.8° |
| 10:55:46 | -28.5° |
| 10:56:46 | -18.3° |
| 10:58:46 | 11.7° |
| 10:59:46 | 10.5° |
Stream audit — 22 automatic checks
| code | what it means | n | cost | where to look |
|---|---|---|---|---|
| C3 | A steering instruction while the boat is crossing the wind | 2 | 6 s | Orchestrator — turn guard |
| D2 | Two components do not count the same number of manoeuvres | 1 | 5 s | boat sensors — manoeuvre detector |
Checks PASSED — nothing to report: A1, A2, A3, A4, A5, B1, B2, B4, B5, B6, C1, C2, C4, C6, C8, D3, D4, D5
2 lower-cost anomaly(ies) counted but not detailed here — they all appear in the audit document.
The COMPLETE list, with the time and file of every anomaly, is sent from the on-board interface via the « AI coaching » button.
· STREAM AUDIT: 3 anomalies out of 22 checks, 179 cycles examined. The costliest: D2 8 manoeuvre(s) detected on board against 9 confirmed by the apparent wind
10 · Fleet
| Rank | Boat | Time | Gap to 1st | Start gp. | Status |
|---|---|---|---|---|---|
| 1 | CAN157 | 47:10.9 | +0 s | 1 | FIN |
Source: Juge · race « Race 2026-10-04 10:15 ».
10bis · Fleet wind
The relearned terrain field without this outing (39 other outings, the day's fleet removed): in what share of the cells does it predict the right direction of the measured wind? 50 % = chance.
| Field | All the cells | Announced to the helm |
|---|---|---|
| Boat only (6Ai) | 55 % (32/58) | 57 % (4/7) |
| Fleet only (Juge) | 38 % (10/26) | n/d |
| Boat + fleet — served | 54 % (37/69) | 67 % (4/6) |
Truth = CAN157's vane, which keeps a tack bias (~9° in September): the boat's field shares it, the fleet's does not.
11 · Progress
Over the last 10 races analysed.
| Indicator | First | Latest | Gap | Per race | Trend |
|---|---|---|---|---|---|
| Start — seconds lost | 4.1 s | 3.9 s | -0.2 s ≠ | +0.443 s | ▲ decline |
| Mean cost of a tack | 10.8 s | 6.2 s | -4.6 s | -0.734 s | ▼ progress |
| Speed — % of polar | 94.5 % | 93.9 % | -0.6 % ≠ | +0.159 % | ▲ progress |
| Coaching — accuracy rate | 20.0 % | 33.3 % | +13.3 % | +1.892 % | ▲ progress |
Not yet enough points for: Tactical overcost.
11bis · The leg close up
Segmentation at 20 m : 384 segments of 6 s median · 230 upwind, 147 downwind
Wind: median of the segments 160.8° · range 71.5° over the race
Upwind VMG: median 4.5 kt · p10 4.2 kt / p90 4.7 kt · spread 0.2 kt
Downwind VMG: median 4.7 kt · p10 3.6 kt / p90 5.5 kt · spread 0.7 kt rate of descent
Downwind, the weakest quarter (36 segments): VMG 3.9 kt at 138.1° of TWA for 5.1 kt.
The weakest quarter (57 segments): VMG 4.2 kt at 42.4° of TWA for 5.7 kt — this is where time is lost.
12 · Crew decisions
Median upwind TWA 45.1° for a target of 42° (3.1°) · spread 8.1° (n=834)
Gust response: over 30 gusts upwind (base wind 11.8 kt), heel gains 4.7° more 6 s later — peak at 41.4°. definition
TWS is derived from the apparent wind: on zero-delay events, heel may have manufactured the gust rather than suffered it (10 out of 30).
No decision fault recorded on this race.
Not attributable to the crew
11° of header held for 30 s on port without tacking — but the coaching did NOT say to tack: this is an opportunity missed by the system, not by the crew
25° of header held for 87 s on starboard without tacking — but the boat was on the layline (« no more tacks »): tacking was not the thing to do
22° of header held for 100 s on port without tacking — but the coaching did NOT say to tack: this is an opportunity missed by the system, not by the crew