Idle Sails · research · PLAN-7 · route verification
The chart draws a track for every voyage. This page is about how much of that track we can actually defend — and, more importantly, how much of it we cannot.
The routing engine is the least-evidenced part of this project. Where every trade flow carries an evidence class, bounds, and sources, the wind field behind these tracks is a parametric model of about fifteen constants and the currents are ten boxes drawn on a map. None of it had ever been tested against the historical record. This page is the beginning of that test.
This comes first, deliberately. A verification suite that reports a healthy pass rate over the handful of routes that happen to have surviving evidence, while saying nothing about the rest, would be worse than no suite at all — it would launder a narrow check into a broad reassurance.
Reported per tier, per basin, and per era band — never pooled. There is deliberately no single score for the router: one number spanning routes with rich logbook evidence and routes with none would itself be a piece of false precision, and the whole point of this exercise is to not do that.
Ordered from the most robust to the most demanding. The early tiers are categorical and cannot manufacture precision; the last is quantitative and is only applied where positional data genuinely exists.
| Tier | What it asks | Why it is trustworthy |
|---|---|---|
| T1 | Did the track call where it had to, and stay out of where it must not? | Categorical. Needs no positional series, and encodes what the record is genuinely confident about — that homeward China ships used Sunda and not Malacca. |
| T2 | Did the passage take a plausible number of days? | Scored against an observed range, never a point estimate. Sailing dates survive in registers and company records for periods with no positions at all. |
| T3 | Do outbound and homeward tracks differ? | The volta do mar and the galleon's northern return are the defining feature of age-of-sail routing. A symmetric out-and-back is wrong in a way that is trivially testable. |
| T4 | Does the route respond to the season? | Where sailing directions say the route changed with the monsoon, it must change. |
| T5 | Does the track match a recorded one? | Discrete Fréchet distance and cross-track error — only where logbook positions exist, which is a small and late-dated subset. |
pass — the generated route satisfies the claim. fail — it does not. unverified — no evidence covers this lane at all.
That third state is the one that matters. An unverified lane is not a passing lane; it is a lane about which this suite is silent, and it never counts toward any tally. Most of the world's lanes sit there, and they will keep sitting there — the surviving positional record is dense for European long-haul shipping after about 1750 and thin to absent everywhere else. If the router were tuned until the well-documented routes were perfect, the chart would have been quietly rebuilt around the shape of the archive rather than the shape of the past. Publishing this number is how that stays visible.
Idle Sails · PLAN-7 Phase 0 (the verification harness) ·
data: research/routes/baseline-2026-07-21.json, generated by
research/tools/route-verify.mjs from the corpus in research/routes/corpus.json ·
the corpus schema and its declared non-coverage are in research/routes/_schema.md.
The present corpus is a seed set drawn from this project's own waystations sweep; the external-source
corpus (logbooks, sailing directions, company records) is research task R-11 and is not yet done.