spb/airiskindex Public
The most methodologically rigorous, fully transparent AI job-exposure index.
TypeScript 88%
Python 6.1%
SQL 2.7%
CSS 1.2%
JavaScript 0.9%
Shell 0.8%
-
feat(web): full-index page (paginated by 50) + insights page with headline metrics
…
- /ranking: all scored occupations ranked, previous/next pagination, CI + sub-scores + wage/employment per row - /insights: hero figure (share of US wage bill under substitution pressure), employment-weighted tiles, augmentation counterpoint, most-workers-at-high-pressure and widest-CI lists, reading guide - nav/footer links updated Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
chore: add file headers (author, contact, copyright, description) to all source files
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
fix(web): mobile layout — Tailwind content missed components/, truncate min-w-0 overflow, drawer portal
…
- tailwind.config content now scans components/ and lib/ (classes unique to those files were never generated: drawer fixed/inset/animation, search dropdown styling) - min-w-0 on truncate flex children + ranking grid children: page no longer overflows horizontally, mobile browsers no longer zoom out - drawer rendered via portal to <body> (blurred sticky header is a containing block for fixed descendants) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat(web): design overhaul — sharper modern light design, fully mobile-responsive
…
Sticky blurred header, hero wash, pill kicker, card idiom with hover elevation, refined footer (3-column), responsive paddings/typography, scrollable audit tables on small screens, explicit viewport/themeColor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: full O*NET universe — real ETL, deep detail pages, search, browse, rating scripts
…
- etl: OEWS wage download, O*NET 30.3 transform (occupations/tasks/importance), wages transform, psycopg loader; 1,016 occupations + 18,796 tasks loaded - web: live search, /occupations browse grouped by SOC major group, home with hero stats + top/least exposed + group averages; detail page adds wages, employment, rank/percentile, weighted dimension breakdown, full per-task rater audit trail (model/rating/rationale), related occupations - worker: one-shot rate script (batch submit/poll/ingest, --limit pilot mode), purge-demo script, thinking disabled for the rater - layout: preview banner now driven by whether the latest run is demo-based Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat(web): ranking home page + occupation detail pages with demo dataset
…
- ranking: substitution leaderboard with CI whiskers, hover tooltips, sr-only table fallback; sequential single-hue marks per dataviz specs - detail: sub-score stat tiles with interval strips, highly-exposed-tasks meter, per-task bars with CI, visible data-table fallback, adaptation-not-doom framing copy - seed: 10 real O*NET occupations x 3 tasks with deterministic synthetic two-model panel ratings (demo-panel-a/b); preview banner in layout - light + dark viz roles from the validated reference palette Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
feat: scaffold AI Risk Index platform (research corpus, methodology v1 draft, monorepo)
…
- docs/research: 4-document research corpus grounding v1 (indices, data sources, rater API, landscape/evidence), compiled 2026-08-05 - docs/methodology: METHODOLOGY.md v1 draft, changelog, worked example - packages/scoring: pure deterministic engine (5 weighted dimensions, barriers inverted, exposure/substitution/augmentation sub-scores with CI bounds), snapshot + fast-check property tests - packages/db: Prisma schema with rating audit trail and immutable runs - apps/web: Next.js 14 site + public API v1 (health, methodology, occupations) - apps/worker: BullMQ multi-model rater pipeline (Message Batches, versioned rubric prompt v1) + score:recompute - apps/etl: Python skeleton with O*NET 30.3 downloader - infra: compose files, deploy.sh, ngrok.yml, env template Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>