Files
gstack/test/fixtures/impeccable-detect-dom-sample.json
Garry TanandClaude Fable 5.1 8ef842fc75 chore(design): pin impeccable rule ids and detector JSON shape as fixtures
Real captures from a human-initiated `npx impeccable install` in a scratch
directory (engine 0.1.3, linux-x64), never a runtime download:

- test/fixtures/impeccable-antipatterns.json: upstream
  crates/live/assets/antipatterns.json at 87d8f6d6 (the state engine-v0.1.3
  shipped), 61 rules, source commit recorded in `_source`.
- test/fixtures/impeccable-detect-sample.json: `detect --json` over gstack's
  planted-slop fixture (source mode), paths normalized.
- test/fixtures/review-eval-design-slop.dom.html + impeccable-detect-dom-sample.json:
  the same page served locally, dumped through the browse engine with the
  shared DOM-dump script, then scanned. Pins the load-bearing assumption
  that the static engine reads inline <style> in a .html file: the DOM scan
  yields the same id set as the source scan.
- lib/dom-dump-script.ts: the one dump script both browser engines evaluate
  (IIFE, no single quotes). Folds CSSOM rgb() back to author hex so palette
  rules still fire, and removes inlined <link> nodes so the engine does not
  warn about an unresolvable stylesheet. Both verified against the engine.
- test/fixtures/impeccable-detect-help.txt + impeccable-captures.meta.json:
  the flags, exit codes, finding fields, and re-capture protocol.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 15:22:07 +00:00

63 lines
2.7 KiB
JSON

[
{
"antipattern": "low-contrast",
"name": "Low contrast text",
"description": "Text does not meet WCAG AA contrast requirements (4.5:1 for body, 3:1 for large text). Increase the contrast between text and background.",
"severity": "warning",
"category": "quality",
"file": "test/fixtures/review-eval-design-slop.dom.html",
"line": 0,
"snippet": "4.2:1 (need 4.5:1) — text #ffffff on #8b5cf6"
},
{
"antipattern": "low-contrast",
"name": "Low contrast text",
"description": "Text does not meet WCAG AA contrast requirements (4.5:1 for body, 3:1 for large text). Increase the contrast between text and background.",
"severity": "warning",
"category": "quality",
"file": "test/fixtures/review-eval-design-slop.dom.html",
"line": 0,
"snippet": "4.47:1 (need 4.5:1) — text #ffffff on #6366f1"
},
{
"antipattern": "low-contrast",
"name": "Low contrast text",
"description": "Text does not meet WCAG AA contrast requirements (4.5:1 for body, 3:1 for large text). Increase the contrast between text and background.",
"severity": "warning",
"category": "quality",
"file": "test/fixtures/review-eval-design-slop.dom.html",
"line": 0,
"snippet": "4.0:1 (need 4.5:1) — text #ff0000 on #1e1b4b"
},
{
"antipattern": "skipped-heading",
"name": "Skipped heading level",
"description": "Heading levels should not skip (e.g. h1 then h3 with no h2). Screen readers use heading hierarchy for navigation. Skipping levels breaks the document outline.",
"severity": "warning",
"category": "quality",
"file": "test/fixtures/review-eval-design-slop.dom.html",
"line": 0,
"snippet": "<h1> \"Welcome to Our Platform\" followed by <h3> \"Feature One\" (missing h2)"
},
{
"antipattern": "ai-color-palette",
"name": "AI color palette",
"description": "Purple/violet gradients and cyan-on-dark are the most recognizable tells of AI-generated UIs. Choose a distinctive, intentional palette.",
"severity": "warning",
"category": "slop",
"file": "test/fixtures/review-eval-design-slop.dom.html",
"line": 0,
"snippet": "Purple/violet accent colors detected"
},
{
"antipattern": "marketing-buzzword",
"name": "Marketing buzzword",
"description": "Generic SaaS phrases (streamline / empower / supercharge / world-class / enterprise-grade / next-generation / cutting-edge / etc) are instant AI tells. Pick a specific verb and noun that says what the product literally does.",
"severity": "warning",
"category": "slop",
"file": "test/fixtures/review-eval-design-slop.dom.html",
"line": 0,
"snippet": "1 buzzword phrase: \"ful tool to streamline your workflow ef\""
}
]