CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
This report summarizes scanner evidence for rtk-ai/rtk, a Rust project with 82,868 GitHub stars. SynthScan examined 179,773 lines of code across 421 source files, recording 677 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 7.4 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 359 finding(s).
Are imports declared and package/API names verified? 14 finding(s).
Are wrappers, guards, and repeated structures necessary? 323 finding(s).
Which changes need focused human review? 677 finding(s).
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.
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.
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.
The scanner identified 677 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/glab_argv_test.rs | 71 | // ── identifier extraction: a flag's value is never the MR/issue id ────── | COMMENT |
| MEDIUM | tests/glab_argv_test.rs | 116 | // ── `--` handling ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/copilot_selfheal_test.rs | 138 | // ── Heal correctness ───────────────────────────────────────── | COMMENT |
| MEDIUM | tests/copilot_selfheal_test.rs | 228 | // ── Response integrity: heal never changes hook behavior ───── | COMMENT |
| MEDIUM | tests/copilot_selfheal_test.rs | 301 | // ── Refusal matrix: configs never wrongly modified ─────────── | COMMENT |
| MEDIUM | tests/copilot_selfheal_test.rs | 375 | // ── Robustness ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 229 | # ── 7. Curl ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 237 | # ── 8. Npm / Npx ──────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 244 | # ── 9. Pnpm ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 300 | # ── 13. Deps ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 307 | # ── 14. Env ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 314 | # ── 16. Log ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 328 | # ── 17. Summary ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 334 | # ── 18. Err ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 340 | # ── 19. Test runner ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 346 | # ── 20. Gain ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 353 | # ── 21. Config & Init ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 360 | # ── 22. Wget ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 380 | # ── 24. Prisma ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 386 | # ── 25. Vitest ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 392 | # ── 26. Docker / Kubectl (help only) ──────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 399 | # ── 27. Python (conditional) ──────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 473 | # ── 31. Global flags ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 480 | # ── 32. CcEconomics ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 486 | # ── 33. Learn ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 493 | # ── 32. Rewrite ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 518 | # ── 33. Verify ──────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 524 | # ── 34. Proxy ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 531 | # ── 35. Discover ────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 537 | # ── 36. Diff ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 545 | # ── 37. Wc ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 551 | # ── 38. Smart ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 557 | # ── 39. Json edge cases ────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 563 | # ── 40. Docker (conditional) ───────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 574 | # ── 41. Hook check ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 580 | # ══════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | scripts/test-all.sh | 582 | # ══════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | scripts/test-all.sh | 22 | # ── Helpers ────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 101 | # ── Preamble ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 122 | # ── 1. Version & Help ─────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 129 | # ── 2. Ls ──────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 143 | # ── 2b. Tree ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 156 | # ── 3. Read ────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 170 | # ── 4. Git ─────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 196 | # ── 5. GitHub CLI ──────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 210 | # ── 6. Cargo ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 256 | # ── 10. Grep ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 280 | # ── 11. Find ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 287 | # ── 12. Json ───────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 421 | # ── 28. Go (conditional) ──────────────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 440 | # ── 29. Graphite (conditional) ───────────────────── | COMMENT |
| MEDIUM | scripts/test-all.sh | 451 | # ── 30. Ruby (conditional) ────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 128 | # ── Preamble ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 137 | # ── Temp dir + cleanup trap ────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 144 | # ── Setup phase (not counted in assertions) ────────── | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 264 | # ══════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 266 | # ══════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 268 | # ── 1. RSpec ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 363 | # ── 8. RSpec pending ───────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/test-ruby.sh | 371 | # ── 9. RSpec text fallback ─────────────────────────── | COMMENT |
| 242 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rustfmt.toml | 1 | # cargo fmt passes --edition from Cargo.toml, but a bare `rustfmt` invocation -- | COMMENT |
| LOW | openclaw/index.ts | 161 | } = { | COMMENT |
| LOW | tests/git_show_blob_differential_test.rs | 1 | //! Differential fuzzer for `rtk git show` blob classification. | COMMENT |
| LOW | tests/git_show_blob_differential_test.rs | 201 | /// stress: git re-parses `-pS`/`-wG`/… clusters, the colon token is a pickaxe/regex | COMMENT |
| LOW | tests/git_show_blob_differential_test.rs | 521 | } | COMMENT |
| LOW | tests/dotnet_double_dash_test.rs | 1 | //! Regression test for the missing `restore_double_dash` call in dotnet_cmd.rs | COMMENT |
| LOW | tests/gain_hook_warning_test.rs | 1 | //! Integration tests: `rtk gain` hook-status warning coverage. | COMMENT |
| LOW | tests/guard_integration_test.rs | 301 | // Regression: `rtk git branch -- -weird` must be classified as a branch-creation attempt | COMMENT |
| LOW | tests/hook_decision_protocol_test.rs | 1 | //! End-to-end coverage of the hook decision entry points. | COMMENT |
| LOW | tests/hook_decision_protocol_test.rs | 141 | } | COMMENT |
| LOW | tests/hook_decision_protocol_test.rs | 621 | /// The load-bearing half is what it must **not** change. Every case below that | COMMENT |
| LOW | tests/hook_decision_protocol_test.rs | 821 | // stricter of the two behaviours, not another host's rule set. | COMMENT |
| LOW | tests/common/mod.rs | 1 | //! Shared helpers for the integration tests. | COMMENT |
| LOW | .claude/hooks/rtk-rewrite.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .claude/skills/performance/SKILL.md | 61 | ls -lh target/release/rtk | tee /tmp/after_binary_size.txt | COMMENT |
| LOW | .rtk/filters.toml | 1 | # Project-local RTK filters — commit this file with your repo. | COMMENT |
| LOW | hooks/copilot/test-rtk-rewrite.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hooks/claude/rtk-rewrite.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | hooks/pi/rtk.ts | 1 | // RTK Pi extension — rewrites bash commands to use rtk for token savings. | COMMENT |
| LOW | hooks/opencode/rtk.ts | 1 | import type { Plugin } from "@opencode-ai/plugin" | COMMENT |
| LOW | scripts/benchmark.sh | 421 | bench "wc" "wc Cargo.toml src/main.rs" "$RTK wc Cargo.toml src/main.rs" | COMMENT |
| LOW | src/main.rs | 101 | /// Directory tree with token-optimized output (proxy to native tree) | COMMENT |
| LOW | src/main.rs | 121 | /// with -n off; --level and -n still transform the window) | COMMENT |
| LOW | src/main.rs | 281 | COMMENT | |
| LOW | src/main.rs | 341 | /// Execute one quoted command string with this shell instead of direct argv execution | COMMENT |
| LOW | src/main.rs | 361 | max_len: usize, | COMMENT |
| LOW | src/main.rs | 481 | project: bool, | COMMENT |
| LOW | src/main.rs | 501 | #[arg(short, long)] | COMMENT |
| LOW | src/main.rs | 521 | }, | COMMENT |
| LOW | src/main.rs | 661 | /// Discover missed RTK savings from Claude Code history | COMMENT |
| LOW | src/main.rs | 701 | #[arg(short, long, default_value = "text")] | COMMENT |
| LOW | src/main.rs | 741 | /// Hash from a recovery hint (a unique prefix is enough) | COMMENT |
| LOW | src/main.rs | 961 | /// Maven Daemon (mvnd) with compact output — same filters as `rtk mvn` | COMMENT |
| LOW | src/main.rs | 981 | /// | COMMENT |
| LOW | src/main.rs | 1081 | /// Git arguments (supports all git show flags) | COMMENT |
| LOW | src/main.rs | 1141 | /// Passthrough: runs any unsupported git subcommand directly | COMMENT |
| LOW | src/main.rs | 1841 | args.push(cont); | COMMENT |
| LOW | src/main.rs | 2021 | Some(arg) => arg.starts_with('-'), | COMMENT |
| LOW | src/discover/registry.rs | 101 | LazyLock::new(|| Regex::new(r"^head\s+--lines\s+(\d+)\s+(\S+)$").unwrap()); | COMMENT |
| LOW | src/discover/registry.rs | 121 | format!("{} {}", rewritten, redirect_suffix) | COMMENT |
| LOW | src/discover/registry.rs | 201 | COMMENT | |
| LOW | src/discover/registry.rs | 441 | if !cmd.starts_with("git ") { | COMMENT |
| LOW | src/discover/registry.rs | 601 | COMMENT | |
| LOW | src/discover/registry.rs | 721 | /// `\n` or `\r\n`, *plus* any horizontal whitespace on the line before AND | COMMENT |
| LOW | src/discover/registry.rs | 741 | /// Handles compound commands (`&&`, `||`, `;`, `;;`, `;&`, `;;&`) by rewriting each segment independently. | COMMENT |
| LOW | src/discover/registry.rs | 941 | // the comment-blind tokenizer would read the comment as command words. | COMMENT |
| LOW | src/discover/registry.rs | 1861 | COMMENT | |
| LOW | src/discover/registry.rs | 3141 | // Load-bearing case for the fixed-set design: `install` IS a routed | COMMENT |
| LOW | src/discover/report.rs | 121 | /// Date (`YYYY-MM-DD`) of the *oldest currently-retained* `hook_decisions` log | COMMENT |
| LOW | src/discover/mod.rs | 61 | COMMENT | |
| LOW | src/discover/mod.rs | 81 | hook_installed: bool, | COMMENT |
| LOW | src/discover/mod.rs | 101 | /// The caller splits a chained command (`a && b`) into parts and calls this once | COMMENT |
| LOW | src/discover/mod.rs | 141 | /// unattestable constructs, and MUST be the exact full string the real hook would | COMMENT |
| LOW | src/discover/mod.rs | 201 | /// The *only* correct way to answer this question — deliberately named and kept | COMMENT |
| LOW | src/discover/mod.rs | 881 | ); | COMMENT |
| LOW | src/discover/lexer.rs | 541 | return false; | COMMENT |
| LOW | src/discover/lexer.rs | 561 | /// | `\|` | always splits | stops at first `\|` | pipeline handled specially | | COMMENT |
| LOW | src/core/stream.rs | 1 | use anyhow::{Context, Result}; | COMMENT |
| LOW | src/core/stream.rs | 721 | /// Run `cmd` to completion, decode what it wrote, and report the exit code. | COMMENT |
| LOW | src/core/user_dirs.rs | 1 | //! Where the user's own files live, and the single place that asks `dirs`. | COMMENT |
| 234 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/cmds/jvm/gradlew_cmd.rs | 1452 | "at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.j | CODE |
| CRITICAL | src/cmds/jvm/mvn_cmd.rs | 2236 | \tat org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:38)\n\ | CODE |
| CRITICAL | src/cmds/jvm/mvn_cmd.rs | 4166 | \tat org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1)\n\ | CODE |
| CRITICAL | src/cmds/jvm/mvn_cmd.rs | 4376 | \tat org.apache.commons.cli.RtkInducedFailTest.rtkInducedFailure(RtkInducedFailTest.java:25)\n\ | CODE |
| CRITICAL | src/cmds/jvm/mvn_cmd.rs | 5550 | \tat org.junit.jupiter.engine.execution.SomeThing.invoke(SomeThing.java:1)\n\ | CODE |
| CRITICAL | src/cmds/jvm/mvn_cmd.rs | 5627 | \tat org.junit.jupiter.api.Assertions.fail(Assertions.java:1)\n\ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | INSTALL.md | 36 | ### Step 0: Uninstall Wrong RTK (if needed) | COMMENT |
| LOW⚡ | .claude/agents/debugger.md | 134 | // Step 1: Parse lines | COMMENT |
| LOW⚡ | .claude/agents/debugger.md | 138 | // Step 2: Apply regex | COMMENT |
| LOW⚡ | .claude/agents/debugger.md | 144 | // Step 3: Join | COMMENT |
| LOW | .claude/rules/search-strategy.md | 73 | # Step 1: Find the routing | COMMENT |
| LOW | .claude/rules/search-strategy.md | 76 | # Step 2: Follow to module | COMMENT |
| LOW | .claude/commands/clean-worktrees.md | 38 | # Step 1: Prune stale git references | COMMENT |
| LOW | .claude/commands/clean-worktrees.md | 49 | # Step 2: Find merged worktrees | COMMENT |
| LOW | .claude/commands/clean-worktrees.md | 98 | # Step 3: Remove merged worktrees | COMMENT |
| LOW | .claude/commands/tech/clean-worktrees.md | 36 | # Step 1: Prune stale git references | COMMENT |
| LOW | .claude/commands/tech/clean-worktrees.md | 47 | # Step 2: Find merged worktrees | COMMENT |
| LOW | .claude/commands/tech/clean-worktrees.md | 95 | # Step 3: Remove merged worktrees | COMMENT |
| LOW | .claude/skills/ship/SKILL.md | 49 | ### Step 1: Determine Version Bump | COMMENT |
| LOW | .claude/skills/ship/SKILL.md | 61 | ### Step 2: Update Version | COMMENT |
| LOW | .claude/skills/ship/SKILL.md | 99 | ### Step 3: Build and Verify | COMMENT |
| LOW | .claude/skills/ship/SKILL.md | 120 | ### Step 4: Commit Version Bump | COMMENT |
| LOW | .claude/skills/ship/SKILL.md | 136 | ### Step 5: Create Git Tag | COMMENT |
| LOW | .claude/skills/ship/SKILL.md | 153 | ### Step 6: Push to Remote | COMMENT |
| LOW | .claude/skills/tdd-rust/SKILL.md | 34 | ## Step 1: Real Fixture First | COMMENT |
| LOW | .claude/skills/tdd-rust/SKILL.md | 51 | ## Step 2: Write the Test (Red) | COMMENT |
| LOW | .claude/skills/tdd-rust/SKILL.md | 107 | ## Step 3: Minimum Implementation (Green) | COMMENT |
| LOW | .claude/skills/tdd-rust/SKILL.md | 134 | ## Step 4: Accept Snapshot | COMMENT |
| LOW | .claude/skills/tdd-rust/SKILL.md | 147 | ## Step 5: Wire to main.rs (Integration) | COMMENT |
| LOW | .claude/skills/tdd-rust/SKILL.md | 185 | ## Step 6: Quality Gate | COMMENT |
| LOW | docs/guide/getting-started/quick-start.md | 23 | ## Step 1: Initialize for your AI assistant | COMMENT |
| LOW | docs/guide/getting-started/quick-start.md | 51 | ## Step 2: Use your tools normally | COMMENT |
| LOW | docs/guide/getting-started/quick-start.md | 59 | ## Step 3: Check your savings | COMMENT |
| LOW | docs/guide/getting-started/quick-start.md | 74 | ## Step 4: Unsupported commands | COMMENT |
| LOW | src/cmds/git/git_cmd.rs | 650 | // Step 1: one-line commit summary | COMMENT |
| LOW | src/cmds/git/git_cmd.rs | 700 | // Step 3: compacted diff | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hooks/pi/rtk.ts | 65 | function registerRtkUnavailableNotice(pi: ExtensionAPI) { | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 74 | def test_missing_rtk_skips_registering_pre_tool_call(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 90 | def test_missing_rtk_warns_only_once(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 105 | def test_check_rtk_found_is_quiet(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 116 | def test_check_rtk_caches_result_across_calls(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 127 | def test_rewrite_success_mutates_same_terminal_args_dict(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 140 | def test_rewrite_returncode_three_mutates_same_terminal_args_dict(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 153 | def test_rewrite_returncode_zero_mutates_when_rewrite_changes_command(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 166 | def test_expected_passthrough_returncodes_do_not_warn_or_mutate(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 187 | def test_unexpected_returncode_warns_with_stderr_details(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 202 | def test_rewrite_timeout_warns_and_preserves_original_command(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 214 | def test_file_not_found_preserves_original_command(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 225 | def test_unexpected_exception_prints_warning_and_keeps_command(self): | CODE |
| LOW⚡ | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 236 | def test_non_terminal_tool_is_noop(self): | CODE |
| LOW⚡ | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 246 | def test_missing_command_is_noop(self): | CODE |
| LOW⚡ | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 256 | def test_non_string_command_is_noop(self): | CODE |
| LOW⚡ | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 266 | def test_empty_command_strings_are_noop(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 278 | def test_empty_or_unchanged_rewrite_output_preserves_original_command(self): | CODE |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 296 | def test_cargo_init_installs_importable_plugin_that_rewrites_with_fake_rtk(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/commands/tech/codereview.md | 190 | ## Règles anti-hallucination (CRITIQUE) | COMMENT |
| MEDIUM | docs/usage/FEATURES.md | 30 | 10. [Conteneurs et orchestration](#conteneurs-et-orchestration) | CODE |
| MEDIUM | docs/usage/FEATURES.md | 929 | ## Conteneurs et orchestration | COMMENT |
| MEDIUM | scripts/test-ruby.sh | 166 | # 4. Generate scaffold (creates model + minitest files) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/benchmark.sh | 18 | # harness (run.ts, cleanup.ts, lib/) — so `rm -rf "$BENCH_DIR"` deleted that | COMMENT |
| MEDIUM | scripts/benchmark.sh | 19 | # harness from the working tree on every local run. | COMMENT |
| MEDIUM | scripts/benchmark/cloud-init.yaml | 3 | # Installs all tools needed for comprehensive RTK testing (~200 commands) | COMMENT |
| MEDIUM | src/cmds/system/search.rs | 818 | // -n. We force -nH--null for robust parsing, then drop what the engine itself | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/git_show_blob_differential_test.rs | 127 | "line {i:04} — lorem ipsum dolor sit amet with enough width to pass the budget\n" | CODE |
| LOW | tests/git_show_blob_differential_test.rs | 127 | "line {i:04} — lorem ipsum dolor sit amet with enough width to pass the budget\n" | CODE |
| LOW | src/cmds/ruby/rspec_cmd.rs | 687 | Failure/Error: expect(user.full_name).to eq("John Doe") | CODE |
| LOW | src/cmds/ruby/rspec_cmd.rs | 688 | expected: "John Doe" | CODE |
| LOW | src/cmds/ruby/rspec_cmd.rs | 861 | Failure/Error: expect(user.full_name).to eq("John Doe") | CODE |
| LOW | src/cmds/ruby/rspec_cmd.rs | 862 | expected: "John Doe" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/usage/TRACKING.md | 430 | datadog.initialize(api_key="YOUR_API_KEY") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/cmds/git/git_cmd.rs | 650 | // Step 1: one-line commit summary | COMMENT |
| LOW | src/cmds/git/git_cmd.rs | 674 | // Step 2: --stat summary | COMMENT |
| LOW | src/cmds/git/git_cmd.rs | 700 | // Step 3: compacted diff | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/rtk-economics.sh | 21 | # Check if ccusage is available | COMMENT |
| LOW | scripts/rtk-economics.sh | 28 | # Check if rtk is available | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hooks/hermes/rtk-rewrite/__init__.py | 74 | except Exception as e: | CODE |
| LOW | scripts/benchmark-sessions/lib/runner.py | 32 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hooks/hermes/rtk-rewrite/__init__.py | 40 | CODE | |
| LOW | hooks/hermes/tests/test_rtk_rewrite_plugin.py | 166 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/check-test-presence.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/benchmark-sessions/lib/runner.py | 1 | CODE |