Automatic detection of unresponsive data sources
The platform now detects when a data source stops returning records across multiple consecutive collection runs and flags it as failed — even if the source’s API responds without errors. Previously, a data source could go completely silent (returning zero records indefinitely) without triggering any alert, because the system only flagged runs where records were fetched but failed to persist. This change is what caught the civic and environmental review sources described below. No action is required on your part — the detection runs automatically and feeds into existing data freshness monitoring.Council decisions, zoning variances, and environmental reviews now populated
Three Civic Intelligence tables —council_decisions, zoning_variances, and environmental_reviews — were empty since launch because upstream data sources changed. Legistar-powered cities now use an HTML scraping fallback when the JSON API is unavailable, and California environmental reviews pull from the new CEQANet endpoint. If you query council decisions or zoning data through the Locus API or MCP server, you should now see results for cities that use Legistar (including San Francisco and New York City). EPA EIS environmental reviews are not yet available.Port authority governance dataset
Codex now includes a comprehensive governance dataset covering five major US port authorities — Oakland, Long Beach, Los Angeles, JAXPORT, and the Port Authority of New York and New Jersey. The dataset contains structured board meeting records, agenda items, claims, facts, tariff documents, and resolutions going back over a year. Each port’s records are normalized into a consistent schema so you can run cross-port queries out of the box. JAXPORT tariff data includes line-item extraction with bitemporal diffing, letting you track rate changes over time. See the full schema reference for field details and join keys.APRS envelope coverage across all datasets
All 111 Codex tables now carry the full APRS envelope —record_id, chunk_id, bitemporal fields, confidence_score, and provenance. A new compliance gate in CI ensures every table passes shape checks before deployment, so envelope coverage won’t regress. You can track current coverage on the envelope coverage dashboard.