Repository Analyses

Nightly hotspot reports for popular open-source repositories. Each report ranks functions by activity-weighted risk — complexity × recent commit frequency — and labels the antipatterns driving the score.

v2fly/v2ray-core go

v2ray-core's proxy layer carries the highest structural risk — 5 functions to address first

The riskiest function in v2ray-core hasn't been touched in 72 days, but its fan-out of 102 means the next developer to modify it is inheriting a change surface that reaches across most of the proxy stack. Four of the five highest-scoring functions are structural debt, not active fires — which makes them easier to ignore and harder to fix safely when the time comes.

exit_heavygod_function
Jul 31 Read →
harness/harness go

Harness's pull request UI carries the highest activity risk — 5 functions to fix

Every one of the top five riskiest functions in harness/harness lives in the web front-end, not the Go backend — and all five are in the 'fire' quadrant, meaning they are both structurally complex and actively changing right now. The pull request review UI is carrying the heaviest load: cyclomatic complexity up to 90, nesting depth up to 15, and fan-out as high as 111 in a single hook.

complex_branchingdeeply_nested
Jul 30 Read →
aquasecurity/trivy go

trivy's flag and VEX layers carry the highest risk — 5 functions to address first

Five of trivy's most structurally complex functions are actively changing right now, not sitting in a backlog — that combination of high complexity and live commit activity is exactly where regressions are most likely to slip through. I'd start with `ToOptions` in `pkg/flag/report_flags.go`, which carries a risk score of 14.0 and was touched just 29 days ago, and work through to `ApplyLayers` in `pkg/fanal/applier/docker.go` before the next feature push.

exit_heavygod_function
Jul 29 Read →
1Panel-dev/1Panel go

1Panel's nginx and website services carry the highest activity risk

All five of 1Panel's top hotspots sit in the 'fire' quadrant right now — structurally complex and touched within the last week — meaning any engineer shipping to this codebase today is working adjacent to live regression risk. I'd start with `GetRedirect` in `website.go`, a nesting-depth-9 nginx config parser that has been touched twice in 30 days and carries a fan-out of 32 distinct callees.

exit_heavygod_function
Jul 28 Read →
hashicorp/vault go

Vault's auth core carries the highest activity risk — 5 functions to fix first

Five of the most structurally complex functions in hashicorp/vault are changing actively this week, concentrated in the request-handling and token-creation layers — exactly the code paths every authenticated API call flows through. If your team is shipping anything that touches auth or policy evaluation, these are the functions most likely to introduce a regression.

complex_branchingdeeply_nested
Jul 27 Read →
istio/istio go

Istio control plane hotspots: 5 functions carrying the highest activity risk

Five functions across istio's control plane scored critical band in the same week they were committed to — meaning engineers are actively shipping changes into some of the most structurally complex code in the repository. If you're merging into pilot or istioctl right now, these are the spots most likely to surprise you.

exit_heavygod_function
Jul 26 Read →
danielmiessler/Fabric go

Fabric's streamlit UI carries the complexity outlier — main hits CC 192

A Hotspots analysis of danielmiessler/Fabric at commit d85544c, surfacing the top functions by activity-weighted risk score.

exit_heavygod_function
Jul 25 Read →
cli/cli go

cli/cli's command layer carries the highest activity risk — 5 functions to address first

Every one of cli/cli's top five hotspots is actively changing right now — all five were touched within the last 13 days and all five carry critical-band activity-weighted risk scores. If your team is shipping to this repo this week, these are the functions most likely to introduce a regression.

exit_heavycomplex_branching
Jul 24 Read →
mudler/LocalAI go

LocalAI's static asset layer carries the highest activity risk

When I ran Hotspots against mudler/LocalAI, the highest activity-weighted risk scores didn't surface in the Go inference engine or the model-loading pipeline — they surfaced in two bundled JavaScript files served as static assets. Three of the five hotspots I found live in a single file, core/http/static/assets/htmx.js, which means any team member touching that module is navigating a dense web of structurally complex, interacting functions all at once.

complex_branchingdeeply_nested
Jul 23 Read →
gogs/gogs go

gogs/gogs's highest structural debt is in vendored CodeMirror plugins

The five highest-scoring functions in gogs/gogs have been sitting untouched for 42 days — and every one of them is a language tokenizer buried inside a vendored copy of CodeMirror 5.17.0. That's not an emergency today, but the structural debt they represent makes the next developer who has to touch that bundle walk into a minefield.

exit_heavygod_function
Jul 22 Read →
hashicorp/terraform go

Terraform's type and backend layer — 5 functions to address first

Five of Terraform's most structurally complex functions were each touched within the last five days — meaning engineers shipping code this week are working inside code that scores critical on every structural dimension. If you're reviewing PRs or writing tests against Terraform's backend, type-expression, or plan-compatibility layer right now, the data suggests you should pay close attention.

complex_branchingdeeply_nested
Jul 21 Read →
Textualize/textual python

Textual's parser and layout engine carry the highest activity risk

Of the 222 critical functions I found in Textualize/textual, one stands out as a live regression risk right now: the `parse` function in `_xterm_parser.py` carries an activity-weighted risk score of 18.79, has been touched 3 times in the last 30 days, and was last modified just 2 days ago — all while carrying a cyclomatic complexity of 70. Four more critical functions in markup parsing, grid layout, and message dispatch haven't been touched in 61 days, but their structural mass means the next engineer to open those files will be walking into a high blast-radius situation.

