AI Slop Code RIsk Monitor

liliMozi/openhanako

A personal AI agent with memory, personality, and autonomy.

4.7 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for liliMozi/openhanako, a TypeScript project with 6,757 GitHub stars. SynthScan examined 703,613 lines of code across 2547 source files, recording 2497 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 4.7 (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.

4.7
Adjusted Signal
4.7
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
6.8K
Stars
TypeScript
Language
703.6K
Lines of Code
2.5K
Files
2.5K
Pattern Hits
2026-10-12
Scan Date
0.01
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 13.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.8/100 · LOW

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

Agent Over-Engineering Ratio 19.8/100 · LOW

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

PR Review Velocity Impact 21.0/100 · LOW

Which changes need focused human review? 2497 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 20MEDIUM 358LOW 2119

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 2497 distinct pattern matches across 13 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 Identifiers1997 hits · 1992 pts
SeverityFileLineSnippetContext
LOWvite.config.ts176function serveMobilePwaStaticFiles(): Plugin {CODE
LOWcore/execution-boundary.ts4export function createRuntimeExecutionBoundary(runtimeContext, options: { workbenchRoot?: any; workbenchKind?: string } CODE
LOWcore/execution-boundary.ts16export function createLocalExecutionBoundary({CODE
LOWcore/plugin-manager.ts102function normalizeUiHostCapabilities(raw, pluginId) {CODE
LOWcore/plugin-manager.ts120function normalizeActivationEvents(raw, hasLifecycle) {CODE
LOWcore/plugin-manager.ts148function normalizePluginToolResult(raw, pluginId) {CODE
LOWcore/plugin-manager.ts163function getDynamicToolInvocationStyle( toolDef: any = {}) {CODE
LOWcore/plugin-manager.ts199function withInvocationSessionHelpers(ctx, sessionCtx) {CODE
LOWcore/server-runtime-context.ts17export function createServerRuntimeContext({ hanakoHome, appVersion = "?" }) {CODE
LOWcore/provider-catalog.ts36function normalizeDeletedProviders(value: any): string[] {CODE
LOWcore/capability-policy.ts102export function capabilityDecisionSummary(value) {CODE
LOWcore/workspace-instruction-files.ts76export function collectWorkspaceInstructionFiles({ cwd, workspaceContext, excludeFiles }: { cwd?: any; workspaceContext?CODE
LOWcore/workspace-instruction-files.ts114export function formatWorkspaceInstructionFiles(files: any, { locale }: { locale?: any } = {}) {CODE
LOWcore/workspace-instruction-files.ts137export function buildWorkspaceInstructionPrompt({ cwd, workspaceContext, locale, excludeFiles }: { cwd?: string; workspaCODE
LOW⚡core/session-coordinator.ts359function cacheContractDebugEnabled() {CODE
LOW⚡core/session-coordinator.ts363function assertVideoInputSupported(model: any, videos: any) {CODE
LOW⚡core/session-coordinator.ts373function assertAudioInputSupported(model: any, audios: any) {CODE
LOW⚡core/session-coordinator.ts867function buildDeepSeekRoleplayReasoningContext(agent: any) {CODE
LOW⚡core/session-coordinator.ts875function normalizeSessionExperimentFlags(value: any) {CODE
LOW⚡core/session-coordinator.ts883function sessionExperimentFlagsForMeta(value: any) {CODE
LOW⚡core/session-coordinator.ts888function hasSessionPermissionModeFields(value: any) {CODE
LOW⚡core/session-coordinator.ts896function normalizeSessionWorkspaceMount(value: any) {CODE
LOWcore/session-coordinator.ts192function createModelContextTooLargeError(currentTokens: number, effectiveWindow: number) {CODE
LOWcore/session-coordinator.ts202function classifySessionModelAvailability(models: any, provider: string, modelId: string): SessionModelAvailability {CODE
LOWcore/session-coordinator.ts245function createUnavailableSessionModel(models: any, provider: string, modelId: string) {CODE
LOWcore/session-coordinator.ts264function splitLeadingSessionReminder(text: any) {CODE
LOWcore/session-coordinator.ts278function detachReminderFromLatestUserMessage(messages: any) {CODE
LOWcore/session-coordinator.ts310function reattachReminderToLatestUserMessage(messages: any, reminder: any) {CODE
LOWcore/session-coordinator.ts337function createReminderAwareTurnContextExtension(options: any) {CODE
LOWcore/session-coordinator.ts399function normalizePluginSessionMeta({ ownerPluginId, sessionKind, sessionVisibility }: any = {}) {CODE
LOWcore/session-coordinator.ts417function sessionMatchesListOptions(sessionLike, options: any = {}) {CODE
LOWcore/session-coordinator.ts435function extractPlainTextFromContent(content: any, { stripThink = false } = {}) {CODE
LOWcore/session-coordinator.ts449function timestampFromHistoryMessage(message: any, fallback = Date.now()) {CODE
LOWcore/session-coordinator.ts458function activeToolDefinitionsFromSnapshot(allToolObjects: any, snapshotToolNames: any) {CODE
LOWcore/session-coordinator.ts469function normalizeDeletedAgentTranscriptMessage(message: any) {CODE
LOWcore/session-coordinator.ts490function readSessionBranchMessages(sessionManager: any) {CODE
LOWcore/session-coordinator.ts517function deletedAgentContinuationError(code: string, message: string, status = 422) {CODE
LOWcore/session-coordinator.ts528function resolveAssistantUsageModel(modelMeta: any, fallbackModel: any, resolveModel: any) {CODE
LOWcore/session-coordinator.ts544function modelMetaForAssistantUsage(message: any, fallbackModel: any, resolvedModel: any) {CODE
LOWcore/session-coordinator.ts552function costRatesForAssistantUsage({ modelMeta, resolvedModel, fallbackModel }: any) {CODE
LOWcore/session-coordinator.ts595function logDeepSeekReasoningVisibility({ event, model, sessionPath, agentId }: any) {CODE
LOWcore/session-coordinator.ts614function collectThinkingVisibilityStats(message: any) {CODE
LOWcore/session-coordinator.ts649function collectAssistantTextFromMessage(message: any) {CODE
LOWcore/session-coordinator.ts676function collectSessionFilesFromToolResult(result: any) {CODE
LOWcore/session-coordinator.ts715function normalizeMemoryPressureOptions(raw: any) {CODE
LOWcore/session-coordinator.ts735function estimateSessionRuntimeRetainedBytes(session: any) {CODE
LOWcore/session-coordinator.ts746function estimateRetainedValueBytes(value: any, seen: WeakSet<any>, budget: any, depth = 0) {CODE
LOWcore/session-coordinator.ts800function buildAppendSystemPromptSnapshot({CODE
LOWcore/session-coordinator.ts832function readDeepSeekRoleplayExperimentFlag(prefs: any) {CODE
LOWcore/session-coordinator.ts840function normalizeDeepSeekRoleplayReasoningContext(value: any) {CODE
LOWcore/session-coordinator.ts853function readAgentRosterDescription(agent: any) {CODE
LOWcore/session-coordinator.ts940function countRetainedSessionMessages(entries: any[]) {CODE
LOWcore/session-coordinator.ts974function rewriteForkedSessionDraftValue(value: any, replacements: [string, string][]): any {CODE
LOWcore/session-coordinator.ts992function rewriteForkedSessionDraftReferences(sessionManager: any, suggestionIdMap: any) {CODE
LOWcore/session-coordinator.ts7938 session.agent.streamFn = function providerCacheAffinityStream(model, context, options) {CODE
LOWcore/web-session-store.ts128function persistWebSessionRegistry(hanakoHome, registry) {CODE
LOWcore/web-session-store.ts133function validateWebSessionRegistry(value, label) {CODE
LOWcore/vision-prepare.ts19function isRecoverableVisionPrepareError(err) {CODE
LOWcore/vision-prepare.ts39function appendVisionFailureNotice(text, err) {CODE
LOWcore/vision-prepare.ts48export async function prepareVisionInputForTextOnlyModel({CODE
1937 more matches not shown…
Decorative Section Separators351 hits · 1060 pts
SeverityFileLineSnippetContext
MEDIUMcore/plugin-manager.ts820 // ── Task 5: Tool loader ──────────────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts950 // ── Task 6: Skill paths + Command loader ────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1048 // ── Task 7: Route loader ─────────────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1136 // ── Task 8: Extension loader ─────────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1162 // ── Task 9: Configuration loader ─────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1259 // ── Page / Widget loader ──────────────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1333 // ── Task 10: Agent templates + Provider loader ───────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1385 // ── Operation queue ───────────────────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1405 // ── Hot operations ───────────────────────────────────────────────────────COMMENT
MEDIUMcore/plugin-manager.ts1598 // ── Lifecycle ─────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/migrate-providers.ts33// ── 原子写入工具 ──────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/migrate-providers.ts50// ── 主迁移函数 ────────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/migrate-providers.ts255// ── 内部工具 ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/migrations.ts73// ── 迁移表 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/migrations.ts274// ── Runner ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/migrations.ts330// ── 迁移实现 ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/agent.ts261 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts263 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts783 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts785 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts807 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts809 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts1009 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts1011 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts1047 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts1049 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts1103 // ════════════════════════════COMMENT
MEDIUMcore/agent.ts1105 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts2093 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts2095 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts2102 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts2104 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts3573 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts3575 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts3582 // ════════════════════════════COMMENT
MEDIUM⚡core/engine.ts3584 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts761 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts763 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts1339 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts1341 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts1741 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts1743 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2194 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2196 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2343 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2345 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2369 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2371 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2726 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2728 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2853 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts2855 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts3336 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts3338 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts3416 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts3418 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts3502 // ════════════════════════════COMMENT
MEDIUMcore/engine.ts3504 // ════════════════════════════COMMENT
MEDIUM⚡core/provider-registry.ts367// ── 内置插件 ────────────────────────────────────────────────────────────────COMMENT
MEDIUMcore/provider-registry.ts457// ── Types (JSDoc) ─────────────────────────────────────────────────────────────COMMENT
291 more matches not shown…
Cross-Language Confusion12 hits · 75 pts
SeverityFileLineSnippetContext
HIGH⚡…2set/hana-plugin-creator/scripts/create_hana_plugin.py337 ? {{ sessionId: toolCtx.sessionId, sessionPath: toolCtx.sessionPath || null }}CODE
HIGH⚡…2set/hana-plugin-creator/scripts/create_hana_plugin.py337 ? {{ sessionId: toolCtx.sessionId, sessionPath: toolCtx.sessionPath || null }}CODE
HIGH⚡…2set/hana-plugin-creator/scripts/create_hana_plugin.py338 : null);CODE
HIGH⚡…2set/hana-plugin-creator/scripts/create_hana_plugin.py398 ? {{ sessionId: toolCtx.sessionId, sessionPath: toolCtx.sessionPath || null }}CODE
HIGH⚡…2set/hana-plugin-creator/scripts/create_hana_plugin.py398 ? {{ sessionId: toolCtx.sessionId, sessionPath: toolCtx.sessionPath || null }}CODE
HIGH⚡…2set/hana-plugin-creator/scripts/create_hana_plugin.py399 : null);CODE
HIGH…2set/hana-plugin-creator/scripts/create_hana_plugin.py446 if (payload?.pluginId && payload.pluginId !== ctx.pluginId) return HANA_BUS_SKIP;CODE
HIGH…2set/hana-plugin-creator/scripts/create_hana_plugin.py476 if (payload?.pluginId && payload.pluginId !== ctx.pluginId) return HANA_BUS_SKIP;CODE
HIGH…2set/hana-plugin-creator/scripts/create_hana_plugin.py641 if (msg.protocol !== PROTOCOL || msg.version !== VERSION || msg.id !== id || msg.type !== type) return;CODE
HIGH…2set/hana-plugin-creator/scripts/create_hana_plugin.py671 if (!stripped || stripped.startsWith("./") || stripped === "api/plugins" || stripped.startsWith("api/plugins/")) {{CODE
HIGH…2set/hana-plugin-creator/scripts/create_hana_plugin.py715 return {{ theme: params.get("hana-theme") || undefined, cssUrl: params.get("hana-css") || undefined }};CODE
HIGH…2set/hana-plugin-creator/scripts/create_hana_plugin.py975 theme={{customTheme || (themeMode === 'hana' ? 'warm-paper' : undefined)}}CODE
Empty Error Handlers8 hits · 40 pts
SeverityFileLineSnippetContext
HIGHskills2set/skill-creator/eval-viewer/generate_review.py303except subprocess.TimeoutExpired:CODE
HIGHskills2set/skill-creator/eval-viewer/generate_review.py231except (json.JSONDecodeError, OSError, KeyError):CODE
HIGHskills2set/skill-creator/eval-viewer/generate_review.py97except (json.JSONDecodeError, OSError):CODE
HIGHskills2set/skill-creator/eval-viewer/generate_review.py135except (json.JSONDecodeError, OSError):CODE
HIGHskills2set/skill-creator/eval-viewer/generate_review.py111except OSError:CODE
HIGHskills2set/skill-creator/eval-viewer/generate_review.py299except (ProcessLookupError, ValueError):CODE
HIGHskills2set/skill-creator/eval-viewer/generate_review.py340except (json.JSONDecodeError, OSError):CODE
HIGHskills2set/skill-creator/scripts/aggregate_benchmark.py135except json.JSONDecodeError:CODE
Fake / Example Data40 hits · 40 pts
SeverityFileLineSnippetContext
LOWtests/server-home-guards.test.ts151 token: "fake-token",CODE
LOWtests/data-epoch-restore.test.ts114 JSON.stringify({ pid: process.pid, port, token: "fake-token", version: "0.1.0", ownerKind: "standalone" }),CODE
LOWtests/desk-route.test.ts123 fs.writeFileSync(zipPath, "placeholder");CODE
LOWtests/desk-route.test.ts246 contentBase64: Buffer.from("placeholder").toString("base64"),CODE
LOWdesktop/src/locales/zh.json296 "placeholder": "在会话中查找"CODE
LOWdesktop/src/locales/zh.json365 "placeholder": "说点什么...",CODE
LOWdesktop/src/locales/zh.json574 "placeholder": {CODE
LOWdesktop/src/locales/zh.json1055 "placeholder": "搜索设置",CODE
LOWdesktop/src/locales/zh.json2467 "placeholder": "你的名字",CODE
LOWdesktop/src/locales/zh.json2816 "placeholder": "搜索工作台",CODE
LOWdesktop/src/locales/ja.json296 "placeholder": "会話内を検索"CODE
LOWdesktop/src/locales/ja.json365 "placeholder": "なにか話しかけてみてください...",CODE
LOWdesktop/src/locales/ja.json619 "placeholder": {CODE
LOWdesktop/src/locales/ja.json1055 "placeholder": "設定を検索",CODE
LOWdesktop/src/locales/ja.json2468 "placeholder": "あなたの名前",CODE
LOWdesktop/src/locales/ja.json2817 "placeholder": "ワークスペースを検索",CODE
LOWdesktop/src/locales/en.json296 "placeholder": "Find in conversation"CODE
LOWdesktop/src/locales/en.json365 "placeholder": "Say something...",CODE
LOWdesktop/src/locales/en.json619 "placeholder": {CODE
LOWdesktop/src/locales/en.json1055 "placeholder": "Search settings",CODE
LOWdesktop/src/locales/en.json2467 "placeholder": "Your name",CODE
LOWdesktop/src/locales/en.json2816 "placeholder": "Search workspace",CODE
LOWdesktop/src/locales/ko.json296 "placeholder": "대화에서 찾기"CODE
LOWdesktop/src/locales/ko.json365 "placeholder": "무슨 이야기든 해보세요...",CODE
LOWdesktop/src/locales/ko.json619 "placeholder": {CODE
LOWdesktop/src/locales/ko.json1055 "placeholder": "설정 검색",CODE
LOWdesktop/src/locales/ko.json2468 "placeholder": "당신의 이름",CODE
LOWdesktop/src/locales/ko.json2817 "placeholder": "작업 공간 검색",CODE
LOWdesktop/src/locales/zh-TW.json296 "placeholder": "在會話中查找"CODE
LOWdesktop/src/locales/zh-TW.json365 "placeholder": "說點什麼...",CODE
LOWdesktop/src/locales/zh-TW.json574 "placeholder": {CODE
LOWdesktop/src/locales/zh-TW.json1055 "placeholder": "搜尋設定",CODE
LOWdesktop/src/locales/zh-TW.json2468 "placeholder": "你的名字",CODE
LOWdesktop/src/locales/zh-TW.json2817 "placeholder": "搜尋工作台",CODE
LOW…/src/react/components/input/input-editor-extensions.ts10export type InputEditorPlaceholder = PlaceholderOptions['placeholder'];CODE
LOW…eact/__tests__/settings/BridgeTab.credentials.test.tsx324 expect(input).toHaveAttribute('placeholder', 'settings.bridge.secretStoredPlaceholder');CODE
LOW…_tests__/components/InputArea.paste-and-slash.test.tsx160 default: { configure: () => ({ name: 'placeholder' }) },CODE
LOW…/__tests__/components/InputArea.focus-surface.test.tsx63 default: { configure: () => ({ name: 'placeholder' }) },CODE
LOW…t/__tests__/components/InputArea.file-mention.test.tsx97 default: { configure: () => ({ name: 'placeholder' }) },CODE
LOW…ts__/components/InputArea.welcome-placeholder.test.tsx124 const placeholderExtension = mocks.editorOptions?.extensions?.find(ext => ext.name === 'placeholder');CODE
Over-Commented Block38 hits · 36 pts
SeverityFileLineSnippetContext
LOWtools/alpha-gate-worker/wrangler.toml21# How many fresh codes a successful redemption hands back.COMMENT
LOWcore/migrations.ts81 3: migrateWorkspaceToPerAgent,COMMENT
LOWcore/migrations.ts161 // Provider Catalog v2:provider/model/capability canonical store 一次性 cutoverCOMMENT
LOWcore/migrations.ts1821]);COMMENT
LOWcore/skill-manager.ts21// 上限(macOS 默认 256),触发 EMFILE → 错误日志雪崩 → server OOM/SIGKILL。COMMENT
LOWcore/session-manifest/legacy-migration.ts41 } catch {COMMENT
LOWcore/session-manifest/legacy-migration.ts61// 跳过语义:账本只对"判了死刑"的文件(too_large / parse_error)做跳过记忆——这类文件COMMENT
LOWcore/mcp/manager.ts21COMMENT
LOWcore/mcp/manager.ts341 authorizationToken,COMMENT
LOWcore/mcp/manager.ts921 // in memory only: a hint describes one live response, so persisting itCOMMENT
LOWcore/mcp/manager.ts941 // Runtime-only transient status overrides (connecting/reconnecting/failed/COMMENT
LOWcore/mcp/manager.ts1441 // re-auth consumes this state. We do NOT silently swallow the failure — theCOMMENT
LOWcore/mcp/manager.ts1481 this.clients.delete(id);COMMENT
LOWcore/mcp/manager.ts1601 }COMMENT
LOWcore/mcp/manager.ts1981 const canonical = toMcpToolId(connector.id, tool.name);COMMENT
LOWcore/slash-commands/index.ts1import { SlashCommandRegistry } from "../slash-command-registry.ts";COMMENT
LOWtests/server-composition-boundary.test.ts21import { describe, expect, it } from "vitest";COMMENT
LOWtests/server-composition-boundary.test.ts201 // No engine/store side effects: no server-info.json written, noCOMMENT
LOWtests/artifact-boot.test.ts801COMMENT
LOWtests/persistence-schema-tripwire.test.ts201 // by creating a throwaway database and reading its schema back. That resultCOMMENT
LOWtests/todo-compat.test.ts421describe("extractLatestTodosFromEntries (branch-aware)", () => {COMMENT
LOWtests/builtin-tool-permission-coverage.test.ts81}COMMENT
LOWtests/bootstrap-keepalive.test.ts101 && e.receivedAt <= blockEnd.receivedAtCOMMENT
LOWtests/update-config-non-focus.test.ts461 });COMMENT
LOWtests/bridge-strip-internal-tags.test.ts141});COMMENT
LOWtests/setup-auto-updater.ts81//COMMENT
LOWdesktop/native/HanaWindowsSandboxHelper/main.cpp1#ifndef UNICODECOMMENT
LOW…s__/components/StreamingSelectionPreservation.test.tsx1// @vitest-environment jsdomCOMMENT
LOWserver/index.ts261 } catch {}COMMENT
LOWserver/index.ts301 homeDir: hanakoHome,COMMENT
LOWserver/http/route-security.ts541// rather than settings.write.COMMENT
LOWserver/routes/ws-session-context.ts1// WS 入站消息的 session/agent 身份唯一解析边界。COMMENT
LOWshared/tool-categories.ts1// shared/tool-categories.tsCOMMENT
LOWshared/contract-versions.ts1import contractVersions from "./contract-versions.json";COMMENT
LOW.github/workflows/stale.yml1name: Stale IssuesCOMMENT
LOWlib/sandbox/win32-runtime-cache.ts181 return false;COMMENT
LOWlib/sandbox/win32-exec.ts1181 ...(grants?.optionalWritePaths || []),COMMENT
LOWlib/sandbox/win32-exec.ts1301// ── 沙盒 PowerShell 启动探针 ──COMMENT
Structural Annotation Overuse19 hits · 30 pts
SeverityFileLineSnippetContext
LOWcore/data-epoch-restore.ts478 // Step 1: write (or, on resume, keep) the restore-phase journal.COMMENT
LOWcore/data-epoch-restore.ts510 // Step 4: republish the stamp back to fromEpoch — the sole guardedCOMMENT
LOWskills2set/skill-creator/SKILL.md201### Step 1: Spawn all runs (with-skill AND baseline) in the same turnCOMMENT
LOWskills2set/skill-creator/SKILL.md231### Step 2: While runs are in progress, draft assertionsCOMMENT
LOWskills2set/skill-creator/SKILL.md239### Step 3: As runs complete, capture timing dataCOMMENT
LOWskills2set/skill-creator/SKILL.md253### Step 4: Grade, aggregate, and launch the viewerCOMMENT
LOWskills2set/skill-creator/SKILL.md294### Step 5: Read the feedbackCOMMENT
LOWskills2set/skill-creator/SKILL.md364### Step 1: Generate trigger eval queriesCOMMENT
LOWskills2set/skill-creator/SKILL.md387### Step 2: Review with userCOMMENT
LOWskills2set/skill-creator/SKILL.md402### Step 3: Run the optimization loopCOMMENT
LOWskills2set/skill-creator/SKILL.md429### Step 4: Apply the resultCOMMENT
LOWlib/memory/memory-ticker.ts869 // Step 0: compileDaily——把已经翻篇的昨天蒸馏成 memory/daily/{date}.md。COMMENT
LOWlib/memory/memory-ticker.ts890 // Step 1: compileToday(日期切换后刷新 today.md,新一天无 session 时会清空)COMMENT
LOWlib/memory/memory-ticker.ts904 // Step 2: rollDailyWindow——把滚出 6 日窗口的 daily 条目 fold 进 longterm 并删除源文件。COMMENT
LOWlib/memory/memory-ticker.ts925 // Step 3: compileFacts(独立于 step 1-2)——恒走增量编译,facts.md 是唯一产物COMMENT
LOW⚡lib/memory/memory-ticker.ts943 // Step 4: assemble(纯文件操作,先从 daily/ 目录装配 week.md 再拼 memory.md,总是执行)COMMENT
LOW⚡lib/memory/memory-ticker.ts953 // Step 5: deep-memory(独立,更新 facts.db)COMMENT
LOWlib/bridge/qq-adapter.ts710 // Step 1: 上传。实时 Bridge 路径会传 isGroup;手动发送等未知入口保留探测顺序。COMMENT
LOWlib/bridge/qq-adapter.ts724 // Step 2: 发送富媒体消息COMMENT
Verbosity Indicators10 hits · 16 pts
SeverityFileLineSnippetContext
LOWcore/data-epoch-restore.ts478 // Step 1: write (or, on resume, keep) the restore-phase journal.COMMENT
LOWcore/data-epoch-restore.ts510 // Step 4: republish the stamp back to fromEpoch — the sole guardedCOMMENT
LOWlib/memory/memory-ticker.ts869 // Step 0: compileDaily——把已经翻篇的昨天蒸馏成 memory/daily/{date}.md。COMMENT
LOWlib/memory/memory-ticker.ts890 // Step 1: compileToday(日期切换后刷新 today.md,新一天无 session 时会清空)COMMENT
LOWlib/memory/memory-ticker.ts904 // Step 2: rollDailyWindow——把滚出 6 日窗口的 daily 条目 fold 进 longterm 并删除源文件。COMMENT
LOWlib/memory/memory-ticker.ts925 // Step 3: compileFacts(独立于 step 1-2)——恒走增量编译,facts.md 是唯一产物COMMENT
LOW⚡lib/memory/memory-ticker.ts943 // Step 4: assemble(纯文件操作,先从 daily/ 目录装配 week.md 再拼 memory.md,总是执行)COMMENT
LOW⚡lib/memory/memory-ticker.ts953 // Step 5: deep-memory(独立,更新 facts.db)COMMENT
LOWlib/bridge/qq-adapter.ts710 // Step 1: 上传。实时 Bridge 路径会传 isGroup;手动发送等未知入口保留探测顺序。COMMENT
LOWlib/bridge/qq-adapter.ts724 // Step 2: 发送富媒体消息COMMENT
Excessive Try-Catch Wrapping7 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUMskills2set/skill-creator/eval-viewer/generate_review.py404 print(f"Error: {workspace} is not a directory", file=sys.stderr)CODE
LOWskills2set/skill-creator/scripts/run_eval.py223 except Exception as e:CODE
MEDIUMskills2set/skill-creator/scripts/run_eval.py276 print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)CODE
LOWskills2set/skill-creator/scripts/package_skill.py106 except Exception as e:CODE
MEDIUMskills2set/skill-creator/scripts/improve_description.py204 print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)CODE
MEDIUMskills2set/skill-creator/scripts/run_loop.py269 print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)CODE
LOW…2set/hana-plugin-creator/scripts/create_hana_plugin.py71 except Exception:CODE
Deep Nesting9 hits · 9 pts
SeverityFileLineSnippetContext
LOWskills2set/skill-creator/eval-viewer/generate_review.py85CODE
LOWskills2set/skill-creator/eval-viewer/generate_review.py149CODE
LOWskills2set/skill-creator/eval-viewer/generate_review.py288CODE
LOWskills2set/skill-creator/scripts/run_eval.py35CODE
LOWskills2set/skill-creator/scripts/package_skill.py42CODE
LOWskills2set/skill-creator/scripts/improve_description.py19CODE
LOWskills2set/skill-creator/scripts/aggregate_benchmark.py67CODE
LOWskills2set/skill-creator/scripts/generate_report.py16CODE
LOWskills2set/skill-creator/scripts/utils.py7CODE
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json16209 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
MEDIUMdesktop/src/react/settings/helpers.ts194 ..._ids.slice(2), // high-contrast, grass-aroma, contemplation, absolutely, delve, deep-think, new-warm-papeCODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMcore/session-health.ts76// 坏数据成因:agentic 工具循环里 assistant 回包 stopReason=error/aborted 时,Pi SDKCOMMENT
Unused Imports3 hits · 3 pts
SeverityFileLineSnippetContext
LOWskills2set/skill-creator/scripts/quick_validate.py7CODE
LOW…2set/hana-plugin-creator/scripts/create_hana_plugin.py2CODE
LOW…2set/hana-plugin-creator/scripts/create_hana_plugin.py7CODE