Axiomancer
Changelog

April 27, 2026

Safety tier distribution on the Explorer rail, Bloomberg-style /dashboard terminal, public global vessel positions endpoint, and faster Overwatch hero video.

April 27, 2026LocusFeature

Safety tier distribution on the Explorer rail

The Intelligence Rail on the Locus explorer now includes a stacked-bar visualization showing how the focused metro's scored cells distribute across five safety tiers — Prime (≥80), Strong (60–79), Solid (40–59), Watch (20–39), and Elevated (<20). The mix tells you at a glance whether a metro is mostly safe or mostly elevated without having to scrub the map.

The bar is backed by a new generic endpoint, GET /api/metro-tier-distribution, which buckets any of the eight signal-group columns (or composite) by tier for a given metro. The same component will power distribution bars for development pipeline, business vitality, and other groups in future panels — pass a different signal query parameter to compute a different mix without a new route. No action is required on your part.

April 27, 2026OverwatchFeature

Bloomberg-style terminal at /dashboard

The Overwatch dashboard at /dashboard has been rebuilt as a fixed-viewport, terminal-style HUD with two preset modes — TRADE for commodity flow tracking and SANC for sanctions analytics — each laying out 12 live-data panels (port-flow heatmap, live vessel mini-map, export forecasts, berth utilization, commodity tape, trade-flow tracker, active alerts, dark-fleet map, anomaly queue, risk profiles, verification queue, and a recent-events stream).

The terminal supports keyboard navigation: F1F12 jump straight to the equivalent dashboard sub-route, and ⌘K (or Ctrl+K) opens a command palette to search panels and tools. Pin actions on the panels are backed by your existing watchlist, so vessels you've pinned stay surfaced across panels. A simplified mobile view is shown on small screens.

The previous landing page is preserved at /dashboard/overview and reachable via F12 or the command palette. All 24 dashboard sub-routes still work as before.

April 27, 2026OverwatchFeature

Public global vessel positions endpoint

A new public /api/v1/positions/latest endpoint returns a global GeoJSON FeatureCollection of the latest known position for every tracked vessel (~18K) in a single request. No auth required, CDN-cached for five minutes, and supports an optional type filter and bounding box (west, south, east, north) for regional snapshots — antimeridian-crossing boxes included. The full global payload is ~800 KB gzipped. Use it to power your own live map, heatmap, or periodic dashboard refresh instead of paging port-by-port.

April 27, 2026OverwatchUpdate

Instant panning on the Overwatch live map

Panning the live map to a new region of the globe is now instant — no more empty-map flash while a region-specific request comes back. The map now loads the full global vessel layer once on first paint and renders every subsequent pan and zoom from data already on the client, matching the always-on-globe feel of VesselFinder and MarineTraffic. Positions still refresh automatically every five minutes, so the layer stays current without any extra requests. No action is required on your part.

April 27, 2026OverwatchUpdate

Faster hero video startup on the Overwatch homepage

The hero video on axiomoverwatch.io now starts playing noticeably faster on first visit. The browser opens a TLS connection to the Mux video origins while the rest of the page is still parsing, so the handshake is already warm by the time the player is ready to stream. No action is required on your part.

April 27, 2026OverwatchUpdate

Sharper homepage paint on Overwatch

Followed up on the hero video startup work with an additional paint improvement on axiomoverwatch.io. The hero thumbnail — the largest visible element on first load — is now declared as a preload hint in the initial document, so the browser fetches it in parallel with the rest of the page rather than waiting until the video player mounts. The same prefetched image is reused as the player's poster, so there's only one network request for it. The result is a noticeably earlier first paint of the homepage hero on cold visits. No action is required on your part.

April 27, 2026OverwatchFix

Equasis enrichment failures down from 98.8% to baseline

