GoodIT ’26  ·  Pisa, Italy  ·  Sept 2–4, 2026

FireFair: Equity-Adjusted Multi-Agent Triage for Wildfire Ignition Forecasting

Aggregate metrics such as F1 and AUROC can mask systematic under-warning of socially vulnerable communities. FireFair audits a California wildfire forecaster by the CDC/ATSDR Social Vulnerability Index — then turns that audit into an operational routing signal with a chat-based multi-agent verification layer whose tool calls are visible to dispatchers.

Kefei Yan*1 · Frank F. Yang*1 · Yiyang Wang1 · Ziyi Yang1 · Kewen Liu1 · Yuzhuo Chen1 · Alex Cabral2 · Josiah Hester1

1 Georgia Institute of Technology    2 Massachusetts Institute of Technology    * equal contribution

firefair.onrender.com
FireFair live dashboard: California statewide equity-adjusted wildfire risk choropleth with Raw p̂ / Adjusted p̃ toggle
75%
reduction of the equal-opportunity gap ΔEO: −0.155 → −0.038, with the 95% bootstrap CI crossing zero
1.6pp
aggregate F1 cost (0.741 → 0.725) — the price of wider verification access for under-served strata
36%
of marginal-signal cell-days on the 2025 Madre Fire promoted into multimodal VLM verification
2days
single-cell pre-ignition lead on the Madre Fire, opened by the routing score alone
§01 · The problem

Aggregate accuracy hides who gets missed.

Wildfire ML benchmarks report one F1 averaged across geography. But when each ~4 km grid cell is joined to its census tract and stratified by the CDC/ATSDR Social Vulnerability Index (SVI), the picture changes: at the standard threshold, the backbone recalls 69% of ignitions in the most vulnerable quintile versus 91% in the least vulnerable — a 22-point gap invisible to every aggregate metric.

Per-quintile ignition recall at τ = 0.5 · calibration half, California test fold
Δ = 22.1 pp between Q1 and Q5 — systematic under-warning of the most vulnerable communities

Backbone: a five-member InceptionTime + CutMix ensemble (F1 = 0.741) on the California subset of the FireCastRL US Wildfire Dataset — 75-day gridMET weather sequences over 15 variables, ~4 km cells, held-out test fold of 7,154 cell-days split into disjoint calibration and evaluation halves.

§02 · The system

Three layers that make fairness a routing signal, not a report.

Layers 1–2 are deterministic and always on; Layer 3 is an on-demand, chat-based agent stack whose every tool call streams live to the dispatcher. The equity audit doesn’t sit in an appendix — it decides where verification effort goes.

always-on
Layer 1

Equity-Adjusted Scoring

Rescales the raw ignition probability by each cell’s historical per-stratum recall — an equal-opportunity–inspired post-processing collapsed into a single auditable score. Strata with lower true-positive rates get lower effective cutoffs.

p̃ = p̂ / max(r̂s(i), rmin)
always-on
Layer 2

Per-Community Routing Gates

A cell enters the high-risk set when its adjusted score clears the threshold — operationalized as an equivalent per-community cutoff on the raw score, so the routing decision stays inspectable. Alert-triggered cells gate the VLM as a server-side hard rule.

alert ← [p̂ ≥ τ · max(r̂s(i), rmin)]
on-demand
Layer 3

Multi-Agent Verification

A Report Agent orchestrates an Equity Agent (three-step SVI audit) and a hard-gated VLM Agent (Sentinel-2 + VIIRS evidence). Tool calls stream as Server-Sent Events — the dispatcher sees the evidence path, not just the answer.

Report ⇄ {Equity, VLM} · visible tool calls
FireFair architecture diagram: gridMET input feeds the InceptionTime+CutMix backbone, Layer 1 score adjustment, and Layer 2 routing gate on the left; on the right the Layer 3 Report Agent orchestrates the Equity Agent (SVI 2022 tract data) and VLM Agent (Sentinel-2 and VIIRS tiles)
End-to-end architecture. Solid arrows: deterministic data flow. Dashed arrows: the Report Agent’s selective tool calls — the Equity Agent on demand, the VLM Agent hard-gated on alert_triggered. Expensive, stochastic LLM calls stay off the critical daily batch path.
§03 · The agents

Every evidence stream gets its own agent, budget, and gate.

A monolithic LLM would mix evidence of very different provenance, latency, and audit cost. FireFair assigns each stream to a specialized agent so every step of the chain is inspectable in the chat trace. All agents use native function-calling; the dispatcher can expand any raw payload.

🗂️

Report Agent

The user-facing orchestrator. Answers dispatcher questions by lazily invoking tools and sub-agents, then synthesizes a brief explicitly conditioned on the equity findings.

risk_lookupweather_trendsequity_auditvisual_analysisfirms_hotspots
⚖️

Equity Agent

