AI Slop Code RIsk Monitor

framework7io/framework7

Full featured HTML framework for building iOS & Android apps

4.6 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for framework7io/framework7, a JavaScript project with 18,763 GitHub stars. SynthScan examined 204,698 lines of code across 1462 source files, recording 842 pattern matches distributed across 5 syntactic categories. The legacy adjusted pattern signal is 4.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.

4.6
Adjusted Signal
4.6
Raw Pattern Score
100%
Time Factor
2026-10-06
Last Push
18.8K
Stars
JavaScript
Language
204.7K
Lines of Code
1.5K
Files
842
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 0.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 20.0/100 · LOW

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

Agent Over-Engineering Ratio 0.4/100 · LOW

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

PR Review Velocity Impact 18.7/100 · LOW

Which changes need focused human review? 842 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 0LOW 841

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 842 distinct pattern matches across 5 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 Data820 hits · 908 pts
SeverityFileLineSnippetContext
LOWkitchen-sink/svelte/src/routes.js156 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo saepe aspernatur inventore dolorum voluptatCODE
LOWkitchen-sink/svelte/src/routes.js156 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo saepe aspernatur inventore dolorum voluptatCODE
LOWkitchen-sink/svelte/src/routes.js180 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo saepe aspernatur inventore dolorum voluptatCODE
LOWkitchen-sink/svelte/src/routes.js180 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo saepe aspernatur inventore dolorum voluptatCODE
LOWkitchen-sink/svelte/src/routes.js520 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiae facilis laudantium voluCODE
LOWkitchen-sink/svelte/src/routes.js520 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiae facilis laudantium voluCODE
LOWkitchen-sink/svelte/src/routes.js544 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiae facilis laudantium voluCODE
LOWkitchen-sink/svelte/src/routes.js544 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiae facilis laudantium voluCODE
LOWkitchen-sink/svelte/src/pages/login-screen-page.svelte46 Some text about login information.<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOWkitchen-sink/svelte/src/pages/login-screen-page.svelte46 Some text about login information.<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOWkitchen-sink/svelte/src/pages/tooltip.svelte48 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lacinia augue urna, inCODE
LOWkitchen-sink/svelte/src/pages/tooltip.svelte48 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec lacinia augue urna, inCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte39 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse faucibus mauris leo, eu bibendCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte39 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse faucibus mauris leo, eu bibendCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte123 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae ducimus dolorum ipsaCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte123 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae ducimus dolorum ipsaCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte163 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae ducimus dolorum ipsaCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte163 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae ducimus dolorum ipsaCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte203 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae ducimus dolorum ipsaCODE
LOWkitchen-sink/svelte/src/pages/sheet-modal.svelte203 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae ducimus dolorum ipsaCODE
LOWkitchen-sink/svelte/src/pages/routable-popup.svelte15 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse faucibus mauris leo, euCODE
LOWkitchen-sink/svelte/src/pages/routable-popup.svelte15 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse faucibus mauris leo, euCODE
LOW…chen-sink/svelte/src/pages/master-detail-detail.svelte12 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque congue turpis et risusCODE
LOW…chen-sink/svelte/src/pages/master-detail-detail.svelte12 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque congue turpis et risusCODE
LOWkitchen-sink/svelte/src/pages/toast.svelte67 text: 'This toast contains a lot of text. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nihil, quae,CODE
LOWkitchen-sink/svelte/src/pages/toast.svelte67 text: 'This toast contains a lot of text. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nihil, quae,CODE
LOWkitchen-sink/svelte/src/pages/cards-expandable.svelte134 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam cursus rhoncus cursus.CODE
LOWkitchen-sink/svelte/src/pages/cards-expandable.svelte134 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam cursus rhoncus cursus.CODE
LOWkitchen-sink/svelte/src/pages/cards-expandable.svelte183 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam cursus rhoncus cursus.CODE
LOWkitchen-sink/svelte/src/pages/cards-expandable.svelte183 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam cursus rhoncus cursus.CODE
LOW⚡kitchen-sink/svelte/src/pages/accordion.svelte18 <ListItem accordionItem title="Lorem Ipsum">CODE
LOW⚡kitchen-sink/svelte/src/pages/accordion.svelte22 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOW⚡kitchen-sink/svelte/src/pages/accordion.svelte22 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOWkitchen-sink/svelte/src/pages/accordion.svelte44 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOWkitchen-sink/svelte/src/pages/accordion.svelte44 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOW⚡kitchen-sink/svelte/src/pages/accordion.svelte56 <ListItem accordionItem title="Lorem Ipsum">CODE
LOW⚡kitchen-sink/svelte/src/pages/accordion.svelte60 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOW⚡kitchen-sink/svelte/src/pages/accordion.svelte60 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOWkitchen-sink/svelte/src/pages/accordion.svelte82 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOWkitchen-sink/svelte/src/pages/accordion.svelte82 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean elementum id neque necCODE
LOWkitchen-sink/svelte/src/pages/tabs-swipeable.svelte19 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-swipeable.svelte19 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-swipeable.svelte59 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-swipeable.svelte59 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-swipeable.svelte99 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-swipeable.svelte99 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte209 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte209 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte228 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte228 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte247 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte247 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte266 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/swipeout.svelte266 text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut digCODE
LOWkitchen-sink/svelte/src/pages/tabs-animated.svelte19 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-animated.svelte19 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-animated.svelte59 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-animated.svelte59 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-animated.svelte99 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
LOWkitchen-sink/svelte/src/pages/tabs-animated.svelte99 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ullam enim quia molestiaeCODE
760 more matches not shown…
Hyper-Verbose Identifiers16 hits · 16 pts
SeverityFileLineSnippetContext
LOWkitchen-sink/svelte/src/pages/toast.svelte85 function showToastWithCustomButton() {CODE
LOWkitchen-sink/svelte/src/pages/notifications.svelte25 function showNotificationWithButton() {CODE
LOWkitchen-sink/svelte/src/pages/notifications.svelte40 function showNotificationCloseOnClick() {CODE
LOWkitchen-sink/svelte/src/pages/notifications.svelte56 function showNotificationCallbackOnClose() {CODE
LOWsrc/svelte/components/page.svelte216 function onPageNavbarLargeCollapsed(pageEl) {CODE
LOWsrc/svelte/components/page.svelte220 function onPageNavbarLargeExpanded(pageEl) {CODE
LOWsrc/svelte/components/pie-chart.svelte50 function getCoordinatesForPercentage(percentage) {CODE
LOWsrc/core/components/navbar/navbar.js329 function handleLargeNavbarCollapse(pageContentEl) {CODE
LOWsrc/core/components/panel/panel-class.js143 panel.visibleBreakpointResizeHandler = function visibleBreakpointResizeHandler() {CODE
LOWsrc/core/components/panel/panel-class.js219 panel.collapsedBreakpointResizeHandler = function collapsedBreakpointResizeHandler() {CODE
LOWsrc/core/components/pie-chart/pie-chart-class.js66 function getCoordinatesForPercentage(percentage) {CODE
LOW…ponents/color-picker/modules/initial-current-colors.js26 self.destroyInitialCurrentEvents = function destroyInitialCurrentEvents() {CODE
LOWsrc/vue/components/pie-chart.vue73 function getCoordinatesForPercentage(percentage) {CODE
LOWsrc/material-color-utilities/utils/image_utils.js69export function sourceColorFromImageBytes(imageBytes) {CODE
LOWsrc/react/shared/use-isomorphic-layout-effect.js3function useIsomorphicLayoutEffect(callback, deps) {CODE
LOWsrc/react/components/pie-chart.jsx53 function getCoordinatesForPercentage(percentage) {CODE
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/icon-font/generate_font.py98subprocess.call('ttfautohint -s -f -n ' + fontfile + '.ttf ' + fontfile + '-hinted.ttf > /dev/null 2>&1 && mv ' + fontfiCODE
Over-Commented Block3 hits · 3 pts
SeverityFileLineSnippetContext
LOWsrc/core/modules/component/snabbdom/hooks.js1//# sourceMappingURL=hooks.js.mapCOMMENT
LOWsrc/core/modules/component/snabbdom/modules/module.js1//# sourceMappingURL=module.js.mapCOMMENT
LOWsrc/core/modules/component/snabbdom/modules/hero.js141//# sourceMappingURL=hero.js.mapCOMMENT
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/icon-font/generate_font.py5CODE
LOWscripts/icon-font/generate_font.py6CODE