AI Slop Code Risk Monitor

rikkahub/rikkahub

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

RikkaHub is an Android APP that supports for multiple LLM providers.

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for rikkahub/rikkahub, a Kotlin project with 8,569 GitHub stars. SynthScan examined 297,960 lines of code across 1255 source files, recording 166 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.5 (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.5
Adjusted Signal
1.5
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
8.6K
Stars
Kotlin
Language
298.0K
Lines of Code
1.3K
Files
166
Pattern Hits
2026-10-31
Scan Date
0.02
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 3.1/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.8/100 · LOW

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

Agent Over-Engineering Ratio 0.7/100 · LOW

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

PR Review Velocity Impact 6.5/100 · LOW

Which changes need focused human review? 166 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 13HIGH 18MEDIUM 14LOW 121

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 166 distinct pattern matches across 12 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.

Hallucination Indicators13 hits · 150 pts
SeverityFileLineSnippetContext
CRITICAL…e/rikkahub/ui/pages/chat/VoiceSessionControllerTest.kt163 rig.queue.remove(rig.queue.state.value.messages.single().id)CODE
CRITICAL…e/rikkahub/ui/pages/chat/VoiceSessionControllerTest.kt180 assertEquals("final", (rig.queue.state.value.messages.single().parts.single() as UIMessagePart.Text).text)CODE
CRITICAL…e/rikkahub/ui/pages/chat/VoiceSessionControllerTest.kt244 val removed = rig.queue.state.value.messages.last()CODE
CRITICALapp/src/main/java/me/rerere/rikkahub/web/dto/WebDto.kt334fun me.rerere.rikkahub.data.model.Folder.toDto() = FolderDto(CODE
CRITICAL…rc/main/java/me/rerere/rikkahub/service/ChatService.kt383 if (session.messageQueue.state.value.messages.isEmpty()) session.messageQueue.resume()CODE
CRITICAL…rc/main/java/me/rerere/rikkahub/service/ChatService.kt395 check(!session.messageQueue.state.value.paused || session.messageQueue.state.value.messages.isEmpty()) {CODE
CRITICAL…rc/main/java/me/rerere/rikkahub/service/ChatService.kt401 if (session.messageQueue.state.value.messages.isEmpty()) session.messageQueue.resume()CODE
CRITICAL…ain/java/me/rerere/rikkahub/data/remote/ProxyConfig.kt80 settingsStore.settingsFlow.value.networkSetting.proxyUrl.toProxyOrNull()?.let { proxy ->CODE
CRITICAL…ain/java/me/rerere/rikkahub/data/remote/ProxyConfig.kt90 if (settingsStore.settingsFlow.value.networkSetting.proxyUrl.toProxyOrNull() == null) {CODE
CRITICAL⚡.agents/skills/claude-api/shared/admin-api.md115client.beta.organization.workspaces.members.add(CODE
CRITICAL⚡.agents/skills/claude-api/shared/admin-api.md124client.beta.organization.workspaces.rate_limits.list("wrkspc_...")CODE
CRITICAL⚡.agents/skills/claude-api/shared/admin-api.md128issuer = client.beta.organization.federation.issuers.create(CODE
CRITICAL⚡.agents/skills/claude-api/shared/admin-api.md133client.beta.organization.federation.rules.create(CODE
Structural Annotation Overuse49 hits · 82 pts
SeverityFileLineSnippetContext
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt56 // Step 1: Interpret the pixels while taking into account the screen densityCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt60 // Step 2: Create a container to hold the ComposeView temporarilyCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt66 // Step 3: Create and configure the ComposeView using the activityCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt79 // Step 4: Attach container to the root decor viewCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt83 // Step 5: Create measure specifications for the ComposeViewCOMMENT
LOW…rc/main/java/me/rerere/ui/components/BitmapComposer.kt99 // Step 5: Wait for the ComposeView to be drawn and capture the bitmapCOMMENT
LOW…rc/main/java/me/rerere/ui/components/BitmapComposer.kt138 // Step 6: Clean up - remove the containerCOMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md12## Step 0: Confirm scope, current version, and targetCOMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md22## Step 1: Inventory the call sitesCOMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md47## Step 2: Environment - Python >= 3.10 and the dependency pinsCOMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md143## Step 5: Text Completions -> Messages (the one non-mechanical change)COMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md174## Step 6: Removed request parametersCOMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md197## Step 7: Renamed and removed names (pure renames)COMMENT
LOW…nts/skills/claude-api/python/claude-api/sdk-upgrade.md208## Step 8: Removed helper arguments and behaviourCOMMENT
LOW⚡…nts/skills/claude-api/python/claude-api/sdk-upgrade.md249## Step 9: Header names are matched case-insensitivelyCOMMENT
LOW⚡…nts/skills/claude-api/python/claude-api/sdk-upgrade.md253## Step 10: Bedrock - a region is requiredCOMMENT
LOW⚡…nts/skills/claude-api/python/claude-api/sdk-upgrade.md259## Step 11: VerifyCOMMENT
LOW⚡…nts/skills/claude-api/python/claude-api/sdk-upgrade.md265## Step 12: ReportCOMMENT
LOW.agents/skills/claude-api/shared/cost-optimization.md18## Step 0: Establish scope, quality bar, and baselineCOMMENT
LOW.agents/skills/claude-api/shared/cost-optimization.md32## Step 1: Profile where the tokens goCOMMENT
LOW.agents/skills/claude-api/shared/cost-optimization.md93## Step 2: Work the levers in orderCOMMENT
LOW.agents/skills/claude-api/shared/cost-optimization.md189## Step 3: Apply, measure, keep or revert - one lever at a timeCOMMENT
LOW.agents/skills/claude-api/shared/cost-optimization.md222## Step 4: DeliverablesCOMMENT
LOW…ills/claude-api/shared/preserved-thinking-migration.md32## Step 0: Establish scope, quality bar, and baselineCOMMENT
LOW…ills/claude-api/shared/preserved-thinking-migration.md57## Step 1: Find the editsCOMMENT
LOW…ills/claude-api/shared/preserved-thinking-migration.md114## Step 2: Measure with `drop_block` on a test sliceCOMMENT
LOW…ills/claude-api/shared/preserved-thinking-migration.md185## Step 3: Fix one cause per diff, re-measure, keep or revertCOMMENT
LOW…ills/claude-api/shared/preserved-thinking-migration.md223## Step 4: DeliverablesCOMMENT
LOW.agents/skills/claude-api/shared/model-migration.md54## Step 0: Confirm the migration scopeCOMMENT
LOW.agents/skills/claude-api/shared/model-migration.md106## Step 1: Classify each fileCOMMENT
LOW.agents/skills/claude-api/shared/prompt-audit.md20## Step 0: Establish scope and target modelCOMMENT
LOW.agents/skills/claude-api/shared/prompt-audit.md27## Step 1: Inventory the prompt surfaceCOMMENT
LOW⚡.agents/skills/claude-api/shared/prompt-audit.md39## Step 2: Establish provenanceCOMMENT
LOW⚡.agents/skills/claude-api/shared/prompt-audit.md45## Step 3: Classify every line - the deletion ruleCOMMENT
LOW⚡.agents/skills/claude-api/shared/prompt-audit.md54## Step 4: Scan for the anti-pattern groupsCOMMENT
LOW.agents/skills/claude-api/shared/prompt-audit.md205## Step 5: Produce the audit reportCOMMENT
LOW.agents/skills/claude-api/shared/prompt-audit.md222## Step 6: Produce the proposed diffCOMMENT
LOW.agents/skills/claude-api/shared/prompt-audit.md231## Step 7: Verify - removal is a hypothesis, not a conclusionCOMMENT
LOW.agents/skills/claude-api/shared/evals/build-eval.md19## Step 0: Understand what's being evaluatedCOMMENT
LOW.agents/skills/claude-api/shared/evals/build-eval.md39## Step 1: Find or build the input setCOMMENT
LOW.agents/skills/claude-api/shared/evals/build-eval.md68## Step 2: Decide how to gradeCOMMENT
LOW.agents/skills/claude-api/shared/evals/build-eval.md103## Step 3: Make it runnableCOMMENT
LOW.agents/skills/claude-api/shared/evals/build-eval.md193## Step 4: Hand it overCOMMENT
LOW…gents/skills/claude-api/shared/evals/eval-hillclimb.md17## Step 0: Confirm there's a runnable evalCOMMENT
LOW…gents/skills/claude-api/shared/evals/eval-hillclimb.md53## Step 1: Agree on the goal, what to change, and how it's wired inCOMMENT
LOW…gents/skills/claude-api/shared/evals/eval-hillclimb.md86## Step 2: Agree on a stopping condition (and a budget, if cost matters)COMMENT
LOW…gents/skills/claude-api/shared/evals/eval-hillclimb.md124## Step 3: Set up state, split the data, and take a baselineCOMMENT
LOW…gents/skills/claude-api/shared/evals/eval-hillclimb.md223## Step 4: The loopCOMMENT
LOW…gents/skills/claude-api/shared/evals/eval-hillclimb.md304## Step 5: Report and hand backCOMMENT
Magic Placeholder Names14 hits · 70 pts
SeverityFileLineSnippetContext
HIGHtools/i18n/README.md15OPENAI_API_KEY=your_api_keyCODE
HIGH…ub/ui/pages/setting/components/ASRProviderConfigure.kt285 placeholder = { Text("your-api-key") }CODE
HIGH.agents/skills/claude-api/go/claude-api/README.md24 option.WithAPIKey("your-api-key"),CODE
HIGH.agents/skills/claude-api/go/managed-agents/README.md28 option.WithAPIKey("your-api-key"),CODE
HIGH.agents/skills/claude-api/python/claude-api/README.md20client = anthropic.Anthropic(api_key="your-api-key")CODE
HIGH…ents/skills/claude-api/python/managed-agents/README.md24client = anthropic.Anthropic(api_key="your-api-key")CODE
HIGH…ents/skills/claude-api/typescript/claude-api/README.md26const client = new Anthropic({ apiKey: "your-api-key" });CODE
HIGH…/skills/claude-api/typescript/managed-agents/README.md24const client = new Anthropic({ apiKey: "your-api-key" });CODE
HIGH.agents/skills/claude-api/java/claude-api/README.md71 .apiKey("your-api-key")CODE
HIGH.agents/skills/claude-api/php/managed-agents/README.md22$client = new Client(apiKey: 'your-api-key');CODE
HIGH.agents/skills/claude-api/curl/examples.md8export ANTHROPIC_API_KEY="your-api-key"CODE
HIGH.agents/skills/claude-api/curl/managed-agents.md8export ANTHROPIC_API_KEY="your-api-key"CODE
HIGH.agents/skills/claude-api/ruby/claude-api/README.md20client = Anthropic::Client.new(api_key: "your-api-key")CODE
HIGH.agents/skills/claude-api/ruby/managed-agents/README.md22client = Anthropic::Client.new(api_key: "your-api-key")CODE
Modern AI Meta-Vocabulary8 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUM…-compose-performance/references/state-and-stability.md109### Common patterns: backwards writes versus event-driven updatesCOMMENT
MEDIUM.agents/skills/claude-api/python/claude-api/tool-use.md28# The tool runner handles the agentic loop automaticallyCOMMENT
MEDIUM…ts/skills/claude-api/typescript/claude-api/tool-use.md31// The tool runner handles the agentic loop and returns the final messageCOMMENT
MEDIUM.agents/skills/claude-api/shared/model-migration.md1751output_config={"effort": "high"}, # or "xhigh" for the hardest coding/agentic tasksCODE
MEDIUM…ude-api/shared/managed-agents-self-hosted-sandboxes.md206## Container orchestration (mid-level)COMMENT
MEDIUM.agents/skills/claude-api/shared/tool-use-concepts.md135# Handle pause_turn in your agentic loopCOMMENT
MEDIUM.agents/skills/claude-api/shared/models.md13m.max_input_tokens # context window (int)CODE
MEDIUM…api/shared/preserved-thinking-migration/prefix_diff.py1385# Each lead: (title, line pattern, context pattern or None, context window in lines, scope)COMMENT
Deep Nesting21 hits · 21 pts
SeverityFileLineSnippetContext
LOW…api/shared/preserved-thinking-migration/prefix_diff.py118CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py248CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py381CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py398CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py432CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py494CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py570CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py626CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py732CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py855CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py1128CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py1291CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py1453CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py129CODE
LOW…api/shared/preserved-thinking-migration/prefix_diff.py259CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py144CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py197CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py254CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py442CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py613CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py771CODE
Empty Error Handlers4 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…api/shared/preserved-thinking-migration/prefix_diff.py78except (AttributeError, ValueError): # a non-TextIOWrapper stand-in; nothing to configureCODE
HIGH…hared/preserved-thinking-migration/drop_block_probe.py110except (AttributeError, ValueError): # a non-TextIOWrapper stand-in; nothing to configureCODE
HIGH…hared/preserved-thinking-migration/drop_block_probe.py1030except OSError:CODE
HIGH…hared/preserved-thinking-migration/drop_block_probe.py389except ValueError:CODE
Over-Commented Block18 hits · 18 pts
SeverityFileLineSnippetContext
LOWapp/src/main/java/me/rerere/rikkahub/ui/theme/Type.kt21// ),COMMENT
LOWapp/src/main/java/me/rerere/rikkahub/ui/theme/Type.kt41// ),COMMENT
LOWapp/src/main/java/me/rerere/rikkahub/ui/theme/Type.kt61// ),COMMENT
LOW…src/main/java/me/rerere/rikkahub/ui/hooks/Lifecycle.kt21 */COMMENT
LOW…src/main/java/me/rerere/rikkahub/utils/DatabaseUtil.kt21// val field =COMMENT
LOWworkspace/src/main/cpp/CMakeLists.txt1COMMENT
LOWworkspace/src/main/cpp/CMakeLists.txt21# the target library name; in the sub-module's CMakeLists.txt, ${PROJECT_NAME}COMMENT
LOWworkspace/src/main/cpp/workspace.cpp1// Write C++ code here.COMMENT
LOW…hared/preserved-thinking-migration/drop_block_probe.py481 out[k.strip()] = v.strip()COMMENT
LOW…hared/preserved-thinking-migration/drop_block_probe.py501# indices carry the same six-digit budget as shareable_field_path andCOMMENT
LOW…/src/test/java/com/termux/terminal/KeyHandlerTest.java61 // K3=Upper right of keypad (xterm sends "<ESC>[5~" = Page Up).COMMENT
LOW…src/test/java/com/termux/terminal/TerminalRowTest.java381 for (int point : points) {COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java901 // names.COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java921 // Xterm response in normal cursor mode:COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java1201 // mouse report.COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java1221 // (4) allows modification of function-keys, overrides use of Shift-modifier for UDK.COMMENT
LOW…rc/main/java/com/termux/terminal/TerminalEmulator.java1241 // - Set it to 2 to force the modifier to be the second parameter if it would otherwise be the first.COMMENT
LOWterminal/src/main/cpp/termux_pty.cpp1#include <jni.h>COMMENT
AI Slop Vocabulary4 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUM⚡…hared/preserved-thinking-migration/drop_block_probe.py332 # No tool may run during a replay, server-side or the harness's own: tool_choice is outside the comparedCOMMENT
MEDIUM⚡…hared/preserved-thinking-migration/drop_block_probe.py341 # part of the compared tool set, so removing the entry would read as a tool_set_changed break the harnessCOMMENT
MEDIUM⚡…hared/preserved-thinking-migration/drop_block_probe.py342 # never made. validate() warns when the entry carries an authorization_token (it goes out as the harnessCOMMENT
MEDIUM…hared/preserved-thinking-migration/drop_block_probe.py690 # a thinking block whose text was changed is a different 400 ("cannot be modified"): a harness finding,COMMENT
Hyper-Verbose Identifiers13 hits · 14 pts
SeverityFileLineSnippetContext
LOWweb-ui/app/components/conversation-quick-jump.tsx8export function getConversationMessageAnchorId(messageId: string): string {CODE
LOWweb-ui/app/components/markdown/code-block.tsx338export function CodeBlockLanguageSelector(props: CodeBlockLanguageSelectorProps) {CODE
LOWweb-ui/app/components/markdown/code-block.tsx344export function CodeBlockLanguageSelectorTrigger({CODE
LOW⚡web-ui/app/components/markdown/code-block.tsx359export function CodeBlockLanguageSelectorValue(props: CodeBlockLanguageSelectorValueProps) {CODE
LOW⚡web-ui/app/components/markdown/code-block.tsx365export function CodeBlockLanguageSelectorContent({CODE
LOW⚡web-ui/app/components/markdown/code-block.tsx374export function CodeBlockLanguageSelectorItem(props: CodeBlockLanguageSelectorItemProps) {CODE
LOW…ui/app/components/message/chat-message-annotations.tsx25export function ChatMessageAnnotationsRow({CODE
LOWweb-ui/app/components/message/chain-of-thought.tsx117function ControlledChainOfThoughtStep({CODE
LOWweb-ui/app/components/message/chain-of-thought.tsx139function ChainOfThoughtStepContent({CODE
LOWweb-ui/app/hooks/use-conversation-list.ts290export function toConversationSummaryUpdate(CODE
LOWweb-ui/app/lib/export-markdown.ts31export function convertConversationToMarkdown(CODE
LOWweb-ui/app/routes/conversations.tsx203function shouldDeleteAttachmentFileOnRemove(part: UIMessagePart): boolean {CODE
LOW…ents/skills/claude-api/shared/managed-agents-events.md259def connect_with_consolidation(client, session_id):CODE
Verbosity Indicators7 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt56 // Step 1: Interpret the pixels while taking into account the screen densityCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt60 // Step 2: Create a container to hold the ComposeView temporarilyCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt66 // Step 3: Create and configure the ComposeView using the activityCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt79 // Step 4: Attach container to the root decor viewCOMMENT
LOW⚡…rc/main/java/me/rerere/ui/components/BitmapComposer.kt83 // Step 5: Create measure specifications for the ComposeViewCOMMENT
LOW…rc/main/java/me/rerere/ui/components/BitmapComposer.kt99 // Step 5: Wait for the ComposeView to be drawn and capture the bitmapCOMMENT
LOW…rc/main/java/me/rerere/ui/components/BitmapComposer.kt138 // Step 6: Clean up - remove the containerCOMMENT
Fake / Example Data11 hits · 11 pts
SeverityFileLineSnippetContext
LOW…/me/rerere/rikkahub/data/ai/account/ChatGPTAuthTest.kt22 "email": "user@example.com",STRING
LOW…/me/rerere/rikkahub/data/ai/account/ChatGPTAuthTest.kt48 assertEquals("user@example.com", credential.email)CODE
LOW…/me/rerere/rikkahub/data/ai/account/ChatGPTAuthTest.kt69 email = "user@example.com",CODE
LOW…/me/rerere/rikkahub/data/ai/account/ChatGPTAuthTest.kt82 assertEquals("user@example.com", credential.email)CODE
LOW…n/java/me/rerere/rikkahub/ui/components/ui/UIAvatar.kt376 name = "John Doe",CODE
LOW…n/java/me/rerere/rikkahub/ui/components/ui/UIAvatar.kt382 name = "John Doe",CODE
LOW…main/java/me/rerere/rikkahub/ui/pages/debug/DebugVM.kt111 append("Lorem ipsum dolor sit amet, consectetur adipiscing elit. ")CODE
LOW…main/java/me/rerere/rikkahub/ui/pages/debug/DebugVM.kt111 append("Lorem ipsum dolor sit amet, consectetur adipiscing elit. ")CODE
LOW.agents/skills/claude-api/python/claude-api/tool-use.md530print(contact.name) # "Jane Doe"CODE
LOW…ts/skills/claude-api/typescript/claude-api/tool-use.md594console.log(response.parsed_output!.name); // "Jane Doe"CODE
LOW⚡.agents/skills/claude-api/shared/admin-api.md111client.beta.organization.invites.create(email="user@example.com", role="developer")CODE
Excessive Try-Catch Wrapping4 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM.agents/skills/claude-api/python/claude-api/tool-use.md439 print(f"Error: {result.stderr}")CODE
LOW…ts/skills/claude-api/shared/managed-agents-webhooks.md50 except Exception:CODE
MEDIUM…ts/skills/claude-api/shared/managed-agents-webhooks.md44def webhook():CODE
LOW…hared/preserved-thinking-migration/drop_block_probe.py116except Exception: # pragma: no coverCODE