Fixed an issue where the first vessel in every Equasis enrichment batch was failing immediately after a fresh login, then triggering an unnecessary re-authentication that often failed too. An audit found this pattern accounted for 98.8% of recent enrichment-queue failures (5,503 of 5,570). The re-login path was already pre-warming the session before fetching vessel data, but the initial-login path skipped that step and went straight to the vessel-detail request — which Equasis rejects roughly 95% of the time on a brand-new session. Fresh logins now follow the same warmup flow as re-logins, so registered owner, flag state, and deadweight tonnage populate on the first attempt instead of the third. Underlying HTTP status and reason are now also propagated into enrichment error messages so future failures can be diagnosed without re-running the batch. No action is required on your part.

April 27, 2026OverwatchFix

More resilient ingestion of cultural amenity data

Cultural amenity records ingested from OpenStreetMap could fail to load when an upstream start_date tag used a freeform value like "1870" or "c. 1900" that isn't a valid timestamp. The ingestion job now validates the date before using it and falls back to the ingestion time when the value can't be parsed, so the long tail of historical sites flows in cleanly alongside the rest. Coverage on the envelope dashboard for osm_cultural_amenities is unchanged. No action is required on your part.

April 27, 2026OverwatchFix

More reliable vessel enrichment on first login

Vessel metadata enrichment from Equasis was failing on the first vessel of nearly every batch because the initial-login path skipped the session warm-up step that the re-login path already performed. The first request to the upstream service was bouncing roughly 95% of the time, which then triggered an unnecessary re-login per batch. The fresh-login path now warms the session before the first request, so registered owner, flag state, and deadweight tonnage populate consistently from the start of every run. No action is required on your part.

April 27, 2026LocusFix

Safety score no longer reads "100" from flood zone alone

The Safety & Environment sub-score on Locus cells now requires at least two contributing sub-signals to produce a measured score. Previously, cells with no crime, EJScreen, NRI, air-quality, or 311 data — which is most cells outside the largest US metros — were scoring 100/100 on safety purely because FEMA flood zone is universally available and most US locations sit in the low-risk X zone (which maps to a sub-score of 100). With only one input feeding the group's weighted average, lack of crime data was being silently read as "fully safe." Affected cells now return safetyEnvironment.score: 50 with confidence: 0 and an empty subScores array, signaling no safety signal available rather than masking sparse coverage as a perfect score. Use the confidence field to filter these cells out of safety-sensitive ranking lists. See coverage guards on signal groups for the full rule.

April 27, 2026LocusFix

More accurate neighborhood names on Locus cells

Locus now resolves neighborhoods to the names you'd recognize from Google Maps — places like SoHo, Williamsburg, or Mission District — instead of the administrative subdivisions that the previous source returned (NYC Community Boards like Manhattan Community Board 2, or generic township and city names in other metros). Cell enrichment, scoring, and location lookups now prefer curated polygons that match the everyday neighborhood you'd expect, with OpenStreetMap and Census fallbacks for areas without curated coverage. Existing rows that returned a Community District name have already been cleared, and a backfill is in progress to populate full neighborhood coverage across all 22 supported metros. No action is required on your part.

April 27, 2026OverwatchFix

Live map controls no longer clip on shorter viewports

Resolved an issue on the Overwatch live map where the trail playback controls could be cut off at the bottom of the viewport and the viewport-loading disclaimer overlapped the vessel-types legend. The trail controls now respect the browser's safe-area inset, the vessel-types legend reflows above the trail controls on shorter screens, and the disclaimer is hidden on desktop where the legend already conveys the same information. No action is required on your part.

April 27, 2026OverwatchFix

Live map trail controls now fully visible on mobile browsers

Followed up on the earlier safe-area fix for the Overwatch live map. On mobile browsers, the trail-playback button could still appear half-hidden behind the dynamic URL bar because the map sized itself to the full viewport (100vh) rather than the visible viewport. The map now sizes to the dynamic viewport (100dvh), and the trail controls and vessel-types legend are pinned a fixed offset above the safe-area inset, so both controls stay fully on-screen as the URL bar shows and hides while you scroll. No action is required on your part.

