v4.1.1 — both Mile Point buoys carry their buoy number
The one rename 4.1.0's slug sweep surfaced and deliberately deferred (#25). Same
window argument as that release: mile-point was free, and permanent as soon as
anything consumed it.
The asymmetry
| id | name | region | slug |
|---|---|---|---|
noaa/jx0302 |
Mile Point LB 20 | ~Atlantic Beach, FL | mile-point-lb-20 |
noaa/jx0303 |
Mile Point | LB 22 | mile-pointmile-point-lb-22 |
Two lighted buoys 4.4 m apart in the St Johns River, genuinely distinct —
different flood and ebb directions, different M2 amplitudes. NOAA files their
buoy numbers inconsistently: one in the name, one in the region. The ladder
reads the name, so LB 20 got a slug that identifies it and LB 22 took the
generic name for the whole place — /currents/mile-point read as the Mile
Point station while being specifically LB 22.
Both now carry their number, and mile-point belongs to neither.
Reserved, not just vacated. mile-point is recorded in formerSlugs, so a
consumer building a redirect map serves it, and it can never be handed to a
future station.
Name and context corrected too. jx0303's region field held "LB 22" — a
buoy number, not a place — so the correction gives it name: Mile Point LB 22
and context: St Johns River, matching how NOAA names its sibling.
Unchanged
4,690 rows before and after; the slug table diff is exactly one line. No slug
published before 4.0.0 has ever moved.