Postgres data spine + NATS JetStream
D5 Flight Ops · P1 ingest
Ingest connectors
Five families, each with its own SLA
No bus message without an audit row first
Active feeds
Five live ingest sources
| Connector | Owner | Source | Cadence | Bus topic | State | Action |
|---|---|---|---|---|---|---|
| Weather (METAR/TAF) | D5 | Aviationweather.gov / OGIMET | 5–60 min | axiom.dispatch.weather.metar.v1 | On disk | |
| NOTAM (ICAO) | D5 | FAA NOTAM / EAD | 15 min | axiom.dispatch.notam.bulletin.v1 | On disk | |
| ATC slots (Eurocontrol/CDM) | D5 | Eurocontrol NM B2B | live | axiom.dispatch.slots.allocation.v1 | On disk | |
| ACARS downlink | D5 | ARINC / SITA | live | axiom.dispatch.acars.downlink.v1 | On disk | |
| FDM (Flight Data Monitoring) | D5 → D8 | Aircraft FDR / CSM | post-flight | axiom.safety.fdm.exceedance.v1 | On disk |
Contracts
Connector contracts (per-feed)
Weather (METAR/TAF)Bound
contracts/connectors/weather.v1.yamlNOTAM (ICAO)Bound
contracts/connectors/notam.v1.yamlATC slots (Eurocontrol/CDM)Bound
contracts/connectors/atc_slots.v1.yamlACARS downlinkBound
contracts/connectors/acars.v1.yamlFDM (Flight Data Monitoring)Bound
contracts/connectors/fdm.v1.yamlWhy connectors live above the bus, not in the bus
Each connector pulls from its native source, normalises through a versioned schema, and appends to P05 before publishing on P04. The bus carries authority-scoped events, not raw vendor payloads. If the upstream changes shape, the connector quarantines the message and a contract bump follows.