April 27, 2026LocusFix

NYC neighborhood coverage restored after upstream dataset withdrawal

The NYC Open Data feed that supplies New York City neighborhood polygons for enrichment, scoring, and location lookups was withdrawn upstream, which left some NYC cells without a friendly neighborhood name. Locus has switched to the current 2020 Neighborhood Tabulation Areas dataset, so names like East Village, Lower East Side, and Murray Hill-Kips Bay now resolve correctly again instead of falling back to Manhattan Community Board 3 or similar administrative subdivisions. The OpenStreetMap fallback that covers metros outside NYC was also failing on requests that didn't identify themselves to the Overpass API — those requests now succeed, so curated polygons load reliably across all 22 supported metros. Existing affected rows have been cleared and the backfill is repopulating coverage automatically. No action is required on your part.

April 27, 2026LocusFix

Neighborhood polygons now support islands and exclaves

Neighborhood boundaries in Locus can now contain multiple disjoint polygons — useful for areas that span an island, an exclave, or a peninsula separated by water. Previously, multi-part shapes were silently truncated to their largest piece, so a neighborhood lookup inside a smaller component could miss the match and fall back to a coarser administrative name. All curated and OSM-sourced polygons now preserve their full geometry, which keeps neighborhood resolution consistent with what you'd see on Google Maps. No action is required on your part.

April 27, 2026LocusUpdate

Faster home page on locus.axiomancer.io

The hero video poster on locus.axiomancer.io — the Largest Contentful Paint element on the home page — now loads noticeably sooner on first visit. The browser is told to preload the poster image at high priority directly from the initial document, instead of waiting for the player to mount, so the hero appears earlier in the page lifecycle. The poster is also requested from a CDN-warm preset size, dropping roughly 1.3 MB from the home page payload at the same visual quality and avoiding the multi-second origin-resize stall that was hitting first-time visitors. No action is required on your part.

April 27, 2026LocusFix

Hardened budget caps on POI ingestion

The pipelines that refresh POI inventory for Locus scoring now run with a small safety margin under each upstream provider's free-tier ceiling, instead of stopping exactly at it. Per-key Google Places usage now caps at 6,200 calls per billing period (down from 6,250) and the global weekly collection budget caps at 43,000 calls (down from 43,750), so concurrent jobs racing on the same counter can no longer push usage one call past the free credit. Yelp also now has an explicit monthly cap of 4,800 calls under its 5,000-call free tier, where previously only the response cache prevented overspend. POI freshness on the data freshness table is unchanged — the weekly refresh still completes well within the new budgets. No action is required on your part.

April 27, 2026LocusFeature

Composite-driven ranking lists now preview top 3, unlock on Analyst+

The eight composite-driven ranking lists on Locus — Top Overall, Fastest Growing (Axiom Composite), Safest Urban, Most Business-Active, Best for Restaurants, Strongest Economies, Best Accessibility, and Development Hotspots — now show the top 3 rows to free and signed-out visitors and unlock the full top 25 on the Analyst plan ($49/mo) or any higher tier (Pro, Team, Enterprise, Supply Chain Risk).

The paywall is enforced server-side in getRankingResults() at the data layer, not in the rendered HTML — locked rows never reach the page source, so they cannot be inspected, scraped, or unlocked client-side. The same gating applies whether you reach a list through the web UI, the axiom_get_rankings MCP tool, or the underlying API.

The /rankings index page now groups tiles into two sections — Public Data — Free and Axiom Composite — Analyst+ — and locked tiles wear an Analyst+ badge with a Preview (top 3) CTA instead of View ranking. Per-list pages render an unlock card after the preview rows when results are truncated, with the Analyst tier price stated inline.

Public rankings sourced from verifiable third-party data — Fastest-Growing by Population (U.S. Census ACS), Most Building Permits (municipal permit databases), and FHFA-derived lists — are unaffected and continue to render in full to all visitors. No action is required if you're already on a paid plan.

