AI Slop Code Risk Monitor

ArvinLovegood/go-stock

SlopCodeMonitor badge for ArvinLovegood/go-stock Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

🦄🦄🦄AI赋能股票分析:AI加持的股票分析/选股工具。股票行情获取,AI热点资讯分析,AI资金/财务分析,涨跌报警推送。支持A股,港股,美股。支持市场整体/个股情绪分析,AI辅助选股等。数据全部保留在本地。支持DeepSeek,OpenAI, Ollama,LMStudio,AnythingLLM,硅基流动,火山方舟,阿里云百炼等平台或模型。

1.5 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for ArvinLovegood/go-stock, a Go project with 8,010 GitHub stars. SynthScan examined 221,106 lines of code across 537 source files, recording 333 pattern matches distributed across 5 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-31
Last Push
8.0K
Stars
Go
Language
221.1K
Lines of Code
537
Files
333
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 7.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.3/100 · LOW

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

Agent Over-Engineering Ratio 4.1/100 · LOW

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

PR Review Velocity Impact 7.3/100 · LOW

Which changes need focused human review? 333 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 2LOW 331

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 333 distinct pattern matches across 5 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 Identifiers191 hits · 187 pts
SeverityFileLineSnippetContext
LOW⚡frontend/wailsjs/go/main/App.d.ts164export function ExportTradingRecordTemplate():Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts170export function FetchAndSaveMarketStatistic():Promise<void>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts180export function GenerateMorningStrategyNow(arg1:string,arg2:number,arg3:number,arg4:string):Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts242export function GetBKFundFlowTopListByDate(arg1:string,arg2:number):Promise<Array<models.BKFundFlow>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts244export function GetBinanceFundingRateHistory(arg1:string,arg2:number):Promise<Array<data.BinanceFundingRate>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts246export function GetBinanceFuturesDerivatives(arg1:string,arg2:string,arg3:number):Promise<data.BinanceDerivativesBundle>CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts256export function GetBinanceOpenInterestHist(arg1:string,arg2:string,arg3:number):Promise<Array<data.BinanceOpenInterestHiCODE
LOW⚡frontend/wailsjs/go/main/App.d.ts258export function GetBitgetFundingRateHistory(arg1:string,arg2:number):Promise<Array<data.BitgetFundingRate>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts260export function GetBitgetFuturesDerivatives(arg1:string):Promise<data.BitgetDerivativesBundle>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts274export function GetConceptFundFlowListByDate(arg1:string,arg2:string):Promise<Array<models.ConceptFundFlowPoint>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts276export function GetConceptFundFlowTopList(arg1:number):Promise<Array<models.ConceptFundFlow>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts278export function GetConceptFundFlowTopListByDate(arg1:string,arg2:number):Promise<Array<models.ConceptFundFlow>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts442export function GetProfileLearnAiConfigId():Promise<number>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts446export function GetPromptBacktestTaskDetail(arg1:number):Promise<agent.PromptBacktestTaskDetail>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts448export function GetPromptBacktestTaskList():Promise<Array<models.PromptBacktestTask>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts450export function GetPromptTemplateBacktestDetail(arg1:number,arg2:number):Promise<agent.TemplateStat>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts452export function GetPromptTemplateBacktestStats(arg1:number):Promise<Array<agent.TemplateStat>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts458export function GetRecentDaysMarketStatistic(arg1:number):Promise<Array<models.MarketStatistic>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts460export function GetRecommendBacktestStats(arg1:number):Promise<agent.BacktestStats>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts484export function GetStockConceptsByStockCode(arg1:string):Promise<Array<data.ConceptStock>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts488export function GetStockEastMoneyKLinePage(arg1:string,arg2:string,arg3:string,arg4:number,arg5:string):Promise<any>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts492export function GetStockKLinePageWithFallback(arg1:string,arg2:string,arg3:string,arg4:number,arg5:string,arg6:string):PCODE
LOW⚡frontend/wailsjs/go/main/App.d.ts494export function GetStockKLineWithFallback(arg1:string,arg2:string,arg3:string,arg4:number,arg5:string):Promise<data.KLinCODE
LOW⚡frontend/wailsjs/go/main/App.d.ts498export function GetStockMinutePriceLineData(arg1:string,arg2:string):Promise<Record<string, any>>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts614export function ListRecommendBacktestByPrompt(arg1:number,arg2:number,arg3:string,arg4:string,arg5:number):Promise<agentCODE
LOW⚡frontend/wailsjs/go/main/App.d.ts616export function ListRecommendBacktestBySkill(arg1:number,arg2:number,arg3:string,arg4:number):Promise<agent.BacktestPageCODE
LOW⚡frontend/wailsjs/go/main/App.d.ts618export function ListRecommendBacktestByTemplate(arg1:number,arg2:number,arg3:number,arg4:number):Promise<agent.BacktestPCODE
LOW⚡frontend/wailsjs/go/main/App.d.ts720export function SendDingDingMessageByType(arg1:string,arg2:string,arg3:number):Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts726export function SetAiAssistantSessionPinned(arg1:string,arg2:boolean):Promise<void>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts732export function SetLongTermMemoryAiConfigId(arg1:number):Promise<void>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts736export function SetProfileLearnAiConfigId(arg1:number):Promise<void>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts788export function UpdateAiRecommendStocksAlert(arg1:number,arg2:boolean):Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts796export function UpdateDailyOperationPlanAlert(arg1:number,arg2:boolean):Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts798export function UpdateDailyOperationPlanStatus(arg1:number,arg2:string):Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.d.ts800export function UpdateFilesystemSkillDescription(arg1:string,arg2:string):Promise<string>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts12export function AbortChatWithAgentBySession(arg1:string):Promise<void>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts16export function AbortSummaryStockNewsByEvent(arg1:string):Promise<void>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts40export function AnalyzeSentimentWithFreqWeight(arg1:string):Promise<Record<string, any>>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts42export function BatchDeleteAIResponseResult(arg1:Array<number>):Promise<string>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts194export function GetAiRecommendStocksTodayStats(arg1:string,arg2:number):Promise<models.AiRecommendStocksTodayStatsData>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts214export function GetAllKBVectorizingStatuses():Promise<Record<string, agent.KBVectorizingStatus>>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts222export function GetAllStockChangesWithPaging(arg1:number):Promise<data.StockChangesResponse>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts296export function GetDailyOperationPlanByID(arg1:number):Promise<models.DailyOperationPlan>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts298export function GetDailyOperationPlanList(arg1:models.DailyOperationPlanQuery):Promise<models.DailyOperationPlanPageDataCODE
LOWfrontend/wailsjs/go/main/App.d.ts336export function GetHistoryTdxMinuteTimeData(arg1:string,arg2:string):Promise<data.TdxMinuteTimeDataBundle>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts338export function GetHistoryTdxTransactionData(arg1:string,arg2:string):Promise<any>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts376export function GetLongTermMemoryAiConfigId():Promise<number>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts390export function GetMarketSignalScanStatus():Promise<data.MarketSignalScanProgress>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts510export function GetTdxCompanyCategoryContent(arg1:string,arg2:string):Promise<data.TdxCompanyInfoSection>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts512export function GetTdxCompanyCategoryList(arg1:string):Promise<any>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts536export function GetTradingRecordStatistics():Promise<data.TradingRecordStatistics>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts558export function GlobalStockIndexesReadable():Promise<string>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts574export function ImportTradingRecordsFromExcel():Promise<data.TradingRecordImportResult>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts646export function RefreshAllTdxTransactionData(arg1:string):Promise<any>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts648export function RefreshHistoryTdxTransactionData(arg1:string,arg2:string):Promise<any>;CODE
LOWfrontend/wailsjs/go/main/App.d.ts698export function SaveStockChangesToHistory(arg1:Array<number>):Promise<string>;CODE
LOW⚡frontend/wailsjs/go/main/App.js469export function GetBKFundFlowTopListByDate(arg1, arg2) {CODE
LOW⚡frontend/wailsjs/go/main/App.js473export function GetBinanceFundingRateHistory(arg1, arg2) {CODE
LOW⚡frontend/wailsjs/go/main/App.js477export function GetBinanceFuturesDerivatives(arg1, arg2, arg3) {CODE
LOW⚡frontend/wailsjs/go/main/App.js497export function GetBinanceOpenInterestHist(arg1, arg2, arg3) {CODE
131 more matches not shown…
Over-Commented Block128 hits · 128 pts
SeverityFileLineSnippetContext
LOWapp_darwin.go41 // 应用启动时自动创建已启用的定时任务COMMENT
LOWapp_common.go461// - 将前端已检索到的统一命中片段(hitsJSON)注入为系统提示词(sysPromptOverride),COMMENT
LOWREADME.md321- 技能管理界面:导入 ZIP 技能包、在线编辑所有文件、新建/删除文件、删除技能COMMENT
LOWREADME.md341### 2025.08.09 添加AI智能体聊天功能COMMENT
LOWREADME.md361### 2025.05.07 优化分时图的展示COMMENT
LOWapp.go201 result["maxDevices"] = respData.Data.MaxDevicesCOMMENT
LOWapp.go901 time.Sleep(2 * time.Second)COMMENT
LOWapp.go1201 })COMMENT
LOWapp.go1301 //for _, stock := range *stockBasics {COMMENT
LOWapp.go1321 Get("http://8.134.249.145:18080/go-stock/stock_base_info_hk.json")COMMENT
LOWapp.go1361 // BKCode: stock.BKCode,COMMENT
LOWapp.go2561// }COMMENT
LOWapp.go4301}COMMENT
LOWapp.go4421// 参数:COMMENT
LOWapp.go4501// DeleteTradingRecord 删除交易记录COMMENT
LOWmain.go121COMMENT
LOWmain.go141 // runtime.EventsEmit(app.ctx, "showSearch", 1)COMMENT
LOWmain.go481 if count > 0 {COMMENT
LOWmain.go501 // stock.ListDate = convertor.ToString(item[9])COMMENT
LOWfrontend/wailsjs/runtime/runtime.d.ts101// *Windows only*COMMENT
LOWfrontend/src/App.vue1401 // e.target.innerHTML = '取消全屏'COMMENT
LOWfrontend/src/components/moneyTrend.vue261 lineStyle: {COMMENT
LOWfrontend/src/components/moneyTrend.vue281 // data: [COMMENT
LOWfrontend/src/components/allStockInfoList.vue101 // stockName: row.SECURITY_NAME_ABBR,COMMENT
LOWfrontend/src/components/allStockInfoList.vue121 // width: 100,COMMENT
LOWfrontend/src/components/allStockInfoList.vue141 // },COMMENT
LOWfrontend/src/components/allStockInfoList.vue161 // render(row) {COMMENT
LOWfrontend/src/components/cron-task-manager.vue1101 default: () => [COMMENT
LOWfrontend/src/components/stock.vue1641 //COMMENT
LOWfrontend/src/components/stockSparkLine.vue81 },COMMENT
LOWbackend/apppath/apppath.go1// Package apppath 统一解析运行时可写目录(数据库、日志、外置配置文件)。COMMENT
LOWbackend/util/html_to_markdown_test.go1package utilCOMMENT
LOWbackend/agent/agent_run.go41}COMMENT
LOWbackend/agent/knowledge_base.go1package agentCOMMENT
LOWbackend/agent/knowledge_base.go341 }COMMENT
LOWbackend/agent/long_term_memory_tool.go1package agentCOMMENT
LOWbackend/agent/knowledge_base_api.go161 return AddDocumentToKB(kbName, content, source, nil)COMMENT
LOWbackend/agent/knowledge_base_tool.go1package agentCOMMENT
LOWbackend/agent/knowledge_base_tool.go81COMMENT
LOWbackend/agent/knowledge_base_tool.go141COMMENT
LOWbackend/agent/agent_feedback_api.go1package agentCOMMENT
LOWbackend/agent/llm_summary.go41// 若父 ctx 已接近/超过其自身 deadline,WithTimeout 会立即失效导致频繁降级。COMMENT
LOWbackend/agent/template_backtest.go1package agentCOMMENT
LOWbackend/agent/auto_recommend_saver.go1package agentCOMMENT
LOWbackend/agent/knowledge_base_unified.go1package agentCOMMENT
LOWbackend/agent/knowledge_base_unified.go161 if len(hits) > topK {COMMENT
LOWbackend/agent/prompt_backtest_engine.go1package agentCOMMENT
LOWbackend/agent/skill_backend.go21// frontmatter 解析失败都会让 List/Get 返回错误。该错误会经由 skill 工具的 Info()COMMENT
LOWbackend/agent/recommend_backtest.go1package agentCOMMENT
LOWbackend/agent/knowledge_graph.go1package agentCOMMENT
LOWbackend/agent/knowledge_graph.go121返回格式(严格 JSON,不要 markdown 代码块):COMMENT
LOWbackend/agent/stock_basic_info_kb.go1package agentCOMMENT
LOWbackend/agent/builtin_models.go1package agentCOMMENT
LOWbackend/agent/builtin_models.go21//COMMENT
LOWbackend/agent/web_search_tool.go1package agentCOMMENT
LOWbackend/agent/user_profile_api.go21// user_profile_api.go — 用户画像 Wails API(P1)。COMMENT
LOWbackend/agent/agent.go341//COMMENT
LOWbackend/agent/agent.go501 return resp, errCOMMENT
LOWbackend/agent/agent.go521// 解析(ContextWindow 字段 > 内置表 > MaxTokens 兜底 > 默认 64000)。COMMENT
LOWbackend/agent/agent.go941// maybeGetMCPTools 决定并加载外部 MCP 工具。COMMENT
68 more matches not shown…
Fake / Example Data12 hits · 12 pts
SeverityFileLineSnippetContext
LOWai-assistant-web/static/assets/index.js52 `)]),K("placeholder",`CODE
LOWai-assistant-web/static/assets/index.js120 `,[zn()]),K("placeholder",`CODE
LOWai-assistant-web/static/assets/index.js130 `)])])]),Fu="1.6s",$v={strokeWidth:{type:Number,default:28},stroke:{type:String,default:void 0},scale:{type:Number,defaCODE
LOWai-assistant-web/static/assets/index.js711 `)])])]),LU=Ee({name:"InternalSelection",props:Object.assign(Object.assign({},Ge.props),{clsPrefix:{type:String,requireCODE
LOWai-assistant-web/static/assets/index.js807 `),W("&:-webkit-autofill ~",[K("placeholder","display: none;")])]),ae("round",[QA("textarea","border-radius: calc(var(-CODE
LOWai-assistant-web/static/assets/index.js819 `)]),ae("textarea",[K("placeholder","overflow: visible;")]),QA("autosize","width: 100%;"),ae("autosize",[K("textarea-elCODE
LOWai-assistant-web/static/assets/index.js844 `,[W("&[type=password]::-ms-reveal","display: none;"),W("+",[K("placeholder",`CODE
LOWai-assistant-web/static/assets/index.js847 `)])]),QA("textarea",[K("placeholder","white-space: nowrap;")]),K("eye",`CODE
LOWai-assistant-web/static/assets/index.js899 `),K("placeholder","color: var(--n-placeholder-color-disabled);"),K("separator","color: var(--n-text-color-disabled);",CODE
LOWai-assistant-web/static/assets/index.js953 `,[K("placeholder",[re("base-icon",`CODE
LOWai-assistant-web/static/assets/index.js992`)}else{const{value:Xe}=u;Xe&&(O?Xe.textContent=O:Xe.innerHTML="&nbsp;")}}function No(){he()}const qn=G({top:"0"});functCODE
LOWbackend/agent/tools/data_tools_wrapper_test.go66 args := `{"modelName":"ai-fake-name","stockCode":"600519.SH","stockName":"贵州茅台","rating":"买入"}`CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbackend/data/okx_trade_api.go1181// OKXSetLeverageResult /account/set-leverage 响应。COMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMdocs/8月新功能介绍:(首页 · 技能系统 · 知识库 · 长期记忆等).md85## 三、知识库(RAG)COMMENT