AI Slop Code RIsk Monitor

waooAI/waoowaoo

首家工业级全流程 AI 影视生产平台。Industry-first professional AI Agent platform for controllable film & video production. From shorts to live-action with Hollywood-standard workflows.

7.1 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for waooAI/waoowaoo, a TypeScript project with 14,492 GitHub stars. SynthScan examined 177,407 lines of code across 1174 source files, recording 1147 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 7.1 (Moderate 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.

7.1
Adjusted Signal
7.1
Raw Pattern Score
100%
Time Factor
2026-09-21
Last Push
14.5K
Stars
TypeScript
Language
177.4K
Lines of Code
1.2K
Files
1.1K
Pattern Hits
2026-10-12
Scan Date
0.01
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 27.7/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 1.6/100 · LOW

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

Agent Over-Engineering Ratio 28.5/100 · MEDIUM

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

PR Review Velocity Impact 29.0/100 · MEDIUM

Which changes need focused human review? 1147 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 8MEDIUM 14LOW 1125

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 1147 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 Identifiers1113 hits · 1148 pts
SeverityFileLineSnippetContext
LOWnext.config.ts75function sharedDependencyTurbopackRoot(): string | null {CODE
LOWtests/unit/operations/tool-input-schema.fixture.ts16function collectConfirmedProperties(value: unknown, out: string[], path = '#') {CODE
LOWtests/unit/operations/tool-input-schema.fixture.ts54function collectOptionalProperties(value: unknown, out: string[], path = '#') {CODE
LOWtests/browser-security/oracle/product-evidence.ts3export async function attachSecurityProductEvidence(CODE
LOWtests/browser-security/runtime/process-lifecycle.ts23export function createSecurityProcessIdentity(pid: number): SecurityProcessIdentity {CODE
LOWtests/browser-security/runtime/process-lifecycle.ts33export function parseSecurityProcessIdentity(CODE
LOWtests/browser-security/runtime/process-lifecycle.ts59export function isSecurityProcessTreeAlive(CODE
LOWtests/browser-security/runtime/process-lifecycle.ts87function terminateWindowsProcessTree(identity: SecurityProcessIdentity, force: boolean): void {CODE
LOWtests/browser-security/runtime/process-lifecycle.ts112export async function terminateSecurityProcessTree(CODE
LOWtests/browser-security/runtime/identity.ts23export function resolveSecurityRuntimeIdentity(CODE
LOWtests/browser-security/runtime/identity.ts50export function applySecurityRuntimeIdentity(CODE
LOWtests/browser-security/runtime/identity.ts63export function resolveSecurityArtifactRoot(CODE
LOWtests/browser-security/runtime/start-environment.ts204async function writeEnvironmentDescriptor(CODE
LOWtests/browser-security/browser/network-policy.ts1export function isSecurityBrowserNetworkAllowed(rawUrl: string): boolean {CODE
LOWtests/browser-security/browser/external-boundaries.ts9export function resolveSecurityExternalBoundary(input: {CODE
LOWtests/browser-security/browser/observations.ts39export function collectSecurityBrowserObservationViolations(CODE
LOWtests/browser-security/browser/pages/projects.ts19export async function createSecurityProjectThroughUi(page: Page, input: {CODE
LOWtests/browser-security/browser/pages/projects.ts83export async function editSecurityProjectThroughUi(page: Page, input: {CODE
LOWtests/browser-security/browser/pages/projects.ts118export async function deleteSecurityProjectThroughUi(page: Page, input: {CODE
LOWtests/browser-security/browser/pages/auth.ts4export async function expectSecurityAuthenticatedUser(CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts222async function seedFinalFailureCheckpoint(CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts267async function seedSuccessfulHandlerCheckpoint(input: {CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts299export async function createTaskDurabilityFixture(): Promise<TaskDurabilityFixture> {CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts404export async function createTaskWorkerKillFixture(): Promise<TaskWorkerKillFixture> {CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts445export async function createTaskLateCancelFixture(): Promise<TaskLateCancelFixture> {CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts554export async function removeTaskLateCancelFixture(CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts581export async function removeTaskWorkerKillFixture(CODE
LOW…ntegration/temporal/helpers/task-durability-fixture.ts599export async function removeTaskDurabilityFixture(CODE
LOW…ntegration/temporal/helpers/task-durability-harness.ts101async function startFollowUpAdmissionServer(): Promise<FollowUpAdmissionServer> {CODE
LOW…ntegration/temporal/helpers/task-durability-harness.ts212function requireTemporalTestRuntime(): void {CODE
LOW…ntegration/temporal/helpers/task-durability-harness.ts258export async function startTaskProductionWorker(): Promise<TaskProductionWorkerHarness> {CODE
LOW…ntegration/temporal/helpers/task-durability-harness.ts300export async function startTaskQueuedCancelWorker(input: {CODE
LOW…ntegration/temporal/helpers/task-durability-harness.ts386export async function startTaskLateCancelWorker(input: {CODE
LOW…ntegration/temporal/helpers/task-durability-harness.ts490export async function startTaskDurabilityWorker(input: {CODE
LOW⚡tests/integration/temporal/helpers/versioned-worker.ts18function requireTestDeploymentName(): string {CODE
LOW⚡tests/integration/temporal/helpers/versioned-worker.ts26function buildTestWorkerDeploymentName(scope: TestWorkerScope): string {CODE
LOW⚡tests/integration/temporal/helpers/versioned-worker.ts30export function buildTestWorkerDeploymentOptions(CODE
LOWtests/integration/temporal/helpers/versioned-worker.ts47export async function activateTestWorkerVersion(CODE
LOW…oral/helpers/operation-execution-durability-harness.ts59function requireTemporalTestRuntime(): void {CODE
LOW…oral/helpers/operation-execution-durability-harness.ts86export async function startOperationExecutionDurabilityWorker(input: {CODE
LOW…oral/helpers/operation-execution-durability-fixture.ts96export async function createOperationExecutionDurabilityFixture():CODE
LOW…oral/helpers/operation-execution-durability-fixture.ts209export async function removeOperationExecutionDurabilityFixture(CODE
LOW…ion/temporal/helpers/task-durability-worker-process.ts61export function startTaskDurabilityChildWorker(): TaskDurabilityChildWorker {CODE
LOW…integration/provider/openrouter-image.contract.test.ts24function normalizeBananaImageOptions(options: Record<string, unknown>): OpenRouterImageOptions {CODE
LOW…racts/temporal-workflow-versioning-conformance.test.ts6function workflowVersioningBehavior(workflow: unknown): unknown {CODE
LOWtests/setup/test-services.ts53function defaultComposeProjectName(): string {CODE
LOWtests/helpers/db-reset.ts3async function resetWorkspaceResourceState() {CODE
LOWtests/helpers/db-reset.ts16async function resetOperationExecutionState() {CODE
LOWtests/helpers/db-reset.ts30async function resetPaidBetaAndAnnouncementState() {CODE
LOWscripts/codex-runtime-smoke.ts103async function startRuntimeRequestCapture(): Promise<RuntimeRequestCapture> {CODE
LOWscripts/codex-runtime-smoke.ts150function assertRuntimeContractRequest(request: RuntimeJsonObject): void {CODE
LOWscripts/codex-runtime-smoke.ts209async function assertPinnedProtocolSurface(rootDir: string): Promise<void> {CODE
LOWscripts/check-failure-governance.ts121function findProviderResponseParserBypasses(file: string, source: string): readonly number[] {CODE
LOWscripts/edition/compiler-config.ts4export function createEditionCompilerConfigs(CODE
LOWsrc/instrumentation-node.ts13export function installNodeProcessCrashObservers() {CODE
LOWsrc/app/[locale]/workspace/page.tsx46function toProjectValidationMessage(CODE
LOWsrc/app/[locale]/profile/page.tsx71function isProjectCostDetailsPayload(value: unknown): value is ProjectCostDetailsPayload {CODE
LOWsrc/app/[locale]/profile/components/api-config/types.ts109export function isPresetComingSoonModelKey(modelKey: string): boolean {CODE
LOWsrc/app/[locale]/profile/components/api-config/types.ts124export function resolvePresetProviderName(providerId: string, fallbackName: string, locale?: string): string {CODE
LOW…pp/[locale]/profile/components/api-config/selectors.ts151export function clearMissingDefaultModels(CODE
1053 more matches not shown…
Cross-Language Confusion (JS/TS)8 hits · 50 pts
SeverityFileLineSnippetContext
HIGHscripts/check-image-urls-contract.ts83 print(summary)CODE
HIGHscripts/check-image-urls-contract.ts103 print(`[check-image-urls-contract] failed scanned=${totalScanned} violations=${totalViolations}`)CODE
HIGHscripts/check-image-urls-contract.ts108 print(`[check-image-urls-contract] ok scanned=${totalScanned}`)CODE
HIGH⚡scripts/migrate-image-urls-contract.ts195 print(summary)CODE
HIGH⚡scripts/migrate-image-urls-contract.ts196 print(`[migrate-image-urls-contract] ${modelName}: reasons=${JSON.stringify(stats.reasons)}`)CODE
HIGH⚡scripts/migrate-image-urls-contract.ts199 print(`[migrate-image-urls-contract] ${modelName}: sampleChanges=${JSON.stringify(samples, null, 2)}`)CODE
HIGH⚡scripts/migrate-image-urls-contract.ts206 print(`[migrate-image-urls-contract] mode=${APPLY ? 'apply' : 'dry-run'}`)CODE
HIGHscripts/migrate-image-urls-contract.ts221 print(`[migrate-image-urls-contract] done scanned=${totals.scanned} updatedRows=${totals.updatedRows} changedFields=${CODE
Decorative Section Separators14 hits · 42 pts
SeverityFileLineSnippetContext
MEDIUM…/[locale]/workspace/asset-hub/components/AssetGrid.tsx29// ─── 新建资产下拉菜单 ──────────────────────────────────COMMENT
MEDIUMsrc/components/ui/select-variants.tsx7// ─── Constants & Types ─────────────────────────────────────────COMMENT
MEDIUMsrc/components/ui/select-variants.tsx29// ─── Variant 1: Pill / Solid Card Style ─────────────────────────COMMENT
MEDIUMsrc/components/ui/select-variants.tsx181// ─── Variant 2: Minimalist Line / Base Style ────────────────────COMMENT
MEDIUMsrc/components/ui/select-variants.tsx319// ─── Variant 3: Ghost / Lightweight ─────────────────────────────COMMENT
MEDIUMsrc/components/ui/SegmentedControl.tsx5// ─── Types ────────────────────────────────────────────COMMENT
MEDIUMsrc/components/ui/SegmentedControl.tsx49// ─── Component ────────────────────────────────────────COMMENT
MEDIUM…omponents/ui/config-modals/ModelCapabilityDropdown.tsx24// ─── Types ────────────────────────────────────────────COMMENT
MEDIUM…omponents/ui/config-modals/ModelCapabilityDropdown.tsx93// ─── Helpers ──────────────────────────────────────────COMMENT
MEDIUM…omponents/ui/config-modals/ModelCapabilityDropdown.tsx136// ─── Component ────────────────────────────────────────COMMENT
MEDIUMsrc/lib/logging/file-writer.ts15// ─── environment guard ────────────────────────────────────────────────COMMENT
MEDIUMsrc/lib/logging/file-writer.ts23// ─── node module cache ────────────────────────────────────────────────COMMENT
MEDIUMsrc/lib/logging/file-writer.ts69// ─── global log writer ──────────────────────────────────────────────COMMENT
MEDIUMsrc/lib/logging/file-writer.ts124// ─── log file access (for admin download) ───────────────────────────COMMENT
Fake / Example Data7 hits · 7 pts
SeverityFileLineSnippetContext
LOWmessages/zh/assetModal.json65 "placeholder": "描述你想要的角色特征...",CODE
LOWmessages/zh/configModal.json13 "placeholder": "请输入...",CODE
LOWmessages/en/assetModal.json65 "placeholder": "Describe the character you want...",CODE
LOWmessages/en/configModal.json13 "placeholder": "Please enter...",CODE
LOWsrc/lib/task/presentation.ts5export type TaskPresentationMode = 'none' | 'overlay' | 'placeholder'CODE
LOWsrc/lib/task/presentation.ts35 mode: input.hasOutput ? 'overlay' : 'placeholder',CODE
LOWsrc/lib/task/presentation.ts48 mode: input.hasOutput ? 'overlay' : 'placeholder',CODE
Unused Imports2 hits · 2 pts
SeverityFileLineSnippetContext
LOWextract_chinese.py7CODE
LOWextract_chinese.py8CODE
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWextract_chinese.py10CODE
LOWextract_chinese.py57CODE
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/lib/assistant-runtime/runtime-access.ts161 // Wao installs only its six registry-bound domain Skills. Built-in imageCOMMENT