complex_branchingdeeply_nested
Jul 20 Read →
roboflow/supervision python

supervision's metrics layer carries the highest risk — 5 functions to fix first

Five functions in roboflow/supervision are both structurally extreme and actively changing right now — the metrics layer alone has three `_compute` implementations each touched within the last two days, sitting at cyclomatic complexity scores that demand dozens of test cases just to cover the existing paths. If you're shipping against supervision this week, these are the functions most likely to introduce regressions under you.

long_functioncomplex_branching
Jul 19 Read →
babysor/MockingBird python

MockingBird's training loops carry the most structural debt — 5 functions to fix first

Every one of MockingBird's five highest-risk functions is structural debt, not active churn — they are complex, broadly coupled, and haven't been touched in over three years. The more interesting question is what happens to the two massive training loops the next time someone needs to extend them.

god_functioncomplex_branching
Jul 18 Read →
sqlmapproject/sqlmap python

sqlmap's core engine carries the highest activity risk — 5 functions to address first

Every one of sqlmap's top five structural hotspots is actively changing right now, not sitting in a backlog. The injection-detection function alone carries a cyclomatic complexity of 484 and was touched twice in the last 30 days — that combination makes every commit to it a live regression risk.

complex_branchingdeeply_nested
Jul 17 Read →
666ghj/BettaFish python

BettaFish's ReportEngine carries the highest structural risk — 5 functions to address first

The riskiest function in 666ghj/BettaFish hasn't been modified in 154 days, which means the next developer who has to change it will be navigating 104 independent execution paths and 59 outbound function calls with no recent institutional memory. All five top hotspots sit in the structural-debt quadrant — no active churn, just complexity that has been accumulating quietly inside the ReportEngine layer.

complex_branchingdeeply_nested
Jul 16 Read →
agno-agi/agno python

agno-agi/agno's async run layer — 5 functions to address first

Every one of agno's five highest-risk functions sits in the async streaming run layer — agent, team, and workflow — and each was committed to within the last day. That combination of extreme structural complexity and live development activity makes this a prioritization decision for engineers shipping code this week, not a backlog item.

complex_branchingdeeply_nested
Jul 16 Read →
paperless-ngx/paperless-ngx python

paperless-ngx's signal handlers — 5 functions to address first

Every one of the top five riskiest functions in paperless-ngx is in the 'fire' quadrant right now: structurally complex and touched three times in the last 30 days. If you are shipping changes to document consumption, file renaming, or SVG validation this week, these are the functions most likely to produce a regression before the next release.

complex_branchingdeeply_nested
Jul 16 Read →
BerriAI/litellm python

litellm's provider routing and secret handling carry the highest live risk

I ran Hotspots against BerriAI/litellm at commit d6f498f and found that the repository's provider routing logic and secret management layer combine extreme structural complexity with recent commit activity — a combination that makes refactoring not just desirable but urgent. With 4,763 functions in the critical band and 11,615 in the fire quadrant, the codebase has significant surface area where a bug introduced today could be hard to trace and harder to test.

complex_branchingdeeply_nested
Jul 15 Read →
hpcaitech/ColossalAI python

ColossalAI's top 5 hotspots are structural debt — all critical, none touched recently

I ran Hotspots against hpcaitech/ColossalAI and found that the most urgent structural risk isn't a live fire — it's a slow-burning debt problem. Every one of the top five critical functions has been untouched for months, meaning the next developer who opens any of them will inherit extreme complexity with no recent institutional memory to lean on.

complex_branchingdeeply_nested
Jul 15 Read →
vllm-project/vllm python

vllm's streaming layer carries the highest activity risk — 5 functions to address first

Five functions in vllm's streaming layer and v1 scheduler all carry activity-weighted risk scores above 19 — and every one of them was touched in the last three days. That combination of structural extremity and live commit activity is exactly the condition where a well-intentioned fix is most likely to introduce a regression.

complex_branchingdeeply_nested
Jul 15 Read →
pingcap/tidb go

pingcap/tidb's planner and DDL layer — 5 functions to address first

Five functions in pingcap/tidb's query planner, DDL execution path, and expression evaluator are sitting in the 'fire' quadrant right now — structurally complex and receiving commits in the last seven days. Any engineer shipping code to these layers this week is working against a high regression surface.

complex_branchingexit_heavy
Jul 14 Read →
ray-project/ray python

ray-project/ray's RLlib and DAG layers carry the highest risk — 5 functions to fix first

Five functions across ray-project/ray's RLlib, compiled DAG, Ray Data, and autoscaler layers all sit in the 'fire' quadrant right now — structurally complex and touched within the last three days. For any engineer shipping against this codebase this week, that combination means every commit to these files is a change landing on already-overloaded control flow.

complex_branchingexit_heavy
Jul 13 Read →
deepspeedai/DeepSpeed python

DeepSpeed's accelerator and MoE layers carry the highest risk — 5 functions to fix first

Five functions in DeepSpeed are simultaneously the most structurally complex and the most actively changing in the codebase right now — meaning any engineer merging into these paths this week is doing so under elevated regression risk. The highest-scoring function, `get_accelerator` in the accelerator dispatch layer, carries an activity-weighted risk score of 20.67 with a cyclomatic complexity of 112, and it was last changed 15 days ago.

complex_branchinggod_function
Jul 12 Read →