spb/countryatlas
Public
TypeScript 57%
Python 38.6%
JavaScript 3.6%
CSS 0.6%
-
Sat, Sep 12, 2026 10
-
Never fail a render or a build on a transient API error: 429/5xx render the calm not-built state; deploy hook uses pipefail so a failed web build fails the deploy
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Docs for 2.0 (architecture routes/nav/caching, web README additions, root README); untrack QA screenshots and anchor the ignore rule
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Rate limiter exempts server-side renders (shared secret or loopback without proxy headers); lib/api retries once on 429; /compare/<country> opens the builder pre-selected; mobile control grids and tap-target fixes; histogram marker stacking; manifest build hook passes CA_ADMIN_TOKEN
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
API: weak ETag + public Cache-Control per snapshot (304 on If-None-Match); page cache headers for indicators/rankings/regions/compare/stories/sources; final integration sweep script
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Core pages 2.0: home (hero map, world pulse, movers, ticker, trajectory teaser), country page 2.0 (story, timeline, DNA reference, similar 2.0, mini map), compare 2.0 (head-to-head, percentile/change modes, PNG export), rankings 2.0 (filters, views, rank race), indicator page 2.0 (frames map, distribution, related, quality), regions compare, /peers, changes 2.0, search intents
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Server-safe URL/indicator-option helpers; frames values rounded to 6 significant digits
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Flagship exploration: World Explorer (/explore, zoom/pan map + time machine + views + country drawer), /trajectories, /scatter, /finder, /extremes; analytics API clients; bubble chart log ticks
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Fix .gitignore: anchor data/ to the repo root — apps/web/src/components/data and app/data were silently untracked
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Platform 2.0: brand + share cards, data stories, download builder, API explorer, provenance panel 2.0, quality badges, /updates, SEO + sharded sitemap; shared histogram and bubble charts; header fits 768–1100
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Analytics API 1.1 + pipeline reliability and change detection 2.0
…
API: /pulse, /movers, /extremes, /scatter, /trajectory, /finder, /peers, /indicators/{slug}/{related,distribution,frames,quality}, /rankings/{id}/race, /regions/compare, /countries/{id}/{story,quality}, dna?reference=, /updates, search intents (type action); shared per-snapshot cross-section cache; 13 API tests. Pipeline: structural_break / trend_reversal / volatility_spike detectors, similarity contributions carry value_a/value_b, deterministic retry/backoff honouring Retry-After, validation rules schema_change / impossible_year / null_spike / vintage_shift, ≥90 % observation-count integrity guard, meta.source_health + previous_observation_count, build logs; group descriptions in the registry; docs updated. 138 tests pass. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
-
Fri, Sep 11, 2026 11
-
Foundation for the 2.0 upgrade: analytics API contract, stats engine, design tokens, navigation, shared controls
…
- docs/API.md: contract for the analytics endpoints (pulse, movers, extremes, scatter, trajectory, finder, peers, related, distribution, frames, race, regions/compare, story, quality, updates, search intents) and change-detection 2.0 kinds - src/countryatlas/stats.py + tests: deterministic YoY/CAGR/rolling/trend/volatility, ranks/percentiles/z-scores, records, structural break, persistent reversal, Pearson/Spearman/OLS/Theil–Sen, quantile breaks, histogram, convergence - web: direction-of-change tokens (inc/dec, diverging ramp, second sequential ramp), container/full-bleed/ticker/badge utilities, styled range input - web: navigation 2.0 (Explore · Countries · Compare · Rankings · Indicators · Changes · More ▾; mobile Explore · Countries · Compare · Rank · Search), MainFrame full-bleed for explorers, routes for every new page, i18n split (core/flagship/platform), types-analytics.ts, useUrlState, YearSlider, IndicatorSelect/Segmented - fix: compare preset label and member count were adjacent without a separator ("G7 7 countries" read as "G77 countries"); package.json mock-api script pointed at a missing file Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> -
Web polish: line-chart y-domain rule, currency prefixes, collapsible subtopics, home filter notes, headline debt indicator
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
API: currency prefix + formatted_short, home lists with population filter and fastest GDP growth, registry cache invalidation per snapshot
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Pipeline: canonical-frequency derived tables, rank-year fallback, integrity warnings
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Web app: foundation, brand, country pages, compare, rankings, indicators, regions, explore, changes, data, sources, methodology, API docs, admin
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Pipeline: recent-only changes, series-level source merge, severity weights, OWID freshness; registry split central/general government
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Pipeline core (fetch/normalize/validate/build/derived/scheduler), FastAPI API, WGI remap, UTC coverage timestamp
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Connectors IMF/OECD/Eurostat/WHO/FRED/BIS/ILO + per-connector mapping files; registry fixes
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
CountryAtlas: architecture contract, registries (218 countries, 259 indicators, 32 groups, 19 topics), shared models, connector base, DuckDB schema, mld manifest
…
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-