docs/solutions/integration-issues/authority-gated-cyclone-seed-sources.md
Western-Pacific cyclone expansion needs authoritative attribution without turning an experimental or unvetted agency endpoint into a production dependency. It also needs to preserve each agency's reported wind averaging period rather than collapsing unlike observations into one apparently comparable number.
Keep source admission, identity matching, and publication metadata explicit:
scripts/natural/western-pacific-cyclones.mjs records JMA as
EXPERIMENTAL_CAP_NOT_OPERATIONAL and JTWC as pending Railway preflight, so
neither path is fetched or presented as an active source.https://data.weather.gov.hk, rejects
redirects, uses a 15-second timeout, and caps responses at 256 KiB before
parsing JSON.canonicalizeWesternPacificCyclones() preserves one observation per
agency:agencyId, matches aliases only inside bounded time and distance
windows, and permits a much narrower proximity fallback only for unnamed
observations. Named systems with distinct aliases do not merge.CycloneAgencyObservation protobuf contract carries agency identifiers,
status, wind, and wind-averaging period to the natural-event map popup.seed-natural-events.mjs publishes separate western-Pacific and HKO snapshots
with seed-meta:* records; the Railway climate bundle runs the seed every
three hours.The seed makes the admission decision visible in its snapshot instead of silently degrading authority. A JMA or JTWC source cannot become live merely because an adapter shape exists. HKO remains independently useful when JMA is blocked, while the canonical event keeps the source-specific wind semantics visible to map users.