AirIndex Methodology

Community Impact Data Layer (CIDL)

The canonical observation layer for the community-level impact of Advanced Air Mobility operations — noise events, public-comment filings, city-council voting records, local-media sentiment, property impact, and aviation safety incidents — anchored to permanent facility identifiers (AIX-IDs), version-locked, and methodology-hashed.

Methodology v1.4 (current).

1. What this is

CIDL is the observation layer beneath AirIndex’s facility-readiness work. Where the Q1–Q5 framework screens facilities for operational viability against federal and state records, CIDL records what is publicly being said and observed about those facilities and the communities around them. Every observation is a record that something appeared in a primary or syndicated public source — not a claim about the underlying event, and not an editorial judgement.

The substrate is designed against the same discipline as the rest of the AirIndex methodology stack: a row in the observation table is interpretable years later because its methodology version and hash are stamped at write time. If the spec evolves, the new version produces a new hash; prior rows retain their hash immutably. That is the discipline of a rating methodology, applied to community-impact data.

Operator-neutral by construction. No private operator data, no insurance-carrier claims data, no paywalled feeds. The substrate is built so any participant — an operator, an insurer, a regulator, a city council, a community advocate — can reference it without asymmetry of access. Operator-neutral. No private operator data, no insurance-carrier data. Public sources only.

2. The four observation categories

Every observation is classified into one of four categories. Categories are deliberate — expansion happens through version events, not silent re-tagging.

CodeNameDefinition
C1Noise exposurePer-facility noise exposure observations: noise complaint mentions, noise event reports, community noise concerns surfaced in primary or local-press sources. v0.1 source: IngestedRecord local-news pool filtered for facility-mention plus community-impact keyword.
C2Community sentimentPublic-comment filings, city-council voting records, local media sentiment on AAM/heliport operations at a specific facility. v0.1 source: same IngestedRecord pool, sentiment heuristic.
C3Economic impactProperty-value effects, local employment and tax effects observable in primary sources. RESERVED in v0.1 — not yet wired.
C4Safety incidentsAviation safety incidents observable in primary records: laser-strike events, wildlife strikes (bird, deer, etc.), near-misses, hard landings, and emergency landings. Unreserved in v1.1 (CIDL v0.4). Scope is aviation-safety per the AAM substrate — patient-safety / EMS-trauma-transport events are NOT captured here; they're operational-evidence and remain out of scope until a separate observation category is designed.

3. Observation type taxonomy

Each row carries an observationType string drawn from the canonical taxonomy below. Types come in two flavors: facility-scoped (the underlying public source names a specific cohort facility) and city-scoped (the source describes the facility’s host market without naming a specific facility — anchored to the market’s representative cohort facility; see Section 5).

Facility-scoped types

NOISE_MENTION COMMUNITY_MEETING COMPLAINT_FILING ZONING_ACTION SAFETY_INCIDENT PROPERTY_IMPACT MEDIA_COVERAGE PUBLIC_COMMENT LASER_INCIDENT WILDLIFE_STRIKE NEAR_MISS HARD_LANDING EMERGENCY_LANDING POWERLINE_STRIKE ENGINE_FAILURE LOSS_OF_CONTROL MID_AIR_COLLISION DYNAMIC_ROLLOVER

City-scoped types

CITY_NOISE_MENTION CITY_COMMUNITY_MEETING CITY_COMPLAINT_FILING CITY_ZONING_ACTION CITY_PUBLIC_COMMENT CITY_MEDIA_COVERAGE CITY_LASER_INCIDENT CITY_WILDLIFE_STRIKE CITY_NEAR_MISS CITY_HARD_LANDING CITY_EMERGENCY_LANDING CITY_SAFETY_INCIDENT CITY_PROPERTY_IMPACT CITY_POWERLINE_STRIKE CITY_ENGINE_FAILURE CITY_LOSS_OF_CONTROL CITY_MID_AIR_COLLISION CITY_DYNAMIC_ROLLOVER

On the CITY_ prefix. A CITY_-prefixed type signals that the underlying source is about the market in which the cohort facility sits, not the specific facility itself. The observation is real evidence about the city; the anchor to a specific cohort facility (the market lead) is for navigation and completeness, not a claim that the source named that facility. Consumers filtering for facility-specific evidence should exclude CITY_* types.

4. Source pools

CIDL reads from five upstream pools today. Adding a new pool is a methodology version event; the spec records the pool list and changes are visible in the hash.

