Repository Analysis

mindfold-ai/Trellis

The best agent harness.

10.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of mindfold-ai/Trellis, a TypeScript project with 14,295 GitHub stars. SynthScan v2.0 examined 429,261 lines of code across 1991 source files, recording 2034 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 10.6 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).

10.6
Adjusted Score
10.6
Raw Score
100%
Time Factor
2026-08-27
Last Push
14.3K
Stars
TypeScript
Language
429.3K
Lines of Code
2.0K
Files
2.0K
Pattern Hits
2026-08-29
Scan Date
0.14
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 271MEDIUM 528LOW 1235

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 2034 distinct pattern matches across 18 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 Separators430 hits · 1353 pts
SeverityFileLineSnippetContext
MEDIUM.cursor/hooks/inject-subagent-context.py53# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py55# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py61# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py63# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py169# =============================================================================COMMENT
MEDIUM.cursor/hooks/inject-subagent-context.py175# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md50# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md52# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md77# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md79# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py79# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py81# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py97# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py99# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py198# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py200# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py383# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-workflow-state.py385# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py53# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py55# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py61# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py63# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py169# =============================================================================COMMENT
MEDIUM.claude/hooks/inject-subagent-context.py175# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md50# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md52# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md77# =============================================================================COMMENT
MEDIUM…trellis-meta/references/claude-code/worktree-config.md79# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py79# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py81# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py97# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py99# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py198# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py200# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py383# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py385# ---------------------------------------------------------------------------COMMENT
MEDIUM.codex/hooks/inject-subagent-context.py53# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-subagent-context.py55# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-subagent-context.py61# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-subagent-context.py63# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-subagent-context.py169# =============================================================================COMMENT
MEDIUM.codex/hooks/inject-subagent-context.py175# =============================================================================COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt6#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt8#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt14#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt16#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt27#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt29#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt42#-------------------------------------------------------------------------------COMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt44#-------------------------------------------------------------------------------COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt14// ── Types ──────────────────────────────────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt56// ── Lazy-load pi-tui (avoid failing top-level imports) ─────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt82// ── Constants ─────────────────────────────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt110// ── State types ───────────────────────────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt159// ── Native partial-update card state ──────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt406// ── Utilities ─────────────────────────────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt620// ── Pi CLI path resolution ────────────────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt712// ── BoundedBufferCollector ─────────────────────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt748// ── Context Injection Limits (issue #441) ───────────────────────────────COMMENT
MEDIUM…s/cli/src/templates/pi/extensions/trellis/index.ts.txt748// ── Context Injection Limits (issue #441) ───────────────────────────────COMMENT
370 more matches not shown…
Cross-File Repetition248 hits · 1240 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.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…kages/cli/src/templates/copilot/hooks/session-start.py0normalize unix-style shell paths to real windows paths. on windows, shells like git bash / msys2 / cygwin may report patSTRING
HIGHpackages/cli/src/templates/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…ckages/cli/src/templates/shared-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> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH.claude/hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH…ckages/cli/src/templates/shared-hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH.cursor/hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH.claude/hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH…ckages/cli/src/templates/shared-hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH.codex/hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGHpackages/cli/src/templates/codex/hooks/session-start.py0<first-reply-notice> on the first visible assistant reply in this session, briefly acknowledge that trellis sessionstartSTRING
HIGH.cursor/hooks/session-start.py0first-reply notice, carrying the trellis update reminder when there is one. the reminder has to reach the *user*, not juSTRING
HIGH.claude/hooks/session-start.py0first-reply notice, carrying the trellis update reminder when there is one. the reminder has to reach the *user*, not juSTRING
HIGH…ckages/cli/src/templates/shared-hooks/session-start.py0first-reply notice, carrying the trellis update reminder when there is one. the reminder has to reach the *user*, not juSTRING
HIGH.cursor/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a newly created jsonl is empty, and older tasks may stSTRING
HIGH.claude/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a newly created jsonl is empty, and older tasks may stSTRING
HIGH…ckages/cli/src/templates/shared-hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a newly created jsonl is empty, and older tasks may stSTRING
HIGH.codex/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a newly created jsonl is empty, and older tasks may stSTRING
HIGH…kages/cli/src/templates/copilot/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a newly created jsonl is empty, and older tasks may stSTRING
HIGHpackages/cli/src/templates/codex/hooks/session-start.py0return true iff jsonl has at least one row with a ``file`` field. a newly created jsonl is empty, and older tasks may stSTRING
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.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…ckages/cli/src/templates/shared-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.claude/hooks/session-start.py0expose trellis session identity to later claude code bash commands. claude code sessionstart hooks can append exports toSTRING
HIGH…ckages/cli/src/templates/shared-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 the last `export trellis_context_id=` line in env_file, if any. a missing file means "no previous export" (the caSTRING
HIGH.claude/hooks/session-start.py0return the last `export trellis_context_id=` line in env_file, if any. a missing file means "no previous export" (the caSTRING
HIGH…ckages/cli/src/templates/shared-hooks/session-start.py0return the last `export trellis_context_id=` line in env_file, if any. a missing file means "no previous export" (the caSTRING
HIGH.cursor/hooks/session-start.py0ask common.session_context whether a trellis update is available. throttling lives there: the first sessionstart of a seSTRING
HIGH.claude/hooks/session-start.py0ask common.session_context whether a trellis update is available. throttling lives there: the first sessionstart of a seSTRING
HIGH…ckages/cli/src/templates/shared-hooks/session-start.py0ask common.session_context whether a trellis update is available. throttling lives there: the first sessionstart of a seSTRING
HIGH.cursor/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…ckages/cli/src/templates/shared-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.claude/hooks/session-start.py0load trellis config for session-start decisions. returns: (is_mono, packages_dict, spec_scope, task_pkg, default_pkg)STRING
HIGH…ckages/cli/src/templates/shared-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.claude/hooks/session-start.py0check for legacy spec directory structure in monorepo. returns warning message if legacy structure detected, none otherwSTRING
HIGH…ckages/cli/src/templates/shared-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.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…ckages/cli/src/templates/shared-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.claude/hooks/session-start.py0extract lines starting at `## start_header` up to (but excluding) `## end_header`. both parameters are full header linesSTRING
HIGH…ckages/cli/src/templates/shared-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.claude/hooks/session-start.py0remove `[workflow-state:status]...[/workflow-state:status]` blocks. the tag blocks live inside `## phase index` (since vSTRING
HIGH…ckages/cli/src/templates/shared-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.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…kages/cli/src/templates/copilot/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGHpackages/cli/src/templates/codex/hooks/session-start.py0inject only the compact phase index summary for sessionstart.STRING
HIGH…ckages/cli/src/templates/shared-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
188 more matches not shown…
Structural Annotation Overuse560 hits · 997 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-publish-skill.md11### Step 1: Identify the SkillCOMMENT
LOW.cursor/commands/trellis-publish-skill.md29### Step 2: Check Existing DocsCOMMENT
LOW.cursor/commands/trellis-publish-skill.md39### Step 3: Create EN Detail PageCOMMENT
LOW.cursor/commands/trellis-publish-skill.md86### Step 4: Create ZH Detail PageCOMMENT
LOW.cursor/commands/trellis-publish-skill.md90### Step 5: Update Index PagesCOMMENT
LOW.cursor/commands/trellis-publish-skill.md96### Step 6: Update docs.jsonCOMMENT
LOW.cursor/commands/trellis-publish-skill.md103### Step 7: Commit and Push DocsCOMMENT
LOW.cursor/commands/trellis-publish-skill.md113### Step 8: Ensure Skill on Main BranchCOMMENT
LOW.cursor/commands/trellis-publish-skill.md136### Step 9: ConfirmCOMMENT
LOW.cursor/commands/trellis-create-manifest.md11### Step 1: Identify Last ReleaseCOMMENT
LOW.cursor/commands/trellis-create-manifest.md20### Step 2: Gather ChangesCOMMENT
LOW.cursor/commands/trellis-create-manifest.md30### Step 3: Analyze Each CommitCOMMENT
LOW.cursor/commands/trellis-create-manifest.md37### Step 4: Draft ChangelogCOMMENT
LOW.cursor/commands/trellis-create-manifest.md49### Step 5: Determine Manifest FieldsCOMMENT
LOW.cursor/commands/trellis-create-manifest.md58### Step 6: Create ManifestCOMMENT
LOW.cursor/commands/trellis-create-manifest.md70### Step 7: Review and ConfirmCOMMENT
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.md88### Step 1: Restate the ProblemCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md95### Step 2: List Fundamental TruthsCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md106### Step 3: Challenge AssumptionsCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md115### Step 4: Build Up from TruthsCOMMENT
LOW.cursor/skills/trellis-brainstorm/SKILL.md121### 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.md73## Step 5: Cross-Layer Dimensions (if applicable)COMMENT
LOW.cursor/skills/trellis-check/SKILL.md104## 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.opencode/agents/trellis-check.md60### Step 1: Get ChangesCOMMENT
LOW.opencode/agents/trellis-check.md67### Step 2: Check Against Specs and Task ArtifactsCOMMENT
LOW.opencode/agents/trellis-check.md79### Step 3: Self-FixCOMMENT
LOW.opencode/agents/trellis-check.md87### Step 4: Run VerificationCOMMENT
LOW.opencode/agents/trellis-research.md38### Step 1: Resolve Current TaskCOMMENT
LOW.opencode/agents/trellis-research.md48### Step 2: Understand Search RequestCOMMENT
500 more matches not shown…
Hyper-Verbose Identifiers260 hits · 258 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py22def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.cursor/hooks/session-start.py85def _build_first_reply_notice(update_hint: str | None) -> str:CODE
LOW.cursor/hooks/session-start.py278def _persist_context_key_for_bash(context_key: str | None) -> None:CODE
LOW.cursor/hooks/session-start.py666def _collect_spec_index_paths(trellis_dir: Path, allowed_pkgs: set | None) -> list[str]:CODE
LOW.cursor/hooks/session-start.py697def _build_compact_current_state(CODE
LOW.cursor/hooks/session-start.py788def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.cursor/hooks/inject-shell-session-context.py157def _load_active_task_resolver(root: Path):CODE
LOW.cursor/hooks/inject-shell-session-context.py166def _extract_task_subcommands(command: str) -> list[dict[str, str]]:CODE
LOW.cursor/hooks/inject-subagent-context.py461def _materialize_jsonl_entries(CODE
LOW.cursor/hooks/inject-subagent-context.py892def build_codex_subagent_context(CODE
LOW.cursor/hooks/inject-subagent-context.py913def _handle_codex_subagent_start(input_data: dict) -> None:CODE
LOW.opencode/plugins/inject-subagent-context.js379function buildTrellisContextPrefix(contextKey, hostPlatform = process.platform, env = process.env) {CODE
LOW.opencode/plugins/inject-subagent-context.js394function commandStartsWithTrellisContext(command) {CODE
LOW.opencode/plugins/inject-subagent-context.js410function injectTrellisContextIntoBash(ctx, input, output, hostPlatform, env) {CODE
LOW.opencode/lib/session-utils.js493export function hasInjectedTrellisContext(messages) {CODE
LOW.opencode/lib/session-utils.js507export async function hasPersistedInjectedContext(client, directory, sessionID) {CODE
LOW.opencode/lib/context-visibility.js95export function findLatestUserMessageIndex(messages) {CODE
LOW.opencode/lib/context-visibility.js103export function platformInputFromMessages(messages) {CODE
LOW.opencode/lib/context-visibility.js121export function transcriptHasAssistantMessage(messages) {CODE
LOW.opencode/lib/trellis-context.js151function readContextInjectionLimits(repoRoot) {CODE
LOW.claude/hooks/inject-workflow-state.py286def _resolve_codex_dispatch_mode(config: dict) -> str:CODE
LOW.claude/hooks/session-start.py22def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.claude/hooks/session-start.py85def _build_first_reply_notice(update_hint: str | None) -> str:CODE
LOW.claude/hooks/session-start.py278def _persist_context_key_for_bash(context_key: str | None) -> None:CODE
LOW.claude/hooks/session-start.py666def _collect_spec_index_paths(trellis_dir: Path, allowed_pkgs: set | None) -> list[str]:CODE
LOW.claude/hooks/session-start.py697def _build_compact_current_state(CODE
LOW.claude/hooks/session-start.py788def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.claude/hooks/inject-subagent-context.py461def _materialize_jsonl_entries(CODE
LOW.claude/hooks/inject-subagent-context.py892def build_codex_subagent_context(CODE
LOW.claude/hooks/inject-subagent-context.py913def _handle_codex_subagent_start(input_data: dict) -> None:CODE
LOW.codex/hooks/inject-workflow-state.py286def _resolve_codex_dispatch_mode(config: dict) -> str:CODE
LOW.codex/hooks/session-start.py44def _normalize_windows_shell_path(path_str: str) -> str:CODE
LOW.codex/hooks/session-start.py114def configure_project_encoding(project_dir: Path) -> None:CODE
LOW.codex/hooks/session-start.py336def _collect_spec_index_paths(trellis_dir: Path) -> list[str]:CODE
LOW.codex/hooks/session-start.py363def _build_compact_current_state(CODE
LOW.codex/hooks/session-start.py449def _strip_breadcrumb_tag_blocks(content: str) -> str:CODE
LOW.codex/hooks/inject-subagent-context.py461def _materialize_jsonl_entries(CODE
LOW.codex/hooks/inject-subagent-context.py892def build_codex_subagent_context(CODE
LOW.codex/hooks/inject-subagent-context.py913def _handle_codex_subagent_start(input_data: dict) -> None:CODE
LOW.omp/extensions/trellis/index.ts391function readContextInjectionLimits(projectRoot: string): ContextInjectionLimits {CODE
LOW.omp/extensions/trellis/index.ts741function readPromptInjectionSkipKeyword(projectRoot: string): string {CODE
LOWpackages/core/src/channel/internal/store/paths.ts208export function listChannelNamesInProject(project: string): string[] {CODE
LOWpackages/core/src/channel/internal/store/paths.ts235export function resolveChannelProjectForCreate(CODE
LOWpackages/core/src/channel/internal/store/paths.ts254export function resolveExistingChannelRef(CODE
LOWpackages/core/src/channel/internal/store/paths.ts329export function selectExistingChannelProject(name: string): string {CODE
LOWpackages/core/src/mem/sessions.ts208function searchSessionWithChildren(CODE
LOWpackages/core/src/mem/internal/sqlite-readonly.ts673function decodeTextDecoderEncoding(CODE
LOWpackages/core/src/mem/adapters/opencode.ts334export function prepareOpencodeSessionStore(CODE
LOWpackages/core/src/mem/adapters/opencode.ts356export function releaseOpencodeSessionStore(): void {CODE
LOWpackages/core/src/mem/adapters/opencode.ts410function compactionMarkerSummaryId(CODE
LOWpackages/core/src/mem/adapters/grok.ts199export function collectGrokTurnsAndEvents(CODE
LOWpackages/core/src/mem/adapters/claude.ts212export function collectClaudeTurnsAndEvents(s: MemSessionInfo): {CODE
LOWpackages/core/src/mem/adapters/codex.ts94export function commandFromCodexArguments(argsRaw: unknown): string | undefined {CODE
LOWpackages/core/src/mem/adapters/codex.ts342export function collectCodexTurnsAndEvents(CODE
LOWpackages/core/src/mem/adapters/zcode.ts353function compactionMarkerSummaryId(CODE
LOWpackages/core/src/mem/adapters/zcode.ts555export function collectZcodeTurnsAndEvents(CODE
LOWpackages/cli/test/regression.test.ts2254 function runContextWithTrellisOutput(CODE
LOWpackages/cli/test/regression.test.ts2798 function runPythonWithLegacyStdinLocale(CODE
LOWpackages/cli/test/regression.test.ts4311 function statuslineRateLimitPayload(): string {CODE
LOWpackages/cli/test/regression.test.ts4447 function writeClaudeSessionStartHook(): void {CODE
200 more matches not shown…
Excessive Try-Catch Wrapping169 hits · 220 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py119 except Exception:CODE
LOW.cursor/hooks/session-start.py124 except Exception:CODE
LOW.cursor/hooks/session-start.py348 except Exception:CODE
LOW.cursor/hooks/session-start.py557 except Exception:CODE
LOW.cursor/hooks/session-start.py708 except Exception:CODE
LOW.cursor/hooks/session-start.py741 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py154 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py197 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py282 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py389 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py447 except Exception:CODE
LOW.cursor/hooks/inject-subagent-context.py1106 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py61 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py66 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py246 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py250 except Exception:CODE
LOW.claude/hooks/inject-workflow-state.py401 except Exception as exc:CODE
MEDIUM.claude/hooks/inject-workflow-state.py398def _read() -> None:CODE
LOW.claude/hooks/session-start.py119 except Exception:CODE
LOW.claude/hooks/session-start.py124 except Exception:CODE
LOW.claude/hooks/session-start.py348 except Exception:CODE
LOW.claude/hooks/session-start.py557 except Exception:CODE
LOW.claude/hooks/session-start.py708 except Exception:CODE
LOW.claude/hooks/session-start.py741 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py154 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py197 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py282 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py389 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py447 except Exception:CODE
LOW.claude/hooks/inject-subagent-context.py1106 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py61 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py66 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py246 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py250 except Exception:CODE
LOW.codex/hooks/inject-workflow-state.py401 except Exception as exc:CODE
MEDIUM.codex/hooks/inject-workflow-state.py398def _read() -> None:CODE
LOW.codex/hooks/session-start.py35 except Exception:CODE
LOW.codex/hooks/session-start.py40 except Exception:CODE
LOW.codex/hooks/session-start.py124 except Exception:CODE
LOW.codex/hooks/session-start.py165 except Exception:CODE
LOW.codex/hooks/session-start.py374 except Exception:CODE
LOW.codex/hooks/session-start.py407 except Exception:CODE
LOW.codex/hooks/inject-subagent-context.py154 except Exception:CODE
LOW.codex/hooks/inject-subagent-context.py197 except Exception:CODE
LOW.codex/hooks/inject-subagent-context.py282 except Exception:CODE
LOW.codex/hooks/inject-subagent-context.py389 except Exception:CODE
LOW.codex/hooks/inject-subagent-context.py447 except Exception:CODE
LOW.codex/hooks/inject-subagent-context.py1106 except Exception:CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py36 except Exception:CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py41 except Exception:CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py123 except Exception:CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py164 except Exception:CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py373 except Exception:CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py406 except Exception:CODE
LOWpackages/cli/src/templates/claude/hooks/statusline.py110 except Exception:CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py35 except Exception:CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py40 except Exception:CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py124 except Exception:CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py165 except Exception:CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py374 except Exception:CODE
109 more matches not shown…
Unused Imports137 hits · 118 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py6CODE
LOW.cursor/hooks/inject-shell-session-context.py15CODE
LOW.cursor/hooks/inject-subagent-context.py23CODE
LOW.claude/hooks/inject-workflow-state.py37CODE
LOW.claude/hooks/session-start.py6CODE
LOW.claude/hooks/inject-subagent-context.py23CODE
LOW.codex/hooks/inject-workflow-state.py37CODE
LOW.codex/hooks/session-start.py10CODE
LOW.codex/hooks/inject-subagent-context.py23CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py18CODE
LOWpackages/cli/src/templates/claude/hooks/statusline.py14CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py10CODE
LOW…li/src/templates/shared-hooks/inject-workflow-state.py37CODE
LOW…ckages/cli/src/templates/shared-hooks/session-start.py6CODE
LOW…templates/shared-hooks/inject-shell-session-context.py15CODE
LOW…/src/templates/shared-hooks/inject-subagent-context.py23CODE
LOW…/cli/src/templates/snow/hooks/write-trellis-context.py21CODE
LOWpackages/cli/src/templates/trellis/scripts/task.py26CODE
LOW…ges/cli/src/templates/trellis/scripts/get_developer.py8CODE
LOW…kages/cli/src/templates/trellis/scripts/get_context.py10CODE
LOW…es/cli/src/templates/trellis/scripts/init_developer.py13CODE
LOW…kages/cli/src/templates/trellis/scripts/add_session.py46CODE
LOW…li/src/templates/trellis/scripts/common/safe_commit.py33CODE
LOW…rc/templates/trellis/scripts/common/session_context.py15CODE
LOW…li/src/templates/trellis/scripts/common/active_task.py9CODE
LOW…ckages/cli/src/templates/trellis/scripts/common/git.py7CODE
LOW…li/src/templates/trellis/scripts/common/git_context.py13CODE
LOW…li/src/templates/trellis/scripts/common/git_context.py18CODE
LOW…li/src/templates/trellis/scripts/common/git_context.py18CODE
LOW…cli/src/templates/trellis/scripts/common/task_queue.py13CODE
LOW…ages/cli/src/templates/trellis/scripts/common/tasks.py13CODE
LOW…ges/cli/src/templates/trellis/scripts/common/config.py8CODE
LOW…cli/src/templates/trellis/scripts/common/task_store.py18CODE
LOW…c/templates/trellis/scripts/common/packages_context.py12CODE
LOW…ages/cli/src/templates/trellis/scripts/common/paths.py13CODE
LOW…ckages/cli/src/templates/trellis/scripts/common/log.py8CODE
LOWpackages/cli/src/templates/trellis/scripts/common/io.py9CODE
LOW…src/templates/trellis/scripts/common/workflow_phase.py21CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
LOW…s/cli/src/templates/trellis/scripts/common/__init__.py58CODE
77 more matches not shown…
Cross-Language Confusion (JS/TS)19 hits · 98 pts
SeverityFileLineSnippetContext
HIGHpackages/cli/test/regression.test.ts6270 // return None, and the hook path failed instead of degrading.COMMENT
HIGHpackages/cli/test/regression.test.ts1633print(json.dumps({CODE
HIGHpackages/cli/test/regression.test.ts1722print(json.dumps({CODE
HIGHpackages/cli/test/regression.test.ts1746print(json.dumps({CODE
HIGHpackages/cli/test/regression.test.ts1768print(json.dumps({"result": result}))CODE
HIGHpackages/cli/test/regression.test.ts1779print(json.dumps({CODE
HIGHpackages/cli/test/regression.test.ts3656print(json.dumps({CODE
HIGHpackages/cli/test/regression.test.ts3695print(json.dumps({CODE
HIGHpackages/cli/test/regression.test.ts6954print(len(entries))CODE
HIGHpackages/cli/test/regression.test.ts11528print(json.dumps({CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts233print(get_context_injection_limits(Path(${JSON.stringify(tmp)}))["max_file_bytes"])CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts261print(get_context_injection_limits(Path(${JSON.stringify(tmp)}))["max_artifact_bytes"])CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts291print(mod.truncate_utf8(data, len(data)) == data)CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts292print(mod.truncate_utf8(data, len(data) + 5) == data)CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts303print(mod.truncate_utf8(data, 9) == b"abcdefghi")CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts319print("all-valid")CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts320print(mod.truncate_utf8(data, 4).decode("utf-8"))CODE
HIGH…t/scripts/context-injection-limits.integration.test.ts336print("all-valid")CODE
HIGH…/cli/test/templates/snow-write-trellis-context.test.ts374print(json.dumps({"bytes": len(out.encode("utf-8")), "has_marker": "truncated" in out}))CODE
Modern AI Meta-Vocabulary34 hits · 84 pts
SeverityFileLineSnippetContext
MEDIUM…kills/ts-sdk-author/references/workspace-and-layout.md550# Step 1 — Create the monorepo scaffoldCOMMENT
MEDIUMpackages/cli/src/configurators/gemini.ts28 * BeforeTool can fire but #18128 limits chain-of-thought visibility; sub-agentsCOMMENT
MEDIUMpackages/cli/src/templates/markdown/worktree.yaml.txt2# Used for worktree initialization in multi-agent workflowsCOMMENT
MEDIUM…cli/src/templates/trellis/scripts/common/task_store.py546 # planning — a placeholder row would read as unresolved scaffolding toCOMMENT
MEDIUM…5/05-15-workflow-marketplace-feature-flag/implement.md20## 0. Research and guardrailsCOMMENT
MEDIUM…hook-reliability-audit/research/platform-hook-audit.md70 - [Issue #18128](https://github.com/google-gemini/gemini-cli/issues/18128) (OPEN, 2026-02-02) — *"the transcript is neCODE
MEDIUM…hook-reliability-audit/research/platform-hook-audit.md73 - #18128 未修:BeforeTool hook 在 sub-agent 场景下收不到主 agent 的 chain-of-thought/content(可以改 input,但判断依据受限)CODE
MEDIUM…30-workflow-state-commit-gap/research/hook-topology.md76| **Gemini** | `gemini.ts:29` | `.gemini/hooks/` | `.gemini/settings.json` | session-start.py | inject-workflow-state.pyCODE
MEDIUM…/tasks/archive/2026-03/03-07-learn-openspec-prd/prd.md129- [SDD 工具对比:GSD vs Spec Kit vs OpenSpec vs Taskmaster AI](https://medium.com/@richardhightower/agentic-coding-gsd-vs-speCODE
MEDIUM…/tasks/archive/2026-03/03-12-codex-review-fixes/prd.md132| **P1 应修** | CR#11 | 真问题 | submodule status 解析 bug,影响 multi-agent pipeline |CODE
MEDIUM…-plugin-system-design/research/claude-code-hook-api.md17来自 [Hooks reference · Hook lifecycle](https://docs.anthropic.com/en/docs/claude-code/hooks#hook-lifecycle)。Cadence 分三类:*CODE
MEDIUM…-plugin-system-design/research/claude-code-hook-api.md17来自 [Hooks reference · Hook lifecycle](https://docs.anthropic.com/en/docs/claude-code/hooks#hook-lifecycle)。Cadence 分三类:*CODE
MEDIUM…04-20-plugin-system-design/research/cursor-trace-ux.md83 — [digitalapplied.com · Cursor Automations guide](https://www.digitalapplied.com/blog/cursor-automations-always-on-ageCODE
MEDIUM…unding-benchmark-toy-phase/research/opencode-driver.md122steps: 200 # cap agentic iterations; tune after first dry runsCODE
MEDIUM…release-v0-6-0-ga/research/PRESHIP-VERIFY-changelog.md30| Tip anchor link | `#multi-agent-collaboration` → `## Multi-agent collaboration` | `#多-aCODE
MEDIUM…release-v0-6-0-ga/research/PRESHIP-VERIFY-changelog.md651. `docs-site/changelog/v0.6.0.mdx:174–183` — Bundled skills section listed only 2 of 4 skills (spec-bootstrap, session-CODE
MEDIUM…5-release-v0-6-0-ga/research/0.6.0-manifest-draft.json1{"version": "0.6.0", "description": "v0.6.0 stable — multi-agent channel runtime, `trellis mem`, `@mindfoldhq/trellis-coCODE
MEDIUM…e/2026-06/06-15-release-v0-6-0-ga/research/CRITIQUE.md31### A4. SHOULD-FIX — `multi-agent-channel.md` defers all command syntax to "the bundled `trellis-channel` skill" withoutCOMMENT
MEDIUM…e/2026-06/06-15-release-v0-6-0-ga/research/CRITIQUE.md107Mintlify generates anchors from heading text via a deterministic slugifier that handles CJK inconsistently. ZH H2 is `##CODE
MEDIUM…elease-v0-6-0-ga/research/v0.6.0-changelog-en-draft.md9**Multi-agent collaboration is now a first-class primitive.** `trellis channel` ships a worker-supervisor runtime with CCODE
MEDIUM…06/06-15-release-v0-6-0-ga/research/CRITIQUE-VERIFY.md31### A4 — SHOULD-FIX — `multi-agent-channel.md` missing platform sub-agent vs channel-runtime distinctionCOMMENT
MEDIUM.trellis/tasks/archive/2026-01/01-30-bash2py/prd.md22├── multi-agent/ # Shell multi-agent scriptsCODE
MEDIUM.trellis/tasks/archive/2026-01/01-30-bash2py/prd.md40├── multi_agent/ # Python multi-agent scriptsCODE
MEDIUM…2026-01/01-19-readme-redesign-taosu/version3/README.md70### Complex task: /parallel(这个 Case 可以深度考虑, 最好的效果是它用 TMUX 多开了好几个 session 同时做这事,举个例子让他做一个 open cowork,一个是 research 了解 cowCOMMENT
MEDIUM…01-19-readme-redesign-taosu/competitors/superpowers.md8**Superpowers** 是由 Jesse Vincent ([@obra](https://github.com/obra)) 开发的 Claude Code 插件,目前在 GitHub 上有 **29.5k+ stars**。它是CODE
MEDIUM.trellis/tasks/08-06-mem-full-recall/implement.md24## 3. Codex adapter — multi-agent turnsCOMMENT
MEDIUM.trellis/tasks/08-06-mem-full-recall/prd.md83## Problem 2 — multi-agent sessions lose the entire user sideCOMMENT
MEDIUM.trellis/tasks/06-17-benchmark-showcase/implement.md15## Phase 1 — Harness scaffoldingCOMMENT
MEDIUM.trellis/workspace/taosu/journal-5.md753## Session 158: Trellis Channel Runtime — multi-agent collaboration layerCOMMENT
MEDIUM.trellis/workspace/taosu/journal-5.md1442- Rewrite Discussion #474: remove the `compact_boundary` recommendation (undocumented internal format), replace with eveCODE
MEDIUM.trellis/workspace/taosu/journal-2.md1863## Session 67: Fix nested Claude Code session error in multi-agent pipelineCOMMENT
MEDIUM.trellis/spec/cli/backend/directory-structure.md33 │ │ └── channel/ # Channel command renderers and CLI orchestrationCODE
MEDIUM.trellis/spec/cli/backend/platform-integration.md1202| Gemini CLI | `BeforeTool` fires but [#18128](https://github.com/google-gemini/gemini-cli/issues/18128) hides chain-of-CODE
MEDIUM.trellis/scripts/common/task_store.py546 # planning — a placeholder row would read as unresolved scaffolding toCOMMENT
Deep Nesting65 hits · 53 pts
SeverityFileLineSnippetContext
LOW.cursor/hooks/session-start.py309CODE
LOW.cursor/hooks/session-start.py517CODE
LOW.cursor/hooks/session-start.py697CODE
LOW.cursor/hooks/inject-subagent-context.py201CODE
LOW.cursor/hooks/inject-subagent-context.py395CODE
LOW.cursor/hooks/inject-subagent-context.py974CODE
LOW.claude/hooks/inject-workflow-state.py286CODE
LOW.claude/hooks/session-start.py309CODE
LOW.claude/hooks/session-start.py517CODE
LOW.claude/hooks/session-start.py697CODE
LOW.claude/hooks/inject-subagent-context.py201CODE
LOW.claude/hooks/inject-subagent-context.py395CODE
LOW.claude/hooks/inject-subagent-context.py974CODE
LOW.codex/hooks/inject-workflow-state.py286CODE
LOW.codex/hooks/session-start.py363CODE
LOW.codex/hooks/inject-subagent-context.py201CODE
LOW.codex/hooks/inject-subagent-context.py395CODE
LOW.codex/hooks/inject-subagent-context.py974CODE
LOW…kages/cli/src/templates/copilot/hooks/session-start.py362CODE
LOWpackages/cli/src/templates/codex/hooks/session-start.py363CODE
LOW…li/src/templates/shared-hooks/inject-workflow-state.py286CODE
LOW…ckages/cli/src/templates/shared-hooks/session-start.py309CODE
LOW…ckages/cli/src/templates/shared-hooks/session-start.py517CODE
LOW…ckages/cli/src/templates/shared-hooks/session-start.py697CODE
LOW…/src/templates/shared-hooks/inject-subagent-context.py201CODE
LOW…/src/templates/shared-hooks/inject-subagent-context.py395CODE
LOW…/src/templates/shared-hooks/inject-subagent-context.py974CODE
LOW…/cli/src/templates/snow/hooks/write-trellis-context.py102CODE
LOW…/cli/src/templates/snow/hooks/write-trellis-context.py116CODE
LOWpackages/cli/src/templates/trellis/scripts/task.py491CODE
LOW…kages/cli/src/templates/trellis/scripts/add_session.py681CODE
LOW…li/src/templates/trellis/scripts/common/safe_commit.py61CODE
LOW…ckages/cli/src/templates/trellis/scripts/common/git.py100CODE
LOW…li/src/templates/trellis/scripts/common/git_context.py46CODE
LOW…cli/src/templates/trellis/scripts/common/task_store.py295CODE
LOW…cli/src/templates/trellis/scripts/common/task_store.py812CODE
LOW…cli/src/templates/trellis/scripts/common/task_store.py1223CODE
LOW…src/templates/trellis/scripts/common/workflow_phase.py163CODE
LOW…src/templates/trellis/scripts/common/trellis_config.py113CODE
LOW…cli/src/templates/trellis/scripts/common/task_utils.py381CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py772CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py104CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py269CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py321CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py366CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py480CODE
LOW…li/src/templates/trellis/scripts/common/cli_adapter.py582CODE
LOW.trellis/scripts/task.py491CODE
LOW.trellis/scripts/add_session.py681CODE
LOW.trellis/scripts/common/safe_commit.py61CODE
LOW.trellis/scripts/common/git.py100CODE
LOW.trellis/scripts/common/git_context.py46CODE
LOW.trellis/scripts/common/task_store.py295CODE
LOW.trellis/scripts/common/task_store.py812CODE
LOW.trellis/scripts/common/task_store.py1223CODE
LOW.trellis/scripts/common/workflow_phase.py163CODE
LOW.trellis/scripts/common/trellis_config.py113CODE
LOW.trellis/scripts/common/task_utils.py381CODE
LOW.trellis/scripts/common/cli_adapter.py772CODE
LOW.trellis/scripts/common/cli_adapter.py104CODE
5 more matches not shown…
Over-Commented Block59 hits · 50 pts
SeverityFileLineSnippetContext
LOW…kills/ts-sdk-author/references/workspace-and-layout.md581# In each imported package.json:COMMENT
LOW…trellis-meta/references/claude-code/worktree-config.md61copy:COMMENT
LOW…trellis-meta/references/claude-code/worktree-config.md461# "iteration": 2,COMMENT
LOW…trellis-meta/references/claude-code/worktree-config.md61copy:COMMENT
LOW…trellis-meta/references/claude-code/worktree-config.md461# "iteration": 2,COMMENT
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
LOWpackages/cli/test/registry-invariants.test.ts201// Docs Drift (docs-site is hand-written; AI_TOOLS is the source of truth)COMMENT
LOWpackages/cli/test/regression.test.ts3901 ["codex", "CODEX_SESSION_ID"],COMMENT
LOWpackages/cli/test/regression.test.ts4561 "export TRELLIS_CONTEXT_ID=claude_dedup-latin",COMMENT
LOWpackages/cli/test/regression.test.ts8081 // Default for Codex is native auto dispatch; only explicit inline swapsCOMMENT
LOWpackages/cli/test/regression.test.ts10501COMMENT
LOWpackages/cli/test/regression.test.ts10561});COMMENT
LOWpackages/cli/test/regression.test.ts10961// safe-commit: gitignored .trellis/ recovery (0.5.10 → 0.5.11)COMMENT
LOWpackages/cli/test/regression.test.ts10981// 0.5.11 fix (current):COMMENT
LOWpackages/cli/test/regression.test.ts11381// =============================================================================COMMENT
LOWpackages/cli/test/regression.test.ts11701 });COMMENT
LOWpackages/cli/test/templates/claude.test.ts21 // v0.5.0-beta.8: pin CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1 at the projectCOMMENT
LOWpackages/cli/scripts/migrate-features-to-tasks.sh1#!/bin/bashCOMMENT
LOWpackages/cli/src/configurators/shared.ts601 }COMMENT
LOWpackages/cli/src/configurators/codex.ts201 // RESIDUAL — not expressible as a path→content pair: a directory with noCOMMENT
LOWpackages/cli/src/templates/markdown/worktree.yaml.txt1# Worktree Configuration for Multi-Agent PipelineCOMMENT
LOWpackages/cli/src/templates/markdown/worktree.yaml.txt21 # Environment variables (uncomment and customize as needed)COMMENT
LOWpackages/cli/src/templates/markdown/worktree.yaml.txt41COMMENT
LOWpackages/cli/src/templates/codex/config.toml1# Project-scoped Codex defaults for Trellis workflows.COMMENT
LOWpackages/cli/src/templates/codex/config.toml21# block here. Codex CLI changed `features` deserialization between 0.130COMMENT
LOWpackages/cli/src/templates/trellis/gitattributes.txt1# Trellis: append-only developer journals should merge cleanly acrossCOMMENT
LOWpackages/cli/src/templates/trellis/config.yaml1# Trellis ConfigurationCOMMENT
LOWpackages/cli/src/templates/trellis/config.yaml21# Auto-commit behavior for session journal + task archive operations.COMMENT
LOWpackages/cli/src/templates/trellis/config.yaml41# Hook failures print a warning but do not block the main operation.COMMENT
LOWpackages/cli/src/templates/trellis/config.yaml61# packages:COMMENT
LOWpackages/cli/src/templates/trellis/config.yaml81#-------------------------------------------------------------------------------COMMENT
LOWpackages/cli/src/templates/trellis/config.yaml101#COMMENT
LOWpackages/cli/src/templates/trellis/config.yaml121#COMMENT
LOWpackages/cli/src/templates/trellis/config.yaml141# All values are byte counts. `0` disables the corresponding limit.COMMENT
LOW…li/src/templates/trellis/scripts/common/active_task.py61COMMENT
LOW…li/src/templates/trellis/scripts/common/active_task.py81 ("claude", ("CLAUDE_CODE_SESSION_ID",)),COMMENT
LOW…li/src/templates/trellis/scripts/common/active_task.py101 # UNVERIFIED (2026-08-05): absent from docs.github.com/en/copilot/reference/COMMENT
LOW…li/src/templates/trellis/scripts/common/active_task.py121)COMMENT
LOW…cli/src/templates/trellis/scripts/common/task_store.py1461 )COMMENT
LOW…src/templates/trellis/scripts/common/workflow_phase.py141 return FalseCOMMENT
LOWpackages/cli/src/commands/init.ts2001 execSync(`${pythonCmd} "${scriptPath}" "${developerName}"`, {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 path: docs-siteCOMMENT
LOW.trellis/config.yaml101#COMMENT
LOW.trellis/config.yaml121# Codex-only knob; other platforms ignore it. Default ("auto") dispatchesCOMMENT
LOW.trellis/config.yaml141# Sub-agent context injection limitsCOMMENT
LOW.trellis/config.yaml161# word-boundary match — "no-trellisfoo" does NOT count), the breadcrumb isCOMMENT
LOW.trellis/spec/cli/backend/commands-channel.md281COMMENT
LOW.trellis/spec/cli/backend/commands-channel.md301 // Internal legacy compatibility helper only. Do not export fromCOMMENT
LOW.trellis/scripts/common/active_task.py61COMMENT
LOW.trellis/scripts/common/active_task.py81 ("claude", ("CLAUDE_CODE_SESSION_ID",)),COMMENT
LOW.trellis/scripts/common/active_task.py101 # UNVERIFIED (2026-08-05): absent from docs.github.com/en/copilot/reference/COMMENT
LOW.trellis/scripts/common/active_task.py121)COMMENT
LOW.trellis/scripts/common/task_store.py1461 )COMMENT
LOW.trellis/scripts/common/workflow_phase.py141 return FalseCOMMENT
Fake / Example Data22 hits · 22 pts
SeverityFileLineSnippetContext
LOW…commands/init-uninstall-overdelete.integration.test.ts268 hashes["AGENTS.md"] = "fake-user-hash";CODE
LOW…codex-schema/codex_app_server_protocol.v2.schemas.json2834 "placeholder": {CODE
LOW…ch/codex-schema/codex_app_server_protocol.schemas.json7953 "placeholder": {CODE
LOW…agent-runtime/research/codex-schema/ClientRequest.json5424 "placeholder": {CODE
LOW…-runtime/research/codex-schema/ServerNotification.json4242 "placeholder": {CODE
LOW…time/research/codex-schema/v2/ThreadStartResponse.json1378 "placeholder": {CODE
LOW…-runtime/research/codex-schema/v2/TurnStartParams.json464 "placeholder": {CODE
LOW…/research/codex-schema/v2/ItemStartedNotification.json505 "placeholder": {CODE
LOW…esearch/codex-schema/v2/TurnCompletedNotification.json639 "placeholder": {CODE
LOW…esearch/codex-schema/v2/ItemCompletedNotification.json505 "placeholder": {CODE
LOW…esearch/codex-schema/v2/ThreadStartedNotification.json777 "placeholder": {CODE
LOW…e/research/codex-schema/v2/ThreadRollbackResponse.json782 "placeholder": {CODE
LOW…/research/codex-schema/v2/TurnStartedNotification.json639 "placeholder": {CODE
LOW…ntime/research/codex-schema/v2/ThreadReadResponse.json777 "placeholder": {CODE
LOW…-runtime/research/codex-schema/v2/TurnSteerParams.json59 "placeholder": {CODE
LOW…untime/research/codex-schema/v2/TurnStartResponse.json635 "placeholder": {CODE
LOW…/research/codex-schema/v2/ThreadUnarchiveResponse.json777 "placeholder": {CODE
LOW…ntime/research/codex-schema/v2/ThreadForkResponse.json1378 "placeholder": {CODE
LOW…arch/codex-schema/v2/ThreadMetadataUpdateResponse.json777 "placeholder": {CODE
LOW…ntime/research/codex-schema/v2/ThreadListResponse.json794 "placeholder": {CODE
LOW…ime/research/codex-schema/v2/ThreadResumeResponse.json1378 "placeholder": {CODE
LOW…time/research/codex-schema/v2/ReviewStartResponse.json640 "placeholder": {CODE
Docstring Block Structure4 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…cli/src/templates/trellis/scripts/common/task_queue.py121List tasks assigned to current developer. Args: filter_status: Optional status filter. repo_root: RSTRING
HIGH…li/src/templates/trellis/scripts/common/cli_adapter.py688Get CLI adapter for the specified platform. Args: platform: Platform name ('claude', 'opencode', 'cursor', STRING
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.py688Get CLI adapter for the specified platform. Args: platform: Platform name ('claude', 'opencode', 'cursor', STRING
AI Slop Vocabulary4 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUM.claude/hooks/inject-workflow-state.py80# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
MEDIUM.codex/hooks/inject-workflow-state.py80# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
MEDIUM…es/cli/src/templates/kiro/agents/trellis-research.json4 "prompt": "# Research Agent\n\nYou are the Research Agent in the Trellis workflow.\n\n## Core Principle\n\n**You do onCODE
MEDIUM…li/src/templates/shared-hooks/inject-workflow-state.py80# CWD-robust Trellis root discovery (fixes hook-path-robustness for this hook)COMMENT
Verbosity Indicators7 hits · 14 pts
SeverityFileLineSnippetContext
LOWpackages/cli/src/configurators/shared.ts627### Step 1: Find the active task pathCOMMENT
LOWpackages/cli/src/configurators/shared.ts635### Step 2: Load task context from the resolved pathCOMMENT
LOW…kages/cli/src/templates/kiro/agents/trellis-check.json4 "prompt": "# Check Agent\n\nYou are the Check Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already CODE
LOW…es/cli/src/templates/kiro/agents/trellis-research.json4 "prompt": "# Research Agent\n\nYou are the Research Agent in the Trellis workflow.\n\n## Core Principle\n\n**You do onCODE
LOWpackages/cli/src/commands/init.ts465### Step 1: Import from existing convention files first (preferred)COMMENT
LOWpackages/cli/src/commands/init.ts486### Step 2: Analyze the codebase for anything not covered by existing docsCOMMENT
LOWpackages/cli/src/commands/init.ts493### Step 3: Document reality, not idealsCOMMENT
Redundant / Tautological Comments10 hits · 12 pts
SeverityFileLineSnippetContext
LOWpackages/cli/scripts/migrate-features-to-tasks.sh36# Check if .trellis existsCOMMENT
LOW…es/cli/src/templates/trellis/scripts/init_developer.py36 # Check if already initializedCOMMENT
LOW…kages/cli/src/templates/trellis/scripts/add_session.py1141 # Check if there are staged changes for the paths we just staged.COMMENT
LOW…cli/src/templates/trellis/scripts/common/task_store.py1594 # Check if child already has a parentCOMMENT
LOW…i/src/templates/trellis/scripts/common/task_context.py103 # Check if already existsCOMMENT
LOW…01-19-readme-redesign-taosu/bootstrap-skill/install.sh26# Check if already installedCOMMENT
LOW.trellis/scripts/init_developer.py36 # Check if already initializedCOMMENT
LOW.trellis/scripts/add_session.py1141 # Check if there are staged changes for the paths we just staged.COMMENT
LOW.trellis/scripts/common/task_store.py1594 # Check if child already has a parentCOMMENT
LOW.trellis/scripts/common/task_context.py103 # Check if already existsCOMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…kages/cli/src/templates/kiro/agents/trellis-check.json4 "prompt": "# Check Agent\n\nYou are the Check Agent in the Trellis workflow.\n\n## Recursion Guard\n\nYou are already CODE
AI Structural Patterns4 hits · 2 pts
SeverityFileLineSnippetContext
LOW…kages/cli/src/templates/trellis/scripts/add_session.py1187CODE
LOW…cli/src/templates/trellis/scripts/common/task_store.py110CODE
LOW.trellis/scripts/add_session.py1187CODE
LOW.trellis/scripts/common/task_store.py110CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…01-19-readme-redesign-taosu/bootstrap-skill/install.sh5# Usage:COMMENT