Dark tile with white "R" + pink underscore (the RADICAL_SEARCH logo mark).
Served at /favicon.svg and /favicon.ico; linked from every page head.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Visiting /?q=what showed the empty home page instead of results because
only /search executes a query. Root now redirects a q param to the
canonical results URL.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
API: /answer retrieves top-6 from Meili and has Claude (haiku-4.5) synthesize
a 2-4 sentence cited answer over ONLY those sources (no hallucinated facts/URLs),
with a 1h in-memory cache. Frontend: async answer card above results with inline
[n] citations linking to sources — loads without blocking the results render.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A deployed Worker's fetch() cannot reach the API on :3000, so publish it at
https://search-api.theradicalparty.com through a Cloudflare Tunnel. Point the
frontend API_URL at HTTPS/443, add cloudflared install to install-vm.sh
(driven by CLOUDFLARED_TOKEN), thread the token through deploy.sh, and add
docs/DEPLOY.md with the full tunnel + DNS setup.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Crawler (Majestic Million → undici → cheerio → Meilisearch), Hono search
API with P2P peer federation, Cloudflare Worker frontend, VM provisioning
scripts. Adds README, .gitignore, and moves VM credentials out of deploy.sh
into a git-ignored deploy.env.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>