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.
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.
| Code | Name | Definition |
|---|---|---|
| C1 | Noise exposure | Per-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. |
| C2 | Community sentiment | Public-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. |
| C3 | Economic impact | Property-value effects, local employment and tax effects observable in primary sources. RESERVED in v0.1 — not yet wired. |
| C4 | Safety incidents | Aviation 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
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.
| Source | Description |
|---|---|
| operator_news | Google News RSS feeds keyed to tracked operators (Joby, Archer, Wisk, etc.) and per-market AAM-context searches. |
| operator_press | Direct operator press releases, when distinguishable from the syndicated news pool. |
| facility_news | Per-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_news | Per-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_incidents | NTSB 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.
| Market | Representative facility | AIX-ID |
|---|---|---|
| Miami | Broward Health Medical Center (6FD8) | aix:hp:YWAJVGX7 |
| Phoenix | Banner Baywood Medical Center (AZ92) | aix:hp:6HHBVQ71 |
| Los Angeles / California | Sutter Roseville Medical Center (CN49) | aix:hp:GFB20QB2 |
| Dallas | Medical 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 version | v1.4 |
| Methodology hash | 9dc443579996134f784801b81be5c0765f896b89e0dee3879069f8f626195957 |
| Cohort scope | 73-site eIPP precision-gap cohort (sealed in aix:sir:3GKPQP74) |
| Source pools | operator_news · operator_press · facility_news · city_news · ntsb_incidents |
Version history
| Version | Date | Change |
|---|---|---|
| v1.0 | 2026-05-25 | Initial substrate. C1+C2 wired; C3+C4 reserved. |
| v1.1 | 2026-05-25 | C4 unreserved — aviation-safety observation types (laser, wildlife strike, near-miss, hard landing, emergency landing). C3 still reserved. |
| v1.2 | 2026-05-25 | NTSB Aviation Accident Database wired as canonical C4 source. Added CITY_SAFETY_INCIDENT + CITY_PROPERTY_IMPACT for completeness across city-scope axis. |
| v1.3 | 2026-05-25 | CidlObservation 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.4 | 2026-05-25 | Narrative 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 verified | Auto-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 assertion | An 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 yet | As 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.