AI Slop Code Risk Monitor

getarcaneapp/arcane

SlopCodeMonitor badge for getarcaneapp/arcane Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Modern Docker Management, Designed for Everyone

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for getarcaneapp/arcane, a Go project with 8,130 GitHub stars. SynthScan examined 547,189 lines of code across 2207 source files, recording 735 pattern matches distributed across 9 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
8.1K
Stars
Go
Language
547.2K
Lines of Code
2.2K
Files
735
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 6.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.2/100 · LOW

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

Agent Over-Engineering Ratio 3.1/100 · LOW

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

PR Review Velocity Impact 6.6/100 · LOW

Which changes need focused human review? 735 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 3LOW 731

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 735 distinct pattern matches across 9 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 Identifiers334 hits · 346 pts
SeverityFileLineSnippetContext
LOW⚡frontend/src/lib/types/notifications.ts287function telegramChatIdsToDestinations(chatIds: string[]): TelegramDestination[] {CODE
LOW⚡frontend/src/lib/types/notifications.ts296function telegramDestinationsToChatIds(destinations: TelegramDestination[]): string[] {CODE
LOW⚡frontend/src/lib/types/notifications.ts303export function telegramSettingsToFormValues(settings?: NotificationSettings): TelegramFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts257export function discordSettingsToFormValues(settings?: NotificationSettings): DiscordFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts270export function emailSettingsToFormValues(settings?: NotificationSettings): EmailFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts317export function signalSettingsToFormValues(settings?: NotificationSettings): SignalFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts335export function slackSettingsToFormValues(settings?: NotificationSettings): SlackFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts351export function discordFormValuesToSettings(values: DiscordFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts365export function emailFormValuesToSettings(values: EmailFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts386export function telegramFormValuesToSettings(values: TelegramFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts401export function signalFormValuesToSettings(values: SignalFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts423export function slackFormValuesToSettings(values: SlackFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts462export function pushoverSettingsToFormValues(settings?: NotificationSettings): PushoverFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts476export function gotifySettingsToFormValues(settings?: NotificationSettings): GotifyFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts494export function matrixSettingsToFormValues(settings?: NotificationSettings): MatrixFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts509export function googleChatSettingsToFormValues(settings?: NotificationSettings): GoogleChatFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts519export function genericSettingsToFormValues(settings?: NotificationSettings): GenericFormValues {CODE
LOWfrontend/src/lib/types/notifications.ts568export function pushoverFormValuesToSettings(values: PushoverFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts586export function gotifyFormValuesToSettings(values: GotifyFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts605export function matrixFormValuesToSettings(values: MatrixFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts621export function googleChatFormValuesToSettings(values: GoogleChatFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/types/notifications.ts632export function genericFormValuesToSettings(values: GenericFormValues): NotificationSettings {CODE
LOWfrontend/src/lib/config/navigation-config.ts357export function getNavigationTitleForPath(pathname: string): string | undefined {CODE
LOWfrontend/src/lib/config/navigation-config.ts374export function getSettingsSubpageUrlsInNavOrder(): string[] {CODE
LOWfrontend/src/lib/config/navigation-config.ts379export function getCustomizeSubpageUrlsInNavOrder(): string[] {CODE
LOWfrontend/src/lib/config/navigation-config.ts428export function getAvailableMobileNavItems(options?: {CODE
LOWfrontend/src/lib/stores/environment.store.svelte.ts42function createEnvironmentManagementStore() {CODE
LOWfrontend/src/lib/stores/features.store.svelte.ts12async function clearVulnerabilityQueries(environmentId: string): Promise<void> {CODE
LOWfrontend/src/lib/stores/dashboard.store.svelte.ts87 function replaceEnvironmentSnapshotInternal(environmentId: string, snapshot: DashboardSnapshot) {CODE
LOWfrontend/src/lib/stores/client-stream.svelte.ts20function createClientStreamInternal() {CODE
LOW…tend/src/lib/stores/environment-status.store.svelte.ts22function createEnvironmentStatusStoreInternal() {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts52function getActivitySortTimeInternal(activity: Activity): number {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts61function activitySearchHaystackInternal(activity: Activity): string {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts119function finalizeBatchGroupInternal(group: ActivityBatchGroup) {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts140function groupStatusIsActiveInternal(group: ActivityGroup): boolean {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts144function sourceEnvironmentIdInternal(activity: Activity | null | undefined): string {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts174 function noteActivityStatusInternal(activity: Activity) {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts294 function normalizeActivityInternal(activity: Activity, environmentId: string): Activity {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts310 function replaceEnvironmentSnapshotInternal(environmentId: string, activities: Activity[]) {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts340 function rebuildActivitiesInternal() {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts415 function activityEnvironmentIdInternal(activityId: string): string {CODE
LOWfrontend/src/lib/stores/activity.store.svelte.ts522 function environmentFailuresInternal(): ActivityEnvironmentFailure[] {CODE
LOWfrontend/src/lib/stores/version.store.svelte.ts13function createVersionStoreInternal() {CODE
LOWfrontend/src/lib/stores/operation-watch.store.svelte.ts8function createOperationWatchStore() {CODE
LOWfrontend/src/lib/stores/environment-stream.svelte.ts123 function clearAllEnvironmentErrors() {CODE
LOWfrontend/src/lib/utils/image-updates.ts18export function formatImageUpdateCheckedAt(value: string) {CODE
LOWfrontend/src/lib/utils/access-policy.ts45export function getFallbackAccessSurfaces(manifest: PermissionsManifest | null | undefined): AccessSurface[] {CODE
LOWfrontend/src/lib/utils/access-policy.ts102function hasPermissionForScopeInternal(CODE
LOWfrontend/src/lib/utils/access-policy.ts123function permissionsForEnvInternal(user: User, envId: string | undefined): Set<string> {CODE
LOWfrontend/src/lib/utils/access-policy.ts134function buildSurfaceIndexInternal(surfaces: AccessSurface[]): SurfaceIndex {CODE
LOWfrontend/src/lib/utils/access-policy.ts154function isTemplateSegmentInternal(segment: string): boolean {CODE
LOWfrontend/src/lib/utils/resource-actions.ts14export function createRefreshActionButtons({CODE
LOWfrontend/src/lib/utils/vulnerability.ts166export function toBulkVulnerabilityFilters(options: SearchPaginationSortRequest): BulkVulnerabilityFilters {CODE
LOW⚡frontend/src/lib/utils/vulnerability.ts194export function vulnerabilityOverviewEnvironments(): EnvironmentRef[] {CODE
LOW⚡frontend/src/lib/utils/vulnerability.ts204export function vulnerabilityOverviewEnvironment(): EnvironmentRef | undefined {CODE
LOW⚡frontend/src/lib/utils/vulnerability.ts213export function vulnerabilityEnvironments(): EnvironmentRef[] {CODE
LOWfrontend/src/lib/utils/vulnerability.ts252export function toastVulnerabilityScanStatus(CODE
LOWfrontend/src/lib/utils/activity-toast.ts26export function activityIdFromStreamFrame(data: unknown): string | undefined {CODE
LOWfrontend/src/lib/utils/navigation.ts22export function getEffectiveNavigationSettings(): MobileNavigationSettings {CODE
LOWfrontend/src/lib/utils/browser-download.ts20export function filenameFromContentDisposition(header: string | null, fallback: string): string {CODE
274 more matches not shown…
Over-Commented Block371 hits · 324 pts
SeverityFileLineSnippetContext
LOWtypes/settings/settings.go21// SettingDto represents a setting with visibility information.COMMENT
LOWtypes/settings/settings.go41 // Must be an absolute path.COMMENT
LOWtypes/settings/settings.go61COMMENT
LOWtypes/settings/settings.go81COMMENT
LOWtypes/settings/settings.go101COMMENT
LOWtypes/settings/settings.go121COMMENT
LOWtypes/settings/settings.go141 // Required: falseCOMMENT
LOWtypes/settings/settings.go161 // Required: falseCOMMENT
LOWtypes/settings/settings.go181 // Required: falseCOMMENT
LOWtypes/settings/settings.go201COMMENT
LOWtypes/settings/settings.go221 //COMMENT
LOWtypes/settings/settings.go241 GitSyncMaxBinarySizeMb *string `json:"gitSyncMaxBinarySizeMb,omitzero"`COMMENT
LOWtypes/settings/settings.go261COMMENT
LOWtypes/settings/settings.go281COMMENT
LOWtypes/settings/settings.go301 // Required: falseCOMMENT
LOWtypes/settings/settings.go321 // Required: falseCOMMENT
LOWtypes/settings/settings.go341 // TrivyPrivileged controls whether Trivy scan containers run in privileged mode.COMMENT
LOWtypes/settings/settings.go361 TrivyMemoryLimitMb *string `json:"trivyMemoryLimitMb,omitzero"`COMMENT
LOWtypes/settings/settings.go381 //COMMENT
LOWtypes/settings/settings.go401 //COMMENT
LOWtypes/settings/settings.go421 // ImageAutoPatchInterval is the cron expression for scheduled image patching.COMMENT
LOWtypes/settings/settings.go441 // OidcScopes is the list of OIDC scopes to request.COMMENT
LOWtypes/settings/settings.go461COMMENT
LOWtypes/settings/settings.go481COMMENT
LOWtypes/settings/settings.go501COMMENT
LOWtypes/settings/settings.go521COMMENT
LOWtypes/settings/settings.go541COMMENT
LOWtypes/settings/settings.go561 BuildsDirectory *string `json:"buildsDirectory,omitzero"`COMMENT
LOWtypes/swarm/service.go61 ID string `json:"id"`COMMENT
LOWtypes/swarm/service.go81 //COMMENT
LOWtypes/swarm/service.go101 //COMMENT
LOWtypes/swarm/service.go121 //COMMENT
LOWtypes/swarm/service.go141COMMENT
LOWtypes/swarm/service.go261 // EncodedRegistryAuth is the encoded registry authorization credentials.COMMENT
LOWtypes/swarm/service.go301// NewServiceSummary converts a Docker swarm service into the API-facing ServiceSummary shape.COMMENT
LOWtypes/swarm/task.go21 //COMMENT
LOWtypes/swarm/task.go41 //COMMENT
LOWtypes/swarm/task.go61 //COMMENT
LOWtypes/swarm/task.go81// NewTaskSummary converts a Docker swarm task into the API-facing TaskSummary shape.COMMENT
LOWtypes/swarm/swarm.go21 // Required: trueCOMMENT
LOWtypes/swarm/stack.go21 // Services is the number of services in the stack.COMMENT
LOWtypes/swarm/stack.go41 Name string `json:"name"`COMMENT
LOWtypes/swarm/stack.go81 // EnvContent is the optional environment file content.COMMENT
LOWtypes/swarm/stack.go101 Services []string `json:"services"`COMMENT
LOWtypes/swarm/stack.go121 //COMMENT
LOWtypes/swarm/stack.go141COMMENT
LOWtypes/swarm/stack.go161 //COMMENT
LOWtypes/swarm/stack_deploy.go1package swarmCOMMENT
LOWtypes/swarm/stack_deploy.go21 // EnvContent is the optional environment file content.COMMENT
LOWtypes/swarm/stack_deploy.go41 // ResolveImage controls how image digests are resolved (always, changed, never).COMMENT
LOWtypes/swarm/node.go61 Role string `json:"role"`COMMENT
LOWtypes/swarm/node.go81 ManagerStatus string `json:"managerStatus,omitempty"`COMMENT
LOWtypes/swarm/node.go101 SystemLabels map[string]string `json:"systemLabels,omitempty"`COMMENT
LOWtypes/swarm/node.go141 //COMMENT
LOWtypes/containerregistry/browse.go21 //COMMENT
LOWtypes/containerregistry/browse.go41 //COMMENT
LOWtypes/containerregistry/container_registry.go21COMMENT
LOWtypes/containerregistry/container_registry.go41COMMENT
LOWtypes/containerregistry/container_registry.go81 RegistryID string `json:"registryId"`COMMENT
LOWtypes/containerregistry/container_registry.go101 Repository string `json:"repository,omitempty"`COMMENT
311 more matches not shown…
Fake / Example Data20 hits · 20 pts
SeverityFileLineSnippetContext
LOWtypes/user/user.go42 DisplayName *string `json:"displayName,omitempty" maxLength:"255" doc:"Display name of the user" example:"John Doe"CODE
LOWtypes/user/user.go71 DisplayName *string `json:"displayName,omitempty" doc:"Display name of the user" example:"JoCODE
LOWfrontend/messages/tr.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/hu.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/ja.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/ru.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/pl.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/uk.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/eo.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/zh-CN.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/en.json1639 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/it.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/fr.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/el.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/ko.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/zh-TW.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/vi.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/cs.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/da.json1637 "user_example_com_placeholder": "user@example.com",CODE
LOWfrontend/messages/sv.json1637 "user_example_com_placeholder": "user@example.com",CODE
Redundant / Tautological Comments4 hits · 8 pts
SeverityFileLineSnippetContext
LOW⚡scripts/development/dev.sh128 # Check if Docker is availableCOMMENT
LOW⚡scripts/development/dev.sh133 # Check if Docker daemon is running (only if Docker is available)COMMENT
LOW⚡scripts/development/dev.sh138 # Check if Docker Compose is availableCOMMENT
LOWscripts/development/dev.sh192 # Check if the specified service container is runningCOMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMbackend/internal/project/handler.go314// streamProjectOperation is the shared scaffold for the streamedCOMMENT
MEDIUMbackend/api/ws/log_streams.go101// serveLogStream is the shared scaffold for all three WS log endpoints (project, container, service).COMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHSECURITY.md15> Reports must be written by a human, not generated by AI. This requirement may seem unusual, but it serves as a validatCODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtypes/base/json.go10// seamless database integration.COMMENT
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWbackend/internal/user/service.go550 // Step 1: ensure the default admin user row exists. If the users table isCOMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWbackend/internal/user/service.go550 // Step 1: ensure the default admin user row exists. If the users table isCOMMENT