AI Slop Code RIsk Monitor

repowise-dev/repowise

Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.

39.1 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for repowise-dev/repowise, a Python project with 7,487 GitHub stars. SynthScan examined 1,225,643 lines of code across 5285 source files, recording 34955 pattern matches distributed across 25 syntactic categories. The legacy adjusted pattern signal is 39.1 (High 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.

39.1
Adjusted Signal
39.1
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
7.5K
Stars
Python
Language
1.2M
Lines of Code
5.3K
Files
35.0K
Pattern Hits
2026-10-12
Scan Date
0.09
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 61.1/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 23.1/100 · LOW

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

Agent Over-Engineering Ratio 80.2/100 · CRITICAL

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

PR Review Velocity Impact 85.0/100 · CRITICAL

Which changes need focused human review? 34955 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 17HIGH 478MEDIUM 4481LOW 29979

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 34955 distinct pattern matches across 25 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.

Hyper-Verbose Identifiers21857 hits · 21325 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py128def _isolate_structlog_config():CODE
LOWtests/conftest.py154def _isolate_silenced_logger_levels():CODE
LOW⚡tests/unit/test_procutils.py42def test_pid_alive_dead_child() -> None:CODE
LOW⚡tests/unit/test_procutils.py47def test_pid_alive_rejects_garbage() -> None:CODE
LOW⚡tests/unit/test_procutils.py58def test_create_token_self_is_stable() -> None:CODE
LOW⚡tests/unit/test_procutils.py65def test_create_token_dead_pid_is_none_or_differs_from_live() -> None:CODE
LOWtests/unit/test_procutils.py76def test_create_token_distinguishes_processes() -> None:CODE
LOW⚡tests/unit/test_procutils.py93def test_parent_pid_of_child_is_us() -> None:CODE
LOW⚡tests/unit/test_procutils.py102def test_process_name_of_child_is_python() -> None:CODE
LOWtests/unit/test_procutils.py113def test_ancestor_chain_starts_at_parent() -> None:CODE
LOWtests/unit/test_procutils.py124def test_ancestor_chain_excludes_self_and_has_no_duplicates() -> None:CODE
LOW⚡tests/unit/test_git_commit_rows.py61def test_commit_sink_collects_full_footprint_including_non_indexable() -> None:CODE
LOWtests/unit/test_git_commit_rows.py119def test_commit_sink_since_ts_drops_old_commits() -> None:CODE
LOWtests/unit/test_git_commit_rows.py142def test_since_ts_bounds_the_numstat_walk_to_the_surviving_prefix() -> None:CODE
LOWtests/unit/test_git_commit_rows.py165def test_since_ts_newer_than_every_commit_skips_the_numstat_walk() -> None:CODE
LOWtests/unit/test_git_commit_rows.py177def test_commit_sink_default_none_is_noop() -> None:CODE
LOW⚡tests/unit/test_git_commit_rows.py202def test_build_commit_rows_features_and_ordering() -> None:CODE
LOWtests/unit/test_git_commit_rows.py241def test_build_commit_rows_author_experience_is_cumulative() -> None:CODE
LOWtests/unit/test_git_commit_rows.py289def test_build_commit_rows_truncates_subject() -> None:CODE
LOWtests/unit/test_git_commit_rows.py304def test_build_commit_rows_handles_empty_and_no_changes() -> None:CODE
LOWtests/unit/test_git_commit_rows.py323def test_build_commit_rows_committed_at_parsed() -> None:CODE
LOWtests/unit/test_git_commit_rows.py354def test_build_commit_file_rows_keeps_the_detail_the_aggregates_drop():CODE
LOW⚡tests/unit/test_git_commit_rows.py370def test_build_commit_file_rows_folds_a_repeated_path():CODE
LOW⚡tests/unit/test_git_commit_rows.py379def test_build_commit_file_rows_skips_records_without_a_sha():CODE
LOW⚡tests/unit/test_git_commit_rows.py385def test_build_commit_file_rows_covers_exactly_the_commits_it_was_given():CODE
LOWtests/unit/test_ci_sarif.py8def test_run_indexes_known_rules_and_encodes_uris():CODE
LOWtests/unit/test_ci_sarif.py30def test_result_without_a_line_or_accepted_by_a_baseline():CODE
LOW⚡tests/unit/test_git_refs.py72 def test_lists_local_and_remote_tips_newest_first(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py80 def test_symbolic_remote_head_is_skipped(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py83 def test_is_remote_separates_tracking_refs(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py90 def test_a_non_repository_yields_nothing(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py95 def test_reports_the_checked_out_branch(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py98 def test_detached_head_is_none(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py103 def test_a_non_repository_is_none(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py108 def test_prefers_the_origin_head_symbolic_ref(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py111 def test_falls_back_to_a_local_trunk(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py115 def test_falls_back_to_head_when_no_trunk_exists(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py122 def test_a_non_repository_is_head(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py127 def test_three_dot_semantics_exclude_the_base_side(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py132 def test_the_same_revision_changes_nothing(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py135 def test_an_unknown_revision_yields_nothing(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py138 def test_a_non_repository_yields_nothing(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py143 def test_ahead_counts_commits_only_on_the_branch(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py146 def test_the_orientation_reverses_with_the_arguments(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py149 def test_an_unknown_revision_is_zero(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py152 def test_a_non_repository_is_zero(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py157 def test_names_the_commit_a_branch_points_at(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py160 def test_an_unknown_revision_yields_nothing(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py163 def test_a_non_repository_yields_nothing(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py168 def test_a_range_yields_one_set_per_commit_oldest_first(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py187 def test_the_three_dot_form_reads_as_the_same_range(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py192 def test_a_single_revision_carries_nothing(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py196 def test_a_non_repository_yields_nothing(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py201 def test_a_pure_rename_names_its_new_path(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py253 def test_a_path_never_committed_yields_none(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py256 def test_a_path_still_on_disk_yields_none(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py259 def test_a_non_repository_yields_none(self, tmp_path: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py262 def test_a_path_escaping_the_repo_is_rejected(self, repo: Path) -> None:CODE
LOW⚡tests/unit/test_git_refs.py277def test_remote_name_is_the_last_url_segment(tmp_path: Path, url: str) -> None:CODE
LOW⚡tests/unit/test_git_refs.py285def test_remote_name_unescapes_a_name_with_spaces(tmp_path: Path) -> None:CODE
21797 more matches not shown…
Decorative Section Separators4304 hits · 15776 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml1# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml3# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml29# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml32# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml144# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml146# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml172# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml174# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml196# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml198# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml250# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml252# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml263# ---------------------------------------------------------------------------COMMENT
MEDIUMpyproject.toml265# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_procutils.py33# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_procutils.py35# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_procutils.py53# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_procutils.py55# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_procutils.py88# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_procutils.py90# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_commit_rows.py56# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_commit_rows.py58# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_commit_rows.py197# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_commit_rows.py199# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_repo_config_reasoning.py11# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_repo_config_reasoning.py13# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_repo_config_reasoning.py46# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_repo_config_reasoning.py48# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py204# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py206# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py384# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py386# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py852# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py854# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py963# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py965# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py1053# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py1055# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py1134# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/test_git_indexer.py1136# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py13# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py45# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py47# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py151# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py680# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_git_indexer.py682# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_ids.py194# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/test_ids.py198# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py44# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py46# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py72# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py74# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py109# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py153# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/unit/pipeline/test_resume.py155# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/pipeline/test_resume.py228# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/unit/pipeline/test_resume.py230# ---------------------------------------------------------------------------COMMENT
4244 more matches not shown…
Unused Imports5102 hits · 4559 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py3CODE
LOWtests/unit/test_procutils.py9CODE
LOWtests/unit/test_git_commit_rows.py8CODE
LOWtests/unit/test_ci_sarif.py3CODE
LOWtests/unit/test_git_refs.py3CODE
LOWtests/unit/test_platform_telemetry.py8CODE
LOWtests/unit/conftest.py3CODE
LOWtests/unit/test_ci_action.py9CODE
LOWtests/unit/test_blas_threads.py15CODE
LOWtests/unit/test_repo_config_invalidation.py1CODE
LOWtests/unit/test_pytest_roots.py3CODE
LOWtests/unit/test_ci_gitlab.py3CODE
LOWtests/unit/test_installed_components.py4CODE
LOWtests/unit/test_git_commit_index.py3CODE
LOWtests/unit/test_no_test_path_copies.py21CODE
LOWtests/unit/test_no_bare_type_name_copies.py28CODE
LOWtests/unit/test_manifest_gitignore.py10CODE
LOWtests/unit/test_repo_config_reasoning.py3CODE
LOWtests/unit/test_no_hotspot_health_copies.py24CODE
LOWtests/unit/test_support_paths.py3CODE
LOWtests/unit/test_ci.py3CODE
LOWtests/unit/test_test_paths.py9CODE
LOWtests/unit/test_git_indexer.py3CODE
LOWtests/unit/test_release_manifests.py25CODE
LOWtests/unit/test_language_support_docs.py1CODE
LOWtests/unit/test_structlog_isolation.py3CODE
LOWtests/unit/test_csharp_dead_code_markers.py9CODE
LOWtests/unit/test_no_doc_extension_copies.py18CODE
LOWtests/unit/test_no_unranked_truncation.py35CODE
LOWtests/unit/test_ids.py3CODE
LOWtests/unit/test_cache_seal.py3CODE
LOWtests/unit/test_co_change.py3CODE
LOWtests/unit/test_fts_query.py13CODE
LOWtests/unit/test_code_origin.py3CODE
LOWtests/unit/test_no_barrel_filename_copies.py1CODE
LOWtests/unit/test_function_blame_rollup.py3CODE
LOWtests/unit/test_repo_config_errors.py9CODE
LOWtests/unit/pipeline/test_coverage_ingestion.py8CODE
LOWtests/unit/pipeline/test_tombstone_absent_files.py13CODE
LOW…s/unit/pipeline/test_framework_edge_failure_visible.py11CODE
LOWtests/unit/pipeline/test_generation_progress_split.py10CODE
LOWtests/unit/pipeline/test_phase_timing.py3CODE
LOW…sts/unit/pipeline/test_load_stored_function_mod_p80.py6CODE
LOWtests/unit/pipeline/test_run_generation_test_run.py11CODE
LOWtests/unit/pipeline/test_authoritative_page_types.py21CODE
LOWtests/unit/pipeline/test_git_partial_clone_warning.py3CODE
LOWtests/unit/pipeline/test_decision_source_reporting.py9CODE
LOWtests/unit/pipeline/test_drop_transient_git_signals.py11CODE
LOWtests/unit/pipeline/test_doc_drift_incremental.py9CODE
LOWtests/unit/pipeline/test_doc_drift_phase.py9CODE
LOWtests/unit/pipeline/test_update_phase_timings.py9CODE
LOWtests/unit/pipeline/test_parallel_source_reads.py8CODE
LOWtests/unit/pipeline/test_partial_health_scope.py10CODE
LOWtests/unit/pipeline/test_load_stored_git_meta.py9CODE
LOWtests/unit/pipeline/test_cancellation.py9CODE
LOWtests/unit/pipeline/test_update_graph_convergence.py15CODE
LOW…ts/unit/pipeline/test_incremental_failure_isolation.py11CODE
LOWtests/unit/pipeline/test_resume.py9CODE
LOWtests/unit/pipeline/test_load_stored_coverage_map.py7CODE
LOW…ts/unit/pipeline/test_entry_point_score_persistence.py9CODE
5042 more matches not shown…
Cross-Language Confusion272 hits · 1580 pts
SeverityFileLineSnippetContext
HIGH⚡tests/unit/test_code_origin.py210 " public DateTime(int year, int month, int day) { throw null; }\n"CODE
HIGH⚡tests/unit/test_code_origin.py217 body = "namespace L { public class C { public int M() { throw null; } } }\n"CODE
HIGH⚡tests/unit/test_code_origin.py356 "namespace L { // callers may throw null; see docs\n public class C { int M() => 1; } }\n"CODE
HIGHtests/unit/ingestion/test_jvm_type_refs.py224 "package com.foo\nclass Holder { val r: Repo? = null }\n",CODE
HIGH⚡tests/unit/ingestion/test_ts_reexport_dead_code.py99 "pkg/src/comp/search-bar.tsx": "export function SearchBar() {\n return null;\n}\n",CODE
HIGHtests/unit/ingestion/test_ts_reexport_dead_code.py116 "pkg/src/widget.tsx": "export function Widget() {\n return null;\n}\n",CODE
HIGHtests/unit/ingestion/test_ts_framework_edges.py126 "export function getUserHandler() { return null; }\n"CODE
HIGHtests/unit/ingestion/test_bare_name_index_kinds.py164 "import { base } from './base';\nexport const doThing = base.bind(null);\n",CODE
HIGHtests/unit/ingestion/test_overload_identity.py99 if (obj == null) throw new IllegalArgumentException(msg);CODE
HIGHtests/unit/ingestion/test_spring_framework_edges.py257 " private final User cachedUser = null;\n"CODE
HIGH⚡tests/unit/ingestion/test_call_resolver_strategies.py1179 members=" private final List<Object> items = null;\n",CODE
HIGH⚡tests/unit/ingestion/test_call_resolver_strategies.py1206 " public Object get(int i) { return null; }\n}\n"CODE
HIGH⚡tests/unit/ingestion/test_call_resolver_strategies.py1219 " public Object get(int i) { return null; }\n}\n"CODE
HIGH⚡tests/unit/ingestion/test_call_resolver_strategies.py1232 " public Object get(int i) { return null; }\n}\n"CODE
HIGH⚡tests/unit/ingestion/test_call_resolver_strategies.py1246 ") {\n String data = null;\n return this.data.get(0);",CODE
HIGH⚡tests/unit/ingestion/test_call_resolver_strategies.py1259 " public Object get(int i) { return null; }\n }\n}\n"CODE
HIGHtests/unit/ingestion/test_call_resolver_strategies.py1144 " public Object get(int i) { return null; }\n"CODE
HIGH⚡tests/unit/ingestion/test_shadowed_bare_calls.py258 text = "for (const [k, v] of xs) {\n out.push(serialize(k, v))\n}\nh['x'] = 1\n"STRING
HIGH⚡tests/unit/ingestion/test_csharp_partials.py205 " public static object Bulkhead(int n, int q) => null;\n}\n"CODE
HIGH⚡tests/unit/ingestion/test_csharp_partials.py209 " public static object Bulkhead<TResult>(int n) => null;\n}\n"CODE
HIGHtests/unit/ingestion/test_csharp_framework_edges.py379 " public AppDbContext CreateDbContext(string[] args) => null;\n}\n"CODE
HIGH⚡tests/unit/ingestion/test_fix_shape.py183 removed=[" ctx.push()"],CODE
HIGH⚡tests/unit/ingestion/test_fix_shape.py184 added=[" ctx.push()"],CODE
HIGH⚡tests/unit/ingestion/test_receiver_types.py99 body = "public void Go() { Ocelot.Configuration.Route route = null; }"CODE
HIGH⚡tests/unit/ingestion/test_receiver_types.py392 " fun run() { timeout.toString() }\n}"CODE
HIGH⚡tests/unit/ingestion/test_receiver_types.py400 " fun run() { timeout.toString() }\n}"CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py342 own = "package a;\nclass Duration { static Duration ofSeconds(int s) { return null; }\n long toNanos() { return 0; }CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py607 tmp_path, 'RuleFor(x => x.Text).Must(t => t != null).WithMessage("m").When(m => true);'CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py616 edges = _csharp_chain_edges(tmp_path, "RuleFor(x => x.Child).SetValidator(null);")CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py636 "Plain.Make().When(m => true, null);",CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py637 {"Plain.cs": "public class Plain { public static Plain Make() { return null; } }\n"},CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py650 "public class Plain : Stream { public static Plain Make() { return null; } }\n"CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py665 "public class Store { public static Task<int> Load() { return null; }\n"CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py684 "public class Builder { public static Builder Create() { return null; }\n"CODE
HIGH⚡…ts/unit/ingestion/test_return_type_chain_resolution.py685 " public object Build() { return null; } }\n"CODE
HIGH…ts/unit/ingestion/test_return_type_chain_resolution.py551 "(this IRuleBuilder<T, P> rule, Func<P, bool> check) { return null; }\n"CODE
HIGH…ts/unit/ingestion/test_return_type_chain_resolution.py562 " public IRuleBuilderInitial<T, P> RuleFor<P>(Func<T, P> pick) { return null; }\n"CODE
HIGH⚡tests/unit/ingestion/test_type_head_identifiers.py159 "function f(a: Foo | null) {}\n",CODE
HIGHtests/unit/ingestion/test_chained_receiver_calls.py152 "class Car { engine: Engine | null; }\n"CODE
HIGHtests/unit/ingestion/parser/test_method_signatures.py15 b"class Example { V get(K key) { return null; } }",CODE
HIGH⚡tests/unit/ingestion/parser/test_typescript.py477 return null;CODE
HIGH⚡tests/unit/ingestion/parser/test_typescript.py479const Memoized = React.memo(function Inner() { return null; });CODE
HIGH⚡tests/unit/ingestion/parser/test_typescript.py480const Ctx = createContext(null);CODE
HIGH⚡tests/unit/ingestion/parser/test_typescript.py543const AccordionItem = React.forwardRef((props, ref) => null);CODE
HIGH⚡tests/unit/ingestion/parser/test_typescript.py544const Memoized = React.memo(function Inner() { return null; });CODE
HIGH⚡tests/unit/ingestion/parser/test_typescript.py552const Ctx = createContext(null);CODE
HIGHtests/unit/ingestion/parser/test_typescript.py614const AccordionItem = React.forwardRef((props, ref) => null);CODE
HIGH⚡tests/unit/analysis/test_signature_effect.py280 widened = _effect("function f(x: string)", "function f(x: string | null)", "typescript")CODE
HIGHtests/unit/analysis/test_security_scan.py163 ("while ((m = re.exec(expr)) !== null) {}\n", set()),CODE
HIGH⚡tests/unit/dead_code/test_entry_shape.py53 "app/routes/home.tsx": "export default function Home() { return null }\n",CODE
HIGHtests/unit/dead_code/test_jsx_prop_guard_dead_code.py45 child_file.write_text("export function Child() { return null; }")STRING
HIGH⚡tests/unit/health/test_dataflow_langs.py1010 out.push(r);CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2340 if state.stdin_consumed && arg == "-" {CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2343 paths.push(arg);CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2451 out.push(limit);CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2453 out.push(doubled);CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2470 re.push('[');CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2472 re.push('^');CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2476 re.push(r.0);CODE
HIGH⚡tests/unit/health/test_dataflow_langs.py2478 re.push(r.1);CODE
212 more matches not shown…
Excessive Try-Catch Wrapping1177 hits · 1153 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py37 except Exception:CODE
LOWtests/conftest.py44 except Exception:CODE
LOW⚡tests/unit/pipeline/test_cancellation.py65 except Exception:CODE
LOWtests/unit/pipeline/test_update_graph_convergence.py71 except Exception:CODE
LOWtests/unit/ingestion/parser/test_cobol.py18except Exception as exc: # pragma: no cover - depends on first-use grammar cache/networkCODE
LOWtests/unit/health/test_dataflow_langs.py29 except Exception:CODE
LOW⚡tests/unit/health/test_class_biomarkers.py88 except Exception:CODE
MEDIUMtests/unit/health/test_class_biomarkers.py85def test_low_cohesion_skips_overloaded_formatter_class():CODE
LOWtests/unit/health/test_complexity_walker.py47 except Exception:CODE
LOWtests/unit/health/test_language_node_maps.py28 except Exception:CODE
LOWtests/unit/health/test_language_node_maps.py553 except Exception:STRING
LOWtests/unit/health/refactoring_tree_fixture.py98 except Exception:CODE
LOWtests/unit/health/test_ff_track_d_exceptions.py31 except Exception:CODE
LOWtests/unit/health/test_ff_track_d_exceptions.py35 except Exception:CODE
MEDIUMtests/unit/health/test_dataflow_facts.py21def _require_python() -> None:CODE
LOWtests/unit/health/test_dataflow_facts.py24 except Exception:CODE
LOW⚡tests/unit/health/test_dataflow_facts.py338 except Exception:STRING
LOWtests/unit/health/test_dataflow_facts.py368 except Exception:STRING
LOWtests/unit/health/test_dataflow_facts.py388 except Exception:STRING
LOWtests/unit/health/test_extract_method_live_out.py732 except Exception:STRING
LOWtests/unit/health/test_extract_method_live_out.py818 except Exception:STRING
LOWtests/unit/health/test_cross_file_oracle.py34 except Exception:CODE
MEDIUMtests/unit/health/test_perf_promotion.py21def _require_python() -> None:CODE
LOWtests/unit/health/test_perf_promotion.py24 except Exception:CODE
LOWtests/unit/health/test_error_handling.py170 except Exception:CODE
LOWtests/unit/health/test_error_handling.py174 except Exception:CODE
LOWtests/unit/health/test_assertion_free_test.py25 except Exception:CODE
LOWtests/unit/health/test_mock_saturated_test.py41 except Exception:CODE
LOWtests/unit/health/test_perf_unbounded_reduction.py27 except Exception:CODE
MEDIUMtests/unit/health/test_perf_unbounded_reduction.py24def _require_python() -> None:CODE
LOWtests/unit/health/test_assertion_vocabulary.py29 except Exception:CODE
LOWtests/unit/health/test_ff_track_bch_complexity.py31 except Exception: # pragma: no cover - depends on optional depsCODE
LOWtests/unit/health/test_ast_callee_names.py25 except Exception:CODE
MEDIUMtests/unit/health/test_refactoring_extract_method.py56def _require_python() -> None:CODE
MEDIUMtests/unit/health/test_refactoring_extract_method.py412def test_prefix_sum_matches_per_span_reference_go():CODE
LOW⚡tests/unit/health/test_refactoring_extract_method.py415 except Exception:STRING
LOWtests/unit/health/test_refactoring_extract_method.py59 except Exception:STRING
LOWtests/unit/health/test_refactoring_extract_method.py962 except Exception:STRING
MEDIUMtests/unit/health/test_perf_lazy_load.py24def _require_python() -> None:CODE
LOWtests/unit/health/test_perf_lazy_load.py27 except Exception:CODE
MEDIUMtests/unit/health/test_extract_method_span_interface.py129def f(x):CODE
MEDIUMtests/unit/health/test_extract_method_span_interface.py135def check():CODE
LOW⚡tests/unit/health/test_extract_method_span_interface.py469 except Exception as exc:CODE
LOW⚡tests/unit/health/test_extract_method_span_interface.py476 except Exception as exc:CODE
LOWtests/unit/health/test_extract_method_span_interface.py154 except Exception as e:CODE
LOWtests/unit/health/test_extract_method_span_interface.py132 except Exception as e:STRING
LOWtests/unit/health/test_go_value_writes.py53 except Exception:STRING
MEDIUMtests/unit/health/test_dataflow_cfg.py25def _require_python() -> None:CODE
MEDIUMtests/unit/health/test_dataflow_cfg.py360def f():CODE
LOW⚡tests/unit/health/test_dataflow_cfg.py542 except Exception:CODE
LOWtests/unit/health/test_dataflow_cfg.py28 except Exception:CODE
LOWtests/unit/health/test_nested_function_complexity.py29 except Exception:CODE
LOWtests/unit/health/test_perf_promotion_engine.py20 except Exception:CODE
MEDIUMtests/unit/health/test_perf_promotion_engine.py17def _require_python() -> None:CODE
LOWtests/unit/health/test_extract_method_stages.py78 except Exception as exc:CODE
MEDIUMtests/unit/health/test_dataflow_reaching.py25def _require_python() -> None:CODE
MEDIUMtests/unit/health/test_dataflow_reaching.py400def f():CODE
MEDIUMtests/unit/health/test_dataflow_reaching.py427def f():CODE
MEDIUMtests/unit/health/test_dataflow_reaching.py451def f():CODE
LOWtests/unit/health/test_dataflow_reaching.py28 except Exception:CODE
1117 more matches not shown…
Empty Error Handlers127 hits · 635 pts
SeverityFileLineSnippetContext
HIGHtests/conftest.py37except Exception:CODE
HIGHtests/conftest.py44except Exception:CODE
HIGHtests/unit/pipeline/test_cancellation.py67except PipelineCancelled:CODE
HIGHtests/unit/pipeline/test_update_graph_convergence.py71except Exception:CODE
HIGHtests/unit/cli/test_vscode_setup.py113except ValueError:CODE
HIGHtests/unit/cli/test_vscode_setup.py163except ValueError:CODE
HIGHtests/unit/cli/test_telemetry.py404except click.ClickException:CODE
HIGHtests/integration/test_deterministic_generation.py46except Exception:CODE
HIGHtests/integration/test_deterministic_generation.py294except Exception:CODE
HIGHtests/integration/test_deterministic_generation.py206except Exception:CODE
HIGHtests/integration/test_generation_determinism.py51except Exception:CODE
HIGHtests/integration/test_cpp_dead_code.py50except Exception:CODE
HIGHtests/integration/test_wiki_idempotence.py61except Exception:CODE
HIGHtests/integration/test_jvm_dead_code.py53except Exception:CODE
HIGHtests/integration/test_dead_code_integration.py31except Exception:CODE
HIGHtests/integration/test_persistence.py100except Exception:CODE
HIGHtests/integration/test_generation_pipeline.py191except Exception:CODE
HIGHscripts/validate_quality.py39except Exception:CODE
HIGHscripts/benchmark_upgrade.py55except Exception:CODE
HIGHpackages/core/src/repowise/core/repo_config.py356except OSError:CODE
HIGHpackages/core/src/repowise/core/pipeline/reparse.py56except Exception:CODE
HIGHpackages/core/src/repowise/core/pipeline/incremental.py112except Exception:CODE
HIGHpackages/core/src/repowise/core/pipeline/incremental.py1016except Exception:CODE
HIGH…es/core/src/repowise/core/pipeline/resume/rehydrate.py122except ValueError:CODE
HIGHpackages/core/src/repowise/core/upgrade/release.py148except Exception:CODE
HIGH…/src/repowise/core/ingestion/git_indexer/_constants.py35except Exception:CODE
HIGH…ore/src/repowise/core/ingestion/git_indexer/records.py606except Exception:CODE
HIGH…rc/repowise/core/ingestion/git_indexer/file_history.py276except ValueError:CODE
HIGH…rc/repowise/core/ingestion/git_indexer/file_history.py579except Exception:CODE
HIGH…ges/core/src/repowise/core/ingestion/resolvers/ruby.py91except OSError:CODE
HIGH…ages/core/src/repowise/core/ingestion/resolvers/cpp.py109except ValueError:CODE
HIGH…src/repowise/core/ingestion/resolvers/jvm_workspace.py479except Exception:CODE
HIGH…kages/core/src/repowise/core/ingestion/resolvers/go.py20except Exception:CODE
HIGHpackages/core/src/repowise/core/analysis/communities.py139except ImportError:CODE
HIGHpackages/core/src/repowise/core/analysis/kg_inputs.py58except Exception: # pragma: no cover - defensiveCODE
HIGH…kages/core/src/repowise/core/analysis/security_scan.py796except SyntaxError:CODE
HIGH…core/src/repowise/core/analysis/decisions/evolution.py715except (TypeError, ValueError):CODE
HIGH…kages/core/src/repowise/core/providers/llm/opencode.py133except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py186except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py203except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py114except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py124except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py257except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py92except Exception:CODE
HIGHpackages/core/src/repowise/core/workspace/update.py888except Exception:CODE
HIGH…ages/core/src/repowise/core/sessions/adapters/codex.py220except OSError:CODE
HIGH…epowise/core/persistence/vector_store/lancedb_store.py84except OSError:CODE
HIGH…powise/core/persistence/vector_store/pgvector_store.py34except (json.JSONDecodeError, AttributeError):CODE
HIGH…/core/src/repowise/core/persistence/crud/repository.py155except OSError:CODE
HIGH…/src/repowise/core/persistence/crud/analysis/health.py438except (TypeError, ValueError):CODE
HIGH…/src/repowise/core/persistence/crud/analysis/health.py447except Exception:CODE
HIGH…src/repowise/core/persistence/crud/analysis/actions.py394except Exception: # an index from before ingests were recordedCODE
HIGH…s/core/src/repowise/core/generation/knowledge_graph.py500except json.JSONDecodeError:CODE
HIGH…ges/core/src/repowise/core/generation/related_pages.py314except Exception:CODE
HIGH…repowise/core/generation/context/graph_intelligence.py89except Exception:CODE
HIGH…repowise/core/generation/context/graph_intelligence.py155except Exception:CODE
HIGH…repowise/core/generation/context/graph_intelligence.py182except Exception:CODE
HIGH…repowise/core/generation/page_generator/orchestrate.py555except Exception:CODE
HIGH…/src/repowise/core/generation/page_generator/levels.py108except Exception:CODE
HIGH…se/core/generation/onboarding/subkinds/key_concepts.py152except Exception:CODE
67 more matches not shown…
Deep Nesting620 hits · 580 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_no_test_path_copies.py122CODE
LOWtests/unit/test_no_bare_type_name_copies.py221CODE
LOWtests/unit/ingestion/test_edge_type_vocabulary.py97CODE
LOWtests/unit/ingestion/test_edge_type_vocabulary.py136CODE
LOWtests/unit/ingestion/test_edge_type_vocabulary.py272CODE
LOWtests/unit/ingestion/test_godot_project_awareness.py434CODE
LOWtests/unit/ingestion/test_overload_identity.py496CODE
LOWtests/unit/ingestion/test_fs_walk.py570CODE
LOWtests/unit/savings/test_repository.py216CODE
LOWtests/unit/analysis/test_security_scan_history.py166CODE
LOWtests/unit/dead_code/_helpers.py19CODE
LOWtests/unit/health/test_snapshot_writers_agree.py34CODE
LOWtests/unit/health/test_dataflow_langs.py1786CODE
LOWtests/unit/health/test_extract_method_live_out.py587CODE
LOWtests/unit/health/test_function_hotspot.py14CODE
LOWtests/unit/health/test_refactoring_extract_method.py238CODE
LOWtests/unit/health/test_refactoring_split_file.py146CODE
LOWtests/unit/health/test_refactoring_split_file.py496CODE
LOW…s/unit/server/mcp/test_wire_representation_contract.py143CODE
LOWtests/unit/server/mcp/test_answer_backtick_masking.py145CODE
LOWtests/unit/server/mcp/test_answer_backtick_masking.py161CODE
LOW…unit/server/mcp/test_cross_tool_reference_contracts.py258CODE
LOW…unit/server/mcp/test_cross_tool_reference_contracts.py508CODE
LOWtests/unit/server/mcp/test_retrieval_guard.py105CODE
LOWtests/unit/server/mcp/test_retrieval_guard.py189CODE
LOWtests/unit/server/mcp/test_retrieval_guard.py123CODE
LOWtests/unit/server/mcp/test_why_evidence_contract.py23CODE
LOWtests/unit/persistence/test_decision_supersession.py50CODE
LOWtests/unit/test_providers/test_provider_specs.py121CODE
LOWtests/unit/generation/test_architecture_mermaid.py68CODE
LOWscripts/gen_plugin_content.py207CODE
LOWscripts/gen_plugin_content.py266CODE
LOWscripts/measure_mcp_response_sizes.py193CODE
LOWpackages/core/src/repowise/core/cache_seal.py202CODE
LOWpackages/core/src/repowise/core/stats_highlights.py261CODE
LOWpackages/core/src/repowise/core/update_lock.py175CODE
LOWpackages/core/src/repowise/core/repo_config.py290CODE
LOWpackages/core/src/repowise/core/fs_walk.py341CODE
LOWpackages/core/src/repowise/core/pipeline/checkpoint.py145CODE
LOWpackages/core/src/repowise/core/pipeline/persist.py405CODE
LOWpackages/core/src/repowise/core/pipeline/persist.py2086CODE
LOW…ckages/core/src/repowise/core/pipeline/orchestrator.py189CODE
LOWpackages/core/src/repowise/core/pipeline/full_index.py16CODE
LOWpackages/core/src/repowise/core/pipeline/incremental.py53CODE
LOWpackages/core/src/repowise/core/pipeline/incremental.py1898CODE
LOW…es/core/src/repowise/core/pipeline/phases/ingestion.py407CODE
LOW…es/core/src/repowise/core/pipeline/phases/ingestion.py753CODE
LOW…ges/core/src/repowise/core/pipeline/phases/analysis.py383CODE
LOWpackages/core/src/repowise/core/upgrade/manager.py151CODE
LOW…/core/src/repowise/core/ingestion/tsconfig_resolver.py466CODE
LOW…/core/src/repowise/core/ingestion/tsconfig_resolver.py171CODE
LOW…/core/src/repowise/core/ingestion/tsconfig_resolver.py263CODE
LOW…ges/core/src/repowise/core/ingestion/dispatch_edges.py113CODE
LOW…kages/core/src/repowise/core/ingestion/return_types.py25CODE
LOW…/core/src/repowise/core/ingestion/heritage_resolver.py155CODE
LOW…es/core/src/repowise/core/ingestion/cpp_macro_facts.py301CODE
LOW…kages/core/src/repowise/core/ingestion/import_index.py38CODE
LOWpackages/core/src/repowise/core/ingestion/type_names.py49CODE
LOWpackages/core/src/repowise/core/ingestion/type_names.py97CODE
LOWpackages/core/src/repowise/core/ingestion/type_names.py155CODE
560 more matches not shown…
Over-Commented Block548 hits · 498 pts
SeverityFileLineSnippetContext
LOWpyproject.toml161# and the web what's-new view work offline from the installed wheel. Lives inCOMMENT
LOWci/gitlab/repowise.gitlab-ci.yml1# Repowise CI gates for GitLab merge requests.COMMENT
LOWci/gitlab/repowise.gitlab-ci.yml21# REPOWISE_COVERAGE_FAIL_UNDER Minimum patch coverage percent.COMMENT
LOWtests/unit/test_no_test_path_copies.py61 # `protest/`, `latest/` and `contest/` all counted as tests, whileCOMMENT
LOWtests/unit/test_no_test_path_copies.py81 # Excludes bare `test/` on purpose: `django/test/` and `flask/testing.py`COMMENT
LOWtests/unit/test_no_bare_type_name_copies.py61 _INGESTION / "heritage_resolver.py",COMMENT
LOWtests/unit/test_no_bare_type_name_copies.py81 # dotted receiver (`this.a.b`) hop by hop: an instance path, where everyCOMMENT
LOWtests/unit/test_no_bare_type_name_copies.py101 # Qualifies a PHP name against its `use` alias (the HEAD segment) andCOMMENT
LOWtests/unit/ingestion/test_fs_walk.py501 _write(tmp_path, "a/b/c/package.json", "{}") # 4 parts — boundary, keptCOMMENT
LOWtests/unit/ingestion/test_fs_walk.py521# nested repos even when matches are filtered afterwards;COMMENT
LOWtests/unit/ingestion/parser/test_pascal.py221COMMENT
LOWtests/unit/ingestion/parser/test_typescript.py201 ) -> None:COMMENT
LOWtests/unit/health/test_refactoring_extract_helper.py561COMMENT
LOWtests/unit/workspace/test_extraction_walk_budget.py161 monkeypatch: pytest.MonkeyPatch,COMMENT
LOWtests/unit/distill/test_rewrite_perf.py141 # on the worst sample so a real "sometimes takes a second" failure stillCOMMENT
LOWtests/unit/server/mcp/test_keyless_vector_leg.py241# --------------------------------------------------------------------------COMMENT
LOWtests/unit/server/mcp/test_tool_table_drift.py41 # Header + separator + one line per row.COMMENT
LOWtests/unit/cli/test_pricing_table_agreement.py21from __future__ import annotationsCOMMENT
LOWtests/unit/cli/test_agent_matrix.py221COMMENT
LOWtests/unit/generation/test_page_confidence.py41)COMMENT
LOWtests/unit/generation/test_page_selection.py81 records = [PageRecord("file_page:src/a.py", "file_page", "src\\a.py", is_template=True)]COMMENT
LOWtests/unit/generation/test_vocabulary_house_terms.py861 "Blast radius is the set of accounts a posting can reach through the ledger graph."COMMENT
LOWdocs/design/no-raw-hex-check.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/kg_validate/kg_checks.py21COMMENT
LOWscripts/kg_validate/kg_checks.py41SMALL_REPO_FILES = 10COMMENT
LOWpackages/ui/__tests__/docs/docs-tree.test.tsx861 });COMMENT
LOWpackages/ui/scripts/no-raw-hex-check.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/ui/scripts/ui-gates.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/ui/src/present/build-present-model.ts1// Build a Present deck from already-loaded wiki pages. Pure and synchronous:COMMENT
LOWpackages/ui/src/commits/code-evolution-chart.tsx41COMMENT
LOWpackages/ui/src/commits/priority-badge.tsx1import { cn } from "../lib/cn";COMMENT
LOWpackages/ui/src/health/health-file-drawer.tsx341 for (const c of breakdown?.categories ?? []) {COMMENT
LOWpackages/ui/src/graph/graph-legend.tsx301COMMENT
LOWpackages/ui/src/graph/symbol-relations.ts21/** Heading per edge type, per side. Both halves of a relation are named, sinceCOMMENT
LOWpackages/ui/src/graph/graph-flow.tsx301 // reading promises "how they depend on each other". The old default wasCOMMENT
LOWpackages/ui/src/graph/graph-flow.tsx721 // Gated on the fetch actually being in flight. Holding on `!communitySlice`COMMENT
LOWpackages/ui/src/graph/sigma/graphology-adapter.ts461 // The community seed above IS the layout — mark it settled so use-fa2-layoutCOMMENT
LOWpackages/ui/src/graph/sigma/use-sigma.ts721 // which evaluates on every render and discards all but the first result —COMMENT
LOWpackages/ui/src/wiki/wiki-markdown.tsx181 }COMMENT
LOWpackages/ui/src/docs/docs-tree.tsx281// longest-prefix path matching to guess which module owned a file. It is nowCOMMENT
LOWpackages/ui/src/docs/docs-tree.tsx321 "layer_page",COMMENT
LOWpackages/ui/src/docs/docs-tree.tsx921 );COMMENT
LOWpackages/ui/src/docs/reader-persona.ts1// Reader personas — a client-side lens that filters which sections of aCOMMENT
LOWpackages/ui/src/docs/reader-persona.ts21COMMENT
LOWpackages/ui/src/docs/page-labels.ts1// Display labels for wiki pages — replace raw graph ids with derived names.COMMENT
LOWpackages/ui/src/docs/doc-nav.ts1// Framework-neutral navigation helpers for the wiki reader.COMMENT
LOWpackages/ui/src/decisions/decisions-table.tsx161 cellClassName: "text-[var(--color-text-secondary)]",COMMENT
LOWpackages/ui/src/lib/layers.ts1// Which layer of the architecture spine a page belongs to, and how to group aCOMMENT
LOWpackages/ui/src/lib/page-types.ts141// ---------------------------------------------------------------------------COMMENT
LOWpackages/ui/src/lib/page-types.ts161 getting_started: "Getting Started",COMMENT
LOWpackages/ui/src/files/file-overview-tab.tsx41 const fixedCount = Object.values(rawFixCounts).filter((n) => n > 0).length;COMMENT
LOWpackages/types/src/decisions.ts1/**COMMENT
LOWpackages/core/src/repowise/core/co_change.py41 "parse_partners",COMMENT
LOWpackages/core/src/repowise/core/update_lock.py21COMMENT
LOWpackages/core/src/repowise/core/code_origin.py81# Longest first, so "/*" is stripped whole rather than as "/".COMMENT
LOWpackages/core/src/repowise/core/test_paths.py81# tree when its last word, the head of the compound, is one of these. Only theCOMMENT
LOWpackages/core/src/repowise/core/test_paths.py101# Plural only, for the reason above (``HitTest/`` is a UI feature), and matchedCOMMENT
LOWpackages/core/src/repowise/core/test_paths.py121# OpenAPI/language specifications as it is RSpec, and "t" is a single letterCOMMENT
LOWpackages/core/src/repowise/core/test_paths.py141# Directories that hold the scaffolding rather than the tests. These only countCOMMENT
LOWpackages/core/src/repowise/core/test_paths.py161# ignores any directory of that name - which is why it needs no Go file toCOMMENT
488 more matches not shown…
Modern Structural Boilerplate418 hits · 422 pts
SeverityFileLineSnippetContext
LOWtests/unit/pipeline/test_generation_progress_split.py39 def set_cost(self, total_cost: float) -> None:CODE
LOW⚡tests/unit/ingestion/test_py_visibility_refinement.py54__all__ = ["foo", "Bar", "CONST_VAL"]CODE
LOWtests/unit/ingestion/test_py_visibility_refinement.py69__all__ = ["_internal_hook", "foo"]CODE
LOWtests/unit/ingestion/test_py_visibility_refinement.py88__all__ = ["foo"]CODE
LOWtests/unit/ingestion/test_py_visibility_refinement.py116__all__ = ["MyClass", "_module_helper"]CODE
LOW⚡tests/unit/server/mcp/test_mcp_exclude_filter.py155def _set_excluded(monkeypatch, tmp_path, pattern: str) -> None:CODE
LOWtests/unit/server/mcp/test_hotspot_health_surfaces.py24async def _set_hotspots(session, repo_id: str, paths: set[str]) -> None:CODE
LOW⚡tests/unit/cli/test_workspace_cmd.py463 def _setup(self, root: Path) -> None:CODE
LOWtests/unit/cli/test_init_agent_backend.py29def _set_up(monkeypatch: Any, *target_ids: str) -> None:CODE
LOWtests/unit/cli/test_update_stale_reconciliation.py254 async def _setup_shared_db() -> None:CODE
LOWtests/unit/persistence/conftest.py58__all__ = ["insert_repo", "make_page_kwargs", "make_repo_kwargs"]CODE
LOWpackages/core/src/repowise/core/co_change.py30__all__ = [CODE
LOWpackages/core/src/repowise/core/references.py147__all__ = [CODE
LOWpackages/core/src/repowise/core/git_refs.py19__all__ = [CODE
LOWpackages/core/src/repowise/core/cache_seal.py30__all__ = [CODE
LOWpackages/core/src/repowise/core/cancellation.py63def set_active_token(token: CancellationToken | None) -> None:CODE
LOWpackages/core/src/repowise/core/docs_mode.py19__all__ = ["DOCS_MODES", "DocsMode", "docs_mode_state_fields", "resolve_docs_mode"]CODE
LOWpackages/core/src/repowise/core/support_paths.py19__all__ = [CODE
LOWpackages/core/src/repowise/core/callable_spans.py61__all__ = ["body_span", "signature_end"]CODE
LOWpackages/core/src/repowise/core/code_origin.py37__all__ = [CODE
LOWpackages/core/src/repowise/core/installed_components.py25__all__ = ["is_installed_component"]CODE
LOWpackages/core/src/repowise/core/fs_walk.py49__all__ = ["PRUNED_DIRS", "PRUNED_DIRS_DERIVED", "WalkSnapshot", "iter_glob", "walk_repo"]CODE
LOWpackages/core/src/repowise/core/pipeline/checkpoint.py38__all__ = [CODE
LOWpackages/core/src/repowise/core/pipeline/__init__.py30__all__ = [CODE
LOWpackages/core/src/repowise/core/pipeline/modes.py25__all__ = ["OrchestratorMode"]CODE
LOWpackages/core/src/repowise/core/pipeline/fix_rollups.py35__all__ = ["apply_fix_rollups"]CODE
LOW…es/core/src/repowise/core/pipeline/resume/rehydrate.py30__all__ = [CODE
LOW…ges/core/src/repowise/core/pipeline/resume/__init__.py23__all__ = [CODE
LOWpackages/core/src/repowise/core/upgrade/release.py173__all__ = [CODE
LOWpackages/core/src/repowise/core/upgrade/version.py88__all__ = [CODE
LOWpackages/core/src/repowise/core/upgrade/registry.py82__all__ = ["MIGRATIONS", "Migration", "migrations_between"]CODE
LOWpackages/core/src/repowise/core/upgrade/__init__.py28__all__ = [CODE
LOWpackages/core/src/repowise/core/upgrade/changelog.py144__all__ = [CODE
LOWpackages/core/src/repowise/core/upgrade/manager.py242__all__ = ["UpgradeContext", "apply_auto", "assess", "stamp"]CODE
LOWpackages/core/src/repowise/core/upgrade/verdict.py83__all__ = [CODE
LOW…/core/src/repowise/core/ingestion/python_local_refs.py51__all__ = ["extract_python_local_refs"]CODE
LOWpackages/core/src/repowise/core/ingestion/__init__.py64__all__ = [CODE
LOW…kages/core/src/repowise/core/ingestion/python_tasks.py224__all__ = ["is_fire_and_forget"]CODE
LOW…ges/core/src/repowise/core/ingestion/parser_helpers.py52__all__ = [CODE
LOW…ckages/core/src/repowise/core/ingestion/parse_cache.py46__all__ = ["ParseCache", "parser_fingerprint"]CODE
LOW…es/core/src/repowise/core/ingestion/symbol_identity.py171__all__ = [CODE
LOW…e/src/repowise/core/ingestion/git_indexer/co_change.py42__all__ = ["CoChangeWalk", "compute_co_changes_and_entropy"]CODE
LOW…e/src/repowise/core/ingestion/git_indexer/fix_shape.py51__all__ = ["SHAPE_KINDS", "classify_fix_shape", "is_code_path", "is_test_path"]CODE
LOW…core/src/repowise/core/ingestion/git_indexer/enrich.py28__all__ = [CODE
LOW…ore/src/repowise/core/ingestion/git_indexer/records.py15__all__ = [CODE
LOW…re/src/repowise/core/ingestion/git_indexer/__init__.py69__all__ = [CODE
LOW…/repowise/core/ingestion/git_indexer/function_blame.py34__all__ = [CODE
LOW…re/src/repowise/core/ingestion/git_indexer/backfill.py32__all__ = ["BACKFILL_PHASE", "backfill_full_tier"]CODE
LOW…c/repowise/core/ingestion/git_indexer/prior_defects.py52__all__ = ["FixCommit", "FixWalk", "PriorDefects", "collect_fix_commits", "compute_prior_defects"]CODE
LOW…ore/src/repowise/core/ingestion/git_indexer/indexer.py52__all__ = ["GitIndexer", "git_worker_count"]CODE
LOW…epowise/core/ingestion/git_indexer/agent_provenance.py78__all__ = [CODE
LOW…re/src/repowise/core/ingestion/git_indexer/identity.py13__all__ = [CODE
LOW…/src/repowise/core/ingestion/git_indexer/fix_events.py37__all__ = ["build_fix_events"]CODE
LOW…rc/repowise/core/ingestion/git_indexer/file_history.py65__all__ = ["DECAY_REFRESH_KEYS", "index_file", "new_meta"]CODE
LOW…/core/src/repowise/core/ingestion/git_indexer/tiers.py15__all__ = ["GitIndexTier"]CODE
LOW…/src/repowise/core/ingestion/external_systems/cmake.py787__all__ = [CODE
LOW…c/repowise/core/ingestion/external_systems/__init__.py27__all__ = [CODE
LOW⚡…/src/repowise/core/ingestion/external_systems/bazel.py315__all__ = [CODE
LOW…src/repowise/core/ingestion/graph/_centrality_cache.py57__all__ = ["BetweennessScoring", "CentralityCache", "subgraph_signature"]CODE
LOW…ges/core/src/repowise/core/ingestion/graph/__init__.py41__all__ = ["GraphBuilder", "_stem_priority", "build_stem_map"]CODE
358 more matches not shown…
Cross-File Repetition69 hits · 345 pts
SeverityFileLineSnippetContext
HIGHtests/unit/ingestion/test_qml_imports.py0resolvercontext over *files* ({path: content}); writes them under *repo*.STRING
HIGHtests/unit/ingestion/test_lightweight_resolvers.py0resolvercontext over *files* ({path: content}); writes them under *repo*.STRING
HIGHtests/unit/ingestion/test_dbt_sql_imports.py0resolvercontext over *files* ({path: content}); writes them under *repo*.STRING
HIGHtests/unit/ingestion/parser/conftest.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_csharp.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_misc.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_swift.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_python.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_kotlin.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_java.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_cpp.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_ruby.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_scala.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_php.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_go.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_typescript.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_luau.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/test_rust.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/ingestion/parser/_helpers.py0unit tests for the unified astparser. tests parse inline byte strings so no filesystem i/o is needed. covers python, typSTRING
HIGHtests/unit/health/test_dataflow_langs.py0package main func process(records []int, threshold int) int { errors := 0 results := []int{} for _, r := range records {STRING
HIGH…/unit/health/test_refactoring_extract_method_naming.py0package main func process(records []int, threshold int) int { errors := 0 results := []int{} for _, r := range records {STRING
HIGHtests/unit/health/test_refactoring_extract_method.py0package main func process(records []int, threshold int) int { errors := 0 results := []int{} for _, r := range records {STRING
HIGHtests/unit/health/test_dataflow_langs.py0function process(records: number[], threshold: number): number { const results: number[] = []; let errors = 0; for (consSTRING
HIGH…/unit/health/test_refactoring_extract_method_naming.py0function process(records: number[], threshold: number): number { const results: number[] = []; let errors = 0; for (consSTRING
HIGHtests/unit/health/test_refactoring_extract_method.py0function process(records: number[], threshold: number): number { const results: number[] = []; let errors = 0; for (consSTRING
HIGHtests/unit/health/test_dataflow_facts.py0def f(ctx, cond): with ctx.push(): if cond: result = 1 else: result = 2 return resultSTRING
HIGHtests/unit/health/test_dataflow_cfg.py0def f(ctx, cond): with ctx.push(): if cond: result = 1 else: result = 2 return resultSTRING
HIGHtests/unit/health/test_dataflow_reaching.py0def f(ctx, cond): with ctx.push(): if cond: result = 1 else: result = 2 return resultSTRING
HIGH…/unit/health/test_refactoring_extract_method_naming.py0def process(records, threshold): results = [] errors = 0 for r in records: if r is none: errors += 1 continue results.apSTRING
HIGHtests/unit/health/test_refactoring_extract_method.py0def process(records, threshold): results = [] errors = 0 for r in records: if r is none: errors += 1 continue results.apSTRING
HIGHtests/unit/health/test_refactoring_declarative.py0def process(records, threshold): results = [] errors = 0 for r in records: if r is none: errors += 1 continue results.apSTRING
HIGHtests/unit/server/mcp/conftest.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_search.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_why.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_risk.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_dead_code.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_config.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_context.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_overview.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/server/mcp/test_health.py0unit tests for repowise mcp server tools. tests all 9 mcp tools using an in-memory sqlite database with pre-populated teSTRING
HIGHtests/unit/test_providers/test_openai_provider.py0unit tests for openrouterprovider. all tests mock the asyncopenai client — no real api calls are made.STRING
HIGHtests/unit/test_providers/test_kimi_provider.py0unit tests for openrouterprovider. all tests mock the asyncopenai client — no real api calls are made.STRING
HIGHtests/unit/test_providers/test_deepseek_provider.py0unit tests for openrouterprovider. all tests mock the asyncopenai client — no real api calls are made.STRING
HIGHtests/unit/test_providers/test_openrouter_provider.py0unit tests for openrouterprovider. all tests mock the asyncopenai client — no real api calls are made.STRING
HIGHtests/unit/generation/test_page_confidence.py0a provider that fails the way a real outage does: every call raises.STRING
HIGHtests/unit/generation/test_stub_on_provider_error.py0a provider that fails the way a real outage does: every call raises.STRING
HIGHtests/unit/generation/test_overview_system_map.py0a provider that fails the way a real outage does: every call raises.STRING
HIGH…es/core/src/repowise/core/pipeline/phases/ingestion.py0pipeline analysis phase. extracted from the former monolithic ``orchestrator.py``; ``run_pipeline`` (in orchestrator.py)STRING
HIGHpackages/core/src/repowise/core/pipeline/phases/git.py0pipeline analysis phase. extracted from the former monolithic ``orchestrator.py``; ``run_pipeline`` (in orchestrator.py)STRING
HIGH…s/core/src/repowise/core/pipeline/phases/generation.py0pipeline analysis phase. extracted from the former monolithic ``orchestrator.py``; ``run_pipeline`` (in orchestrator.py)STRING
HIGH…ges/core/src/repowise/core/pipeline/phases/analysis.py0pipeline analysis phase. extracted from the former monolithic ``orchestrator.py``; ``run_pipeline`` (in orchestrator.py)STRING
HIGH…ckages/core/src/repowise/core/ingestion/parse_cache.py0atomically persist the entries used or created this run.STRING
HIGH…s/core/src/repowise/core/analysis/health/walk_cache.py0atomically persist the entries used or created this run.STRING
HIGH…powise/core/analysis/health/duplication/token_cache.py0atomically persist the entries used or created this run.STRING
HIGH…kages/core/src/repowise/core/analysis/decision_gate.py0back-compat façade — moved to ``repowise.core.analysis.decisions.evolution``. import from the new path; this re-export kSTRING
HIGH…core/src/repowise/core/analysis/decision_provenance.py0back-compat façade — moved to ``repowise.core.analysis.decisions.evolution``. import from the new path; this re-export kSTRING
HIGH…/src/repowise/core/analysis/decision_semantic_match.py0back-compat façade — moved to ``repowise.core.analysis.decisions.evolution``. import from the new path; this re-export kSTRING
HIGH…/core/src/repowise/core/analysis/decision_extractor.py0back-compat façade — moved to ``repowise.core.analysis.decisions.evolution``. import from the new path; this re-export kSTRING
HIGH…/core/src/repowise/core/analysis/decision_evolution.py0back-compat façade — moved to ``repowise.core.analysis.decisions.evolution``. import from the new path; this re-export kSTRING
HIGHpackages/core/src/repowise/core/persistence/crud/git.py0crud operations for the repository domain (repowise persistence layer). split out of the former monolithic ``crud.py``; STRING
9 more matches not shown…
AI Slop Vocabulary90 hits · 264 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json16291 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
LOW⚡tests/unit/ingestion/test_typescript_resolver.py822 # resolver's job upstream; here we just return None.COMMENT
MEDIUM…sts/unit/ingestion/test_git_commit_rows_integration.py127 # robust assertion; the precise boundary is covered by the unit test.)COMMENT
MEDIUM⚡tests/unit/savings/test_transcript.py809 # "some other cap": giving the unlisted harness Codex's fails.COMMENT
MEDIUMtests/unit/health/test_grading.py36 # Bands are presentation; this is the number refactoring leverage isCOMMENT
MEDIUM⚡tests/unit/health/test_dataflow_reaching.py622 # compute_def_use + compute_reaching can be driven without the file harness.STRING
MEDIUMtests/unit/server/test_performance_opportunities.py453 # leverage puts it first whatever its rank is.COMMENT
MEDIUMtests/unit/server/test_mcp_decision_graph.py114 content="# Test Repo\n\nA comprehensive test repository.",CODE
MEDIUMtests/unit/server/test_job_executor.py195 """Unknown / missing / malformed style resolves to the comprehensive default."""STRING
MEDIUMtests/unit/server/mcp/conftest.py103 content="# Test Repo\n\nA comprehensive test repository.",CODE
MEDIUMtests/unit/server/mcp/test_health.py171 # Per-file leverage: (8 - score) * nloc, 0 once healthy.COMMENT
MEDIUMtests/unit/cli/test_update_pending_cleanup.py121 # index_repo_full does not persist state.json in the test harness; recordCOMMENT
MEDIUMtests/unit/cli/test_update_up_to_date_lock.py69 # index_repo_full does not persist state.json in the test harness; recordCOMMENT
MEDIUM⚡tests/unit/sessions/test_codex_adapter.py378#: A session bulk-imported from another harness into the Codex store.COMMENT
MEDIUMtests/unit/sessions/test_efficacy.py328 # The paired record the harness also writes for the same firing.COMMENT
MEDIUM⚡tests/unit/sessions/test_adapter_seam.py118# The three drive paths, all reached by a second harnessCOMMENT
MEDIUM⚡tests/unit/sessions/test_adapter_seam.py256# Intents: the harness's key names live on the adapter, not in a consumerCOMMENT
MEDIUMscripts/kg_validate/matrix.toml184# resolution at harness-friendly size.COMMENT
MEDIUMscripts/kg_validate/matrix.toml191# --- Structural-mode batch (no resolver; harness-only acceptance) ---COMMENT
MEDIUMpackages/ui/src/health/findings-view.tsx372 // not group size, so "Leverage" sorted stays leverage-led inside and out.COMMENT
MEDIUMpackages/core/src/repowise/core/test_paths.py179# for some module's tests: ``bot.test-harness.ts``, ``card-test-helpers.ts``,COMMENT
MEDIUM…/repowise/core/ingestion/git_indexer/function_blame.py242 # parser robust to out-of-order line emission from --incremental.COMMENT
MEDIUM…ges/core/src/repowise/core/ingestion/languages/spec.py55 # Consumed by the KG validation harness (density floors, honesty checks);COMMENT
MEDIUM…e/src/repowise/core/ingestion/extractors/visibility.py733 # nodes — but textual matching is robust across grammar versions.COMMENT
MEDIUMpackages/core/src/repowise/core/savings/transcript.py106#: Per-harness output cap, in tokens. ``estimate_tokens`` is ``len // 4``, soCOMMENT
MEDIUMpackages/core/src/repowise/core/savings/transcript.py115#: An unlisted harness gets ``None``, meaning no cap: a cap is a claim that aCOMMENT
MEDIUMpackages/core/src/repowise/core/savings/transcript.py164 #: line in every harness here and names no model. It is the most recentCOMMENT
MEDIUMpackages/core/src/repowise/core/savings/transcript.py211 # One harness must not cost another's progress: the cursor saveCOMMENT
MEDIUMpackages/core/src/repowise/core/savings/transcript.py459 # The floor applies on both branches. An uncapped harness can still landCOMMENT
MEDIUMpackages/core/src/repowise/core/savings/transcript.py481 # it. A transcript names the harness it came from.COMMENT
MEDIUM…core/src/repowise/core/analysis/independent_changes.py134 # A test attaches to whatever shared harness the diff holds rather than toCOMMENT
MEDIUMpackages/core/src/repowise/core/analysis/kg_tour.py297# The harness signal is "this test file *depends on* that one": imports andCOMMENT
MEDIUMpackages/core/src/repowise/core/analysis/kg_tour.py375 # consumers (UI, harness) can see the degradation level.COMMENT
MEDIUMpackages/core/src/repowise/core/analysis/kg_tour.py539 # referenced, so only single-target imports count as harness evidence.COMMENT
MEDIUMpackages/core/src/repowise/core/analysis/kg_tour.py592 # Drop harness files unless that would leave nothing: one single-targetCOMMENT
MEDIUMpackages/core/src/repowise/core/analysis/kg_tour.py593 # import from another test file is already harness evidence.COMMENT
MEDIUM…core/src/repowise/core/analysis/dead_code/constants.py494 # `#[cfg(test)] mod tests;` and the Cargo test harness, not production imports.COMMENT
MEDIUM…core/src/repowise/core/analysis/dead_code/constants.py858 # JMH: the harness instantiates @State classes and runs @BenchmarkCOMMENT
MEDIUM…/core/src/repowise/core/analysis/dead_code/analyzer.py517 # ---- libFuzzer / Honggfuzz / AFL fuzz harness entries ------------COMMENT
MEDIUM…ages/core/src/repowise/core/analysis/health/grading.py37# it is the deficit target behind refactoring leverage, and moving it wouldCOMMENT
MEDIUM…se/core/analysis/health/biomarkers/untested_hotspot.py69 # Not enough leverage to flag — would over-trigger onCOMMENT
MEDIUM…src/repowise/core/analysis/health/complexity/models.py106 # ``checkOk()`` is in it, ``harness.checkOk()`` is not. Read only by theCOMMENT
MEDIUM…/repowise/core/analysis/health/asserts/oracle_reach.py265 # ``harness.checkOk()`` would otherwise pair a method on an unrelatedCOMMENT
MEDIUM…se/core/analysis/health/refactoring/recommendations.py1152 # Benefit multiplies rather than offsets: leverage (the host file'sCOMMENT
MEDIUM…repowise/core/analysis/health/perf/opportunity_rank.py279 """A total order: value first, then actionability, leverage, and id.STRING
MEDIUM…es/core/src/repowise/core/analysis/decisions/policy.py223#: transcript adapter. Only Claude Code by default: a harness added to theCOMMENT
MEDIUMpackages/core/src/repowise/core/distill/engine.py59#: The transcript backfill *does* know the harness, having read thatCOMMENT
MEDIUMpackages/core/src/repowise/core/distill/engine.py60#: harness's own file, so it applies a per-agent capCOMMENT
MEDIUMpackages/core/src/repowise/core/distill/corrections.py48#: stringly (cancellations, rejections, permission denials, harness errors)COMMENT
MEDIUM⚡packages/core/src/repowise/core/distill/corrections.py218 # rejections, and harness errors are neither failure nor success.COMMENT
MEDIUMpackages/core/src/repowise/core/sessions/staging.py169#: than one harness. Same shape as the injections migration beside it.STRING
MEDIUMpackages/core/src/repowise/core/sessions/staging.py171 # Which harness's transcript this observation came off. Empty on rowsSTRING
MEDIUM…ages/core/src/repowise/core/sessions/adapters/codex.py39#: Turn id on sessions bulk-imported from another harness into the CodexCOMMENT
MEDIUM…ages/core/src/repowise/core/sessions/adapters/codex.py40#: store. Those turns are that harness's, and its own adapter already readsCOMMENT
MEDIUM…s/core/src/repowise/core/sessions/adapters/registry.py27#: The harness assumed when a caller names none.COMMENT
MEDIUM…kages/core/src/repowise/core/sessions/adapters/base.py33#: A consumer asks for an intent; the adapter owns which of its harness'sCOMMENT
MEDIUM…kages/core/src/repowise/core/sessions/adapters/base.py34#: key names spot it, so harness vocabulary never leaks into a miner.COMMENT
MEDIUM⚡…kages/core/src/repowise/core/sessions/adapters/base.py51 #: Tool names, in this harness's own vocabulary, whose calls change a fileCOMMENT
MEDIUM⚡…kages/core/src/repowise/core/sessions/adapters/base.py53 #: path reads it from the adapter, never from a shared list: one harnessCOMMENT
MEDIUM⚡…kages/core/src/repowise/core/sessions/adapters/base.py61 #: different names for the same harness, and core cannot import cli, soCOMMENT
30 more matches not shown…
Hallucination Indicators17 hits · 205 pts
SeverityFileLineSnippetContext
CRITICAL⚡tests/unit/ingestion/test_chained_receiver_calls.py199 " run() { this.bough.branch.twig.leaf.go(); }\n"CODE
CRITICAL⚡tests/unit/workspace/test_framework_dialects.py82@io.swagger.v3.oas.annotations.tags.Tag(name = "Account")CODE
CRITICALtests/unit/server/mcp/test_stack_trace.py37\tat app//io.javalin.http.servlet.JavalinServlet.service(JavalinServlet.kt:89) ~[javalin-6.1.jar:6.1]CODE
CRITICALtests/unit/server/mcp/test_stack_trace.py38\tat org.eclipse.jetty.server.Server.handle(Server.java:516)CODE
CRITICAL⚡tests/unit/test_providers/test_edenai_provider.py204 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICAL⚡tests/unit/test_providers/test_openai_provider.py441 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICAL⚡tests/unit/test_providers/test_openai_provider.py456 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICAL⚡tests/unit/test_providers/test_openai_provider.py467 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICALtests/unit/test_providers/test_openai_provider.py379 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICALtests/unit/test_providers/test_kimi_provider.py178 mock_client.return_value.chat.completions.create.assert_called_once()CODE
CRITICALtests/unit/test_providers/test_kimi_provider.py252 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICALtests/unit/test_providers/test_kimi_provider.py294 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICALtests/unit/test_providers/test_deepseek_provider.py181 mock_client.return_value.chat.completions.create.assert_called_once()CODE
CRITICALtests/unit/test_providers/test_deepseek_provider.py231 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICALtests/unit/test_providers/test_deepseek_provider.py242 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICAL⚡tests/unit/test_providers/test_openrouter_provider.py346 mock_client.return_value.chat.completions.create.assert_not_called()CODE
CRITICALtests/unit/test_providers/test_openrouter_provider.py327 mock_client.return_value.chat.completions.create.assert_not_called()CODE
Modern AI Meta-Vocabulary42 hits · 130 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_test_paths.py134 # scaffolding tokens missed because those only count inside a test tree.COMMENT
MEDIUMtests/unit/test_test_paths.py256 # scaffolding dir inside a test project is support, as under tests/.COMMENT
MEDIUMtests/unit/test_test_paths.py262 # A name ending in "test" and a scaffolding word is the support for someCOMMENT
MEDIUMtests/unit/test_test_paths.py278 ("src/foo.test-d.ts", None, "test"), # a type test, not a scaffolding wordCODE
MEDIUM⚡tests/unit/ingestion/test_author_identity.py141# Union-find merge (E3-E5) and its guardrailsCOMMENT
MEDIUMtests/unit/server/mcp/test_code_rationale.py212 "# The symbol cap is 40 because dense files flood the context window.\n"STRING
MEDIUMdocs/architecture/ARCHITECTURE.md128│ │ │ │ ├── context_assembler.py# context assembly (RAG + graph + git + source)CODE
MEDIUMdocs/architecture/chat.md197. [Agentic Loop](#7-agentic-loop)CODE
MEDIUMdocs/architecture/language-support.md152 parser.py # ASTParser (language-agnostic orchestration)CODE
MEDIUMpackages/core/src/repowise/core/test_paths.py141# Directories that hold the scaffolding rather than the tests. These only countCOMMENT
MEDIUMpackages/core/src/repowise/core/test_paths.py178# A source file whose name ends in "test" and a scaffolding word is the supportCOMMENT
MEDIUMpackages/core/src/repowise/core/test_paths.py340 # token, a test- or support-shaped filename, or a scaffolding dir beneath itCOMMENT
MEDIUMpackages/core/src/repowise/core/test_paths.py439 # A scaffolding directory that needs no test tree around it settles theCOMMENT
MEDIUMpackages/core/src/repowise/core/test_paths.py458 # scaffolding directory demotes it to support.COMMENT
MEDIUMpackages/core/src/repowise/core/upgrade/version.py85#: state.json key holding the embedding model id the vectors were built with.COMMENT
MEDIUMpackages/core/src/repowise/core/upgrade/manager.py105 # be format-current yet hold vectors from a different embedding model (#426),COMMENT
MEDIUMpackages/core/src/repowise/core/ingestion/traverser.py237 # binary fixtures and scaffolding instead:COMMENT
MEDIUMpackages/core/src/repowise/core/analysis/kg_curation.py589 # Recognised scaffolding earns a real role; only opaque support files fallCOMMENT
MEDIUM…core/analysis/health/biomarkers/mock_saturated_test.py43 _HIGH_RATIO = 8.0 # setup:assertion at which the test is nearly all scaffoldingCODE
MEDIUM⚡…core/src/repowise/core/analysis/decisions/extractor.py681 # Anti-hallucination substring gateCOMMENT
MEDIUM…core/src/repowise/core/analysis/decisions/extractor.py780 # Raw per-source pool, then the anti-hallucination gate.COMMENT
MEDIUM⚡…ore/src/repowise/core/analysis/decisions/provenance.py191# Anti-hallucination substring gateCOMMENT
MEDIUM⚡packages/core/src/repowise/core/workspace/update.py795# Workspace update orchestrationCOMMENT
MEDIUMpackages/core/src/repowise/core/persistence/models.py1159 # Verification (anti-hallucination gate, Phase 1D). Aggregate over theCOMMENT
MEDIUM…ages/core/src/repowise/core/generation/interlinking.py30# qualified names. The same expression used by the hallucinationCOMMENT
MEDIUM⚡…ages/core/src/repowise/core/generation/interlinking.py195# Top-level orchestrationCOMMENT
MEDIUMpackages/core/src/repowise/core/generation/models.py279 # RAG search is bypassed entirely until the vector store has at leastCOMMENT
MEDIUMpackages/core/src/repowise/core/generation/models.py525 # cross-run reuse can key on it even when the rendered prompt (RAGCOMMENT
MEDIUM…/core/src/repowise/core/generation/well_known_files.py21# scaffolding that shows up in almost every repo, where the filename alone isCOMMENT
MEDIUM⚡…re/src/repowise/core/generation/page_generator/core.py232 # generate_all — orchestration (delegates to orchestrate.py)COMMENT
MEDIUM⚡…repowise/core/generation/page_generator/orchestrate.py747 # next level's RAG search depends on these landing in the store.COMMENT
MEDIUM⚡…repowise/core/generation/page_generator/orchestrate.py748 # Embedding is a RAG enhancement, not load-bearing, so a failure mustCOMMENT
MEDIUM…repowise/core/generation/page_generator/orchestrate.py646 # embedder round-trip and the level drains before the next level's RAGCOMMENT
MEDIUM…/repowise/core/generation/page_generator/validation.py463 # Whole-name hallucinations — the high-signal case — areCOMMENT
MEDIUM…se/core/generation/onboarding/subkinds/key_concepts.py605 # identical from outside, and a scaffolding list that stops matchingCOMMENT
MEDIUM…se/core/generation/onboarding/subkinds/key_concepts.py606 # anything reads the same as a repository with no scaffolding in it.COMMENT
MEDIUMpackages/server/src/repowise/server/app.py107 # Honour the indexed embedding model so serve doesn't silently rebuildCOMMENT
MEDIUM…rver/src/repowise/server/mcp_server/_answer_context.py247 return "## Context scaffolding\n\n" + "\n".join(f"- {s}" for s in sections) + "\n"CODE
MEDIUM…ckages/server/src/repowise/server/mcp_server/_state.py54# initialise we still fall back to MockEmbedder (so non-RAG tools stay up) butCOMMENT
MEDIUM…s/server/src/repowise/server/mcp_server/tool_symbol.py97# can never blow up the agent's context window. Set to ~18 KB of source:COMMENT
MEDIUM…r/src/repowise/server/mcp_server/tool_answer/answer.py661 # dropped when empty, so the prompt never carries hollow scaffolding.COMMENT
MEDIUMpackages/api-client/src/chat.test.ts35 // running the agentic loop against a body nobody reads.COMMENT
Structural Annotation Overuse75 hits · 127 pts
SeverityFileLineSnippetContext
LOWplugins/claude-code/commands/init.md10## Step 1: Check if repowise is installedCOMMENT
LOWplugins/claude-code/commands/init.md26## Step 2: Check if this repo is already indexedCOMMENT
LOWplugins/claude-code/commands/init.md37## Step 3: Offer the mode, but do not block on itCOMMENT
LOWplugins/claude-code/commands/init.md175## Step 4: Provider selection (model-written wiki only)COMMENT
LOWplugins/claude-code/commands/init.md204## Step 5: ExclusionsCOMMENT
LOWplugins/claude-code/commands/init.md212## Step 6: Run itCOMMENT
LOWplugins/claude-code/commands/init.md226## Step 7: Post-setupCOMMENT
LOWplugins/shared/commands/init.md11## Step 1: Check if repowise is installedCOMMENT
LOWplugins/shared/commands/init.md27## Step 2: Check if this repo is already indexedCOMMENT
LOWplugins/shared/commands/init.md38## Step 3: Offer the mode, but do not block on itCOMMENT
LOWplugins/shared/commands/init.md176## Step 4: Provider selection (model-written wiki only)COMMENT
LOWplugins/shared/commands/init.md205## Step 5: ExclusionsCOMMENT
LOWplugins/shared/commands/init.md213## Step 6: Run itCOMMENT
LOWplugins/shared/commands/init.md227## Step 7: Post-setupCOMMENT
LOWwebsite/getting-started.md99### Step 1: Install the pluginCOMMENT
LOWwebsite/getting-started.md108### Step 2: Index your repoCOMMENT
LOW⚡website/getting-started.md173### Step 1: Install repowiseCOMMENT
LOW⚡website/getting-started.md179### Step 2: Set your API keyCOMMENT
LOW⚡website/getting-started.md187### Step 3: Index your repoCOMMENT
LOW⚡website/getting-started.md196### Step 4: Connect Claude CodeCOMMENT
LOW⚡website/getting-started.md212### Step 1: Install repowise and CodexCOMMENT
LOW⚡website/getting-started.md221### Step 2: Index your repoCOMMENT
LOW⚡website/getting-started.md230### Step 3: Start CodexCOMMENT
LOW⚡website/getting-started.md244### Step 1: Install and set upCOMMENT
LOW⚡website/getting-started.md251### Step 2: Index your repoCOMMENT
LOW⚡website/getting-started.md258### Step 3: Start the web dashboardCOMMENT
LOW⚡website/getting-started.md266### Step 4: Start the MCP server (optional)COMMENT
LOW⚡tests/unit/health/test_refactoring_naming.py122 assert banner_words(["# Step 1: Parse git logs"]) == ["parse", "git", "logs"]CODE
LOW⚡tests/integration/test_mcp.py351 # Step 1: Get overviewCOMMENT
LOW⚡tests/integration/test_mcp.py358 # Step 2: Drill into auth module via get_context.COMMENT
LOW⚡tests/integration/test_mcp.py367 # Step 3: Get file contextCOMMENT
LOW⚡tests/integration/test_mcp.py374 # Step 4: Look up a symbolCOMMENT
LOWdocs/architecture/agent-platform.md85### Step 1: the provider moduleCOMMENT
LOWdocs/architecture/agent-platform.md151### Step 2: the `ProviderSpec`COMMENT
LOWdocs/architecture/agent-platform.md192### Step 3: link the identityCOMMENT
LOWdocs/architecture/agent-platform.md204### Step 4: the contract testCOMMENT
LOWdocs/architecture/agent-platform.md236### Step 5: update the frozen listsCOMMENT
LOWdocs/architecture/agent-platform.md256### Step 6: user docs (optional)COMMENT
LOWdocs/architecture/agent-platform.md303### Step 1: the identityCOMMENT
LOWdocs/architecture/agent-platform.md311### Step 2: the target moduleCOMMENT
LOWdocs/architecture/agent-platform.md373### Step 3: register itCOMMENT
LOWdocs/architecture/agent-platform.md387### Step 4: the README badge and the matrixCOMMENT
LOWdocs/architecture/agent-platform.md397### Step 5: verifyCOMMENT
LOWdocs/architecture/language-support.md185#### Step 1: Add a `LanguageSpec` moduleCOMMENT
LOWdocs/architecture/language-support.md269#### Step 2: Add the `LanguageTag`COMMENT
LOWdocs/architecture/language-support.md277#### Step 3: Write a tree-sitter query fileCOMMENT
LOWdocs/architecture/language-support.md307#### Step 4: Add a `LanguageConfig` entryCOMMENT
LOWdocs/architecture/language-support.md328#### Step 5: Add the tree-sitter grammar dependencyCOMMENT
LOW⚡…/core/src/repowise/core/ingestion/tsconfig_resolver.py149 # Step 1: try path alias entries.COMMENT
LOW⚡…/core/src/repowise/core/ingestion/tsconfig_resolver.py159 # Step 2: baseUrl-only fallback.COMMENT
LOW⚡packages/core/src/repowise/core/workspace/update.py1146 # Step 3: Save workspace config with updated timestampsCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/update.py1150 # Step 4: Run cross-repo hooks (Phase 3/4 placeholder). ``run_hooks`` letsCOMMENT
LOWpackages/core/src/repowise/core/workspace/update.py848 # Step 1: Determine which repos are staleCOMMENT
LOWpackages/core/src/repowise/core/workspace/update.py860 # Step 0: Sync ``last_commit_at_index`` from each repo's state.json soCOMMENT
LOWpackages/core/src/repowise/core/workspace/update.py985 # Step 2: Update stale repos (parallel with concurrency limit).COMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py437 # Step 1: Parse git logs for all reposCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py444 # Step 2: Drop noise files, then commits left with nothing, thenCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py460 # Step 3: Group all commits by author identity, tagged with repo aliasCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py466 # Step 4: Walk each author's sessions, accumulating per-file activityCOMMENT
LOW…s/core/src/repowise/core/generation/knowledge_graph.py414 # Step 1: main entry pointCOMMENT
15 more matches not shown…
Fake / Example Data67 hits · 75 pts
SeverityFileLineSnippetContext
LOW⚡tests/unit/ingestion/test_author_identity.py78 assert owner_key("Jane Doe", None) == "name:Jane Doe"CODE
LOW⚡tests/unit/ingestion/test_author_identity.py98 ("Jane Doe", "jane@company.com"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py99 ("Jane Doe", "12345+jane@users.noreply.github.com"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py102 assert resolve("Jane Doe", "jane@company.com") == "jane@company.com"CODE
LOW⚡tests/unit/ingestion/test_author_identity.py103 assert resolve("Jane Doe", "12345+jane@users.noreply.github.com") == "jane@company.com"CODE
LOW⚡tests/unit/ingestion/test_author_identity.py130 ("Jane Doe", "jane@company.com"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py273 ("Jane Doe", f"11+janed{_NR}"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py274 ("Jane Doe", f"22+jdoe99{_NR}"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py275 ("Jane Doe", "jane@corp.com"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py297 ("Jane Doe", f"41+shared{_NR}"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py299 ("Jane Doe", "jane@corp.com"),CODE
LOW⚡tests/unit/ingestion/test_author_identity.py301 ("Jane Doe", "build@ci-box.local"),CODE
LOWtests/unit/ingestion/test_author_identity.py312 ("Jane Doe", "12-jdoe@users.noreply.gitlab.com"),CODE
LOWtests/unit/ingestion/test_author_identity.py313 ("Jane Doe", "jane@corp.com"),CODE
LOW⚡tests/unit/ingestion/test_agent_provenance.py150 prov = _classify(an="Jane Doe", ae="jane@anthropic.com")CODE
LOWtests/unit/core/test_forges_identity.py34 ("1234-jdoe@users.noreply.gitlab.com", "Jane Doe",CODE
LOWtests/unit/core/test_forges_identity.py53 ("commits-noreply@bitbucket.org", "Jane Doe", "commits-noreply@bitbucket.org", True),CODE
LOW⚡tests/unit/analysis/test_security_gate.py103 _commit(repo, "placeholder")CODE
LOW⚡tests/unit/workspace/test_update.py110 ["git", "config", "user.email", "test@test.com"],CODE
LOWtests/unit/workspace/test_incremental_update.py47 _git(repo, "config", "user.email", "test@test.com")CODE
LOWtests/unit/workspace/test_cross_repo.py60 author_name="Jane Doe",CODE
LOW⚡tests/unit/server/test_stats_contributors.py31 _commit("a1", "Jane Doe", "jane@company.com", 1000),CODE
LOW⚡tests/unit/server/test_stats_contributors.py32 _commit("a2", "Jane Doe", "12345+jane@users.noreply.github.com", 1100),CODE
LOW⚡tests/unit/server/test_stats_contributors.py33 _commit("a3", "Jane Doe", "999+jane@users.noreply.github.com", 1200),CODE
LOW⚡tests/unit/server/test_stats_contributors.py44 _commit("a1", "Jane Doe", "jane@company.com", 1_600_000_000),CODE
LOW⚡tests/unit/server/test_stats_contributors.py45 _commit("a2", "Jane Doe", "jane@company.com", 1_600_086_400),CODE
LOW⚡tests/unit/server/test_stats_bot_filter.py46 ("Jane Doe", "jane@anthropic.com"),CODE
LOWtests/unit/server/test_stats_superlatives.py36 "author_name": "Jane Doe",CODE
LOW⚡tests/unit/server/test_owners.py208 primary_owner_name="Jane Doe",CODE
LOW⚡tests/unit/server/test_owners.py211 [{"name": "Jane Doe", "email": "jane@company.com", "commit_count": 10}]CODE
LOW⚡tests/unit/server/test_owners.py221 primary_owner_name="Jane Doe",CODE
LOW⚡tests/unit/server/test_owners.py226 "name": "Jane Doe",CODE
LOW⚡tests/unit/server/test_owners.py243 assert jane.name == "Jane Doe"CODE
LOW⚡tests/unit/server/test_stats_signals.py24 "author_name": "Jane Doe",CODE
LOWtests/unit/server/mcp/test_exception_group_leaves.py54 empty = _Empty("nothing", [ValueError("placeholder")])CODE
LOWtests/unit/server/mcp/test_ff_mcp_payload_overview.py26 "primary_owner_name": "Jane Doe",CODE
LOW⚡tests/unit/server/mcp/test_ff_mcp_payload_overview.py53 assert top["name"] == "Jane Doe"CODE
LOW⚡tests/unit/server/mcp/test_ff_mcp_payload_overview.py63 assert _owner_display_name("Jane Doe", "jane.doe@example.com") == "Jane Doe"CODE
LOWtests/unit/server/mcp/test_working_tree_freshness.py66 _git(repo, "config", "user.email", "test@test.com")CODE
LOWtests/unit/cli/test_update_provider_prompt.py38 _git(repo, "config", "user.email", "test@test.com")CODE
LOW⚡tests/unit/cli/test_init_failure_reporting.py461 assert "placeholder" not in outputCODE
LOWtests/unit/cli/test_docs_pointer.py60 _git(repo, "config", "user.email", "test@test.com")CODE
LOWtests/unit/cli/test_workspace_docs_pointer.py39 _git(repo, "config", "user.email", "test@test.com")CODE
LOWtests/unit/cli/test_update_e2e.py74 _git(repo, "config", "user.email", "test@test.com")CODE
LOWtests/unit/cli/test_update_e2e.py190 _git(repo, "config", "user.email", "test@test.com")CODE
LOW⚡tests/unit/test_providers/test_gemini_provider.py225 provider = GeminiProvider(api_key="fake-key")CODE
LOW⚡tests/unit/test_providers/test_gemini_provider.py239 provider = GeminiProvider(api_key="fake-key")CODE
LOW⚡tests/unit/test_providers/test_gemini_provider.py250 provider = GeminiProvider(api_key="fake-key")CODE
LOW⚡tests/unit/test_providers/test_gemini_provider.py261 provider = GeminiProvider(api_key="fake-key")CODE
LOWtests/unit/test_providers/test_gemini_provider.py145 provider = GeminiProvider(api_key="fake-key")CODE
LOWtests/unit/test_providers/test_gemini_provider.py159 provider = GeminiProvider(api_key="fake-key")CODE
LOWtests/unit/test_providers/test_gemini_provider.py171 provider = GeminiProvider(api_key="fake-key")CODE
LOWtests/unit/test_providers/test_gemini_provider.py185 provider = GeminiProvider(api_key="fake-key")CODE
LOWtests/unit/test_providers/test_gemini_provider.py204 provider = GeminiProvider(api_key="fake-key")CODE
LOWpackages/ui/__tests__/chat/chat-dock.test.tsx68 "placeholder",CODE
LOWpackages/ui/__tests__/chat/chat-dock.test.tsx86 "placeholder",CODE
LOWpackages/ui/__tests__/chat/chat-interface.test.tsx204 "placeholder",CODE
LOW…kages/core/src/repowise/core/analysis/security_scan.py75 "placeholder",CODE
LOW…re/src/repowise/core/analysis/actions/rules/hygiene.py35_PLACEHOLDER_MARKERS = ("...", "…", "<", "your", "xxx", "example", "placeholder", "dummy", "fake", "changeme")CODE
LOW…src/repowise/core/persistence/decision_id_migration.py324 {"new_id": to_id, "placeholder": placeholder, "old_id": from_id},CODE
7 more matches not shown…
Overly Generic Function Names51 hits · 57 pts
SeverityFileLineSnippetContext
LOWtests/unit/pipeline/test_authoritative_page_types.py35 "def helper(n: int) -> int:\n return n + 1\n",CODE
LOW…ts/unit/pipeline/test_init_update_graph_convergence.py47 "def helper(x):\n return x + 1\n",CODE
LOWtests/unit/pipeline/test_ingestion_parse_cache.py17 (repo / "util.py").write_text("def helper(x):\n return x + 1\n", encoding="utf-8")CODE
LOWtests/unit/pipeline/test_ingestion_parse_cache.py52 "def helper(x):\n return x * 3\n",CODE
LOW⚡tests/unit/ingestion/test_resolver_merged_index.py62 "lib.py": ("python", "def helper():\n return 1\n"),CODE
LOW⚡tests/unit/ingestion/test_resolver_merged_index.py84 "a_lib.py": ("python", "def helper():\n return 'a'\n"),CODE
LOW⚡tests/unit/ingestion/test_resolver_merged_index.py85 "z_lib.py": ("python", "def helper():\n return 'z'\n"),CODE
LOW⚡tests/unit/ingestion/test_resolver_merged_index.py152 "class Other:\n def helper(self):\n return 1\n"CODE
LOW⚡tests/unit/ingestion/test_traverser.py156 (tmp_path / "src" / "utils.py").write_text("def helper(): pass")CODE
LOW⚡tests/unit/ingestion/test_star_import_barrel.py46 "pkg/leaf.py": "def helper(x):\n return x\n",CODE
LOW⚡tests/unit/ingestion/test_star_import_barrel.py49 "other.py": "class Thing:\n def helper(self, x):\n return x\n",CODE
LOW⚡tests/unit/ingestion/test_star_import_barrel.py163 "pkg/leaf.py": "def helper(x):\n return x\n",CODE
LOW⚡tests/unit/ingestion/test_star_import_barrel.py166 "other.py": "class Thing:\n def helper(self, x):\n return x\n",CODE
LOWtests/unit/ingestion/test_enclosing_class_calls.py107 def helper(self):STRING
LOWtests/unit/ingestion/test_enclosing_class_calls.py115 def helper(self):STRING
LOWtests/unit/ingestion/test_single_query_pass.py32def helper(arg: str) -> str:CODE
LOWtests/unit/ingestion/test_working_tree_changes.py33 (tmp_path / "util.py").write_text("def helper():\n return 2\n", encoding="utf-8")CODE
LOWtests/unit/ingestion/test_value_reference_edges.py327 "def helper():\n return 1\n\n\ndef run():\n return helper()\n"CODE
LOWtests/unit/ingestion/test_python_qualified_names.py14_PY = b"class Widget:\n def run(self):\n pass\n\n\ndef helper():\n pass\n"CODE
LOWtests/unit/ingestion/test_self_call_resolution.py62 def helper(self):CODE
LOW⚡tests/unit/ingestion/test_shadowed_bare_calls.py179def helper(x):CODE
LOW⚡tests/unit/ingestion/test_pytest_fixture_edges.py174 "def helper(client):\n return client\n"CODE
LOW⚡tests/unit/ingestion/test_subgraph_cache.py42 gb.add_file(_parsed(tmp_path, "b.py", "def helper():\n return 1\n"))CODE
LOWtests/unit/ingestion/test_centrality_cache.py21_UTIL = "def helper(x):\n return x + 1\n"CODE
LOW⚡tests/unit/ingestion/test_dispatch_edges.py204 "base.py": "class Base:\n def helper(self):\n return 1\n",CODE
LOW⚡tests/unit/ingestion/test_dispatch_edges.py225 "l.py": "class Left:\n def helper(self):\n return 1\n",CODE
LOW⚡tests/unit/ingestion/test_dispatch_edges.py226 "r.py": "class Right:\n def helper(self):\n return 2\n",CODE
LOW⚡tests/unit/ingestion/test_dispatch_edges.py247 "base.py": "class Base:\n def helper(self):\n return 1\n",CODE
LOW⚡tests/unit/ingestion/test_dispatch_edges.py251 " def helper(self):\n"CODE
LOWtests/unit/ingestion/test_dispatch_edges.py327 "base.py": "class Base:\n def helper(self):\n return 1\n",CODE
LOWtests/unit/ingestion/test_metrics_precompute.py36 "b.py": "def helper():\n return 1\n",CODE
LOWtests/unit/ingestion/test_parse_cache.py28 "def helper(x):\n return x + 1\n",CODE
LOW⚡tests/unit/ingestion/test_parse_cache.py86 "def helper(x):\n return x * 2\n\n\ndef extra(y):\n return y\n",CODE
LOWtests/unit/ingestion/parser/test_scala.py21 private def helper(): Unit = {}CODE
LOW⚡tests/unit/dead_code/test_entry_shape.py119 body = '"""Old helpers."""\nimport os\n\nLIMIT = 3\n\ndef helper():\n return os.sep\n'CODE
LOW⚡tests/unit/dead_code/test_entry_shape.py265 files["handlers/d.py"] = _handler("d") + "\ndef helper():\n return 1\n"CODE
LOWtests/unit/dead_code/test_entry_shape.py198 "pkg/old.py": b"def helper():\n return 1\n",CODE
LOW⚡tests/unit/dead_code/test_cpp_name_uses.py160 source = {"a.py": b"def helper():\n pass\n", "b.py": b"helper()\n"}STRING
LOWtests/unit/dead_code/test_module_strings.py120_BACKENDS_SRC = b"class EmailBackend:\n pass\n\n\ndef helper():\n pass\n"STRING
LOWtests/unit/health/test_dataflow_langs.py1702 def helper(value):STRING
LOW⚡tests/unit/health/test_perf_crossfn.py113 b"def helper(session, r):\n"CODE
LOW⚡tests/unit/health/test_assertion_free_test.py65 "def helper():\n"CODE
LOWtests/unit/health/test_mock_saturated_test.py185 def helper():STRING
LOWtests/unit/health/test_refactoring_extract_method.py374 def helper(v):CODE
LOWtests/unit/distill/test_skeleton_plus.py49 def helper(): # BODYCODE
LOWtests/unit/server/mcp/test_context_references.py19_CATALOG = """def helper():CODE
LOWtests/unit/cli/test_risk_cmd_contract.py48 {"src/app.py": "value = 1\n", "src/util.py": "def helper():\n return 2\n"},CODE
LOWtests/unit/cli/test_update_forgets_deleted_files.py63 "def helper():\n return 1\n\n\ndef unused():\n return 2\n", encoding="utf-8"CODE
LOW⚡tests/unit/cli/test_impacted_tests_cmd.py301 "src/test_util.py": "def helper():\n pass\n",CODE
LOW⚡tests/unit/change_health/test_comparison.py150 repo.commit("append", {"app.py": original + "\n\ndef helper():\n return 1\n"})CODE
LOWtests/unit/generation/test_package_public_api.py222 "lib/_util.py": "__all__ = []\n\ndef helper():\n pass\n",CODE
AI Structural Patterns62 hits · 52 pts
SeverityFileLineSnippetContext
LOWtests/unit/health/test_coverage_biomarkers.py25CODE
LOWtests/unit/distill/test_saved_cmd.py69CODE
LOWtests/unit/server/test_savings_endpoint.py32CODE
LOWtests/unit/server/mcp/test_why_search_payload.py26CODE
LOWtests/unit/generation/conftest.py49CODE
LOWtests/unit/generation/test_onboarding.py106CODE
LOWtests/unit/generation/test_workspace_claude_md.py36CODE
LOW…ckages/core/src/repowise/core/pipeline/orchestrator.py189CODE
LOWpackages/core/src/repowise/core/pipeline/full_index.py16CODE
LOWpackages/core/src/repowise/core/pipeline/incremental.py256CODE
LOWpackages/core/src/repowise/core/pipeline/incremental.py1898CODE
LOW…s/core/src/repowise/core/pipeline/phases/generation.py30CODE
LOW…rc/repowise/core/ingestion/git_indexer/file_history.py308CODE
LOWpackages/core/src/repowise/core/analysis/test_impact.py174CODE
LOW…kages/core/src/repowise/core/analysis/health/engine.py782CODE
LOW…kages/core/src/repowise/core/analysis/health/engine.py1583CODE
LOW…e/src/repowise/core/analysis/health/fix_first/build.py1556CODE
LOW…c/repowise/core/analysis/health/refactoring/serving.py197CODE
LOW…core/src/repowise/core/analysis/health/perf/serving.py315CODE
LOW…repowise/core/analysis/health/duplication/isolation.py75CODE
LOW…/core/src/repowise/core/analysis/doc_drift/analyzer.py76CODE
LOW…kages/core/src/repowise/core/analysis/actions/build.py452CODE
LOWpackages/core/src/repowise/core/workspace/update.py801CODE
LOW…ckages/core/src/repowise/core/workspace/test_impact.py437CODE
LOWpackages/core/src/repowise/core/workspace/reads.py109CODE
LOW…s/core/src/repowise/core/persistence/crud/decisions.py104CODE
LOW…s/core/src/repowise/core/persistence/crud/decisions.py279CODE
LOW…kages/core/src/repowise/core/persistence/crud/pages.py231CODE
LOW…s/core/src/repowise/core/persistence/crud/authority.py523CODE
LOW…s/core/src/repowise/core/persistence/crud/authority.py663CODE
LOW…/core/src/repowise/core/persistence/crud/repository.py183CODE
LOW…/src/repowise/core/persistence/crud/analysis/health.py464CODE
LOW…persistence/crud/analysis/refactoring_opportunities.py629CODE
LOW…repowise/core/persistence/crud/analysis/performance.py507CODE
LOW…s/core/src/repowise/core/registry/mcp_tool_registry.py92CODE
LOW…/core/src/repowise/core/generation/architecture_map.py129CODE
LOW…core/src/repowise/core/generation/context/assembler.py495CODE
LOW…src/repowise/core/generation/page_generator/pertype.py215CODE
LOW…src/repowise/core/generation/page_generator/pertype.py435CODE
LOW…re/src/repowise/core/generation/page_generator/core.py235CODE
LOW…repowise/core/generation/page_generator/orchestrate.py89CODE
LOW…ages/server/src/repowise/server/routers/refactoring.py127CODE
LOW…ckages/server/src/repowise/server/routers/decisions.py146CODE
LOWpackages/server/src/repowise/server/routers/symbols.py197CODE
LOWpackages/server/src/repowise/server/routers/pages.py124CODE
LOW…ckages/server/src/repowise/server/routers/workspace.py262CODE
LOW…rc/repowise/server/routers/code_health/files_routes.py43CODE
LOW…repowise/server/routers/code_health/findings_routes.py36CODE
LOW…owise/server/routers/code_health/performance_routes.py55CODE
LOW…owise/server/routers/code_health/refactoring_routes.py54CODE
LOW…s/server/src/repowise/server/mcp_server/tool_search.py1207CODE
LOW…ver/src/repowise/server/mcp_server/tool_change_risk.py157CODE
LOW…erver/src/repowise/server/mcp_server/tool_dead_code.py152CODE
LOW…ver/src/repowise/server/mcp_server/tool_health/tool.py124CODE
LOWpackages/cli/src/repowise/cli/ui/result_panels.py32CODE
LOW…li/src/repowise/cli/commands/update_cmd/persistence.py414CODE
LOW…li/src/repowise/cli/commands/update_cmd/persistence.py701CODE
LOW…li/src/repowise/cli/commands/update_cmd/persistence.py773CODE
LOW…es/cli/src/repowise/cli/commands/update_cmd/command.py433CODE
LOW…es/cli/src/repowise/cli/commands/update_cmd/command.py643CODE
2 more matches not shown…
Verbosity Indicators25 hits · 43 pts
SeverityFileLineSnippetContext
LOW⚡tests/unit/health/test_refactoring_naming.py122 assert banner_words(["# Step 1: Parse git logs"]) == ["parse", "git", "logs"]CODE
LOW⚡tests/integration/test_mcp.py351 # Step 1: Get overviewCOMMENT
LOW⚡tests/integration/test_mcp.py358 # Step 2: Drill into auth module via get_context.COMMENT
LOW⚡tests/integration/test_mcp.py367 # Step 3: Get file contextCOMMENT
LOW⚡tests/integration/test_mcp.py374 # Step 4: Look up a symbolCOMMENT
LOW⚡…/core/src/repowise/core/ingestion/tsconfig_resolver.py149 # Step 1: try path alias entries.COMMENT
LOW⚡…/core/src/repowise/core/ingestion/tsconfig_resolver.py159 # Step 2: baseUrl-only fallback.COMMENT
LOW⚡packages/core/src/repowise/core/workspace/update.py1146 # Step 3: Save workspace config with updated timestampsCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/update.py1150 # Step 4: Run cross-repo hooks (Phase 3/4 placeholder). ``run_hooks`` letsCOMMENT
LOWpackages/core/src/repowise/core/workspace/update.py848 # Step 1: Determine which repos are staleCOMMENT
LOWpackages/core/src/repowise/core/workspace/update.py860 # Step 0: Sync ``last_commit_at_index`` from each repo's state.json soCOMMENT
LOWpackages/core/src/repowise/core/workspace/update.py985 # Step 2: Update stale repos (parallel with concurrency limit).COMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py437 # Step 1: Parse git logs for all reposCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py444 # Step 2: Drop noise files, then commits left with nothing, thenCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py460 # Step 3: Group all commits by author identity, tagged with repo aliasCOMMENT
LOW⚡packages/core/src/repowise/core/workspace/cross_repo.py466 # Step 4: Walk each author's sessions, accumulating per-file activityCOMMENT
LOW…s/core/src/repowise/core/generation/knowledge_graph.py414 # Step 1: main entry pointCOMMENT
LOW⚡…kages/server/src/repowise/server/mcp_server/_server.py448 # Step 2: pre-connect so first search() is instant.COMMENT
LOW⚡…es/cli/src/repowise/cli/commands/init_cmd/workspace.py869 # Step 3: Create workspace configCOMMENT
LOW⚡…es/cli/src/repowise/cli/commands/init_cmd/workspace.py969 # Step 5: Cross-repo analysis (co-changes, package deps, contracts)COMMENT
LOW⚡…es/cli/src/repowise/cli/commands/init_cmd/workspace.py972 # Step 6: Register primary repo with configured editor clientsCOMMENT
LOW⚡…es/cli/src/repowise/cli/commands/init_cmd/workspace.py978 # Step 7: Completion summaryCOMMENT
LOW…es/cli/src/repowise/cli/commands/init_cmd/workspace.py742 # Step 1: Select repos to indexCOMMENT
LOW…es/cli/src/repowise/cli/commands/init_cmd/workspace.py758 # Step 2: Select primary repoCOMMENT
LOW…es/cli/src/repowise/cli/commands/init_cmd/workspace.py896 # Step 4: Index each selected repo (always generate_docs=False; generation is separate)COMMENT
Self-Referential Comments9 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/workspace/test_registry.py32 # Create an empty wiki.db — init_db will create tables on first accessCOMMENT
MEDIUM⚡tests/unit/server/test_decisions_lanes.py382# Creating a record by handCOMMENT
MEDIUM⚡tests/unit/cli/test_workspace_cmd.py312 # Create a git repo inside the workspace rootCOMMENT
MEDIUMtests/unit/cli/test_workspace_cmd.py192 # Create a subdirectory that has no workspace config anywhere in its treeCOMMENT
MEDIUM⚡tests/integration/test_dead_code_integration.py68 # Create a mock providerCOMMENT
MEDIUM⚡tests/integration/test_git_intelligence_integration.py32 # Create a temp dir with a file so GitIndexer has something to look at,COMMENT
MEDIUM⚡…kages/server/src/repowise/server/mcp_server/_server.py723# Create the MCP serverCOMMENT
MEDIUM…kages/server/src/repowise/server/mcp_server/_server.py652 # Creating the store directory here made whatever directory anCOMMENT
MEDIUM…ages/cli/src/repowise/cli/commands/init_cmd/command.py1519 # Create the engine, session factory, and repository row *before*COMMENT
Magic Placeholder Names3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH⚡tests/unit/analysis/test_security_scan.py285 'api_key = "your-api-key-here"\n',CODE
HIGH⚡tests/unit/analysis/test_security_scan.py286 'api_key = "<YOUR_API_KEY>"\n',CODE
HIGH⚡tests/unit/analysis/test_security_scan.py286 'api_key = "<YOUR_API_KEY>"\n',CODE
Docstring Block Structure4 hits · 20 pts
SeverityFileLineSnippetContext
HIGH…kages/core/src/repowise/core/providers/llm/registry.py231Instantiate a provider by name. Providers are imported lazily — only the requested provider's dependencies needSTRING
HIGHpackages/core/src/repowise/core/providers/llm/base.py277Generate a response from the LLM. Args: system_prompt: System-level instructions (role, output formSTRING
HIGH…core/src/repowise/core/providers/embedding/registry.py64Instantiate an embedder by name. Args: name: Embedder identifier ('openai', 'gemini', 'mock'). STRING
HIGH…es/core/src/repowise/core/generation/page_redirects.py161The live page id a retired one now points at, or ``None``. Follows retirement chains to their end, so the returned STRING
Synthetic Comment Markers3 hits · 18 pts
SeverityFileLineSnippetContext
HIGHdocs/CHANGELOG.md283- **`get_why` stops claiming a ruling the store does not hold** (#2280, #2282, #2322). A record is a candidate until a `CODE
HIGH…ages/core/src/repowise/core/upgrade/_data/CHANGELOG.md283- **`get_why` stops claiming a ruling the store does not hold** (#2280, #2282, #2322). A record is a candidate until a `CODE
HIGH…es/cli/src/repowise/cli/commands/init_cmd/workspace.py201 # A previously-persisted embedder on THIS repo counts as requested (re-initCOMMENT
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippetContext
LOW…rc/repowise/core/ingestion/resolvers/rust_workspace.py276 # Check if this is a proc-macro crateCOMMENT
LOW…ges/core/src/repowise/core/ingestion/resolvers/rust.py114 # Check if it might be a local module at the crate root firstCOMMENT
LOW…ges/core/src/repowise/core/analysis/execution_flows.py248 # Check if the containing file is marked as an entry pointCOMMENT
LOW…repowise/core/analysis/health/complexity/cyclomatic.py380 # Check if this is a case/arm inside a flat match — skip it.COMMENT
LOWpackages/core/src/repowise/core/workspace/scanner.py98 # Check if root itself is a git repoCOMMENT
LOWpackages/server/src/repowise/server/routers/jobs.py210 # Check if client disconnectedCOMMENT
LOW…rver/src/repowise/server/mcp_server/tool_dependency.py273 # Check if they're in completely disconnected componentsCOMMENT
Dead Code5 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/server/test_chat_router.py448CODE
MEDIUMtests/unit/server/test_chat_stream_terminal_event.py58CODE
MEDIUM…ver/src/repowise/server/mcp_server/_budget/budgeter.py776CODE
MEDIUM…ver/src/repowise/server/mcp_server/_budget/budgeter.py787CODE
MEDIUM…ver/src/repowise/server/mcp_server/_budget/budgeter.py804CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtests/unit/workspace/test_go_clients.py127// Example usage:COMMENT