Week of May 17–23, 2026
Weekly recap of May 17–23, 2026 — Locus ships score-component bars and a live time-series chart on the Explorer, Overwatch restores IRI enrichment.
This week at a glance
A short, focused week after the heavier May 10–16 recap. Locus picked up a new Recent hazards panel on every cell detail page, surfacing NASA FIRMS active fires and USGS earthquake history inside the exact H3 footprint you're looking at. Overwatch shipped two reliability fixes — the public live-map positions endpoint no longer times out under load, and the nightly dark events archive cron is completing cleanly again. Locus's automated FOIA portal submitter was retargeted at the current foia.gov React workflow, and Granicus-hosted council meetings are now tagged to the correct metro at ingest. A focused week. Locus replaced the placeholder visualizations on the cell score breakdown and on the Explorer score-history sidebar with real visx-powered charts wired to live data — a new score components bar sits beside the radar octagon on the location detail surface, and the explore sidebar's score-history view now plots composite and per-group trends from /api/score-trends instead of the prior static placeholder. Overwatch restored Marshall Islands IRI vessel-registry enrichment after the upstream search portal swapped to a new form layout — the adapter now handles both the new and legacy DOM, with a deterministic parser writing typed vessel records into the enrichment queue. The Splink-based probabilistic record-linkage scaffolding also landed under the hood; cross-registry deduplication for sanctions and UBO consumers ships in a follow-up once training data and downstream wiring are in place. Daily releases this week — the live-map positions endpoint, the dark-events archive cron, and Locus's FOIA portal automation — are recapped at the linked dailies
New features
- Locus: New Recent hazards section on every cell detail page. Shows NASA FIRMS active-fire detections from the trailing 180 days (with fire radiative power per detection) and USGS earthquakes from the trailing 5 years (with max magnitude and per-event magnitude and type), joined on H3 equality so the panel answers "what happened here" rather than "what happened nearby." Cells in low-hazard geographies render a clean empty state. Pairs with the existing safety and environment signal group, but exposes the underlying detections directly instead of only a rolled-up score.
- Locus: Real score components bar chart now sits beside the radar octagon on the cell score breakdown. Each of the eight canonical signal groups —
business_vitality,population_momentum,demographics,economic_strength,development_pipeline,accessibility,safety_environment,amenity_demand— renders as a sortable bar with its 0–100 sub-score, weight, and confidence chip, replacing the prior placeholder. The radar octagon is unchanged, so existing reads of dominant-signal geometry still work side-by-side with the new at-a-glance bar comparison. - Locus: The score-history chart in the Explorer left sidebar is now a real interactive time series. The chart pulls from
/api/score-trendsfor the currently selected cell, ships the composite line plus per-group lines for business, population, economic, safety, and accessibility, and lets you toggle between 30-, 60-, and 90-day windows. Hover any point for the composite and per-group values on that date.
Fixes
- Overwatch: The public
/api/v1/positions/latestendpoint powering the live map and the marketing hero map is no longer timing out under load. A dead-weight exact-count query against the latest-positions view had been hitting the database's 10-second statement timeout during traffic spikes and surfacing as 500s. The response shape is unchanged —total_vessel_countstill matches the returned feature count on both bounded and unbounded requests, and live-map consumers continue to fall back to the viewport count when total isn't present. No client changes required. - Overwatch: The nightly dark events archive cron — which rolls older events into cold storage — is current again. The range scan that walks events older than the retention cutoff now uses a dedicated index, so the job completes as a cheap index walk instead of a sequential scan plus sort and no longer trips the database statement timeout. Dark-event queries against recent windows continue to perform unchanged.
- Locus: Automated FOIA portal submission for foia.gov follows the portal's current React-based workflow — agency search, agency detail, and per-component request form — instead of the retired
/request/URL, with proper synthetic events dispatched on the React-controlled fields. Captcha-protected agencies are now reported with a clearcaptcha_detectedmarker in monitoring instead of opaque selector timeouts, so the real blocker is visible at a glance. - Locus: Granicus-hosted council meetings now consistently carry the correct metro tag at ingest, matching the parity already in place for Legistar cities. Cross-metro filters on the council-meeting feed stay accurate.
- Overwatch: Marshall Islands IRI vessel-registry enrichment is producing typed records again. The IRI search portal migrated to a new ADF-based form (live
pt1:r1:0:it2IMO field and a text-anchored Search button); the scraper had been timing out on the retiredimoNumberfield and the old submit selector and stalling enrichment jobs against Marshall Islands vessels. The adapter now races the new and legacy selectors, falls back automatically when the page reverts, and feeds a deterministic parser that writesimo_number,official_number,vessel_name, andfounddirectly into the enrichment record instead of relying on downstream HTML parsing. Raw HTML is retained on each result during rollout so any label-alias drift can be retro-parsed without re-scraping. IRI enrichment lag clears forward from the next worker run.
May 30, 2026
APRS envelope metadata backfill fix corrects gaps in historical Codex records so every dataset now meets the portable record standard end-to-end.
May 23, 2026
New compliance and backfill monitoring dashboard for Codex, plus a vessel enrichment session recovery fix that prevents stalled Equasis lookups.