Skip to content

ravidsrk/slop-detect

v0.9.0MIT

Deterministic landing-page auditor across design patterns, copy tells, DESIGN.md token compliance, craft floor, and AEO eligibility.

slop-detect

Score any landing page against the versioned design-slop fingerprint, copy axis, DESIGN.md system compliance, craft floor, and AEO readiness β€” then keep it clean. Audit live pages in real headless Chromium, verify rendered tokens against your own DESIGN.md, check if AI answer engines can read and cite your site, and generate a copy-paste remediation prompt for your coding agent. Monitor a domain and get alerted when it drifts.

$ npx slop-detect https://bolt.new https://www.aura.build https://news.ycombinator.com

https://bolt.new
What will you build today?
  🟑 Mild  ·  score 24/100  ·  5 patterns triggered
  βœ— AI-default font stack (Inter / Geist / Space Grotesk)       (+8)
  βœ— Gradient-heavy backgrounds (5+ elements)                    (+4)
  βœ— Big colored box-shadow glows (purple/blue/pink)             (+4)
  βœ— Centered hero in generic sans (Inter-style)                 (+4)
  βœ— Perma dark mode + medium-grey body text                     (+4)

https://www.aura.build
Create beautiful designs
  🟑 Mild  ·  score 20/100  ·  4 patterns triggered
  βœ— AI-default font stack (Inter / Geist / Space Grotesk)       (+8)
  βœ— Glassmorphism (backdrop-filter blur on translucent layers)  (+4)
  βœ— Big colored box-shadow glows (purple/blue/pink)             (+4)
  βœ— Centered hero in generic sans (Inter-style)                 (+4)

https://news.ycombinator.com
  🟒 Clean  ·  score 3/100  ·  1 pattern triggered

1. Why this exists

By April 2026, default-template landing pages had collapsed onto a measurable visual and prose fingerprint: Inter/Geist font stacks, purple-to-blue gradient heroes, "Now in Beta" pill badges, gradient-letter testimonial avatars, identical icon-topped feature cards, and formulaic antithesis copy. Adrian Krebs's study scored ~1,400 Show HN submissions with Playwright and found 67% carried detectable default-template fingerprints.

slop-detect reproduces Krebs's methodology, adds the signals from Meng To's May 2026 Aura study, integrates typography and contrast checks from Impeccable, and packages the deterministic engine (definitions@2026.11) across six developer surfaces:

