AI Slop Code Risk Monitor

refined-github/refined-github

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

:octocat: Browser extension that simplifies the GitHub interface and adds useful features

1.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for refined-github/refined-github, a TypeScript project with 32,413 GitHub stars. SynthScan examined 45,409 lines of code across 526 source files, recording 65 pattern matches distributed across 3 syntactic categories. The legacy adjusted pattern signal is 1.8 (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.8
Adjusted Signal
1.8
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
32.4K
Stars
TypeScript
Language
45.4K
Lines of Code
526
Files
65
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 4.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 4.6/100 · LOW

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

Agent Over-Engineering Ratio 4.3/100 · LOW

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

PR Review Velocity Impact 7.8/100 · LOW

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

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

Hyper-Verbose Identifiers40 hits · 40 pts
SeverityFileLineSnippetContext
LOWsource/options.tsx42function informComponentOfExternalUpdate(field: HTMLInputElement | HTMLTextAreaElement): void {CODE
LOWsource/options/reload-without.ts25export default function addReloadWithoutContentScripts(): void {CODE
LOWsource/options/identify-feature.ts16export default function addIdentifyFeatureContextMenu(): void {CODE
LOWsource/features/one-click-review-submission.tsx106function blockDuplicateSubmissions(event: DelegateEvent): void {CODE
LOWsource/features/suggest-commit-title-limit.tsx22function validateCommitTitleDelegate({delegateTarget}: DelegateEvent<Event, HTMLInputElement>): void {CODE
LOWsource/features/conversation-activity-filter.tsx58function processDismissedReviewEvent(item: HTMLElement): void {CODE
LOWsource/features/conversation-activity-filter.tsx119function uncollapseTargetedComment(): void {CODE
LOWsource/features/toggle-everything-with-alt.tsx11function minimizedCommentsSelector(clickedItem: HTMLElement): string {CODE
LOWsource/features/toggle-everything-with-alt.tsx22function resolveConversationsSelector(clickedItem: HTMLElement): string {CODE
LOWsource/features/warn-pr-from-master.tsx28async function isCrossRepoCompareFromMain(): Promise<boolean> {CODE
LOWsource/features/open-all-notifications.tsx68async function openSelectedNotifications(): Promise<void> {CODE
LOWsource/features/clean-conversation-headers.tsx15async function highlightNonDefaultBranchPrs(base: HTMLElement, baseBranch: string): Promise<void> {CODE
LOWsource/features/conversation-links-on-repo-lists.tsx37function addSearchConversationLinks(stargazersLink: HTMLAnchorElement): void {CODE
LOWsource/features/quick-resolve-conflicts.tsx19function createResolveConflictsButtons(menuItems: Element[]): JSX.Element {CODE
LOWsource/features/quick-resolve-conflicts.tsx71async function replaceResolveConflictsDropdown(button: HTMLButtonElement): Promise<void> {CODE
LOWsource/features/status-subscription.tsx13function getSubscriptionReasonElement(): HTMLParagraphElement {CODE
LOWsource/features/easy-toggle-commit-messages.tsx7export function wasInteractiveElementClicked(event: DelegateEvent<MouseEvent>): boolean {CODE
LOWsource/features/unread-anywhere.tsx24function removeNotificationIndicator(element: HTMLElement): void {CODE
LOWsource/features/quick-review.tsx52async function openReviewDialogWhenAvailable(event: MouseEvent): Promise<void> {CODE
LOWsource/features/quick-review.tsx91async function initReviewButtonEnhancements(signal: AbortSignal): Promise<void> {CODE
LOWsource/features/new-repo-disable-projects-and-wikis.tsx15async function disableWikiAndProjectsOnce(): Promise<void> {CODE
LOWsource/features/pr-commit-lines-changed.tsx15function calculateDiffSquareCounts(linesAdded: number, linesDeleted: number): Squares {CODE
LOWsource/features/show-whitespace.tsx25function showWhitespaceWhenInViewport(line: HTMLElement): void {CODE
LOWsource/features/deep-reblame.tsx42function extractCommitFromHoverCardUrl(url: string): string {CODE
LOWsource/features/useful-not-found-page.svelte73 async function getUrlToFileOnDefaultBranch(): Promise<string | undefined> {CODE
LOWsource/features/quick-repo-deletion.tsx37async function modifyUiAfterSuccessfulDeletion(): Promise<void> {CODE
LOWsource/features/extend-repo-tabs.tsx57async function updateActionsAndProjectsTabs(): Promise<void> {CODE
LOWsource/features/quick-label-removal.tsx38async function removeLabelButtonClickHandler(event: DelegateEvent<MouseEvent, HTMLButtonElement>): Promise<void> {CODE
LOWsource/features/action-pr-link.tsx25async function initForRepositoryActionsPage(signal: AbortSignal): Promise<void> {CODE
LOWsource/github-events/on-field-keydown.tsx47export function onConversationTitleFieldKeydown(callback: KeydownHandler, signal: AbortSignal): void {CODE
LOWsource/github-helpers/index.ts46export function isUsernameAlreadyFullName(username: string, realname: string): boolean {CODE
LOWsource/github-helpers/index.ts161export function extractCurrentBranchFromBranchPicker(branchPicker: HTMLElement): string {CODE
LOWsource/github-helpers/index.ts175export function triggerConversationUpdate(): void {CODE
LOWsource/github-helpers/prevent-link-loss.ts70export function preventDiscussionLinkLoss(CODE
LOWsource/github-helpers/get-next-conversation-number.ts3export default async function getNextConversationNumber(): Promise<number> {CODE
LOWsource/helpers/bisect.tsx15export async function startFeatureIdentification(origin?: string): Promise<void> {CODE
LOWsource/helpers/math.ts10function inverseLinearInterpolation(min: number, max: number, value: number): number {CODE
LOWsource/helpers/errors.ts21export function parseFeatureNameFromStack(stack: string = new Error('stack').stack!): FeatureId | undefined {CODE
LOWsource/helpers/rgh-links.tsx24export function getFeatureRelatedIssuesQuery(id: string): string {CODE
LOWsource/helpers/rgh-links.tsx31export function getFeatureRelatedIssuesUrl(id: string): URL {CODE
Fake / Example Data24 hits · 33 pts
SeverityFileLineSnippetContext
LOWsource/github-helpers/index.test.ts84 assert.isTrue(isUsernameAlreadyFullName('johndoe', 'John Doe'));CODE
LOWsource/github-helpers/index.test.ts85 assert.isTrue(isUsernameAlreadyFullName('john-doe', 'John Doe'));CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts44 'lorem ipsum dolor https://github.com/refined-github/refined-github/pull/3/commits/cb44a4eb8cd5c66def3dc26dca0f386645CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts46 'lorem ipsum dolor [`cb44a4e` (#3)](https://github.com/refined-github/refined-github/pull/3/commits/cb44a4eb8cd5c66defCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts51 'lorem ipsum dolor https://github.com/refined-github/refined-github/pull/44/commits/cb44a4eb8cd5c66def3dc26dca0f3866CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts54 'lorem ipsum dolor [`cb44a4e` (#44)](https://github.com/refined-github/refined-github/pull/44/commits/cb44a4eb8cd5c66dCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts66 'lorem ipsum dolor https://github.com/refined-github/refined-github/pull/3205/commits/1da152b3f8c51dd72d8ae6ad9cc96e0CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts68 'lorem ipsum dolor [`1da152b` (#3205)](https://github.com/refined-github/refined-github/pull/3205/commits/1da152b3f8c5CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts73 'lorem ipsum dolor https://github.com/refined-github/refined-github/pull/3205/commits/b0ac07948f9d30a760bda25a7106011CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts75 'lorem ipsum dolor [`b0ac079` (#3205)](https://github.com/refined-github/refined-github/pull/3205/commits/b0ac07948f9dCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts81 'lorem ipsum dolor https://github.com/refined-github/refined-github/pull/3205/commits/1da152b3f8c51dd72d8ae6ad9cc96eCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts84 'lorem ipsum dolor [`1da152b` (#3205)](https://github.com/refined-github/refined-github/pull/3205/commits/1da152b3f8c5CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts168 'lorem ipsum dolor https://github.com/refined-github/refined-github/compare/26.5.24...26.6.1#diff-31bc308e7c7d8622061CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts170 'lorem ipsum dolor [`26.5.24...26.6.1`#diff-31bc308e7c](https://github.com/refined-github/refined-github/compare/26.5.CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts174 'lorem ipsum dolor https://github.com/refined-github/refined-github/compare/main...incremental-tag-changelog-link#difCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts176 'lorem ipsum dolor [`main...incremental-tag-changelog-link`#diff-5b3cf6bcc7](https://github.com/refined-github/refinedCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts181 'lorem ipsum dolor https://github.com/sindresorhus/got/compare/v11.5.2...v11.6.0#diff-6be2971b2bb8dbf48d15ff680dd898CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts184 'lorem ipsum dolor [sindresorhus/got@`v11.5.2...v11.6.0`#diff-6be2971b2b](https://github.com/sindresorhus/got/compare/CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts225 'lorem ipsum dolor https://github.com/eslint/eslint/discussions/15898?sort=top some random string',CODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts227 'lorem ipsum dolor [eslint/eslint#15898](https://github.com/eslint/eslint/discussions/15898?sort=top) some random striCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts232 'lorem ipsum dolor https://github.com/eslint/eslint/discussions/15898?sort=top#discussion-4086661 some random stringCODE
LOW⚡source/github-helpers/prevent-link-loss.test.ts235 'lorem ipsum dolor [eslint/eslint#15898 (comment)](https://github.com/eslint/eslint/discussions/15898?sort=top#discussCODE
LOWsource/github-helpers/prevent-link-loss.test.ts128 'lorem ipsum dolor https://github.com/refined-github/refined-github/pull/3205/commits/b0ac07948f9d30a760bda25a7106011CODE
LOWsource/github-helpers/prevent-link-loss.test.ts130 'lorem ipsum dolor [`b0ac079` (this PR)](https://github.com/refined-github/refined-github/pull/3205/commits/b0ac07948fCODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALsource/features/unreleased-commits.tsx60 const aheadBy = repository.defaultBranchRef.target.history.nodes.findIndex((node: AnyObject) =>CODE