AI Slop Code RIsk Monitor

max-sixty/worktrunk

Worktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows

6.8 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for max-sixty/worktrunk, a Rust project with 9,176 GitHub stars. SynthScan examined 327,362 lines of code across 467 source files, recording 1853 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 6.8 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

6.8
Adjusted Signal
6.8
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
9.2K
Stars
Rust
Language
327.4K
Lines of Code
467
Files
1.9K
Pattern Hits
2026-10-12
Scan Date
0.21
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 22.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.6/100 · LOW

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

Agent Over-Engineering Ratio 7.0/100 · LOW

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

PR Review Velocity Impact 30.5/100 · MEDIUM

Which changes need focused human review? 1853 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 97MEDIUM 22LOW 1734

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1853 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block1621 hits · 1506 pts
SeverityFileLineSnippetContext
LOWCargo.toml1[workspace]COMMENT
LOWCargo.toml181# `log` is still used pervasively for application logging; events flow intoCOMMENT
LOWCargo.toml261# `src/config/expansion.rs::codename`). We use only the static wordlists,COMMENT
LOWCargo.toml281# table — not under `[target.'cfg(unix)']` — or the picker fails to compile onCOMMENT
LOWCargo.toml301# not panic on push/pop keyboard enhancement flags failure") and isCOMMENT
LOWdist-workspace.toml1[workspace]COMMENT
LOW.config/wt.toml1[[post-start]]COMMENT
LOW.config/tend.yaml21 # nightly is actionable: Tend fixes it instead of leaving main's gapsCOMMENT
LOWplugins/worktrunk/hooks/wt.sh1#!/usr/bin/env bashCOMMENT
LOWtests/cancel_background.rs1//! Cancellation of background commands (`worktrunk::shell_exec`).COMMENT
LOWtests/cancel_background.rs21///COMMENT
LOWtests/integration_tests/shell_integration_windows.rs1//! Windows-specific shell integration tests.COMMENT
LOWtests/integration_tests/completion_validation.rs41/// it to every user's shell.COMMENT
LOWtests/integration_tests/switch.rs381 assert!(COMMENT
LOWtests/integration_tests/switch.rs661/// Since tests run via `cargo test`, argv[0] contains a path (`target/debug/wt`), whichCOMMENT
LOWtests/integration_tests/switch.rs761/// rev-parse --git-dir failed (exit 128)`.COMMENT
LOWtests/integration_tests/switch.rs901 "sh",COMMENT
LOWtests/integration_tests/switch.rs1041/// The context map built at that call site feeds `expand_template` and nothingCOMMENT
LOWtests/integration_tests/switch.rs2281fn test_select_deprecated_alias_requires_tty(repo: TestRepo) {COMMENT
LOWtests/integration_tests/switch.rs2961 // fetch path swallows every error into a stashed warning and still exits 0,COMMENT
LOWtests/integration_tests/switch.rs3021 .unwrap_or_else(|| panic!("no pr:42 Log cache entry in dump:\n{stdout}"));COMMENT
LOWtests/integration_tests/switch.rs3241/// an MR row's deferred `log` and `comments` tabs load via background `glab apiCOMMENT
LOWtests/integration_tests/switch.rs3701/// nothing happened. `git worktree add -b` creates the branch and the worktreeCOMMENT
LOWtests/integration_tests/switch.rs3801 "feature-fix must still point at the unpushed commit"COMMENT
LOWtests/integration_tests/switch.rs6481 let mut cmd = make_snapshot_cmd(&repo, "switch", &["pr:101"], None);COMMENT
LOWtests/integration_tests/foreground_jobs.rs361 assert!(shell.output.contains("Usage:"), "{}", shell.output);COMMENT
LOWtests/integration_tests/foreground_jobs.rs1181#[case("bash", "default")]COMMENT
LOWtests/integration_tests/foreground_jobs.rs1681 "{name}, {body}"COMMENT
LOWtests/integration_tests/for_each.rs421 let json: serde_json::Value = serde_json::from_slice(&output.stdout)COMMENT
LOWtests/integration_tests/remove.rs61COMMENT
LOWtests/integration_tests/remove.rs541COMMENT
LOWtests/integration_tests/remove.rs701 &["feature-current"],COMMENT
LOWtests/integration_tests/remove.rs941COMMENT
LOWtests/integration_tests/remove.rs1021/// with its own uncommitted work.COMMENT
LOWtests/integration_tests/remove.rs1061/// The ownership gate is re-decided at the rename, not carried over fromCOMMENT
LOWtests/integration_tests/remove.rs2441/// 3. Main advances with more commits (file B)COMMENT
LOWtests/integration_tests/remove.rs2541/// 1. Branch modifies file ACOMMENT
LOWtests/integration_tests/remove.rs2621}COMMENT
LOWtests/integration_tests/remove.rs3481}COMMENT
LOWtests/integration_tests/remove.rs3561 ));COMMENT
LOWtests/integration_tests/remove.rs3841 &["@"],COMMENT
LOWtests/integration_tests/remove.rs4161 .run()COMMENT
LOWtests/integration_tests/remove.rs4441///COMMENT
LOWtests/integration_tests/remove.rs5281}COMMENT
LOWtests/integration_tests/remove.rs5381}COMMENT
LOWtests/integration_tests/remove.rs5941 );COMMENT
LOWtests/integration_tests/security.rs1//! Security tests for shell injection vulnerabilitiesCOMMENT
LOWtests/integration_tests/security.rs21//! ## What These Tests VerifyCOMMENT
LOWtests/integration_tests/security.rs41//! `echo PWNED > /tmp/…` and anything carrying a newline can never become aCOMMENT
LOWtests/integration_tests/security.rs401 "Malicious code was executed alongside legitimate -x command!"COMMENT
LOWtests/integration_tests/list.rs1381COMMENT
LOWtests/integration_tests/list.rs1581 repo.run_git_in(&feature_auth, &["add", "auth.rs", "lib.rs"]);COMMENT
LOWtests/integration_tests/list.rs1601/// - `+234 -24` main…± — Major refactoring: new Router, handlers, middleware (~250 LOC)COMMENT
LOWtests/integration_tests/list.rs1621/// **`wip`** — REST docs (stale)COMMENT
LOWtests/integration_tests/list.rs2781/// Generate README example: `wt list --branches --full` outputCOMMENT
LOWtests/integration_tests/list.rs3421 // Set user marker emoji (🤖)COMMENT
LOWtests/integration_tests/list.rs3801}COMMENT
LOWtests/integration_tests/list.rs3821COMMENT
LOWtests/integration_tests/list.rs3921 assert_cmd_snapshot!(list_snapshots::command(&repo, repo.root_path()));COMMENT
LOWtests/integration_tests/list.rs4161 "wt list should succeed; stderr:\n{stderr}"COMMENT
1561 more matches not shown…
Cross-File Repetition84 hits · 420 pts
SeverityFileLineSnippetContext
HIGH…ns/worktrunk/skills/worktrunk/reference/llm-commits.md0write a commit message for this diff. one line, under 50 chars. branch: {{ branch }} diff: {{ git_diff }}STRING
HIGHdocs/public/llm-commits.md0write a commit message for this diff. one line, under 50 chars. branch: {{ branch }} diff: {{ git_diff }}STRING
HIGHdocs/src/content/docs/llm-commits.md0write a commit message for this diff. one line, under 50 chars. branch: {{ branch }} diff: {{ git_diff }}STRING
HIGHskills/worktrunk/reference/llm-commits.md0write a commit message for this diff. one line, under 50 chars. branch: {{ branch }} diff: {{ git_diff }}STRING
HIGH…ns/worktrunk/skills/worktrunk/reference/llm-commits.md0combine these {{ commit_details | length }} commits into one message: {% for c in commit_details %} - {{ c.subject }} {%STRING
HIGHdocs/public/llm-commits.md0combine these {{ commit_details | length }} commits into one message: {% for c in commit_details %} - {{ c.subject }} {%STRING
HIGHdocs/src/content/docs/llm-commits.md0combine these {{ commit_details | length }} commits into one message: {% for c in commit_details %} - {{ c.subject }} {%STRING
HIGHskills/worktrunk/reference/llm-commits.md0combine these {{ commit_details | length }} commits into one message: {% for c in commit_details %} - {{ c.subject }} {%STRING
HIGH…ns/worktrunk/skills/worktrunk/reference/llm-commits.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHdocs/public/llm-commits.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHdocs/src/content/docs/llm-commits.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHskills/worktrunk/reference/llm-commits.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHplugins/worktrunk/skills/worktrunk/reference/config.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHdocs/public/config.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHdocs/src/content/docs/config.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHskills/worktrunk/reference/config.md0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHsrc/cli/mod.rs0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGHdev/wt.example.toml0# - use conventional commits (feat:, fix:, docs:, …) # - reference the relevant issue id in the body #STRING
HIGH…gins/worktrunk/skills/worktrunk/reference/extending.md0git fetch --all --prune; wt step for-each -- sh -c ' git rev-parse --verify -q @{u} >/dev/null || exit 0 g=$(git rev-parSTRING
HIGHdocs/public/extending.md0git fetch --all --prune; wt step for-each -- sh -c ' git rev-parse --verify -q @{u} >/dev/null || exit 0 g=$(git rev-parSTRING
HIGHdocs/src/content/docs/extending.md0git fetch --all --prune; wt step for-each -- sh -c ' git rev-parse --verify -q @{u} >/dev/null || exit 0 g=$(git rev-parSTRING
HIGHskills/worktrunk/reference/extending.md0git fetch --all --prune; wt step for-each -- sh -c ' git rev-parse --verify -q @{u} >/dev/null || exit 0 g=$(git rev-parSTRING
HIGH…gins/worktrunk/skills/worktrunk/reference/extending.md0if git diff --quiet head && test -z "$(git ls-files --others --exclude-standard)"; then wt switch --create {{ to }} --exSTRING
HIGHdocs/public/extending.md0if git diff --quiet head && test -z "$(git ls-files --others --exclude-standard)"; then wt switch --create {{ to }} --exSTRING
HIGHdocs/src/content/docs/extending.md0if git diff --quiet head && test -z "$(git ls-files --others --exclude-standard)"; then wt switch --create {{ to }} --exSTRING
HIGHskills/worktrunk/reference/extending.md0if git diff --quiet head && test -z "$(git ls-files --others --exclude-standard)"; then wt switch --create {{ to }} --exSTRING
HIGH…gins/worktrunk/skills/worktrunk/reference/extending.md0tail -f "$(wt config state logs --format=json | jq -r --arg branch {{ branch }} --arg name {{ name | sanitize_hash }} --STRING
HIGHdocs/public/extending.md0tail -f "$(wt config state logs --format=json | jq -r --arg branch {{ branch }} --arg name {{ name | sanitize_hash }} --STRING
HIGHdocs/src/content/docs/extending.md0tail -f "$(wt config state logs --format=json | jq -r --arg branch {{ branch }} --arg name {{ name | sanitize_hash }} --STRING
HIGHskills/worktrunk/reference/extending.md0tail -f "$(wt config state logs --format=json | jq -r --arg branch {{ branch }} --arg name {{ name | sanitize_hash }} --STRING
HIGHplugins/worktrunk/skills/worktrunk/reference/config.md0# <task>write a commit message for the staged changes below.</task> # # <format> # - subject line under 50 chars # - forSTRING
HIGHdocs/public/config.md0# <task>write a commit message for the staged changes below.</task> # # <format> # - subject line under 50 chars # - forSTRING
HIGHdocs/src/content/docs/config.md0# <task>write a commit message for the staged changes below.</task> # # <format> # - subject line under 50 chars # - forSTRING
HIGHskills/worktrunk/reference/config.md0# <task>write a commit message for the staged changes below.</task> # # <format> # - subject line under 50 chars # - forSTRING
HIGHsrc/cli/mod.rs0# <task>write a commit message for the staged changes below.</task> # # <format> # - subject line under 50 chars # - forSTRING
HIGHdev/config.example.toml0# <task>write a commit message for the staged changes below.</task> # # <format> # - subject line under 50 chars # - forSTRING
HIGHplugins/worktrunk/skills/worktrunk/reference/config.md0# <task>write a commit message for the change in <diff>, which is everything the squash will record. <commits> lists whaSTRING
HIGHdocs/public/config.md0# <task>write a commit message for the change in <diff>, which is everything the squash will record. <commits> lists whaSTRING
HIGHdocs/src/content/docs/config.md0# <task>write a commit message for the change in <diff>, which is everything the squash will record. <commits> lists whaSTRING
HIGHskills/worktrunk/reference/config.md0# <task>write a commit message for the change in <diff>, which is everything the squash will record. <commits> lists whaSTRING
HIGHsrc/cli/mod.rs0# <task>write a commit message for the change in <diff>, which is everything the squash will record. <commits> lists whaSTRING
HIGHdev/config.example.toml0# <task>write a commit message for the change in <diff>, which is everything the squash will record. <commits> lists whaSTRING
HIGHplugins/worktrunk/skills/worktrunk/reference/config.md0# - explain the rationale in the body, not just the change #STRING
HIGHdocs/public/config.md0# - explain the rationale in the body, not just the change #STRING
HIGHdocs/src/content/docs/config.md0# - explain the rationale in the body, not just the change #STRING
HIGHskills/worktrunk/reference/config.md0# - explain the rationale in the body, not just the change #STRING
HIGHsrc/cli/mod.rs0# - explain the rationale in the body, not just the change #STRING
HIGHdev/config.example.toml0# - explain the rationale in the body, not just the change #STRING
HIGH…/worktrunk/skills/worktrunk/reference/tips-patterns.md0if [ {{ target }} = main ]; then npm run deploy:production elif [ {{ target }} = staging ]; then npm run deploy:staging STRING
HIGHdocs/public/tips-patterns.md0if [ {{ target }} = main ]; then npm run deploy:production elif [ {{ target }} = staging ]; then npm run deploy:staging STRING
HIGHdocs/src/content/docs/tips-patterns.md0if [ {{ target }} = main ]; then npm run deploy:production elif [ {{ target }} = staging ]; then npm run deploy:staging STRING
HIGHskills/worktrunk/reference/tips-patterns.md0if [ {{ target }} = main ]; then npm run deploy:production elif [ {{ target }} = staging ]; then npm run deploy:staging STRING
HIGH…/worktrunk/skills/worktrunk/reference/tips-patterns.md0wt config state vars set container='{{ repo }}-{{ branch | sanitize }}-postgres' && wt config state vars set port='{{ ('STRING
HIGHdocs/public/tips-patterns.md0wt config state vars set container='{{ repo }}-{{ branch | sanitize }}-postgres' && wt config state vars set port='{{ ('STRING
HIGHdocs/src/content/docs/tips-patterns.md0wt config state vars set container='{{ repo }}-{{ branch | sanitize }}-postgres' && wt config state vars set port='{{ ('STRING
HIGHskills/worktrunk/reference/tips-patterns.md0wt config state vars set container='{{ repo }}-{{ branch | sanitize }}-postgres' && wt config state vars set port='{{ ('STRING
HIGH…/worktrunk/skills/worktrunk/reference/tips-patterns.md0docker run -d --rm \ --name {{ vars.container }} \ -p {{ vars.port }}:5432 \ -e postgres_db={{ branch | sanitize_db }} \STRING
HIGHdocs/public/tips-patterns.md0docker run -d --rm \ --name {{ vars.container }} \ -p {{ vars.port }}:5432 \ -e postgres_db={{ branch | sanitize_db }} \STRING
HIGHdocs/src/content/docs/tips-patterns.md0docker run -d --rm \ --name {{ vars.container }} \ -p {{ vars.port }}:5432 \ -e postgres_db={{ branch | sanitize_db }} \STRING
HIGHskills/worktrunk/reference/tips-patterns.md0docker run -d --rm \ --name {{ vars.container }} \ -p {{ vars.port }}:5432 \ -e postgres_db={{ branch | sanitize_db }} \STRING
24 more matches not shown…
Synthetic Comment Markers10 hits · 52 pts
SeverityFileLineSnippetContext
HIGHREADME.md94- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGHREADME.md94- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGH…gins/worktrunk/skills/worktrunk/reference/worktrunk.md77- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGH…gins/worktrunk/skills/worktrunk/reference/worktrunk.md77- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGHdocs/public/worktrunk.md77- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGHdocs/public/worktrunk.md77- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGHdocs/src/content/docs/worktrunk.md105- **[`wt list --full`](/list/#full-mode)** — [CI status](/list/#ci-status) and [AI-generated summaries](/list/#llm-summaCODE
HIGHskills/worktrunk/reference/worktrunk.md77- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGHskills/worktrunk/reference/worktrunk.md77- **[`wt list --full`](https://worktrunk.dev/list/#full-mode)** — [CI status](https://worktrunk.dev/list/#ci-status) andCODE
HIGHsrc/commands/statusline.rs919 // What the schema-2 envelope reports as requested — read from the taskCOMMENT
Verbosity Indicators31 hits · 51 pts
SeverityFileLineSnippetContext
LOW⚡tests/integration_tests/switch.rs2241 // Step 2: From ping-pong worktree, switch back to mainCOMMENT
LOW⚡tests/integration_tests/switch.rs2250 // Step 3: From main worktree, wt switch - should go to ping-pongCOMMENT
LOW⚡tests/integration_tests/switch.rs2259 // Step 4: From ping-pong worktree, wt switch - should go back to mainCOMMENT
LOW⚡tests/integration_tests/switch.rs2263 // Step 5: From main worktree, wt switch - should go to ping-pong again (ping-pong!)COMMENT
LOW⚡tests/integration_tests/switch.rs8140 // Step 2: Switch to hist-feature again while already there (AlreadyAt)COMMENT
LOW⚡tests/integration_tests/switch.rs8149 // Step 3: `wt switch -` should still go to main (the real previous),COMMENT
LOWtests/integration_tests/switch.rs2226 // Step 1: From main worktree, switch to ping-pong (creates worktree)COMMENT
LOWtests/integration_tests/switch.rs8128 // Step 1: Switch from main to hist-feature (establishes history: previous=main)COMMENT
LOW⚡tests/integration_tests/list.rs108 // Step 1: From main, switch to feature (history: current=feature, previous=main)COMMENT
LOW⚡tests/integration_tests/list.rs115 // Step 2: From feature, switch back to main (history: current=main, previous=feature)COMMENT
LOW⚡tests/integration_tests/readme_sync.rs2729 // Step 0: Fill docs-example bodies in src/cli/mod.rs from snapshots. RunsSTRING
LOW⚡tests/integration_tests/readme_sync.rs2735 // Step 1: Sync command pages into the Starlight content collection.STRING
LOW⚡tests/integration_tests/readme_sync.rs2739 // Step 2: Sync standalone docs files from snapshots.STRING
LOW⚡tests/integration_tests/readme_sync.rs2765 // Step 3: Sync skill files (Starlight Markdown → skills/*)STRING
LOW⚡tests/integration_tests/readme_sync.rs2774 // Step 4: Sync .well-known/agent-skills/ (skills/ → docs/public/)STRING
LOW⚡tests/integration_tests/readme_sync.rs2778 // Step 5: Generate docs/public/llms.txt from Starlight frontmatter.STRING
LOWtests/integration_tests/readme_sync.rs2789 // Step 6: Sync README from the now-fresh docs files. Runs last becauseSTRING
LOW⚡tests/integration_tests/shell_wrapper.rs3017# Step 1: Verify SOME completion is registered for 'wt' (black-box check)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3024# Step 2: Get the completion function name (whatever it's called)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3032# Step 3: Set up completion environment and call the functionCOMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3042# Step 4: Verify we got completions (black-box: just check we got results)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3152# Step 1: Verify SOME completion is registered for 'wt' (black-box check)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3161# Step 2: Test that COMPLETE mode works through our shell functionCOMMENT
LOWtests/integration_tests/shell_wrapper.rs3055# Step 5: Verify expected subcommands are presentCOMMENT
LOWtests/integration_tests/shell_wrapper.rs3183# Step 3: Verify expected subcommands are presentCOMMENT
LOWtests/integration_tests/approval_pty.rs788 // Step 1: project config with only the hook; pre-approve it.COMMENT
LOWtests/integration_tests/approval_pty.rs800 // Step 2: add an unapproved commit append (hook command unchanged, so itCOMMENT
LOWsrc/llm.rs326 // Step 1: Filter out lock filesCOMMENT
LOWsrc/llm.rs358 // Step 2: Truncate each section, accumulating until the budget is spentCOMMENT
LOWsrc/commands/list/ci_status/gitlab.rs153 // Step 1: Parse mr list output to find matching MR.COMMENT
LOWsrc/commands/list/ci_status/gitlab.rs194 // Step 2: Fetch full MR details to get pipeline status.COMMENT
Structural Annotation Overuse31 hits · 50 pts
SeverityFileLineSnippetContext
LOW⚡tests/integration_tests/switch.rs2241 // Step 2: From ping-pong worktree, switch back to mainCOMMENT
LOW⚡tests/integration_tests/switch.rs2250 // Step 3: From main worktree, wt switch - should go to ping-pongCOMMENT
LOW⚡tests/integration_tests/switch.rs2259 // Step 4: From ping-pong worktree, wt switch - should go back to mainCOMMENT
LOW⚡tests/integration_tests/switch.rs2263 // Step 5: From main worktree, wt switch - should go to ping-pong again (ping-pong!)COMMENT
LOW⚡tests/integration_tests/switch.rs8140 // Step 2: Switch to hist-feature again while already there (AlreadyAt)COMMENT
LOWtests/integration_tests/switch.rs2226 // Step 1: From main worktree, switch to ping-pong (creates worktree)COMMENT
LOWtests/integration_tests/switch.rs8128 // Step 1: Switch from main to hist-feature (establishes history: previous=main)COMMENT
LOW⚡tests/integration_tests/list.rs108 // Step 1: From main, switch to feature (history: current=feature, previous=main)COMMENT
LOW⚡tests/integration_tests/list.rs115 // Step 2: From feature, switch back to main (history: current=main, previous=feature)COMMENT
LOWtests/integration_tests/list.rs1630/// NOTE: This function is used for doc generation. It removes fixture worktreesCOMMENT
LOW⚡tests/integration_tests/readme_sync.rs2729 // Step 0: Fill docs-example bodies in src/cli/mod.rs from snapshots. RunsSTRING
LOW⚡tests/integration_tests/readme_sync.rs2735 // Step 1: Sync command pages into the Starlight content collection.STRING
LOW⚡tests/integration_tests/readme_sync.rs2739 // Step 2: Sync standalone docs files from snapshots.STRING
LOW⚡tests/integration_tests/readme_sync.rs2765 // Step 3: Sync skill files (Starlight Markdown → skills/*)STRING
LOW⚡tests/integration_tests/readme_sync.rs2774 // Step 4: Sync .well-known/agent-skills/ (skills/ → docs/public/)STRING
LOW⚡tests/integration_tests/readme_sync.rs2778 // Step 5: Generate docs/public/llms.txt from Starlight frontmatter.STRING
LOWtests/integration_tests/readme_sync.rs2789 // Step 6: Sync README from the now-fresh docs files. Runs last becauseSTRING
LOW⚡tests/integration_tests/shell_wrapper.rs3017# Step 1: Verify SOME completion is registered for 'wt' (black-box check)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3024# Step 2: Get the completion function name (whatever it's called)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3032# Step 3: Set up completion environment and call the functionCOMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3042# Step 4: Verify we got completions (black-box: just check we got results)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3152# Step 1: Verify SOME completion is registered for 'wt' (black-box check)COMMENT
LOW⚡tests/integration_tests/shell_wrapper.rs3161# Step 2: Test that COMPLETE mode works through our shell functionCOMMENT
LOWtests/integration_tests/shell_wrapper.rs3055# Step 5: Verify expected subcommands are presentCOMMENT
LOWtests/integration_tests/shell_wrapper.rs3183# Step 3: Verify expected subcommands are presentCOMMENT
LOWtests/integration_tests/approval_pty.rs788 // Step 1: project config with only the hook; pre-approve it.COMMENT
LOWtests/integration_tests/approval_pty.rs800 // Step 2: add an unapproved commit append (hook command unchanged, so itCOMMENT
LOWsrc/llm.rs326 // Step 1: Filter out lock filesCOMMENT
LOWsrc/llm.rs358 // Step 2: Truncate each section, accumulating until the budget is spentCOMMENT
LOWsrc/commands/list/ci_status/gitlab.rs153 // Step 1: Parse mr list output to find matching MR.COMMENT
LOWsrc/commands/list/ci_status/gitlab.rs194 // Step 2: Fetch full MR details to get pipeline status.COMMENT
Decorative Section Separators11 hits · 44 pts
SeverityFileLineSnippetContext
MEDIUMtests/integration_tests/step_promote.rs390// ─── Swap tests ───────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/demos/shared/lib.py1406# =============================================================================COMMENT
MEDIUMdocs/demos/shared/lib.py1408# =============================================================================COMMENT
MEDIUM⚡src/commands/list/collect/mod.rs139//! ──────────────── ─────────────COMMENT
MEDIUM⚡src/commands/list/collect/mod.rs141//! J1 rayon::scope ───────────────────────┬─ list_worktrees [cell] worktree list --porcelainCOMMENT
MEDIUM⚡src/commands/list/collect/mod.rs149//! join ◄──────────────────────────────┘ (waits for the slowest: worktree list + backfill)COMMENT
MEDIUM⚡src/commands/list/collect/mod.rs155//! layout; render skeleton ─────────────────── FIRST PAINT (wt list)COMMENT
MEDIUM⚡src/commands/list/collect/mod.rs156//! [picker] on_skeleton: rows → skim ───────── FIRST PAINT (picker)COMMENT
MEDIUM⚡src/commands/list/collect/mod.rs160//! J2 rayon::scope ───────────────────────┬─ switch_previousCOMMENT
MEDIUM⚡src/commands/list/collect/mod.rs170//! join ◄──────────────────────────────┘ (waits for the slowest)COMMENT
MEDIUMsrc/git/repository/integration.rs1077 /// └────── squash ── pad1 ── … ── padN = target (each pad reuses parent's tree)COMMENT
Unused Imports38 hits · 29 pts
SeverityFileLineSnippetContext
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py3CODE
LOWdocs/demos/shared/__init__.py44CODE
LOWdocs/demos/shared/__init__.py44CODE
LOWdocs/demos/shared/validation.py23CODE
AI Slop Vocabulary7 hits · 19 pts
SeverityFileLineSnippetContext
MEDIUMtests/integration_tests/switch_picker_dry_run.rs107 // schema (not specific branches/modes) keeps the test robust to fixtureCOMMENT
MEDIUMtests/common/pty.rs51 // this is the more robust replacement.COMMENT
MEDIUMdocs/demos/shared/lib.py1168 """Set up comprehensive mock CLIs for all demo scenarios.STRING
MEDIUM.github/workflows/benchmarks.yaml9# harness still builds — create-issue-on-benchmark-failure surfaces a break.COMMENT
MEDIUM.github/workflows/tend-review.yaml46 # local actions' POST chains; the harness moves the agent's view of it toCOMMENT
MEDIUMsrc/commands/list/collect/mod.rs406//! ### Fundamentally uncacheableCOMMENT
MEDIUMsrc/commands/list/collect/mod.rs406//! ### Fundamentally uncacheableCOMMENT
Cross-Language Confusion2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHdocs/demos/shared/lib.py258 f" git -C {vhs_dir} pull && rm -f {vhs_dir / 'vhs'}"CODE
HIGHdocs/demos/shared/lib.py1158 set -l branch (git rev-parse --abbrev-ref HEAD 2>/dev/null)CODE
Hyper-Verbose Identifiers8 hits · 8 pts
SeverityFileLineSnippetContext
LOWtests/integration_tests/shell_wrapper.rs2729def test_login_invalid_password():CODE
LOWdocs/demos/tests/test_recording.py16def test_each_theme_records_from_a_fresh_environment(tmp_path: Path) -> None:CODE
LOWdocs/demos/tests/test_recording.py76def test_docs_demos_open_on_a_complete_command_before_execution() -> None:CODE
LOWdocs/demos/tests/test_recording.py108def test_docs_demos_hide_all_setup_and_cleanup_from_the_recording() -> None:CODE
LOWdocs/demos/tests/test_recording.py131def test_mobile_core_demo_has_a_readable_dedicated_recording_contract() -> None:CODE
LOWdocs/demos/shared/lib.py248def _require_current_vhs_fork(vhs_dir: Path) -> None:CODE
LOWdocs/demos/shared/lib.py1539def extract_commands_from_tape(CODE
LOWdocs/demos/shared/validation.py451def validate_tui_demo_verbose(CODE
Self-Referential Comments3 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMdocs/demos/shared/lib.py866 "# This file contains fish universal variable definitions.",STRING
MEDIUM.github/workflows/release.yaml354 # Create a GitHub Release while uploading all files to itCOMMENT
MEDIUMsrc/cli/mod.rs658## Creating a branchCOMMENT
Redundant / Tautological Comments4 hits · 6 pts
SeverityFileLineSnippetContext
LOWtests/integration_tests/shell_wrapper.rs2174 # Check if wt completion is registered and write result to marker fileCOMMENT
LOWtests/integration_tests/shell_wrapper.rs2225 # Check if wt completions are registered and write result to marker fileCOMMENT
LOWtests/integration_tests/shell_wrapper.rs2282 # Check if wt wrapper function is defined and write result to marker fileCOMMENT
LOW.github/workflows/ci.yaml172 # Check if Cargo/CI files changed (for conditional jobs below)COMMENT
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/demos/shared/lib.py73except FileNotFoundError:CODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMCargo.toml194# scaffolding; `registry` composes layers. Pinned to ≥ 0.3.17: that's whenCOMMENT
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWdocs/demos/shared/__init__.py46__all__ = [CODE