April 27, 2026LocusUpdate

Source attribution on every Locus ranking list

Every curated ranking list on Locus now renders a citation footer below the table, naming the data source the list is derived from and linking to the underlying methodology. Each ranking definition declares its own dataSource and citationUrl, so future lists built on third-party datasets — Census migration flows, BLS employment, FBI safety data — will surface the original source under the table instead of being indistinguishable from composite-driven lists. The current eight composite lists (Top Overall, Fastest Growing, Safest, Most Business Active, Best for Restaurants, Strongest Economies, Best Accessibility, Development Hotspots) all cite the Axiom Composite Score methodology. No action is required on your part.

April 27, 2026LocusFeature

Public Most Building Permits ranking

Locus now publishes a free, fully-unlocked Most Building Permits Issued (Last 12 Months) ranking that surfaces where construction is most active right now. The list is sourced directly from municipal building-permit open data — 1.2M permits indexed across 10 metros — and cross-referenced with the U.S. Census Building Permits Survey, so every number is independently verifiable in your city's open-data portal.

Like other public lists, the ranking renders in full with no preview cap and exposes columns tailored to its purpose instead of Axiom sub-scores: total permits issued in the trailing 12 months, total declared valuation, and the count of distinct permit types. The materialized cell index refreshes nightly, so freshly issued permits flow through to the leaderboard within a day. No action is required on your part.

April 27, 2026LocusFeature

Public Fastest-Growing by Population ranking

Locus now publishes a free, fully-unlocked Fastest-Growing Neighborhoods (Population) ranking sourced directly from U.S. Census ACS 5-year estimates, alongside the existing composite list (now disambiguated as Fastest-Growing Neighborhoods (Axiom Composite)). The new list ranks neighborhoods on raw population change between two consecutive ACS vintages — the universally-understood definition of "fastest growing" — and is cited back to census.gov/programs-surveys/acs so results are independently verifiable.

Unlike composite-tier rankings, public lists render in full (no preview cap) and expose population-specific columns instead of Axiom sub-scores: percent change year-over-year, current and prior population counts, and the ACS vintage used. The composite Fastest-Growing list is unchanged — it continues to rank on Axiom's population_momentum signal, which captures leading indicators that anticipate raw population change. Use the public list when you need a defensible, third-party-cited answer; use the composite list when you want Axiom's forward-looking signal.

The ranking populates per metro as the second ACS vintage backfill completes. No action is required on your part.

April 27, 2026LocusFeature

Public Most Building Permits ranking

Locus now publishes a second free, fully-unlocked public ranking — Most Building Permits Issued (Last 12 Months) — that surfaces where construction is most active right now. The list is sourced directly from municipal building-permit databases (1.2M permits across 10 metros at launch, with Boston downtown leading at 1,469 permits in the trailing 12 months) and cross-referenced against the U.S. Census Building Permits Survey at census.gov/construction/bps, so every number is independently verifiable in the underlying city open-data portal.

Like the Fastest-Growing by Population list, this ranking renders in full with no preview cap and exposes permit-specific columns instead of Axiom sub-scores: total permits issued in the last 12 months, total permit valuation in dollars, and the count of distinct permit types observed in the cell. Underlying data is pre-aggregated into a materialized view across H3 cells and refreshed nightly, so the list reflects yesterday's filings.

The list ranks on absolute permit count rather than per-capita — a per-capita variant is planned and will roll in once the second ACS vintage backfill completes. Use this list when you need a forward-looking, defensible signal of where development is happening; pair it with the composite Development Hotspots list when you want Axiom's blended signal that combines permits with construction intensity and land-use change. No action is required on your part.

April 27, 2026LocusFeature

Ranking pages now show the columns each list is sorted by