SourceDescription
operator_newsGoogle News RSS feeds keyed to tracked operators (Joby, Archer, Wisk, etc.) and per-market AAM-context searches.
operator_pressDirect operator press releases, when distinguishable from the syndicated news pool.
facility_newsPer-cohort-facility Google News RSS — the query forces the facility name as exact-phrase, so each returned record is guaranteed-facility-relevant by construction.
city_newsPer-eIPP-market Google News RSS (Phoenix, Miami, Los Angeles, Dallas). Catches community-impact stories about the metro area that don’t name a specific facility — the dominant shape of community news in the current AAM phase.
ntsb_incidentsNTSB Aviation Accident Database (avall.zip) — the canonical primary record for U.S. aviation safety incidents. Refreshed weekly. Helicopter events in the four eIPP states are proximity-matched (5nm) to cohort facilities or city-anchored to the market lead.

5. City-scope anchoring

When a source describes the market without naming a specific facility, the observation anchors to the market’s representative cohort facility — the worked-example facility from SIR-003 per market — and the observationType gets the CITY_ prefix. This keeps observation counts honest without losing evidence: city-scope rows accrue to a single representative anchor rather than fanning out across all cohort facilities in the city.

MarketRepresentative facilityAIX-ID
MiamiBroward Health Medical Center (6FD8)aix:hp:YWAJVGX7
PhoenixBanner Baywood Medical Center (AZ92)aix:hp:6HHBVQ71
Los Angeles / CaliforniaSutter Roseville Medical Center (CN49)aix:hp:GFB20QB2
DallasMedical City Dallas Hospital (TS06)aix:hp:J9T772C1

6. Methodology version & hash

The specification is serialized deterministically and hashed (SHA-256). The hash fingerprints the spec: same spec, same hash on every machine; any change to the framework produces a different hash and a new version. Every observation row stamps the methodology version and hash active at write time.

Current versionv1.4
Methodology hash9dc443579996134f784801b81be5c0765f896b89e0dee3879069f8f626195957
Cohort scope73-site eIPP precision-gap cohort (sealed in aix:sir:3GKPQP74)
Source poolsoperator_news · operator_press · facility_news · city_news · ntsb_incidents

Version history

VersionDateChange
v1.02026-05-25Initial substrate. C1+C2 wired; C3+C4 reserved.
v1.12026-05-25C4 unreserved — aviation-safety observation types (laser, wildlife strike, near-miss, hard landing, emergency landing). C3 still reserved.
v1.22026-05-25NTSB Aviation Accident Database wired as canonical C4 source. Added CITY_SAFETY_INCIDENT + CITY_PROPERTY_IMPACT for completeness across city-scope axis.
v1.32026-05-25CidlObservation joins the daily Merkle anchor batch as the 8th immutable-audit table. Identity columns committed in canonical-hash.ts; rows now externally verifiable via /api/provenance/record.
v1.42026-05-25Narrative classifier refinement — 5 new C4 sub-types: POWERLINE_STRIKE (obstacle), ENGINE_FAILURE (mechanical cause), LOSS_OF_CONTROL (NTSB-canonical broad cause), MID_AIR_COLLISION (distinct from NEAR_MISS), DYNAMIC_ROLLOVER (helicopter-specific takeoff/landing). EMERGENCY_LANDING expanded to catch autorotation-in-emergency-context (training autorotations excluded). Reduces SAFETY_INCIDENT default rate.

7. Honest-substrate discipline

The substrate is built on three explicit caveats. They are part of the methodology, not external disclaimers.

Not verifiedAuto-extracted observations land with isVerified=false. They appear in the observation log but are not promoted to trusted scoring inputs without human review.
Observation, not assertionAn observation is evidence that something was OBSERVED in a public source — not a claim that the underlying event occurred or that its characterization is accurate. The substrate records public mentions, not validated facts.
Not audit-chain-anchored yetAs of v1.3 (2026-05-25), CidlObservation IS in the daily Merkle anchor batch as the 8th immutable-audit table. Rows committed at v1.0–v1.2 will be anchored in the next anchor cycle following the v1.3 deploy; rows committed from v1.3 forward are anchored on the next-day's cycle. The lookup at /api/provenance/record?table=CidlObservation&id=<id> returns the proof path.

8. How to verify

Every observation row is anchored to a facility AIX-ID and carries the source URL, the methodology version, and the methodology hash. The same spec object computed in any environment produces the hash above byte-for-byte; the spec is published as the canonical source object in src/lib/cidl.ts on the public repository.

Facility identifiers resolve at /verify; the cohort itself is sealed in SIR-003.