Repository Analysis

zts212653/clowder-ai

Build AI teams, not just agents. Hard rails, soft power, shared mission.

5.9 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of zts212653/clowder-ai, a TypeScript project with 2,332 GitHub stars. SynthScan v2.0 examined 1,204,176 lines of code across 5086 source files, recording 3473 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 5.9 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

5.9
Adjusted Score
5.9
Raw Score
100%
Time Factor
2026-07-14
Last Push
2.3K
Stars
TypeScript
Language
1.2M
Lines of Code
5.1K
Files
3.5K
Pattern Hits
2026-07-14
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 24HIGH 3MEDIUM 1416LOW 2030

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 3473 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators1386 hits · 4280 pts
SeverityFileLineSnippetContext
MEDIUMcat-cafe-skills/manifest.yaml10# ─── 开发流程链 ─────────────────────────────────────────COMMENT
MEDIUMcat-cafe-skills/manifest.yaml1279# ─── 降级为 refs/(不再是独立 skill) ─────────────────COMMENT
MEDIUMcat-cafe-skills/manifest.yaml1322# ─── 三条铁律(仅此三条) ──────────────────────────────COMMENT
MEDIUMcat-cafe-skills/manifest.yaml1331# ─── lint 规则 ──────────────────────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh30# ─── Args ───────────────────────────────────────────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh47# ─── Paths + helpers ────────────────────────────────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh64# ─── Step 1: Build web app ──────────────────────────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh78# ─── Step 2: pnpm deploy runtime packages ──────────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh108# ─── Step 3: Bundle Node.js portable (both archs) ──────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh151# ─── Step 4: Build Redis portable (both archs) ─────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh199# ─── Step 5: (macOS skips CLI tarball bundling) ──────────────────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh207# ─── Step 6a: Generate icon.icns from icon.png (one-time) ──────────────COMMENT
MEDIUMdesktop/scripts/build-mac.sh227# ─── Step 6b: electron-builder + hdiutil — produces DMG per arch ──────COMMENT
MEDIUMdocs/architecture/2026-05-05-architecture-views.md774┌─ D. 构建冷启动包(Session #2+ 专用)─▼────────────────────────┐CODE
MEDIUMscripts/setup.sh3# ============================================================COMMENT
MEDIUMscripts/setup.sh8# ============================================================COMMENT
MEDIUMscripts/setup.sh58# ── Step 1: Check prerequisites ─────────────────────────────COMMENT
MEDIUMscripts/setup.sh120# ── Step 2: Install packages ────────────────────────────────COMMENT
MEDIUMscripts/setup.sh132# ── Step 3: Choose optional features ────────────────────────COMMENT
MEDIUMscripts/setup.sh329# ── Step 4: Generate .env ───────────────────────────────────COMMENT
MEDIUMscripts/setup.sh346# ── Core 核心 ────────────────────────────────────────────────COMMENT
MEDIUMscripts/setup.sh353# ── API Gateway Proxy 反向代理 ───────────────────────────────COMMENT
MEDIUMscripts/setup.sh361# ── Voice Input (ASR) 语音输入 ───────────────────────────────COMMENT
MEDIUMscripts/setup.sh370# ── Voice Input (ASR) 语音输入 ───────────────────────────────COMMENT
MEDIUMscripts/setup.sh378# ── Voice Output (TTS) 语音输出 ──────────────────────────────COMMENT
MEDIUMscripts/setup.sh386# ── Voice Output (TTS) 语音输出 ──────────────────────────────COMMENT
MEDIUMscripts/setup.sh394# ── Speech Correction 语音纠正 ───────────────────────────────COMMENT
MEDIUMscripts/setup.sh401# ── Speech Correction 语音纠正 ───────────────────────────────COMMENT
MEDIUMscripts/setup.sh409# ── Semantic Retrieval 语义检索(Embedding)────────────────COMMENT
MEDIUMscripts/setup.sh417# ── Semantic Retrieval 语义检索(Embedding)────────────────COMMENT
MEDIUMscripts/setup.sh426# ── Step 4b: Install sidecar venvs (--install-missing) ──────COMMENT
MEDIUMscripts/setup.sh492# ── Step 5: Summary ─────────────────────────────────────────COMMENT
MEDIUMscripts/logs-health.sh6# ─── Config ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/logs-health.sh32# ─── Helpers ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/logs-health.sh95# ─── Error rate ──────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/logs-health.sh128# ─── Main ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/logs-health.sh146# ─── Config summary ─────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/install.sh134# ── Interactive arrow-key selectors (single-select & multi-select) ────────COMMENT
MEDIUMscripts/install.sh651# ── [1/8] Environment detection ────────────────────────────COMMENT
MEDIUMscripts/install.sh768# ── [2/8] Install system dependencies ──────────────────────COMMENT
MEDIUMscripts/install.sh833# ── [3/8] Install Node.js 24+ ────────────────────────────COMMENT
MEDIUMscripts/install.sh914# ── [4/8] Install pnpm + Redis ─────────────────────────────COMMENT
MEDIUMscripts/install.sh973# ── [5/8] Build checked-out project ────────────────────────COMMENT
MEDIUMscripts/install.sh986# ── [6/8] Install AI agent CLI tools ─────────────────────COMMENT
MEDIUMscripts/install.sh1143# ── [7/8] Generate .env with all collected config ─────────COMMENT
MEDIUMscripts/install.sh1172# ── [8/8] Done ──────────────────────────────────────────────COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml1# ============================================================COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml3# ============================================================COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml44# ============================================================COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml47 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml49 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml245 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml247 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml408 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml410 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml580 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/recommendation-matrix.yaml582 # ------------------------------------------------------------COMMENT
MEDIUMscripts/services/llm-postprocess-api.py184# ─── Model loading ───────────────────────────────────────────────COMMENT
MEDIUMscripts/services/tts-api.py73# ─── TTS Adapter ABC ─────────────────────────────────────────────────COMMENT
MEDIUMscripts/services/tts-api.py111# ─── MLX-Audio Adapter ────────────────────────────────────────────────COMMENT
1326 more matches not shown…
Hyper-Verbose Identifiers1307 hits · 1339 pts
SeverityFileLineSnippetContext
LOWdesktop/project-root.js12function resolveProjectRootFromDir(startDir) {CODE
LOWdesktop/main.js31function ensureValidMacInstallLocation() {CODE
LOWdesktop/service-manager.test.js64 fs.symlinkSync = function symlinkSyncWithProbeCount(src, dst, type) {CODE
LOWdesktop/service-manager.test.js68 fs.readFileSync = function readFileSyncWithOnePluginProbeFailure(filePath, ...args) {CODE
LOWscripts/intake-from-opensource.sh608function isDeclaredInDecisionTable(file) {CODE
LOWscripts/services/embed-api.py91def _allow_sentence_transformers_fallback() -> bool:CODE
LOWscripts/services/embed-api.py357 def _try_sentence_transformers() -> bool:CODE
LOWscripts/services/install-template.sh304def resolve_faster_whisper_repo_id(model_id):CODE
LOWpackages/web/next.config.js29function buildContentSecurityPolicy() {CODE
LOWpackages/web/src/stores/callbackAuthStore.ts231export function useCallbackAuthSnapshotProvider(options?: { enabled?: boolean; pollIntervalMs?: number }): void {CODE
LOWpackages/web/src/stores/callbackAuthStore.ts245export function CallbackAuthSnapshotMount(props: { enabled?: boolean; pollIntervalMs?: number } = {}): null {CODE
LOWpackages/web/src/stores/callbackAuthStore.ts266export function useCallbackAuthMarkViewed(): () => Promise<void> {CODE
LOWpackages/web/src/stores/callbackAuthStore.ts281export function useCallbackAuthRawSnapshot(): CallbackAuthSnapshot | null {CODE
LOWpackages/web/src/stores/bubble-projection-diagnostic.ts49export function buildProjectionDiagnostic({ records }: DiagnosticInput): ProjectionDiagnosticRow[] {CODE
LOWpackages/web/src/stores/bubble-invariants.ts35function isUiCompatStreamingAssistantContainer(msg: ChatMessage, invocationId: string | undefined): boolean {CODE
LOWpackages/web/src/stores/bubble-invariants.ts63export function deriveBubbleKindFromMessage(msg: ChatMessage): BubbleKind {CODE
LOWpackages/web/src/stores/bubble-invariants.ts107export function deriveBubbleStableIdentity(msg: ChatMessage, threadId: string): BubbleStableIdentity | undefined {CODE
LOWpackages/web/src/stores/bubble-invariants.ts141export function findBubbleStoreInvariantViolations(CODE
LOWpackages/web/src/stores/bubble-invariants.ts178export function validateIncomingBubbleEvent(CODE
LOWpackages/web/src/stores/bubble-invariants.ts209export function assertNoBubbleInvariantViolations(messages: ChatMessage[], context: BubbleInvariantContext): void {CODE
LOWpackages/web/src/stores/bubble-projection.ts121function buildStreamSegmentsByBaseKey(CODE
LOWpackages/web/src/stores/chatStore.ts158function mirrorActiveToThreadStates(CODE
LOWpackages/web/src/stores/chatStore.ts246function loadUiThinkingExpandedByDefault(): boolean {CODE
LOWpackages/web/src/stores/chatStore.ts255function persistUiThinkingExpandedByDefault(next: boolean) {CODE
LOWpackages/web/src/stores/chatStore.ts369function forwardStoreInvariantViolationsStrict(messages: ChatMessage[], threadId: string | null): void {CODE
LOWpackages/web/src/stores/chatStore.ts460function fireOwnerMentionNotification(msg: ChatMessage) {CODE
LOWpackages/web/src/stores/bubble-reducer.ts67export function buildStreamExtraFromEvent(CODE
LOWpackages/web/src/stores/bubble-reducer.ts240function findUpgradableLocalPlaceholders(CODE
LOWpackages/web/src/stores/bubble-reducer.ts261function findUpgradableLocalPlaceholder(CODE
LOWpackages/web/src/stores/bubble-reducer.ts410function dropLocalOnlyStreamSiblings(messages: ChatMessage[], event: BubbleEvent): ChatMessage[] {CODE
LOWpackages/web/src/stores/bubble-reducer.ts579function findUpgradableCallbackPlaceholder(CODE
LOWpackages/web/src/utils/scrollRecomputeSignal.ts9export function computeScrollRecomputeSignal(CODE
LOWpackages/web/src/utils/push-notification-policy.ts16export function isPushTestNotificationTag(tag: string | undefined): boolean {CODE
LOWpackages/web/src/utils/push-notification-policy.ts29export function shouldForceSystemNotification(payload: PushNotificationPayload): boolean {CODE
LOWpackages/web/src/utils/push-notification-policy.ts41export function shouldShowSystemNotification(payload: PushNotificationPayload, hasFocusedClient: boolean): boolean {CODE
LOWpackages/web/src/utils/push-notification-policy.ts65export function shouldSuppressDuplicateNotification(CODE
LOWpackages/web/src/utils/push-notification-policy.ts87export async function resetPushTestNotification(CODE
LOWpackages/web/src/utils/cli-diagnostics-dedup.ts48export function computeCliDiagnosticsDedup(CODE
LOWpackages/web/src/utils/worktree-id-alias.ts68export function resolveNavigateTargetWorktreeId(CODE
LOWpackages/web/src/utils/worktree-id-alias.ts79export function getNavigateWorktreeRoomIds(CODE
LOWpackages/web/src/utils/crosspost-scroll-target.ts27export function findCrossPostTargetMessageId(CODE
LOWpackages/web/src/utils/crosspost-scroll-target.ts61export function setPendingCrossPostScroll(target: PendingCrossPostScroll): void {CODE
LOWpackages/web/src/utils/crosspost-scroll-target.ts69export function consumePendingCrossPostScroll(threadId: string): PendingCrossPostScroll | null {CODE
LOWpackages/web/src/utils/crosspost-scroll-target.ts79export function peekPendingCrossPostScroll(threadId: string): PendingCrossPostScroll | null {CODE
LOWpackages/web/src/utils/crosspost-scroll-target.ts101export function resolveCrossPostScrollTarget(CODE
LOWpackages/web/src/utils/signals-view.ts48export function groupSignalSourcesByTierAndCategory(sources: readonly SignalSource[]): readonly SignalSourceGroup[] {CODE
LOWpackages/web/src/utils/batch-apply-labels.ts20export function extractPendingLabelSuggestions(CODE
LOWpackages/web/src/utils/teleport.ts119export function shouldLoadOlderForTeleport(params: {CODE
LOWpackages/web/src/utils/transcription-corrector.ts52function buildSpeechMentionPattern(aliases: string[]): RegExp {CODE
LOWpackages/web/src/components/hub-cat-editor.sections.tsx29function acpDefaultsForClientSwitch(CODE
LOWpackages/web/src/components/hub-cat-editor.model.ts160export function getCliEffortOptionsForClient(client: ClientValue): readonly CliEffortValue[] | null {CODE
LOWpackages/web/src/components/hub-cat-editor.model.ts177export function deriveModelMentionPattern(model: string): string {CODE
LOWpackages/web/src/components/hub-cat-editor.model.ts189export function withDefaultModelMentionPattern(form: HubCatEditorFormState): HubCatEditorFormState {CODE
LOWpackages/web/src/components/hub-cat-editor.model.ts296function isAllowedGoogleGatewayProfile(profile: ProfileItem): boolean {CODE
LOWpackages/web/src/components/hub-cat-editor.model.ts302function resolveBuiltinClientFamily(client: ClientId): BuiltinAccountClient | null {CODE
LOWpackages/web/src/components/hub-cat-editor.model.ts311export function builtinAccountIdForClient(client: ClientId): string | null {CODE
LOWpackages/web/src/components/status-helpers.ts24export function collectSnapshotActiveCats(CODE
LOWpackages/web/src/components/AgentHookHealthNotice.tsx76export function shouldRenderAgentHookHealthNotice({ health, error, syncing, synced }: RenderProbe): boolean {CODE
LOWpackages/web/src/components/hub-cat-editor.acp.ts29export function defaultAcpCommandForClient(client: string): string {CODE
LOWpackages/web/src/components/hub-cat-editor.acp.ts47export function defaultAcpStartupArgsForClient(client: string, transport: 'stdio' | 'httpstream' = 'stdio'): string {CODE
1247 more matches not shown…
Structural Annotation Overuse253 hits · 469 pts
SeverityFileLineSnippetContext
LOWcat-cafe-skills/feat-lifecycle/SKILL.md47### Step 0: 关联检测(内部 + 社区 issue 都必须做)🔴COMMENT
LOWcat-cafe-skills/vision-rescue/SKILL.md48### Step 1: 识别——我在绝境里吗?COMMENT
LOWcat-cafe-skills/vision-rescue/SKILL.md57### Step 2: 回到第一真相源COMMENT
LOWcat-cafe-skills/vision-rescue/SKILL.md71### Step 3: 找外部声音COMMENT
LOWcat-cafe-skills/vision-rescue/SKILL.md81### Step 4: 喊伙伴COMMENT
LOWcat-cafe-skills/vision-rescue/SKILL.md91### Step 5: 拒绝投降(除非 operator signoff)COMMENT
LOWcat-cafe-skills/worktree/SKILL.md50# Step 1: 检查是否有未提交的文档变更COMMENT
LOWcat-cafe-skills/worktree/SKILL.md54# Step 2: 检查 main 与 remote 双向同步COMMENT
LOWcat-cafe-skills/thread-orchestration/SKILL.md43### Step 1: 拆解 — 识别独立可交付单元COMMENT
LOWcat-cafe-skills/thread-orchestration/SKILL.md52### Step 2: 提议 Thread — 每个子任务一个提议(用户审批后才创建)COMMENT
LOWcat-cafe-skills/thread-orchestration/SKILL.md108### Step 3: 选猫 — 按任务性质匹配能力COMMENT
LOWcat-cafe-skills/thread-orchestration/SKILL.md133### Step 4: 并行执行 — Worktree 隔离COMMENT
LOWcat-cafe-skills/thread-orchestration/SKILL.md145### Step 5: 汇聚 — 确认门禁 + 串行推进COMMENT
LOWcat-cafe-skills/guide-authoring/SKILL.md44### Step 1: 场景识别COMMENT
LOWcat-cafe-skills/guide-authoring/SKILL.md65### Step 2: 步骤拆分 + YAML 编排COMMENT
LOWcat-cafe-skills/guide-authoring/SKILL.md107### Step 3: 元素标签标注COMMENT
LOWcat-cafe-skills/guide-authoring/SKILL.md131### Step 4: 注册到 Guide RegistryCOMMENT
LOWcat-cafe-skills/guide-authoring/SKILL.md150### Step 5: CI 契约测试COMMENT
LOWcat-cafe-skills/guide-authoring/SKILL.md157### Step 6: 端到端验证COMMENT
LOWcat-cafe-skills/refs/chatgpt-browser-automation.md25### Step 1: 注入文本COMMENT
LOWcat-cafe-skills/refs/chatgpt-browser-automation.md38### Step 2: 发送COMMENT
LOWcat-cafe-skills/refs/chatgpt-browser-automation.md49### Step 3: 等待回复完成COMMENT
LOWcat-cafe-skills/refs/chatgpt-browser-automation.md66### Step 4: 复制回复COMMENT
LOWcat-cafe-skills/refs/chatgpt-browser-automation.md77### Step 5: 读取剪贴板COMMENT
LOWcat-cafe-skills/refs/repo-inbox.md35### Step 1: Read — 读原始对象COMMENT
LOWcat-cafe-skills/refs/repo-inbox.md107### Step 2: Ground — 基础合法性COMMENT
LOWcat-cafe-skills/refs/repo-inbox.md117### Step 3: Gate — 主人翁五问COMMENT
LOWcat-cafe-skills/refs/repo-inbox.md123### Step 4: Route — 按 Verdict 路由COMMENT
LOWcat-cafe-skills/refs/repo-inbox.md209### Step 5: Record — 收口COMMENT
LOWcat-cafe-skills/refs/claude-ai-browser-automation.md17### Step 1: 打开新对话或已有对话COMMENT
LOWcat-cafe-skills/refs/claude-ai-browser-automation.md23### Step 2: 激活 Research 模式COMMENT
LOWcat-cafe-skills/refs/claude-ai-browser-automation.md36### Step 3: 填写提示词 & 发送COMMENT
LOWcat-cafe-skills/refs/claude-ai-browser-automation.md48### Step 4: 等待 Research 完成COMMENT
LOWcat-cafe-skills/refs/claude-ai-browser-automation.md62### Step 5: 打开报告文章COMMENT
LOWcat-cafe-skills/refs/claude-ai-browser-automation.md69### Step 6: 下载报告(关键步骤!✅ 超级简单)COMMENT
LOWcat-cafe-skills/cross-thread-sync/SKILL.md30## Step 1: 发现(谁在平行工作?)COMMENT
LOWcat-cafe-skills/cross-thread-sync/SKILL.md75## Step 2: 通知(3+2 升级制)COMMENT
LOWcat-cafe-skills/cross-thread-sync/SKILL.md118## Step 3: 争用协调(共享文件冲突预防)COMMENT
LOWcat-cafe-skills/cross-thread-sync/SKILL.md151## Step 4: 确认COMMENT
LOWcat-cafe-skills/pencil-design/SKILL.md37### Step 1: 分析现有 UICOMMENT
LOWcat-cafe-skills/pencil-design/SKILL.md49### Step 2: 判断设计类型COMMENT
LOWcat-cafe-skills/pencil-design/SKILL.md57### Step 3: 风格验证COMMENT
LOWdocs/features/F040-backlog-reorganization.md420### Step 1: 创建 `feat-completion` skill(P1,~30min)COMMENT
LOWdocs/features/F040-backlog-reorganization.md426### Step 2: 沉淀 ADR(P2,~20min)COMMENT
LOWdocs/features/F040-backlog-reorganization.md434### Step 3: 更新 lessons-learned(P2,~10min)COMMENT
LOWdocs/features/F040-backlog-reorganization.md440### Step 4: 同步三猫指引(P2,~15min)COMMENT
LOWdocs/features/F040-backlog-reorganization.md447### Step 5: 验收(P3,可延后)COMMENT
LOW…/web/src/stores/__tests__/chatStore-multi-slot.test.ts87 // Step 1: Parent intent_mode registers all catsCOMMENT
LOW…/web/src/stores/__tests__/chatStore-multi-slot.test.ts93 // Step 2: Callback intent_mode for gemini with new invocationId.COMMENT
LOW…/web/src/stores/__tests__/chatStore-multi-slot.test.ts111 // Step 3: Gemini finishes — removing inv-B leaves no gemini orphanCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2135 // Step 1: A inv-A1 stream + contentCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2144 // Step 2: B inv-B1 stream + contentCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2153 // Step 3: A inv-A2 (NEW invocation) stream + contentCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2347 // Step 1: stream_started — reducer 创建 canonical `msg-T1R-codex-assistant_text`COMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2364 // Step 2: tool_event — 应该 append 到 step 1 的 bubble (assistant_text container)COMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2383 // Step 3: stream_chunk — 应该 append content 到同一 bubble,不触发 canonical-splitCOMMENT
LOW…tores/__tests__/bubble-projection-alpha-replay.test.ts44 // Step 1: stream record exists in storeCOMMENT
LOW…tores/__tests__/bubble-projection-alpha-replay.test.ts56 // Step 2: callback_final event with exact-key match would normally overwrite stream contentCOMMENT
LOW…components/memory/__tests__/CollectionCatalog.test.tsx78 // Step 1: click header → detail appearsCOMMENT
LOW…components/memory/__tests__/CollectionCatalog.test.tsx92 // Step 2: click inside detail area → detail stays (no collapse)COMMENT
193 more matches not shown…
Verbosity Indicators207 hits · 394 pts
SeverityFileLineSnippetContext
LOW…/web/src/stores/__tests__/chatStore-multi-slot.test.ts87 // Step 1: Parent intent_mode registers all catsCOMMENT
LOW…/web/src/stores/__tests__/chatStore-multi-slot.test.ts93 // Step 2: Callback intent_mode for gemini with new invocationId.COMMENT
LOW…/web/src/stores/__tests__/chatStore-multi-slot.test.ts111 // Step 3: Gemini finishes — removing inv-B leaves no gemini orphanCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2135 // Step 1: A inv-A1 stream + contentCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2144 // Step 2: B inv-B1 stream + contentCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2153 // Step 3: A inv-A2 (NEW invocation) stream + contentCOMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2347 // Step 1: stream_started — reducer 创建 canonical `msg-T1R-codex-assistant_text`COMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2364 // Step 2: tool_event — 应该 append 到 step 1 的 bubble (assistant_text container)COMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts2383 // Step 3: stream_chunk — 应该 append content 到同一 bubble,不触发 canonical-splitCOMMENT
LOW…tores/__tests__/bubble-projection-alpha-replay.test.ts44 // Step 1: stream record exists in storeCOMMENT
LOW…tores/__tests__/bubble-projection-alpha-replay.test.ts56 // Step 2: callback_final event with exact-key match would normally overwrite stream contentCOMMENT
LOW…components/memory/__tests__/CollectionCatalog.test.tsx78 // Step 1: click header → detail appearsCOMMENT
LOW…components/memory/__tests__/CollectionCatalog.test.tsx92 // Step 2: click inside detail area → detail stays (no collapse)COMMENT
LOW…components/memory/__tests__/CollectionCatalog.test.tsx101 // Step 3: click header again → collapseCOMMENT
LOW…ents/concierge/__tests__/concierge-components.test.tsx554 // Step 1: help → bubble with prefilled draftCOMMENT
LOW…ents/concierge/__tests__/concierge-components.test.tsx564 // Step 2: Escape → back to toolbarCOMMENT
LOW…ents/concierge/__tests__/concierge-components.test.tsx571 // Step 3: chat → bubble must open with *empty* input (not the old draft)COMMENT
LOW…onents/__tests__/thread-sidebar-reconcile-race.test.ts64 // Step 1: User pins thread → fires PATCH (fetchQueue[0])COMMENT
LOW…onents/__tests__/thread-sidebar-reconcile-race.test.ts71 // Step 2: User unpins → fires new PATCH (fetchQueue[2]), seq increments to 2COMMENT
LOW…onents/__tests__/thread-sidebar-reconcile-race.test.ts74 // Step 3: Reconcile GET from step 1 returns { pinned: true }COMMENT
LOW…onents/__tests__/thread-sidebar-reconcile-race.test.ts82 // Step 4: Second PATCH succeedsCOMMENT
LOW…nents/__tests__/HubObservabilityTab-deep-link.test.tsx73 // Step 1: first deep-link.COMMENT
LOW…nents/__tests__/HubObservabilityTab-deep-link.test.tsx79 // Step 2: simulate the user clicking the '总览' subtab button so internalCOMMENT
LOW…nents/__tests__/HubObservabilityTab-deep-link.test.tsx89 // Step 3: second deep-link with SAME initialSubTab value but new nonce.COMMENT
LOW…omponents/__tests__/chat-input-game-send-guard.test.ts79 // Step 1: render with idle upload — menu can openCOMMENT
LOW…omponents/__tests__/chat-input-game-send-guard.test.ts84 // Step 2: open game menuCOMMENT
LOW…omponents/__tests__/chat-input-game-send-guard.test.ts91 // Step 3: drill into modes (layer 1 → layer 2)COMMENT
LOW…omponents/__tests__/chat-input-game-send-guard.test.ts98 // Step 4: re-render with uploading status (menu stays open, upload started)COMMENT
LOW…omponents/__tests__/chat-input-game-send-guard.test.ts103 // Step 5: click a mode — should NOT call onSend because upload is blockingCOMMENT
LOW…c/components/__tests__/first-run-quest-wizard.test.tsx203 // Step 1: select templateCOMMENT
LOW…c/components/__tests__/first-run-quest-wizard.test.tsx214 // Step 2: select clientCOMMENT
LOW…c/components/__tests__/first-run-quest-wizard.test.tsx222 // Step 3: profile auto-selected, select model, test, then createCOMMENT
LOW…nents/__tests__/workspace-panel-md-add-to-chat.test.ts284 // Step 1: Verify markdown rendered mode — MarkdownContent is mountedCOMMENT
LOW…nents/__tests__/workspace-panel-md-add-to-chat.test.ts294 // Step 2: Click "编辑" button → enters editMode (unmounts MarkdownContent, mounts CodeViewer)COMMENT
LOW…nents/__tests__/workspace-panel-md-add-to-chat.test.ts306 // Step 3: Click "退出编辑" → back to rendered mode (re-mounts MarkdownContent with NEW DOM)COMMENT
LOW…nents/__tests__/workspace-panel-md-add-to-chat.test.ts317 // Step 4: Verify NEW MarkdownContent container is mountedCOMMENT
LOW…nents/__tests__/workspace-panel-md-add-to-chat.test.ts321 // Step 5: Selection on the NEW container should still trigger Add to ChatCOMMENT
LOW…es/web/src/components/rich/CommunityIssueDraftCard.tsx106 // Step 1: Create draft (server-side idempotent — returns existing if retry)COMMENT
LOW…es/web/src/components/rich/CommunityIssueDraftCard.tsx147 // Step 2: PublishCOMMENT
LOW…ges/web/src/__tests__/game-thread-loading-race.test.ts34 // Step 1: /game sent → loading set on source thread (currently active = flat state)COMMENT
LOW…ges/web/src/__tests__/game-thread-loading-race.test.ts39 // Step 2: game:thread_created arrives → navigate to game threadCOMMENT
LOW…ges/web/src/__tests__/game-thread-loading-race.test.ts48 // Step 3: HTTP response arrives → cleanup uses thread-scoped APICOMMENT
LOW…sts__/useAgentMessages-sequential-slot-cleanup.test.ts193 // Step 1: Codex finishes (non-final)COMMENT
LOW…sts__/useAgentMessages-sequential-slot-cleanup.test.ts208 // Step 2: Opus finishes (final)COMMENT
LOW…/hooks/__tests__/useAgentMessages-bubble-merge.test.ts890 // Step 1: stream chunk creates the bubble bound to inv-done.COMMENT
LOW…/hooks/__tests__/useAgentMessages-bubble-merge.test.ts907 // Step 2: done event finalizes the bubble and populates finalizedStreamRef.COMMENT
LOW…/hooks/__tests__/useAgentMessages-bubble-merge.test.ts920 // Step 3: stale tool_use arrives for the completed invocation (reordered / retry).COMMENT
LOW…s/__tests__/useAgentMessages-thinking-metadata.test.ts50 // Step 1: thinking creates placeholder (metadata may be present if msg carries it;COMMENT
LOW…s/__tests__/useAgentMessages-thinking-metadata.test.ts68 // Step 2: text chunk arrives with metadata → merge onto placeholderCOMMENT
LOW…s/__tests__/useAgentMessages-thinking-metadata.test.ts79 // Step 3: invocation_usage arrives → setMessageUsage should succeed (not no-op)COMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts231 // Step 1: Create active stream → activeRefs + sawStreamDataRef populatedCOMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts255 // Step 2: done → finalizedStreamRef populatedCOMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts264 // Step 3: resetRefs (simulates what thread switch or catch-up cleanup would do)COMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts271 // Step 4: Wipe store messages (simulates fetchHistory replace) + start new invocationCOMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts304 // Step 1: Stream + done → finalizedStreamRef setCOMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts333 // Step 2: resetRefs clears finalizedStreamRefCOMMENT
LOW…/__tests__/useAgentMessages-catchup-ref-desync.test.ts340 // Step 3: A callback arrives for a NEW invocation.COMMENT
LOWpackages/mcp-server/test/callback-tools.test.js735 // Step 1: enqueue by forcing transient failures.COMMENT
LOWpackages/mcp-server/test/callback-tools.test.js747 // Step 2: recover network and verify replay + current post both sent.COMMENT
LOWpackages/api/test/plugin-schedule-activate.test.js380 // Step 1: enable plugin with a schedule resourceCOMMENT
147 more matches not shown…
Hallucination Indicators24 hits · 255 pts
SeverityFileLineSnippetContext
CRITICALpackages/api/test/messages-delivery-mode.test.js345 const failedUpdate = deps.invocationRecordStore.update.mock.calls.find(CODE
CRITICALpackages/api/test/messages-delivery-mode.test.js350 const completion = deps.queueProcessor.onInvocationComplete.mock.calls.find(CODE
CRITICALpackages/api/test/messages-delivery-mode.test.js455 const spawnStarted = deps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'spawn_started');CODE
CRITICALpackages/api/test/queue-processor.test.js270 const pausedCall = deps.socketManager.emitToUser.mock.calls.find((c) => c.arguments[1] === 'queue_paused');CODE
CRITICALpackages/api/test/queue-processor.test.js283 const pausedCall = deps.socketManager.emitToUser.mock.calls.find((c) => c.arguments[1] === 'queue_paused');CODE
CRITICALpackages/api/test/queue-processor.test.js320 const pausedCall = deps.socketManager.emitToUser.mock.calls.find((c) => c.arguments[1] === 'queue_paused');CODE
CRITICALpackages/api/test/queue-processor.test.js399 const broadcasts = deps.socketManager.broadcastAgentMessage.mock.calls.map((call) => call.arguments[0]);CODE
CRITICALpackages/api/test/queue-processor.test.js415 const canceledUpdate = deps.invocationRecordStore.update.mock.calls.find(CODE
CRITICALpackages/api/test/queue-processor.test.js518 const intentCall = deps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'intent_mode');CODE
CRITICALpackages/api/test/queue-processor.test.js545 const spawnCall = deps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'spawn_started');CODE
CRITICALpackages/api/test/queue-processor.test.js553 const earlyIntentCall = deps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'intent_mode');CODE
CRITICALpackages/api/test/queue-processor.test.js559 const intentCall = deps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'intent_mode');CODE
CRITICALpackages/api/test/queue-processor.test.js1549 const intentCall = failDeps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'intent_mode');CODE
CRITICALpackages/api/test/queue-processor.test.js1560 const intentCall = deps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'intent_mode');CODE
CRITICALpackages/api/test/queue-processor.test.js1581 const intentCall = emptyDeps.socketManager.broadcastToRoom.mock.calls.find((c) => c.arguments[1] === 'intent_mode');CODE
CRITICALpackages/api/test/queue-processor.test.js1750 const succeededUpdate = deps.invocationRecordStore.update.mock.calls.find(CODE
CRITICALpackages/api/test/queue-processor.test.js2376 deps.invocationRecordStore.update.mock.calls.some((c) => c.arguments[1]?.status === 'succeeded'),CODE
CRITICALpackages/api/test/queue-processor.test.js2874 const deliveredIds = deps.messageStore.markDelivered.mock.calls.map((c) => c.arguments[0]);CODE
CRITICALpackages/api/test/opencode-agent-service.test.js760 e.metadata.cliDiagnostics.debugRef.command.includes('opencode'),CODE
CRITICALpackages/api/test/f236-cc-anchor-hook.test.js508 assert.ok(result.hookSpecificOutput.updatedToolOutput.file.content.includes('3 lines'));CODE
CRITICALpackages/api/test/a2a-routing-persist.test.js227 deps.socketManager.broadcastAgentMessage.mock.calls.some((c) => c.arguments[0]?.type === 'a2a_handoff'),CODE
CRITICALpackages/api/test/a2a-routing-persist.test.js270 deps.socketManager.broadcastAgentMessage.mock.calls.some((c) => c.arguments[0]?.type === 'a2a_handoff'),CODE
CRITICALpackages/api/test/queue-api.test.js647 const del = deps.socketManager.emitToUser.mock.calls.find((c) => c.arguments[1] === 'message_deleted');CODE
CRITICALpackages/api/test/queue-api.test.js732 const doneCalls = deps.socketManager.broadcastAgentMessage.mock.calls.filter((c) => c.arguments[0].type === 'done');CODE
Over-Commented Block195 hits · 184 pts
SeverityFileLineSnippetContext
LOWCONTRIBUTING.md21COMMENT
LOWcat-cafe-skills/manifest.yaml1# Clowder AI Skills Manifest — 路由单一真相源COMMENT
LOWcat-cafe-skills/hyperfocus-brake/sanitizer.sh1#!/usr/bin/env bashCOMMENT
LOWcat-cafe-skills/merge-gate/SKILL.md201gh pr create --title "feat(xxx): ..." --body "$(cat <<'EOF'COMMENT
LOWcat-cafe-skills/merge-gate/SKILL.md221# 之后再翻 merge **不会补发唤醒**。所以:若翻 intent 时 CI **已经绿了**,别等回调,直接COMMENT
LOWcat-cafe-skills/merge-gate/SKILL.md261# - EYES == 0 → 云端没接到 → 允许 re-trigger(进 6.2),可以 hold_ball 轮询等 EYESCOMMENT
LOWcat-cafe-skills/merge-gate/SKILL.md341# E4: verdict !== "blocked"COMMENT
LOWdesktop/main.js1// Clowder AI Desktop — Electron main processCOMMENT
LOWdesktop/scripts/build-mac.sh1#!/usr/bin/env bashCOMMENT
LOWdesktop/scripts/build-mac.sh341 file.write(png)COMMENT
LOWdesktop/scripts/build-mac.sh421 die "hdiutil attach failed for ${arch} (mountpoint=${mount_point})"COMMENT
LOWdocs/harness-feedback/eval-domains/eval-sop.yaml1---COMMENT
LOW…arness-feedback/eval-domains/eval-capability-tips.yaml1---COMMENT
LOWscripts/setup.sh281 echo -e " ${GREEN}✓${NC} API proxy enabled"COMMENT
LOWscripts/intake-from-opensource.sh921 if [ "$SKIP_ABSORBED_GUARD" = true ] && [ -z "$ABSORB_PR" ]; thenCOMMENT
LOWscripts/sync-skills.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/sync-skills.sh261 ;;COMMENT
LOWscripts/user-redis.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/install.sh81 fiCOMMENT
LOWscripts/start-dev.sh1#!/bin/bashCOMMENT
LOWscripts/start-dev.sh21# ./scripts/start-dev.sh -- --npm-registry=URL --pip-index-url=URL --hf-endpoint=URLCOMMENT
LOWscripts/preflight-shared-state.sh1#!/bin/bashCOMMENT
LOWscripts/clean-stale-skill-links.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/pre-merge-check.sh1#!/bin/bashCOMMENT
LOWscripts/lib/intake-gh-retry.sh1# shellcheck shell=bashCOMMENT
LOWscripts/lib/quickstart-freshness.sh1# shellcheck shell=bashCOMMENT
LOWscripts/services/recommendation-matrix.yaml1# ============================================================COMMENT
LOWscripts/services/recommendation-matrix.yaml21# - name: <model-id>COMMENT
LOWscripts/services/recommendation-matrix.yaml721 requirement: 'HuggingFace 上的 CausalLM 因果语言模型(纯 CPU 推理,建议 ≤3B)'COMMENT
LOWscripts/services/prereq-check.sh361 # (user feedback): forcing pip to tunnel through clash verge'sCOMMENT
LOWscripts/services/prereq-check.sh381 # Windows tooling has no OS-level fallback -- that asymmetry isCOMMENT
LOWscripts/services/prereq-check.sh401 # Single source of truth: prereq-check decides, downstream justCOMMENT
LOWscripts/services/tts-server.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/services/embed-server.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/services/python-resolve.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/services/python-resolve.sh21# 2. uv (if user already has it) -- uv python find 3.12 reuses uv-managedCOMMENT
LOWscripts/services/python-resolve.sh41COMMENT
LOWscripts/services/python-resolve.sh181_try_legacy_project_python() {COMMENT
LOWscripts/services/whisper-server.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/services/install-python.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/services/install-template.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/services/install-template.sh21# VENV_NAME (required) -- venv dir name underCOMMENT
LOWscripts/services/llm-postprocess-server.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/web/next-env.d.ts1/// <reference types="next" />COMMENT
LOWpackages/web/src/stores/callbackAuthStore.ts161 // seen (snapshot 30s lag). But this was over-engineered against theCOMMENT
LOWpackages/web/src/stores/callbackAuthStore.ts181 });COMMENT
LOWpackages/web/src/stores/bubble-invariants.ts41 // Active path `ensureActiveAssistantMessage` creates the canonicalCOMMENT
LOWpackages/web/src/stores/chatStore.ts1741 },COMMENT
LOWpackages/web/src/stores/bubble-reducer.ts181function findExistingByStableKey(COMMENT
LOWpackages/web/src/stores/bubble-reducer.ts341// ADR-033 设计 tool_or_cli 为独立 kind bubble,但当前 UI 把 tool events 当COMMENT
LOWpackages/web/src/stores/bubble-reducer.ts441//COMMENT
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts1721 currentMessages,COMMENT
LOWpackages/web/src/components/ChatMessage.tsx261 // F212 Phase B routing precedence (砚砚 P1-1 + 云端 codex P2-3, 2026-05-27):COMMENT
LOW…nents/__tests__/HubObservabilityTab-deep-link.test.tsx61 // FAIL. Sequence:COMMENT
LOWpackages/web/src/hooks/useChatHistory.ts1281 // a previous thread's aborted fetch never leaks to the new thread.COMMENT
LOWpackages/web/src/hooks/useChatHistory.ts1361 }, [threadId, cancelPendingRestore, clearMessages, fetchHistory, fetchQueue, fetchTaskProgress, fetchTasks]); // eslinCOMMENT
LOWpackages/web/src/hooks/useChatHistory.ts1381 // Cloud R3 P1 fix (2026-05-02): retry on skipped/failed fetch with exponentialCOMMENT
LOWpackages/web/src/hooks/useSocket.ts381 const joinedRoomsRef = useRef<Set<string>>(new Set());COMMENT
LOWpackages/web/src/hooks/useSocket.ts521 // Reconnect reconciliation: verify invocation state against server truth.COMMENT
LOWpackages/web/src/hooks/useAgentMessages.ts701 // the work-log bubble before invocation_created stamped the per-cat-turn id) is theCOMMENT
135 more matches not shown…
Modern AI Meta-Vocabulary19 hits · 50 pts
SeverityFileLineSnippetContext
MEDIUMdocs/features/F124-apple-ecosystem-voice-interaction.md173- [Xcode 26.3 unlocks the power of agentic coding — Apple Newsroom](https://www.apple.com/newsroom/2026/02/xcode-26-poinCODE
MEDIUMdocs/features/F124-apple-ecosystem-voice-interaction.md174- [Apple releases Xcode 26.3 — 9to5Mac](https://9to5mac.com/2026/02/26/apple-releases-xcode-26-3-with-support-for-agentiCODE
MEDIUMdocs/features/F213-stale-mcp-config-cleanup.md274PR #1894 (5-round P1 chain) 保留 close 状态作为 "lookup-based scaffolding antipattern" 教学案例,commits `b7d618436` → `878bb144d` CODE
MEDIUMdocs/features/F044-channel-activity-system.md252私密频道消息的 token 算谁的?Ragdoll在 `#ragdoll-hq` 发了 20 条策略讨论,进不进公开频道的 context window?CODE
MEDIUMdocs/features/F129-pack-system-multi-agent-mod.md25### 核心洞察:shared-rules 是 multi-agent 的分水岭COMMENT
MEDIUMdocs/decisions/021-f129-pack-system-architecture.md26### 关键洞察:shared-rules 是 multi-agent 的分水岭COMMENT
MEDIUMscripts/intake-from-opensource.sh165# These files often carry route wiring, dependency injection, auth/callback,COMMENT
MEDIUMpackages/shared/src/types/pack.ts41// ─── Guardrails (guardrails.yaml) ────────────────────────────────────COMMENT
MEDIUMpackages/shared/src/schemas/pack.ts53// ─── Guardrails (guardrails.yaml) ────────────────────────────────────COMMENT
MEDIUMpackages/api/test/api-fetcher.test.js74 url: 'https://example.com/agentic-workflows',CODE
MEDIUMpackages/api/test/api-fetcher.test.js93 assert.equal(result.articles[0].url, 'https://example.com/agentic-workflows');CODE
MEDIUMpackages/api/test/invoke-single-cat.test.js1794 // step_finish event (per LLM call inside opencode agentic loop) carriesCOMMENT
MEDIUMpackages/api/test/system-prompt-builder.test.js1946 // Core governance (L0 家规) must come before pack guardrailsCOMMENT
MEDIUMpackages/api/test/memory/embed-eval.test.js31 // This is expected — the scaffold validates the test infra is wiredCOMMENT
MEDIUMpackages/api/test/memory/embed-eval.test.js38 // For now, the scaffold proves the test runner picks up the file.COMMENT
MEDIUMpackages/api/test/memory/event-memory-store.test.js316 ins.run('evt_legacy_2', 'dup'); // same (thread_a, msg_1, scaffold) — a legacy duplicateCODE
MEDIUMpackages/api/src/domains/packs/PackSecurityGuard.ts95 // 3. Validate guardrails.yamlCOMMENT
MEDIUMpackages/api/src/domains/packs/PackSecurityGuard.ts113 // 9. Scan guardrails for relaxation attemptsCOMMENT
MEDIUMpackages/api/src/domains/packs/PackSecurityGuard.ts243 // No guardrails — okCOMMENT
Fake / Example Data27 hits · 27 pts
SeverityFileLineSnippetContext
LOWcat-cafe-skills/hyperfocus-brake/sanitizer.test.sh51 result=$(sanitize "user@example.com")CODE
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts1081 it('uses local-only id when canonicalInvocationId missing, not "placeholder" magic (P2)', () => {CODE
LOW…ckages/web/src/stores/__tests__/bubble-reducer.test.ts1096 expect(id).not.toContain('placeholder');CODE
LOW…web/src/components/__tests__/vote-config-modal.test.ts20 expect(html).toContain('placeholder');CODE
LOW…es/web/src/components/__tests__/task-composer.test.tsx12 expect(html).toContain('placeholder');CODE
LOWpackages/api/test/callback-start-vote.test.js176 headers: { 'x-invocation-id': 'fake-id', 'x-callback-token': 'fake-token' },CODE
LOWpackages/api/test/telegram-adapter.test.js393 const msgId = await adapter.sendPlaceholder('2002', 'placeholder');CODE
LOWpackages/api/test/adapter-send-media.test.js11 const adapter = new TelegramAdapter('fake-token', {CODE
LOWpackages/api/test/adapter-send-media.test.js52 const adapter = new TelegramAdapter('fake-token', {CODE
LOWpackages/api/test/adapter-send-media.test.js84 const adapter = new TelegramAdapter('fake-token', {CODE
LOWpackages/api/test/adapter-send-media.test.js117 const adapter = new TelegramAdapter('fake-token', {CODE
LOWpackages/api/test/adapter-send-media.test.js153 const adapter = new TelegramAdapter('fake-token', {CODE
LOWpackages/api/test/streaming-outbound-hook.test.js102 assert.ok(!text.includes('placeholder'), `Receipt should not be a raw placeholder, got: ${text}`);CODE
LOWpackages/api/test/callback-bootcamp-env-check.test.js56 callbackToken: 'fake-token',CODE
LOW…ckages/api/test/connector-phase-b4-integration.test.js59 sent.push({ chatId, text, type: 'placeholder', msgId });CODE
LOW…ckages/api/test/connector-phase-b4-integration.test.js198 assert.equal(adapter.sent[0].type, 'placeholder');CODE
LOWpackages/api/test/invoke-single-cat-preflight.test.js55 execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'ignore' });CODE
LOWpackages/api/test/bg-carrier-streaming.test.js563 const finalAnswer = 'The file contains 42 lines of Lorem ipsum.';CODE
LOW…kages/api/test/feat-trajectory-real-git-runner.test.js200 assert.strictEqual(extractCatHandle('user@example.com'), null);CODE
LOWpackages/api/test/callback-bootcamp-state.test.js68 headers: { 'x-invocation-id': 'fake-id', 'x-callback-token': 'fake-token' },CODE
LOWpackages/api/test/shared-state-preflight.test.js31 execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'ignore' });CODE
LOWpackages/api/test/feishu-adapter.test.js916 const messageId = await adapter.sendPlaceholder('oc_chat', 'placeholder');CODE
LOWpackages/api/test/feishu-adapter.test.js1175 assert.ok(bodyEl.content.includes('user@example.com'), 'email-like @-token must NOT be replaced');CODE
LOWpackages/api/test/gate-keeping-cross-store.test.js227 const waitSourceRef = { kind: 'reporter_handle', value: 'user@example.com' };CODE
LOWpackages/api/test/integration/mcp-prompt-e2e.test.js182 callbackToken: 'fake-token',CODE
LOWpackages/api/src/routes/quota.ts116 sourceKind: 'cli' | 'browser' | 'placeholder';CODE
LOWpackages/api/src/routes/quota.ts345 sourceKind: 'placeholder',CODE
AI Slop Vocabulary9 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUM…s/harness-feedback/eval-domains/eval-anchor-first.yaml25# Findings route to F236 owner (opus-47 as the registered harness-eval cell owner).COMMENT
MEDIUMdocs/harness-feedback/eval-domains/eval-friction.yaml25# Actionable friction findings route to the harness-eval owner (Phase D wiresCOMMENT
MEDIUMdocs/harness-feedback/eval-domains/eval-friction.yaml29# would be an unwakeable handoff. Use opus-47 — registered + the harness-eval cellCOMMENT
MEDIUMdocs/harness-feedback/eval-domains/eval-sop.yaml14# See: docs/features/F192-socio-technical-harness-eval.md (sunset/re-enable journal)COMMENT
MEDIUM…-domains/community-fixtures/custom-domain-example.yaml10# See: packages/api/src/infrastructure/harness-eval/community-eval-domain.tsCOMMENT
MEDIUMpackages/mcp-server/test/callback-retry.test.js56 // robust if a future caller passes a plain AbortController signal.COMMENT
MEDIUMpackages/api/test/staging-content.test.js234 sourceOnlyTest('Cloud R5 P2 #2239: ADR-031 harness 三层反射 rendered (disentangled from F218 trim)', () => {CODE
MEDIUMpackages/api/test/b1c-2-build-delta-payload.test.js272 // contract precisely when the receiver needs robust parsing most.COMMENT
MEDIUM…ains/cats/services/cloud-bridge/build-delta-payload.ts98 // the cloud cat side, exactly when the receiver needs robust parsing most.)COMMENT
Excessive Try-Catch Wrapping20 hits · 20 pts
SeverityFileLineSnippetContext
LOWscripts/check-skills-mount.sh44except Exception:CODE
LOWscripts/services/llm-postprocess-api.py170 except Exception as exc:CODE
LOWscripts/services/llm-postprocess-api.py199 except Exception:CODE
LOWscripts/services/llm-postprocess-api.py210 except Exception:CODE
LOWscripts/services/llm-postprocess-api.py241 except Exception:CODE
LOWscripts/services/tts-api.py533 except Exception as exc:CODE
LOWscripts/services/tts-api.py573 except Exception as exc:CODE
LOWscripts/services/tts-api.py617 except Exception:CODE
LOWscripts/services/whisper-api.py174 except Exception as exc:CODE
LOWscripts/services/whisper-api.py207 except Exception:CODE
LOWscripts/services/whisper-api.py224 except Exception:CODE
LOWscripts/services/whisper-api.py232 except Exception as e:CODE
LOWscripts/services/whisper-api.py262 except Exception:CODE
LOWscripts/services/embed-api.py301 except Exception as e:CODE
LOWscripts/services/embed-api.py353 except Exception as e:CODE
LOWscripts/services/embed-api.py398 except Exception:CODE
LOWscripts/services/install-template.sh236except Exception:CODE
LOWscripts/services/install-template.sh245 except Exception as e:CODE
LOWscripts/services/install-template.sh266except Exception:CODE
LOWscripts/services/install-template.sh334 except Exception as e:CODE
Example Usage Blocks12 hits · 18 pts
SeverityFileLineSnippetContext
LOWdesktop/scripts/build-mac.sh14# Usage:COMMENT
LOWscripts/thread-exports-autosave.sh6# Usage:COMMENT
LOWscripts/thread-exports-sync.sh8# Usage:COMMENT
LOWscripts/user-redis.sh6# Usage:COMMENT
LOWscripts/install-git-guards.sh7# Usage:COMMENT
LOWscripts/user-redis-autobackup.sh6# Usage:COMMENT
LOWscripts/find-redis-dumps.sh7# Usage:COMMENT
LOWscripts/pre-merge-check.sh7# Usage:COMMENT
LOWscripts/services/tts-server.sh5# Usage:COMMENT
LOWscripts/services/embed-server.sh5# Usage:COMMENT
LOWscripts/services/whisper-server.sh6# Usage:COMMENT
LOWscripts/services/llm-postprocess-server.sh7# Usage:COMMENT
Cross-Language Confusion (JS/TS)2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHpackages/api/test/start-dev-script.test.js936elif compgen -G "${backupDir}/stale-aof-test-6399-*" >/dev/null; thenCODE
HIGHpackages/api/test/start-dev-script.test.js1010elif compgen -G "${backupDir}/stale-aof-test-6399-*" >/dev/null; thenCODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMcat-cafe-skills/hyperfocus-brake/state.test.sh232 # Create a symlink pointing to a sensitive fileCOMMENT
MEDIUMassets/brand-dictionary.yaml3# This file is the machine-readable truth source for F238. It definesCOMMENT
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/features/F127-cat-instance-management.md39| `api_key` — Claude | apiKey + baseUrl + 可选 modelOverride | `<your-api-key>` + `https://api.anthropic.com` |CODE
Unused Imports5 hits · 5 pts
SeverityFileLineSnippetContext
LOWscripts/services/llm-postprocess-api.py8CODE
LOWscripts/services/tts-api.py26CODE
LOWscripts/services/whisper-api.py12CODE
LOWscripts/services/embed-api.py9CODE
LOWscripts/services/embed-api.py197CODE
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/intake-from-opensource.sh1079 # Check if this landed mainline commit is covered by an entries[] recordCOMMENT
LOWscripts/preflight-shared-state.sh33 # Check if any commits on this branch touch shared stateCOMMENT
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWscripts/services/embed-api.py251CODE
LOWscripts/services/embed-api.py357CODE