AI Slop Code RIsk Monitor

chenhg5/cc-connect

Bridge local AI coding agents (Claude Code, Cursor, Gemini CLI, Codex) to messaging platforms (Feishu/Lark, DingTalk, Slack, Telegram, Discord, LINE, WeChat Work). Chat with your AI dev assistant from anywhere — no public IP required for most platforms.

6.2 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for chenhg5/cc-connect, a Go project with 15,867 GitHub stars. SynthScan examined 266,025 lines of code across 627 source files, recording 849 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 6.2 (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.

6.2
Adjusted Signal
6.2
Raw Pattern Score
100%
Time Factor
2026-09-29
Last Push
15.9K
Stars
Go
Language
266.0K
Lines of Code
627
Files
849
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 7.5/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.2/100 · LOW

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

Agent Over-Engineering Ratio 20.7/100 · LOW

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

PR Review Velocity Impact 27.6/100 · MEDIUM

Which changes need focused human review? 849 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 0MEDIUM 435LOW 414

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 849 distinct pattern matches across 8 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 Separators431 hits · 1232 pts
SeverityFileLineSnippetContext
MEDIUM⚡config.example.toml282# =============================================================================COMMENT
MEDIUM⚡config.example.toml284# =============================================================================COMMENT
MEDIUM⚡config.example.toml293# =============================================================================COMMENT
MEDIUM⚡config.example.toml298# =============================================================================COMMENT
MEDIUM⚡config.example.toml373# =============================================================================COMMENT
MEDIUM⚡config.example.toml375# =============================================================================COMMENT
MEDIUM⚡config.example.toml385# =============================================================================COMMENT
MEDIUM⚡config.example.toml387# =============================================================================COMMENT
MEDIUM⚡config.example.toml589# =============================================================================COMMENT
MEDIUM⚡config.example.toml591# =============================================================================COMMENT
MEDIUM⚡config.example.toml600# =============================================================================COMMENT
MEDIUM⚡config.example.toml602# =============================================================================COMMENT
MEDIUM⚡config.example.toml685# =============================================================================COMMENT
MEDIUM⚡config.example.toml687# =============================================================================COMMENT
MEDIUM⚡config.example.toml695# =============================================================================COMMENT
MEDIUM⚡config.example.toml697# =============================================================================COMMENT
MEDIUMconfig.example.toml16# =============================================================================COMMENT
MEDIUMconfig.example.toml18# =============================================================================COMMENT
MEDIUMconfig.example.toml80# =============================================================================COMMENT
MEDIUMconfig.example.toml82# =============================================================================COMMENT
MEDIUMconfig.example.toml118# =============================================================================COMMENT
MEDIUMconfig.example.toml120# =============================================================================COMMENT
MEDIUMconfig.example.toml209# =============================================================================COMMENT
MEDIUMconfig.example.toml212# =============================================================================COMMENT
MEDIUMconfig.example.toml250# =============================================================================COMMENT
MEDIUMconfig.example.toml252# =============================================================================COMMENT
MEDIUMconfig.example.toml265# =============================================================================COMMENT
MEDIUMconfig.example.toml267# =============================================================================COMMENT
MEDIUMconfig.example.toml317# =============================================================================COMMENT
MEDIUMconfig.example.toml319# =============================================================================COMMENT
MEDIUMconfig.example.toml332# =============================================================================COMMENT
MEDIUMconfig.example.toml334# =============================================================================COMMENT
MEDIUMconfig.example.toml420# =============================================================================COMMENT
MEDIUMconfig.example.toml423# =============================================================================COMMENT
MEDIUMconfig.example.toml435# =============================================================================COMMENT
MEDIUMconfig.example.toml438# =============================================================================COMMENT
MEDIUMconfig.example.toml450# =============================================================================COMMENT
MEDIUMconfig.example.toml452# =============================================================================COMMENT
MEDIUMconfig.example.toml489# =============================================================================COMMENT
MEDIUMconfig.example.toml491# =============================================================================COMMENT
MEDIUMconfig.example.toml514# =============================================================================COMMENT
MEDIUMconfig.example.toml516# =============================================================================COMMENT
MEDIUMconfig.example.toml729# =============================================================================COMMENT
MEDIUMconfig.example.toml731# =============================================================================COMMENT
MEDIUMconfig.example.toml756# =============================================================================COMMENT
MEDIUMconfig.example.toml758# =============================================================================COMMENT
MEDIUMconfig.example.toml1574# -----------------------------------------------------------------------------COMMENT
MEDIUMconfig.example.toml1578# -----------------------------------------------------------------------------COMMENT
MEDIUMconfig.example.toml1590# =============================================================================COMMENT
MEDIUMconfig.example.toml1592# =============================================================================COMMENT
MEDIUMconfig.example.toml1628# =============================================================================COMMENT
MEDIUMconfig.example.toml1630# =============================================================================COMMENT
MEDIUMconfig.example.toml1679# =============================================================================COMMENT
MEDIUMconfig.example.toml1681# =============================================================================COMMENT
MEDIUMconfig.example.toml1755# =============================================================================COMMENT
MEDIUMconfig.example.toml1757# =============================================================================COMMENT
MEDIUMconfig.example.toml1832# =============================================================================COMMENT
MEDIUMconfig.example.toml1834# =============================================================================COMMENT
MEDIUMconfig.example.toml1873# =============================================================================COMMENT
MEDIUMconfig.example.toml1875# =============================================================================COMMENT
371 more matches not shown…
Over-Commented Block278 hits · 206 pts
SeverityFileLineSnippetContext
LOWconfig.example.toml1# cc-connect configurationCOMMENT
LOWconfig.example.toml21# - "en": EnglishCOMMENT
LOWconfig.example.toml41# managers may not propagate HOME, and any relative value would be resolvedCOMMENT
LOWconfig.example.toml61# 调大可发送更大文件;/send 请求体上限会随之按 base64 膨胀自动放大。COMMENT
LOWconfig.example.toml81# Global Providers / 全局服务商COMMENT
LOWconfig.example.toml101# agent_types = ["claudecode"]COMMENT
LOWconfig.example.toml121# Controls how intermediate messages (thinking, tool use) are shown in chat.COMMENT
LOWconfig.example.toml141# show_context_indicator = true # Show "[ctx: ~N%]" suffix on assistant replies (default: true)COMMENT
LOWconfig.example.toml161# hide_agent_footer = true # Hide agent-emitted model/token footer only for this projectCOMMENT
LOWconfig.example.toml181# debugging noise, abandoned tangents) gets re-ingested via --continue everyCOMMENT
LOWconfig.example.toml201# 在单次对话正常完成后,如果该聊天会话/主题长时间没有新消息,则关闭对应的 live agentCOMMENT
LOWconfig.example.toml221#COMMENT
LOWconfig.example.toml241# [[projects]]COMMENT
LOWconfig.example.toml261# interval_ms = 1500 # Min ms between updates (default: 1500) / 更新最小间隔毫秒数(默认 1500)COMMENT
LOWconfig.example.toml281COMMENT
LOWconfig.example.toml301# burst = 3 # Max burst size; default = ceil(max_per_second) / 最大突发数量COMMENT
LOWconfig.example.toml321# the target bot to finish responding during `cc-connect relay send`.COMMENT
LOWconfig.example.toml341# therefore strictly more timely — prefer that where it is available, and useCOMMENT
LOWconfig.example.toml361# # reporting at all always use the heuristic — for them it isCOMMENT
LOWconfig.example.toml381# # 静默模式:不发送定时任务开始执行的通知消息(默认 false)COMMENT
LOWconfig.example.toml401# curl -X POST http://localhost:9111/hook \COMMENT
LOWconfig.example.toml421# Bridge Platform (External Adapters via WebSocket)COMMENT
LOWconfig.example.toml441# See docs/management-api.md for the full API specification.COMMENT
LOWconfig.example.toml461# cron.triggered — cron job fires / 定时任务触发COMMENT
LOWconfig.example.toml481# type = "http"COMMENT
LOWconfig.example.toml501# language = "" # e.g. "zh", "en"; empty = auto-detect / 如 "zh"、"en";留空自动检测COMMENT
LOWconfig.example.toml521# "voice_only" (default) - only reply with voice when user sends a voice messageCOMMENT
LOWconfig.example.toml541# max_text_len = 0 # max rune count before skipping TTS; 0 = no limitCOMMENT
LOWconfig.example.toml561# # Docs: https://platform.minimaxi.com/document/T2A%20V2COMMENT
LOWconfig.example.toml581# # 备选:小米 MiMo-V2.5-TTS(OpenAI 兼容的 chat completions 风格)COMMENT
LOWconfig.example.toml601# Custom Skills (Slash Commands) / 自定义命令COMMENT
LOWconfig.example.toml621# Default values are used when the corresponding argument is not provided.COMMENT
LOWconfig.example.toml641# prompt = "Translate the following text to {{1:English}}:\n{{2*}}"COMMENT
LOWconfig.example.toml661# [[commands]]COMMENT
LOWconfig.example.toml681# In addition, cc-connect auto-discovers .md files from the agent's commandsCOMMENT
LOWconfig.example.toml701#COMMENT
LOWconfig.example.toml721#COMMENT
LOWconfig.example.toml741# base_dir = "~/workspace"COMMENT
LOWconfig.example.toml761name = "my-backend"COMMENT
LOWconfig.example.toml781# admin_from controls who can run privileged commands (/dir, /shell, /restart, /upgrade, /commands addexec, /cron addexeCOMMENT
LOWconfig.example.toml801# Only use this for personal single-user deployments where you trust every allowed user.COMMENT
LOWconfig.example.toml821# disabled_commands = [] # no restrictionsCOMMENT
LOWconfig.example.toml841# interval_mins = 30 # Interval in minutes (default: 30) / 间隔分钟数(默认 30)COMMENT
LOWconfig.example.toml861COMMENT
LOWconfig.example.toml881# Claude Code's naming scheme, or when you want to hard-pin a specificCOMMENT
LOWconfig.example.toml901COMMENT
LOWconfig.example.toml921# ANTHROPIC_AUTH_TOKEN = "sk-kimi-xxx"COMMENT
LOWconfig.example.toml941#COMMENT
LOWconfig.example.toml961# [[projects.agent.providers]]COMMENT
LOWconfig.example.toml981# # Some providers (e.g. SiliconFlow) don't support Claude's adaptive thinking.COMMENT
LOWconfig.example.toml1001# model = "MiniMax-M2.7"COMMENT
LOWconfig.example.toml1021# # For Bedrock/Vertex/Foundry that don't support adaptive thinking,COMMENT
LOWconfig.example.toml1041#COMMENT
LOWconfig.example.toml1061[[projects.platforms]]COMMENT
LOWconfig.example.toml1081# # Agent 完成回复后添加的表情回复(如 "Done");设为 "none" 可禁用COMMENT
LOWconfig.example.toml1101# # Takes priority over resolve_mentions group-member matching. Requires resolve_mentions = trCOMMENT
LOWconfig.example.toml1121# 2. Enable Bot capability / 开启机器人能力COMMENT
LOWconfig.example.toml1141# progress_style = "legacy" # legacy | compact | cardCOMMENT
LOWconfig.example.toml1161# # Agent 完成回复后添加的表情回复(如 "🥳Done");设为 "none" 可禁用COMMENT
LOWconfig.example.toml1181# [projects.platforms.options]COMMENT
218 more matches not shown…
Structural Annotation Overuse84 hits · 132 pts
SeverityFileLineSnippetContext
LOWINSTALL.md19## Step 1: Install cc-connectCOMMENT
LOWINSTALL.md70## Step 2: Install your AI AgentCOMMENT
LOWINSTALL.md106## Step 3: Create config.tomlCOMMENT
LOWINSTALL.md171## Step 4: Configure a Messaging PlatformCOMMENT
LOWINSTALL.md464## Step 5: Run cc-connectCOMMENT
LOWINSTALL.md504## Step 6: Chat CommandsCOMMENT
LOWINSTALL.md528## Step 7: Enable Natural Language Scheduling (Non-Claude-Code Agents)COMMENT
LOWINSTALL.md744## Step 8: Run as Background Service (Optional)COMMENT
LOW⚡core/engine_test.go8016 // Step 3: New turn creates Session B and calls getOrCreateInteractiveStateWith.COMMENT
LOW⚡core/engine_test.go15616 // Step 2: send a message (this triggers startOrResumeSession + processInteractiveEvents)COMMENT
LOW⚡core/engine_test.go15626 // Step 3: verify session name was mappedCOMMENT
LOWcore/engine_test.go8002 // Step 1: Old turn created state S1 with old agent.COMMENT
LOWcore/engine_test.go8028 // Step 4: Old goroutine exits and calls cleanup with OLD state pointer.COMMENT
LOWcore/engine_test.go15638 // Step 4: verify /list displays the nameCOMMENT
LOW⚡core/engine.go17142 // Step 1: Check existing bindingCOMMENT
LOW⚡core/engine.go17150 // Step 2: Resolve channel name for convention matchCOMMENT
LOWcore/engine.go17165 // Step 3: Convention match — check if base_dir/<channel-name> existsCOMMENT
LOWplatform/feishu/feishu_test.go1422 // Step 1: opening message @mentions the bot — establishes the thread.COMMENT
LOWplatform/feishu/feishu_test.go1436 // Step 2: follow-up image in the same thread, no @mention — should pass through.COMMENT
LOWplatform/feishu/feishu_test.go1453 // Step 3: image in a *different* thread without @mention — should still be dropped.COMMENT
LOWplatform/feishu/feishu_test.go1464 // Step 4: text without @mention in the active thread — should be droppedCOMMENT
LOWplatform/wps-agentspace/wpsagentspace.go704 // Step 1: Get login URLCOMMENT
LOW⚡platform/wps-agentspace/wpsagentspace.go740 // Step 2: Open browserCOMMENT
LOW⚡platform/wps-agentspace/wpsagentspace.go745 // Step 3: Poll for tokenCOMMENT
LOWplatform/qq/qq.go330 // Step 1: Try direct URL from message segment (with longer timeout for large files)COMMENT
LOWplatform/qq/qq.go346 // Step 2: Get fresh direct link via NapCat API (CDN URLs expire / have download limits)COMMENT
LOWplatform/qq/qq.go390 // Step 3: Last resort — get_file (downloads to NapCat local or returns base64)COMMENT
LOWagent/copilot/session.go165 // Step 1: PingCOMMENT
LOWagent/copilot/session.go179 // Step 2: Create or resume sessionCOMMENT
LOWagent/claudecode/provider_env_test.go341 // Step 1: simulate the user's first message after `/provider switch minimax`.COMMENT
LOW⚡agent/claudecode/provider_env_test.go354 // Step 2: simulate a cc-connect process restart. agent_session_id isCOMMENT
LOW⚡agent/claudecode/provider_env_test.go363 // Step 3: engine looks up session.ActiveProvider and re-binds it beforeCOMMENT
LOWagent/codex/provider_resume_test.go43 // Step 1: simulate the user's `/provider switch alt-provider`.COMMENT
LOW⚡agent/codex/provider_resume_test.go59 // Step 2: simulate restart — activeIdx is back to -1.COMMENT
LOW⚡agent/codex/provider_resume_test.go68 // Step 3: engine calls restoreActiveProviderFromSession → SetActiveProvider.COMMENT
LOWagent/codex/integration_test.go30 // Step 1: write config.toml via our functionCOMMENT
LOWagent/codex/integration_test.go56 // Step 2: write auth.json via our functionCOMMENT
LOWagent/codex/integration_test.go78 // Step 3: run codex exec with the generated configCOMMENT
LOWagent/kimi/provider_resume_test.go42 // Step 1: simulate `/provider switch alt-provider`.COMMENT
LOW⚡agent/kimi/provider_resume_test.go58 // Step 2: simulate restart — activeIdx is back to -1.COMMENT
LOW⚡agent/kimi/provider_resume_test.go67 // Step 3: engine calls restoreActiveProviderFromSession → SetActiveProvider.COMMENT
LOWagent/opencode/provider_resume_test.go43 // Step 1: simulate `/provider switch alt-provider`.COMMENT
LOW⚡agent/opencode/provider_resume_test.go59 // Step 2: simulate restart — activeIdx is back to -1.COMMENT
LOW⚡agent/opencode/provider_resume_test.go68 // Step 3: engine calls restoreActiveProviderFromSession → SetActiveProvider.COMMENT
LOWdocs/slack.md15## Step 1: Create a Slack AppCOMMENT
LOWdocs/slack.md36## Step 2: Configure Bot UserCOMMENT
LOWdocs/slack.md58## Step 3: Configure Permissions (OAuth Scopes)COMMENT
LOWdocs/slack.md81## Step 4: Enable Socket ModeCOMMENT
LOWdocs/slack.md107## Step 5: Configure Event SubscriptionsCOMMENT
LOWdocs/slack.md133## Step 6: Install App to WorkspaceCOMMENT
LOWdocs/slack.md155## Step 7: Configure cc-connectCOMMENT
LOWdocs/slack.md187## Step 8: Start cc-connectCOMMENT
LOWdocs/slack.md209## Step 9: Start ChattingCOMMENT
LOWdocs/matrix.md15## Step 1: Create a Matrix AccountCOMMENT
LOWdocs/matrix.md28## Step 2: Get Your Access TokenCOMMENT
LOWdocs/matrix.md59## Step 3: Find Your User ID (Optional)COMMENT
LOWdocs/matrix.md67## Step 4: Configure cc-connectCOMMENT
LOWdocs/matrix.md104## Step 5: Start cc-connectCOMMENT
LOWdocs/matrix.md125## Step 6: Start ChattingCOMMENT
LOWdocs/telegram.md15## Step 1: Create a Telegram BotCOMMENT
24 more matches not shown…
Verbosity Indicators38 hits · 65 pts
SeverityFileLineSnippetContext
LOW⚡core/engine_test.go8013 // Step 2: /new runs — unconditional cleanup deletes S1.COMMENT
LOW⚡core/engine_test.go8016 // Step 3: New turn creates Session B and calls getOrCreateInteractiveStateWith.COMMENT
LOW⚡core/engine_test.go15613 // Step 1: /new "我的新会话"COMMENT
LOW⚡core/engine_test.go15616 // Step 2: send a message (this triggers startOrResumeSession + processInteractiveEvents)COMMENT
LOW⚡core/engine_test.go15626 // Step 3: verify session name was mappedCOMMENT
LOWcore/engine_test.go8002 // Step 1: Old turn created state S1 with old agent.COMMENT
LOWcore/engine_test.go8028 // Step 4: Old goroutine exits and calls cleanup with OLD state pointer.COMMENT
LOWcore/engine_test.go15638 // Step 4: verify /list displays the nameCOMMENT
LOW⚡core/engine.go17142 // Step 1: Check existing bindingCOMMENT
LOW⚡core/engine.go17150 // Step 2: Resolve channel name for convention matchCOMMENT
LOWcore/engine.go17165 // Step 3: Convention match — check if base_dir/<channel-name> existsCOMMENT
LOWplatform/feishu/feishu_test.go1422 // Step 1: opening message @mentions the bot — establishes the thread.COMMENT
LOWplatform/feishu/feishu_test.go1436 // Step 2: follow-up image in the same thread, no @mention — should pass through.COMMENT
LOWplatform/feishu/feishu_test.go1453 // Step 3: image in a *different* thread without @mention — should still be dropped.COMMENT
LOWplatform/feishu/feishu_test.go1464 // Step 4: text without @mention in the active thread — should be droppedCOMMENT
LOWplatform/wps-agentspace/wpsagentspace.go704 // Step 1: Get login URLCOMMENT
LOW⚡platform/wps-agentspace/wpsagentspace.go740 // Step 2: Open browserCOMMENT
LOW⚡platform/wps-agentspace/wpsagentspace.go745 // Step 3: Poll for tokenCOMMENT
LOWplatform/qq/qq.go330 // Step 1: Try direct URL from message segment (with longer timeout for large files)COMMENT
LOWplatform/qq/qq.go346 // Step 2: Get fresh direct link via NapCat API (CDN URLs expire / have download limits)COMMENT
LOWplatform/qq/qq.go390 // Step 3: Last resort — get_file (downloads to NapCat local or returns base64)COMMENT
LOWagent/copilot/session.go165 // Step 1: PingCOMMENT
LOWagent/copilot/session.go179 // Step 2: Create or resume sessionCOMMENT
LOWagent/claudecode/provider_env_test.go341 // Step 1: simulate the user's first message after `/provider switch minimax`.COMMENT
LOW⚡agent/claudecode/provider_env_test.go354 // Step 2: simulate a cc-connect process restart. agent_session_id isCOMMENT
LOW⚡agent/claudecode/provider_env_test.go363 // Step 3: engine looks up session.ActiveProvider and re-binds it beforeCOMMENT
LOWagent/codex/provider_resume_test.go43 // Step 1: simulate the user's `/provider switch alt-provider`.COMMENT
LOW⚡agent/codex/provider_resume_test.go59 // Step 2: simulate restart — activeIdx is back to -1.COMMENT
LOW⚡agent/codex/provider_resume_test.go68 // Step 3: engine calls restoreActiveProviderFromSession → SetActiveProvider.COMMENT
LOWagent/codex/integration_test.go30 // Step 1: write config.toml via our functionCOMMENT
LOWagent/codex/integration_test.go56 // Step 2: write auth.json via our functionCOMMENT
LOWagent/codex/integration_test.go78 // Step 3: run codex exec with the generated configCOMMENT
LOWagent/kimi/provider_resume_test.go42 // Step 1: simulate `/provider switch alt-provider`.COMMENT
LOW⚡agent/kimi/provider_resume_test.go58 // Step 2: simulate restart — activeIdx is back to -1.COMMENT
LOW⚡agent/kimi/provider_resume_test.go67 // Step 3: engine calls restoreActiveProviderFromSession → SetActiveProvider.COMMENT
LOWagent/opencode/provider_resume_test.go43 // Step 1: simulate `/provider switch alt-provider`.COMMENT
LOW⚡agent/opencode/provider_resume_test.go59 // Step 2: simulate restart — activeIdx is back to -1.COMMENT
LOW⚡agent/opencode/provider_resume_test.go68 // Step 3: engine calls restoreActiveProviderFromSession → SetActiveProvider.COMMENT
Fake / Example Data11 hits · 10 pts
SeverityFileLineSnippetContext
LOWcore/engine_test.go11890 {"git", "config", "user.email", "test@test.com"},CODE
LOWcore/engine_test.go11943 {"git", "config", "user.email", "test@test.com"},CODE
LOWcore/engine_test.go12013 {"git", "config", "user.email", "test@test.com"},CODE
LOWcore/bridge.go1433 "type": "select", "placeholder": e.Placeholder,CODE
LOWconfig/config.go859 "var", parts[1], "placeholder", match)CODE
LOWplatform/feishu/card.go233 "placeholder": plainText(e.Placeholder),CODE
LOWplatform/cloud-web/card.go47 "type": "select", "placeholder": e.Placeholder,CODE
LOWagent/pi/session.go751 placeholder, _ := raw["placeholder"].(string)CODE
LOWagent/pi/session.go768 "placeholder": placeholder,CODE
LOWdocs/bridge-protocol.zh-CN.md575 "placeholder": "选择一个模型",CODE
LOWdocs/bridge-protocol.md575 "placeholder": "Choose a model",CODE
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMplatform/feishu/feishu.go4274 // Typed syscall checks — more robust than string matching.COMMENT
MEDIUMagent/claudecode/session_test.go894 // Issue #1736 regression harness: act as a Claude Code stub thatCOMMENT
MEDIUMagent/kimi/probe.go84// To stay robust against future layout tweaks the parser only treats a lineCOMMENT
Redundant / Tautological Comments3 hits · 2 pts
SeverityFileLineSnippetContext
LOWconfig.example.toml56# Set 0 to keep the default. Raise it to send larger files; the /send requestCOMMENT
LOWconfig.example.toml1277# Set webhook_url to switch from long-poll to webhook. Required for high-trafficCOMMENT
LOWconfig.example.toml1904# Set init_command to start claude automatically; adjust prompt_pattern to matchCOMMENT
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMconfig.example.toml992# # MiniMax — OpenAI-compatible agent provider with 1M context windowCOMMENT