Change-risk score
This change sits in the top third of this repository's own risk distribution, the band worth reviewing closely.
The largest health movement is in lib.rs, down 0.3. Nothing outside this PR depends on a contract it changed.
Every file in the repository, grouped into its own directories and sized by lines. The ones this PR changes are lit, and everything that imports them is marked.
Drawing 231 of 280 files at a readable size, grouped by directory and sized by lines of code. 10 changed here reach 9 more by import. 49 are too small to see at this width, which is what the frame below is for.
261 files, 6 changed by this PR and 9 that import one. Click any directory above to frame it instead.
Introduced findings are the ones inside the lines this PR added, not the file's existing ones. The resolved column is the only place in the product that lists them.
run_tool_value nests 7 levels deep
next_stage has cyclomatic complexity 33
HookRegistry has low cohesion (LCOM4=5): its 21 methods split into 5 groups that share no fields or calls
run_tool_value is 346 lines long
run_tool_value has cyclomatic complexity 35
run_control_tool nests 5 levels deep
validate has cyclomatic complexity 15
McpToolRegistry has low cohesion (LCOM4=4): its 11 methods split into 4 groups that share no fields or calls
PythonReplService has low cohesion (LCOM4=3): its 11 methods split into 3 groups that share no fields or calls
OmcPaths has low cohesion (LCOM4=6): its 13 methods split into 6 groups that share no fields or calls
ArtifactRef has low cohesion (LCOM4=3): its 5 methods split into 3 groups that share no fields or calls
run_mcp is 179 lines long
run_cli is 171 lines long
run_mcp has cyclomatic complexity 18
run_setup_host nests 4 levels deep
run_doctor nests 4 levels deep
list_skills nests 4 levels deep
spawn_reader nests 4 levels deep
request nests 4 levels deep
spawn_reader nests 4 levels deep
next_stage nests 4 levels deep
if condition combines 4 boolean operators
if condition combines 4 boolean operators
if condition combines 4 boolean operators
build_status has cyclomatic complexity 10
compare_schema has cyclomatic complexity 13
availability has cyclomatic complexity 11
request has cyclomatic complexity 10
run_control_tool is 117 lines long
handle is 98 lines long
run_control_tool has cyclomatic complexity 14
handle has cyclomatic complexity 9
validate_request has cyclomatic complexity 10
query_code_intel has cyclomatic complexity 10
run_setup_host is 97 lines long
run_setup_host has cyclomatic complexity 13
run_doctor has cyclomatic complexity 10
apply has cyclomatic complexity 10
run_debug_session is 97 lines long
validate_request has cyclomatic complexity 9
run_debug_session has cyclomatic complexity 10
56% of file duplicated; worst clone shares 36 lines with crates/omc-cli/src/commands/agent.rs
46% of file duplicated; worst clone shares 21 lines with crates/omc-mcp/src/goal_tools.rs
30% of file duplicated; worst clone shares 20 lines with crates/omc-mcp/src/agent_tools/adapter_tools.rs
34% of file duplicated; worst clone shares 18 lines with crates/omc-mcp/src/agent_tools_tests.rs
64% of file duplicated; worst clone shares 47 lines with crates/omc-mcp/src/goal_tools.rs
46% of file duplicated; worst clone shares 16 lines with crates/omc-shared/src/lib.rs
McpServer has low cohesion (LCOM4=2): its 5 methods split into 2 groups that share no fields or calls
PythonKernel has low cohesion (LCOM4=2): its 5 methods split into 2 groups that share no fields or calls
DapClient has low cohesion (LCOM4=2): its 5 methods split into 2 groups that share no fields or calls
27% of file duplicated; worst clone shares 83 lines with crates/omc-shared/src/lsp_adapter/transport.rs
GoalRecord has low cohesion (LCOM4=2): its 7 methods split into 2 groups that share no fields or calls
62% of file duplicated; worst clone shares 23 lines with crates/omc-shared/src/lib.rs
36% of file duplicated; worst clone shares 19 lines with crates/omc-shared/src/dap_adapter.rs
44% of file duplicated; worst clone shares 83 lines with crates/omc-shared/src/dap_adapter/client.rs
26% of file duplicated; worst clone shares 16 lines with crates/omc-shared/src/goal_contract.rs
BoundedSessionPool<K, V> has low cohesion (LCOM4=2): its 7 methods split into 2 groups that share no fields or calls
GoalLedger has low cohesion (LCOM4=2): its 8 methods split into 2 groups that share no fields or calls
32% of file duplicated; worst clone shares 24 lines with crates/omc-shared/src/workflow_contract.rs
assertion block at lines 93-94 is duplicated in crates/omc-cli/tests/agent_tool_contract.rs
assertion block at lines 117-118 is duplicated in crates/omc-cli/tests/agent_tool_contract.rs
assertion block at lines 63-66 is duplicated in crates/omc-shared/tests/agent_tool_consumer.rs
assertion block at lines 83-86 is duplicated in crates/omc-shared/tests/agent_tool_consumer.rs
run_debug_session takes 7 parameters
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a filesystem call runs once per loop iteration (N+1 / IO-in-loop)
a subprocess spawn runs once per loop iteration (N+1 / IO-in-loop)
if condition combines 3 boolean operators
build_status is 67 lines long
handle is 72 lines long
availability is 77 lines long
request is 69 lines long
query_code_intel is 83 lines long
next_stage is 89 lines long
apply is 60 lines long
validate_request is 66 lines long
18% of file duplicated; worst clone shares 24 lines with crates/omc-cli/src/dispatch.rs
14% of file duplicated; worst clone shares 12 lines with crates/omc-cli/src/dispatch/status.rs
20% of file duplicated; worst clone shares 12 lines with crates/omc-cli/src/dispatch/tool.rs
21% of file duplicated; worst clone shares 9 lines with crates/omc-cli/src/dispatch/tool.rs
14% of file duplicated; worst clone shares 15 lines with crates/omc-interop/src/shared_state.rs
20% of file duplicated; worst clone shares 20 lines with crates/omc-mcp/src/agent_tools/adapter_tools.rs
22% of file duplicated; worst clone shares 22 lines with crates/omc-mcp/src/python_tools.rs
17% of file duplicated; worst clone shares 12 lines with crates/omc-mcp/src/schema_contract.rs
13% of file duplicated; worst clone shares 14 lines with crates/omc-mcp/src/agent_tools.rs
11% of file duplicated; worst clone shares 15 lines with crates/omc-hooks/src/registry.rs
9% of file duplicated; worst clone shares 10 lines with crates/omc-shared/src/code_intel.rs
descriptor takes 6 parameters
18% of file duplicated; worst clone shares 20 lines with crates/omc-shared/src/config/paths.rs
unwrap/expect turns a recoverable error into a crash
18% of file duplicated; worst clone shares 16 lines with crates/omc-shared/src/operation_contract.rs
21% of file duplicated; worst clone shares 12 lines with crates/omc-shared/src/operation_contract.rs
run_lsp_session takes 6 parameters
16% of file duplicated; worst clone shares 19 lines with crates/omc-shared/src/lsp_adapter.rs
from_agent_event takes 5 parameters
13% of file duplicated; worst clone shares 8 lines with crates/omc-interop/src/shared_state.rs
19% of file duplicated; worst clone shares 7 lines with crates/omc-shared/src/operation_contract.rs
18% of file duplicated; worst clone shares 18 lines with crates/omc-host/src/mcp_reg_tests.rs
12% of file duplicated; worst clone shares 8 lines with tests/host-consumer/lsp_benchmark.py
10% of file duplicated; worst clone shares 8 lines with tests/host-consumer/benchmark.py
unwrap/expect turns a recoverable error into a crash
panic!/unreachable!/todo!/unimplemented! aborts the process unconditionally
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
new takes 5 parameters
run_mcp takes 6 parameters
run_cli takes 6 parameters
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
unwrap/expect turns a recoverable error into a crash
The primary author of each changed file by share of its recent commits, mined from git history. Advisory: it says who has context, not who must review.
This page came from an index of 2233admin/oh-my-claudecode-RS. No model calls, no configuration, and it refreshes on every push. Install the bot and every pull request gets one of these.