Remediation Priority

Files ranked by combined risk score (weighted by check severity and finding type). Top 30 shown.

# File Risk score Findings Flagged by
1 internal/config/config_test.go 29.2 13 complexitycouplinghotspotline-countnesting-depthsecretssemdup
2 internal/tui/tui_test.go 25.7 9 complexitycouplinghotspotline-countnesting-depthsecrets
3 internal/llm/llm.go 15.7 15 complexitycouplinghotspotline-countmagic-numbersnesting-depthparameter-count
4 internal/tools/bash.go 15.2 14 couplinghotspotmagic-numbersnesting-depth
5 internal/tui/model.go 13.7 12 complexityfunction-lengthhotspotline-countmagic-numbersnesting-depth
6 internal/tui/debuglog.go 13.2 13 couplinghotspotmagic-numbersparameter-count
7 internal/tui/format.go 12 12 couplingmagic-numbers
8 internal/ctx/ctx.go 11.7 11 complexitycouplinghotspotmagic-numbersnesting-depth
9 internal/tui/keys.go 11.7 10 complexitycouplinghotspotnesting-depth
10 internal/tui/history_store.go 11.5 11 complexitycouplingmagic-numbers
11 internal/tui/prompt.go 11.5 12 couplingline-countmagic-numbersnesting-depth
12 internal/tools/bash_test.go 11.2 11 couplinghotspot
13 internal/update/update.go 10.7 10 complexitycouplinghotspotmagic-numbers
14 internal/llm/llm_test.go 10.2 9 complexitycouplinghotspotline-countnesting-depth
15 internal/config/config.go 9.7 9 complexitycouplinghotspotmagic-numbers
16 internal/tui/popover.go 9.5 9 complexitycouplingnesting-depth
17 internal/tui/prompt_test.go 9.5 10 couplingline-count
18 internal/tui/commands.go 9 9 coupling
19 cmd/codehamr/main.go 8.2 8 couplinghotspot
20 internal/update/update_test.go 8.2 8 couplinghotspot
21 internal/tui/probe.go 7.5 7 complexitycoupling
22 internal/cloud/cloud.go 6 6 couplingmagic-numbers
23 internal/tools/write.go 6 6 coupling
24 internal/tui/slash.go 5.2 5 couplinghotspot
25 internal/tui/gysd.go 5 5 coupling
26 internal/ctx/ctx_test.go 4.2 4 couplinghotspot
27 internal/gysd/gysd.go 3.2 3 couplinghotspot
28 internal/gysd/gysd_test.go 3.2 3 couplinghotspot
29 internal/tools/edit.go 3.2 3 couplinghotspot
30 Dockerfile 3 2 infra
Project Overview
59
Total files
12
Directories
2
Max directory depth
110
Total commits
40
Repo age (days)
1
Contributors
82.5
Commits / month
1
Branches
3
Entry points
Languages & Stack
Go 95.0%
Markdown 4.2%
Other 0.8%
Infrastructure
CI/CD
github-actions
Docker
Score Breakdown
64 D
change_risk
0
15%
complexity
28
15%
maintainability
83
20%
security
78
30%
testing
100
20%
Check Results
AI Stack pass ai-stack
No findings.
Complexity 18 findings complexity
Severity File Line Detail
warning internal/config/config.go 117 function 'Bootstrap' has cyclomatic complexity 20
warning internal/config/config_test.go 31 function 'TestBootstrapCreatesLayout' has cyclomatic complexity 15
warning internal/config/config_test.go 109 function 'TestBootstrapDoesNotRestoreDeletedHamrpass' has cyclomatic complexity 12
warning internal/config/config_test.go 261 function 'TestBootstrapLoadsMultipleProfiles' has cyclomatic complexity 11
warning internal/ctx/ctx.go 236 function 'newestToolGroup' has cyclomatic complexity 14
warning internal/llm/llm.go 460 function 'readSSE' has cyclomatic complexity 13
warning internal/llm/llm.go 529 function 'dispatchDelta' has cyclomatic complexity 11
warning internal/llm/llm_test.go 41 function 'TestChatStreamsContent' has cyclomatic complexity 14
warning internal/llm/llm_test.go 606 function 'TestChatFallsBackWhenReasoningEffortRejected' has cyclomatic complexity 11
warning internal/llm/llm_test.go 703 function 'TestChatFallsBackWhenOllamaRejectsThinking' has cyclomatic complexity 11
warning internal/tui/history_store.go 64 function 'appendPromptHistory' has cyclomatic complexity 11
warning internal/tui/keys.go 14 function '(Model).handleKey' has cyclomatic complexity 21
warning internal/tui/model.go 373 function '(Model).update' has cyclomatic complexity 22
warning internal/tui/popover.go 34 function '(*Model).refreshSuggest' has cyclomatic complexity 13
warning internal/tui/probe.go 58 function '(Model).handleProbe' has cyclomatic complexity 13
warning internal/tui/tui_test.go 1981 function 'TestVerifyNudgeFiresOnceAtMinRounds' has cyclomatic complexity 11
warning internal/update/drift_test.go 109 function 'TestPublishedManifestMatchesAssetName' has cyclomatic complexity 12
warning internal/update/update.go 133 function 'Apply' has cyclomatic complexity 16
Coupling 144 findings coupling
Severity File Line Detail
warning internal/tui/tui_test.go — internal/tui/tui_test.go ↔ internal/tui/model.go: co-changed 25 times (confidence 71%)
warning internal/llm/llm.go — internal/llm/llm.go ↔ internal/llm/llm_test.go: co-changed 15 times (confidence 94%)
warning internal/config/config.go — internal/config/config.go ↔ internal/config/config_test.go: co-changed 13 times (confidence 87%)
warning internal/config/config_test.go — internal/config/config_test.go ↔ internal/tui/tui_test.go: co-changed 13 times (confidence 87%)
warning internal/ctx/ctx_test.go — internal/ctx/ctx_test.go ↔ internal/ctx/ctx.go: co-changed 13 times (confidence 87%)
warning internal/ctx/ctx.go — internal/ctx/ctx.go ↔ internal/tui/model.go: co-changed 13 times (confidence 59%)
warning internal/tui/slash.go — internal/tui/slash.go ↔ internal/tui/tui_test.go: co-changed 12 times (confidence 100%)
warning internal/config/config.go — internal/config/config.go ↔ internal/tui/tui_test.go: co-changed 12 times (confidence 80%)
warning internal/config/config.go — internal/config/config.go ↔ internal/tui/model.go: co-changed 12 times (confidence 80%)
warning internal/config/config_test.go — internal/config/config_test.go ↔ internal/tui/model.go: co-changed 11 times (confidence 73%)
warning internal/ctx/ctx.go — internal/ctx/ctx.go ↔ internal/tui/tui_test.go: co-changed 11 times (confidence 50%)
warning internal/tools/bash.go — internal/tools/bash.go ↔ internal/tui/model.go: co-changed 10 times (confidence 83%)
warning internal/tui/render.go — internal/tui/render.go ↔ internal/tui/model.go: co-changed 10 times (confidence 83%)
warning internal/ctx/ctx_test.go — internal/ctx/ctx_test.go ↔ internal/tui/model.go: co-changed 10 times (confidence 67%)
warning internal/gysd/gysd_test.go — internal/gysd/gysd_test.go ↔ internal/tui/tui_test.go: co-changed 9 times (confidence 82%)
warning internal/gysd/gysd_test.go — internal/gysd/gysd_test.go ↔ internal/gysd/gysd.go: co-changed 9 times (confidence 82%)
warning internal/tools/bash.go — internal/tools/bash.go ↔ internal/tui/tui_test.go: co-changed 9 times (confidence 75%)
warning internal/ctx/ctx_test.go — internal/ctx/ctx_test.go ↔ internal/tui/tui_test.go: co-changed 9 times (confidence 60%)
warning internal/llm/llm.go — internal/llm/llm.go ↔ internal/tui/model.go: co-changed 9 times (confidence 56%)
warning internal/llm/llm_test.go — internal/llm/llm_test.go ↔ internal/tui/tui_test.go: co-changed 9 times (confidence 56%)
warning internal/llm/llm_test.go — internal/llm/llm_test.go ↔ internal/tui/model.go: co-changed 9 times (confidence 56%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/tui/tui_test.go: co-changed 8 times (confidence 100%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ internal/tui/tui_test.go: co-changed 8 times (confidence 100%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ internal/tui/model.go: co-changed 8 times (confidence 100%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/tools/bash.go: co-changed 8 times (confidence 89%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/tui/tui_test.go: co-changed 8 times (confidence 89%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/tui/model.go: co-changed 8 times (confidence 73%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/tui/tui_test.go: co-changed 8 times (confidence 73%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/ctx/ctx.go: co-changed 8 times (confidence 73%)
warning internal/tui/slash.go — internal/tui/slash.go ↔ internal/tui/model.go: co-changed 8 times (confidence 67%)
warning internal/config/config.go — internal/config/config.go ↔ internal/ctx/ctx.go: co-changed 8 times (confidence 53%)
warning internal/config/config_test.go — internal/config/config_test.go ↔ internal/ctx/ctx.go: co-changed 8 times (confidence 53%)
warning internal/llm/llm.go — internal/llm/llm.go ↔ internal/tui/tui_test.go: co-changed 8 times (confidence 50%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/tui/model.go: co-changed 7 times (confidence 100%)
warning internal/tui/gysd.go — internal/tui/gysd.go ↔ internal/tui/tui_test.go: co-changed 7 times (confidence 100%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/tui/tui_test.go: co-changed 7 times (confidence 100%)
warning internal/tui/probe.go — internal/tui/probe.go ↔ internal/tui/tui_test.go: co-changed 7 times (confidence 100%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/tui/model.go: co-changed 7 times (confidence 88%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/config/config_test.go: co-changed 7 times (confidence 88%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ internal/update/update.go: co-changed 7 times (confidence 88%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/config/config_test.go: co-changed 7 times (confidence 78%)
warning internal/update/update.go — internal/update/update.go ↔ internal/tui/model.go: co-changed 7 times (confidence 70%)
warning internal/update/update.go — internal/update/update.go ↔ internal/config/config_test.go: co-changed 7 times (confidence 70%)
warning internal/update/update.go — internal/update/update.go ↔ internal/tui/tui_test.go: co-changed 7 times (confidence 70%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/ctx/ctx_test.go: co-changed 7 times (confidence 64%)
warning internal/gysd/gysd.go — internal/gysd/gysd.go ↔ internal/tui/tui_test.go: co-changed 7 times (confidence 58%)
warning internal/gysd/gysd.go — internal/gysd/gysd.go ↔ internal/tui/model.go: co-changed 7 times (confidence 58%)
warning internal/tools/bash.go — internal/tools/bash.go ↔ internal/ctx/ctx.go: co-changed 7 times (confidence 58%)
warning internal/tui/slash.go — internal/tui/slash.go ↔ internal/config/config.go: co-changed 7 times (confidence 58%)
warning internal/tools/write.go — internal/tools/write.go ↔ internal/tui/model.go: co-changed 6 times (confidence 100%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/tui/model.go: co-changed 6 times (confidence 100%)
warning internal/tools/edit.go — internal/tools/edit.go ↔ internal/tui/model.go: co-changed 6 times (confidence 86%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/tui/slash.go: co-changed 6 times (confidence 86%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/tools/bash.go: co-changed 6 times (confidence 86%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/tui/tui_test.go: co-changed 6 times (confidence 86%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/config/config.go: co-changed 6 times (confidence 86%)
warning internal/tui/gysd.go — internal/tui/gysd.go ↔ internal/tui/model.go: co-changed 6 times (confidence 86%)
warning internal/tui/gysd.go — internal/tui/gysd.go ↔ internal/gysd/gysd_test.go: co-changed 6 times (confidence 86%)
warning internal/tui/probe.go — internal/tui/probe.go ↔ internal/tui/model.go: co-changed 6 times (confidence 86%)
warning internal/tui/resize_test.go — internal/tui/resize_test.go ↔ internal/tui/model.go: co-changed 6 times (confidence 86%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/ctx/ctx.go: co-changed 6 times (confidence 75%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/config/config.go: co-changed 6 times (confidence 75%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ internal/config/config.go: co-changed 6 times (confidence 75%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ internal/config/config_test.go: co-changed 6 times (confidence 75%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ internal/tui/tui_test.go: co-changed 6 times (confidence 75%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/config/config.go: co-changed 6 times (confidence 67%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/ctx/ctx.go: co-changed 6 times (confidence 67%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/tui/model.go: co-changed 6 times (confidence 67%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ cmd/codehamr/main.go: co-changed 6 times (confidence 67%)
warning internal/update/update.go — internal/update/update.go ↔ internal/config/config.go: co-changed 6 times (confidence 60%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/config/config.go: co-changed 6 times (confidence 55%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/config/config_test.go: co-changed 6 times (confidence 55%)
warning cmd/codehamr/main.go — cmd/codehamr/main.go ↔ internal/tools/bash.go: co-changed 6 times (confidence 55%)
warning internal/tools/bash.go — internal/tools/bash.go ↔ internal/tui/slash.go: co-changed 6 times (confidence 50%)
warning internal/tools/bash.go — internal/tools/bash.go ↔ internal/config/config.go: co-changed 6 times (confidence 50%)
warning internal/tools/bash.go — internal/tools/bash.go ↔ internal/config/config_test.go: co-changed 6 times (confidence 50%)
warning internal/tui/slash.go — internal/tui/slash.go ↔ internal/config/config_test.go: co-changed 6 times (confidence 50%)
warning internal/cloud/cloud.go — internal/cloud/cloud.go ↔ internal/tui/model.go: co-changed 5 times (confidence 100%)
warning internal/tools/edit_test.go — internal/tools/edit_test.go ↔ internal/tools/edit.go: co-changed 5 times (confidence 100%)
warning internal/tui/format.go — internal/tui/format.go ↔ internal/tui/model.go: co-changed 5 times (confidence 100%)
warning internal/tui/format.go — internal/tui/format.go ↔ internal/tui/render.go: co-changed 5 times (confidence 100%)
warning internal/tui/history_store_test.go — internal/tui/history_store_test.go ↔ internal/tui/history_store.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/tui/keys.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/tui/popover.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/llm/llm.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/config/config_test.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/tui/tui_test.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/tui/prompt.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/tui/model.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/config/config.go: co-changed 5 times (confidence 100%)
warning internal/tui/prompt_test.go — internal/tui/prompt_test.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 100%)
warning internal/tools/write.go — internal/tools/write.go ↔ internal/ctx/ctx.go: co-changed 5 times (confidence 83%)
warning internal/tools/write.go — internal/tools/write.go ↔ internal/tools/edit.go: co-changed 5 times (confidence 83%)
warning internal/tools/write.go — internal/tools/write.go ↔ internal/tui/tui_test.go: co-changed 5 times (confidence 83%)
warning internal/tools/write.go — internal/tools/write.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 83%)
warning internal/tools/write.go — internal/tools/write.go ↔ internal/llm/llm.go: co-changed 5 times (confidence 83%)
warning internal/tui/history_store.go — internal/tui/history_store.go ↔ internal/tui/model.go: co-changed 5 times (confidence 83%)
warning internal/tui/history_store.go — internal/tui/history_store.go ↔ internal/tui/tui_test.go: co-changed 5 times (confidence 83%)
warning internal/tui/history_store.go — internal/tui/history_store.go ↔ internal/update/update.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/config/config.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/tui/tui_test.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/tui/popover.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/config/config_test.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/llm/llm.go: co-changed 5 times (confidence 83%)
warning internal/tui/prompt.go — internal/tui/prompt.go ↔ internal/tui/keys.go: co-changed 5 times (confidence 83%)
warning internal/tools/edit.go — internal/tools/edit.go ↔ internal/ctx/ctx.go: co-changed 5 times (confidence 71%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/tools/bash_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ cmd/codehamr/main.go: co-changed 5 times (confidence 71%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/tui/debuglog.go: co-changed 5 times (confidence 71%)
warning internal/tui/commands.go — internal/tui/commands.go ↔ internal/config/config_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/gysd.go — internal/tui/gysd.go ↔ internal/gysd/gysd.go: co-changed 5 times (confidence 71%)
warning internal/tui/gysd.go — internal/tui/gysd.go ↔ internal/tui/slash.go: co-changed 5 times (confidence 71%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/tui/keys.go: co-changed 5 times (confidence 71%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/config/config_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/llm/llm.go: co-changed 5 times (confidence 71%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/config/config.go: co-changed 5 times (confidence 71%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/tui/model.go: co-changed 5 times (confidence 71%)
warning internal/tui/popover.go — internal/tui/popover.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/probe.go — internal/tui/probe.go ↔ internal/ctx/ctx_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/probe.go — internal/tui/probe.go ↔ internal/ctx/ctx.go: co-changed 5 times (confidence 71%)
warning internal/tui/probe.go — internal/tui/probe.go ↔ internal/tools/bash.go: co-changed 5 times (confidence 71%)
warning internal/tui/probe.go — internal/tui/probe.go ↔ cmd/codehamr/main.go: co-changed 5 times (confidence 71%)
warning internal/tui/resize_test.go — internal/tui/resize_test.go ↔ internal/tui/tui_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/resize_test.go — internal/tui/resize_test.go ↔ internal/tools/bash_test.go: co-changed 5 times (confidence 71%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/ctx/ctx_test.go: co-changed 5 times (confidence 62%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/tools/bash_test.go: co-changed 5 times (confidence 62%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/tools/bash.go: co-changed 5 times (confidence 62%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ internal/tui/slash.go: co-changed 5 times (confidence 62%)
warning internal/tui/debuglog.go — internal/tui/debuglog.go ↔ cmd/codehamr/main.go: co-changed 5 times (confidence 62%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ internal/llm/llm.go: co-changed 5 times (confidence 62%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ cmd/codehamr/main.go: co-changed 5 times (confidence 62%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 62%)
warning internal/tui/keys.go — internal/tui/keys.go ↔ internal/config/config_test.go: co-changed 5 times (confidence 62%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ internal/ctx/ctx_test.go: co-changed 5 times (confidence 62%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ cmd/codehamr/main.go: co-changed 5 times (confidence 62%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ internal/tui/model.go: co-changed 5 times (confidence 62%)
warning internal/update/update_test.go — internal/update/update_test.go ↔ internal/config/config.go: co-changed 5 times (confidence 62%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/tui/slash.go: co-changed 5 times (confidence 56%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/ctx/ctx_test.go: co-changed 5 times (confidence 56%)
warning internal/tools/bash_test.go — internal/tools/bash_test.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 56%)
warning internal/update/update.go — internal/update/update.go ↔ internal/ctx/ctx_test.go: co-changed 5 times (confidence 50%)
warning internal/update/update.go — internal/update/update.go ↔ cmd/codehamr/main.go: co-changed 5 times (confidence 50%)
warning internal/update/update.go — internal/update/update.go ↔ internal/llm/llm_test.go: co-changed 5 times (confidence 50%)
Dead Code pass dead-code
No findings.
Dependency Audit pass dep-audit
No findings.
Duplication pass duplication
No findings.
Error Handling pass error-handling
No findings.
Function Length 1 findings function-length
Severity File Line Detail
warning internal/tui/model.go 373 function '' is 111 lines long (threshold 100)
Hotspot 20 findings hotspot
Severity File Line Detail
warning internal/tui/model.go — changed in 36% of commits (40 times in 365 days)
warning internal/tui/tui_test.go — changed in 32% of commits (35 times in 365 days)
warning internal/ctx/ctx.go — changed in 20% of commits (22 times in 365 days)
warning internal/llm/llm.go — changed in 15% of commits (16 times in 365 days)
warning internal/llm/llm_test.go — changed in 15% of commits (16 times in 365 days)
warning internal/config/config.go — changed in 14% of commits (15 times in 365 days)
warning internal/config/config_test.go — changed in 14% of commits (15 times in 365 days)
warning internal/ctx/ctx_test.go — changed in 14% of commits (15 times in 365 days)
warning internal/gysd/gysd.go — changed in 11% of commits (12 times in 365 days)
warning internal/tools/bash.go — changed in 11% of commits (12 times in 365 days)
warning internal/tui/render.go — changed in 11% of commits (12 times in 365 days)
warning internal/tui/slash.go — changed in 11% of commits (12 times in 365 days)
warning cmd/codehamr/main.go — changed in 10% of commits (11 times in 365 days)
warning internal/gysd/gysd_test.go — changed in 10% of commits (11 times in 365 days)
warning internal/update/update.go — changed in 9% of commits (10 times in 365 days)
warning internal/tools/bash_test.go — changed in 8% of commits (9 times in 365 days)
warning internal/tui/debuglog.go — changed in 7% of commits (8 times in 365 days)
warning internal/tui/keys.go — changed in 7% of commits (8 times in 365 days)
warning internal/update/update_test.go — changed in 7% of commits (8 times in 365 days)
warning internal/tools/edit.go — changed in 6% of commits (7 times in 365 days)
Import Graph pass import-graph
No findings.
Infrastructure 2 findings infra
Severity File Line Detail
error Dockerfile 1 no non-root USER in final stage: container runs as root
warning Dockerfile 1 no HEALTHCHECK instruction: orchestrators cannot detect unhealthy containers
Line Count 7 findings line-count
Severity File Line Detail
warning internal/config/config_test.go — file has 725 lines (threshold: warn=500, error=1000)
warning internal/llm/llm.go — file has 623 lines (threshold: warn=500, error=1000)
warning internal/llm/llm_test.go — file has 921 lines (threshold: warn=500, error=1000)
error internal/tui/model.go — file has 1211 lines (threshold: warn=500, error=1000)
warning internal/tui/prompt.go — file has 540 lines (threshold: warn=500, error=1000)
warning internal/tui/prompt_test.go — file has 518 lines (threshold: warn=500, error=1000)
error internal/tui/tui_test.go — file has 3296 lines (threshold: warn=500, error=1000)
Nesting Depth 16 findings nesting-depth
Severity File Line Detail
warning internal/config/config_test.go 31 function 'TestBootstrapCreatesLayout' has max nesting depth 6 (threshold 4)
warning internal/ctx/ctx.go 315 function 'dropDanglingToolCalls' has max nesting depth 6 (threshold 4)
warning internal/llm/llm.go 371 function 'postChat' has max nesting depth 5 (threshold 4)
warning internal/llm/llm_test.go 41 function 'TestChatStreamsContent' has max nesting depth 6 (threshold 4)
warning internal/llm/llm_test.go 97 function 'TestChatToolCall' has max nesting depth 5 (threshold 4)
warning internal/tools/bash.go 38 function 'Bash' has max nesting depth 5 (threshold 4)
warning internal/tools/bash.go 117 function 'runRaw' has max nesting depth 5 (threshold 4)
error internal/tools/bash.go 163 function 'InlineStatus' has max nesting depth 7 (threshold 4)
error internal/tui/keys.go 14 function 'handleKey' has max nesting depth 10 (threshold 4)
error internal/tui/model.go 373 function '' has max nesting depth 14 (threshold 4)
warning internal/tui/model.go 691 function '' has max nesting depth 6 (threshold 4)
warning internal/tui/model.go 1050 function 'toolResultFailed' has max nesting depth 6 (threshold 4)
warning internal/tui/popover.go 34 function 'refreshSuggest' has max nesting depth 5 (threshold 4)
warning internal/tui/prompt.go 221 function 'handleChipKey' has max nesting depth 5 (threshold 4)
warning internal/tui/tui_test.go 701 function 'TestVerboseLogCapturesTurnRecords' has max nesting depth 5 (threshold 4)
error internal/tui/tui_test.go 2388 function 'stripANSI' has max nesting depth 7 (threshold 4)
Parameter Count 2 findings parameter-count
Severity File Line Detail
warning internal/llm/llm.go 529 function 'dispatchDelta' has 7 parameters (threshold 5)
warning internal/tui/debuglog.go 107 function 'dbgWriteSession' has 7 parameters (threshold 5)
Scripts pass scripts
No findings.
Secret Scanning 6 findings secrets
Severity File Line Detail
error internal/config/config_test.go 244 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. [rule: generic-api-key]
error internal/config/config_test.go 325 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. [rule: generic-api-key]
error internal/config/config_test.go 713 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. [rule: generic-api-key]
error internal/tui/tui_test.go 655 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. [rule: generic-api-key]
error internal/tui/tui_test.go 2914 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. [rule: generic-api-key]
error internal/tui/tui_test.go 2955 Detected a Generic API Key, potentially exposing access to various services and sensitive operations. [rule: generic-api-key]
Test Presence pass test-presence
No findings.
Test files: 19 Source files: 26 Ratio: 73%
TODO Density pass todo-density
No findings.
Semantic Duplication 1 findings semdup
Severity File Line Detail
warning internal/config/config_test.go 228 semantic duplicate of internal/config/config_test.go:480 (similarity 0.92)
Magic Numbers 52 findings magic-numbers
Severity File Line Detail
info internal/cloud/cloud.go 49 magic literal 1024 — consider a named constant (token size)
info internal/cloud/cloud.go 50 magic literal 1024 — consider a named constant (accounting status)
info internal/cloud/cloud.go 50 magic literal 1024 — consider a named constant (accounting status)
info internal/cloud/cloud.go 73 magic literal 64 — consider a named constant (float value)
info internal/cloud/cloud.go 95 magic literal 100 — consider a named constant (pass depletion)
info internal/config/config.go 58 magic literal 11434 — consider a named constant (profile size)
info internal/config/config.go 244 magic literal 11434 — consider a named constant
info internal/config/config.go 244 magic literal 11434 — consider a named constant
info internal/ctx/ctx.go 49 magic literal 6000 — consider a named constant
info internal/ctx/ctx.go 50 magic literal 2000 — consider a named constant
info internal/ctx/ctx.go 58 magic literal 4000 — consider a named constant
info internal/ctx/ctx.go 59 magic literal 1500 — consider a named constant
info internal/ctx/ctx.go 74 magic literal 8000 — consider a named constant
info internal/ctx/ctx.go 77 magic literal 8000 — consider a named constant
info internal/llm/llm.go 279 magic literal 32 — consider a named constant
info internal/llm/llm.go 411 magic literal 200 — consider a named constant
info internal/llm/llm.go 416 magic literal 401 — consider a named constant
info internal/llm/llm.go 421 magic literal 402 — consider a named constant
info internal/llm/llm.go 462 magic literal 16 — consider a named constant
info internal/llm/llm.go 462 magic literal 20 — consider a named constant
info internal/tools/bash.go 56 magic literal 100 — consider a named constant
info internal/tools/bash.go 96 magic literal 120 — consider a named constant
info internal/tools/bash.go 192 magic literal 120 — consider a named constant
info internal/tools/bash.go 195 magic literal 117 — consider a named constant
info internal/tui/debuglog.go 96 magic literal 2006 — consider a named constant
info internal/tui/format.go 18 magic literal 1000 — consider a named constant
info internal/tui/format.go 21 magic literal 1000 — consider a named constant
info internal/tui/format.go 33 magic literal 60 — consider a named constant
info internal/tui/format.go 36 magic literal 3600 — consider a named constant
info internal/tui/format.go 37 magic literal 60 — consider a named constant
info internal/tui/format.go 37 magic literal 60 — consider a named constant
info internal/tui/format.go 43 magic literal 3600 — consider a named constant
info internal/tui/format.go 43 magic literal 3600 — consider a named constant
info internal/tui/format.go 43 magic literal 60 — consider a named constant
info internal/tui/format.go 59 magic literal 10 — consider a named constant
info internal/tui/history_store.go 17 magic literal 500 — consider a named constant
info internal/tui/history_store.go 21 magic literal 256 — consider a named constant
info internal/tui/history_store.go 21 magic literal 1024 — consider a named constant
info internal/tui/history_store.go 26 magic literal 1024 — consider a named constant
info internal/tui/history_store.go 26 magic literal 1024 — consider a named constant
info internal/tui/history_store.go 44 magic literal 64 — consider a named constant
info internal/tui/history_store.go 122 magic literal 64 — consider a named constant
info internal/tui/model.go 25 magic literal 80 — consider a named constant
info internal/tui/model.go 781 magic literal 100 — consider a named constant
info internal/tui/model.go 795 magic literal 20 — consider a named constant
info internal/tui/model.go 796 magic literal 95 — consider a named constant
info internal/tui/model.go 1184 magic literal 200 — consider a named constant
info internal/tui/prompt.go 20 magic literal 200 — consider a named constant
info internal/tui/prompt.go 424 magic literal 2048 — consider a named constant
info internal/tui/styles.go 20 magic literal 11 — consider a named constant
info internal/tui/styles.go 37 magic literal 11 — consider a named constant
info internal/update/update.go 244 magic literal 200 — consider a named constant
Codebase Map

Source file size by directory. Click a segment to zoom in, click the centre to zoom out.

Key Entities

The most-referenced declared types across the codebase. Bubble area scales with mention count; colour reflects the language. Click a bubble for details.

Entry-point fan-out

Declared types referenced from each detected entry-point file (main(), __main__, …).

Config
Coupling Matrix
File A File B Co-changes Confidence
internal/tui/tui_test.go internal/tui/model.go 25 71%
internal/llm/llm.go internal/llm/llm_test.go 15 94%
internal/config/config.go internal/config/config_test.go 13 87%
internal/config/config_test.go internal/tui/tui_test.go 13 87%
internal/ctx/ctx_test.go internal/ctx/ctx.go 13 87%
internal/ctx/ctx.go internal/tui/model.go 13 59%
internal/tui/slash.go internal/tui/tui_test.go 12 100%
internal/config/config.go internal/tui/tui_test.go 12 80%
internal/config/config.go internal/tui/model.go 12 80%
internal/config/config_test.go internal/tui/model.go 11 73%
internal/ctx/ctx.go internal/tui/tui_test.go 11 50%
internal/tools/bash.go internal/tui/model.go 10 83%
internal/tui/render.go internal/tui/model.go 10 83%
internal/ctx/ctx_test.go internal/tui/model.go 10 67%
internal/gysd/gysd_test.go internal/tui/tui_test.go 9 82%
internal/gysd/gysd_test.go internal/gysd/gysd.go 9 82%
internal/tools/bash.go internal/tui/tui_test.go 9 75%
internal/ctx/ctx_test.go internal/tui/tui_test.go 9 60%
internal/llm/llm.go internal/tui/model.go 9 56%
internal/llm/llm_test.go internal/tui/tui_test.go 9 56%
internal/llm/llm_test.go internal/tui/model.go 9 56%
internal/tui/debuglog.go internal/tui/tui_test.go 8 100%
internal/tui/keys.go internal/tui/tui_test.go 8 100%
internal/tui/keys.go internal/tui/model.go 8 100%
internal/tools/bash_test.go internal/tools/bash.go 8 89%
internal/tools/bash_test.go internal/tui/tui_test.go 8 89%
cmd/codehamr/main.go internal/tui/model.go 8 73%
cmd/codehamr/main.go internal/tui/tui_test.go 8 73%
cmd/codehamr/main.go internal/ctx/ctx.go 8 73%
internal/tui/slash.go internal/tui/model.go 8 67%
internal/config/config.go internal/ctx/ctx.go 8 53%
internal/config/config_test.go internal/ctx/ctx.go 8 53%
internal/llm/llm.go internal/tui/tui_test.go 8 50%
internal/tui/commands.go internal/tui/model.go 7 100%
internal/tui/gysd.go internal/tui/tui_test.go 7 100%
internal/tui/popover.go internal/tui/tui_test.go 7 100%
internal/tui/probe.go internal/tui/tui_test.go 7 100%
internal/tui/debuglog.go internal/tui/model.go 7 88%
internal/tui/debuglog.go internal/config/config_test.go 7 88%
internal/update/update_test.go internal/update/update.go 7 88%
internal/tools/bash_test.go internal/config/config_test.go 7 78%
internal/update/update.go internal/tui/model.go 7 70%
internal/update/update.go internal/config/config_test.go 7 70%
internal/update/update.go internal/tui/tui_test.go 7 70%
cmd/codehamr/main.go internal/ctx/ctx_test.go 7 64%
internal/gysd/gysd.go internal/tui/tui_test.go 7 58%
internal/gysd/gysd.go internal/tui/model.go 7 58%
internal/tools/bash.go internal/ctx/ctx.go 7 58%
internal/tui/slash.go internal/config/config.go 7 58%
internal/tools/write.go internal/tui/model.go 6 100%
internal/tui/prompt.go internal/tui/model.go 6 100%
internal/tools/edit.go internal/tui/model.go 6 86%
internal/tui/commands.go internal/tui/slash.go 6 86%
internal/tui/commands.go internal/tools/bash.go 6 86%
internal/tui/commands.go internal/tui/tui_test.go 6 86%
internal/tui/commands.go internal/config/config.go 6 86%
internal/tui/gysd.go internal/tui/model.go 6 86%
internal/tui/gysd.go internal/gysd/gysd_test.go 6 86%
internal/tui/probe.go internal/tui/model.go 6 86%
internal/tui/resize_test.go internal/tui/model.go 6 86%
internal/tui/debuglog.go internal/ctx/ctx.go 6 75%
internal/tui/debuglog.go internal/config/config.go 6 75%
internal/tui/keys.go internal/config/config.go 6 75%
internal/update/update_test.go internal/config/config_test.go 6 75%
internal/update/update_test.go internal/tui/tui_test.go 6 75%
internal/tools/bash_test.go internal/config/config.go 6 67%
internal/tools/bash_test.go internal/ctx/ctx.go 6 67%
internal/tools/bash_test.go internal/tui/model.go 6 67%
internal/tools/bash_test.go cmd/codehamr/main.go 6 67%
internal/update/update.go internal/config/config.go 6 60%
cmd/codehamr/main.go internal/config/config.go 6 55%
cmd/codehamr/main.go internal/config/config_test.go 6 55%
cmd/codehamr/main.go internal/tools/bash.go 6 55%
internal/tools/bash.go internal/tui/slash.go 6 50%
internal/tools/bash.go internal/config/config.go 6 50%
internal/tools/bash.go internal/config/config_test.go 6 50%
internal/tui/slash.go internal/config/config_test.go 6 50%
internal/cloud/cloud.go internal/tui/model.go 5 100%
internal/tools/edit_test.go internal/tools/edit.go 5 100%
internal/tui/format.go internal/tui/model.go 5 100%
internal/tui/format.go internal/tui/render.go 5 100%
internal/tui/history_store_test.go internal/tui/history_store.go 5 100%
internal/tui/prompt_test.go internal/tui/keys.go 5 100%
internal/tui/prompt_test.go internal/tui/popover.go 5 100%
internal/tui/prompt_test.go internal/llm/llm.go 5 100%
internal/tui/prompt_test.go internal/config/config_test.go 5 100%
internal/tui/prompt_test.go internal/tui/tui_test.go 5 100%
internal/tui/prompt_test.go internal/tui/prompt.go 5 100%
internal/tui/prompt_test.go internal/tui/model.go 5 100%
internal/tui/prompt_test.go internal/config/config.go 5 100%
internal/tui/prompt_test.go internal/llm/llm_test.go 5 100%
internal/tools/write.go internal/ctx/ctx.go 5 83%
internal/tools/write.go internal/tools/edit.go 5 83%
internal/tools/write.go internal/tui/tui_test.go 5 83%
internal/tools/write.go internal/llm/llm_test.go 5 83%
internal/tools/write.go internal/llm/llm.go 5 83%
internal/tui/history_store.go internal/tui/model.go 5 83%
internal/tui/history_store.go internal/tui/tui_test.go 5 83%
internal/tui/history_store.go internal/update/update.go 5 83%
internal/tui/prompt.go internal/config/config.go 5 83%
internal/tui/prompt.go internal/tui/tui_test.go 5 83%
internal/tui/prompt.go internal/tui/popover.go 5 83%
internal/tui/prompt.go internal/llm/llm_test.go 5 83%
internal/tui/prompt.go internal/config/config_test.go 5 83%
internal/tui/prompt.go internal/llm/llm.go 5 83%
internal/tui/prompt.go internal/tui/keys.go 5 83%
internal/tools/edit.go internal/ctx/ctx.go 5 71%
internal/tui/commands.go internal/tools/bash_test.go 5 71%
internal/tui/commands.go cmd/codehamr/main.go 5 71%
internal/tui/commands.go internal/tui/debuglog.go 5 71%
internal/tui/commands.go internal/config/config_test.go 5 71%
internal/tui/gysd.go internal/gysd/gysd.go 5 71%
internal/tui/gysd.go internal/tui/slash.go 5 71%
internal/tui/popover.go internal/tui/keys.go 5 71%
internal/tui/popover.go internal/config/config_test.go 5 71%
internal/tui/popover.go internal/llm/llm.go 5 71%
internal/tui/popover.go internal/config/config.go 5 71%
internal/tui/popover.go internal/tui/model.go 5 71%
internal/tui/popover.go internal/llm/llm_test.go 5 71%
internal/tui/probe.go internal/ctx/ctx_test.go 5 71%
internal/tui/probe.go internal/ctx/ctx.go 5 71%
internal/tui/probe.go internal/tools/bash.go 5 71%
internal/tui/probe.go cmd/codehamr/main.go 5 71%
internal/tui/resize_test.go internal/tui/tui_test.go 5 71%
internal/tui/resize_test.go internal/tools/bash_test.go 5 71%
internal/tui/debuglog.go internal/ctx/ctx_test.go 5 62%
internal/tui/debuglog.go internal/tools/bash_test.go 5 62%
internal/tui/debuglog.go internal/tools/bash.go 5 62%
internal/tui/debuglog.go internal/tui/slash.go 5 62%
internal/tui/debuglog.go cmd/codehamr/main.go 5 62%
internal/tui/keys.go internal/llm/llm.go 5 62%
internal/tui/keys.go cmd/codehamr/main.go 5 62%
internal/tui/keys.go internal/llm/llm_test.go 5 62%
internal/tui/keys.go internal/config/config_test.go 5 62%
internal/update/update_test.go internal/ctx/ctx_test.go 5 62%
internal/update/update_test.go cmd/codehamr/main.go 5 62%
internal/update/update_test.go internal/tui/model.go 5 62%
internal/update/update_test.go internal/config/config.go 5 62%
internal/tools/bash_test.go internal/tui/slash.go 5 56%
internal/tools/bash_test.go internal/ctx/ctx_test.go 5 56%
internal/tools/bash_test.go internal/llm/llm_test.go 5 56%
internal/update/update.go internal/ctx/ctx_test.go 5 50%
internal/update/update.go cmd/codehamr/main.go 5 50%
internal/update/update.go internal/llm/llm_test.go 5 50%
Import Graph

Static package-level import dependencies. Red edges indicate circular dependencies. Node size reflects fan-in. Click a node to highlight its direct neighbours.

Hotspot × Complexity

Files that change frequently and have high cyclomatic complexity. Highest-priority refactoring targets.