Rights. Unfinished. Yours.
Unratified advocates for U.S. ratification of the International Covenant on Economic, Social and Cultural Rights (ICESCR) through a contemporary lens: the economic impact of AI.
The United States signed the ICESCR in 1977. The Senate has never ratified it. 173 nations have.
AI-driven economic transformation creates winners and losers faster than any previous technology. The resulting bifurcation — between those who benefit from AI and those who do not — maps directly onto the rights the ICESCR protects: work, adequate living standards, health, education, and the right to benefit from scientific progress (Article 15).
Without a binding legal framework for economic, social, and cultural rights, the U.S. has no structural mechanism to ensure AI's benefits reach everyone.
This site provides:
| Layer | Technology |
|---|---|
| Static site generator | Astro 5 + MDX |
| Interactive components | Svelte 5 islands |
| Data visualizations | D3-geo + custom Svelte components |
| Styling | Vanilla CSS (no framework) |
| Deployment | Cloudflare Pages / Netlify / Vercel |
Selected via full differential diagnosis with consensus-or-parsimony discriminator. See plan.md.decisions D012.
src/
├── content/ # Astro content collections (MDX)
│ ├── covenant/ # 10 ICESCR article pages
│ ├── gap/ # 5 ratification gap pages
│ ├── connection/ # 4 AI analysis pages
│ ├── evidence/ # Economic landscape data
│ └── action/ # Advocacy toolkit
├── components/
│ ├── lens/ # LensToggle.svelte — audience switching
│ └── ui/ # Quiz, Timeline, RatificationMap, CausalChain
├── data/ # JSON: ratification status, causal chain
├── layouts/ # BaseLayout, ArticleLayout, SectionLayout
└── pages/ # Astro page routes
| Component | Description | Load |
|---|---|---|
LensToggle |
Switch between Developer / Educator / Researcher views | client:load |
Quiz |
7-question ICESCR self-assessment | client:visible |
Timeline |
14-event U.S. ratification history (1948–2026) | client:visible |
RatificationMap |
D3-geo world map — 173 ratified nations | client:visible |
CausalChain |
3-layer AI→ICESCR causal analysis | client:visible |
The CausalChain component adapts to the active lens:
# Install
npm install
# Local dev server
npm run dev
# Type-check
npm run check
# Build
npm run build
# Preview build
npm run preview
Requires Node 18+.
Every page adapts to three audience lenses, selectable via the navigation toggle:
CSS-driven via data-lens attribute on <body>. Svelte islands receive lens as prop for visualization variants.
The site's AI economic analysis uses a formal differential diagnosis:
See /connection/differential-diagnosis and plan.md.decisions for the full methodology.
This project operates as part of a three-agent mesh coordinated by the Safety Quotient Lab:
| Agent | Repo | Role |
|---|---|---|
| unratified-agent | this repo | Site author, mesh coordinator |
| observatory-agent | observatory | HRCB scoring, corpus analysis |
| psychology-agent | psychology-agent | Adversarial review, psychometrics |
Agents communicate via interagent/v1 — a git-PR transport protocol with per-claim confidence scores, epistemic flags, and structured audit trails. Transport messages live in transport/sessions/. Agent cards at /.well-known/agent-card.json.
The interagent webhook listener (scripts/interagent-daemon/) automates mesh communication:
claude -p "/sync"See scripts/interagent-daemon/setup.sh for setup instructions.
.node-version)| Dependency | Purpose | Install |
|---|---|---|
| Claude Code | Agent runtime (claude -p) |
npm install -g @anthropic-ai/claude-code |
| gh CLI | GitHub API (PR management) | apt install gh / brew install gh |
| cloudflared | Tunnel for webhook delivery | apt install cloudflared / brew install cloudflared |
| Python 3.10+ | Webhook listener | System package |
ANTHROPIC_API_KEY |
Claude API access | platform.claude.com |
Any reverse tunnel or webhook relay can substitute for cloudflared (ngrok, localtunnel, Tailscale Funnel, etc.). The listener expects GitHub webhook payloads on POST / with X-Hub-Signature-256 verification.
Built by Claude (Anthropic) under human direction by Kashif Shah.
The entire site — content, code, analysis, and interagent coordination infrastructure — was produced through Claude Code sessions. The project practices radical AI attribution: every page carries an AI-generated disclosure, every blog post names the authoring agent, model, and tool in a four-part byline, and every commit is co-authored.
Review pipeline: Blog posts follow a three-stage review: unreviewed (published) → ai-reviewed (adversarial agent pass with structured audit trail) → reviewed (human verified). No agent reviews its own work. Review history appears on each post at blog.unratified.org.
Methodology: Analytical claims use a formal differential diagnosis with a consensus-or-parsimony discriminator. The Human Rights Observatory evaluates content against all 31 UDHR provisions using empirically validated HRCB scoring (H=23.4, p<0.0001). The psychology-agent conducts adversarial register scoring grounded in Walton & Krabbe dialogue types, Du Bois stance theory, and Dodge & Coie hostile attribution.
Infrastructure: Astro 5, Svelte 5, Cloudflare Pages, Cloudflare Workers (ActivityPub, OG images), D1 databases. Interagent transport via git-PR with interagent/v1 protocol. Automated sync via Claude Code CLI + cloudflared webhook tunnel.
See CONTRIBUTING.md.
Content corrections, factual updates, and accessibility improvements are the highest-priority contributions.
Content (MDX files, analysis documents, data, written copy): CC BY-SA 4.0 — share and adapt with attribution, same license. Commercial use permitted.
Code (Astro pages, Svelte components, configuration): Apache 2.0.
A Safety Quotient Lab project.