SurfacePackage / EndpointWhat It Does
CLIslop-detectLocal Playwright runner, static HTML directory auditor (--copy-dir), DESIGN.md linter, and SARIF/JUnit/agent reporters
Web & REST APIslop-detect.comInteractive DOM X-Ray spectrometer, zero-auth REST API, shareable permalinks, domain hubs, and public leaderboard
MCP Serverslop-detect-mcpLocal stdio (--local) and stateless Streamable HTTP (https://slop-detect.com/mcp) server with 7 tools + MCP App scorecards
GitHub Actionravidsrk/slop-detectPR gate with sticky scorecard comments, SARIF 2.1.0 Code Scanning upload, and baseline regression ratcheting
Core SDKslop-detect-corePure, runtime-agnostic TypeScript engine for Playwright, Puppeteer, or Cloudflare Browser Rendering
Plugins & LintersMonorepo IntegrationsClaude Code & Cursor plugins, portable agentskills.io skill, Netlify plugin, Lighthouse plugin, and Vale prose rules

All surfaces run the exact same engine (45 design patterns, 26 copy patterns, 9 DESIGN.md checks, 11 craft floor checks, and 16 AEO checks), so a Heavy tier in the CLI is identical in CI, MCP, and the hosted API. Weight 0 review rules are reported for visibility and add no points.


2. Quickstart (Try it now)

# 1. Web UI (fastest interactive X-Ray workbench)
open https://slop-detect.com

# 2. Terminal CLI (runs real headless Chromium locally)
npx slop-detect https://your-site.com
npx slop-detect https://your-site.com --copy --craft --aeo --design-md auto

# 3. Terminal CLI without a local browser (delegates to the hosted API β€” zero Playwright install)
npx slop-detect https://your-site.com --copy --remote

# 4. One-command project bootstrap (writes MCP config + Agent Skill + optional PostToolUse hooks)
npx slop-detect init

# 5. Public HTTP REST API (zero auth required)
curl -s -X POST https://slop-detect.com/api/scan \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://your-site.com","axes":["design","copy"],"designMd":true}' | jq

3. The five-axis scoring model

Notice the score polarity: for Design and Copy slop, lower is better (0 = cleanest); for System, Craft, and AEO, higher is better (100 = best).

AxisCatalogue (2026.11)PolarityTier BandsSpec & Guide
1. Design Slop45 CSS & DOM patterns (weight 0 review rules add no points)Lower is betterClean (0–9) Β· Mild (10–27) Β· Heavy (28+)spec/patterns.md
2. Copy Slop26 prose, vocabulary & chatbot-artifact rulesLower is betterClean (0–7) Β· Mild (8–19) Β· Heavy (20+)spec/copy-axis.md
3. System (DESIGN.md)9 live DOM token compliance checks (DESIGN.md & DTCG 2025.10)Higher is betterAligned (80–100) Β· Drifting (50–79) Β· Off-system (<50)docs/DESIGN_SYSTEMS.md
4. Craft Floor11 rendering & accessibility hygiene checks (orthogonal floor)Higher is betterNever inflates or alters Design/Copy tiersdocs/ARCHITECTURE.md
5. AEO Readiness16 HTTP, RFC 9309 robots.txt, SSR text, .md twin & discovery checksHigher is betterEligible (80–100) Β· Partially Eligible (50–79) Β· Restricted (<50)docs/AEO_GUIDE.md

Axis 1: The 45 patterns (Design Slop)

definitions@2026.11 evaluates computed styles and DOM geometry in a 1280Γ—800 headless Chromium viewport after document.fonts.ready. Every result carries definitionsVersion so scores from a given definition version are directly comparable. Browse all rules interactively at slop-detect.com/docs, spec/patterns.md, or GET /api/patterns.

Scoring presets (--preset)

Score against a curated subset instead of the full fingerprint:

slop-detect https://example.com --preset marketing   # Brand-surface tells only
slop-detect https://example.com --preset strict      # High-signal tells (weight >= 5, lowest false positives)
slop-detect https://example.com --preset minimal     # The 3 signature giveaways
slop-detect https://example.com --preset editorial   # Editorial & publication layout focus
slop-detect https://example.com --preset devtool     # Developer tool & documentation focus
PresetWhat It Scores
full (default)The complete 45-pattern design catalogue
strictOnly weight β‰₯ 5 tells (fewest false positives; recommended for strict CI gates)
marketingFonts, colors, gradients, and hero treatment
minimalDefault slop font stack + VibeCode purple accent + gradient text
editorial / devtoolDomain-tuned subsets for editorial publications or developer documentation

The API accepts { "url": "...", "preset": "strict" }. New patterns can be added declaratively; see CONTRIBUTING.md.


Axis 2: Multi-axis slop (Design + Copy)

Slop isn't only visual. A page wearing a default CSS template frequently ships with default LLM prose. Pass --copy (or --axes all) to score 26 copy patterns on the page's extracted text at near-zero marginal cost (one text extraction, no extra page load), or audit static HTML files directly on disk with --copy-dir:

slop-detect https://example.com --copy          # Live URL: design + copy
slop-detect https://example.com --axes all      # Same thing
slop-detect --copy-dir ./dist                   # Built HTML directory on disk (zero browser startup)
  🟑 Mild  ·  B-  ·  unified 22/100  (2 axes)

  🟒 design  Clean   A-   score   8/100   2 flagged
  🟑 copy    Mild    B-   score  18/100   4 flagged

Copy slop:
  βœ— AI buzzword density (leverage / seamless / robust …)  (+7)
  βœ— Em-dash overload                                       (+2)
  βœ— "It's not just X β€” it's Y" antithesis                  (+6)
  βœ— Generic filler openers ("In today's fast-paced world") (+5)
  • Scored copy tells include buzzword density (leverage/seamless/robust/elevate), em-dash overload, "not just X, it's Y" antithesis, filler openers, formulaic closers, rule-of-three tricolons, "whether you're X or Y", emoji bullet headers, and fake-bold Unicode math characters (fake_bold_math_alnum).
  • Review copy rules (weight: 0) flag leaked chatbot citation markup (oaicite, turn0search1, [cite: 1], <grok-card>), utm_source=chatgpt.com links, unfilled [Insert ...] placeholders, and Monroe et al. Fightin' Words log-odds vocabulary.
  • Backward compatibility: Top-level score, grade, and patterns remain design-only. Multi-axis adds axes.{design,copy} plus unifiedScore and unifiedTier.

Axis 3: The system axis (DESIGN.md & W3C DTCG 2025.10 compliance)

The absolute slop score measures how many default-template patterns a page matches. The system axis asks the durable question: "Does this page honor its own declared design system?"

Declare your tokens in a Google Labs DESIGN.md or W3C DTCG 2025.10 tokens.json, and slop-detect reports named token drift: undeclared fonts in use, CTA/surface colors outside perceptual OKLab $\Delta E_{\text{OK}} \le 0.03$, and corner radii or spacing off your scale. When your DESIGN.md intentionally declares a token (such as Space Grotesk or a violet brand primary), slop-detect automatically records a waivedByDesignMd waiver so intentional brand choices are never penalized as slop.

# Check live DOM compliance against <origin>/DESIGN.md or a local file
slop-detect https://your-site.com --design-md auto
slop-detect https://your-site.com --design-md ./DESIGN.md

# Bootstrap a W3C DTCG 2025.10 tokens.json from any live URL
slop-detect https://your-site.com --init-tokens > tokens.json

# Static lint DESIGN.md (WCAG contrast >= 4.5:1, broken refs, orphaned tokens) & diff in CI
slop-detect --lint-design-md ./DESIGN.md
slop-detect --diff-design-md main-DESIGN.md pr-DESIGN.md

# Via REST API
curl -s -X POST https://slop-detect.com/api/scan \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://your-site.com","designMd":true}' | jq .system

See docs/DESIGN_SYSTEMS.md for the complete authoring and waiver guide.


Axis 4: The craft floor (11 rendering & accessibility hygiene checks)

Pass --craft to run 11 orthogonal engineering and accessibility hygiene checks alongside your scan:

slop-detect https://your-site.com --craft

The craft floor checks WCAG contrast minimums (craft.contrastMinimum), interactive tap target sizes (craft.tapTargetSize), prefers-reduced-motion media query coverage (craft.reducedMotionRespect), tabular numerals on numeric tables/tickers (craft.tabularNumerals), intrinsic width/height on images (craft.imageDimensions), focus-ring preservation (craft.focusRingVisible), heading hierarchy (craft.headingHierarchy), body line length (45–85ch), and dark-mode color-scheme declaration.

Orthogonality guarantee: Craft floor findings are reported in result.craft (0–100, higher is better) and never add points to your Design or Copy slop score or alter Clean / Mild / Heavy tiers.


Axis 5: The AEO axis β€” Answer Engine Optimization (16 checks)

Can AI answer engines (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, PerplexityBot, Applebot) fetch, parse, and cite your page without a headless browser?

The AEO axis runs 16 HTTP, HTML, and discovery checks using the transparent SlopDetector-AEO/1.0 (+https://slop-detect.com/bot) user-agent (never spoofing Googlebot, GPTBot, or any vendor crawler):

TierWeightChecks Included
Required (6 checks)85 ptshtml.reachable, edge.access (WAF/challenge detection), robots.searchAllowed (RFC 9309 search vs. training split β€” blocking GPTBot or CCBot for training is not penalized), html.indexable, ai.previewControls, html.serverTextCoverage
Recommended (4 checks)15 ptsmd.twin (validated Markdown twin), html.linkAlternate, site.llmsTxt, html.vary (Vary: Accept)
Informational (6 checks)0 ptsai.manipulation (prompt-injection scan), agent.operability, agent.discovery (/.well-known/ard.json, MCP server card, A2A agent card), ai.usagePolicy (AIPREF Content-Usage & Content-Signal), content.dates, jsonld.hygiene
# Audit AEO readiness via CLI or REST API
npx slop-detect https://your-site.com --aeo
curl -s -X POST https://slop-detect.com/api/aeo -H 'Content-Type: application/json' -d '{"url":"https://your-site.com"}' | jq

# Auto-generate starter RFC 9309 robots.txt and /llms.txt files
npx slop-detect --emit-aeo-fixes ./public --origin https://your-site.com

See docs/AEO_GUIDE.md for copy-paste robots.txt, /llms.txt, and Markdown twin recipes.


4. The "fix prompt" & creative brief generator

After scanning, slop-detect generates a structured Markdown prompt you can paste directly into Claude Code, Cursor, Windsurf, or v0 to remediate every triggered pattern:

# CLI: generate a remediation prompt or a token-direction creative brief
npx slop-detect https://your-site.com --copy --fix-prompt > fix.md
npx slop-detect https://your-site.com --brief > brief.md

# REST API
curl -s -X POST https://slop-detect.com/api/fix-prompt \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://your-site.com"}' > fix.md

Each triggered pattern comes back with:

  • Why this reads as AI-slop (the specific DOM/CSS tell, e.g. Tailwind indigo-600, background-clip: text, or repeated antithesis copy)
  • Fix recipe (the senior designer's prescription)
  • Better alternatives (3–5 concrete directions with real brand references)
  • Hard rule (a testable constraint the coding agent self-checks against)

Plus cross-cutting guidance ("don't replace one slop pattern with another", "empty is better than fake") and a built-in acceptance criterion: rescan and target score < 10 (Clean tier).


5. AI coding agents (MCP, Skills & IDE Plugins)

slop-detect-mcp is a Model Context Protocol server that lets coding agents scan a page before shipping and pull the fix prompt back into the editing loop.

{
  "mcpServers": {
    "slop-detect": { "command": "npx", "args": ["-y", "slop-detect-mcp"] }
  }
}
Agent EnvironmentRecommended ConnectionNotes
Local localhost / file:// devnpx -y slop-detect-mcp --localUses local Playwright (requires slop-detect installed); zero network egress
Public URLs from Desktop IDEsnpx -y slop-detect-mcpZero browser install; delegates to https://slop-detect.com/api/*
Cloud & Web Builders (v0, Lovable, claude.ai, ChatGPT)https://slop-detect.com/mcpStateless Streamable HTTP MCP (2025-11-25) + inline ui://slop-detect/scorecard.html MCP App cards
Portable Agent Skill (20+ agents)skills/slop-detect/SKILL.mdFollows agentskills.io for Claude Code, Cursor, Copilot, Gemini CLI, Codex, Roo Code & Junie

7 MCP Tools: scan_page, check_aeo, check_design_system, fix_prompt, lint_design_md, diff_design_md, and extract_design_system.

See docs/AGENT_INTEGRATIONS.md, docs/GENERATOR_RECIPES.md, and docs/BUILDER_RECIPES.md.


6. CI/CD gates, GitHub Action & build plugins

ravidsrk/slop-detect scans a deploy-preview URL (mode: api) or a local static build (mode: local), posts a sticky PR comment with the grade and triggered patterns, uploads SARIF 2.1.0 findings to GitHub Code Scanning, and fails the check when slop creeps above your threshold:

- uses: ravidsrk/slop-detect@v0.9.0
  with:
    url: ${{ steps.preview.outputs.url }} # Vercel / Netlify / Cloudflare preview URL
    axes: 'design,copy'
    design-md: 'auto'
    aeo: 'true'
    fail-under: 'B' # Letter grade ('B') or max numeric slop score ('27')
    upload-sarif: 'true'
IntegrationLocationUse Case
GitHub Actionpackages/action / action.ymlPR preview gate (mode: api or mode: local), sticky comments, SARIF upload, and baseline-url regression ratcheting
Netlify Build Pluginpackages/netlify-plugin-slop-detectonPostBuild gate for Netlify deploys (failOn, failUnderScore, axes, designMd)
Lighthouse Pluginpackages/lighthouse-plugin-slop-copyAudits Copy Slop + HTML-level AEO checks inside Lighthouse CI
Vale Prose Linterstyles/SlopDetect/Editor-time prose linting generated from COPY_PATTERNS via node scripts/export-vale.mjs

See docs/CI_AND_DEPLOY_GATES.md and docs/DEPLOY_GATES.md.


7. Programmatic SDK (slop-detect-core) & REST API

Embed the pure, zero-dependency engine inside your own Playwright, Puppeteer, Browserless, or Cloudflare Browser Rendering pipeline:

// npm install slop-detect-core   (the monorepo workspace name is @slop-detect/core)
import { PATTERNS, buildPageEvaluateScript, assembleScanResult } from 'slop-detect-core';

// 1) Execute the page-evaluate script inside your browser runner
//    (copy-axis text is always extracted; pass includeSystem for DESIGN.md):
const script = buildPageEvaluateScript(PATTERNS, { includeSystem: true });
const raw = await page.evaluate(script);

// 2) Score it β€” design summary, optional copy axis + craft floor + unified score:
const result = assembleScanResult(raw, {
  url: 'https://example.com',
  finalUrl: page.url(),
  axes: ['design', 'copy'],
  includeCraft: true,
  patterns: PATTERNS,
});
console.log(
  result.blocked ? result.error : `${result.score}/100 ${result.tier} (${result.grade})`
);

See docs/SDK_AND_API.md and apps/web/API.md for custom declarative rules (compileRule), JSON Schema v1 (schemas/scan-result.v1.json), and full REST API documentation.


8. Share badges, directory & domain monitoring

Every scan gets a shareable permalink with an auto-generated social card, a canonical domain score hub, and a live SVG badge you can drop into a README or site footer:

<!-- Live slop badge β€” re-scans periodically, colored by tier -->
[![slop](https://slop-detect.com/badge/your-site.com.svg)](https://slop-detect.com/score/your-site.com)
EndpointWhat It Returns
GET /r/<id>Server-rendered result permalink (OG card unfurls on X, LinkedIn, Slack)
GET /score/<domain>Canonical per-domain telemetry hub with 5-axis breakdown, history & fix prompt
GET /report/<domain>Print-friendly agency audit report (@media print ready)
GET /og/<id>.png1200Γ—630 PNG share card (grade Β· score Β· tier Β· verdict)
GET /badge/<domain>.svgLive tier-colored badge (slop Β· A Β· 6) for the latest scan of that domain

Continuity monitoring, directory & leaderboard

Detection is free and stateless. The optional continuity layer remembers a domain and alerts you when it regresses between redesigns or drifts off its DESIGN.md:

# Start monitoring (double opt-in: you confirm via an emailed link)
curl -s -X POST https://slop-detect.com/api/watch \
  -H 'Content-Type: application/json' \
  -d '{"domain":"your-site.com","email":"you@example.com","list":true,"system":true}'

9. Developer documentation hub

All developer guides live in docs/:

GuideWhat You'll Learn
5-Minute Quickstart (docs/GETTING_STARTED.md)Run your first scan, read the 5-axis scorecard, generate a fix prompt, and bootstrap your repo (slop-detect init)
Complete CLI Guide (docs/CLI_GUIDE.md)All CLI flags, batch URL tables, static HTML directories (--copy-dir), site crawls (--site), SARIF/JUnit/GitLab/agent outputs, and baseline ratcheting
AI Agents, MCP & IDE Plugins (docs/AGENT_INTEGRATIONS.md)Connect Claude Code, Cursor, Windsurf, Copilot, Codex, and remote Streamable HTTP MCP (https://slop-detect.com/mcp)
Generator & Builder RecipesPair Slop Detector with Anthropic frontend-design, Stitch, Cursor & Impeccable or Lovable, v0, claude.ai & ChatGPT
CI/CD, Deploy Gates, Lighthouse & Vale (docs/CI_AND_DEPLOY_GATES.md)GitHub Action (api & local modes + SARIF upload), Vercel & Netlify gates, Lighthouse plugin, and Vale prose linting
Design Systems (docs/DESIGN_SYSTEMS.md)Author, bootstrap (--init-tokens), lint (--lint-design-md), diff (--diff-design-md), and enforce DESIGN.md & W3C DTCG 2025.10 tokens.json
AEO & Agent Readiness (docs/AEO_GUIDE.md)Pass all 16 AEO checks: RFC 9309 robots.txt search vs. training split, /llms.txt, .md twins, ARD discovery, and --emit-aeo-fixes
Programmatic SDK & REST API (docs/SDK_AND_API.md)Embed slop-detect-core in Playwright/Puppeteer/Workers, compile declarative rules, or call the public HTTP API (apps/web/API.md)
Architecture, Scoring Spec & Calibration (docs/ARCHITECTURE.md)How page-eval serialization, OKLab perceptual color, Fightin' Words log-odds, Craft Floor, spec/, and CALIBRATION.md work
Operations & Self-Hosting (docs/operations/README.md)Deploy apps/web to Cloudflare Pages, configure Workers Browser Rendering & KV namespaces, and run the s4 E2E suite

10. Architecture, repository layout, roadmap & contributing

slop-detect/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ core/                            ← pure 5-axis detection engine (npm: slop-detect-core)
β”‚   β”œβ”€β”€ cli/                             ← Playwright runner, static auditor & reporters (npm: slop-detect)
β”‚   β”œβ”€β”€ mcp/                             ← Model Context Protocol server (npm: slop-detect-mcp)
β”‚   β”œβ”€β”€ action/                          ← Composite GitHub Action (api + local Chromium + SARIF)
β”‚   β”œβ”€β”€ netlify-plugin-slop-detect/      ← Netlify onPostBuild deploy gate plugin
β”‚   └── lighthouse-plugin-slop-copy/     ← Lighthouse copy + HTML AEO plugin
β”œβ”€β”€ apps/
β”‚   └── web/                             ← Cloudflare Pages app, REST API (/api/*) & remote MCP (/mcp)
β”œβ”€β”€ docs/                                ← Developer guides, generator/builder recipes & ops runbooks
β”œβ”€β”€ skills/slop-detect/                  ← Portable agentskills.io skill for 20+ coding agents
β”œβ”€β”€ plugins/slop-detect/                 ← Claude Code & Cursor marketplace plugin manifests
β”œβ”€β”€ styles/SlopDetect/                   ← Vale prose linter rules exported from COPY_PATTERNS
β”œβ”€β”€ examples/
β”‚   β”œβ”€β”€ astro-blog/                      ← Astro 5 reference integration
β”‚   └── nextjs-app-router/               ← Next 15 reference integration
β”œβ”€β”€ schemas/                             ← JSON Schema v1 (scan-result.v1.json)
└── spec/                                ← Versioned pattern, copy, system, AEO & conformance specs

Quickstart: contributing

git clone https://github.com/ravidsrk/slop-detect.git
cd slop-detect
bun install                              # Installs all workspaces
bun run build                            # Builds @slop-detect/core, cli, and mcp
bun run test                             # Runs Vitest suite across all packages

# Run the CLI or local Cloudflare Pages workbench
bun run --filter slop-detect demo        # Scans 3 example sites
bun run web:dev                          # Starts local web app + API at http://localhost:8788

# End-to-end verification (see docs/operations/REHEARSAL.md)
S4_SEED_URL=https://slop-detect.com/ bun run s4 -- --target http://localhost:8788

See CONTRIBUTING.md for how to propose a new pattern or improve a fix recipe.

Roadmap

See ROADMAP.md and CALIBRATION.md for the full strategic plan and empirical calibration protocol. The engine ships definitions@2026.11 (45 design, 26 copy, 16 AEO, 9 system checks, and an 11-check craft floor). Published leaderboard and calibration deltas remain anchored to the measured 2026.10 corpus; v1.0.0 is gated on the held-out human-control threshold (β‰₯1,520 human controls, Heavy FPR ≀2% at 95% CI).

  • 5-Axis Engine (definitions@2026.11): Design (45 rules) + Copy (26 rules) + System DESIGN.md & W3C DTCG 2025.10 (9 checks) + Craft Floor (11 checks) + AEO (16 checks)
  • Local & Remote MCP (slop-detect-mcp + /mcp): 7 tools + MCP App scorecards (ui://slop-detect/scorecard.html) + portable agentskills.io skill
  • CI & Build Gates: GitHub Action (api + local + SARIF 2.1.0), Netlify Build Plugin, Lighthouse Plugin, and Vale prose style exporter
  • Shareable Permalinks, Domain Hubs & Badges: /r/<id>, /score/<domain>, /report/<domain>, /og/<id>.png, /badge/<domain>.svg, and /dashboard
  • v1.0 Calibration Gate: Expand held-out human control stratum to β‰₯1,520 domains (Heavy FPR ≀2% at 95% CI) and promote 2026.11 review rules via K-04
  • Community Rule Registry + interactive web rule authoring UI

Acknowledgments, support & license

"Empty is better than fake. Show the product, don't decorate around it."