AI Slop Code Risk Monitor

elastic/eui

SlopCodeMonitor badge for elastic/eui Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Elastic UI Framework 🙌

0.6 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for elastic/eui, a TypeScript project with 6,378 GitHub stars. SynthScan examined 405,188 lines of code across 3483 source files, recording 206 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 0.6 (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.

0.6
Adjusted Signal
0.6
Raw Pattern Score
100%
Time Factor
2026-11-01
Last Push
6.4K
Stars
TypeScript
Language
405.2K
Lines of Code
3.5K
Files
206
Pattern Hits
2026-10-31
Scan Date
0.00
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 0.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 2.0/100 · LOW

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

Agent Over-Engineering Ratio 0.6/100 · LOW

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

PR Review Velocity Impact 2.7/100 · LOW

Which changes need focused human review? 206 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 0HIGH 1MEDIUM 4LOW 201

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 206 distinct pattern matches across 7 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.

Fake / Example Data137 hits · 162 pts
SeverityFileLineSnippetContext
LOW…ntributing-to-eui/documenting/writing-documentation.md340 <Guideline type="do" text="Lorem ipsum dolor sit amet consectetur adipiscing elit.">CODE
LOW…ntributing-to-eui/documenting/writing-documentation.md340 <Guideline type="do" text="Lorem ipsum dolor sit amet consectetur adipiscing elit.">CODE
LOW…omponents/datagrid/body/data_grid_body_custom.spec.tsx198 ? 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'CODE
LOW…omponents/datagrid/body/data_grid_body_custom.spec.tsx198 ? 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'CODE
LOW…nts/datagrid/body/cell/data_grid_cell_popover.spec.tsx223 return 'Very long text that should get cut off because it is so long, lorem ipsum dolor sit amet words wordsCODE
LOW…nts/datagrid/body/cell/data_grid_cell_popover.spec.tsx223 return 'Very long text that should get cut off because it is so long, lorem ipsum dolor sit amet words wordsCODE
LOW…kages/eui/src/components/call_out/call_out.stories.tsx30 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aCODE
LOW…kages/eui/src/components/call_out/call_out.stories.tsx30 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aCODE
LOW…i/src/components/comment_list/comment_list.stories.tsx47 timelineAvatarAriaLabel: 'Jane Doe',CODE
LOW…nents/page/page_header/page_header_content.stories.tsx165 'Lorem ipsum odor amet, consectetuer adipiscing elit. Montes justo potenti per himenaeos non nascetur nulla tacitiCODE
LOW…/components/form/super_select/super_select_control.tsx35 Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'placeholder'> {CODE
LOW…/form/form_control_button/form_control_button.test.tsx36 describe('placeholder', () => {CODE
LOW…nents/form/form_control_button/form_control_button.tsx32 placeholder?: EuiFieldTextProps['placeholder'];CODE
LOWpackages/eui/src/components/context/context.stories.tsx34 const name = useEuiI18n('euiContext.stories.name', 'John Doe');CODE
LOW…i/src/components/inline_edit/inline_edit_form.test.tsx79 test('placeholder', () => {CODE
LOW…i/src/components/inline_edit/inline_edit_form.test.tsx228 test('placeholder', () => {CODE
LOW…i/src/components/inline_edit/inline_edit_form.test.tsx240 getByTestSubject('euiInlineEditModeInput').getAttribute('placeholder')CODE
LOW…i/src/components/inline_edit/inline_edit_form.test.tsx520 getByTestSubject('euiInlineEditModeInput').getAttribute('placeholder')CODE
LOW…ui/src/components/search_bar/query/execute_ast.test.ts250 AST.create([AST.Field.must.eq('name', 'John Doe')]),CODE
LOW…eui/src/components/basic_table/basic_table.stories.tsx309 <p>lorem ipsum dolor sit</p>CODE
LOW…eui/src/components/basic_table/basic_table.stories.tsx491 <p>lorem ipsum dolor sit</p>CODE
LOWpackages/eui/src/components/title/title.stories.tsx39 children: <h2>Lorem ipsum dolor sit</h2>,CODE
LOWpackages/eui/src/components/toast/toast.stories.tsx27 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aCODE
LOWpackages/eui/src/components/toast/toast.stories.tsx27 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aCODE
LOW…rc/components/toast/global_toast_list_item.stories.tsx33 children: <EuiToast title="It's a Toast!">Lorem ipsum</EuiToast>,CODE
LOWpackages/eui/src/components/code/code_block.stories.tsx116 Lorem ipsumCODE
LOW…/eui/src/components/color_picker/color_picker.test.tsx154 test('placeholder', () => {CODE
LOW…ges/eui/src/components/text_diff/text_diff.stories.tsx52 afterText: 'Lorem ipsum dolor sit.',CODE
LOW…/eui/src/components/delay_render/delay_render.a11y.tsx30 id="dummy-id"CODE
LOW⚡…izable_container/resizable_collapse_button.stories.tsx68 <span>Lorem ipsum dolor sit amet</span>CODE
LOW⚡…izable_container/resizable_collapse_button.stories.tsx68 <span>Lorem ipsum dolor sit amet</span>CODE
LOW⚡…izable_container/resizable_collapse_button.stories.tsx75 Lorem ipsum dolor sit ametCODE
LOW⚡…izable_container/resizable_collapse_button.stories.tsx75 Lorem ipsum dolor sit ametCODE
LOW…izable_container/resizable_collapse_button.stories.tsx86 <span>Lorem ipsum dolor sit amet</span>CODE
LOW…izable_container/resizable_collapse_button.stories.tsx86 <span>Lorem ipsum dolor sit amet</span>CODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx363 Lorem ipsum. Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx363 Lorem ipsum. Lorem ipsum dolor sit amet, consectetur adipiscingCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx371 <mark>Lorem ipsum.</mark> Lorem ipsum dolor sit amet, consecteturCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx371 <mark>Lorem ipsum.</mark> Lorem ipsum dolor sit amet, consecteturCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx378 <mark>Lorem ipsum.</mark> Lorem ipsum dolor sit amet, consecteturCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx378 <mark>Lorem ipsum.</mark> Lorem ipsum dolor sit amet, consecteturCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx385 <small>Lorem ipsum.</small> Lorem ipsum dolor sit amet, consecteturCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx385 <small>Lorem ipsum.</small> Lorem ipsum dolor sit amet, consecteturCODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx392 Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW⚡…ponents/list_item_layout/_list_item_layout.stories.tsx392 Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…ages/eui/src/components/selectable/selectable.spec.tsx297 label: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',CODE
LOW…ages/eui/src/components/selectable/selectable.spec.tsx297 label: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',CODE
LOW…ages/eui/src/components/selectable/selectable.spec.tsx319 'Lorem ipsum d…ipiscing elit.'CODE
LOW…ages/eui/src/components/selectable/selectable.spec.tsx337 .should('have.text', 'Lorem ipsum …piscing elit.');CODE
LOW…ages/eui/src/components/selectable/selectable.spec.tsx353 'Lorem ipsum…scing elit.'CODE
LOW⚡…ages/eui/src/components/selectable/selectable.spec.tsx412 '…psum dolor sit amet, con…'CODE
LOW⚡…ages/eui/src/components/selectable/selectable.spec.tsx422 'Lorem ipsum dolor sit amet…'CODE
LOW⚡…ages/eui/src/components/selectable/selectable.spec.tsx422 'Lorem ipsum dolor sit amet…'CODE
LOW⚡…ages/eui/src/components/selectable/selectable.spec.tsx439 cy.realType('Lorem ipsum dolor sit amet, consectetur');CODE
LOW⚡…ages/eui/src/components/selectable/selectable.spec.tsx439 cy.realType('Lorem ipsum dolor sit amet, consectetur');CODE
LOW⚡…ages/eui/src/components/selectable/selectable.spec.tsx440 cy.get('.euiMark').should('have.text', '…psum dolor sit amet, con…');CODE
LOW…mponents/text_truncate/text_block_truncate.stories.tsx43 "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's stCODE
LOWpackages/eui/src/components/text_truncate/utils.test.ts13 fullText: 'Lorem ipsum dolor sit amet',CODE
LOWpackages/eui/src/components/text_truncate/utils.test.ts13 fullText: 'Lorem ipsum dolor sit amet',CODE
LOWpackages/eui/src/components/text_truncate/utils.test.ts56 expect(utils.getTextFromRatio('Lorem ipsum', 'start')).toEqual('psum');CODE
77 more matches not shown…
Hyper-Verbose Identifiers47 hits · 47 pts
SeverityFileLineSnippetContext
LOWpackages/docusaurus-theme/src/theme/theme.d.ts97 export default function DocRootLayoutSidebarExpandButton(CODE
LOWpackages/docusaurus-theme/src/theme/theme.d.ts420 export default function DocsVersionDropdownNavbarItem(CODE
LOWpackages/docusaurus-theme/src/theme/theme.d.ts550 export default function TOCCollapsibleCollapseButton(CODE
LOW…-theme/src/theme/Navbar/MobileSidebar/Header/index.tsx72export default function NavbarMobileSidebarHeader({CODE
LOW…urus-theme/src/theme/DocSidebarItem/Category/index.tsx60function useAutoExpandActiveCategory({CODE
LOW…urus-theme/src/theme/DocSidebarItem/Category/index.tsx86function useCategoryHrefWithSSRFallback(CODE
LOW…heme/src/theme/TOCCollapsible/CollapseButton/index.tsx31export default function TOCCollapsibleCollapseButton({CODE
LOW…heme/src/theme/NavbarItem/DropdownNavbarItem/index.tsx60function DropdownNavbarItemDesktop({CODE
LOWpackages/eui/cypress/support/a11y/checkAxe.ts52function logViolationsToConsoleOnly(violations: Result[]) {CODE
LOWpackages/eui/scripts/release.js239async function getVersionTypeFromChangelog(changelogMap) {CODE
LOWpackages/eui/scripts/compile-eui.js43async function copyFilesToDestinationDirs(files, destinationDirs) {CODE
LOWpackages/eui/scripts/babel/react-docgen-typescript.js209function getChildrenTypeFromPropTypes(CODE
LOW…ges/eui/scripts/babel/proptypes-from-ts-props/index.js127function resolveArrayTypeToPropTypes(node, state) {CODE
LOW…ges/eui/scripts/babel/proptypes-from-ts-props/index.js164function resolveIdentifierToPropTypes(node, state) {CODE
LOW…ges/eui/scripts/babel/proptypes-from-ts-props/index.js381function buildPropTypePrimitiveExpression(types, typeName) {CODE
LOW…ges/eui/scripts/babel/proptypes-from-ts-props/index.js1296function processComponentDeclaration(typeDefinition, path, state) {CODE
LOWpackages/eui/scripts/eslint-plugin/i18n.js48function getRenderPropFromChildren(children) {CODE
LOWpackages/eui/scripts/eslint-plugin/i18n.js69function getExpectedParamNameFromToken(tokenValue) {CODE
LOWpackages/eui/src/test/cypress/matchers.ts11export function registerEuiCypressMatchers() {CODE
LOWpackages/eui/src/global_styling/functions/typography.ts68export function euiLineHeightFromBaseline(CODE
LOWpackages/eui/src/components/datagrid/data_grid.test.tsx131function openColumnSorterSelection(datagrid: ReactWrapper) {CODE
LOWpackages/eui/src/components/datagrid/data_grid.test.tsx152function closeColumnSorterSelection(datagrid: ReactWrapper) {CODE
LOWpackages/eui/src/components/page/_restrict_width.ts41export function setPropsForRestrictedPageWidth(CODE
LOWpackages/eui/src/components/page/_restrict_width.ts66export function setStyleForRestrictedPageWidth(CODE
LOW…s/date_picker/react-datepicker/test/datepicker_test.js757 function getOnInputKeyDownDisabledKeyboardNavigationStuff() {CODE
LOW…ponents/date_picker/react-datepicker/src/date_utils.js363export function getFormattedWeekdayInLocale(locale, date, formatFunc) {CODE
LOW…src/components/resizable_container/resizable_panel.tsx405export function euiResizablePanelWithControls(CODE
LOW…ges/eui/src/components/resizable_container/context.tsx24export function EuiResizableContainerContextProvider({CODE
LOW…components/collapsible_nav/collapsible_nav.stories.tsx197 function alterLinksWithCurrentState(CODE
LOWpackages/eui/src/components/popover/popover.tsx232export function getPopoverPositionFromAnchorPosition(CODE
LOWpackages/eui/src/components/popover/popover.tsx246export function getPopoverAlignFromAnchorPosition(CODE
LOW…ui/src/components/button/button_group/button_group.tsx37function flattenButtonGroupChildren(children: ReactNode): ReactElement[] {CODE
LOW…ents/button/button_group/use_button_group_selection.ts28export function useEuiButtonGroupSelection({CODE
LOWpackages/eui/src/components/delay_hide/delay_hide.tsx17function isComponentBecomingVisible(CODE
LOW…eui/src/components/markdown_editor/markdown_actions.ts366function newlinesToSurroundSelectedText(CODE
LOW…ts/markdown_editor/plugins/markdown_link_validator.tsx155function resolveDocumentRelativeUrl(CODE
LOW…n_editor/plugins/remark/remark_intraword_underscore.ts187const attacher: Plugin = function remarkIntrawordUnderscore() {CODE
LOW…ckages/eui/src/components/flyout/manager/validation.ts39export function validateManagedFlyoutSize(CODE
LOW…ckages/eui/src/components/flyout/manager/validation.ts96export function createValidationErrorMessage(CODE
LOW…ckages/eui/src/services/popover/popover_positioning.ts323export function getPopoverScreenCoordinates({CODE
LOWpackages/eui/src/services/format/format_date.ts71function instanceOfFormatDateConfig(x: any): x is Partial<FormatDateConfig> {CODE
LOW…theme-common/src/global_styling/functions/_colors.scss136@function makeDisabledContrastColor($color, $background: $euiPageBackgroundColor) {CODE
LOW…lint-plugin/src/rules/a11y/tooltip_button_icon_wrap.ts63function isInsideEuiCopyWithBeforeMessage(node: TSESTree.JSXElement): boolean {CODE
LOW…lugin/src/rules/a11y/tooltip_no_interactive_content.ts20function getSyntheticInteractiveElementName(CODE
LOW…lugin/src/rules/a11y/tooltip_no_interactive_content.ts35function shouldSkipTooltipContentElement(element: TSESTree.JSXElement): boolean {CODE
LOW…plugin/src/rules/a11y/no_nested_interactive_element.ts184function getSyntheticInteractiveElementName(CODE
LOW…plugin/src/rules/a11y/no_nested_interactive_element.ts207function shouldSkipNestedScanElement(element: TSESTree.JSXElement): boolean {CODE
Over-Commented Block15 hits · 15 pts
SeverityFileLineSnippetContext
LOWcatalog-info.yaml1# This file is meant to be edited by EUI core contributors and ElasticCOMMENT
LOWscripts/release_publish.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/check_changelogs.sh1#!/bin/bashCOMMENT
LOWscripts/release_prep.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/eui/cypress/support/component.tsx1// ***********************************************************COMMENT
LOWpackages/eui/.storybook/addons/code-snippet/README.md161 // This is useful when the story arg would render unreadable or not useful output.COMMENT
LOWpackages/eui/scripts/dtsgenerator.js121 .replace(COMMENT
LOW…_picker/react-datepicker/src/year_dropdown_options.jsx141 // which caused problems when `minDate` or `maxDate` were configured: https://github.com/elastic/eui/issues/5058COMMENT
LOW…components/date_picker/react-datepicker/src/index.d.ts1/*COMMENT
LOW…ents/outside_click_detector/outside_click_detector.tsx41 // the id is used to identify which EuiOutsideClickDetectorCOMMENT
LOW…rovider/component_defaults/component_defaults.test.tsx141 // NOTE: Components are in charge of their own testing to ensure that the propsCOMMENT
LOW…ages/eui/src/components/resizable_container/helpers.ts401 // Rather than choose another single panel to sacrifice space,COMMENT
LOW…kflows/update_kibana_dependencies__prepare_changes.yml1################################################################################COMMENT
LOW.buildkite/scripts/deploy_docs/step_vrt.sh1#!/bin/bashCOMMENT
LOW.buildkite/scripts/deploy_docs/step_vrt_update.sh1#!/bin/bashCOMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMcatalog-info.yaml1# This file is meant to be edited by EUI core contributors and ElasticCOMMENT
MEDIUMscripts/release_lib.sh96# Create a temp file. BSD/macOS mktemp requires a template with `XXXXXX`.COMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…src/components/flyout/manager/flyout_managed.styles.ts62 // Apply a higher z-index to opening main flyouts for seamlessCOMMENT
MEDIUM…heme-common/src/global_styling/mixins/_typography.scss36// Essentially, fonts across eui should scale against the root html element, notCOMMENT
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…ges/eui/src/components/search_bar/query/date_format.ts354 print(date: EuiMoment | MomentInput, defaultGranularity = undefined) {CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/check_changelogs.sh27# Check if a label exists in the listCOMMENT
LOW.buildkite/scripts/release/step_commit_and_publish.sh30# Check if version isn't already published if RELEASE_VERSION is setCOMMENT