Repository navigation
Describe the new case format on the public guides - #252
Conversation
The guides still described the old case: thesis, framework, burden of proof, contentions with warrants and impacts, and a predicted opponent case. Generate now writes an opening, arguments (point, explanation, evidence, why it matters), "If they say… we answer…" replies, a closing line and sources (#244). The copy changes in seo_guides.py, seo_answers.py and the PAGES meta in generate_seo_content.py, and the pages and llms.txt are regenerated from them. The LD, PF, Policy and weighing format guides are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed.
|
| Layer / File(s) | Summary |
|---|---|
Case structure and writing guidance public/ai-debate-case-generator/index.html, public/how-to-write-a-debate-case/index.html, scripts/seo_guides.py, scripts/seo_answers.py |
The guides describe openings, evidence-backed arguments, replies to the other side, closing lines, and sources. They also revise examples, FAQs, format guidance, and speaker-role descriptions. |
Related debate workflows public/ai-debate-*/index.html, public/argument-flowchart/index.html, public/debate-*/index.html, public/how-to-practice-rebuttals/index.html, public/llms.txt, scripts/generate_seo_content.py, scripts/seo_answers.py, scripts/seo_guides.py |
Practice, coaching, rebuttal, evidence, and flowchart content adopts the revised case terminology. Related SEO descriptions, guide listings, and modified dates are updated. |
Product comparison copy public/best-ai-debate-tools/index.html, public/debateowl-vs-*/index.html, scripts/seo_answers.py, scripts/seo_guides.py |
Comparison pages describe generated cases with “If they say…” replies instead of a predicted opposing case. Comparison content and modified dates are updated. |
Estimated code review effort: 3 (Moderate) | ~20 minutes
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Note
🎁 Summarized by CodeRabbit Free
-
Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Essentials by visiting https://app.coderabbit.ai/settings/billing.
Comment @coderabbitai help to get the list of available commands.
Merge after #244 and the
aiandexport-gdocEdge Function deploy that follows it. This PR describes the case Generate writes after #244. Until #244 is live, production still writes the old case, and these pages would describe output nobody gets yet.What changed
The public guides still described the old case: thesis, framework, burden of proof, contentions with warrants and impacts, a predicted opponent case and counters. They now describe the case Generate writes: an opening (a hook, then "Today we will show N arguments that prove…"), arguments (point, explanation, evidence with source and year, why it matters), "If they say… we answer…" replies, a closing line and sources. The case generator page also says how each speaker role shapes the speech, including the conclusor's "why we win" points in place of new arguments.
The copy lives in the generator scripts, and every page here comes from them:
scripts/seo_guides.py: guide bodies, feature cards, worked examples, FAQs (they feed the FAQPage JSON-LD) and the definitions (they feed the DefinedTerm).scripts/seo_answers.py: the short answer under each H1.scripts/generate_seo_content.py: meta descriptions and leads inPAGES.llms.txttakes its guide lines from these.Then
python3 scripts/generate_seo_content.pyrebuilt the pages. Running it a second time gave a byte-identical diff, so a rebuild reproduces this output.Pages changed
Each changed guide's
modifieddate is now 2026-10-28, so its sitemaplastmod,dateModifiedand "Updated" line move.CONTENT_DATEstays as it is, because no shared copy changed.Left alone
pageHeadin the locales) contain no old-format claims. The in-app labels insrc/locales/*belong to Generate writes cases the way school debaters prepare them #244.src/lib/seo/tool-pages.ts), which make no case-format claims.favicon.icoalready holds 16, 32 and 48px, so thefavicon.png48x48 link is redundant. Removing it touches all 31 guides,index.htmland the embed, so it should go in its own small PR.PAGESingenerate_seo_content.pystill holds oldfeaturesandsectionsfor 25 slugs. They never render, because theGUIDESentries override them, so a rebuild can't bring that text back. Deleting them is a separate cleanup.Checks
All 31
application/ld+jsonblocks inpublic/*/index.htmlparse with Pythonjson.loads.Titles, canonicals and hreflang are unchanged. No
<title>,rel="canonical",hreflangorog:titleline is in the diff, and every canonical equalshttps://debateowl.com/<slug>. Every meta description is 160 characters or fewer.For leftovers, I searched the visible text and JSON-LD of every page in
public/, plusllms.txt, for sentences that pair an old-format term (thesis, framework, burden of proof, contention, warrant, weighing, criterion, predicted or opposing case, counters) with a DebateOwl or Generate claim. What remains is the format guides, pedagogy, competitor facts in the comparison tables and the new LD tip.npm run verify(local, at the head commit; GitHub Actions is billing-blocked, so this is a local pass, not CI):Exit 0 at
72ed2f44, Node 22.23.2. docs:check, lint (eslint, knip, repo rules) and typecheck passed. Unit tests: 94 files, 690 tests passed. Collaboration: 5 files, 30 tests passed. Edge tests: 483 passed, 0 failed. Build and prerender passed, and so did test:sw. Playwright@smokeon desktop Chromium: 47 passed.🤖 Generated with Claude Code
Summary by CodeRabbit