Self-hosted workflows for coding-agent delivery. Orchestrate CodeBuddy, Codex and Claude Code with scripts and human approval gates. Includes Local workflows for coding assistants.
This report summarizes scanner evidence for Tencent/LoopForge, a Go project with 797 GitHub stars. SynthScan examined 473,704 lines of code across 2668 source files, recording 1835 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 6.7 (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.
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-11-14.
Can maintainers explain intent, assumptions, and trade-offs? 1281 finding(s).
Are imports declared and package/API names verified? 113 finding(s).
Are wrappers, guards, and repeated structures necessary? 1247 finding(s).
Which changes need focused human review? 1835 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
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.
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.
The scanner identified 1835 distinct pattern matches across 18 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ursor/skills/agent-observability/tests/test_devflow.py | 0 | 真实 bug 回归测试:同一个长生命周期 sid,会话开始时探测不到 devflow (此时既没有 team 目录也没有 artifacts/),之后才真正跑起 devflow (比如通过 agent 工具后台 spawn,而不是从一开始就 | STRING |
| HIGH | …laude/skills/agent-observability/tests/test_devflow.py | 0 | 真实 bug 回归测试:同一个长生命周期 sid,会话开始时探测不到 devflow (此时既没有 team 目录也没有 artifacts/),之后才真正跑起 devflow (比如通过 agent 工具后台 spawn,而不是从一开始就 | STRING |
| HIGH | …buddy/skills/agent-observability/tests/test_devflow.py | 0 | 真实 bug 回归测试:同一个长生命周期 sid,会话开始时探测不到 devflow (此时既没有 team 目录也没有 artifacts/),之后才真正跑起 devflow (比如通过 agent 工具后台 spawn,而不是从一开始就 | STRING |
| HIGH | …ursor/skills/agent-observability/tests/test_devflow.py | 0 | portable(v2.0)用 `executor_role` 而不是 `executor`,且没有 `review_result`。 | STRING |
| HIGH | …laude/skills/agent-observability/tests/test_devflow.py | 0 | portable(v2.0)用 `executor_role` 而不是 `executor`,且没有 `review_result`。 | STRING |
| HIGH | …buddy/skills/agent-observability/tests/test_devflow.py | 0 | portable(v2.0)用 `executor_role` 而不是 `executor`,且没有 `review_result`。 | STRING |
| HIGH | …ursor/skills/agent-observability/tests/test_devflow.py | 0 | `topology: spawn` 宿主没有 team 目录,靠扫 artifacts/ 兜底发现 task_slug。 | STRING |
| HIGH | …laude/skills/agent-observability/tests/test_devflow.py | 0 | `topology: spawn` 宿主没有 team 目录,靠扫 artifacts/ 兜底发现 task_slug。 | STRING |
| HIGH | …buddy/skills/agent-observability/tests/test_devflow.py | 0 | `topology: spawn` 宿主没有 team 目录,靠扫 artifacts/ 兜底发现 task_slug。 | STRING |
| HIGH | …ursor/skills/agent-observability/tests/test_devflow.py | 0 | 真实 bug 回归测试:同一个长生命周期 sid 先后归属两次不同的 devflow 运行 (没有真正 team_create 时的降级场景——第二次 `/start-devflow` 复用了同一个 session)。第一次探测缓存下的 t | STRING |
| HIGH | …laude/skills/agent-observability/tests/test_devflow.py | 0 | 真实 bug 回归测试:同一个长生命周期 sid 先后归属两次不同的 devflow 运行 (没有真正 team_create 时的降级场景——第二次 `/start-devflow` 复用了同一个 session)。第一次探测缓存下的 t | STRING |
| HIGH | …buddy/skills/agent-observability/tests/test_devflow.py | 0 | 真实 bug 回归测试:同一个长生命周期 sid 先后归属两次不同的 devflow 运行 (没有真正 team_create 时的降级场景——第二次 `/start-devflow` 复用了同一个 session)。第一次探测缓存下的 t | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 自定义模型定价覆盖 + 看板未定价模型提示。 覆盖文件是**人手写的常驻配置**,而且加载失败要静默降级——这类"错了也不许 报错"的代码最容易在半年后被悄悄改坏(比如有人顺手把 try/except 去掉、把合并 改成整 key 覆盖、或 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 自定义模型定价覆盖 + 看板未定价模型提示。 覆盖文件是**人手写的常驻配置**,而且加载失败要静默降级——这类"错了也不许 报错"的代码最容易在半年后被悄悄改坏(比如有人顺手把 try/except 去掉、把合并 改成整 key 覆盖、或 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 自定义模型定价覆盖 + 看板未定价模型提示。 覆盖文件是**人手写的常驻配置**,而且加载失败要静默降级——这类"错了也不许 报错"的代码最容易在半年后被悄悄改坏(比如有人顺手把 try/except 去掉、把合并 改成整 key 覆盖、或 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | "纯内置表"的唯一权威来源——不把 pricing.json 的内容抄进断言里, 否则内置表一调整这里就假红;但内置表本身必须是非空的,否则下面的 "降级后 == 纯内置表" 断言会退化成空表比空表。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | "纯内置表"的唯一权威来源——不把 pricing.json 的内容抄进断言里, 否则内置表一调整这里就假红;但内置表本身必须是非空的,否则下面的 "降级后 == 纯内置表" 断言会退化成空表比空表。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | "纯内置表"的唯一权威来源——不把 pricing.json 的内容抄进断言里, 否则内置表一调整这里就假红;但内置表本身必须是非空的,否则下面的 "降级后 == 纯内置表" 断言会退化成空表比空表。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac4:路径可覆盖。默认位置刻意放在 skills 树**外**—— `scripts/build-classic-hosts.py` 会整棵同步 `.codebuddy/skills`,放树内会让 用户每次改价都产生一次 `--check | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac4:路径可覆盖。默认位置刻意放在 skills 树**外**—— `scripts/build-classic-hosts.py` 会整棵同步 `.codebuddy/skills`,放树内会让 用户每次改价都产生一次 `--check | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac4:路径可覆盖。默认位置刻意放在 skills 树**外**—— `scripts/build-classic-hosts.py` 会整棵同步 `.codebuddy/skills`,放树内会让 用户每次改价都产生一次 `--check | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac2:字段级合并。整 key 覆盖被刻意否决过——漏写字段会把该字段按 0 计, 静默把成本算没,风险高于收益。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac2:字段级合并。整 key 覆盖被刻意否决过——漏写字段会把该字段按 0 计, 静默把成本算没,风险高于收益。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac2:字段级合并。整 key 覆盖被刻意否决过——漏写字段会把该字段按 0 计, 静默把成本算没,风险高于收益。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 计划外决策(已在 code review 接受):全坏字段的模型不落表。 若落表成 `{}`,它既算不出成本又不算"未定价",看板上会变成一个查不到 原因的空洞;丢弃后至少能在"模型定价"提醒里暴露出来。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 计划外决策(已在 code review 接受):全坏字段的模型不落表。 若落表成 `{}`,它既算不出成本又不算"未定价",看板上会变成一个查不到 原因的空洞;丢弃后至少能在"模型定价"提醒里暴露出来。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 计划外决策(已在 code review 接受):全坏字段的模型不落表。 若落表成 `{}`,它既算不出成本又不算"未定价",看板上会变成一个查不到 原因的空洞;丢弃后至少能在"模型定价"提醒里暴露出来。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 静默是刻意的:hook 每次都是新进程,一旦因格式问题 print/抛异常, 整条 hook 链路都会变得不可用。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 静默是刻意的:hook 每次都是新进程,一旦因格式问题 print/抛异常, 整条 hook 链路都会变得不可用。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | 静默是刻意的:hook 每次都是新进程,一旦因格式问题 print/抛异常, 整条 hook 链路都会变得不可用。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | d4:未定价的唯一口径是 `lookup_price(...) is none`。 `lookup_price` 会做"最长子串"模糊兜底,所以 `gpt-4o-2024-11-20` 能算出成本, 不该出现在"建议补价"里——口径一旦漂移 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | d4:未定价的唯一口径是 `lookup_price(...) is none`。 `lookup_price` 会做"最长子串"模糊兜底,所以 `gpt-4o-2024-11-20` 能算出成本, 不该出现在"建议补价"里——口径一旦漂移 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | d4:未定价的唯一口径是 `lookup_price(...) is none`。 `lookup_price` 会做"最长子串"模糊兜底,所以 `gpt-4o-2024-11-20` 能算出成本, 不该出现在"建议补价"里——口径一旦漂移 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | d3 的回归护栏:给未定价模型补价后,只有 unpricedmodels 会变, modelcosts / daily / sessions 必须逐字节不变(历史成本不回溯)。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | d3 的回归护栏:给未定价模型补价后,只有 unpricedmodels 会变, modelcosts / daily / sessions 必须逐字节不变(历史成本不回溯)。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | d3 的回归护栏:给未定价模型补价后,只有 unpricedmodels 会变, modelcosts / daily / sessions 必须逐字节不变(历史成本不回溯)。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac3 的 cli 层护栏:覆盖文件坏掉时看板仍然出片(exit 0、stderr 为空), 而不是把整条构建链路搞挂。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac3 的 cli 层护栏:覆盖文件坏掉时看板仍然出片(exit 0、stderr 为空), 而不是把整条构建链路搞挂。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac3 的 cli 层护栏:覆盖文件坏掉时看板仍然出片(exit 0、stderr 为空), 而不是把整条构建链路搞挂。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac1 的核心回归:不传覆盖文件时价格表就是纯内置表, 与"指向一个不存在的路径"的输出完全一致(忽略 generated_at)。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac1 的核心回归:不传覆盖文件时价格表就是纯内置表, 与"指向一个不存在的路径"的输出完全一致(忽略 generated_at)。 | STRING |
| HIGH | …ls/agent-observability/tests/test_pricing_overrides.py | 0 | ac1 的核心回归:不传覆盖文件时价格表就是纯内置表, 与"指向一个不存在的路径"的输出完全一致(忽略 generated_at)。 | STRING |
| HIGH | …kills/agent-observability/tests/test_agent_identity.py | 0 | claude code 的 agent 工具用 subagent_type(不是 codebuddy 原生 task 的 subagent_name)标识派发目标;这条路径之前没有测试覆盖,_extract_from_task 漏认这个字段 | STRING |
| HIGH | …kills/agent-observability/tests/test_agent_identity.py | 0 | claude code 的 agent 工具用 subagent_type(不是 codebuddy 原生 task 的 subagent_name)标识派发目标;这条路径之前没有测试覆盖,_extract_from_task 漏认这个字段 | STRING |
| HIGH | …kills/agent-observability/tests/test_agent_identity.py | 0 | claude code 的 agent 工具用 subagent_type(不是 codebuddy 原生 task 的 subagent_name)标识派发目标;这条路径之前没有测试覆盖,_extract_from_task 漏认这个字段 | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实 codebuddy cli transcript 里从没出现过 `is_error` 这个键——实测抓到的 rawresponse 形如 {"exitcode": 0, "tool_error_code": "0", ...}(成功) | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实 codebuddy cli transcript 里从没出现过 `is_error` 这个键——实测抓到的 rawresponse 形如 {"exitcode": 0, "tool_error_code": "0", ...}(成功) | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实 codebuddy cli transcript 里从没出现过 `is_error` 这个键——实测抓到的 rawresponse 形如 {"exitcode": 0, "tool_error_code": "0", ...}(成功) | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | `--top-slow n` 是纯增量能力:默认不开启,开启后也只往终端打印,绝不改动 dashboard-data.json 的结构(看板前端按字段取值,多一个字段或少一个字段都会 直接影响渲染)。这些用例把"降序取前 n""非 tool | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | `--top-slow n` 是纯增量能力:默认不开启,开启后也只往终端打印,绝不改动 dashboard-data.json 的结构(看板前端按字段取值,多一个字段或少一个字段都会 直接影响渲染)。这些用例把"降序取前 n""非 tool | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | `--top-slow n` 是纯增量能力:默认不开启,开启后也只往终端打印,绝不改动 dashboard-data.json 的结构(看板前端按字段取值,多一个字段或少一个字段都会 直接影响渲染)。这些用例把"降序取前 n""非 tool | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 跑一次 main() 并返回捕获到的 stdout——top-slow 的产出只体现在终端上, 不体现在 json 里,所以断言必须落在 stdout。 | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 跑一次 main() 并返回捕获到的 stdout——top-slow 的产出只体现在终端上, 不体现在 json 里,所以断言必须落在 stdout。 | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 跑一次 main() 并返回捕获到的 stdout——top-slow 的产出只体现在终端上, 不体现在 json 里,所以断言必须落在 stdout。 | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实场景复现过:tool/usage 事件自己的 turn_id 永远是 none,只有 user_prompt_submit 事件带真实 turn_id。修复前所有没有 turn_id 的事件会被塌缩进同一个 "?" 占位桶,看起来 像" | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实场景复现过:tool/usage 事件自己的 turn_id 永远是 none,只有 user_prompt_submit 事件带真实 turn_id。修复前所有没有 turn_id 的事件会被塌缩进同一个 "?" 占位桶,看起来 像" | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实场景复现过:tool/usage 事件自己的 turn_id 永远是 none,只有 user_prompt_submit 事件带真实 turn_id。修复前所有没有 turn_id 的事件会被塌缩进同一个 "?" 占位桶,看起来 像" | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实数据复现过:纯对话轮次(用户发了 prompt,但助手没有调用任何工具, 也没有产生 usage 事件)之前完全不会在 timeline 里建桶——turns 计数是对的 (来自 user_prompt_submit 自带的 turn_ | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实数据复现过:纯对话轮次(用户发了 prompt,但助手没有调用任何工具, 也没有产生 usage 事件)之前完全不会在 timeline 里建桶——turns 计数是对的 (来自 user_prompt_submit 自带的 turn_ | STRING |
| HIGH | …agent-observability/tests/test_build_dashboard_data.py | 0 | 真实数据复现过:纯对话轮次(用户发了 prompt,但助手没有调用任何工具, 也没有产生 usage 事件)之前完全不会在 timeline 里建桶——turns 计数是对的 (来自 user_prompt_submit 自带的 turn_ | STRING |
| 174 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | chatbot/src/artifact-autoreveal.js | 11 | export function panelFitsBesideConversation({ | CODE |
| LOW | chatbot/src/artifact-autoreveal.js | 32 | export function shouldRevealArtifactPanel({ | CODE |
| LOW | chatbot/src/credentials.js | 56 | export function codeBuddyEnvironmentIntent(value) { | CODE |
| LOW | chatbot/src/credentials.js | 66 | export function codeBuddyEnvironmentLegacy(value) { | CODE |
| LOW | chatbot/src/runs.js | 136 | export function isConversationWorkspaceRun(run) { | CODE |
| LOW | chatbot/src/SandboxPicker.jsx | 6 | export function conversationSandboxOptions(sandboxes, project, selected = "") { | CODE |
| LOW | chatbot/src/App.jsx | 352 | function changeEnvironmentVisibility(visible) { | CODE |
| LOW | chatbot/src/QuickAccessWizard.jsx | 676 | async function provisionFallbackProjectSOP(projectId, workflowId, owner) { | CODE |
| LOW | web/orchestrate.js | 13 | function selectedAIOrchestratorModel() { | CODE |
| LOW | web/orchestrate.js | 27 | function selectAIOrchestratorModel(id) { | CODE |
| LOW | web/orchestrate.js | 36 | function bindAIOrchestratorModelPicker() { | CODE |
| LOW | web/issue_clarify_draft_test.js | 167 | const send = source.slice(sendStart, source.indexOf('\nasync function retryIssueClarificationWriteBack(', sendStart)); | CODE |
| LOW | web/workspace_terminal_test.go | 16 | const fn=source.slice(source.indexOf('function registerWorkspaceTerminal('),source.indexOf('\nfunction activate(')); | CODE |
| LOW | web/syntax_test.go | 1456 | eval(code.slice(code.indexOf('function normalizeIssueTitleSearch('), code.indexOf('function filteredIssues('))); | CODE |
| LOW | web/syntax_test.go | 2101 | start := strings.Index(source, "async function hydrateGenericWorkflowRoles(") | CODE |
| LOW | web/syntax_test.go | 2106 | if end := strings.Index(body, "\nasync function refreshGenericWorkflowRoles("); end > 0 { | CODE |
| LOW | web/syntax_test.go | 2146 | const end = code.indexOf('function canManuallyPassFailedNode('); | CODE |
| LOW | web/app.js | 700 | function genericTemplateMCPOptions(selected){ | CODE |
| LOW | web/app.js | 746 | function clearGenericTemplateAgents(){state.genericTemplateAgents=[];state.genericTemplateAgentWorkflowId=''} | CODE |
| LOW | web/app.js | 747 | async function hydrateGenericWorkflowRoles(wf=state.workflow){ | CODE |
| LOW | web/app.js | 768 | async function refreshGenericWorkflowRoles(){ | CODE |
| LOW | web/app.js | 1604 | function cancelSettingsRouteTransition(){ | CODE |
| LOW | web/app.js | 1617 | function startSettingsRouteTransition(name){ | CODE |
| LOW | web/app.js | 1703 | function setSettingsSidebarExpanded(expanded){ | CODE |
| LOW | web/app/composer.js | 116 | function renderReqRepositoryPicker(){ | CODE |
| LOW | web/app/composer.js | 591 | function renderReqRepoChangedAlert(){ | CODE |
| LOW | web/app/composer.js | 633 | function persistRequirementComposer(){ | CODE |
| LOW | web/app/composer.js | 671 | function paintRequirementComposerChrome(){ | CODE |
| LOW | web/app/composer.js | 679 | function resetRequirementComposerState(){ | CODE |
| LOW⚡ | web/app/composer.js | 702 | function readRequirementComposerDraft(){ | CODE |
| LOW⚡ | web/app/composer.js | 708 | function requirementComposerDraftUseful(raw){ | CODE |
| LOW⚡ | web/app/composer.js | 712 | function applyRequirementComposerDraft(raw){ | CODE |
| LOW | web/app/composer.js | 749 | function restoreRequirementComposer(){ | CODE |
| LOW | web/app/composer.js | 904 | async function attachComposerClarifyStream(jobId){ | CODE |
| LOW | web/app/composer.js | 953 | function finishComposerClarifyStream(){ | CODE |
| LOW | web/app/composer.js | 1046 | async function pushIssueToTAPDFromDetail(issueId){ | CODE |
| LOW | web/app/agents.js | 123 | async function loadExecutorModelCatalogs(){ | CODE |
| LOW | web/app/agents.js | 174 | function syncAgentModelCustomField(){ | CODE |
| LOW | web/app/agents.js | 340 | function validateAgentCreateIdentity(){ | CODE |
| LOW | web/app/sync-schedule.js | 94 | function scheduleIssueStatusValues(job){ | CODE |
| LOW | web/app/observability.js | 1181 | function obsBreakdownConversationRow(dim){ | CODE |
| LOW | web/app/access.js | 165 | function highlightCommandSelection(){ | CODE |
| LOW | web/app/issues.js | 57 | function renderIssueAssigneeFilter(projectIssues=[]){ | CODE |
| LOW | web/app/issues.js | 100 | function normalizeIssueTitleSearch(value){ | CODE |
| LOW | web/app/issues.js | 428 | function selectedIssueRepositoryIds(){ | CODE |
| LOW | web/app/issues.js | 443 | function updateIssueBaseBranchInput(input,hint,repositoryIds){ | CODE |
| LOW⚡ | web/app/issues.js | 454 | function refreshIssueBaseBranchInput(){ | CODE |
| LOW⚡ | web/app/issues.js | 457 | function selectedIssueRepositoryBranches(input,host){ | CODE |
| LOW⚡ | web/app/issues.js | 464 | function renderIssueRepositoryBranchInputs(input,hint,host,repositoryIds,branches){ | CODE |
| LOW | web/app/issues.js | 594 | function renderRepositoryCredentialHint(){ | CODE |
| LOW⚡ | web/app/issues.js | 632 | function selectedImportTAPDRepositoryIds(){ | CODE |
| LOW⚡ | web/app/issues.js | 635 | function setImportTAPDRepositoryIds(ids){ | CODE |
| LOW⚡ | web/app/issues.js | 643 | function renderImportTAPDRepositoryPicker(){ | CODE |
| LOW | web/app/issues.js | 850 | async function reopenDeliveredIssueSilent(issueId){ | CODE |
| LOW⚡ | web/app/approvals.js | 112 | function canManuallyPassFailedNode(run){return run?.status==='failed'&&isScriptWorkflowNode(failedNodeDef(run))} | CODE |
| LOW⚡ | web/app/approvals.js | 120 | function failedNodePassCalloutHTML(runId,node,nr){ | CODE |
| LOW⚡ | web/app/approvals.js | 123 | function failedNodeRetryCalloutHTML(runId,node,nr){ | CODE |
| LOW⚡ | web/app/approvals.js | 126 | function failedNodeRecoveryCalloutHTML(runId,node,nr){ | CODE |
| LOW | web/app/issue-drawer.js | 83 | function rememberSubmittedClarifyDraft(issue,msg){ | CODE |
| LOW | web/app/issue-drawer.js | 137 | function restoreIssueClarifySelection(el,sel){ | CODE |
| 739 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | chatbot/package-lock.json | 5126 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | web/product-v4.css | 3215 | 角色定义页(#agentsView)与角色弹窗(#agentModal):harness-ui 风格。 | CODE |
| LOW⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| MEDIUM | web/index.html | 701 | <div id="customMcpModal" class="modal"><form id="customMcpForm" class="modal-card issue-modal-card custom-mcp-card"> | CODE |
| MEDIUM | web/app/sop-catalog.css | 83 | #sopsView .sop-card-tile .harness-icon { width: 16px; height: 16px; } | COMMENT |
| MEDIUM | web/app/sop-catalog.css | 175 | #sopsView .sop-card-primary .harness-icon { width: 14px; height: 14px; } | COMMENT |
| MEDIUM | web/app/sop-catalog.css | 180 | #sopsView .sop-card-more .harness-icon { width: 16px; height: 16px; } | COMMENT |
| MEDIUM | web/app/sop-catalog.css | 224 | #sopsView .sop-badge .harness-icon { flex: none; width: 12px; height: 12px; stroke-width: 1.8; } | COMMENT |
| MEDIUM | web/app/sop-catalog.css | 247 | #sopsView .sop-empty .harness-icon { width: 28px; height: 28px; color: var(--hui-tertiary); } | COMMENT |
| MEDIUM | web/app/observability-harness.css | 9 | #observabilityView .harness-icon, | COMMENT |
| MEDIUM⚡ | web/app/observability-harness.css | 93 | #observabilityView .obs-heading .heading-actions .button .harness-icon, | COMMENT |
| MEDIUM⚡ | web/app/observability-harness.css | 94 | #observabilityView .obs-btn .harness-icon, | COMMENT |
| MEDIUM⚡ | web/app/observability-harness.css | 96 | #observabilityView .obs-heading .heading-actions .button:hover .harness-icon, | COMMENT |
| MEDIUM⚡ | web/app/observability-harness.css | 97 | #observabilityView .obs-btn:hover .harness-icon, | COMMENT |
| MEDIUM | web/app/harness-ui.css | 445 | :is(#issuesView, #assetsView) .hui-menu-item > .harness-icon, | CODE |
| MEDIUM | web/app/harness-ui.css | 449 | :is(#issuesView, #assetsView) .hui-menu-item.is-danger > .harness-icon, | CODE |
| MEDIUM⚡ | web/app/assets-harness.css | 508 | #assetsView .skillhub-tl-toggle > .harness-icon[data-icon="check"] { color: var(--hui-success); } | COMMENT |
| MEDIUM⚡ | web/app/assets-harness.css | 516 | #assetsView .skillhub-tl-toggle > .harness-icon[data-icon="chevron-down"] { color: var(--hui-tertiary); transition: tran | COMMENT |
| MEDIUM⚡ | web/app/assets-harness.css | 517 | #assetsView .skillhub-tl-sec.is-open .skillhub-tl-toggle > .harness-icon[data-icon="chevron-down"] { transform: rotate(1 | COMMENT |
| MEDIUM | web/app/assets-harness.css | 7 | #assetsView .harness-icon { flex: none; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 14 | #assetsView .button .harness-icon { width: 14px; height: 14px; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 138 | #assetsView .asset-tile .harness-icon { width: 16px; height: 16px; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 157 | #assetsView .asset-meta .harness-icon { width: 13px; height: 13px; color: var(--hui-tertiary); } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 166 | #assetsView .asset-card-go .harness-icon { width: 13px; height: 13px; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 196 | #assetsView .asset-crumbs .harness-icon { width: 12px; height: 12px; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 236 | #assetsView .asset-badge .harness-icon { width: 12px; height: 12px; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 386 | #assetsView .asset-refs .harness-icon { color: var(--hui-tertiary); } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 439 | #assetsView .skillhub-dmeta a .harness-icon { width: 12px; height: 12px; } | COMMENT |
| MEDIUM | web/app/assets-harness.css | 533 | #assetsView .skillhub-sec-row a .harness-icon { width: 12px; height: 12px; } | COMMENT |
| MEDIUM | web/app/harness-motion.css | 38 | body .page-view.active:not(#collaborationView) { animation: harness-page-in 300ms var(--harness-flow) backwards; } | CODE |
| MEDIUM | web/app/hui-controls.css | 237 | #confirmModal .confirm-icon-wrap .harness-icon { width: 17px; height: 17px; } | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 1 | /* 新建需求三步向导(#requirementModal)。按钮、输入、徽标、Selector 外观来自 harness-ui.css / hui-controls.css; | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 287 | #requirementModal .req-f-label .harness-icon { color: var(--hui-muted); } | COMMENT |
| MEDIUM⚡ | web/app/requirement-wizard.css | 398 | #requirementModal .req-fold .harness-icon { transition: transform .3s var(--hui-ease-flow); } | COMMENT |
| MEDIUM⚡ | web/app/requirement-wizard.css | 399 | #requirementModal .req-fold[aria-expanded="true"] .harness-icon, | COMMENT |
| MEDIUM⚡ | web/app/requirement-wizard.css | 400 | #requirementModal details[open] > .req-fold .harness-icon { transform: rotate(180deg); } | COMMENT |
| MEDIUM⚡ | web/app/requirement-wizard.css | 403 | #requirementModal .req-trace-row .harness-icon { flex: none; color: var(--hui-tertiary); } | COMMENT |
| MEDIUM⚡ | web/app/requirement-wizard.css | 406 | #requirementModal .req-trace-row.is-warn .harness-icon { color: var(--hui-warn); } | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 465 | #requirementModal .req-q-head .harness-icon { margin-top: 3px; color: var(--hui-muted); } | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 539 | #requirementModal .req-ready-head .harness-icon { color: var(--hui-success); } | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 597 | #requirementModal .req-warn-bar > .harness-icon { flex: none; color: var(--hui-warn); } | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 611 | #requirementModal .req-outcome .harness-icon { flex: none; margin-top: 2px; color: var(--hui-accent); } | COMMENT |
| MEDIUM | web/app/requirement-wizard.css | 612 | #requirementModal .req-outcome.is-muted .harness-icon { color: var(--hui-tertiary); } | COMMENT |
| MEDIUM | web/app/mcp.css | 6 | :is(#mcpView, #aiSchedulesView) .harness-icon { flex: none; } | CODE |
| MEDIUM | web/app/approvals-harness.css | 8 | #approvalsView .harness-icon { flex: none; } | COMMENT |
| MEDIUM | web/app/approvals-harness.css | 11 | #approvalsView .button .harness-icon { width: 14px; height: 14px; } | COMMENT |
| MEDIUM | web/app/approvals-harness.css | 63 | #approvalsView .ap-empty-icon .harness-icon { width: 20px; height: 20px; } | COMMENT |
| MEDIUM | web/app/approvals-harness.css | 115 | #approvalsView .ap-more-toggle .harness-icon { width: 16px; height: 16px; } | COMMENT |
| MEDIUM | web/app/approvals-harness.css | 152 | #approvalsView .ap-menu-item .harness-icon { width: 16px; height: 16px; color: var(--hui-muted); } | COMMENT |
| MEDIUM | web/app/approvals-harness.css | 154 | #approvalsView .ap-menu-item.danger .harness-icon { color: var(--hui-error); } | COMMENT |
| MEDIUM | web/app/issues-list.css | 5 | #issuesView .harness-icon { flex: none; } | COMMENT |
| MEDIUM | web/app/issues-list.css | 260 | #issuesView .hui-avatar .harness-icon { width: 12px; height: 12px; } | COMMENT |
| MEDIUM | web/app/issues-list.css | 316 | #issuesView .issue-priority .harness-icon { width: 14px; height: 14px; } | COMMENT |
| MEDIUM | web/app/issues-list.css | 340 | #issuesView .issue-table-empty .harness-icon { width: 22px; height: 22px; } | COMMENT |
| MEDIUM | web/app/issues-list.css | 384 | #issuesView .kanban-column > header .harness-icon { color: var(--hui-muted); } | COMMENT |
| MEDIUM | web/app/issues-list.css | 409 | #issuesView .kanban-empty .harness-icon { width: 16px; height: 16px; } | COMMENT |
| MEDIUM | …vscode-web/extensions/css/syntaxes/css.tmLanguage.json | 1 | {"information_for_contributors":["This file has been converted from https://github.com/microsoft/vscode-css/blob/master/ | CODE |
| MEDIUM | …vscode-web/extensions/sql/syntaxes/sql.tmLanguage.json | 1 | {"information_for_contributors":["This file has been converted from https://github.com/microsoft/vscode-mssql/blob/maste | CODE |
| MEDIUM | …vscode-web/extensions/sql/syntaxes/sql.tmLanguage.json | 1 | {"information_for_contributors":["This file has been converted from https://github.com/microsoft/vscode-mssql/blob/maste | CODE |
| MEDIUM | web/monaco/vs/language/css/css.worker.js | 64 | This is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.`},{name:"text | CODE |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | local/.cursor/agents/devflow-developer.md | 34 | ### Step 1: 读取方案 + 执行计划 | COMMENT |
| LOW | local/.cursor/agents/devflow-developer.md | 37 | ### Step 2: files_whitelist 互斥校验 ⭐ | COMMENT |
| LOW | local/.cursor/agents/devflow-developer.md | 48 | ### Step 3: 并行派发 sub-developer ⭐⭐ | COMMENT |
| LOW | local/.cursor/agents/devflow-developer.md | 62 | ### Step 4: 汇总局部报告 + post-check 硬校验 ⭐ | COMMENT |
| LOW | local/.cursor/agents/devflow-developer.md | 93 | ### Step 5: 主 developer 自检 | COMMENT |
| LOW | local/.cursor/agents/devflow-developer.md | 96 | ### Step 6: 输出 change-report.md | COMMENT |
| LOW | local/.cursor/agents/devflow-developer.md | 212 | ### Step 7: 写回 JSON + dispatch | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-architect.md | 35 | ### Step 3: 调用 technical-design skill | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-architect.md | 38 | ### Step 4: 决策确认 | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-architect.md | 41 | ### Step 5: 产出 execution-plan.md ⭐ | COMMENT |
| LOW | local/.cursor/agents/devflow-architect.md | 113 | ### Step 6: 写回 JSON + dispatch | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-leader.md | 45 | ### Step 1: 读取全部产物 | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-leader.md | 50 | ### Step 2: 生成汇总报告 | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-leader.md | 56 | ### Step 3: 获取时间戳 | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-leader.md | 59 | ### Step 4: 写回 JSON | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-leader.md | 68 | ### Step 5: 通知 main | COMMENT |
| LOW | local/.cursor/agents/devflow-code-reviewer.md | 32 | ### Step 0: 前置硬校验(原 gate-task-03 合并)⭐⭐ | COMMENT |
| LOW | local/.cursor/agents/devflow-code-reviewer.md | 61 | ### Step 1: 收集变更信息 | COMMENT |
| LOW | local/.cursor/agents/devflow-code-reviewer.md | 67 | ### Step 2: 逐文件代码审查 | COMMENT |
| LOW | local/.cursor/agents/devflow-code-reviewer.md | 86 | ### Step 3: 生成审查报告 | COMMENT |
| LOW | local/.cursor/agents/devflow-code-reviewer.md | 132 | ### Step 4: 判定与流转 | COMMENT |
| LOW | local/.cursor/agents/devflow-code-reviewer.md | 138 | ### Step 5: 写回 JSON + dispatch | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-knowledge-engineer.md | 36 | ### Step 1: 收集全流程产物 | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-knowledge-engineer.md | 39 | ### Step 2: 调用 knowledge-distillation skill | COMMENT |
| LOW⚡ | local/.cursor/agents/devflow-knowledge-engineer.md | 49 | ### Step 3: 质量筛选 + 重复检测 | COMMENT |
| LOW | local/.cursor/agents/devflow-knowledge-engineer.md | 70 | ### Step 4: 输出到全局知识目录 ⭐ | COMMENT |
| LOW | local/.cursor/agents/devflow-knowledge-engineer.md | 85 | ### Step 5: 写回 JSON + dispatch | COMMENT |
| LOW | local/.cursor/skills/knowledge-distillation/SKILL.md | 23 | ### Step 1: 信息收集 | COMMENT |
| LOW | local/.cursor/skills/knowledge-distillation/SKILL.md | 36 | ### Step 2: 筛选与提炼 | COMMENT |
| LOW | local/.cursor/skills/knowledge-distillation/SKILL.md | 47 | ### Step 3: 分类组织 | COMMENT |
| LOW | local/.cursor/skills/knowledge-distillation/SKILL.md | 59 | ### Step 4: 结构化输出 | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 34 | ### Step 1: 读取方案 + 执行计划 | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 37 | ### Step 2: files_whitelist 互斥校验 ⭐ | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 48 | ### Step 3: 并行派发 sub-developer ⭐⭐ | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 62 | ### Step 4: 汇总局部报告 + post-check 硬校验 ⭐ | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 93 | ### Step 5: 主 developer 自检 | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 96 | ### Step 6: 输出 change-report.md | COMMENT |
| LOW | local/.claude/agents/devflow-developer.md | 212 | ### Step 7: 写回 JSON + dispatch | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-architect.md | 35 | ### Step 3: 调用 technical-design skill | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-architect.md | 38 | ### Step 4: 决策确认 | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-architect.md | 41 | ### Step 5: 产出 execution-plan.md ⭐ | COMMENT |
| LOW | local/.claude/agents/devflow-architect.md | 113 | ### Step 6: 写回 JSON + dispatch | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-leader.md | 45 | ### Step 1: 读取全部产物 | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-leader.md | 50 | ### Step 2: 生成汇总报告 | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-leader.md | 56 | ### Step 3: 获取时间戳 | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-leader.md | 59 | ### Step 4: 写回 JSON | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-leader.md | 68 | ### Step 5: 通知 main | COMMENT |
| LOW | local/.claude/agents/devflow-code-reviewer.md | 32 | ### Step 0: 前置硬校验(原 gate-task-03 合并)⭐⭐ | COMMENT |
| LOW | local/.claude/agents/devflow-code-reviewer.md | 61 | ### Step 1: 收集变更信息 | COMMENT |
| LOW | local/.claude/agents/devflow-code-reviewer.md | 67 | ### Step 2: 逐文件代码审查 | COMMENT |
| LOW | local/.claude/agents/devflow-code-reviewer.md | 86 | ### Step 3: 生成审查报告 | COMMENT |
| LOW | local/.claude/agents/devflow-code-reviewer.md | 132 | ### Step 4: 判定与流转 | COMMENT |
| LOW | local/.claude/agents/devflow-code-reviewer.md | 138 | ### Step 5: 写回 JSON + dispatch | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-knowledge-engineer.md | 36 | ### Step 1: 收集全流程产物 | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-knowledge-engineer.md | 39 | ### Step 2: 调用 knowledge-distillation skill | COMMENT |
| LOW⚡ | local/.claude/agents/devflow-knowledge-engineer.md | 49 | ### Step 3: 质量筛选 + 重复检测 | COMMENT |
| LOW | local/.claude/agents/devflow-knowledge-engineer.md | 70 | ### Step 4: 输出到全局知识目录 ⭐ | COMMENT |
| LOW | local/.claude/agents/devflow-knowledge-engineer.md | 85 | ### Step 5: 写回 JSON + dispatch | COMMENT |
| LOW | local/.claude/skills/knowledge-distillation/SKILL.md | 23 | ### Step 1: 信息收集 | COMMENT |
| LOW | local/.claude/skills/knowledge-distillation/SKILL.md | 36 | ### Step 2: 筛选与提炼 | COMMENT |
| 63 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/runtime/hooks.go | 131 | except Exception: | CODE |
| LOW | internal/runtime/hooks.go | 175 | except Exception: | CODE |
| LOW | internal/runtime/hooks.go | 203 | except Exception as error: | CODE |
| LOW | internal/runtime/conversation_zcode.go | 113 | except Exception: | CODE |
| LOW | internal/runtime/conversation_approval.go | 168 | except Exception: | CODE |
| LOW | internal/observability/hooks.go | 30 | except Exception: | CODE |
| LOW | internal/httpapi/assistant_schedule_permissions_test.go | 122 | except Exception: | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 41 | except Exception: # pragma: no cover - 目标机缺依赖时的兜底 | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 82 | except Exception: | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 92 | except Exception: | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 298 | except Exception: | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 430 | except Exception: | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 513 | except Exception: | CODE |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 586 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 61 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 99 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 138 | except Exception: | CODE |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 109 | except Exception: | CODE |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 260 | except Exception as e: | CODE |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 275 | except Exception: | CODE |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 408 | except Exception as err: | CODE |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 452 | except Exception as err: | CODE |
| LOW⚡ | …r/skills/agent-observability/scripts/core/collector.py | 370 | except Exception: | CODE |
| LOW⚡ | …r/skills/agent-observability/scripts/core/collector.py | 417 | except Exception: | CODE |
| LOW⚡ | …r/skills/agent-observability/scripts/core/collector.py | 422 | except Exception: | CODE |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 44 | except Exception as e: | CODE |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 130 | except Exception: | CODE |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 144 | except Exception: | CODE |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 460 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/devflow.py | 77 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/devflow.py | 88 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/devflow.py | 116 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/runtime.py | 315 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/runtime.py | 358 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/runtime.py | 496 | except Exception as exc: | CODE |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 101 | except Exception: | CODE |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 233 | except Exception: | CODE |
| LOW⚡ | …lls/agent-observability/scripts/core/agent_identity.py | 245 | except Exception: | CODE |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 426 | except Exception: | CODE |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 497 | except Exception: | CODE |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 552 | except Exception: | CODE |
| LOW⚡ | …lls/agent-observability/scripts/core/agent_identity.py | 580 | except Exception: | CODE |
| LOW⚡ | …lls/agent-observability/scripts/core/agent_identity.py | 588 | except Exception: | CODE |
| LOW⚡ | …lls/agent-observability/scripts/core/agent_identity.py | 596 | except Exception: | CODE |
| LOW⚡ | …sor/skills/agent-observability/scripts/core/emitter.py | 76 | except Exception: | CODE |
| LOW⚡ | …sor/skills/agent-observability/scripts/core/emitter.py | 82 | except Exception: | CODE |
| LOW⚡ | …sor/skills/agent-observability/scripts/core/emitter.py | 86 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 106 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 117 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 132 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 146 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 159 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 419 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 450 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 515 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 568 | except Exception: | CODE |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 576 | except Exception: | CODE |
| LOW | …ursor/skills/agent-observability/scripts/core/state.py | 18 | except Exception: # pragma: no cover - non-posix fallback | CODE |
| LOW | …ursor/skills/agent-observability/scripts/core/state.py | 41 | except Exception: | CODE |
| LOW | …ursor/skills/agent-observability/scripts/core/state.py | 109 | except Exception: | CODE |
| 126 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | start.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | web/observability.css | 421 | #observabilityView .obs-bd-ring{position:relative} | COMMENT |
| LOW | web/observability.css | 461 | .obs-funnel-fallback em{color:var(--muted-2);font-style:normal} | COMMENT |
| LOW | web/observability.css | 481 | #observabilityView .obs-dtool{display:flex;align-items:flex-start;gap:8px} | COMMENT |
| LOW | web/product-v4.css | 801 | #sopsView .sop-page{max-width:none;width:100%;margin-left:0;margin-right:0} | COMMENT |
| LOW | web/product-v4.css | 1781 | } | COMMENT |
| LOW | web/product-v4.css | 2701 | #runnersView .runner-steps li::marker{content:""} | COMMENT |
| LOW | web/product-v4.css | 2721 | #runnersView .runner-command-box .button.copied{background:#dcfce7;border-color:#dcfce7;color:#166534} | COMMENT |
| LOW | web/product-v4.css | 2741 | #runnersView .runner-list-heading h2{margin:0;color:var(--rv-text);font-size:15px;font-weight:600} | COMMENT |
| LOW | web/product-v4.css | 2761 | #runnersView .runner-tag.default{background:var(--rv-btn-dark);color:var(--rv-btn-dark-text)} | COMMENT |
| LOW | web/product-v4.css | 2781 | #runnersView .runner-runtime-empty{padding:12px 0;border-bottom:1px solid var(--rv-line-soft);color:var(--rv-muted-2);fo | COMMENT |
| LOW | web/product-v4.css | 3241 | #agentsView .agent-tab:hover,#agentModal .agent-tab:hover{color:var(--hu-text-2);background:transparent} | COMMENT |
| LOW | web/product-v4.css | 3281 | #agentsView .button:focus-visible,#agentModal .button:focus-visible{outline:0;box-shadow:0 0 0 3px var(--hu-accent-soft) | COMMENT |
| LOW | web/product-v4.css | 3341 | #agentsView .agent-row+.agent-row:not(.agent-row-head){box-shadow:0 -1px 0 var(--hu-border)} | COMMENT |
| LOW | web/product-v4.css | 3361 | } | COMMENT |
| LOW | web/product-v4.css | 3381 | #agentsView .agent-row>.agent-col-config,#agentsView .agent-row>.agent-col-uses{display:none} | COMMENT |
| LOW | web/product-v4.css | 3401 | #agentModal .as-summary-row{gap:6px;padding:6px 20px 8px;border:0;background:var(--hu-surface)} | COMMENT |
| LOW | web/product-v4.css | 3421 | #agentModal .as-preset b{font-size:14px;font-weight:500;color:var(--hu-text)} | COMMENT |
| LOW | web/product-v4.css | 3441 | #agentModal .as-task-card,#agentModal .as-loop-card{padding:14px;border:1px solid var(--hu-border);border-radius:var(--h | COMMENT |
| LOW | web/product-v4.css | 3461 | #agentModal .as-asset-item div small{color:var(--hu-muted);font-size:11px} | COMMENT |
| LOW | web/product-v4.css | 3481 | #agentModal .as-count-wrap input{width:100%;padding-right:64px;box-sizing:border-box} | COMMENT |
| LOW | web/product-v4.css | 3501 | /* --- 任务:prompt 编辑框与变量工具条 --- */ | COMMENT |
| LOW | web/product-v4.css | 3521 | --rl-hover:color-mix(in srgb,var(--rl-text) 3%,var(--rl-surface)); | COMMENT |
| LOW | web/product-v4.css | 3541 | #runsView .run-icon-btn:hover{background:var(--rl-hover);color:var(--rl-text);border-color:color-mix(in srgb,var(--rl-te | COMMENT |
| LOW | web/product-v4.css | 3561 | #runsView .run-select select{box-sizing:border-box;width:170px;height:34px;margin:0;padding:0 30px 0 10px;border:1px sol | COMMENT |
| LOW | web/product-v4.css | 3581 | #runsView .run-chip{display:inline-block;height:18px;padding:0 6px;border-radius:5px;background:var(--rl-track);color:va | COMMENT |
| LOW | web/product-v4.css | 3601 | #runsView .run-list-empty p{margin:0;font-size:13px} | COMMENT |
| LOW | web/product-v4.css | 3621 | #runsView .run-lamp i{animation:none !important} | COMMENT |
| LOW | web/product-v4.css | 3641 | #guideView #accessBody>.quick-wrap>.access-tokens{flex:1 1 auto} | COMMENT |
| LOW | web/bots.css | 41 | --bot-hover:color-mix(in srgb,var(--hui-text) 2.5%,transparent);--bot-press:color-mix(in srgb,var(--hui-text) 5%,transp | COMMENT |
| LOW | web/chat-codex.css | 1 | /* AI 工作台 chat polish: welcome prompts, image attachments, session overview and draft cards. | COMMENT |
| LOW | web/chat-codex.css | 21 | @media(max-width:760px){#collaborationView .ai-welcome-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}} | COMMENT |
| LOW | web/chat-codex.css | 61 | /* ---------- Composer ---------- */ | COMMENT |
| LOW | web/chat-codex.css | 221 | #collaborationView .collaboration-shell{background:var(--bg,#f7f7f8)} | COMMENT |
| LOW | web/chat-codex.css | 241 | #collaborationView .ai-step-icon{display:inline-flex;width:15px;height:15px;flex:none;color:var(--muted)} | COMMENT |
| LOW | web/chat-codex.css | 261 | #collaborationView .collab-message-images{border:1px solid var(--line,#ececef);background:var(--panel,#fff);width:fit-co | COMMENT |
| LOW | web/chat-codex.css | 281 | #collaborationView .ai-slide th{color:#64748b;font-weight:650} | COMMENT |
| LOW | web/workbench.css | 101 | grid-template-columns: 0 minmax(0, 1fr) 0; | COMMENT |
| LOW | web/workbench.css | 121 | #workbenchHost .btn { | COMMENT |
| LOW | web/workbench.css | 141 | background: var(--surface); border: 1px solid var(--line); font-size: 12px; color: var(--text-2); | COMMENT |
| LOW | web/workbench.css | 161 | #workbenchHost .pill-ok { color: var(--ok); background: var(--ok-soft); } | COMMENT |
| LOW | web/workbench.css | 181 | #workbenchHost .kind-browser { color: oklch(0.55 0.12 220); background: oklch(0.55 0.12 220 / 0.1); } | COMMENT |
| LOW | web/workbench.css | 201 | #workbenchHost .sb-search:focus-within { background: var(--surface); box-shadow: inset 0 0 0 1px var(--line-strong); } | COMMENT |
| LOW | web/workbench.css | 221 | #workbenchHost .sb-link { display: flex; align-items: center; gap: 9px; height: 32px; padding: 0 8px; border-radius: 8px | COMMENT |
| LOW | web/workbench.css | 241 | #workbenchHost .req-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } | COMMENT |
| LOW | web/workbench.css | 261 | #workbenchHost .msg-head b { font-size: 13.5px; font-weight: 600; } | COMMENT |
| LOW | web/workbench.css | 281 | #workbenchHost .md li { margin: 0.18em 0; } | COMMENT |
| LOW | web/workbench.css | 301 | #workbenchHost .card-title b em { font-style: normal; font-weight: 500; color: var(--text-3); font-size: 12px; } | COMMENT |
| LOW | web/workbench.css | 321 | #workbenchHost .ws-preparing { color: var(--run); background: var(--run-soft); } | COMMENT |
| LOW | web/workbench.css | 341 | #workbenchHost .ap-progress .done { color: var(--ok); } | COMMENT |
| LOW | web/workbench.css | 361 | #workbenchHost .pt-btn { height: 14px; margin-top: auto; background: var(--text) !important; border-radius: 6px !importa | COMMENT |
| LOW | web/workbench.css | 381 | /* ---------- flow canvas ---------- */ | COMMENT |
| LOW | web/workbench.css | 401 | #workbenchHost .rf-edge.rework path { stroke: var(--wait) !important; stroke-dasharray: 5 4; } | COMMENT |
| LOW | web/workbench.css | 421 | #workbenchHost .send.ready { background: var(--text); color: var(--bg); } | COMMENT |
| LOW | web/workbench.css | 441 | @keyframes fadeIn { from { opacity: 0; transform: translateY(3px); } } | COMMENT |
| LOW | web/workbench.css | 461 | #workbenchHost .art-row > span:not(.kind-icon) { flex: 1; min-width: 0; display: flex; flex-direction: column; line-heig | COMMENT |
| LOW | web/workbench.css | 481 | #workbenchHost .al-metrics { font-size: 11.5px; color: var(--text-3); font-variant-numeric: tabular-nums; } | COMMENT |
| LOW | web/workbench.css | 501 | COMMENT | |
| LOW | web/workbench.css | 521 | #workbenchHost .phone-btn { height: 46px; border-radius: 14px; background: #18181b; color: #fff; font-weight: 600; font- | COMMENT |
| LOW | web/workbench.css | 541 | #workbenchHost .fs { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 5px; font: 600 10px v | COMMENT |
| 107 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/skills/agent-observability/tests/test_runtime_flow.py | 1 | CODE | |
| LOW | …ursor/skills/agent-observability/tests/test_devflow.py | 1 | CODE | |
| LOW | …rsor/skills/agent-observability/tests/test_cls_sink.py | 1 | CODE | |
| LOW | …ls/agent-observability/tests/test_pricing_overrides.py | 16 | CODE | |
| LOW | …kills/agent-observability/tests/test_agent_identity.py | 1 | CODE | |
| LOW | …agent-observability/tests/test_build_dashboard_data.py | 1 | CODE | |
| LOW | …sor/skills/agent-observability/tests/test_collector.py | 1 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 24 | CODE | |
| LOW | …cal/.cursor/skills/agent-observability/scripts/main.py | 3 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 10 | CODE | |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 1 | CODE | |
| LOW | …or/skills/agent-observability/scripts/core/cls_sink.py | 7 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 8 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/devflow.py | 11 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/runtime.py | 1 | CODE | |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 8 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 17 | CODE | |
| LOW | …ursor/skills/agent-observability/scripts/core/state.py | 8 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/envfile.py | 1 | CODE | |
| LOW | local/hermes-plugin/__init__.py | 8 | CODE | |
| LOW | local/tools/tcmcp/app/catalog.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/preview.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/models.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/generate.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/regions.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/cam.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/installer.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/install.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/main.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/server.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/config.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/sdk.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/http_auth.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/listen.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/cdb.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/cls.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/tdsqlc.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/tdsqlc.py | 5 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/dispatch.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/cos.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/dbbrain.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/redis.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/tke.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/handlers/ping.py | 1 | CODE | |
| LOW | local/tools/tcmcp/app/cloud/__init__.py | 3 | CODE | |
| LOW | local/tools/tcmcp/app/cloud/listing.py | 3 | CODE | |
| LOW | local/tests/test_hermes_plugin.py | 4 | CODE | |
| LOW | local/tests/live/test_codebuddy.py | 8 | CODE | |
| LOW | local/tests/e2e/harness.py | 25 | CODE | |
| LOW | local/tests/e2e/harness.py | 25 | CODE | |
| LOW | local/tests/e2e/harness.py | 25 | CODE | |
| LOW | local/tests/e2e/test_e2e_install.py | 6 | CODE | |
| LOW | …/skills/agent-observability/tests/test_runtime_flow.py | 1 | CODE | |
| LOW | …laude/skills/agent-observability/tests/test_devflow.py | 1 | CODE | |
| LOW | …aude/skills/agent-observability/tests/test_cls_sink.py | 1 | CODE | |
| LOW | …ls/agent-observability/tests/test_pricing_overrides.py | 16 | CODE | |
| LOW | …kills/agent-observability/tests/test_agent_identity.py | 1 | CODE | |
| LOW | …agent-observability/tests/test_build_dashboard_data.py | 1 | CODE | |
| LOW | …ude/skills/agent-observability/tests/test_collector.py | 1 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 24 | CODE | |
| 32 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ls/agent-observability/scripts/build_dashboard_data.py | 586 | except Exception: | CODE |
| HIGH | …lls/agent-observability/scripts/core/agent_identity.py | 426 | except Exception: | CODE |
| HIGH | local/tools/tcmcp/app/mcp_runtime/handlers/tke.py | 223 | except Exception: | CODE |
| HIGH | local/tests/live/test_codebuddy.py | 50 | except ValueError: | CODE |
| HIGH | local/tests/live/classic_terminal.py | 69 | except ProcessLookupError: | CODE |
| HIGH | …ls/agent-observability/scripts/build_dashboard_data.py | 586 | except Exception: | CODE |
| HIGH | …lls/agent-observability/scripts/core/agent_identity.py | 426 | except Exception: | CODE |
| HIGH | local/scripts/build-classic-hosts.py | 155 | except UnicodeDecodeError: | CODE |
| HIGH | local/.codebuddy/hooks/devflow-auto-dispatch.py | 46 | except Exception: | CODE |
| HIGH | local/.codebuddy/hooks/devflow-auto-dispatch.py | 180 | except Exception: | CODE |
| HIGH | …ls/agent-observability/scripts/build_dashboard_data.py | 586 | except Exception: | CODE |
| HIGH | …lls/agent-observability/scripts/core/agent_identity.py | 426 | except Exception: | CODE |
| HIGH | local/src/devflow_cli/core.py | 405 | except OSError: | CODE |
| HIGH | scripts/install-compose.py | 37 | except FileNotFoundError: | CODE |
| HIGH | scripts/install-address.py | 112 | except OSError: | CODE |
| HIGH | scripts/install-address.py | 116 | except OSError: | CODE |
| HIGH | skills/report-workflow-usage/scripts/report_usage.py | 144 | except (urllib.error.URLError, TimeoutError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 125 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 418 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 457 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 224 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 314 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 448 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/scanner.py | 228 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 321 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 406 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 687 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 848 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 870 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 895 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 928 | CODE | |
| LOW | …r/skills/agent-observability/scripts/core/collector.py | 953 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/runtime.py | 93 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/runtime.py | 474 | CODE | |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 222 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 59 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 91 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 555 | CODE | |
| LOW | local/tools/tcmcp/app/preview.py | 11 | CODE | |
| LOW | local/tools/tcmcp/app/preview.py | 52 | CODE | |
| LOW | local/tools/tcmcp/app/mcp_runtime/http_auth.py | 14 | CODE | |
| LOW | local/tools/tcmcp/tests/test_generated_list_tools.py | 12 | CODE | |
| LOW | local/tests/live/classic_terminal.py | 14 | CODE | |
| LOW | local/tests/e2e/test_e2e_portable_workflow.py | 79 | CODE | |
| LOW | local/tests/e2e/test_e2e_install.py | 35 | CODE | |
| LOW | local/tests/e2e/test_e2e_install.py | 66 | CODE | |
| LOW | local/tests/e2e/fake_agent.py | 129 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 125 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 418 | CODE | |
| LOW | …ls/agent-observability/scripts/build_dashboard_data.py | 457 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/scanner.py | 224 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/scanner.py | 314 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/scanner.py | 448 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/scanner.py | 228 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 321 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 406 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 687 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 848 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 870 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 895 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 928 | CODE | |
| LOW | …e/skills/agent-observability/scripts/core/collector.py | 953 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/runtime.py | 93 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/runtime.py | 474 | CODE | |
| LOW | …lls/agent-observability/scripts/core/agent_identity.py | 222 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/emitter.py | 59 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/emitter.py | 91 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/emitter.py | 555 | CODE | |
| LOW | local/scripts/build-classic-hosts.py | 217 | CODE | |
| LOW | local/skills/devflow/scripts/adapter_registry.py | 12 | CODE | |
| LOW | local/skills/devflow/scripts/validate_artifacts.py | 23 | CODE | |
| LOW | local/skills/devflow/scripts/validate_artifacts.py | 88 | CODE | |
| LOW | local/skills/devflow/scripts/workflow_state.py | 108 | CODE | |
| LOW | local/skills/devflow/scripts/workflow_state.py | 653 | CODE | |
| LOW | local/skills/devflow/scripts/workflow_state.py | 972 | CODE | |
| LOW | local/skills/devflow/scripts/install_adapter.py | 108 | CODE | |
| LOW | local/skills/devflow/scripts/validate_config.py | 15 | CODE | |
| 29 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| MEDIUM | local/.cursor/runtime/start-workflow.md | 117 | ## Step 4:Cursor multi-agent 派发 | COMMENT |
| MEDIUM | local/.cursor/commands/start-devflow.md | 121 | ## Step 4:Cursor multi-agent 派发 | COMMENT |
| MEDIUM⚡ | local/tests/e2e/test_e2e_workflow_modes.py | 48 | # No requirement gate and no multi-agent pipeline on the small route. | COMMENT |
| MEDIUM | local/.claude/runtime/start-workflow.md | 117 | ## Step 4:Claude Code multi-agent 派发 | COMMENT |
| MEDIUM | local/.claude/commands/start-devflow.md | 126 | ## Step 4:Claude Code multi-agent 派发 | COMMENT |
| MEDIUM | local/.codex/runtime/start-workflow.md | 117 | ## Step 4:Codex multi-agent 派发 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| LOW | web/page_feedback_test.js | 97 | assert.strictEqual($('.fb-text').getAttribute('placeholder'), '您的不知所措也是我们的问题'); | CODE |
| LOW | web/hui_fake_dom.js | 12 | const REFLECT = { id: 'id', type: 'type', name: 'name', min: 'min', max: 'max', accept: 'accept', placeholder: 'placehol | CODE |
| LOW | web/i18n.js | 22 | const ATTRS = ['placeholder', 'title', 'aria-label', 'data-tip', 'data-tooltip']; | CODE |
| LOW | …sions/markdown-language-features/notebook-out/index.js | 1 | var _s=Object.create;var Tt=Object.defineProperty;var gs=Object.getOwnPropertyDescriptor;var xs=Object.getOwnPropertyNam | CODE |
| LOW | web/monaco/vs/index-CBVt3dzv.js | 5 | \`\`\``}}var Pt=class extends p{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.a | CODE |
| LOW | web/monaco/vs/editorWorkerHost-fVE1cjcC.js | 7 | `))}}class dn extends Error{constructor(e,n,i,s,r){super(r?`[${r}] potential listener LEAK detected, ${e}`:`potential li | CODE |
| LOW | web/monaco/vs/language/html/html.worker.js | 431 | **Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet E | CODE |
| LOW | web/monaco/vs/assets/editor.worker-lj3bdIIn.js | 7 | `))}}class Tt extends Error{constructor(e,n,r,s,i){super(i?`[${i}] potential listener LEAK detected, ${e}`:`potential li | CODE |
| LOW | web/monaco/vs/assets/html.worker-D1SL3iM8.js | 7 | `))}}class rn extends Error{constructor(e,n,i,r,s){super(s?`[${s}] potential listener LEAK detected, ${e}`:`potential li | CODE |
| LOW | web/monaco/vs/assets/html.worker-D1SL3iM8.js | 462 | **Note:** Do not use this attribute, as it is non-standard and only implemented in some versions of Microsoft Internet E | CODE |
| LOW | web/monaco/vs/assets/json.worker-CoJx_OPf.js | 7 | `))}}class An extends Error{constructor(e,n,r,i,s){super(s?`[${s}] potential listener LEAK detected, ${e}`:`potential li | CODE |
| LOW | web/monaco/vs/assets/editorWebWorkerMain-CA_vMoUU.js | 7 | `))}}class Pt extends Error{constructor(e,n,r,s,i){super(i?`[${i}] potential listener LEAK detected, ${e}`:`potential li | CODE |
| LOW | internal/runtime/browser_agent.go | 39 | const item = { ref, role, name: clean(e.getAttribute("aria-label") || e.innerText || buttonValue || e.getAttribute(" | CODE |
| LOW | internal/httpapi/repository_ssh_test.go | 303 | sshTestGit(t, root, "-c", "user.name=Test", "-c", "user.email=test@example.org", "commit", "--allow-empty", "-m", "base | CODE |
| LOW | internal/engine/runner_terminal_cases_test.go | 136 | heads, err := e.pushConversationOnRunner(context.Background(), "runner-terminal", run, []domain.RepositoryContext{rc}, | CODE |
| LOW | local/.cursor/skills/brainstorming/visual-companion.md | 235 | <div class="placeholder">Placeholder area</div> | CODE |
| LOW | local/.claude/skills/brainstorming/visual-companion.md | 235 | <div class="placeholder">Placeholder area</div> | CODE |
| LOW | …x/skills/superpowers/brainstorming/visual-companion.md | 234 | <div class="placeholder">Placeholder area</div> | CODE |
| LOW | …al/.codebuddy/skills/brainstorming/visual-companion.md | 235 | <div class="placeholder">Placeholder area</div> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| HIGH⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| LOW | …-web/extensions/css-language-features/package.nls.json | 1 | {"displayName":"CSS Language Features","description":"Provides rich language support for CSS, LESS and SCSS files.","css | CODE |
| LOW | web/monaco/vs/language/css/css.worker.js | 23 | `),[{language:"html",value:n}]}doPrint(e,t){for(const n of e)this.doPrintElement(n,t),n.children&&this.doPrint(n.childre | CODE |
| MEDIUM | web/monaco/vs/language/html/html.worker.js | 297 | **Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/ | CODE |
| MEDIUM | web/monaco/vs/assets/html.worker-D1SL3iM8.js | 328 | **Usage note:** Do not use this attribute, as it has been deprecated. The [\`<caption>\`](https://developer.mozilla.org/ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | web/i18n-en.js | 1 | window.LF_I18N_EN={"驱动的 Agent 交付平台":"-driven Agent delivery platform","侧边栏:分组导航 --":"Sidebar: grouped navigation --","首页 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 199 | CODE | |
| LOW | …sor/skills/agent-observability/scripts/core/emitter.py | 276 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/emitter.py | 199 | CODE | |
| LOW | …ude/skills/agent-observability/scripts/core/emitter.py | 276 | CODE | |
| LOW | local/scripts/build-classic-hosts.py | 75 | CODE | |
| LOW | …ddy/skills/agent-observability/scripts/core/emitter.py | 199 | CODE | |
| LOW | …ddy/skills/agent-observability/scripts/core/emitter.py | 276 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | local/tests/e2e/test_e2e_dashboard_browser.py | 34 | raise unittest.SkipTest("playwright is not installed (pip install playwright && playwright install chromium)") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ursor/skills/agent-observability/scripts/core/state.py | 166 | def set_devflow_state(state: dict[str, Any], sid: str, updates: dict[str, Any]) -> None: | CODE |
| LOW | local/tools/tcmcp/app/cloud/__init__.py | 5 | __all__ = ["list_resources"] | CODE |
| LOW | …laude/skills/agent-observability/scripts/core/state.py | 166 | def set_devflow_state(state: dict[str, Any], sid: str, updates: dict[str, Any]) -> None: | CODE |
| LOW | …buddy/skills/agent-observability/scripts/core/state.py | 166 | def set_devflow_state(state: dict[str, Any], sid: str, updates: dict[str, Any]) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | start.sh | 5 | # Usage: | COMMENT |