← the contents·corridors and gates
The corridors
Five views of two tables — route_corridor and chokepoint. None of them is a map, and none of them draws a route as a segment between its endpoints: the volta do mar sails away from its destination to reach the westerlies, and drawn straight it reads as an error rather than as the fastest water. What is drawn instead is the curve, the calendar, the ranking, and the refusals.
what every figure in this section rests on
All 15 rows behind these five views are T2 or T3 — 6 T2 · 9 T3 — and 0 of 15 are verified. Every one of them traces to a single brief, BRIEF-2026-09-08C, and to nothing else. That makes 1 independent attestation, not 15.
Two readers of one brief are one reading. The tiers below are self-declared by that brief; a second document repeating it would add a coat, not a witness. Single-source dependence is a permanent property of these rows, not a field waiting to be revised upward — so nothing on these five plates gets stronger by being drawn twice, and each figure carries its own tier and source_ref where it stands rather than borrowing this paragraph's authority.
15 rows examined · 0 excluded at T0 · publishable tiers T1, T2, T3 · read from chokepoint and route_corridor · war-atlas db/export_routes.py, generated 2026-09-08 · recompute python db/export_routes.py
the war atlas · routes · corridors
The corridors
7 corridors, each drawn as the shape its forcing allows. Not one of them is a line between two points. The volta do mar sails west, away from the Cape, to reach the westerlies; the Brouwer route runs the roaring forties east before turning north; the Manila galleon goes out on the trades and comes home on the Kuroshio, and the two legs are not the same water. Drawn as straight segments all three would read as mistakes — so the straight segment is drawn too, in faint dashes, labelled as the wrong answer.
these curves are drawn, not recorded
None of the 8 gate names or the corridor endpoints below resolves to a coordinate in this atlas’s gazetteer, and nothing here is geocoded. So there is no recorded geometry for any of these corridors, and the curves are authored from each row’s forcing and why columns. North is up and west is left. Everything else about these panels is not geography: the horizontal is not longitude, there is no scale, no coastline sits behind them, and no distance, bearing or duration can be read off any curve. Hover a panel and it will tell you what its curve asserts and what it refuses.
how that is known · checked by hand on 2026-09-08 against war-atlas/data/coordinates.json — 192 keys, 170 battles and 22 sites — and 0 of the 18 place names in route_corridor and chokepoint resolved to one; the only near-hit is Manila, which occurs inside the battle key battle-of-manila-bay — a battle, not the port. That is rung 2, documented: the exporter does not measure it and this build does not re-run it, so it carries the date of the check and not the date of the page. The gazetteer is not in this app — only generated JSON is — which is why the check cannot be a build-time derivation without the exporter doing it. Recompute from war-atlas/: python -c "import sqlite3,json;c=sqlite3.connect('db/atlas.db');n={x for r in c.execute('select from_node,to_node from route_corridor') for x in r}|{r[0] for r in c.execute('select name from chokepoint')};k=json.load(open('data/coordinates.json'));k=set(k['battles'])|set(k['sites']);print(len(n),sum(x in k for x in n))"
the payload carries an honesty sentence and this page does not print it. It was written for the calendar at /war/routes/season, where it is true: that view draws 4 of 7 corridors as month bands, because 4 of the seasonal_window strings resolve to months — both figures read from coverage in the payload rather than retyped. This page draws 7 of 7 as schematics and no month bands at all, counted below from the rows on this build. Printing both sentences in one scroll would publish 4 of 7 and 7 of 7 about the same 7 rows. The same sentence also states that this atlas holds a coordinate for one of the 18 names, which the check above puts at 0 — the fix for that belongs in db/export_routes.py, which writes the clause as a literal, and not in a view that could only paper over it.
Brouwer route
Cape of Good Hope → Java · sea · 1611 - 1870
Run the roaring forties east, then turn north.
westerly T2 · not verified · BRIEF-2026-09-08C
Brouwer route · T2 · BRIEF-2026-09-08C
Run the roaring forties east, then turn north.
season · year-round
layover · none recorded — a stored 0, which is not the same as unrecorded
the curve asserts · The ORDER of the three moves: south to the westerly belt, a long run east inside it, and only then the turn north.
it refuses · The latitude. The guide line is labelled from the row's own `why` text and is not plotted at 40°S or anywhere else — this panel has no latitude axis.
Manila galleon
Acapulco → Manila · sea · 1565 - 1815
Out on the trades, home on the Kuroshio. The loop is asymmetric because the fluid is.
current T2 · not verified · BRIEF-2026-09-08C
Manila galleon · T2 · BRIEF-2026-09-08C
Out on the trades, home on the Kuroshio. The loop is asymmetric because the fluid is.
season · annual sailing — no months could be read from that string
layover · 120 days
the curve asserts · That the loop is ASYMMETRIC: the return is not the outbound reversed, because the fluid it rides is a different fluid.
it refuses · Everything else. Neither leg is placed, and the northern sweep is drawn north of the southern one only because the Kuroshio is the northern route — not at any recorded latitude.
An out-and-back that is not the same route in both directions — which a from_node/to_node pair cannot express without era and forcing beside it.
Africa - India monsoon crossing
Aden → Calicut · sea · -100 - 1800
The wind reverses; the voyage cannot be closed inside one season.
monsoon T2 · not verified · BRIEF-2026-09-08C
Africa - India monsoon crossing · T2 · BRIEF-2026-09-08C
The wind reverses; the voyage cannot be closed inside one season.
season · outbound Apr-Sep, return Oct-Apr
layover · 180 days
the curve asserts · That the outbound and the return are two different tracks in two different seasons, and that the wait happens at the far end.
it refuses · Any bearing, any distance, and any claim about where in the Arabian Sea either track ran.
THE LAYOVER IS THE FINDING. Months in a foreign port is the contact variable that distance is standing in for everywhere else in this atlas.
North Atlantic Organised Track System
Shanwick → Gander · air · 1965 - 2022
Up to a dozen tracks each way, laid on the strongest tailwinds eastbound.
jet T2 · not verified · BRIEF-2026-09-08C
North Atlantic Organised Track System · T2 · BRIEF-2026-09-08C
Up to a dozen tracks each way, laid on the strongest tailwinds eastbound.
season · repositioned twice daily — no months could be read from that string
layover · none recorded — a stored 0, which is not the same as unrecorded
the curve asserts · That the corridor is a BUNDLE of parallel lanes rather than one path, and that the bundle is laid across the ocean as a set.
it refuses · The number of tracks. Six are drawn; the row says up to a dozen each way, repositioned twice daily, and no run of the system is depicted.
THE TRACKS WERE A SURVEILLANCE ARTEFACT, NOT A WIND ARTEFACT. Positions updated roughly every 840 seconds, so aircraft were slotted into lanes. The wind explanation is true of where the lanes were PUT and false of why they EXISTED.
NAT random routing
Shanwick → Gander · air · 2019 - present
Space-based ADS-B cut position updates to 7-8 seconds; separation went from about 40 nautical miles to 14.
jet T3 · not verified · BRIEF-2026-09-08C
NAT random routing · T3 · BRIEF-2026-09-08C
Space-based ADS-B cut position updates to 7-8 seconds; separation went from about 40 nautical miles to 14.
season · continuous
layover · none recorded — a stored 0, which is not the same as unrecorded
the curve asserts · That the successor corridor has NO common shape. That absence is the finding: tighter surveillance dissolved the lanes rather than moving them.
it refuses · Any particular flight path. These five curves are drawn deliberately unlike one another and none of them is a route.
9 March 2021 was the first day in the system's history with NO westbound tracks; roughly twenty more OTS Nil days followed. From 1 March 2022 FL330 and below left the OTS entirely. ADS-B mandatory across the Reykjavik FIR since 1 July 2025; Blue Spruce routes removed from NAT Doc 007; GNSS spoofing procedures in NAT Ops Bulletin 01/2025; a January 2026 half-degree coordinate trial. ALL OF THIS IS FROM THE BRIEF AND UNVERIFIED — the 2025 and 2026 items are the weakest.
Volga-Dnieper silver route
Baghdad → Birka · river · 780 - 1015
Dirhams reached Birka and Gotland along the Volga and Dnieper, THROUGH PORTAGES.
portage T2 · not verified · BRIEF-2026-09-08C
Volga-Dnieper silver route · T2 · BRIEF-2026-09-08C
Dirhams reached Birka and Gotland along the Volga and Dnieper, THROUGH PORTAGES.
season · ice-free season — no months could be read from that string
layover · none recorded — a stored 0, which is not the same as unrecorded
the curve asserts · That the corridor BREAKS. A river route without portages cannot express how silver crossed a continent, and the break is the reason the band is drawn in three pieces rather than one.
it refuses · Which rivers, which carries, and where. Two ticks are drawn because the route is named for two river systems; the number is illustrative and the table records no count.
A route layer without portages cannot express how silver crossed a continent. Ties to metrology_calibration: the weights in those assemblages are calibrated to the dirham unit, so the route and the unit are two records of one contact.
Volta do mar
Lisbon → Cape of Good Hope · sea · 1440 - 1900
Sailing away from the destination to reach the westerlies is shorter in time than sailing toward it.
trade wind T2 · not verified · BRIEF-2026-09-08C
Volta do mar · T2 · BRIEF-2026-09-08C
Sailing away from the destination to reach the westerlies is shorter in time than sailing toward it.
season · year-round, direction-dependent
layover · none recorded — a stored 0, which is not the same as unrecorded
the curve asserts · That the corridor bows WEST — away from its destination — before it turns south and east. That is the whole content of the volta do mar.
it refuses · How far west. The bow is drawn large enough to read and is not a measurement; nothing in this atlas records the width of that loop.
Looks like a detour on a map and is not one. Any map of this atlas that draws routes as straight lines will make every entry here look wrong.
What the band is made of
Forcing is the field that decides the shape, so forcing is what the band style encodes — width, break and multiplicity, never length. Length would be a distance, and no distance is recorded for any of these rows.
westerly · 1 corridor
the widest band, pinned to a belt. A vessel enters the belt, runs inside it, and leaves it — the corridor has three moves, not one.
current · 1 corridor
two bands that do not mirror. Water forcing is directional in a way wind is not, so out and home are separate corridors sharing two ports.
monsoon · 1 corridor
two opposed bands. The wind reverses, so the return leg is a different season and cannot be the outbound run backwards.
jet · 2 corridors
many narrow tracks instead of one band. A jet corridor is a set of lanes assigned to aircraft, and drawing it as a single line would lose the set.
portage · 1 corridor
a band that breaks. The crossbars are carries: the vessel leaves the water, which no wind or current corridor ever does.
trade wind · 1 corridor
one steady band, bowed away from the destination. Steady forcing makes a wide smooth corridor, and the bow is the point.
What is drawn and what is not
A view that draws six of seven corridors and says nothing looks exactly like a view that draws all of them. So the four ways this page can be incomplete are counted here, every build, from the rows themselves — four bullets below and four counts in the caption under them.
- 7 of 7 corridors carry a schematic and are drawn above — counted on this build by matching the schematic table in this component against the payload rows, which is the only figure on this page that is a property of the page rather than of the data.
- 0 carry none. A corridor with no declared curve is shown as an empty panel saying so, never given another corridor’s shape.
- 0 schematics have no matching row. That would mean this file is drawing a corridor the database no longer holds.
- 0 forcings have no declared band style. An undeclared forcing draws in the warning ink rather than inheriting a style that would make it look like a kind of corridor it is not.
These four counts are derived at build time by comparing the schematic table in this component against the rows in the payload. They are not written down anywhere and cannot go stale.
The gates the corridors pass
mb/d is NEVER summed, stacked, totalled or put in a pie.
One Gulf-to-Europe voyage transits Hormuz AND Bab el-Mandeb AND Suez and is counted at all three. A total would count that cargo three times and would not say so. Criticality is the ranked and coloured field on this page. Volume appears as a numeral beside its as_of date and is given no length, area or angle - nothing a reader can add up by eye.
Malacca carries the most at 23.2 mb/d and rates MODERATE; Hormuz carries less at 20.9 and rates VERY HIGH, because no maritime alternative exists. Sizing these by volume would invert the only ranking that matters.
both figures in that sentence are chokepoint rows, matched to it by value on this build — 20.9 mb/d Strait of Hormuz, as of 2025-H1, T3, not verified, BRIEF-2026-09-08C; 23.2 mb/d Strait of Malacca, as of 2025-H1, T3, not verified, BRIEF-2026-09-08C
The gates are ordered by criticality and coloured by it. The volume is set as a numeral and given no bar, no wedge and no width — there is nothing on this page a reader can add up by eye, because the thing they would be adding up counts one voyage three times.
- Strait of Hormuzvery highno alternative exists
20.9 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
counts the same voyages as Bab el-Mandeb and Suez Canal and SUMED — these figures overlap and cannot be added
NO MARITIME ALTERNATIVE AT ALL. Less volume than Malacca and far more critical.
- Bab el-Mandebhighan alternative exists, far
4.2 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
counts the same voyages as Suez Canal and SUMED — these figures overlap and cannot be added
Fell from 8.7 mb/d in 2023 to 4.0 through August 2024 as traffic went round the Cape at roughly ten extra days. Reported back up to 8.1 with Saudi crude rerouted through the East-West pipeline to Yanbu — that last figure is the least attested in the table.
- Danish Straitshighan alternative exists, far
4.9 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
no overlap declared — which is not the same as no overlap
- Panama Canalhighan alternative exists, far
2.3 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
no overlap declared — which is not the same as no overlap
Alternatives exist but cost far more time — high, not very high.
- Suez Canal and SUMEDhighan alternative exists, far
4.9 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
counts the same voyages as Bab el-Mandeb — these figures overlap and cannot be added
Same voyages as Bab el-Mandeb, counted again.
- Turkish Straitshighno alternative exists
3.7 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
no overlap declared — which is not the same as no overlap
- Strait of Malaccamoderatean alternative exists, close
23.2 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
no overlap declared — which is not the same as no overlap
Highest volume, moderate criticality — the pair that proves volume is the wrong field.
- Cape of Good Hopelownot applicable — it is itself the alternative
9.1 mb/d as of 2025-H1 · T3 · not verified · BRIEF-2026-09-08C
counts the same voyages as Bab el-Mandeb and Suez Canal and SUMED — these figures overlap and cannot be added
The release valve itself. Rose from 6.0 to 9.2 as the Red Sea fell.
Within a criticality band the order above is alphabetical and means nothing. Across the bands it means this: of the 18 pairs of gates whose criticality differs, 11 have the LESS critical gate carrying MORE oil. That is the inversion, counted on this build over every pair rather than read off whatever order the list happens to be printed in — and it is why nothing on this page is sized by mb/d. Sizing by volume would have made Malacca the biggest mark and Hormuz a smaller one.
operands · all 8 chokepoint rows, 8 at T3, 0 verified, from BRIEF-2026-09-08C — one source is one witness, so the pair count inherits that and is not independently attested. The count itself is derived here from those rows and is written down nowhere.
double_counts_with is not reciprocal in this table. Hormuz names Bab el-Mandeb and Suez; neither names Hormuz back. A reader who de-duplicates by reading the field from one side gets a different answer from a reader who reads it from the other, so the relation is published as declared and NOT symmetrised here.
The proof that these are transits, not shares
Traffic left the Red Sea and went round the Cape. The two rows move in opposite directions and the difference is paid in DAYS, which is why this pair belongs on a timetable and not on a volume chart.
- Bab el-Mandeb 8.7 → 4 mb/d, fellquoted from Fell from 8.7 mb/d in 2023 to 4.0 through August 2024 as traffic went round the Cape at roughly ten extra days. Reported back up to 8.1 with Saudi crude rerouted through the East-West pipeline to Yanbu — that last figure is the least attested in the table. · T3 · not verified · BRIEF-2026-09-08C
- Cape of Good Hope 6 → 9.2 mb/d, rosequoted from The release valve itself. Rose from 6.0 to 9.2 as the Red Sea fell. · T3 · not verified · BRIEF-2026-09-08C
roughly ten extra days round the Cape
8.7 - 4.0 and 9.2 - 6.0 are not the same 4.7 and 3.2 barrels. The figures come from different reporting periods in one brief and the rows overlap by construction. The direction of each pair is the finding; the difference between them is not a quantity.
Neither table carries a verification column. Every one of the 15 rows traces to BRIEF-2026-09-08C and to nothing else, so the T2 and T3 tiers here are SELF-DECLARED BY ONE BRIEF. Two figures from one source are one witness, and finding a second document that repeats this brief would not change that. Single-source dependence is a permanent property of these rows, not a field waiting to be revised upward.
Built from war-atlas/db/atlas.db, tables route_corridor and chokepoint. Neither is downstream of Seshat or Cliopatria; admin_capacity and variable_confound are denied by name and are not read here. No basemap is used: this payload carries no coordinate and asks for none.