Each curated ranking list on Locus — Top Overall, Fastest Growing, Safest, Most Business Active, Best for Restaurants, Strongest Economies, Best Accessibility, and Development Hotspots — now renders the columns that actually drive its sort, with the primary metric featured in big-number style next to a sort-direction indicator. Previously every list showed the same five score columns regardless of which list you were viewing, which buried safety on the Safest list and demographics on Best for Restaurants. Mobile cards mirror the same column order, so the headline metric matches the list's purpose on both layouts. No action is required on your part.

April 27, 2026LocusFeature

National activity heatmap on the Locus explorer

The map on locus.axiomancer.io/explore now shows a single national heatmap of activity across the country, instead of a metro-scoped overlay that saturated to a solid red square inside whichever metro you were viewing. The new layer aggregates the last 90 days of geocoded events into hexagonal cells nationwide, weights them by event count, and retunes the color stops so dense metros like New York and Los Angeles read as the hottest spots without blowing out everywhere else. The legend now resolves at country-wide zoom, so you can compare relative activity between metros at a glance.

The explorer sidebar also picked up an explicit Back to Dashboard link and a brand link, so you can return to the rest of Locus without using the browser back button.

April 27, 2026LocusFix

Signing in to Locus now drops you on the authenticated dashboard at /dashboard instead of the explorer map, and the explorer sidebar's Back to Dashboard link points to the same place instead of the marketing landing page at /. Previously, the OAuth callback at /auth/callback defaulted post-login traffic straight to the map, so first-time and returning users alike skipped past the dashboard summary, ranking lists, and recent activity that the dashboard surfaces. The back-link from the explorer was likewise sending signed-in users out of the app and onto the public landing page. Both flows now route through the dashboard, which is the actual home for authenticated Locus sessions. No action is required on your part.

April 27, 2026LayerFix

Integration OAuth connections save reliably on first connect

Connecting a new integration — Google Workspace, Microsoft 365, Okta, Slack, GitHub, or any other connector that uses OAuth — now saves the connection on the first attempt instead of redirecting back to the integrations page with a save_failed banner. The OAuth callback was running the database insert under the user's session, which on freshly-provisioned workspaces didn't yet carry the workspace claim that row-level security policies require. The callback now writes through a workspace-scoped server path that already has authoritative tenant context from the workspace auto-provision flow, so the insert succeeds whether the workspace was created seconds earlier or months ago. Connections that previously failed can be retried from the Integrations page without any other action.

April 27, 2026LayerUpdate

Integration save failures now show the underlying reason

When saving an integration connection fails for any reason, the integrations-page banner now surfaces the underlying error message via a ?detail=… query parameter on the redirect — matching the same pattern used for sign-up errors. Previously, all save failures collapsed to a generic "save_failed" banner that required digging into server logs to diagnose. Self-hosted and preview deployments benefit the most: a misconfigured credential, missing scope, or upstream API error now produces an actionable message on screen so you can tell at a glance whether to retry, fix configuration, or contact support. No action is required on production tenants.

April 27, 2026LayerFix

Connector logos now render across the integrations catalog

Logos for Microsoft 365, AWS, Jamf, JumpCloud, and other trademark-protected vendors now display correctly throughout the integrations catalog and connect modal. The previous CDN refused to serve trademarked marks and 404'd on roughly a third of the catalog, leaving a colored-letter placeholder where the brand logo should have been. The catalog now sources logos from a CDN with comprehensive vendor coverage, with the colored-letter placeholder still in place for connectors that genuinely have no published mark. No action is required on your part.

April 27, 2026LayerFix

Workspaces auto-provision on first dashboard load

New users who reached Layer through paths that bypassed the standard sign-in callback — for example, clicking straight into the dashboard, completing an integration OAuth handshake, or kicking off the free shadow IT scan — could hit a dead-end "Unauthorized" or no_tenant error if their workspace hadn't been created yet. Layer now creates the workspace on the fly the first time you land on the dashboard, the integration connect callback, or the shadow-scan submission, so first-touch flows complete without an error screen. Existing users are unaffected. No action is required on your part.

April 27, 2026LayerFix

Email/password sign-up with a workspace name now succeeds

