AI-native code finding tracker — SQLite-backed, MCP server + CLI
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 70 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
add
-
anchor_recapture
-
anchor_resolve
-
batch_add
-
blockers_add
-
blockers_check
-
blockers_query
-
blockers_resolve
-
categories
-
categories_normalize
-
claims_claim
-
claims_held_by
-
claims_list
-
claims_release
-
claims_who_holds
-
codemerge_abandon
-
codemerge_check
-
codemerge_claim
-
codemerge_claims
-
codemerge_finish
-
codemerge_merge
-
codemerge_sessions
-
codemerge_start
-
codemerge_status
-
get
-
grouping_citations
-
grouping_filing
-
grouping_tags
-
mark_branch_only
-
mark_integrated
-
milestone_add_item
-
milestone_audit_query
-
milestone_close
-
milestone_create
-
milestone_defer
-
milestone_list
-
milestone_move_item
-
milestone_reconcile
-
milestone_set_status
-
milestone_status
-
milestone_update
-
pull_next
-
query
-
recent
-
relations_query
-
relations_relate
-
relations_unrelate
-
release_item
-
reqs_add
-
reqs_batch_embed
-
reqs_embed
-
reqs_embedding_stats
-
reqs_get
-
reqs_import
-
reqs_query
-
reqs_search_similar
-
reqs_stats
-
reqs_summary
-
reqs_update
-
reqs_verify
-
similarity_check
-
similarity_report
-
staleness_check
-
stats
-
summary
-
triage_dismiss
-
triage_inbox
-
triage_promote
-
update
-
wip_status
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit bb51d66 · analyzer v33 · 4d ago
skills & prompt files 1
- agent-rules faxik-codebugs-bb51d66/CLAUDE.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 121
filesystem 60
- fs faxik-codebugs-bb51d66/.claude/plans/bt1-scripts/population.py :679
with open(path, encoding="utf-8") as fh: - fs faxik-codebugs-bb51d66/.claude/plans/bt1-scripts/probe_dbtxn.py :37
import shutil - fs faxik-codebugs-bb51d66/.claude/plans/exposure-scripts/matrix.py :123
from pathlib import Path - fs faxik-codebugs-bb51d66/.claude/plans/exposure-scripts/module_surface.py :112
src = open(path, encoding="utf-8").read() - fs faxik-codebugs-bb51d66/src/codebugs/bench.py :983
with open(path) as f: - fs faxik-codebugs-bb51d66/src/codebugs/db.py :28
from pathlib import Path - fs faxik-codebugs-bb51d66/src/codebugs/findings.py :5877
with open(args.file, newline="") as handle: - fs faxik-codebugs-bb51d66/src/codebugs/fsio.py :10
plain ``open(path, "w")`` it replaces would have refused.* - fs faxik-codebugs-bb51d66/src/codebugs/merge.py :80
EVERY open (it is part of `_open`'s `_resolved_order()` loop), and the - fs faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :375
union annotation + isinstance check left open (1.0/0.0 coerced - fs faxik-codebugs-bb51d66/src/codebugs/milestones/capacity.py :139
return f"not open (status={item['status']})" - fs faxik-codebugs-bb51d66/src/codebugs/reqs.py :601
with open(markdown_path) as f: - fs (weak) faxik-codebugs-bb51d66/tests/conftest.py :44
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/dump_schema.py :15
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/manual/calibrate_min_anchor_chars.py :82
with open(path, "rb") as fh: - fs (weak) faxik-codebugs-bb51d66/tests/manual/census_cb156_sections.py :73
tools = json.load(open(path)) - fs (weak) faxik-codebugs-bb51d66/tests/manual/measure_cb157_forwarding.py :30
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/manual/mutate_cb31.py :23
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/manual/mutate_cb69.py :23
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/manual/mutation_guard.py :19
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/manual/probe_cb243_busy_timeout_band.py :28
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/manual/repro_cb76_truncation.py :63
with open(target, "w") as f: - fs (weak) faxik-codebugs-bb51d66/tests/test_add_lines_surface.py :481
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_bench_surface.py :28
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_blockers.py :983
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_boundary.py :14
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_cascade_mint.py :40
import shutil - fs (weak) faxik-codebugs-bb51d66/tests/test_category_fold.py :30
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_category_gate.py :17
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_cb230_service_write.py :28
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_claims.py :18
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_cli_signals.py :26
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_cli_surface.py :15
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_db_infra.py :12
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_db_unwritable.py :30
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_dedup.py :17
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_embeddings.py :413
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_exposure_matrix.py :26
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_findings.py :9
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_fsio.py :239
"""Killed by the mutation "drop the os.access gate": `open(w)` - fs (weak) faxik-codebugs-bb51d66/tests/test_loc.py :27
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_loc_read_paths.py :1171
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_milestones_reconcile.py :726
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_mutation_guard.py :20
import shutil - fs (weak) faxik-codebugs-bb51d66/tests/test_no_network_capability.py :138
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_pre_add_seam.py :10
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_provenance.py :50
with open(test_file, "w") as f: - fs (weak) faxik-codebugs-bb51d66/tests/test_readme_surface.py :125
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_relations.py :21
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_release_version.py :38
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_reqs.py :80
os.unlink(path) - fs (weak) faxik-codebugs-bb51d66/tests/test_reqs_import_swallow.py :22
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_row_limit_gate.py :139
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_simplify_gate_installer.py :39
import pathlib - fs (weak) faxik-codebugs-bb51d66/tests/test_suite_hermeticity.py :36
import shutil - fs (weak) faxik-codebugs-bb51d66/tests/test_sweep_surface.py :36
from pathlib import Path - fs (weak) faxik-codebugs-bb51d66/tests/test_tree_moved_under_the_run.py :48
as it stood: `shutil.copytree` of the live tree died with `shutil.Error [Errno - fs (weak) faxik-codebugs-bb51d66/tests/test_two_valued_path_gate.py :68
2. `pathlib.Path` PREDICATES, matched by NAME on a zero-positional-argument - fs (weak) faxik-codebugs-bb51d66/tests/test_worktree_harness.py :19
import shutil - fs faxik-codebugs-bb51d66/tools/install-simplify-gate.py :36
import shutil
shell / exec 37
- shell faxik-codebugs-bb51d66/.claude/plans/exposure-scripts/module_surface.py :167
import subprocess - shell faxik-codebugs-bb51d66/src/codebugs/db.py :21
import subprocess - shell faxik-codebugs-bb51d66/src/codebugs/loc.py :39
import subprocess - shell faxik-codebugs-bb51d66/src/codebugs/provenance.py :9
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/conftest.py :43
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/manual/calibrate_min_anchor_chars.py :38
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/manual/mutate_cb31.py :24
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/manual/mutate_cb69.py :24
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/manual/mutation_guard.py :18
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_add_lines_surface.py :41
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_bench.py :9
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_bench_surface.py :25
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_cascade_mint.py :41
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_cb230_service_write.py :30
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_claims.py :15
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_cli_signals.py :28
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_db_infra.py :8
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_db_unwritable.py :32
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_dedup.py :786
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_exposure_matrix.py :27
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_findings.py :11
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_fsio.py :30
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_loc.py :29
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_loc_read_paths.py :37
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_mutation_guard.py :21
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_pre_add_seam.py :7
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_provenance.py :5
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_relations.py :23
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_release_version.py :35
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_reqs.py :9
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_reqs_import_swallow.py :24
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_row_limit_gate.py :137
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_suite_hermeticity.py :37
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_sweep_surface.py :33
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_tree_moved_under_the_run.py :76
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_usage.py :16
import subprocess - shell (weak) faxik-codebugs-bb51d66/tests/test_worktree_harness.py :21
import subprocess
network 3
- net faxik-codebugs-bb51d66/src/codebugs/db.py :29
from urllib.request import pathname2url - net (weak) faxik-codebugs-bb51d66/tests/test_db_infra.py :6
import socket - net (weak) faxik-codebugs-bb51d66/tests/test_no_network_capability.py :35
whoever wrote it. ``import socket`` is caught by (1) alone and ``import
database 55
- db faxik-codebugs-bb51d66/.claude/plans/bt1-scripts/probe_dbtxn.py :38
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/bench.py :18
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/blockers.py :5
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/claims.py :28
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/cli.py :10
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/db.py :19
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/embeddings.py :47
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/entities.py :13
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/findings.py :11
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/grouping.py :42
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/merge.py :5
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/_schema.py :5
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/_spine.py :7
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/capacity.py :6
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/closegate.py :6
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/foundation.py :6
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/reconcile.py :55
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/milestones/triage.py :6
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/provenance.py :7
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/relations.py :26
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/reqs.py :8
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/similarity.py :24
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/sweep.py :17
import sqlite3 - db faxik-codebugs-bb51d66/src/codebugs/usage.py :32
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/manual/probe_cb243_busy_timeout_band.py :23
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/manual/verify_similarity_corpus.py :22
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_bench.py :8
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_blockers.py :4
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_cb107_mcp_surface.py :25
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_cb230_service_write.py :29
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_claims.py :14
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_db_infra.py :7
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_db_unwritable.py :31
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_dedup.py :19
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_embeddings.py :5
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_entities.py :5
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_findings.py :10
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_grouping.py :8
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_ingestion_contract.py :12
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_loc.py :28
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_loc_read_paths.py :36
import sqlite3 as dbapi - db (weak) faxik-codebugs-bb51d66/tests/test_merge.py :5
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_milestones.py :7
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_milestones_reconcile.py :14
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_no_network_capability.py :566
"import sqlite3, json, struct", - db (weak) faxik-codebugs-bb51d66/tests/test_pre_add_seam.py :6
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_registry.py :5
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_relations.py :22
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_reqs.py :8
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_reqs_import_swallow.py :23
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_server.py :25
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_similarity.py :4
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_sweep.py :7
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_types.py :178
import sqlite3 - db (weak) faxik-codebugs-bb51d66/tests/test_update_parity.py :61
import sqlite3
tool registrations 70
- blockers_add faxik-codebugs-bb51d66/src/codebugs/blockers.py :663
- blockers_query faxik-codebugs-bb51d66/src/codebugs/blockers.py :687
- blockers_check faxik-codebugs-bb51d66/src/codebugs/blockers.py :708
- blockers_resolve faxik-codebugs-bb51d66/src/codebugs/blockers.py :718
- claims_claim faxik-codebugs-bb51d66/src/codebugs/claims.py :518
- claims_release faxik-codebugs-bb51d66/src/codebugs/claims.py :556
- claims_who_holds faxik-codebugs-bb51d66/src/codebugs/claims.py :584
- claims_held_by faxik-codebugs-bb51d66/src/codebugs/claims.py :591
- claims_list faxik-codebugs-bb51d66/src/codebugs/claims.py :597
- reqs_embed faxik-codebugs-bb51d66/src/codebugs/embeddings.py :485
- reqs_batch_embed faxik-codebugs-bb51d66/src/codebugs/embeddings.py :526
- reqs_search_similar faxik-codebugs-bb51d66/src/codebugs/embeddings.py :549
- reqs_embedding_stats faxik-codebugs-bb51d66/src/codebugs/embeddings.py :585
- add faxik-codebugs-bb51d66/src/codebugs/findings.py :4500
- batch_add faxik-codebugs-bb51d66/src/codebugs/findings.py :4683
- update faxik-codebugs-bb51d66/src/codebugs/findings.py :4807
- query faxik-codebugs-bb51d66/src/codebugs/findings.py :4874
- recent faxik-codebugs-bb51d66/src/codebugs/findings.py :5055
- get faxik-codebugs-bb51d66/src/codebugs/findings.py :5105
- stats faxik-codebugs-bb51d66/src/codebugs/findings.py :5133
- summary faxik-codebugs-bb51d66/src/codebugs/findings.py :5152
- categories faxik-codebugs-bb51d66/src/codebugs/findings.py :5161
- categories_normalize faxik-codebugs-bb51d66/src/codebugs/findings.py :5168
- grouping_citations faxik-codebugs-bb51d66/src/codebugs/grouping.py :744
- grouping_tags faxik-codebugs-bb51d66/src/codebugs/grouping.py :802
- grouping_filing faxik-codebugs-bb51d66/src/codebugs/grouping.py :835
- anchor_resolve faxik-codebugs-bb51d66/src/codebugs/loc.py :2160
- anchor_recapture faxik-codebugs-bb51d66/src/codebugs/loc.py :2212
- codemerge_start faxik-codebugs-bb51d66/src/codebugs/merge.py :687
- codemerge_claim faxik-codebugs-bb51d66/src/codebugs/merge.py :721
- codemerge_check faxik-codebugs-bb51d66/src/codebugs/merge.py :735
- codemerge_merge faxik-codebugs-bb51d66/src/codebugs/merge.py :757
- codemerge_finish faxik-codebugs-bb51d66/src/codebugs/merge.py :780
- codemerge_abandon faxik-codebugs-bb51d66/src/codebugs/merge.py :800
- codemerge_sessions faxik-codebugs-bb51d66/src/codebugs/merge.py :838
- codemerge_status faxik-codebugs-bb51d66/src/codebugs/merge.py :849
- codemerge_claims faxik-codebugs-bb51d66/src/codebugs/merge.py :856
- milestone_create faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :82
- milestone_update faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :103
- milestone_list faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :124
- milestone_status faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :138
- milestone_add_item faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :149
- milestone_move_item faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :185
- milestone_set_status faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :203
- milestone_audit_query faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :224
- triage_inbox faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :253
- triage_dismiss faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :263
- triage_promote faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :276
- pull_next faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :303
- release_item faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :323
- wip_status faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :341
- milestone_reconcile faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :351
- mark_branch_only faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :383
- mark_integrated faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :397
- milestone_close faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :409
- milestone_defer faxik-codebugs-bb51d66/src/codebugs/milestones/__init__.py :426
- staleness_check faxik-codebugs-bb51d66/src/codebugs/provenance.py :1039
- relations_relate faxik-codebugs-bb51d66/src/codebugs/relations.py :370
- relations_unrelate faxik-codebugs-bb51d66/src/codebugs/relations.py :393
- relations_query faxik-codebugs-bb51d66/src/codebugs/relations.py :414
- reqs_add faxik-codebugs-bb51d66/src/codebugs/reqs.py :750
- reqs_update faxik-codebugs-bb51d66/src/codebugs/reqs.py :782
- reqs_query faxik-codebugs-bb51d66/src/codebugs/reqs.py :832
- reqs_get faxik-codebugs-bb51d66/src/codebugs/reqs.py :912
- reqs_stats faxik-codebugs-bb51d66/src/codebugs/reqs.py :925
- reqs_summary faxik-codebugs-bb51d66/src/codebugs/reqs.py :935
- reqs_verify faxik-codebugs-bb51d66/src/codebugs/reqs.py :946
- reqs_import faxik-codebugs-bb51d66/src/codebugs/reqs.py :965
- similarity_check faxik-codebugs-bb51d66/src/codebugs/similarity.py :391
- similarity_report faxik-codebugs-bb51d66/src/codebugs/similarity.py :424
declared dependencies 3
- mcp@>=2.0.0,<3
- pytest@*
- ruff@*