AI Slop Code RIsk Monitor

silvertakana/worldwideview

4.4 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for silvertakana/worldwideview, a TypeScript project with 1,916 GitHub stars. SynthScan examined 109,733 lines of code across 790 source files, recording 199 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 4.4 (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.4
Adjusted Signal
4.4
Raw Pattern Score
100%
Time Factor
2026-10-06
Last Push
1.9K
Stars
TypeScript
Language
109.7K
Lines of Code
790
Files
199
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 4.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.7/100 · LOW

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

Agent Over-Engineering Ratio 16.2/100 · LOW

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

PR Review Velocity Impact 18.1/100 · LOW

Which changes need focused human review? 199 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 117LOW 81

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

Decorative Section Separators115 hits · 368 pts
SeverityFileLineSnippetContext
MEDIUMdocker-entrypoint.sh2# ─── Docker Entrypoint ───────────────────────────────────────COMMENT
MEDIUMdocker-entrypoint.sh31# ─── PostgreSQL readiness wait ───────────────────────────────COMMENT
MEDIUMtests/marketplace-from-instance.spec.ts21// ─── Marketplace capture side (no worldwideview auth needed) ────────────────COMMENT
MEDIUMtests/marketplace-from-instance.spec.ts83// ─── Linked-instance API surface (anonymous, marketplace-only) ──────────────COMMENT
MEDIUMtests/marketplace-from-instance.spec.ts134// ─── InstanceCapture → server-link fire-and-forget ──────────────────────────COMMENT
MEDIUMtests/marketplace-from-instance.spec.ts154// ─── Full flow (worldwideview → marketplace, requires Docker + auth) ─────────COMMENT
MEDIUMtests/web-auth.spec.ts6// ─── /auth/reset-password ────────────────────────────────────────────────────COMMENT
MEDIUMtests/web-auth.spec.ts32// ─── /accounts unauthenticated redirect ──────────────────────────────────────COMMENT
MEDIUMtests/web-auth.spec.ts47// ─── /auth/verify without a code ─────────────────────────────────────────────COMMENT
MEDIUMtests/web-auth.spec.ts60// ─── /auth/reset-password/confirm without a hash ─────────────────────────────COMMENT
MEDIUMtests/account-connect-e2e.spec.ts38 // ── 1. Sign up at worldwideview-web ────────────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts51 // ── 2. Navigate to globe app ──────────────────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts55 // ── 3. Click "Connect to Marketplace" ──────────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts60 // ── 4. Verify redirect to marketplace /oauth/authorize ─────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts67 // ── 5. Verify consent page shows user email and scope ──────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts72 // ── 6. Click "Approve" ────────────────────────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts77 // ── 7. Wait for redirect back to globe app ─────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts80 // ── 8. Verify "Connected as <email>" is visible ────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts84 // ── 9. Navigate to a page with a plugin that requires auth ─────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts90 // ── 10. Verify ticketClient fetches from /api/auth/ticket ──────────────COMMENT
MEDIUMtests/account-connect-e2e.spec.ts114 // ── 11. Verify WebSocket auth: auth message sent, welcome received ─────COMMENT
MEDIUMtests/account-connect-e2e.spec.ts122 // ── 12. Verify data streams ───────────────────────────────────────────COMMENT
MEDIUMtests/account-connect-e2e.spec.ts135 // ── 1. Sign up (fresh user, no marketplace connection) ─────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts146 // ── 2. Navigate to globe app ──────────────────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts150 // ── 3. Navigate to plugins tab ────────────────────────────────────────COMMENT
MEDIUM⚡tests/account-connect-e2e.spec.ts155 // ── 4. Listen for /api/auth/ticket — expect noCredential ──────────────COMMENT
MEDIUMtests/marketplace-sign-out.spec.ts27 // ── Establish authenticated session ──────────────────────────────────COMMENT
MEDIUM⚡tests/marketplace-sign-out.spec.ts39 // ── Open avatar dropdown and click Sign Out ──────────────────────────COMMENT
MEDIUM⚡tests/marketplace-sign-out.spec.ts43 // ── Assert redirect to marketplace home ──────────────────────────────COMMENT
MEDIUM⚡tests/marketplace-sign-out.spec.ts49 // ── Assert session is cleared on the server ──────────────────────────COMMENT
MEDIUMpackages/wwv-lib-incidents/src/index.test.ts26// ─── Minimal GeoEntity factory ────────────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-lib-incidents/src/index.test.ts40// ─── Minimal concrete subclass ────────────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-lib-incidents/src/index.test.ts88// ─── Subclass that DOES override mapWebsocketPayload ─────────────────────────COMMENT
MEDIUMpackages/wwv-lib-incidents/src/index.test.ts100// ─── Helpers that mimic WsClient.handleDataMessage branching logic ────────────COMMENT
MEDIUMpackages/wwv-lib-incidents/src/index.test.ts122// ─── Test suite ───────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts68// ─── Re-export manifest types ─────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts71// ─── Categories ──────────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts85// ─── Time ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts137// ─── Layer Config ────────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts149// ─── Cesium Entity Options ───────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts182// ─── Selection Behavior ──────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts192// ─── Server Plugin Config ────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts203// ─── Plugin Context ──────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts237// ─── Filter Definitions ──────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts255// ─── Alert Definitions ──────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts353// ─── Aliases for backwards compatibility ─────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts356// ─── Data Bus Event Types ────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts378// ─── Auth Contracts ──────────────────────────────────────────COMMENT
MEDIUMpackages/wwv-plugin-sdk/src/index.ts381// ─── Tagged Property Helpers ─────────────────────────────────COMMENT
MEDIUM.github/workflows/docker-publish.yml13 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml15 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml106 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml108 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml199 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml201 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml293 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml295 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml323 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml325 # --------------------------------------------------COMMENT
MEDIUM.github/workflows/docker-publish.yml364 # --------------------------------------------------COMMENT
55 more matches not shown…
Structural Annotation Overuse22 hits · 38 pts
SeverityFileLineSnippetContext
LOW.agents/workflows/researching-plugins/SKILL.md19### Step 1: Check the Ecosystem Before the WebCOMMENT
LOW.agents/workflows/researching-plugins/SKILL.md29### Step 2: Validate Data SourcesCOMMENT
LOWdocs/iss-plugin-tutorial.md12## Step 1: Setting up your WorkspaceCOMMENT
LOWdocs/iss-plugin-tutorial.md56## Step 2: Scaffold the Plugin and Backend SeederCOMMENT
LOWdocs/iss-plugin-tutorial.md89## Step 3: Write the Polling Logic (Backend Seeder)COMMENT
LOWdocs/iss-plugin-tutorial.md142## Step 4: Testing the Data EngineCOMMENT
LOWdocs/iss-plugin-tutorial.md156## Step 5: Write the Plugin Logic (Frontend)COMMENT
LOWdocs/iss-plugin-tutorial.md216## Step 6: Connecting and Testing EverythingCOMMENT
LOWdocs/iss-plugin-tutorial.md242## Step 7: Publishing Your PluginCOMMENT
LOWdocs/mcp-quickstart.md25## Step 1: Install and configureCOMMENT
LOWdocs/mcp-quickstart.md40## Step 2: Run the appCOMMENT
LOWdocs/mcp-quickstart.md63## Step 3: Sign in and generate an API keyCOMMENT
LOWdocs/mcp-quickstart.md77## Step 4: Add the MCP server to your clientCOMMENT
LOWdocs/mcp-quickstart.md100## Step 5: Restart your client and verifyCOMMENT
LOW⚡src/core/data/SmartFetcher.ts20 // Step 1: Try Direct Fetch (Fastest)COMMENT
LOW⚡src/core/data/SmartFetcher.ts30 // Step 2: Local Server ProxyCOMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts145 // Step 1: Geocode the place name (limit 1 result).COMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts155 // Step 2: Find matching streaming plugins by case-insensitive substring.COMMENT
LOWsrc/app/api/mcp/discoveryTools.ts177 // Step 3: Compute bbox and query region for each matched plugin.COMMENT
LOWsrc/app/api/mcp/discoveryTools.ts189 // Step 4: Pan camera when a session is active.COMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts202 // Step 5: Apply overall cap and record truncation metadata.COMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts210 // Step 6: Build prose summary using first matched plugin as representative.COMMENT
Hyper-Verbose Identifiers21 hits · 21 pts
SeverityFileLineSnippetContext
LOWpackages/wwv-plugin-sdk/src/vite/wwvStaticCompiler.ts74function generateStaticPluginSource(manifest: any): string {CODE
LOWsrc/core/edition.ts167export function ticketAuthEnabledForPlugin(pluginId: string): boolean {CODE
LOWsrc/core/globe/InteractionHandler.ts42export function extractWwvEntityFromPicks(picks: unknown[]): GeoEntity | null {CODE
LOWsrc/core/globe/InteractionHandler.ts83export function findEntityByScreenDistance(CODE
LOWsrc/core/globe/types/GlobeCommand.ts46function isOptionalPluginOrLayerId(v: unknown): boolean {CODE
LOWsrc/core/state/mapDefaults.ts14export function resolveDefaultBaseLayerId(stored: string | null, envKey: string | undefined): string {CODE
LOWsrc/core/hooks/useMarketplaceSync.test.tsx196function duplicateRegistrationWarnings(warnSpy: ReturnType<typeof vi.spyOn>) {CODE
LOWsrc/app/setup/actions.ts153export async function activateProvisionedAccount(CODE
LOWsrc/app/api/mcp/globeCommandTools.ts62export function registerGlobeCommandTools(CODE
LOWsrc/app/api/mcp/pluginToolDispatch.ts62export async function registerPluginToolDispatch(CODE
LOWsrc/app/api/mcp/regionalAnalyticsTools.ts11export function registerRegionalAnalyticsTools(CODE
LOWsrc/app/api/service/tier/route.ts69async function countOrganizationInstances(orgId: string): Promise<number> {CODE
LOWsrc/components/layout/ConnectAgentHelper.test.tsx60function expectNoConcreteRemoteHost(values: string[]): void {CODE
LOW…components/marketplace/UnverifiedPluginBatchDialog.tsx13export default function UnverifiedPluginBatchDialog({CODE
LOWsrc/lib/mcpRateLimitConfig.ts74export async function checkMcpInvocationsRateLimit(CODE
LOWsrc/lib/provisioning.ts196async function completeExistingProvisioning(email: string, name: string): Promise<ProvisionedAccount | null> {CODE
LOWsrc/lib/org-tier.ts322export async function findDueTierLockOrganizations(now: Date, limit: number): Promise<string[]> {CODE
LOWsrc/lib/cross-service/verify.ts13export async function verifyCrossServiceSignature(CODE
LOWsrc/lib/auth/migrate-legacy-user.ts9export async function migrateLegacyUserIfNeeded(CODE
LOWsrc/lib/mcp/tools.ts47function resolveDataQueryEmptyReason(serviceReason: EmptyReason | undefined): EmptyReason {CODE
LOWsrc/lib/mcp/server.ts119export async function registerOrientationPrompts(CODE
Over-Commented Block19 hits · 19 pts
SeverityFileLineSnippetContext
LOWdocker-entrypoint.sh21 if [ -f "prisma/dev.db" ]; thenCOMMENT
LOWdocker/ci/docker-compose.plugin-ci.yml1# Reusable compose for plugin smoke CI (consumed by wwv-plugins repo).COMMENT
LOWdocker/ci/docker-compose.plugin-ci.yml21# ─── Stub seeder source ───COMMENT
LOWdocker/ci/docker-compose.seeder-ci.yml1# Reusable compose for seeder smoke CI (consumed by wwv-seeders-* repos).COMMENT
LOWtests/bottom-panel.spec.ts141 // Find the drag handleCOMMENT
LOWtests/ci/boot-db.test.ts1import { describe, it, expect, afterAll } from "vitest";COMMENT
LOWscripts/web-setup.sh1#!/usr/bin/env bashCOMMENT
LOW.github/workflows/playwright.yml221 - name: Build production bundleCOMMENT
LOW.github/workflows/dependabot-automerge.yml1name: Dependabot AutomergeCOMMENT
LOW.github/workflows/publish-packages.yml1# Trigger model: merge to main with a version bump in the relevant package.json is theCOMMENT
LOWsrc/proxy.ts121 // API routes: DENY BY DEFAULT. Evaluated BEFORE the static-asset allowlist soCOMMENT
LOWsrc/core/globe/useImageryManager.ts121 console.error("[useImageryManager] OSM fallback also failed:", fallbackErr);COMMENT
LOWsrc/core/globe/hooks/useSatelliteFrustum.ts61 // Wait, Cesium cylinder geometry aligns its local Z axis with the global Z (North Pole)COMMENT
LOWsrc/app/api/health/route.ts1import { NextResponse } from "next/server";COMMENT
LOWsrc/app/api/mcp/route.test.ts161});COMMENT
LOWsrc/app/api/mcp/route.ts121COMMENT
LOWsrc/app/api/mcp/route.ts161 // ------------------------------------------------------------------COMMENT
LOWsrc/app/api/mcp/route.ts181 // Phase 29: discovery tools (list_available_plugins, get_globe_context, investigate_area)COMMENT
LOWsrc/lib/apiKeyAuth.ts1import { randomBytes, createHmac, timingSafeEqual } from "crypto";COMMENT
Verbosity Indicators8 hits · 16 pts
SeverityFileLineSnippetContext
LOW⚡src/core/data/SmartFetcher.ts20 // Step 1: Try Direct Fetch (Fastest)COMMENT
LOW⚡src/core/data/SmartFetcher.ts30 // Step 2: Local Server ProxyCOMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts145 // Step 1: Geocode the place name (limit 1 result).COMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts155 // Step 2: Find matching streaming plugins by case-insensitive substring.COMMENT
LOWsrc/app/api/mcp/discoveryTools.ts177 // Step 3: Compute bbox and query region for each matched plugin.COMMENT
LOWsrc/app/api/mcp/discoveryTools.ts189 // Step 4: Pan camera when a session is active.COMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts202 // Step 5: Apply overall cap and record truncation metadata.COMMENT
LOW⚡src/app/api/mcp/discoveryTools.ts210 // Step 6: Build prose summary using first matched plugin as representative.COMMENT
Fake / Example Data10 hits · 10 pts
SeverityFileLineSnippetContext
LOWtests/tier-sync.spec.ts101 const body = { email: 'test@test.com' };CODE
LOWtests/ci/org-scoping.test.ts199 where: { email: "test@test.com" },CODE
LOWsrc/app/setup/actions.test.ts31 fd.set("email", overrides.email ?? "admin@example.com");CODE
LOWsrc/app/setup/page.tsx205 <input id="email" name="email" type="email" required className={styles.input} placeholder="adminCODE
LOWsrc/app/api/marketplace/pkce.spec.ts149 user: { id: "u1", email: "user@example.com", role: "user" },CODE
LOWsrc/app/api/marketplace/pkce.spec.ts163 user: { id: "u1", email: "admin@example.com", role: "admin" },CODE
LOWsrc/app/api/marketplace/pkce.spec.ts195 user: { id: "u1", email: "user@example.com", role: "user" },CODE
LOWsrc/app/api/marketplace/pkce.spec.ts211 user: { id: "u1", email: "admin@example.com", role: "demo-admin" },CODE
LOWsrc/app/api/ba/[...all]/route.spec.ts54 body: JSON.stringify({ email: "test@test.com", password: "password" }),CODE
LOWsrc/app/login/LoginForm.tsx116 placeholder={isDemo ? "admin@worldwideview.local" : "admin@example.com"}CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHREADME.md174 "Authorization": "Bearer <your-api-key>"CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.agents/skills/plugin-new/SKILL.md35## Stage 1: Isolated worktree + scaffoldCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/pr-preview.yml49 # permissions, never elevate them. shared-docker.yml declaresCOMMENT
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWself-host/setup.sh6# Check if docker is actually available and runningCOMMENT