The design language that makes your AI harness better at design.
This report summarizes scanner evidence for pbakaus/impeccable, a JavaScript project with 79,401 GitHub stars. SynthScan examined 692,288 lines of code across 3274 source files, recording 4727 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 7.2 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 4515 finding(s).
Are imports declared and package/API names verified? 18 finding(s).
Are wrappers, guards, and repeated structures necessary? 3246 finding(s).
Which changes need focused human review? 4727 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 4727 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 5057 | function isSvelteComponentManifestPath(filePath) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 5061 | function isFrameworkComponentPreviewMode(mode) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 5065 | function parseOriginalMarkupElement(originalMarkup) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 5071 | function normalizeElementClassName(el) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 7411 | function declineAgentTargetUnresolvable(msg) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 7418 | function reportAgentTargetUnresolvable(msg, error) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 7426 | function watchAgentTargetResolution(msg, lastError) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 9659 | function restoreFromActiveSessions(activeSessions, reason) { | CODE |
| LOW⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 9675 | function recoverMissedGenerationCompletion(activeSessions) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 375 | function shouldShowHighlightTagTooltip() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 920 | function buildAnnotationsForCapture(rect, snapshot) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 960 | function stripManualEditRuntimeState(root) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1048 | function contextElementForManualEdit(selectedEl, rows, ops) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1072 | function isUsefulManualEditContext(candidate, leafEl, editedTexts) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1078 | function collectManualContextPieces(rootEl, editedTexts) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1102 | function isMeaningfulManualContextPiece(text, editedTexts) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1108 | function normalizeManualContextText(value) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1347 | function configureSelectionPillStyle(extra = {}) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1368 | function configureModifierPillStyle(extra = {}) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1386 | function configureInlineControlStyle(extra = {}) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1403 | function bindConfigureInlineControlHover(btn, controlsLocked) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1415 | function bindConfigureModifierPillHover(btn, controlsLocked) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1432 | function ensureConfigureBarTooltip() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1585 | function bindConfigureCountPillTooltip(count, controlsLocked) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1597 | function buildConfigureActionControl({ controlsLocked, onClick }) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1627 | function buildConfigureCountControl({ controlsLocked, onClick }) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1641 | function buildConfigureVoiceButton({ id, controlsLocked, onClick }) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1664 | function buildConfigureTrailingCluster(controls, voiceBtn, submitBtn) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1683 | function buildConfigureSubmitButton({ controlsLocked, onClick, ariaLabel }) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1710 | function detectInsertAxisFromStyle(style) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1880 | function placeholderWidthIsImplicit(kind) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1884 | function applyPlaceholderSizingStyles(placeholder, sizing) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1901 | function materializePlaceholderWidth(placeholder) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1922 | function insertCreateDisabledReason({ prompt, comments, strokes }) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 1941 | function resizePlaceholderFromEdge(start, edge, dx, dy, parentWidth) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2056 | function syncPageInteractionCursor() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2081 | function beginNewLiveConfiguration() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2086 | function deferredRecoverySuperseded(sessionId, recoveryRevision) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2118 | function removeInsertPlaceholderDom() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2136 | function buildInsertPlaceholderSnapshotFromDom(anchor, placeholder) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2167 | function isInsertGeneratingSession() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2202 | function applyPlaceholderDimensions({ width, height, marginLeft, marginTop }) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2219 | function buildPlaceholderResizeHandles() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2249 | function syncPlaceholderResizeHandles() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2260 | function startPlaceholderEdgeResize(edge, e) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2333 | function ensureInsertCreateTooltip() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 2410 | function ensureConfigureInputStyle() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3175 | function getMountedSvelteComponentAnchor(session = svelteComponentSession) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3181 | function resolveSvelteComponentAnchor(session = svelteComponentSession) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3438 | function wrapMixedContentTextNodes(rootEl) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3463 | function unwrapMixedContentTextNodes(rootEl) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3708 | function normalizeDocumentRefToken(value) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3741 | function nearbyEditableTextsForManualEdit(rows, activeEl, originalText, newText) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3859 | function schedulePendingDockPosition() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3874 | function playPendingIntroAnimation() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3921 | function readStoredManualApplyState() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3965 | function clearStoredManualApplyState() { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3973 | function shouldResumeManualApplyLoading(count) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 4007 | function updateManualApplyProgressFromChunk(chunk) { | CODE |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 4022 | function updateManualApplyRepairState(repair, phase) { | CODE |
| 2992 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .cursor/skills/impeccable/reference/document.md | 82 | ### Step 1: Find the design assets | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 94 | ### Step 2: Auto-extract what can be auto-extracted | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 116 | ### Step 3: Ask the user for qualitative language | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 128 | ### Step 4: Write DESIGN.md | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 342 | ### Step 5: Confirm and refine | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 354 | ### Step 1: Route through new-work's workshop | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 362 | ### Step 2: Write seed DESIGN.md | COMMENT |
| LOW | .cursor/skills/impeccable/reference/document.md | 385 | ### Step 3: Confirm | COMMENT |
| LOW | .cursor/skills/impeccable/reference/extract.md | 5 | ## Step 1: Discover the Design System | COMMENT |
| LOW | .cursor/skills/impeccable/reference/extract.md | 11 | ## Step 2: Identify Patterns | COMMENT |
| LOW | .cursor/skills/impeccable/reference/extract.md | 24 | ## Step 3: Plan Extraction | COMMENT |
| LOW⚡ | .cursor/skills/impeccable/reference/extract.md | 36 | ## Step 4: Extract & Enrich | COMMENT |
| LOW⚡ | .cursor/skills/impeccable/reference/extract.md | 44 | ## Step 5: Migrate | COMMENT |
| LOW⚡ | .cursor/skills/impeccable/reference/extract.md | 53 | ## Step 6: Document | COMMENT |
| LOW | .cursor/skills/impeccable/reference/doctor.md | 13 | ## Step 1: Run the pass | COMMENT |
| LOW⚡ | .cursor/skills/impeccable/reference/doctor.md | 25 | ## Step 2: Act by severity | COMMENT |
| LOW⚡ | .cursor/skills/impeccable/reference/doctor.md | 35 | ## Step 3: Deprecated fields are binding | COMMENT |
| LOW⚡ | .cursor/skills/impeccable/reference/doctor.md | 39 | ## Step 4: Do not overclaim on truth drift | COMMENT |
| LOW | .cursor/skills/impeccable/reference/init.md | 5 | ## Step 1: Load current state | COMMENT |
| LOW | .cursor/skills/impeccable/reference/init.md | 17 | ## Step 2: Explore the project | COMMENT |
| LOW | .cursor/skills/impeccable/reference/init.md | 25 | ## Step 3: Interview for product truth | COMMENT |
| LOW | .cursor/skills/impeccable/reference/init.md | 56 | ## Step 4: Write PRODUCT.md | COMMENT |
| LOW | .cursor/skills/impeccable/reference/init.md | 110 | ## Step 5: Record workflow defaults | COMMENT |
| LOW | .cursor/skills/impeccable/reference/init.md | 120 | ## Step 6: Wrap up or resume | COMMENT |
| LOW | .cursor/skills/impeccable/reference/generate.md | 15 | ## Step 1: Parse the request | COMMENT |
| LOW | .cursor/skills/impeccable/reference/generate.md | 39 | ## Step 2: Reuse the page, then start | COMMENT |
| LOW | .cursor/skills/impeccable/reference/generate.md | 70 | ## Step 3: Generate | COMMENT |
| LOW | .cursor/skills/impeccable/reference/generate.md | 86 | ## Step 4: Accept and close | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 82 | ### Step 1: Find the design assets | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 94 | ### Step 2: Auto-extract what can be auto-extracted | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 116 | ### Step 3: Ask the user for qualitative language | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 128 | ### Step 4: Write DESIGN.md | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 342 | ### Step 5: Confirm and refine | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 354 | ### Step 1: Route through new-work's workshop | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 362 | ### Step 2: Write seed DESIGN.md | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/document.md | 385 | ### Step 3: Confirm | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/extract.md | 5 | ## Step 1: Discover the Design System | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/extract.md | 11 | ## Step 2: Identify Patterns | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/extract.md | 24 | ## Step 3: Plan Extraction | COMMENT |
| LOW⚡ | .trae-cn/skills/impeccable/reference/extract.md | 36 | ## Step 4: Extract & Enrich | COMMENT |
| LOW⚡ | .trae-cn/skills/impeccable/reference/extract.md | 44 | ## Step 5: Migrate | COMMENT |
| LOW⚡ | .trae-cn/skills/impeccable/reference/extract.md | 53 | ## Step 6: Document | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/doctor.md | 13 | ## Step 1: Run the pass | COMMENT |
| LOW⚡ | .trae-cn/skills/impeccable/reference/doctor.md | 25 | ## Step 2: Act by severity | COMMENT |
| LOW⚡ | .trae-cn/skills/impeccable/reference/doctor.md | 35 | ## Step 3: Deprecated fields are binding | COMMENT |
| LOW⚡ | .trae-cn/skills/impeccable/reference/doctor.md | 39 | ## Step 4: Do not overclaim on truth drift | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/init.md | 5 | ## Step 1: Load current state | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/init.md | 17 | ## Step 2: Explore the project | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/init.md | 25 | ## Step 3: Interview for product truth | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/init.md | 56 | ## Step 4: Write PRODUCT.md | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/init.md | 110 | ## Step 5: Record workflow defaults | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/init.md | 120 | ## Step 6: Wrap up or resume | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/generate.md | 15 | ## Step 1: Parse the request | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/generate.md | 39 | ## Step 2: Reuse the page, then start | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/generate.md | 70 | ## Step 3: Generate | COMMENT |
| LOW | .trae-cn/skills/impeccable/reference/generate.md | 86 | ## Step 4: Accept and close | COMMENT |
| LOW | .gemini/skills/impeccable/reference/document.md | 82 | ### Step 1: Find the design assets | COMMENT |
| LOW | .gemini/skills/impeccable/reference/document.md | 94 | ### Step 2: Auto-extract what can be auto-extracted | COMMENT |
| LOW | .gemini/skills/impeccable/reference/document.md | 116 | ### Step 3: Ask the user for qualitative language | COMMENT |
| LOW | .gemini/skills/impeccable/reference/document.md | 128 | ### Step 4: Write DESIGN.md | COMMENT |
| 528 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | browser-bundle/50-scan.js | 11 | // ─── Section 7: Browser UI (IS_BROWSER only) ──────────────────────────────── | COMMENT |
| MEDIUM | browser-bundle/50-scan.js | 60 | // ── WASM core bridge ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | browser-bundle/15-snapshot.js | 107 | // ─── Linked stylesheet corpus (JS: injected/index.mjs #709) ──────────────── | COMMENT |
| MEDIUM | browser-bundle/15-snapshot.js | 107 | // ─── Linked stylesheet corpus (JS: injected/index.mjs #709) ──────────────── | COMMENT |
| MEDIUM | crates/detect/src/design_system.rs | 212 | // ─── Frontmatter YAML subset ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/design_system.rs | 566 | // ─── Normalized design system ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/design_system.rs | 1497 | // ─── Allowlist predicates ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/design_system.rs | 2235 | // ── #570 monorepo DESIGN.md inheritance ───────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/design_system.rs | 2235 | // ── #570 monorepo DESIGN.md inheritance ───────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/regex_matchers.rs | 308 | // ─── side accent scope ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/regex_matchers.rs | 1425 | // ─── The matchers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/regex_matchers.rs | 1883 | // ─── Page analyzers ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/file_system.rs | 119 | // ─── Import graph ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/file_system.rs | 198 | // ─── Framework dev server detection ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/detect_text.rs | 878 | // ─── Inset stripe scan ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/detect_text.rs | 1281 | // ─── Whole-file radius reading ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/detect_text.rs | 1422 | // ─── Style block extraction ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/detect_text.rs | 1451 | // ─── CSS-in-JS extraction ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/detect/src/detect_text.rs | 1717 | // ─── Matchers over lines ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/context/src/serve_question.rs | 1726 | // ─── round state + page rendering ────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/context/src/context_cli.rs | 355 | // ─── Update check ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/context/src/context_cli.rs | 558 | // ─── native refs ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/context/src/context_cli.rs | 581 | // ─── cli ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/context/src/context.rs | 1067 | // ─── extractSectionValue / extractPlatform ───────────────────────────────── | COMMENT |
| MEDIUM | crates/context/src/context.rs | 1125 | // ─── hasVisualImplementation ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/text_context.rs | 147 | // ─── r5-p26: framed HTML demos ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/text_context.rs | 814 | // ─── r5-p27: legal fine print ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/text_context.rs | 970 | // ─── r5-p3: micro-labels ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/rules.rs | 670 | // ─── Contrast severity ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/rules.rs | 1292 | // ─── isCardLikeFromProps / HEADING_TAGS ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/rules.rs | 1462 | // ─── isAccentColor ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/rules.rs | 1516 | // ─── resolveHeroHeadingSizePx ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/rules.rs | 1660 | // ─── checkMotion ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/rules.rs | 1924 | // ─── Section 6 shared: flat type hierarchy ────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/html_patterns.rs | 28 | // ─── scanHtmlForShapeAssembledIllustration ────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/html_patterns.rs | 163 | // ─── buildHtmlPatternCorpora ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/html_patterns.rs | 219 | // ─── checkHtmlPatterns ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/text_rules.rs | 73 | // ─── Group-A helpers duplicated until rules.rs lands ──────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/text_rules.rs | 311 | // ─── Letter spacing ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/text_rules.rs | 519 | // ─── Repeated container text ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 68 | // ─── cssTextHasDarkRootBg ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 141 | // ─── scanCssTextForGlow ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 223 | // ─── scanCssTextForGridBackground ─────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 301 | // ─── scanCssTextForRadialHalo ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 576 | // ─── scanCssTextForPseudoStripe ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 861 | // ─── scanCssTextForInsetStripe ────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 985 | // ─── side stripes on a rounded card ───────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 1913 | // ─── scanCssTextForOrganicClipPath ────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 2061 | // ─── scanCssTextForBuriedRaster ───────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 2270 | // ─── bounce names whose keyframes only pulse ──────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/css_scan.rs | 2504 | // ─── scanCssTextForPulsingDot ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/measures.rs | 389 | // ─── Cream / beige palette ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/measures.rs | 434 | // ─── Oversized hero headline ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/measures.rs | 987 | // ─── Clipped overflow / screen-reader-only text ───────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/measures.rs | 1076 | // ─── Text occlusion helper ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/checks/measures.rs | 1104 | // ─── Tracked-label helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/browser/element_checks.rs | 175 | // ── shared helpers ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/browser/element_checks.rs | 282 | // ── pseudo-element stripes / surfaces ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/browser/element_checks.rs | 532 | // ── colors ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/core/src/browser/element_checks.rs | 1704 | // ── icon tile / italic serif / hero eyebrow ─────────────────────────────── | COMMENT |
| 134 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .cursor/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .cursor/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .cursor/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .cursor/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | .cursor/skills/impeccable/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | .cursor/skills/impeccable/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | .cursor/skills/impeccable/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM⚡ | .trae-cn/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .trae-cn/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .trae-cn/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .trae-cn/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | .trae-cn/skills/impeccable/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | .trae-cn/skills/impeccable/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | .trae-cn/skills/impeccable/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM⚡ | .gemini/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .gemini/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .gemini/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .gemini/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | .gemini/skills/impeccable/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | .gemini/skills/impeccable/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | .gemini/skills/impeccable/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM⚡ | .trae/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .trae/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .trae/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .trae/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | .trae/skills/impeccable/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | .trae/skills/impeccable/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | .trae/skills/impeccable/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM⚡ | .grok/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .grok/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .grok/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .grok/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | .grok/skills/impeccable/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | .grok/skills/impeccable/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | .grok/skills/impeccable/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM | crates/comp-verbs/src/build_phase.rs | 3 | //! The comp-led build as a state machine on disk. Phases, gates, scaffold, and | COMMENT |
| MEDIUM | crates/comp-verbs/src/build_phase.rs | 922 | // ---- scaffold -------------------------------------------------------------- | COMMENT |
| MEDIUM | crates/live/src/live_wrap.rs | 2 | //! source and wrap it in a variant container (or scaffold a Svelte component | COMMENT |
| MEDIUM | crates/live/src/svelte_component.rs | 191 | /// The scaffold outcome. | COMMENT |
| MEDIUM | crates/live/src/server_state.rs | 1386 | /// JS: leaseEvent(entry, leaseMs) after the synchronous claim: scaffold a | COMMENT |
| MEDIUM | crates/live/src/live_insert.rs | 3 | //! it (no original variant), or scaffold a Svelte insert session. | COMMENT |
| MEDIUM | crates/live/src/svelte_bridge.rs | 1 | //! The documented Node exception: the Svelte scaffold and accept pipeline | COMMENT |
| MEDIUM⚡ | .qoder/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .qoder/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .qoder/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .qoder/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | .qoder/skills/impeccable/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | .qoder/skills/impeccable/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | .qoder/skills/impeccable/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM⚡ | skill/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | skill/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | skill/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | skill/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| MEDIUM | skill/scripts/live-browser.js | 6414 | // scaffold with no variants after retries is a failed generation. | COMMENT |
| MEDIUM | skill/scripts/live-browser.js | 6977 | // scaffolded into. A plain first match can then pin an empty scaffold while | COMMENT |
| MEDIUM | skill/scripts/live-browser.js | 9333 | // Vite can coalesce rapid scaffold/carbonize writes and leave the last | COMMENT |
| MEDIUM⚡ | .rovodev/skills/impeccable/scripts/live-browser.js | 9666 | // Self-heal on SSE (re)connect. The preflight scaffold write triggers a | COMMENT |
| MEDIUM | .rovodev/skills/impeccable/scripts/live-browser.js | 6237 | // the fetched source still shows only the preflight scaffold, before the | COMMENT |
| MEDIUM | .rovodev/skills/impeccable/scripts/live-browser.js | 6340 | // Mid-generation the source legitimately holds a scaffold wrapper | COMMENT |
| MEDIUM | .rovodev/skills/impeccable/scripts/live-browser.js | 6349 | // Generation finished, yet the read shows only the scaffold: the | COMMENT |
| 104 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | DESIGN.md | 101 | success-on-paper: "oklch(40% 0.10 145)" | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 121 | let hoveredElement = null; | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 3101 | // The panel docks to the right edge of the outline during CYCLING and | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 6961 | if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; } | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 7381 | // acting (a second claim or Go), and once done, because its result may | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 8081 | } | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 8761 | } | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 8821 | vec2 sampleCenter = (cellId + 0.5) * cellPx / u_resolution; | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 8861 | // returned, and then watched the construction publish itself over a session | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser.js | 10121 | if (visibleVariant > 0) showVariantInDOM(currentSessionId, visibleVariant); | COMMENT |
| LOW | …rsor/skills/impeccable/scripts/live-browser-ignores.js | 101 | // prefix to every page, and that rule would suppress site-wide. | COMMENT |
| LOW | .cursor/skills/impeccable/scripts/live-browser-dom.js | 101 | } | COMMENT |
| LOW | browser-bundle/50-scan.js | 1 | // --- browser-bundle/50-scan.js --- | COMMENT |
| LOW | browser-bundle/60-offscreen.js | 1 | // --- browser-bundle/60-offscreen.js --- | COMMENT |
| LOW | browser-bundle/30-scan-common.js | 1 | // --- browser-bundle/30-scan-common.js --- | COMMENT |
| LOW | browser-bundle/15-snapshot.js | 1 | // --- browser-bundle/15-snapshot.js --- | COMMENT |
| LOW | browser-bundle/40-overlay.js | 1 | // --- browser-bundle/40-overlay.js --- | COMMENT |
| LOW | browser-bundle/40-overlay.js | 21 | // site/styles/kinpaku-kit.css. | COMMENT |
| LOW | browser-bundle/35-visual.js | 1 | // --- browser-bundle/35-visual.js --- | COMMENT |
| LOW | browser-bundle/35-visual.js | 21 | // IO contract (N = the adapter's node representation): | COMMENT |
| LOW | browser-bundle/10-probe.js | 41 | for (let i = 0; i < list.length; i++) out[i] = __intern(list[i]); | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 121 | let hoveredElement = null; | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 3101 | // The panel docks to the right edge of the outline during CYCLING and | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 6961 | if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; } | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 7381 | // acting (a second claim or Go), and once done, because its result may | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 8081 | } | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 8761 | } | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 8821 | vec2 sampleCenter = (cellId + 0.5) * cellPx / u_resolution; | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 8861 | // returned, and then watched the construction publish itself over a session | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser.js | 10121 | if (visibleVariant > 0) showVariantInDOM(currentSessionId, visibleVariant); | COMMENT |
| LOW | …e-cn/skills/impeccable/scripts/live-browser-ignores.js | 101 | // prefix to every page, and that rule would suppress site-wide. | COMMENT |
| LOW | .trae-cn/skills/impeccable/scripts/live-browser-dom.js | 101 | } | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 121 | let hoveredElement = null; | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 3101 | // The panel docks to the right edge of the outline during CYCLING and | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 6961 | if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; } | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 7381 | // acting (a second claim or Go), and once done, because its result may | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 8081 | } | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 8761 | } | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 8821 | vec2 sampleCenter = (cellId + 0.5) * cellPx / u_resolution; | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 8861 | // returned, and then watched the construction publish itself over a session | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser.js | 10121 | if (visibleVariant > 0) showVariantInDOM(currentSessionId, visibleVariant); | COMMENT |
| LOW | …mini/skills/impeccable/scripts/live-browser-ignores.js | 101 | // prefix to every page, and that rule would suppress site-wide. | COMMENT |
| LOW | .gemini/skills/impeccable/scripts/live-browser-dom.js | 101 | } | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 121 | let hoveredElement = null; | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 3101 | // The panel docks to the right edge of the outline during CYCLING and | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 6961 | if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; } | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 7381 | // acting (a second claim or Go), and once done, because its result may | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 8081 | } | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 8761 | } | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 8821 | vec2 sampleCenter = (cellId + 0.5) * cellPx / u_resolution; | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 8861 | // returned, and then watched the construction publish itself over a session | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser.js | 10121 | if (visibleVariant > 0) showVariantInDOM(currentSessionId, visibleVariant); | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser-ignores.js | 101 | // prefix to every page, and that rule would suppress site-wide. | COMMENT |
| LOW | .trae/skills/impeccable/scripts/live-browser-dom.js | 101 | } | COMMENT |
| LOW | .grok/skills/impeccable/scripts/live-browser.js | 121 | let hoveredElement = null; | COMMENT |
| LOW | .grok/skills/impeccable/scripts/live-browser.js | 3101 | // The panel docks to the right edge of the outline during CYCLING and | COMMENT |
| LOW | .grok/skills/impeccable/scripts/live-browser.js | 6961 | if (scrollLockRaf != null) { cancelAnimationFrame(scrollLockRaf); scrollLockRaf = null; } | COMMENT |
| LOW | .grok/skills/impeccable/scripts/live-browser.js | 7381 | // acting (a second claim or Go), and once done, because its result may | COMMENT |
| LOW | .grok/skills/impeccable/scripts/live-browser.js | 8081 | } | COMMENT |
| LOW | .grok/skills/impeccable/scripts/live-browser.js | 8761 | } | COMMENT |
| 468 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/detect-fixture-json-unread-surface-contrast-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …cle/golden/detect-fixture-json-never-painted-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …etect-fixture-json-fullpage-screenshot-frame-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …le/golden/detect-fixture-json-external-styles-css.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …/oracle/golden/detect-framework-next-cssinjs-json.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | tests/oracle/golden/detect-scope-type.json | 2 | "stdout": "[\n {\n \"antipattern\": \"all-caps-body\",\n \"name\": \"All-caps body text\",\n \"description\" | CODE |
| HIGH | …son-ai-color-palette-brand-hue-headings-only-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"ai-color-palette\",\n \"name\": \"AI color palette\",\n \"description\ | CODE |
| HIGH | …xture-text-ai-color-palette-category-colours-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/ai-color-palette-category-colours.html\n [ai-color-palette] Purple/vi | CODE |
| HIGH | …olden/detect-fixture-text-side-accent-nested-scss.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/side-accent-nested.scss\n line 46: [side-tab] border-left: 6px solid | CODE |
| HIGH | tests/oracle/golden/detect-fixture-text-color-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/color.html\n [gray-on-color] text #969696 on bg #3b82f6\n → Gray t | CODE |
| HIGH | …cle/golden/detect-fixture-text-never-painted-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/never-painted.html\n [side-tab] border-left: 3px + border-radius: 10p | CODE |
| HIGH | …en/detect-fixture-text-page-level-forms-dark-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/page-level-forms-dark.html\n [dark-glow] Zero-offset box-shadow glow | CODE |
| HIGH | …olden/detect-fixture-text-side-accent-nested-sass.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/side-accent-nested.sass\n line 10: [side-tab] border-left: 3px solid | CODE |
| HIGH | …golden/detect-fixture-json-framework-next-modules.json | 2 | "stdout": "[\n {\n \"antipattern\": \"overused-font\",\n \"name\": \"Overused font\",\n \"description\": \"I | CODE |
| HIGH | …etect-fixture-text-fullpage-screenshot-frame-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/fullpage-screenshot-frame.html\n [low-contrast] 1.7:1 (need 4.5:1) — | CODE |
| HIGH | …/oracle/golden/detect-fixture-text-framework-vite.json | 3 | "stderr": "\nVite project detected (vite.config.ts).\nStart the dev server and scan via URL for best results:\n npx i | CODE |
| HIGH | …olden/detect-fixture-text-cssinjs-should-flag-tsx.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/cssinjs-should-flag.tsx\n line 8: [side-tab] border-left: 4px solid # | CODE |
| HIGH | …le/golden/detect-fixture-text-computed-forms-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/computed-forms.html\n [gray-on-color] text #6b7280 on bg #2563eb\n | CODE |
| HIGH | …/detect-fixture-json-fullpage-screenshot-rtl-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …den/detect-fixture-text-side-accent-producers-css.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/side-accent-producers.css\n line 13: [side-tab] border-left: 3px soli | CODE |
| HIGH | …/oracle/golden/detect-framework-next-modules-text.json | 3 | "stderr": "\nNext.js project detected (next.config.mjs).\nStart the dev server and scan via URL for best results:\n n | CODE |
| HIGH | …/oracle/golden/detect-framework-next-modules-text.json | 3 | "stderr": "\nNext.js project detected (next.config.mjs).\nStart the dev server and scan via URL for best results:\n n | CODE |
| HIGH | …lden/detect-fixture-text-fullpage-screenshot-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/fullpage-screenshot.html\n [low-contrast] 1.7:1 (need 4.5:1) — text # | CODE |
| HIGH | …den/detect-fixture-json-side-accent-producers-css.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | tests/oracle/golden/detect-scope-both.json | 2 | "stdout": "[\n {\n \"antipattern\": \"all-caps-body\",\n \"name\": \"All-caps body text\",\n \"description\" | CODE |
| HIGH | tests/oracle/golden/detect-fixture-json-glow-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"dark-glow\",\n \"name\": \"Glowing shadow accents\",\n \"description\" | CODE |
| HIGH | …golden/detect-fixture-json-hero-eyebrow-chip-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …en/detect-fixture-text-evidence-duplicate-id-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/evidence-duplicate-id.html\n [low-contrast] 1.7:1 (need 4.5:1) — text | CODE |
| HIGH | …le/golden/detect-fixture-json-vue-should-flag-vue.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …golden/detect-fixture-text-side-accent-nested-tsx.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/side-accent-nested.tsx\n line 25: [side-tab] border-left: 5px solid # | CODE |
| HIGH | …xture-json-ai-color-palette-category-colours-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"ai-color-palette\",\n \"name\": \"AI color palette\",\n \"description\ | CODE |
| HIGH | …lden/detect-fixture-text-overlay-positioning-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/overlay-positioning.html\n [side-tab] border-left: 4px\n → Thick c | CODE |
| HIGH | …en/detect-fixture-text-painted-gate-coverage-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/painted-gate-coverage.html\n [dark-glow] Zero-offset box-shadow glow | CODE |
| HIGH | …golden/detect-fixture-json-framework-next-cssinjs.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …/golden/detect-fixture-json-paint-that-shows-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | tests/oracle/golden/detect-design-blue-text.json | 3 | "stderr": "\n<WS>/src/Hero.jsx\n line 3: [ai-color-palette] text-purple-700 on heading\n → Purple/violet gradients | CODE |
| HIGH | …ct-fixture-text-fullpage-screenshot-scroller-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/fullpage-screenshot-scroller.html\n [low-contrast] 1.7:1 (need 4.5:1) | CODE |
| HIGH | …olden/detect-fixture-json-side-accent-nested-scss.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …golden/detect-fixture-text-hero-eyebrow-chip-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/hero-eyebrow-chip.html\n [low-contrast] 2.6:1 (need 4.5:1) — text #94 | CODE |
| HIGH | tests/oracle/golden/detect-config-from-subdir.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …golden/detect-fixture-json-side-accent-nested-tsx.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH⚡ | tests/oracle/golden/detect-dir-text-all-fixtures.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/ai-color-palette-brand-hue-headings-only.html\n [ai-color-palette] Pu | CODE |
| HIGH | …golden/detect-fixture-text-framework-next-cssinjs.json | 3 | "stderr": "\nNext.js project detected (next.config.js).\nStart the dev server and scan via URL for best results:\n np | CODE |
| HIGH | …golden/detect-fixture-text-framework-next-cssinjs.json | 3 | "stderr": "\nNext.js project detected (next.config.js).\nStart the dev server and scan via URL for best results:\n np | CODE |
| HIGH | …racle/golden/detect-fixture-text-not-at-rest-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/not-at-rest.html\n [buried-raster] <img> at opacity 0.05 \"Texture he | CODE |
| HIGH | tests/oracle/golden/detect-fixture-json-color-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"gray-on-color\",\n \"name\": \"Gray text on colored background\",\n \" | CODE |
| HIGH | …ext-ai-color-palette-brand-hue-headings-only-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/ai-color-palette-brand-hue-headings-only.html\n [ai-color-palette] Pu | CODE |
| HIGH | …en/detect-fixture-json-evidence-duplicate-id-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …olden/detect-fixture-json-cssinjs-should-flag-tsx.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …tect-fixture-json-ai-color-palette-brand-hue-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"ai-color-palette\",\n \"name\": \"AI color palette\",\n \"description\ | CODE |
| HIGH | …den/detect-fixture-json-dark-gradient-ground-html.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| HIGH | …e/golden/detect-fixture-text-side-accent-flat-vue.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/side-accent-flat.vue\n line 16: [side-tab] border-left: 4px solid #0f | CODE |
| HIGH⚡ | tests/oracle/golden/detect-dir-json-all-fixtures.json | 2 | "stdout": "[\n {\n \"antipattern\": \"ai-color-palette\",\n \"name\": \"AI color palette\",\n \"description\ | CODE |
| HIGH | …den/detect-fixture-json-svelte-should-flag-svelte.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …olden/detect-fixture-text-framework-next-tailwind.json | 3 | "stderr": "\nNext.js project detected (next.config.mjs).\nStart the dev server and scan via URL for best results:\n n | CODE |
| HIGH | …/detect-fixture-text-unread-surface-contrast-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/unread-surface-contrast.html\n [low-contrast] 3.9:1 (need 4.5:1) — te | CODE |
| HIGH | …den/detect-fixture-text-svelte-should-flag-svelte.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/svelte-should-flag.svelte\n line 6: [side-tab] border-r-4\n → Thic | CODE |
| HIGH | …olden/detect-fixture-json-side-accent-nested-sass.json | 2 | "stdout": "[\n {\n \"antipattern\": \"side-tab\",\n \"name\": \"Side-tab accent border\",\n \"description\": | CODE |
| HIGH | …tect-fixture-text-ai-color-palette-brand-hue-html.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/ai-color-palette-brand-hue.html\n [ai-color-palette] Purple/violet te | CODE |
| HIGH | tests/oracle/golden/detect-config-page-no-config.json | 2 | "stdout": "[\n {\n \"antipattern\": \"low-contrast\",\n \"name\": \"Low contrast text\",\n \"description\": | CODE |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/core/src/browser/driver.rs | 4457 | // The usual seamless loop draws the path once and tiles it with `use`. | COMMENT |
| MEDIUM | crates/comp/src/font_fingerprint.rs | 3 | //! Size-invariant, text-robust shape features for lettering in a raster. | COMMENT |
| MEDIUM | …/oracle/golden/context-monorepo-target-b-inherits.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …/oracle/golden/context-monorepo-target-b-inherits.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-dir-override-relative.json | 2 | "stdout": "# PRODUCT.md\n\n# Rel\n\n<!-- impeccable:product-schema 1 -->\n\n## Positioning\nRelative override.\n\n---\ | CODE |
| MEDIUM | tests/oracle/golden/context-monorepo-target-dot.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-monorepo-target-dot.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/seed-direction-local-operate.json | 2 | "stdout": "DIRECTION CONCEPT SEED (key: oracle-key-1; mode: operate; source: local; approved pool: 6c20a02b6dc4; 30/35 | CODE |
| MEDIUM | tests/oracle/golden/context-dir-override.json | 2 | "stdout": "# PRODUCT.md\n\n# Elsewhere\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Positioning | CODE |
| MEDIUM | tests/oracle/golden/context-launcher-hook-active.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-launcher-hook-active.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …sts/oracle/golden/context-monorepo-from-child-cwd.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …sts/oracle/golden/context-monorepo-from-child-cwd.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …racle/golden/question-start-surface-missing-comps.json | 4 | "stdout": "SURFACE CONCEPT SEED (key: oracle-key-1; mode: operate; source: degraded; rerun with --scope surface -- | CODE |
| MEDIUM | …sts/oracle/golden/context-monorepo-target-missing.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …sts/oracle/golden/context-monorepo-target-missing.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-legacy.json | 2 | "stdout": "# PRODUCT.md\n\n# Legacy Product\n\n## Register\n\nbrand\n\n## Users\nDesigners who ship.\n\n## Platform\n\ | CODE |
| MEDIUM | …acle/golden/context-hook-not-borrowed-from-caller.json | 2 | "stdout": "# PRODUCT.md\n\n# Dashboard\n\n---\n\nRESOLVED_CONTEXT:\n{\n \"targetPath\": \"<WS>/apps/dashboard/src/App | CODE |
| MEDIUM | tests/oracle/golden/seed-degraded-surface.json | 2 | "stdout": "SURFACE CONCEPT SEED (key: oracle-key-1; mode: operate; source: degraded; rerun with --scope surface --mode | CODE |
| MEDIUM | …ts/oracle/golden/seed-surface-local-default-scope.json | 2 | "stdout": "SURFACE CONCEPT SEED (key: oracle-key-1; mode: operate; source: local; approved pool: 6c20a02b6dc4; 30/35 h | CODE |
| MEDIUM | tests/oracle/golden/seed-surface-local.json | 2 | "stdout": "SURFACE CONCEPT SEED (key: oracle-key-1; mode: operate; source: local; approved pool: 6c20a02b6dc4; 30/35 h | CODE |
| MEDIUM | tests/oracle/golden/context-full-target-brief.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-full-target-brief.json | 13 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …acle/golden/context-hook-manifest-source-provider.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …acle/golden/context-hook-manifest-source-provider.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/doctor-fix-clean.json | 13 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …ts/oracle/golden/context-full-target-missing-file.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …ts/oracle/golden/context-full-target-missing-file.json | 13 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/live-boot-full-cycle.json | 4 | "stdout": "{\n \"ok\": true,\n \"serverPort\": <PORT>,\n \"serverToken\": \"<UUID>\",\n \"pageFiles\": [\n | CODE |
| MEDIUM | tests/oracle/golden/context-empty-platform-section.json | 2 | "stdout": "# PRODUCT.md\n\n# P\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\n## Positioning\nEmpty platfor | CODE |
| MEDIUM | …olden/context-hook-at-enclosing-git-root-disabled.json | 2 | "stdout": "# PRODUCT.md\n\n# Nested web product\n\n---\n\nRESOLVED_CONTEXT:\n{\n \"targetPath\": null,\n \"projectRo | CODE |
| MEDIUM | …/oracle/golden/context-build-path-invalid-ignored.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …/oracle/golden/context-build-path-invalid-ignored.json | 14 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …olden/context-hook-not-borrowed-across-nested-git.json | 2 | "stdout": "# PRODUCT.md\n\n# Standalone\n\n---\n\nRESOLVED_CONTEXT:\n{\n \"targetPath\": \"repos/standalone/src/App.j | CODE |
| MEDIUM | tests/oracle/golden/context-lowercase-product-name.json | 2 | "stdout": "# PRODUCT.md\n\n# lower\n\n<!-- impeccable:product-schema 1 -->\n\n## Positioning\nLowercase filename.\n\n- | CODE |
| MEDIUM | tests/oracle/golden/context-native-ios.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nios\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-native-ios.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nios\n\n## Position | CODE |
| MEDIUM | …oracle/golden/context-project-roots-match-nothing.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …acle/golden/context-monorepo-target-bare-name-abs.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …acle/golden/context-monorepo-target-bare-name-abs.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-monorepo-target-a.json | 2 | "stdout": "# PRODUCT.md\n\n# App A\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Positioning\nTh | CODE |
| MEDIUM | tests/oracle/golden/context-monorepo-target-a.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-full-from-subdir.json | 13 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-bad-platform.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nflutter\ | CODE |
| MEDIUM | tests/oracle/golden/context-bad-platform.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nflutter\n\n## Posi | CODE |
| MEDIUM | tests/oracle/golden/context-adaptive.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nios, and | CODE |
| MEDIUM | tests/oracle/golden/context-adaptive.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nios, android\n\n## | CODE |
| MEDIUM | …racle/golden/context-monorepo-target-bare-unknown.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | …racle/golden/context-monorepo-target-bare-unknown.json | 9 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-adaptive-word.json | 2 | "stdout": "# PRODUCT.md\n\n# P\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nadaptive\n\n## Positioning\nA | CODE |
| MEDIUM | tests/oracle/golden/question-schema.json | 2 | "stdout": "{\n \"title\": \"Choose the visual world\",\n \"question\": \"The roll assigned Fillmore Handbill. Keep i | CODE |
| MEDIUM | tests/oracle/golden/context-stale-hook-manifest.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-stale-hook-manifest.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | tests/oracle/golden/context-hook-disabled-env.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-hook-disabled-env.json | 7 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM | …acle/golden/question-update-surface-missing-comps.json | 4 | "stdout": "SURFACE CONCEPT SEED (key: oracle-key-1; mode: operate; source: degraded; rerun with --scope surface -- | CODE |
| MEDIUM | tests/oracle/golden/context-full-target-related.json | 2 | "stdout": "# PRODUCT.md\n\n# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n# | CODE |
| MEDIUM | tests/oracle/golden/context-full-target-related.json | 13 | "PRODUCT.md": "# Oracle Fixture Product\n\n<!-- impeccable:product-schema 1 -->\n\n## Platform\n\nweb\n\n## Position | CODE |
| MEDIUM⚡ | tests/oracle/golden/detect-dir-text-all-fixtures.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/ai-color-palette-brand-hue-headings-only.html\n [ai-color-palette] Pu | CODE |
| MEDIUM⚡ | tests/oracle/golden/detect-dir-text-all-fixtures.json | 3 | "stderr": "\n<REPO>/tests/fixtures/antipatterns/ai-color-palette-brand-hue-headings-only.html\n [ai-color-palette] Pu | CODE |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | browser-bundle/15-snapshot.js | 732 | if ((tag === 'INPUT' || tag === 'TEXTAREA') && el.getAttribute('placeholder')) { | CODE |
| LOW | crates/core/src/checks/text_context.rs | 364 | const SAMPLE_WORDS: &[&str] = &["sample", "example", "demo", "mock", "dummy", "placeholder"]; | CODE |
| LOW | crates/core/src/checks/text_context.rs | 1774 | assert!(!in_framed_demo(&slide.add("span").text("Jane Doe"))); | CODE |
| LOW | crates/core/src/checks/text_context.rs | 1851 | assert!(!in_framed_demo(&slide.add("span").text("Jane Doe"))); | CODE |
| LOW | crates/core/src/checks/rules.rs | 475 | | "disabled" | "checked" | "open" | "enabled" | "invalid" | "placeholder" | CODE |
| LOW | crates/core/src/browser/element_checks.rs | 1660 | let placeholder = dom.attr(el, "placeholder").unwrap_or_default(); | CODE |
| LOW | crates/core/src/browser/element_checks.rs | 4460 | d.set_attr(input, "placeholder", "Pale Placeholder On White Field"); | CODE |
| LOW | crates/core/src/browser/element_checks.rs | 4490 | d.set_attr(input, "placeholder", "Pale Placeholder On White Field"); | CODE |
| LOW | crates/core/src/browser/element_checks.rs | 5962 | d.set_attr(input, "placeholder", "Emailadresse"); | CODE |
| LOW | crates/core/src/browser/text_collectors.rs | 1009 | d.add_text(body, "placeholder"); | CODE |
| LOW | crates/foundation/src/browser/selector.rs | 231 | "placeholder", | CODE |
| LOW | crates/foundation/src/browser/snapshot.rs | 1302 | {"t":"INPUT","p":2,"c":[],"a":[["placeholder","Jane"]],"s":[0,1],"ph":2} | CODE |
| LOW | crates/html/tests/advisory_contexts.rs | 158 | "Jane Doe", | CODE |
| LOW | crates/html/src/adapters.rs | 1160 | let placeholder = el.get_attribute("placeholder").unwrap_or("").trim(); | CODE |
| LOW | crates/live/src/instructions.rs | 269 | let ph = event.get("placeholder"); | CODE |
| LOW | crates/live/src/svelte_ast.rs | 1333 | "placeholder".into(), | CODE |
| LOW | crates/live/src/event_validation.rs | 141 | let placeholder = match msg.get("placeholder") { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | extension/devtools/sidebar.js | 31 | chrome.devtools.panels.elements.onSelectionChanged.addListener(refreshForCurrentSelection); | CODE |