Catches the common breakages in AI-generated HTML before pages reach Tony's queue — theme conflicts, dead buttons, mobile overflow, missing alt text, dead links, exposed secrets.
Body-only HTML fragments + test plan
Two Elementor-ready HTML fragments (alex-rfp-v4 and r2-bdf-v4), test checklist, known TODOs. This is the package Tony needs to validate before the Financial Freedom rollout.
The four pages below are for you. They cover everything you need.
Start Here — for staff producing HTML
Two-minute overview of the workflow. Send this URL to anyone who's vibe-coding HRF content.
The validator. Paste in your HTML, see what's wrong, copy the regenerate prompt back to your AI tool. Or click "Fix it for me" if the auto-fix is configured.
One-time setup per tool — Claude Code, Cursor, Codex, ChatGPT, Lovable, Bolt, v0, Cassidy AI, Gemini. Find your tool, follow the steps.
5 questions, 2 minutes. Tells us which tools to prioritize as we expand the system.
What the gate catches, what it produces, and how the regenerate loop closes the gap. Three sections: passing pages, before/after on real submissions, canonical failure examples.
These three pages pass all ten checks and are ready to paste into Elementor on hrf.org.
Freedom Tech Programs — canonical example
The minimal "what good output looks like" sample. Shipped with the project as a reference.
AI for Individual Rights — RFP (regenerated)
Clean version of Alex Gladstein's RFP page after running the original through the gate. All 24 issues from the original (see Section 2) are gone.
Bitcoin Development Fund (regenerated)
Clean version of R2's BDF page after running the original through the gate. All 20 issues from the original (see Section 2) are gone.
These are the exact pages Tony forwarded the week of May 5. Compare the original AI output (FAIL) to the regenerated version (linked above in Section 1).
AI for Individual Rights — RFP (original)
Alex Gladstein's vibe-coded version. Loads HRF's logo from a CDN HRF doesn't control, embeds custom fonts and colors, hosted off hrf.org, missing all social-preview info. Gate caught 24 issues.
Bitcoin Development Fund (original)
R2's vibe-coded version. Pulls D3.js from an external CDN, custom dark-mode styles, doesn't work in Safari, slow on mobile, hosted on GitHub Pages. Gate caught 20 issues.
Four small test pages, each engineered to fail a specific rule. Ship with the project so the gate's self-test always demonstrates its catches.
Custom @font-face, redefined heading sizes, inline color styles. Fights HRF's WordPress theme.
A <button> with no handler and two anchors with href="#". Look like buttons, do nothing.
Unprefixed backdrop-filter and mask-image. Works in Chrome, breaks in Safari.
An Airtable Personal Access Token baked directly into client-side JavaScript. Anyone viewing source can read it.
Pick whichever fits the tool you're using. They all hit the same gate.
Paste-and-check page — easiest, works for any tool
For Lovable, Bolt, v0, ChatGPT, Gemini, or anything that generates HTML in a browser. Copy the AI's HTML, paste into the page, click Check. If it fails, copy the regenerate prompt back into your AI and re-run.
Agent system prompt — for Claude Code / Cursor / Codex CLI
For agentic coding tools that can call HTTP APIs mid-generation. Paste the system prompt into the tool once. After that, your agent runs the gate automatically before showing you the result and iterates until it passes. Zero clicks per page.
POST /api/check — raw HTTP endpoint
The underlying API. Returns JSON with a verdict and a paste-ready regenerate_prompt. Use this if you're scripting or building your own integration. See API docs.