Joins a cell to its SVI tract and runs a three-step audit — sample size, effect size, and interval gates — before flagging a disparity, with a stratum-adaptive tool budget.

lookup_demographicslookup_stratum_recalltest_disparity
🛰️

VLM Agent

Hard-gated on alert-triggered cells. Reads a Sentinel-2 RGB tile plus a VIIRS thermal-anomaly summary and returns typed evidence — fuel state, active fire, wildland–urban interface proximity — with a mandatory uncertainty caveat.

tile_metadatafirms_summaryimagery_reliability
§04 · Results

75% of the disparity gone, for 1.6 points of F1.

On the held-out evaluation half (n = 3,579), the adjusted configuration shrinks the equal-opportunity gap until it is statistically indistinguishable from zero, and lifts recall exactly where the backbone under-warned: +13.1 pp in Q1 and +15.8 pp in Q2, versus +1.4 pp in already-reliable Q5.

ConfigF1ΔEO95% CIρQ1 reviewsTotal reviews
Raw 0.741−0.155[−0.216, −0.098]0.713011,582
Adjusted 0.725−0.038−75%[−0.084, +0.006]0.88380+26%1,933

Held-out triage ablation (neval = 3,579). ΔEO = RecallQ1 − RecallQ5 with 95% CI over 2,000 bootstrap resamples; ρ is the alert selection-rate ratio from disparate-impact analysis (1 = parity). Review counts use the per-community cutoffs. The disparity reduction is a deterministic consequence of the per-stratum cutoff geometry — not an optimization artifact.

§05 · Forward-time case studies

Two 2025 fires, two complementary modes.

Both fires post-date the backbone’s April 2025 training cutoff — genuine forward-time evidence, with ground truth from CAL FIRE incident records and InciWeb.

Mode A · Marginal-signal rescue

2025 Madre Fire — San Luis Obispo

80,779 acres. Across a 21-day window bracketing ignition, the raw threshold issued zero alerts. The equity-adjusted Q1 cutoff routed 38 of 105 cell-days (36.2%) into multi-agent verification instead of silence.

At the fire centroid on ignition day, p̂ 0.371 → p̃ 0.540 clears the gate — and two days before ignition, p̂ = 0.359 had already crossed it, opening a plausible pre-ignition review window on the routing score alone.

Equity Agent: SVI Q1, racial/ethnic-minority theme, recall 0.687 · VLM: actively-burning fuel state, confirmed
Mode B · Adaptive within-fire audit

2025 Shasta County — Happy / Rush Fires

Here the backbone alerts cleanly (p̂ 0.913 adjusted on the peak day, co-occurring with a persistent VIIRS active-fire signature), so there is no missed alert to rescue. Layer 3 shifts roles: from verifying a rescue to auditing equity within the fire.

On the SVI-Q1 centroid the Equity Agent runs its full three-step audit and flags a racial/ethnic-minority disparity in recall; on an adjacent Q4 cell ~6 km away, the same prompt short-circuits at the demographic lookup. The tool budget adapts to community vulnerability rather than being spent uniformly.

Same agent stack, zero configuration change — the decision tree routes non-extremal strata straight to synthesis
Production chat trace of the FireFair Report Agent on the Madre Fire centroid: Equity Agent tool calls (lookup demographics, stratum recall, disparity test) and VLM Agent sub-tools stream live, followed by a synthesized dispatcher brief conditioned on the equity flag
The production chat trace from the Madre Fire centroid (SVI Q1, ignition day 2025-07-02). Answering “Why is this Madre Fire cell flagged?”, the Report Agent lazily invokes the Equity Agent (3 tool calls, 3.5 s) and the VLM Agent (3 sub-tools, 5.4 s), then synthesizes a brief conditioned on the equity flag. Tool calls stream live as Server-Sent Events.
§06 · Live prototype

Deployed, interactive, and honest about its evidence.

The prototype serves daily California risk maps with a Raw / Adjusted toggle, census-tract drill-down, and the full agent chat — every screenshot below is from the live system.

Ask the Report Agent yourself.
Pick any cell, hit “Why flagged?”, and watch the evidence chain stream in. Free-tier hosting — give the first load a moment.
🚀 Open the demo
§07 · Citation

BibTeX

firefair.bib
@inproceedings{yan2026firefair,
  author    = {Yan, Kefei and Yang, Frank F. and Wang, Yiyang and Yang, Ziyi and
               Liu, Kewen and Chen, Yuzhuo and Cabral, Alex and Hester, Josiah},
  title     = {FireFair: Equity-Adjusted Multi-Agent Triage for Wildfire
               Ignition Forecasting},
  booktitle = {International Conference on Information Technology for
               Social Good (GoodIT '26)},
  year      = {2026},
  address   = {Pisa, Italy},
  publisher = {ACM},
  doi       = {10.1145/3794786.3830751}
}