AI Slop Code Risk Monitor

huntabyte/bits-ui

SlopCodeMonitor badge for huntabyte/bits-ui Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

The headless components for Svelte.

1.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for huntabyte/bits-ui, a TypeScript project with 3,642 GitHub stars. SynthScan examined 147,417 lines of code across 1403 source files, recording 115 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.9 (Low 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.

1.9
Adjusted Signal
1.9
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
3.6K
Stars
TypeScript
Language
147.4K
Lines of Code
1.4K
Files
115
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 3.8/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 87 finding(s).

Hallucinated Dependency & Supply Chain Risk 5.4/100 · LOW

Are imports declared and package/API names verified? 28 finding(s).

Agent Over-Engineering Ratio 1.6/100 · LOW

Are wrappers, guards, and repeated structures necessary? 46 finding(s).

PR Review Velocity Impact 8.8/100 · LOW

Which changes need focused human review? 115 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 15HIGH 1MEDIUM 8LOW 91

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 115 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.

Hallucination Indicators15 hits · 150 pts
SeverityFileLineSnippetContext
CRITICAL…kages/bits-ui/src/lib/bits/calendar/calendar.svelte.ts1045 const date = this.root.opts.placeholder.current.set({ month });CODE
CRITICAL…kages/bits-ui/src/lib/bits/calendar/calendar.svelte.ts1086 this.root.opts.placeholder.current = this.root.opts.placeholder.current.set({ month });CODE
CRITICAL…kages/bits-ui/src/lib/bits/calendar/calendar.svelte.ts1143 const date = this.root.opts.placeholder.current.set({ year });CODE
CRITICAL…kages/bits-ui/src/lib/bits/calendar/calendar.svelte.ts1182 this.root.opts.placeholder.current = this.root.opts.placeholder.current.set({ year });CODE
CRITICAL…src/lib/bits/navigation-menu/navigation-menu.svelte.ts651 this.context.item.listContext.rovingFocusGroup.handleKeydown(this.opts.ref.current, e);CODE
CRITICAL…kages/bits-ui/src/lib/bits/checkbox/checkbox.svelte.ts276 this.root.group.opts.value.current.includes(this.root.opts.value.current)CODE
CRITICAL…kages/bits-ui/src/lib/bits/checkbox/checkbox.svelte.ts291 this.root.opts.ref.current.focus();CODE
CRITICAL…ts-ui/src/lib/bits/rating-group/rating-group.svelte.ts354 this.root.opts.ref.current.focus();CODE
CRITICAL…ts-ui/src/lib/bits/rating-group/rating-group.svelte.ts364 this.root.opts.ref.current.focus();CODE
CRITICALpackages/bits-ui/src/lib/bits/menu/menu.svelte.ts1316 this.item.content.parentMenu.root.opts.onClose();CODE
CRITICALpackages/bits-ui/src/lib/bits/command/command.svelte.ts1231 return this.root._commandState.filtered.groups.has(this.trueValue);CODE
CRITICALpackages/bits-ui/src/lib/bits/command/command.svelte.ts1435 const currentScore = this.root.commandState.filtered.items.get(this.trueValue);CODE
CRITICALpackages/bits-ui/src/lib/bits/command/command.svelte.ts1468 this.trueValue = this.opts.ref.current.textContent.trim();CODE
CRITICALpackages/bits-ui/src/lib/bits/select/select.svelte.ts509 ? this.root.opts.value.current.map((value) => ({CODE
CRITICALpackages/bits-ui/src/lib/bits/select/select.svelte.ts842 const matchedItem = this.root.opts.items.current.find(CODE
Hyper-Verbose Identifiers46 hits · 46 pts
SeverityFileLineSnippetContext
LOWtests/src/tests/browser-utils.ts20export function getPointerLeaveTowardSubmenuClientCoords(CODE
LOWtests/src/tests/browser-utils.ts39export function getPointerMidpointTowardSubmenuClientCoords(CODE
LOWtests/src/tests/browser-utils.ts58export function getPointerAwayFromSubmenuIntentClientCoords(CODE
LOWtests/src/tests/browser-utils.ts110export async function focusAndExpectToHaveFocus(loc: Locator) {CODE
LOWtests/src/tests/browser-utils.ts188export function bodyPointerEventsOnRemoval(node: Element): Promise<string> {CODE
LOW…s/dismissible-layer/registration-lifecycle-test.svelte12 function rerenderDuringOutsidePointerdown() {CODE
LOWtests/src/tests/accordion/accordion.browser.test.ts755 function setupMultipleHiddenUntilFound(CODE
LOW…xt-selection-layer/prevented-pointerup.browser.test.ts18async function pressWithPreventedPointerup() {CODE
LOWtests/src/tests/dialog/dialog.browser.test.ts862 function installDerivedInertCounter() {CODE
LOWtests/src/tests/select/select.browser.test.ts151function setupValueChildrenMultiple(CODE
LOWtests/src/tests/select/select.browser.test.ts1570async function expectTriggerControlsListbox(CODE
LOWdocs/mdsx.config.js105function remarkRemovePrettierIgnore() {CODE
LOWdocs/mdsx.config.js202function transformComponentSourceContent(src = "") {CODE
LOWdocs/mdsx.config.js206function getComponentSourceFileContent(src = "") {CODE
LOWdocs/other/build-llms-txt.ts79function remarkDecodeTableEntities() {CODE
LOWdocs/src/lib/content/utils.ts115export function defineComponentPropSchema(_opts: DefineComponentPropOpts) {CODE
LOWdocs/src/lib/content/utils.ts307export function stringDefinitionFromMarkdown(raw: string): string {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts305export function createCalendarGridBodySchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts329export function createCalendarGridHeadSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts353export function createCalendarGridRowSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts377export function createCalendarHeadCellSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts401export function createCalendarHeaderSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts425export function createCalendarHeadingSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts449export function createCalendarNextButtonSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts470export function createCalendarPrevButtonSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts491export function createCalendarMonthSelectSchema(isRange: boolean) {CODE
LOWdocs/src/lib/content/api-reference/calendar.api.ts542export function createCalendarYearSelectSchema(isRange: boolean) {CODE
LOWpackages/bits-ui/src/lib/internal/focus.ts10export function handleCalendarInitialFocus(calendar: HTMLElement) {CODE
LOW…es/bits-ui/src/lib/internal/body-scroll-lock.svelte.ts118 function scheduleCleanupIfNoNewLocks(delay: number | null, callback: () => void) {CODE
LOW…es/bits-ui/src/lib/internal/body-scroll-lock.svelte.ts154 function ensureInitialStyleCaptured() {CODE
LOW…/src/lib/internal/date-time/calendar-helpers.svelte.ts213export function setPlaceholderToNodeValue(node: HTMLElement, placeholder: WritableBox<DateValue>) {CODE
LOW…/src/lib/internal/date-time/calendar-helpers.svelte.ts650export function useMonthViewPlaceholderSync({CODE
LOW…/src/lib/internal/date-time/calendar-helpers.svelte.ts817export function getFirstNonDisabledDateInView(calendarRef: HTMLElement): DateValue | undefined {CODE
LOW…/src/lib/internal/date-time/calendar-helpers.svelte.ts852export function useEnsureNonDisabledPlaceholder({CODE
LOW…ts-ui/src/lib/internal/date-time/field/time-helpers.ts218export function isEditableTimeSegmentPart(part: unknown): part is EditableTimeSegmentPart {CODE
LOW…ts-ui/src/lib/internal/date-time/field/time-helpers.ts341export function removeTimeDescriptionElement(id: string, doc: Document) {CODE
LOW…ts-ui/src/lib/internal/date-time/field/time-helpers.ts348export function convertTimeValueToDateValue(time: TimeValue): CalendarDateTime | ZonedDateTime {CODE
LOW…s/bits-ui/src/lib/internal/date-time/field/segments.ts26export function handleTimeSegmentNavigation(e: KeyboardEvent, fieldNode: HTMLElement | null) {CODE
LOW…/lib/internal/floating-svelte/floating-utils.svelte.ts20export function getFloatingContentCSSVars(name: string) {CODE
LOW…ties/dismissible-layer/use-dismissable-layer.svelte.ts283export function getTopMostDismissableLayer(CODE
LOW…ext-selection-layer/use-text-selection-layer.svelte.ts124function preventTextSelectionOverflow(node: HTMLElement, body: HTMLElement) {CODE
LOW…/utilities/floating-layer/use-floating-layer.svelte.ts366function getSideAndAlignFromPlacement(placement: Placement) {CODE
LOW…bits-ui/src/lib/bits/scroll-area/scroll-area.svelte.ts996function getScrollPositionFromPointer({CODE
LOW…bits-ui/src/lib/bits/scroll-area/scroll-area.svelte.ts1048function isScrollingWithinScrollbarBounds(scrollPos: number, maxScrollPos: number) {CODE
LOW…bits-ui/src/lib/bits/scroll-area/scroll-area.svelte.ts1052function addUnlinkedScrollListener(node: HTMLElement, handler: () => void) {CODE
LOWpackages/bits-ui/src/lib/bits/command/utils.ts19export function findFirstStartMarkerWithImmediateSiblingAsEnd(el: Element, type: "item" | "group") {CODE
Over-Commented Block26 hits · 26 pts
SeverityFileLineSnippetContext
LOWtests/other/setup-browser-test.ts1/// <reference types="@vitest/browser/matchers" />COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts1import { describe, it, expect } from "vitest";COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts21// expect(getDataChecked(false)).toBe("unchecked");COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts41COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts61COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts81COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts101// expect(getDisabled(true)).toBe(true);COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts121// it("returns 'true' when condition is true", () => {COMMENT
LOWpackages/bits-ui/src/lib/internal/attrs.test.ts141// it("returns 'false' when checked is false and indeterminate is false", () => {COMMENT
LOW…ext-selection-layer/use-text-selection-layer.svelte.ts81 // meant `composeHandlers` bailed out of the whole chain on a `pointerup` thatCOMMENT
LOWpackages/bits-ui/src/lib/bits/menu/menu.svelte.ts261COMMENT
LOW…/bits-ui/src/lib/bits/command/compute-command-score.ts1// oxlint-disable ban-ts-commentCOMMENT
LOW…/bits-ui/src/lib/bits/command/compute-command-score.ts21const SCORE_TRANSPOSITION = 0.1;COMMENT
LOW.github/workflows/update-bundle-baseline.yml1# name: Update Bundle BaselineCOMMENT
LOW.github/workflows/update-bundle-baseline.yml21# contents: writeCOMMENT
LOW.github/workflows/update-bundle-baseline.yml41COMMENT
LOW.github/workflows/update-bundle-baseline.yml61# elseCOMMENT
LOW.github/workflows/update-bundle-baseline.yml81# echo "changed=true" >> $GITHUB_OUTPUTCOMMENT
LOW.github/workflows/update-bundle-baseline.yml101# echo "" >> bundle-summary.mdCOMMENT
LOW.github/workflows/update-bundle-baseline.yml121COMMENT
LOW.github/workflows/bundle-analysis.yml1# name: Bundle AnalysisCOMMENT
LOW.github/workflows/bundle-analysis.yml21# pull-requests: writeCOMMENT
LOW.github/workflows/bundle-analysis.yml41COMMENT
LOW.github/workflows/bundle-analysis.yml61# fiCOMMENT
LOW.github/workflows/bundle-analysis.yml81# git checkout ${{ github.head_ref }}COMMENT
LOW.github/workflows/bundle-analysis.yml101# with:COMMENT
AI Slop Vocabulary7 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
LOW⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
Fake / Example Data13 hits · 13 pts
SeverityFileLineSnippetContext
LOW…sts/accordion/accordion-hidden-until-found-test.svelte38 search functionality. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…sts/accordion/accordion-hidden-until-found-test.svelte38 search functionality. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…cordion/accordion-multi-hidden-until-found-test.svelte38 search functionality. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…cordion/accordion-multi-hidden-until-found-test.svelte38 search functionality. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOWtests/src/tests/scroll-area/scroll-area-test.svelte49 Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dignissimos impedit rem,CODE
LOWtests/src/tests/scroll-area/scroll-area-test.svelte51 eveniet incidunt! Deserunt minus laborum accusamus iusto dolorum. Lorem ipsum dolorCODE
LOW…collapsible/collapsible-hidden-until-found-test.svelte20 functionality. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…collapsible/collapsible-hidden-until-found-test.svelte20 functionality. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOWdocs/src/lib/content/api-reference/select.api.ts276 name: "placeholder",CODE
LOWdocs/src/lib/content/api-reference/select.api.ts319 name: "placeholder",CODE
LOW…rc/lib/components/demos/scroll-area-demo-custom.svelte56 Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dignissimos impeditCODE
LOWdocs/src/lib/components/demos/scroll-area-demo.svelte13 Lorem ipsum dolor sit, amet consectetur adipisicing elit. Dignissimos impedit rem,CODE
LOWdocs/src/lib/components/demos/scroll-area-demo.svelte15 incidunt! Deserunt minus laborum accusamus iusto dolorum. Lorem ipsum dolor sit, ametCODE
Slop Phrases3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
MEDIUM⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
LOW…tilities/is-using-keyboard/is-using-keyboard.svelte.ts52 // Don't forget to spread and call twice.COMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH⚡docs/src/routes/api/search.json/search.json1[{"title":"Accordion","content":" import { APISection, ComponentPreview, AccordionDemo, AccordionDemoTransitions, AccorCODE
Redundant / Tautological Comments3 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡.github/workflows/update-bundle-baseline.yml48# # Check if latest.json was generatedCOMMENT
LOW⚡.github/workflows/update-bundle-baseline.yml55# # Check if latest.json exists in git (committed)COMMENT
LOW⚡.github/workflows/update-bundle-baseline.yml62# # Check if only timestamp changedCOMMENT
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackages/bits-ui/src/lib/bits/select/select.svelte.ts1244 // onPlaced is also called when the menu is closed, so we need to check if the menuCOMMENT