Architecture problems / God Modules
Draft
Tier 2 problem — exemplar mapping pending.
What are god modules — and when does concentration become a liability?
God modules accumulate too many responsibilities — imports, exports, config, and domain logic in one file — becoming implicit platforms without explicit boundaries.
How ArcSight detects this
Many visitors land here from search — not the homepage. Run this workflow locally on your repo.
- 1arc impact
Run on the file you plan to change. Surfaces blast radius and break paths.
arc impact src/indexDocs → - 2arc hotspots
Rank modules by fan-in and downstream reach across the repo.
arc hotspots - 3arc explain
Inspect src/index — hub role, dependents, and path narrative.
arc explain src/index - 4arc watchPro
Pro: keep architecture clean after merge so this problem does not return.
arc watchDocs →
- High fan-in plus wide export surface on one module.
- Hotspots with blast radius disproportionate to the module’s stated role.
- arc explain labels a module as orchestrator or gravity center.
Found the issue?
Use arc impact before you change code — structured blast radius and break paths before merge. Use arc watch (Pro) to stop the problem from returning after you fix it.
Why it matters
God modules attract fan-in and blast radius. They slow every team that depends on them and make refactors expensive because no one owns the full surface area.
What it looks like in codebases
- Single files with hundreds of exports spanning unrelated subsystems.
- Utils folders that absorb feature logic over quarters.
- Bootstrap modules that wire server, client, and build tooling together.
Real repository evidence
No indexed exemplar yet. See Next.js repository proof for the current flagship analysis while this problem page is in draft.
What to inspect first
- Export count and fan-in together — high on both is a god-module signal.
- Whether new features add edges to the same module by default.
- Ownership: does one file bridge unrelated team boundaries?
What to do next
- Split by responsibility before adding features on the god module.
- Extract stable contracts first; move experimental code to satellite modules.
- Re-run arc impact after each split to prove blast radius shrinks.