mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-17 02:15:31 +02:00
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>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
0530392821
commit
8ef842fc75
+47
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"capturedAt": "2026-09-08",
|
||||
"engine": {
|
||||
"version": "0.1.3",
|
||||
"release": "engine-v0.1.3",
|
||||
"platform": "linux-x64",
|
||||
"installedBy": "npx impeccable install (human-initiated, scratch directory outside the repo)",
|
||||
"binaryPath": "<skill>/scripts/bin/linux-x64/impeccable",
|
||||
"binaryNote": "the engine is installed as a sibling of the launcher (<skill>/scripts/impeccable), not under ~/.impeccable/bin/, in a project-scoped install"
|
||||
},
|
||||
"registry": {
|
||||
"file": "impeccable-antipatterns.json",
|
||||
"upstream": "crates/live/assets/antipatterns.json",
|
||||
"commit": "87d8f6d686782561fb572758d9a9bb8596a1a0e7",
|
||||
"entries": 61,
|
||||
"fields": ["id", "name", "category", "description"],
|
||||
"note": "no severity or advisory field in the registry; advisory status (em-dash-overuse) is engine-side"
|
||||
},
|
||||
"captures": {
|
||||
"impeccable-detect-sample.json": {
|
||||
"mode": "source",
|
||||
"command": "impeccable detect --json index.html styles.css",
|
||||
"cwd": "a copy of test/fixtures/review-eval-design-slop.{html,css} named index.html + styles.css so the <link> resolves",
|
||||
"exit": 2,
|
||||
"stderrBytes": 0,
|
||||
"pathsNormalized": { "index.html": "test/fixtures/review-eval-design-slop.html", "styles.css": "test/fixtures/review-eval-design-slop.css" }
|
||||
},
|
||||
"impeccable-detect-dom-sample.json": {
|
||||
"mode": "dom",
|
||||
"dump": "review-eval-design-slop.dom.html",
|
||||
"dumpedWith": "browse goto http://127.0.0.1:<port>/index.html; browse eval dom-dump.js --out <tmp>/review-eval-design-slop.dom.html --raw (script: lib/dom-dump-script.ts DOM_DUMP_SCRIPT)",
|
||||
"command": "impeccable detect --json review-eval-design-slop.dom.html",
|
||||
"exit": 2,
|
||||
"stderrBytes": 0,
|
||||
"pathsNormalized": { "review-eval-design-slop.dom.html": "test/fixtures/review-eval-design-slop.dom.html", "http://127.0.0.1:<port>/": "http://127.0.0.1/" }
|
||||
},
|
||||
"impeccable-detect-help.txt": { "command": "impeccable detect --help" }
|
||||
},
|
||||
"findingFields": ["antipattern", "name", "description", "severity", "category", "file", "line", "snippet"],
|
||||
"notes": [
|
||||
"HTML-mode findings carry line 0; snippet is the locator",
|
||||
"the static engine reads inline <style> in a .html file: the DOM dump yields the same id set as the source scan",
|
||||
"without the rgb()->hex fold in the dump script the DOM scan loses ai-color-palette (CSSOM serializes hex as rgb)",
|
||||
"a <link rel=stylesheet> left in the dump makes the engine warn on stderr about an unreadable stylesheet; the dump script removes inlined links",
|
||||
"the planted fixture has no border-left, so side-tab never fires on it; ai-color-palette is the deterministic slop id"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user