Repository Analysis

EcoPasteHub/EcoPaste

🎉跨平台的剪贴板管理工具 | Cross-platform clipboard management tool

21.4 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of EcoPasteHub/EcoPaste, a Rust project with 7,169 GitHub stars. SynthScan v2.0 examined 110,661 lines of code across 676 source files, recording 990 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 21.4 places this repository in the Moderate 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).

21.4
Adjusted Score
21.4
Raw Score
100%
Time Factor
2026-07-10
Last Push
7.2K
Stars
Rust
Language
110.7K
Lines of Code
676
Files
990
Pattern Hits
2026-07-14
Scan Date
0.26
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 0HIGH 173MEDIUM 217LOW 600

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 990 distinct pattern matches across 15 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.

Cross-File Repetition171 hits · 855 pts
SeverityFileLineSnippetContext
HIGH.cursor/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGH.gemini/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGH.claude/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGH.codex/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGH.github/copilot/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGH.kiro/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGH.cursor/hooks/session-start.py0<first-reply-notice> first visible reply: say once in chinese that trellis sessionstart context is loaded, then answer dSTRING
HIGH.gemini/hooks/session-start.py0<first-reply-notice> first visible reply: say once in chinese that trellis sessionstart context is loaded, then answer dSTRING
HIGH.claude/hooks/session-start.py0<first-reply-notice> first visible reply: say once in chinese that trellis sessionstart context is loaded, then answer dSTRING
HIGH.kiro/hooks/session-start.py0<first-reply-notice> first visible reply: say once in chinese that trellis sessionstart context is loaded, then answer dSTRING
HIGH.cursor/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a freshly seeded jsonl only contains a ``{"_example": STRING
HIGH.gemini/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a freshly seeded jsonl only contains a ``{"_example": STRING
HIGH.claude/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a freshly seeded jsonl only contains a ``{"_example": STRING
HIGH.kiro/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a freshly seeded jsonl only contains a ``{"_example": STRING
HIGH.cursor/hooks/session-start.py0check if any platform's non-interactive flag is set, or if trellis hooks are explicitly disabled via trellis_hooks=0 / tSTRING
HIGH.gemini/hooks/session-start.py0check if any platform's non-interactive flag is set, or if trellis hooks are explicitly disabled via trellis_hooks=0 / tSTRING
HIGH.claude/hooks/session-start.py0check if any platform's non-interactive flag is set, or if trellis hooks are explicitly disabled via trellis_hooks=0 / tSTRING
HIGH.kiro/hooks/session-start.py0check if any platform's non-interactive flag is set, or if trellis hooks are explicitly disabled via trellis_hooks=0 / tSTRING
HIGH.cursor/hooks/session-start.py0expose trellis session identity to later claude code bash commands. claude code sessionstart hooks can append exports toSTRING
HIGH.gemini/hooks/session-start.py0expose trellis session identity to later claude code bash commands. claude code sessionstart hooks can append exports toSTRING
HIGH.claude/hooks/session-start.py0expose trellis session identity to later claude code bash commands. claude code sessionstart hooks can append exports toSTRING
HIGH.kiro/hooks/session-start.py0expose trellis session identity to later claude code bash commands. claude code sessionstart hooks can append exports toSTRING
HIGH.cursor/hooks/session-start.py0return compact active-task status, artifact presence, and next action.STRING
HIGH.gemini/hooks/session-start.py0return compact active-task status, artifact presence, and next action.STRING
HIGH.claude/hooks/session-start.py0return compact active-task status, artifact presence, and next action.STRING
HIGH.kiro/hooks/session-start.py0return compact active-task status, artifact presence, and next action.STRING
HIGH.cursor/hooks/session-start.py0load trellis config for session-start decisions. returns: (is_mono, packages_dict, spec_scope, task_pkg, default_pkg)STRING
HIGH.gemini/hooks/session-start.py0load trellis config for session-start decisions. returns: (is_mono, packages_dict, spec_scope, task_pkg, default_pkg)STRING
HIGH.claude/hooks/session-start.py0load trellis config for session-start decisions. returns: (is_mono, packages_dict, spec_scope, task_pkg, default_pkg)STRING
HIGH.kiro/hooks/session-start.py0load trellis config for session-start decisions. returns: (is_mono, packages_dict, spec_scope, task_pkg, default_pkg)STRING
HIGH.cursor/hooks/session-start.py0check for legacy spec directory structure in monorepo. returns warning message if legacy structure detected, none otherwSTRING
HIGH.gemini/hooks/session-start.py0check for legacy spec directory structure in monorepo. returns warning message if legacy structure detected, none otherwSTRING
HIGH.claude/hooks/session-start.py0check for legacy spec directory structure in monorepo. returns warning message if legacy structure detected, none otherwSTRING
HIGH.kiro/hooks/session-start.py0check for legacy spec directory structure in monorepo. returns warning message if legacy structure detected, none otherwSTRING
HIGH.cursor/hooks/session-start.py0resolve which packages should have their specs injected. returns: set of package names to include, or none for full scanSTRING
HIGH.gemini/hooks/session-start.py0resolve which packages should have their specs injected. returns: set of package names to include, or none for full scanSTRING
HIGH.claude/hooks/session-start.py0resolve which packages should have their specs injected. returns: set of package names to include, or none for full scanSTRING
HIGH.kiro/hooks/session-start.py0resolve which packages should have their specs injected. returns: set of package names to include, or none for full scanSTRING
HIGH.cursor/hooks/session-start.py0extract lines starting at `## start_header` up to (but excluding) `## end_header`. both parameters are full header linesSTRING
HIGH.gemini/hooks/session-start.py0extract lines starting at `## start_header` up to (but excluding) `## end_header`. both parameters are full header linesSTRING
HIGH.claude/hooks/session-start.py0extract lines starting at `## start_header` up to (but excluding) `## end_header`. both parameters are full header linesSTRING
HIGH.kiro/hooks/session-start.py0extract lines starting at `## start_header` up to (but excluding) `## end_header`. both parameters are full header linesSTRING
HIGH.cursor/hooks/session-start.py0remove `[workflow-state:status]...[/workflow-state:status]` blocks. the tag blocks live inside `## phase index` (since vSTRING
HIGH.gemini/hooks/session-start.py0remove `[workflow-state:status]...[/workflow-state:status]` blocks. the tag blocks live inside `## phase index` (since vSTRING
HIGH.claude/hooks/session-start.py0remove `[workflow-state:status]...[/workflow-state:status]` blocks. the tag blocks live inside `## phase index` (since vSTRING
HIGH.kiro/hooks/session-start.py0remove `[workflow-state:status]...[/workflow-state:status]` blocks. the tag blocks live inside `## phase index` (since vSTRING
HIGH.cursor/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH.gemini/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH.claude/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH.codex/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH.github/copilot/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH.kiro/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH.cursor/hooks/session-start.py0<session-context> trellis compact sessionstart context. use it to orient the session; load details on demand. </session-STRING
HIGH.gemini/hooks/session-start.py0<session-context> trellis compact sessionstart context. use it to orient the session; load details on demand. </session-STRING
HIGH.claude/hooks/session-start.py0<session-context> trellis compact sessionstart context. use it to orient the session; load details on demand. </session-STRING
HIGH.codex/hooks/session-start.py0<session-context> trellis compact sessionstart context. use it to orient the session; load details on demand. </session-STRING
HIGH.github/copilot/hooks/session-start.py0<session-context> trellis compact sessionstart context. use it to orient the session; load details on demand. </session-STRING
HIGH.kiro/hooks/session-start.py0<session-context> trellis compact sessionstart context. use it to orient the session; load details on demand. </session-STRING
HIGH.cursor/hooks/session-start.py0<ready> context loaded. follow <task-status>. load workflow/spec/task details only when needed. </ready>STRING
HIGH.gemini/hooks/session-start.py0<ready> context loaded. follow <task-status>. load workflow/spec/task details only when needed. </ready>STRING
111 more matches not shown…
Decorative Section Separators192 hits · 626 pts
SeverityFileLineSnippetContext
MEDIUM.cursor/hooks/inject-subagent-context.py45# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py47# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py53# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py55# =============================================================================COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py73# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py75# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py91# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py93# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py172# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py306# ---------------------------------------------------------------------------COMMENT
MEDIUM.gemini/hooks/inject-workflow-state.py308# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py73# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py75# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py91# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py93# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py172# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py306# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py308# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py45# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py47# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py53# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py55# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py73# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py75# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py91# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py93# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py172# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py306# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py308# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py73# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py75# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py91# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py93# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py170# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py172# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py306# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py308# ---------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml6#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml8#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml17#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml19#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml35#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml37#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml53#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml55#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml79#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml81#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml99#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/config.yaml101#-------------------------------------------------------------------------------COMMENT
MEDIUM.trellis/scripts/task.py66# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py68# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py183# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py185# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py264# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py266# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py298# =============================================================================COMMENT
MEDIUM.trellis/scripts/task.py300# =============================================================================COMMENT
132 more matches not shown…
Structural Annotation Overuse252 hits · 453 pts
SeverityFileLineSnippetContext
LOW.cursor/agents/trellis-check.md52### Step 1: Get ChangesCOMMENT
LOW.cursor/agents/trellis-check.md59### Step 2: Check Against Specs and Task ArtifactsCOMMENT
LOW.cursor/agents/trellis-check.md71### Step 3: Self-FixCOMMENT
LOW.cursor/agents/trellis-check.md79### Step 4: Run VerificationCOMMENT
LOW.cursor/agents/trellis-research.md29### Step 1: Resolve Current TaskCOMMENT
LOW.cursor/agents/trellis-research.md39### Step 2: Understand Search RequestCOMMENT
LOW.cursor/agents/trellis-research.md43### Step 3: Execute SearchCOMMENT
LOW.cursor/agents/trellis-research.md47### Step 4: Persist Each TopicCOMMENT
LOW.cursor/agents/trellis-research.md51### Step 5: Report to Main AgentCOMMENT
LOW.cursor/commands/trellis-continue.md7## Step 1: Load Current ContextCOMMENT
LOW.cursor/commands/trellis-continue.md15## Step 2: Load the Phase IndexCOMMENT
LOW.cursor/commands/trellis-continue.md23## Step 3: Decide Where You AreCOMMENT
LOW.cursor/commands/trellis-continue.md42## Step 4: Load the Specific StepCOMMENT
LOW.cursor/commands/trellis-finish-work.md5## Step 1: Survey current stateCOMMENT
LOW.cursor/commands/trellis-finish-work.md19## Step 2: Sanity check — classify dirty pathsCOMMENT
LOW.cursor/commands/trellis-finish-work.md45## Step 3: Archive task(s)COMMENT
LOW.cursor/commands/trellis-finish-work.md55## Step 4: Record session journalCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md77### Step 1: Restate the ProblemCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md84### Step 2: List Fundamental TruthsCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md95### Step 3: Challenge AssumptionsCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md104### Step 4: Build Up from TruthsCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md110### Step 5: ValidateCOMMENT
LOW.cursor/skills/trellis-break-loop/SKILL.md118### Step 1: Establish PriorsCOMMENT
LOW.cursor/skills/trellis-break-loop/SKILL.md130### Step 2: Observe EvidenceCOMMENT
LOW.cursor/skills/trellis-break-loop/SKILL.md138### Step 3: Update BeliefsCOMMENT
LOW.cursor/skills/trellis-break-loop/SKILL.md147### Step 4: Seek Discriminating EvidenceCOMMENT
LOW.cursor/skills/trellis-break-loop/SKILL.md153### Step 5: State ConfidenceCOMMENT
LOW.cursor/skills/trellis-check/SKILL.md12## Step 1: Identify What ChangedCOMMENT
LOW.cursor/skills/trellis-check/SKILL.md19## Step 2: Read Task Artifacts and Applicable SpecsCOMMENT
LOW.cursor/skills/trellis-check/SKILL.md39## Step 3: Run Project ChecksCOMMENT
LOW.cursor/skills/trellis-check/SKILL.md43## Step 4: Review Against ChecklistCOMMENT
LOW.cursor/skills/trellis-check/SKILL.md65## Step 5: Cross-Layer Dimensions (if applicable)COMMENT
LOW.cursor/skills/trellis-check/SKILL.md96## Step 6: Report and FixCOMMENT
LOW.cursor/skills/trellis-update-spec/SKILL.md97### Step 1: Identify What You LearnedCOMMENT
LOW.cursor/skills/trellis-update-spec/SKILL.md105### Step 2: Classify the Update TypeCOMMENT
LOW.cursor/skills/trellis-update-spec/SKILL.md117### Step 3: Read the Target Code-SpecCOMMENT
LOW.cursor/skills/trellis-update-spec/SKILL.md128### Step 4: Make the UpdateCOMMENT
LOW.cursor/skills/trellis-update-spec/SKILL.md138### Step 5: Update the Index (if needed)COMMENT
LOW.gemini/agents/trellis-implement.md11### Step 1: Find the active task pathCOMMENT
LOW.gemini/agents/trellis-implement.md19### Step 2: Load task context from the resolved pathCOMMENT
LOW.gemini/agents/trellis-check.md11### Step 1: Find the active task pathCOMMENT
LOW.gemini/agents/trellis-check.md19### Step 2: Load task context from the resolved pathCOMMENT
LOW.gemini/agents/trellis-check.md71### Step 1: Get ChangesCOMMENT
LOW.gemini/agents/trellis-check.md78### Step 2: Check Against Specs and Task ArtifactsCOMMENT
LOW.gemini/agents/trellis-check.md90### Step 3: Self-FixCOMMENT
LOW.gemini/agents/trellis-check.md98### Step 4: Run VerificationCOMMENT
LOW.gemini/agents/trellis-research.md29### Step 1: Resolve Current TaskCOMMENT
LOW.gemini/agents/trellis-research.md39### Step 2: Understand Search RequestCOMMENT
LOW.gemini/agents/trellis-research.md43### Step 3: Execute SearchCOMMENT
LOW.gemini/agents/trellis-research.md47### Step 4: Persist Each TopicCOMMENT
LOW.gemini/agents/trellis-research.md51### Step 5: Report to Main AgentCOMMENT
LOW.gemini/commands/trellis/continue.toml10## Step 1: Load Current ContextCOMMENT
LOW.gemini/commands/trellis/continue.toml18## Step 2: Load the Phase IndexCOMMENT
LOW.gemini/commands/trellis/continue.toml26## Step 3: Decide Where You AreCOMMENT
LOW.gemini/commands/trellis/continue.toml45## Step 4: Load the Specific StepCOMMENT
LOW.gemini/commands/trellis/finish-work.toml8## Step 1: Survey current stateCOMMENT
LOW.gemini/commands/trellis/finish-work.toml22## Step 2: Sanity check — classify dirty pathsCOMMENT
LOW.gemini/commands/trellis/finish-work.toml48## Step 3: Archive task(s)COMMENT
LOW.gemini/commands/trellis/finish-work.toml58## Step 4: Record session journalCOMMENT
LOW.opencode/agents/trellis-check.md60### Step 1: Get ChangesCOMMENT
192 more matches not shown…
Excessive Try-Catch Wrapping89 hits · 109 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py89 except Exception:CODE
LOW.cursor/hooks/session-start.py94 except Exception:CODE
LOW.cursor/hooks/session-start.py460 except Exception:CODE
LOW.cursor/hooks/session-start.py611 except Exception:CODE
LOW.cursor/hooks/session-start.py644 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py123 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py141 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py182 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py184 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py245 except Exception:CODE
LOW.gemini/hooks/inject-workflow-state.py55 except Exception:CODE
LOW.gemini/hooks/inject-workflow-state.py60 except Exception:CODE
LOW.gemini/hooks/inject-workflow-state.py218 except Exception:CODE
LOW.gemini/hooks/inject-workflow-state.py222 except Exception:CODE
LOW.gemini/hooks/session-start.py89 except Exception:CODE
LOW.gemini/hooks/session-start.py94 except Exception:CODE
LOW.gemini/hooks/session-start.py460 except Exception:CODE
LOW.gemini/hooks/session-start.py611 except Exception:CODE
LOW.gemini/hooks/session-start.py644 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py55 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py60 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py218 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py222 except Exception:CODE
LOW.claude/hooks/session-start.py89 except Exception:CODE
LOW.claude/hooks/session-start.py94 except Exception:CODE
LOW.claude/hooks/session-start.py460 except Exception:CODE
LOW.claude/hooks/session-start.py611 except Exception:CODE
LOW.claude/hooks/session-start.py644 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py123 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py141 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py182 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py184 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py245 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py55 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py60 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py218 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py222 except Exception:CODE
LOW.codex/hooks/session-start.py35 except Exception:CODE
LOW.codex/hooks/session-start.py40 except Exception:CODE
LOW.codex/hooks/session-start.py118 except Exception:CODE
LOW.codex/hooks/session-start.py158 except Exception:CODE
LOW.codex/hooks/session-start.py367 except Exception:CODE
LOW.codex/hooks/session-start.py400 except Exception:CODE
LOW.github/copilot/hooks/inject-workflow-state.py55 except Exception:CODE
LOW.github/copilot/hooks/inject-workflow-state.py60 except Exception:CODE
LOW.github/copilot/hooks/inject-workflow-state.py218 except Exception:CODE
LOW.github/copilot/hooks/inject-workflow-state.py222 except Exception:CODE
LOW.github/copilot/hooks/session-start.py36 except Exception:CODE
LOW.github/copilot/hooks/session-start.py41 except Exception:CODE
LOW.github/copilot/hooks/session-start.py123 except Exception:CODE
LOW.github/copilot/hooks/session-start.py163 except Exception:CODE
LOW.github/copilot/hooks/session-start.py372 except Exception:CODE
LOW.github/copilot/hooks/session-start.py405 except Exception:CODE
MEDIUM.trellis/scripts/add_session.py234 print("Error: Markers not found in index.md. Please ensure markers exist.", file=sys.stderr)CODE
MEDIUM.trellis/scripts/add_session.py410 print("Error: Developer not initialized", file=sys.stderr)CODE
MEDIUM.trellis/scripts/add_session.py415 print("Error: Workspace directory not found", file=sys.stderr)CODE
MEDIUM.trellis/scripts/add_session.py539 print(f"Error: unknown package '{package}'. Available: {available}", file=sys.stderr)CODE
LOW.trellis/scripts/common/git.py30 except Exception as e:CODE
LOW.trellis/scripts/common/task_store.py348 except Exception:CODE
LOW.trellis/scripts/common/trellis_config.py129 except Exception:CODE
29 more matches not shown…
Hyper-Verbose Identifiers103 hits · 105 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py22def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.cursor/hooks/session-start.py235def _persist_context_key_for_bash(context_key: str | None) -> None:CODE
LOW.cursor/hooks/session-start.py569def _collect_spec_index_paths(trellis_dir: Path, allowed_pkgs: set | None) -> list[str]:CODE
LOW.cursor/hooks/session-start.py600def _build_compact_current_state(CODE
LOW.cursor/hooks/session-start.py691def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.cursor/hooks/inject-shell-session-context.py60def _load_active_task_resolver(root: Path):CODE
LOW.cursor/hooks/inject-shell-session-context.py69def _extract_task_subcommands(command: str) -> list[dict[str, str]]:CODE
LOW.gemini/hooks/session-start.py22def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.gemini/hooks/session-start.py235def _persist_context_key_for_bash(context_key: str | None) -> None:CODE
LOW.gemini/hooks/session-start.py569def _collect_spec_index_paths(trellis_dir: Path, allowed_pkgs: set | None) -> list[str]:CODE
LOW.gemini/hooks/session-start.py600def _build_compact_current_state(CODE
LOW.gemini/hooks/session-start.py691def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.opencode/plugins/inject-subagent-context.js314function buildTrellisContextPrefix(CODE
LOW.opencode/plugins/inject-subagent-context.js333function commandStartsWithTrellisContext(command) {CODE
LOW.opencode/plugins/inject-subagent-context.js349function injectTrellisContextIntoBash(ctx, input, output, hostPlatform, env) {CODE
LOW.opencode/lib/session-utils.js439export function hasInjectedTrellisContext(messages) {CODE
LOW.opencode/lib/session-utils.js453export async function hasPersistedInjectedContext(CODE
LOW.claude/hooks/session-start.py22def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.claude/hooks/session-start.py235def _persist_context_key_for_bash(context_key: str | None) -> None:CODE
LOW.claude/hooks/session-start.py569def _collect_spec_index_paths(trellis_dir: Path, allowed_pkgs: set | None) -> list[str]:CODE
LOW.claude/hooks/session-start.py600def _build_compact_current_state(CODE
LOW.claude/hooks/session-start.py691def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.codex/hooks/session-start.py44def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.codex/hooks/session-start.py108def configure_project_encoding(project_dir: Path) -> None:CODE
LOW.codex/hooks/session-start.py329def _collect_spec_index_paths(trellis_dir: Path) -> list[str]:CODE
LOW.codex/hooks/session-start.py356def _build_compact_current_state(CODE
LOW.codex/hooks/session-start.py442def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.github/copilot/hooks/session-start.py54def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.github/copilot/hooks/session-start.py113def configure_project_encoding(project_dir: Path) -> None:CODE
LOW.github/copilot/hooks/session-start.py334def _collect_spec_index_paths(trellis_dir: Path) -> list[str]:CODE
LOW.github/copilot/hooks/session-start.py361def _build_compact_current_state(CODE
LOW.github/copilot/hooks/session-start.py447def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.trellis/scripts/common/safe_commit.py61def safe_trellis_paths_to_add(CODE
LOW.trellis/scripts/common/safe_commit.py144def safe_archive_paths_to_add(CODE
LOW.trellis/scripts/common/safe_commit.py202def _stderr_indicates_ignored(stderr: str) -> bool:CODE
LOW.trellis/scripts/common/session_context.py143def _discover_child_git_repos(repo_root: Path) -> list[tuple[str, str]]:CODE
LOW.trellis/scripts/common/session_context.py178def _collect_package_git_info(CODE
LOW.trellis/scripts/common/session_context.py246def _append_package_git_context(lines: list[str], package_git_info: list[dict]) -> None:CODE
LOW.trellis/scripts/common/session_context.py277def _fetch_trellis_version_output() -> str | None:CODE
LOW.trellis/scripts/common/session_context.py296def _extract_available_update_version(output: str) -> str | None:CODE
LOW.trellis/scripts/common/session_context.py308def _resolve_available_update_version() -> str | None:CODE
LOW.trellis/scripts/common/session_context.py383def _mark_update_check_attempted(repo_root: Path) -> bool:CODE
LOW.trellis/scripts/common/active_task.py281def _pending_ticket_matches_args(ticket: dict[str, Any], repo_root: Path) -> bool:CODE
LOW.trellis/scripts/common/active_task.py336def _matching_cursor_ticket_context_key(CODE
LOW.trellis/scripts/common/active_task.py353def _lookup_cursor_shell_ticket_context_key() -> str | None:CODE
LOW.trellis/scripts/common/active_task.py499def _resolve_single_session_fallback(repo_root: Path) -> ActiveTask | None:CODE
LOW.trellis/scripts/common/config.py199def get_session_commit_message(repo_root: Path | None = None) -> str:CODE
LOW.trellis/scripts/common/task_store.py86def _find_archived_task_by_dir_name(tasks_dir: Path, dir_name: str) -> Path | None:CODE
LOW.trellis/scripts/common/packages_context.py157def get_context_packages_text(repo_root: Path | None = None) -> str:CODE
LOW.trellis/scripts/common/packages_context.py213def get_context_packages_json(repo_root: Path | None = None) -> dict:CODE
LOW.trellis/scripts/common/paths.py381def generate_task_date_prefix() -> str:CODE
LOW.trellis/scripts/common/workflow_phase.py144def resolve_effective_platform(platform: str, config: dict) -> str:CODE
LOW.trellis/scripts/common/cli_adapter.py562 def requires_agent_definition_file(self) -> bool:CODE
LOW.trellis/scripts/common/cli_adapter.py575 def supports_session_id_on_create(self) -> bool:CODE
LOW.trellis/scripts/common/cli_adapter.py584 def extract_session_id_from_log(self, log_content: str) -> str | None:CODE
LOW.trellis/scripts/hooks/linear_sync.py203def _resolve_parent_linear_issue(task: dict) -> str | None:CODE
LOW.kiro/hooks/session-start.py22def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.kiro/hooks/session-start.py235def _persist_context_key_for_bash(context_key: str | None) -> None:CODE
LOW.kiro/hooks/session-start.py569def _collect_spec_index_paths(trellis_dir: Path, allowed_pkgs: set | None) -> list[str]:CODE
LOW.kiro/hooks/session-start.py600def _build_compact_current_state(CODE
43 more matches not shown…
Unused Imports73 hits · 65 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py6CODE
LOW.cursor/hooks/inject-shell-session-context.py9CODE
LOW.cursor/hooks/inject-subagent-context.py23CODE
LOW.gemini/hooks/inject-workflow-state.py31CODE
LOW.gemini/hooks/session-start.py6CODE
LOW.claude/hooks/inject-workflow-state.py31CODE
LOW.claude/hooks/session-start.py6CODE
LOW.claude/hooks/inject-subagent-context.py23CODE
LOW.codex/hooks/inject-workflow-state.py31CODE
LOW.codex/hooks/session-start.py10CODE
LOW.github/copilot/hooks/inject-workflow-state.py31CODE
LOW.github/copilot/hooks/session-start.py18CODE
LOW.trellis/scripts/task.py24CODE
LOW.trellis/scripts/get_developer.py8CODE
LOW.trellis/scripts/get_context.py10CODE
LOW.trellis/scripts/init_developer.py13CODE
LOW.trellis/scripts/add_session.py22CODE
LOW.trellis/scripts/common/safe_commit.py33CODE
LOW.trellis/scripts/common/session_context.py14CODE
LOW.trellis/scripts/common/active_task.py9CODE
LOW.trellis/scripts/common/git.py7CODE
LOW.trellis/scripts/common/git_context.py13CODE
LOW.trellis/scripts/common/git_context.py18CODE
LOW.trellis/scripts/common/git_context.py18CODE
LOW.trellis/scripts/common/task_queue.py13CODE
LOW.trellis/scripts/common/tasks.py13CODE
LOW.trellis/scripts/common/config.py8CODE
LOW.trellis/scripts/common/task_store.py16CODE
LOW.trellis/scripts/common/packages_context.py12CODE
LOW.trellis/scripts/common/paths.py13CODE
LOW.trellis/scripts/common/log.py8CODE
LOW.trellis/scripts/common/io.py8CODE
LOW.trellis/scripts/common/workflow_phase.py21CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py58CODE
LOW.trellis/scripts/common/__init__.py86CODE
LOW.trellis/scripts/common/__init__.py86CODE
13 more matches not shown…
Deep Nesting40 hits · 36 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py420CODE
LOW.cursor/hooks/session-start.py600CODE
LOW.cursor/hooks/inject-subagent-context.py146CODE
LOW.cursor/hooks/inject-subagent-context.py190CODE
LOW.cursor/hooks/inject-subagent-context.py577CODE
LOW.gemini/hooks/inject-workflow-state.py257CODE
LOW.gemini/hooks/session-start.py420CODE
LOW.gemini/hooks/session-start.py600CODE
LOW.claude/hooks/inject-workflow-state.py257CODE
LOW.claude/hooks/session-start.py420CODE
LOW.claude/hooks/session-start.py600CODE
LOW.claude/hooks/inject-subagent-context.py146CODE
LOW.claude/hooks/inject-subagent-context.py190CODE
LOW.claude/hooks/inject-subagent-context.py577CODE
LOW.codex/hooks/inject-workflow-state.py257CODE
LOW.codex/hooks/session-start.py356CODE
LOW.github/copilot/hooks/inject-workflow-state.py257CODE
LOW.github/copilot/hooks/session-start.py361CODE
LOW.trellis/scripts/task.py70CODE
LOW.trellis/scripts/task.py268CODE
LOW.trellis/scripts/common/safe_commit.py61CODE
LOW.trellis/scripts/common/git_context.py46CODE
LOW.trellis/scripts/common/config.py89CODE
LOW.trellis/scripts/common/task_store.py196CODE
LOW.trellis/scripts/common/task_store.py376CODE
LOW.trellis/scripts/common/trellis_config.py55CODE
LOW.trellis/scripts/common/task_utils.py218CODE
LOW.trellis/scripts/common/cli_adapter.py688CODE
LOW.trellis/scripts/common/cli_adapter.py98CODE
LOW.trellis/scripts/common/cli_adapter.py234CODE
LOW.trellis/scripts/common/cli_adapter.py282CODE
LOW.trellis/scripts/common/cli_adapter.py321CODE
LOW.trellis/scripts/common/cli_adapter.py424CODE
LOW.trellis/scripts/common/cli_adapter.py518CODE
LOW.kiro/hooks/inject-workflow-state.py257CODE
LOW.kiro/hooks/session-start.py420CODE
LOW.kiro/hooks/session-start.py600CODE
LOW.kiro/hooks/inject-subagent-context.py146CODE
LOW.kiro/hooks/inject-subagent-context.py190CODE
LOW.kiro/hooks/inject-subagent-context.py577CODE
Over-Commented Block30 hits · 30 pts
SeverityFileLineSnippetContext
LOW.codex/config.toml1# Project-scoped Codex defaults for Trellis workflows.COMMENT
LOW.codex/config.toml21# block here. Codex CLI changed `features` deserialization between 0.130COMMENT
LOWsrc-tauri/src/core/paths.rs1//! app data 目录解析的单一入口。COMMENT
LOWsrc-tauri/src/mouse/mod.rs1//! 剪贴板窗口 `focusable=false` 让 Tauri 在 Windows 上收不到 `tauri://blur`,COMMENT
LOWsrc-tauri/src/menu/context_window.rs1//! Windows 自定义右键菜单窗(webview)。COMMENT
LOWsrc-tauri/src/menu/clipboard_item.rs1//! 列表项右键菜单(Rust 侧)。COMMENT
LOWsrc-tauri/src/db/models.rs61 pub is_pinned: bool,COMMENT
LOWsrc-tauri/src/db/models.rs81 #[sqlx(default)]COMMENT
LOWsrc-tauri/src/db/models.rs101 #[sqlx(skip)]COMMENT
LOWsrc-tauri/src/keystroke/mod.rs1//! 模拟系统级粘贴。COMMENT
LOWsrc-tauri/src/commands/drag.rs21 /// 文本类型。`plain` 总有;`html` / `rtf` 二选一或都无,由 sub_kind 决定(见 ingest):COMMENT
LOWsrc-tauri/src/backup/mod.rs61/// 经 ObjC `application:openURLs:` **同步**投递 `RunEvent::Opened`。此刻去建偏好窗口会COMMENT
LOWsrc-tauri/src/drag_out/macos.rs1//! macOS drag-out 实现(vendor 自 `drag` v2.1.1 的 macOS 路径,做两点改造):COMMENT
LOWsrc-tauri/src/drag_out/windows_ghost.rs1//! 让 OLE 拖拽在「我们自己的窗口里」也能显示半透明 ghost 预览图。COMMENT
LOWsrc-tauri/src/drag_out/mod.rs1//! OS 级 drag-out(把条目从列表拖到外部应用)。COMMENT
LOWsrc-tauri/src/drag_out/windows.rs1//! Windows drag-out 实现。COMMENT
LOWsrc-tauri/src/clipboard/write.rs1//! 剪贴板写回:把 [`ClipboardItem`] 按类型写回系统剪贴板(text / html / rtf / image / files)。COMMENT
LOWsrc-tauri/src/clipboard/icon.rs1//! 跨平台从「任意文件路径」抽取图标,落地为 PNG 字节。COMMENT
LOWsrc-tauri/src/clipboard/ingest.rs61 width: Option<i64>,COMMENT
LOWsrc-tauri/src/clipboard/source.rs1//! 「这次剪贴板变更来自哪个应用」的探测:在剪贴板事件回调里调用,COMMENT
LOWsrc-tauri/src/clipboard/storage.rs1//! 图片落盘:按内容哈希分片存储原图与缩略图。COMMENT
LOWsrc-tauri/src/clipboard/guard.rs1//! 写回回环抑制。COMMENT
LOWsrc-tauri/src/clipboard/payload.rs1//! 一次剪贴板读取的「带类型标记」结果。COMMENT
LOW.trellis/config.yaml1# Trellis ConfigurationCOMMENT
LOW.trellis/config.yaml21# Auto-commit behavior for session journal + task archive operations.COMMENT
LOW.trellis/config.yaml41# Hook failures print a warning but do not block the main operation.COMMENT
LOW.trellis/config.yaml61# packages:COMMENT
LOW.trellis/config.yaml81#-------------------------------------------------------------------------------COMMENT
LOW.trellis/config.yaml101#-------------------------------------------------------------------------------COMMENT
LOWsrc/vite-env.d.ts1/// <reference types="vite/client" />COMMENT
Verbosity Indicators14 hits · 28 pts
SeverityFileLineSnippetContext
LOW.gemini/commands/trellis/continue.toml10## Step 1: Load Current ContextCOMMENT
LOW.gemini/commands/trellis/continue.toml18## Step 2: Load the Phase IndexCOMMENT
LOW.gemini/commands/trellis/continue.toml26## Step 3: Decide Where You AreCOMMENT
LOW.gemini/commands/trellis/continue.toml45## Step 4: Load the Specific StepCOMMENT
LOW.gemini/commands/trellis/finish-work.toml8## Step 1: Survey current stateCOMMENT
LOW.gemini/commands/trellis/finish-work.toml22## Step 2: Sanity check — classify dirty pathsCOMMENT
LOW.gemini/commands/trellis/finish-work.toml48## Step 3: Archive task(s)COMMENT
LOW.gemini/commands/trellis/finish-work.toml58## Step 4: Record session journalCOMMENT
LOW.codex/agents/trellis-check.toml10### Step 1: Find the active task pathCOMMENT
LOW.codex/agents/trellis-check.toml18### Step 2: Load task context from the resolved pathCOMMENT
LOW.codex/agents/trellis-implement.toml10### Step 1: Find the active task pathCOMMENT
LOW.codex/agents/trellis-implement.toml18### Step 2: Load task context from the resolved pathCOMMENT
LOW.kiro/agents/trellis-check.json12 "prompt": "# Check Agent\n\nYou are the Check Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already CODE
LOW.kiro/agents/trellis-research.json20 "prompt": "# Research Agent\n\nYou are the Research Agent in the Trellis workflow.\n\n## Core Principle\n\n**You do onCODE
AI Slop Vocabulary6 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUM.gemini/hooks/inject-workflow-state.py74# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py74# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py74# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
MEDIUM.github/copilot/hooks/inject-workflow-state.py74# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
MEDIUM.kiro/agents/trellis-research.json20 "prompt": "# Research Agent\n\nYou are the Research Agent in the Trellis workflow.\n\n## Core Principle\n\n**You do onCODE
MEDIUM.kiro/hooks/inject-workflow-state.py74# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/inject-subagent-context.py715 # Check if task directory existsCOMMENT
LOW.claude/hooks/inject-subagent-context.py715 # Check if task directory existsCOMMENT
LOW.trellis/scripts/init_developer.py36 # Check if already initializedCOMMENT
LOW.trellis/scripts/add_session.py377 # Check if there are staged changes for the paths we just staged.COMMENT
LOW.trellis/scripts/common/task_store.py582 # Check if child already has a parentCOMMENT
LOW.trellis/scripts/common/task_context.py62 # Check if already existsCOMMENT
LOW.kiro/hooks/inject-subagent-context.py715 # Check if task directory existsCOMMENT
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH.trellis/scripts/common/task_queue.py121List tasks assigned to current developer. Args: filter_status: Optional status filter. repo_root: RSTRING
HIGH.trellis/scripts/common/cli_adapter.py610Get CLI adapter for the specified platform. Args: platform: Platform name ('claude', 'opencode', 'cursor', STRING
Fake / Example Data9 hits · 9 pts
SeverityFileLineSnippetContext
LOWsrc-tauri/src/clipboard/detect.rs166 detect_text_sub_kind("user@example.com"),CODE
LOWsrc/locales/zh-CN/clipboard.json63 "placeholder": "为这条记录添加备注...",CODE
LOWsrc/locales/zh-CN/preferences.json532 "placeholder": "Alt+C",CODE
LOWsrc/locales/zh-CN/preferences.json537 "placeholder": "Alt+X",CODE
LOWsrc/locales/zh-CN/preferences.json663 "placeholder": "搜索配置项"CODE
LOWsrc/locales/en-US/clipboard.json63 "placeholder": "Add a note for this item...",CODE
LOWsrc/locales/en-US/preferences.json532 "placeholder": "Alt+C",CODE
LOWsrc/locales/en-US/preferences.json537 "placeholder": "Alt+X",CODE
LOWsrc/locales/en-US/preferences.json663 "placeholder": "Search settings"CODE
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.kiro/agents/trellis-check.json12 "prompt": "# Check Agent\n\nYou are the Check Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already CODE
AI Structural Patterns1 hit · 0 pts
SeverityFileLineSnippetContext
LOW.trellis/scripts/common/task_store.py68CODE