A regression in workspace provisioning was silently rolling back email/password sign-ups whenever the form included an organization_name: the underlying database trigger wrote the new workspace membership to the wrong column, the transaction aborted, and the user account was never persisted. Affected sign-ups appeared to "succeed" in the browser but no account was created and no confirmation email arrived. The trigger has been corrected and applied as an idempotent migration, so getting started now works end-to-end whether you sign up with Google, Microsoft, or email and password. If you tried to sign up earlier and never received a confirmation email, retry from app.axiomlayer.io — your previous attempt left no record behind.

April 27, 2026LocusFix

Safety scores no longer rely on flood zone alone

Locus safety scores for cells with only a FEMA flood zone available — and no crime, environmental justice, NRI, air quality, or 311 data — were reading as 100/100 purely because most U.S. cells fall in flood zone X. With only one sub-signal present, the weighted average let that single source dominate and silently turned absent crime data into a "fully safe" score. The safety group now requires at least two sub-signals to be present before producing a number; cells with fewer fall through to the standard no-signal value of 50 instead. Cells with full safety coverage are unaffected. No action is required on your part.

April 27, 2026LayerUpdate

Sign-up errors now show why workspace setup failed

When workspace provisioning during sign-up fails — for example, because a server-side credential is misconfigured — the login page now shows the underlying reason inline instead of just a generic "couldn't finish setting up your organization" message. The on-the-fly provisioner used by the dashboard, the OAuth callback, and the free shadow IT scan all surface the same detail through a ?detail=… query parameter on the redirect, so you can tell at a glance whether to retry, contact support, or check your own configuration. Self-hosted and preview deployments benefit the most: an unset service-role key or a database-level error now produces an actionable message on screen instead of a silent dead-end. No action is required on production tenants.

April 27, 2026LocusUpdate

Free location reports now require CAPTCHA and email confirmation

The free Location Report request flow on locus.axiomancer.io now ships with two layers of abuse protection so it can't be used to mail unsolicited reports to non-consenting recipients. The form renders a Cloudflare Turnstile CAPTCHA, and the submit step no longer mails a report directly — it queues the request and sends the recipient a confirmation link with a 24-hour expiry. The full PDF is generated and delivered only after the recipient clicks through to confirm. A new Report confirmed landing page acknowledges the click with clear states for expired or invalid tokens and surface-level error reporting. Per-IP and per-recipient daily rate limits provide a further backstop. Legitimate workflows are unchanged aside from the one extra confirmation click on the recipient's side. No action is required on your part.

On this page

Safety tier distribution on the Explorer railBloomberg-style terminal at /dashboardPublic global vessel positions endpointInstant panning on the Overwatch live mapFaster hero video startup on the Overwatch homepageSharper homepage paint on OverwatchEquasis enrichment failures down from 98.8% to baselineMore resilient ingestion of cultural amenity dataMore reliable vessel enrichment on first loginSafety score no longer reads "100" from flood zone aloneMore accurate neighborhood names on Locus cellsLive map controls no longer clip on shorter viewportsLive map trail controls now fully visible on mobile browsersNYC neighborhood coverage restored after upstream dataset withdrawalNeighborhood polygons now support islands and exclavesFaster home page on locus.axiomancer.ioHardened budget caps on POI ingestionComposite-driven ranking lists now preview top 3, unlock on Analyst+Source attribution on every Locus ranking listPublic Most Building Permits rankingPublic Fastest-Growing by Population rankingPublic Most Building Permits rankingRanking pages now show the columns each list is sorted byNational activity heatmap on the Locus explorerSign-in and explorer back-link now land on the Locus dashboardIntegration OAuth connections save reliably on first connectIntegration save failures now show the underlying reasonConnector logos now render across the integrations catalogWorkspaces auto-provision on first dashboard loadEmail/password sign-up with a workspace name now succeedsSafety scores no longer rely on flood zone aloneSign-up errors now show why workspace setup failedFree location reports now require CAPTCHA and email confirmation