AI Slop Code Risk Monitor

mediago-dev/mediago

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

Cross-platform video downloader — sniff and grab m3u8/HLS streams, Bilibili, YouTube and more. Desktop + Docker + 🦞.

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for mediago-dev/mediago, a TypeScript project with 9,343 GitHub stars. SynthScan examined 169,676 lines of code across 1072 source files, recording 183 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 1.3 (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.3
Adjusted Signal
1.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
9.3K
Stars
TypeScript
Language
169.7K
Lines of Code
1.1K
Files
183
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.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.6/100 · LOW

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

Agent Over-Engineering Ratio 4.6/100 · LOW

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

PR Review Velocity Impact 6.2/100 · LOW

Which changes need focused human review? 183 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 2HIGH 3MEDIUM 1LOW 177

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 183 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.

Hyper-Verbose Identifiers157 hits · 158 pts
SeverityFileLineSnippetContext
LOWtests/integration/media-download.integration.test.ts184async function assertDependencyPreconditions(): Promise<void> {CODE
LOWtests/integration/media-download.integration.test.ts272async function createTemporaryLayoutAndBuildCore(): Promise<void> {CODE
LOWtests/e2e/extension/capture-and-download.spec.ts211async function findOwnedChromiumIdentity(CODE
LOWtests/e2e/extension/capture-and-download.spec.ts336async function terminateOwnedProcessTree(CODE
LOWtests/e2e/extension/capture-and-download.spec.ts401async function waitForSuccessfulDownload(CODE
LOWtests/e2e/extension/capture-and-download.spec.ts678async function clickAndCaptureActionPopup(CODE
LOWtests/e2e/extension/capture-and-download.spec.ts871async function expectSinglePageActionSource(CODE
LOWtests/e2e/support/artifacts.ts127async function verifiedRetainedVideoPath(CODE
LOWtests/e2e/support/artifacts.ts151async function copyRetainedVideoNoFollow(CODE
LOWtests/e2e/support/artifacts.ts263export async function startManualContextArtifacts(CODE
LOWtests/e2e/support/artifacts.ts385export async function finalizeManualContextArtifacts(CODE
LOWtests/e2e/support/electron-process.ts143export async function terminateOwnedProcessTree(CODE
LOWtests/e2e/support/process.ts452function isUnquotedApiKeyDelimiter(value: string): boolean {CODE
LOWtests/e2e/support/process.ts456function isProxyAuthorityDelimiter(value: string): boolean {CODE
LOWtests/e2e/support/fake-dependencies.ts21export function fakeBBDownExecutableSource(CODE
LOWtests/e2e/support/fake-dependencies.ts51export async function createFakeBilibiliDependencyLeaf(CODE
LOWtests/e2e/support/electron-network.ts82export function normalizeElectronCoreOrigin(value: string): string {CODE
LOWtests/e2e/support/electron-network.ts144export function assertElectronNetworkSnapshot(CODE
LOWtests/e2e/support/electron-network.ts188export function installElectronNetworkPolicy({CODE
LOWtests/e2e/support/electron-network.ts280export function tightenElectronNetworkPolicy(CODE
LOWtests/e2e/support/electron-network.ts333export function readElectronNetworkPolicy(CODE
LOWtests/e2e/support/electron-network.ts349export async function installElectronNetworkGuard(CODE
LOWtests/e2e/support/bilibili-capture-fixture.ts110export async function injectControlledBilibiliSource(CODE
LOWtests/e2e/support/bilibili-capture-fixture.ts164export async function importControlledBilibiliSource(CODE
LOWtests/e2e/support/bilibili-capture-fixture.ts188export async function openControlledBilibiliPopup(CODE
LOWtests/e2e/support/bilibili-capture-fixture.ts216export async function captureRealBilibiliImport(CODE
LOWtests/e2e/support/bilibili-capture-fixture.ts246export function expectNoInvalidDownloadIDRequests(CODE
LOWtests/e2e/support/electron-window.ts8export async function waitForElectronMainWindow(CODE
LOWpackages/tooling/src/electron-artifacts/index.test.ts398function createWindowsInstallerFixture(CODE
LOWpackages/tooling/src/electron-artifacts/manifest.ts53export function parseUpdaterManifestEntry(CODE
LOWpackages/tooling/src/core-build/build-args.ts3export function createCurrentPlatformBuildArgs(options: {CODE
LOWpackages/tooling/src/core-build/dev.ts52export function createEmbeddedUiBuildPlans(): EmbeddedUiBuildPlan[] {CODE
LOWpackages/tooling/src/core-build/dev.ts93async function buildCurrentPlatformBinary(CODE
LOWpackages/tooling/src/runtime-deps/integrity.ts45export async function dependencyFileMatchesIntegrity(CODE
LOWpackages/tooling/src/runtime-deps/integrity.ts59export async function inspectDependencyFileIntegrity(CODE
LOWpackages/tooling/src/runtime-deps/integrity.ts90export async function assertDependencyFileIntegrity(CODE
LOWpackages/tooling/src/runtime-deps/provisioner.ts86export async function inspectDependencyReadiness({CODE
LOWpackages/tooling/src/runtime-deps/layout.ts140export function manifestDependencyExecutableName(CODE
LOWpackages/tooling/src/bootstrap/task-doctor.ts83export function parsePackageManagerPnpmVersion(CODE
LOWpackages/tooling/src/bootstrap/task-doctor.ts90export function parsePnpmUserAgentVersion(CODE
LOWpackages/tooling/src/security/container-architecture.ts3export function verifyContainerArchitecture(CODE
LOW…ooling/src/contracts/documentation-contract-helpers.ts18export function migratedPnpmCommandsInCodeBlocks(source: string): string[] {CODE
LOW…ooling/src/contracts/documentation-contract-helpers.ts179function extractMarkdownCodeBlocks(source: string): CodeBlock[] {CODE
LOW…ckages/tooling/src/contracts/taskfile-behavior.test.ts607function createRepositoryTaskfileFixture(CODE
LOW…ckages/tooling/src/contracts/taskfile-behavior.test.ts753function createCleanCloneProductionFixture(CODE
LOW…ckages/tooling/src/contracts/taskfile-behavior.test.ts826function createNodePrerequisiteFixture(CODE
LOW…ckages/tooling/src/contracts/taskfile-contract.test.ts41function expectInternalDocsExcluded(patterns: string[] | undefined): void {CODE
LOW…ckages/tooling/src/contracts/taskfile-contract.test.ts1724function createDependencyRootFixture(): TaskFixture {CODE
LOW…ooling/src/contracts/shell-command-contract-helpers.ts23export function migratedPnpmCommandSegments(source: string): string[] {CODE
LOW…ooling/src/contracts/shell-command-contract-helpers.ts213function skipEnvironmentAssignments(tokens: string[], start: number): number {CODE
LOW…kages/tooling/src/contracts/build-env-contract.test.ts178function assertNoSecretDefinitions(definitions: string[]): void {CODE
LOWpackages/tooling/src/release/planning.ts208function resolveLockedOfficialCore(CODE
LOWpackages/tooling/src/release/planning.ts228function assertSupportedOfficialPrereleases(CODE
LOWpackages/tooling/src/release/planning.ts266function assertNoDuplicateVersions(versions: readonly string[]): void {CODE
LOW…oling/src/verification/verify-isolated-runtime-deps.ts50export function assertBBDownExecutableNames(CODE
LOWpackages/tooling/src/vite/index.ts12export function mediaGoBuildMetadataPlugin(CODE
LOWpackages/tooling/src/github/docker-workflow.ts56export function validateDockerWorkflowInputs(CODE
LOWpackages/tooling/src/github/docker-workflow.ts168export function dockerHubCredentialsEnabled(CODE
LOWpackages/tooling/src/github/docker-workflow.ts188export async function verifyPreviewPackagePrivate(CODE
LOWpackages/tooling/src/github/desktop-workflow.ts51export function validateDesktopBuildRequest(CODE
97 more matches not shown…
Fake / Example Data15 hits · 20 pts
SeverityFileLineSnippetContext
LOW.agents/skills/design-taste-frontend-v1/SKILL.md116### Content & Data (The "Jane Doe" Effect)COMMENT
LOW.agents/skills/design-taste-frontend-v1/SKILL.md117* **NO Generic Names:** "John Doe", "Sarah Chan", or "Jack Su" are banned. Use highly creative, realistic-sounding namesCOMMENT
LOW.agents/skills/imagegen-frontend-mobile/SKILL.md1075- lorem ipsum overloadCODE
LOW.agents/skills/stitch-design-taste/SKILL.md108- No generic names ("John Doe", "Acme", "Nexus")CODE
LOW.agents/skills/stitch-design-taste/DESIGN.md114- No generic names: "John Doe", "Sarah Chan", "Acme", "Nexus", "SmartFlow"CODE
LOW.agents/skills/design-taste-frontend/SKILL.md615### 9.D Content & Data ("Jane Doe" Effect)COMMENT
LOW.agents/skills/design-taste-frontend/SKILL.md616* **NO generic names.** "John Doe", "Sarah Chan", "Jack Su" → use creative, realistic, locale-appropriate names.COMMENT
LOW⚡.agents/skills/minimalist-ui/SKILL.md21- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual contentCODE
LOW⚡.agents/skills/minimalist-ui/SKILL.md21- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual contentCODE
LOW⚡.agents/skills/minimalist-ui/SKILL.md21- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual contentCODE
LOW⚡.agents/skills/redesign-existing-projects/SKILL.md79- **Generic names like "John Doe" or "Jane Smith".** Use diverse, realistic-sounding names.CODE
LOW⚡.agents/skills/redesign-existing-projects/SKILL.md81- **Placeholder company names like "Acme Corp", "Nexus", "SmartFlow".** Invent contextual, believable brand names.CODE
LOW⚡.agents/skills/redesign-existing-projects/SKILL.md88- **Lorem Ipsum.** Never use placeholder latin text. Write real draft copy.CODE
LOW.agents/skills/brandkit/SKILL.md573- lorem ipsumCODE
LOWapps/core/internal/core/downloader_contract_test.go139 if err := os.WriteFile(binaryPath, []byte("placeholder"), 0o700); err != nil {CODE
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippetContext
CRITICALapps/electron/src/app.test.ts203 const listener = mainWindow.window.webContents.on.mock.calls.find(CODE
CRITICALapps/electron/src/app.test.ts226 const listener = mainWindow.window.webContents.on.mock.calls.find(CODE
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHdocs/it/skills.md44set mediago url to http://localhost:8899, api key is YOUR_API_KEYCODE
HIGHdocs/jp/skills.md44set mediago url to http://localhost:8899, api key is YOUR_API_KEYCODE
HIGHdocs/en/skills.md44set mediago url to http://localhost:8899, api key is YOUR_API_KEYCODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…/plans/2026-08-25-release-channel-versioning-design.md476### Release-orchestration unit testsCOMMENT
Over-Commented Block3 hits · 3 pts
SeverityFileLineSnippetContext
LOWapps/core/cmd/server/main.go21// @version 1.0COMMENT
LOWapps/core/internal/core/downloader.go561 path := line[markerIndex+len(ytDLPOutputMarker):]COMMENT
LOWapps/core/internal/api/handler/auth.go81 }COMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/media-service/server.ts159function handleRequest(CODE
LOWpackages/mediago-extension/src/background/sniffer.ts126async function handleRequest(CODE