Found while verifying #31's CI run. Real, currently-live, and confirmed independent of two other fixes merged the same day.
What's failing
TestMultiStateIndicatorsMapView, TestMultiStateIndicatorsChartView, TestMultiStateIndicatorsTableView, and TestSectionCoverageByState in tests/test_analytics.py — across most states and most sections (Hazard, Exposure, Vulnerability, Government Response), across Map, Chart, and Table views.
Two failure shapes:
Map/Chart — the indicator click itself fails:
AssertionError: ❌ 2/4 indicators FAILED
• Elderly population: Failed to select indicator
• Children population: Failed to select indicator
Table — indicator selection succeeds, data validation fails:
AssertionError: ❌ 2/2 indicators FAILED (Table View)
• Total Monthly Rainfall: Table validation failed
• Mean intensity of inundation (removing 0 intensity pixels): Table validation failed
Table-view failures are expensive: the shard with the bulk of them ran 2h28m, largely from 61 pytest-rerunfailures reruns — each failure gets retried and fails again.
Confirmed independent of #28 and #29
Both PRs were merged into main (2026-09-08) before the CI run that produced this. This failure pattern reproduced identically in two separate full-regression runs on #31 — one before merging #28/#29 into the branch, one after. So it isn't the disaster-hub navigation issue #28 fixed, and it isn't the self-healing false-positive issue #29 fixed.
Leading theory, not yet checked
There's an existing documented requirement (second-brain memory project_analytics_district_selection) that Chart and Table views need district + revenue circle selected right after select_view(), or they show no data — the dropdowns don't even render until a view is active. Worth checking first whether TestMultiStateIndicatorsChartView/TableView actually do that selection correctly before assuming the indicator locators themselves are stale.
Separately: this PR (#31) did find and fix 6 stale GovtResponseLocators leaf locators — but those were in select_govt_response_option(), a different, previously-dead-code method never called by any test before #31. TestMultiStateIndicatorsMapView etc. use select_indicator_by_text() instead, which has not been audited for the same kind of drift.
Not done
Deliberately not investigated further in this session — flagged and deferred rather than bolted onto an unrelated PR. This card exists so it doesn't get lost.
Found while verifying #31's CI run. Real, currently-live, and confirmed independent of two other fixes merged the same day.
What's failing
TestMultiStateIndicatorsMapView,TestMultiStateIndicatorsChartView,TestMultiStateIndicatorsTableView, andTestSectionCoverageByStateintests/test_analytics.py— across most states and most sections (Hazard, Exposure, Vulnerability, Government Response), across Map, Chart, and Table views.Two failure shapes:
Map/Chart — the indicator click itself fails:
Table — indicator selection succeeds, data validation fails:
Table-view failures are expensive: the shard with the bulk of them ran 2h28m, largely from 61
pytest-rerunfailuresreruns — each failure gets retried and fails again.Confirmed independent of #28 and #29
Both PRs were merged into
main(2026-09-08) before the CI run that produced this. This failure pattern reproduced identically in two separate full-regression runs on #31 — one before merging #28/#29 into the branch, one after. So it isn't the disaster-hub navigation issue #28 fixed, and it isn't the self-healing false-positive issue #29 fixed.Leading theory, not yet checked
There's an existing documented requirement (second-brain memory
project_analytics_district_selection) that Chart and Table views need district + revenue circle selected right afterselect_view(), or they show no data — the dropdowns don't even render until a view is active. Worth checking first whetherTestMultiStateIndicatorsChartView/TableViewactually do that selection correctly before assuming the indicator locators themselves are stale.Separately: this PR (#31) did find and fix 6 stale
GovtResponseLocatorsleaf locators — but those were inselect_govt_response_option(), a different, previously-dead-code method never called by any test before #31.TestMultiStateIndicatorsMapViewetc. useselect_indicator_by_text()instead, which has not been audited for the same kind of drift.Not done
Deliberately not investigated further in this session — flagged and deferred rather than bolted onto an unrelated PR. This card exists so it doesn't get lost.