Commit Graph

15 Commits

Author SHA1 Message Date
Founding Engineer
504d4db91f feat: add SPA for 2026-03-14 — Artemis II: Humanity's Return to the Moon
Interactive mission guide with live countdown to April 1 2026 launch,
animated starfield hero, crew flip cards with bios, rocket scale comparison,
SVG free-return trajectory diagram, 53-year history timeline, animated
stat counters, and Artemis roadmap. Dark space aesthetic with cyan/gold accents.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-14 03:09:58 +11:00
Founding Engineer
62614c5424 fix: remove Google Fonts import and fix 3PM display in Debate section
- Remove @import for fonts.googleapis.com (out of spec; only Chart.js CDN allowed)
  Replace with system font stack: Impact/'Arial Narrow' for display, system-ui
  for body, 'Courier New' for mono
- Fix Bam's 3PM attempts display from "7/? made" → "7 made" since attempt
  count is not available in the brief

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-13 08:21:04 +11:00
Founding Engineer
397d6210c8 feat: add SPA for 2026-03-13 — 83: The Night Bam Broke the Record
Interactive data story about Bam Adebayo's 83-point game on March 10,
2026 — the second-highest single-game total in NBA history.

Sections: hero counter, quarter breakdown, stat line, all-time
leaderboard (Chart.js), Bam vs Kobe debate with poll, scoring
milestones timeline, and legacy reactions. All interactive state
persisted in localStorage.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-13 08:21:04 +11:00
Founding Engineer
4abf47a175 fix: move Bot Network SPA to correct date path 2026/03/12
PR #6 (Bot Network SPA) was merged with the file at spas/2026/03/13/
instead of the correct date spas/2026/03/12/. This caused a merge
conflict with PR #7 (Bam 83 SPA) which correctly targets 2026/03/13/.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-13 08:20:05 +11:00
a7b0056aa0 Merge pull request 'feat: add SPA for 2026-03-12 — The Bot Network: Inside Meta's Moltbook Acquisition' (#6) from spa-2026-03-12 into main 2026-03-12 03:40:39 +00:00
Founding Engineer
69ec28c0ff fix: move SPA to correct date path 2026/03/13
- Renamed spas/2026/03/12/index.html → spas/2026/03/13/index.html
- Updated footer date from March 12, 2026 → March 13, 2026
- Fixes QA blocker: deploy target is spa.ts0.org/2026/03/13/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 05:17:37 +11:00
Founding Engineer
5cbc90ebf5 feat: add SPA for 2026-03-12 — The Bot Network: Inside Meta's Moltbook Acquisition 2026-03-12 05:09:23 +11:00
0c5810d584 Merge pull request 'feat: SPA 2026-03-11 — The $120 Barrel: Anatomy of the 2026 Oil Shock' (#4) from spa-2026-03-11 into main 2026-03-10 15:06:27 +00:00
Founding Engineer
b73265b4b4 feat: add SPA for 2026-03-11 — The \$120 Barrel: Anatomy of the 2026 Oil Shock
Interactive energy crisis tracker covering the Iran-Hormuz oil shock.
7 sections: animated price counters, Persian Gulf SVG map with before/now
toggle, 50-year oil shock comparison chart (Chart.js), personal gas bill
calculator with sliders, ripple effect rings, supply chain anatomy with
scroll-triggered reveals, and 3-scenario flip cards.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 01:00:48 +11:00
d25d46438d Merge pull request 'feat: SPA 2026-03-10 — Father to Son: Iran's Wartime Succession' (#3) from spa/2026-03-10-iran-succession into main 2026-03-09 13:47:28 +00:00
Founding Engineer
985db4ea0b feat: add SPA for 2026-03-10 — Father to Son: Iran's Wartime Succession
Interactive scrollytelling SPA covering the 8-day wartime succession of
Iran's Supreme Leader after Operation Epic Fury killed Ali Khamenei on
Feb 28, 2026.

Sections:
- Hero: split-panel FEB 28 / MAR 8 with ash particle canvas
- The Strike: annotated timeline of Feb 28 events
- Who Was Ali Khamenei: legacy stats, reign bar chart, quote
- The Shadow: Mojtaba bio, gatekeeper org chart
- 8-Day Power Grab: clickable day-by-day timeline
- Power Structure: before/after toggle org chart
- What Now: analysis cards, open questions, share CTA

SPA-15
2026-03-10 00:47:21 +11:00
99407a0be1 Merge pull request 'feat: SPA 2026-03-09 — Nepal's Gen Z Revolution' (#2) from spa-2026-03-09 into main 2026-03-09 02:53:12 +00:00
Founding Engineer
e1b7c8d8e9 feat: add SPA for 2026-03-09 — Nepal's Gen Z Revolution
Interactive election story covering Nepal's historic 2026 election
where rapper-turned-politician Balen Shah led RSP to a 117-seat
landslide after Gen Z protests toppled the old guard.

Features:
- Hero section with animated seat counter (0 → 117+)
- Animated seat bar showing RSP/NC/UML breakdown
- Interactive SVG map of Nepal's 7 provinces with hover tooltips
- Scroll-triggered revolution timeline (Sep 2025 → Mar 2026)
- Generational divide comparison with animated donut chart
- Animated song section for "Nepal Haseko" with waveform
- "How They Won" strategy breakdown with stat cards
- Screenshot-able share card

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 13:42:37 +11:00
Release Manager
77f2c5b6bd fix: update to ts0.org zone, R2 custom domain, live infra state
- Zone stack now uses ts0.org (token has DNS:Edit there, not dodwell.us)
- R2 stack uses cloudflare_r2_bucket_domain instead of Workers (no Workers:Edit)
- Custom domain spa.ts0.org attached to spaoftheday R2 bucket (bootstrapped)
- Buckets spaoftheday + spaoftheday-tfstate created in R2
- DNS records added: SPF, DMARC, DKIM for spa.ts0.org
- Gitea Actions secrets configured: CLOUDFLARE_API_TOKEN, ACCOUNT_ID, R2 keys
- Placeholder SPA uploaded to R2 at 2026/03/09/index.html
- CLAUDE.md updated to reflect spa.ts0.org and current live state
2026-03-09 12:19:40 +11:00
Release Manager
133af0540a feat: initial Terramate + GitHub Actions setup for spaoftheday
- Add Terramate root config with two stacks:
  - stacks/cloudflare/zone: DNS records for spa.dodwell.us (CNAME, SPF, DMARC, DKIM)
  - stacks/cloudflare/r2: R2 bucket + Cloudflare Worker for static SPA routing
- Add GitHub Actions workflows:
  - pr-review.yml: lint/fmt/validate + plan on PRs
  - deploy.yml: apply infra + upload changed SPAs to R2 on merge to master
- Add scripts/generate_index.py: regenerates site homepage from R2 contents
- Add scripts/deploy_spa.sh: manual single-SPA deploy helper
- Add SPA folder structure: spas/YYYY/MM/DD/index.html
- Add CLAUDE.md: full developer guide for adding and deploying SPAs
- Add placeholder SPA for 2026-03-09
2026-03-09 02:11:49 +11:00