AtlasArc

Architecture Report - Printable Version

Detekt - AtlasArc 1.0.0+d9b43417 - 2026-07-31T22:45:00Z

All selected report sections in one print-ready HTML document.

Key Findings

HighCycles

9 problem cycle groups reported in this report scope.

NeutralCoupling

NCCD is 1.17. Use it as a same-project dependency-shape baseline; inspect cycles and concrete paths before interpreting a change.

WatchJVM public surface

ARV and GRV describe JVM public-surface breadth: ARV 0.82, GRV 0.67. This surface is broad enough to inspect against package roles, marked public classes, and real callers.

NeutralGovernance

No Safe Havens or repository governance records are active; all findings are treated as active structural findings.

Packages Worth a Closer Look

Each one stood out for more than one independent reason in this report.

  1. detekt-api.maindev.detekt.apiStood out for 2 independent reasons: unusually depended on while relying on relatively little (Fan-in 44, Instability 0.02); part of Problem cycle 0 (nested cycle).
  2. detekt-api.maindev.detekt.api.internalStood out for 2 independent reasons: unusually depended on while relying on relatively little (Fan-in 18, Instability 0.05); part of Problem cycle 0 (nested cycle).
  3. detekt-tooling.maindev.detekt.tooling.api.specStood out for 2 independent reasons: unusually depended on while relying on relatively little (Fan-in 15, Instability 0.17); part of Problem cycle 8 (architectural cycle).
  • The report reads package structure and dependency evidence; it does not know what the code is meant to do.
  • Coverage metrics are not loaded, so coverage-dependent risk readings are unavailable.
  • Package exclusions are disabled for this report context.

What This Report Says

Cycle risk is the dominant signal

Read this report as cycle-first evidence: resolve or consciously accept the reported cycle groups before treating lower-level metrics as optimization work.

  • 9 problem cycle groups reported in this report scope.
  • Worth a closer look: detekt-api.main:dev.detekt.api stood out for 2 independent reasons (unusually depended on while relying on relatively little (Fan-in 44, Instability 0.02); part of Problem cycle 0 (nested cycle)).
  • Largest cycle group: Problem cycle 5 with 5 packages.

Evidence Summary

NCCD1.17

Same-project dependency-shape baseline; compare only on an equivalent analysis basis.

ARV0.82

Unweighted average of package Relative Visibility; each package contributes equally.

GRV0.67

Public JVM classes divided by all JVM classes across the graph.

Cycle groups9

Cycle clusters remain in the report scope.

Precise graph statistics remain available below so the report stays auditable.

CCDCumulative Component Dependency451.00
ACDAverage Component Dependency6.26
RACDRelative Average Component Dependency0.09
NCCDNormalized Cumulative Component Dependency1.17
ARVAverage Relative Visibility0.82
GRVGlobal Relative Visibility0.67

Architecture Overview Focus

This profile reads the whole model first: cycle posture, architecture units that stood out for more than one strict reason, and any governance context that changes how warnings should be interpreted.

Cycle posture9 groups

Start by comparing the cycle map with the cycle groups table.

Worth a closer lookdetekt-api.main:dev.detekt.api

Stood out for 2 independent reasons: unusually depended on while relying on relatively little (Fan-in 44, Instability 0.02); part of Problem cycle 0 (nested cycle).

Governance context0 Safe Havens / 0 debt records

Safe Havens, exclusions, and repository governance shape which findings remain active warnings.

Suggested Next Steps

1Start with Problem cycle 5

5 packages participate in this architectural cycle group. Use the cycle table and topology figure to decide whether to break the loop or record an explicit governance decision.

2Take a closer look at detekt-api.main:dev.detekt.api

This package stood out in more than one part of the report. Stood out for 2 independent reasons: unusually depended on while relying on relatively little (Fan-in 44, Instability 0.02); part of Problem cycle 0 (nested cycle).

Report Basis

SectionArchitecture Overview
Report basisWhole model
Active lensgraph
Structural intentNormal
FiltersWhole-model defaults; durable governance retained
Rendered as Topology Open

How do packages and subsystems depend on each other in this report?

Configuration
Focus
project root
Filter
All visible packages
Heatmap
Off
Encoding
Nodes
Packages and package folders
Edges
Package dependencies; line width follows dependency weight
Border colour
Cycle, Safe Haven, intentional governance, and debt status from the model
build-logic.maindetekt-api.maindetekt-cli.maindetekt-compiler-plugin.maindetekt-core.maindetekt-generator.maindetekt-gradle-plugin.maindetekt-metrics.maindetekt-parser.maindetekt-psi-utils.maindetekt-report-checkstyle.maindetekt-report-html.maindetekt-report-markdown.maindetekt-report-sarif.maindetekt-rules-comments.maindetekt-rules-complexity.maindetekt-rules-coroutines.maindetekt-rules-empty-blocks.maindetekt-rules-exceptions.maindetekt-rules-ktlint-wrapper.maindetekt-rules-libraries.maindetekt-rules-naming.maindetekt-rules-performance.maindetekt-rules-potential-bugs.maindetekt-rules-ruleauthors.maindetekt-rules-style.maindetekt-test-assertj.maindetekt-test-junit.maindetekt-test-utils.maindetekt-test.maindetekt-tooling.maindetekt-utils.maindevgradledevdeviodevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdevdetektkotlindetektdetektgithubdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdetektdslapiclidetektcoregeneratorgradlemetricspsireportreportreportreportrulesrulesrulesrulesrulesrulesrulesrulesrulesrulesrulesrulestesttesttesttoolingaccessorspluginscompilerconfigreportingcollectionprinterpluginprocessorscommentscoroutinesemptyblocksktlintwrappernamingstyleutilsapiplugin buildlogic_271fbc7d689d422ed9305e89b6525f3a_6b89262683f96a5e8a91c5e9184f335e_84c08cc29557ebf7ea61c6c943318146_5f248bc36cb2698e6ceed3c6bca6bdc1internalClassesrunnersClassesinternalClassesbaselinevalidationClassesextensionsparserconsoleClassesrulessettingssuppressorstoolingutilClassesexceptionClassesoutdefaultconfigClassesClassesextensionsinternalinvokeinternalClassesreportClassesutilClassesClassesparserinternalClassesxmlhtmlmarkdownsarifinternalClassescomplexityutilsClassesinternalClassesexceptionswrappersClasseslibrariesutilClassesperformancepotentialbugsruleauthorsmovelambdaoutoptionalClassesassertjjunitinternalClassestestspecClassesdslinternalutils
Rendered as Dependency Matrix Open

Which packages depend on which other packages?

Configuration
Focus
project root
Filter
All visible packages
Heatmap
Off
Report Matrix
167 → 50 origin rows (ceiling 50)
Target columns
17 carrying dependencies · 7 empty restored · 26 empty omitted
Problem cycles
2 of 9 kept at exact package detail
Printable scale
Estimated 100%
Rollup safeguard
Use less package detail below 55%
Package detail
Up to 5 namespace segments
Encoding
Rows
Origin packages
Columns
Target packages
Cells
Dependency count and cycle/heatmap styling where applicable
  • AtlasArc fitted this report Matrix by combining deeper architecture units and summing dependencies across the resulting boundaries. It prioritized current problem-cycle groups while restoring package detail, then returned as many empty target columns as fit at natural size. Every fitted origin row remains visible; the report’s detailed findings and tables keep their prepared architecture-unit identities.
Modules build-logic.main detekt-api.main detekt-cli.main detekt-compiler-plugin.main detekt-core.main detekt-metrics.main detekt-parser.main detekt-psi-utils.main detekt-test-utils.main detekt-tooling.main detekt-utils.main
dev
gradle
dev
dev
io
dev
detekt
core
baseline
config
validation
extensions
parser
reporting
rules
settings
suppressors
util
dev
dev
dev
dev
tooling
dev
▶ build-logic.main / dev -
▶ gradle -
▶ detekt-api.main / dev -
▶ detekt-cli.main / dev 14 - 114 4
▶ detekt-compiler-plugin.main / io 21 - 54
▼ detekt-core.main / dev -
▼ detekt -
▼ core 128 - 3 16 4 5 2 39
  baseline 12 - 13
▼ config 37 - 10 6 3
  validation 82 14 16 - 3 3 1 5 1
  extensions 28 9 - 4
  parser -
▶ detekt-core.main / reporting 87 13 6 - 1 3 11
  detekt-core.main / rules 27 6 2 - 10
  settings 1 1 - 1 21
  suppressors 21 1 - 7 7
  tooling 37 33 14 3 1 3 2 1 1 20 68 3
  util 4 - 1 4
▶ detekt-generator.main / dev 23 94
▼ detekt-gradle-plugin.main / dev
▼ detekt
▶ detekt-gradle-plugin.main / gradle
▶ detekt-metrics.main / dev 90 -
▶ detekt-parser.main / dev -
▶ detekt-psi-utils.main / dev -
▶ detekt-report-checkstyle.main / dev 19
▶ detekt-report-html.main / dev 65 2 1
▶ detekt-report-markdown.main / dev 55 2 32
▶ detekt-report-sarif.main / dev 47
▶ detekt-rules-comments.main / dev 145 8
▶ detekt-rules-complexity.main / dev 268 12 19
▶ detekt-rules-coroutines.main / dev 113 2
▶ detekt-rules-empty-blocks.main / dev 100 4
▶ detekt-rules-exceptions.main / dev 181 4
▶ detekt-rules-ktlint-wrapper.main / dev 541 1
▶ detekt-rules-libraries.main / dev 52
▶ detekt-rules-naming.main / dev 297 19
▶ detekt-rules-performance.main / dev 96
▶ detekt-rules-potential-bugs.main / dev 491 20
▶ detekt-rules-ruleauthors.main / dev 18
▶ detekt-rules-style.main / dev 1440 1 100
▶ detekt-test-assertj.main / dev 68
▶ detekt-test-junit.main / dev 9
▶ detekt-test-utils.main / dev 1 -
▶ detekt-test.main / dev 37 10
▼ detekt-tooling.main / dev
▼ detekt
▶ detekt-tooling.main / tooling 9 -
▶ detekt-utils.main / dev -

Governance Summary

Repository documentReady
Revisionmissing
EvidenceFresh
Local view exclusionsNone
Safe Havens0
Intentional records0
Debt records0
Maintenance findings0
CoverageNot loaded

Metric Notes

CCD, ACD, RACD, and NCCD describe structural graph shape. Package diagnostics use fan-in, fan-out, instability, and line count. Dependency scope: compiled JVM dependencies. ARV is the unweighted average of package Relative Visibility; GRV is public JVM classes divided by all JVM classes across the graph. They describe public-surface breadth, not actual reachability or a universal architecture-health target.

Cycle Evidence Briefing

This section separates current problem cycles from governance audit work. Repository decisions remain concise structural context here; their rationale and maintenance history live only in the optional Governance Audit.

Reported groups9
Debt records0
Intentional records0
Safe Havens0
Cycle modeAll cycle groups
Governed edge listIncluded
TypesArchitectural: 2, Nested: 7
Rendered as Topology · Cycles Only Open

Which cycle warnings remain when non-cycle dependency structure is stripped away?

Configuration
Focus
project root
Filter
Cycles only
Heatmap
Off
Encoding
Nodes
Only packages needed to show reported cycle evidence
Edges
Cycle-participating dependencies after governance rules are applied
Border colour
Problem, Safe Haven, intentional governance, and debt cycle status
  • This overview orients the cycle focus maps below.
detekt-api.maindetekt-cli.maindetekt-compiler-plugin.maindetekt-core.maindetekt-gradle-plugin.maindetekt-metrics.maindetekt-rules-ktlint-wrapper.maindetekt-tooling.maindevdeviodevdevdevdevdevdetektdetektgithubdetektdetektdetektdetektdetektapiclidetektcoregradlemetricsrulestoolingcompilerconfigpluginktlintwrapperapiplugin internalClassesrunnersClassesinternalClassesvalidationClassesextensionssuppressorsClassesinternalinvokeinternalClassesClassesprocessorsClasseswrappersClassesspecClassesdslinternal

Problem Cycles

Each card is one current problem strongly connected component. Every group gets one compact horizontal map. When additional maps are requested, a second map appears only when its focused architecture units or dependency edges strictly extend the compact evidence; layout-only duplicates are suppressed.

Problem cycle 1

Nested cycle

2 packages2 cycle edges
detekt-api.maindevdetektapi internal
Packages
  • detekt-api.main:dev.detekt.api
  • detekt-api.main:dev.detekt.api.internal
Problem cycle 2

Nested cycle

2 packages2 cycle edges
detekt-cli.maindevdetektcli runners
Packages
  • detekt-cli.main:dev.detekt.cli
  • detekt-cli.main:dev.detekt.cli.runners
Problem cycle 3

Nested cycle

2 packages2 cycle edges
detekt-compiler-plugin.mainiogithubdetektcompilerplugin internal
Packages
  • detekt-compiler-plugin.main:io.github.detekt.compiler.plugin
  • detekt-compiler-plugin.main:io.github.detekt.compiler.plugin.internal
Problem cycle 4

Nested cycle

3 packages4 cycle edges
detekt-core.maindevdetektcore extensionssuppressors
Packages
  • detekt-core.main:dev.detekt.core
  • detekt-core.main:dev.detekt.core.extensions
  • detekt-core.main:dev.detekt.core.suppressors
Problem cycle 5

Nested cycle

2 packages2 cycle edges
detekt-core.maindevdetektcoreconfig validation
Packages
  • detekt-core.main:dev.detekt.core.config
  • detekt-core.main:dev.detekt.core.config.validation
Problem cycle 6

Architectural cycle

5 packages11 cycle edges
detekt-gradle-plugin.maindevdetektgradleplugin internalinvokeinternal
Packages
  • detekt-gradle-plugin.main:dev.detekt.gradle
  • detekt-gradle-plugin.main:dev.detekt.gradle.internal
  • detekt-gradle-plugin.main:dev.detekt.gradle.invoke
  • detekt-gradle-plugin.main:dev.detekt.gradle.plugin
  • detekt-gradle-plugin.main:dev.detekt.gradle.plugin.internal
Problem cycle 7

Nested cycle

2 packages2 cycle edges
detekt-metrics.maindevdetektmetrics processors
Packages
  • detekt-metrics.main:dev.detekt.metrics
  • detekt-metrics.main:dev.detekt.metrics.processors
Problem cycle 8

Nested cycle

2 packages2 cycle edges
detekt-rules-ktlint-wrapper.maindevdetektrulesktlintwrapper wrappers
Packages
  • detekt-rules-ktlint-wrapper.main:dev.detekt.rules.ktlintwrapper
  • detekt-rules-ktlint-wrapper.main:dev.detekt.rules.ktlintwrapper.wrappers
Problem cycle 9

Architectural cycle

4 packages8 cycle edges
detekt-tooling.maindevdetekttoolingapi specdslinternal
Packages
  • detekt-tooling.main:dev.detekt.tooling.api
  • detekt-tooling.main:dev.detekt.tooling.api.spec
  • detekt-tooling.main:dev.detekt.tooling.dsl
  • detekt-tooling.main:dev.detekt.tooling.internal

Problem Cycle Edges

These are the strongest currently reported problem-cycle edges. They are not fully covered by repository governance and are not removed by Safe Havens in this report scope. The Dependency refs value counts acquired class dependency references aggregated into each package-to-package edge; it is not a source line number.

Dependency refsCycleCycle governance
Sourcedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper.wrappers
Targetdetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper
219NestedProblem
Sourcedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper
Targetdetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper.wrappers
200NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle
Targetdetekt-gradle-plugin.maindev.detekt.gradle.invoke
78NestedProblem
Sourcedetekt-tooling.maindev.detekt.tooling.dsl
Targetdetekt-tooling.maindev.detekt.tooling.api.spec
63ArchitecturalProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle
50NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin
Targetdetekt-gradle-plugin.maindev.detekt.gradle
37NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle
30NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin
Targetdetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
18NestedProblem
Sourcedetekt-core.maindev.detekt.core.config.validation
Targetdetekt-core.maindev.detekt.core.config
16NestedProblem
Sourcedetekt-compiler-plugin.mainio.github.detekt.compiler.plugin.internal
Targetdetekt-compiler-plugin.mainio.github.detekt.compiler.plugin
10NestedProblem
Sourcedetekt-core.maindev.detekt.core.config
Targetdetekt-core.maindev.detekt.core.config.validation
10NestedProblem
Sourcedetekt-metrics.maindev.detekt.metrics.processors
Targetdetekt-metrics.maindev.detekt.metrics
10NestedProblem
Sourcedetekt-core.maindev.detekt.core.extensions
Targetdetekt-core.maindev.detekt.core
9NestedProblem
Sourcedetekt-cli.maindev.detekt.cli
Targetdetekt-cli.maindev.detekt.cli.runners
8NestedProblem
Sourcedetekt-cli.maindev.detekt.cli.runners
Targetdetekt-cli.maindev.detekt.cli
6NestedProblem
Sourcedetekt-compiler-plugin.mainio.github.detekt.compiler.plugin
Targetdetekt-compiler-plugin.mainio.github.detekt.compiler.plugin.internal
5NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.invoke
Targetdetekt-gradle-plugin.maindev.detekt.gradle.internal
5ArchitecturalProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin
Targetdetekt-gradle-plugin.maindev.detekt.gradle.internal
5ArchitecturalProblem
Sourcedetekt-metrics.maindev.detekt.metrics
Targetdetekt-metrics.maindev.detekt.metrics.processors
5NestedProblem
Sourcedetekt-tooling.maindev.detekt.tooling.dsl
Targetdetekt-tooling.maindev.detekt.tooling.api
5ArchitecturalProblem
Sourcedetekt-core.maindev.detekt.core
Targetdetekt-core.maindev.detekt.core.suppressors
4NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle.plugin
4ArchitecturalProblem
Sourcedetekt-tooling.maindev.detekt.tooling.api
Targetdetekt-tooling.maindev.detekt.tooling.api.spec
4NestedProblem
Sourcedetekt-api.maindev.detekt.api
Targetdetekt-api.maindev.detekt.api.internal
3NestedProblem
Sourcedetekt-core.maindev.detekt.core
Targetdetekt-core.maindev.detekt.core.extensions
3NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle
Targetdetekt-gradle-plugin.maindev.detekt.gradle.plugin
3NestedProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
2ArchitecturalProblem
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle.internal
2ArchitecturalProblem
Sourcedetekt-tooling.maindev.detekt.tooling.api.spec
Targetdetekt-tooling.maindev.detekt.tooling.dsl
2ArchitecturalProblem
Sourcedetekt-tooling.maindev.detekt.tooling.dsl
Targetdetekt-tooling.maindev.detekt.tooling.internal
2ArchitecturalProblem
Sourcedetekt-tooling.maindev.detekt.tooling.internal
Targetdetekt-tooling.maindev.detekt.tooling.api
2ArchitecturalProblem
Sourcedetekt-api.maindev.detekt.api.internal
Targetdetekt-api.maindev.detekt.api
1NestedProblem
Sourcedetekt-core.maindev.detekt.core.suppressors
Targetdetekt-core.maindev.detekt.core
1NestedProblem
Sourcedetekt-tooling.maindev.detekt.tooling.api.spec
Targetdetekt-tooling.maindev.detekt.tooling.api
1NestedProblem
Sourcedetekt-tooling.maindev.detekt.tooling.internal
Targetdetekt-tooling.maindev.detekt.tooling.api.spec
1ArchitecturalProblem
Rendered as Dependency Matrix · Cycles Only Open

Which reported cycle dependencies remain when non-cycle structure is stripped away?

Configuration
Focus
project root
Filter
Cycles only
Heatmap
Off
Report Matrix
44 origin rows (ceiling 50)
Target columns
24 carrying dependencies · 0 empty restored · 20 empty omitted
Problem cycles
9 of 9 kept at exact package detail
Printable scale
Estimated 91%
Rollup safeguard
Use less package detail below 55%
Encoding
Rows
Origin packages in reported cycle evidence
Columns
Target packages in reported cycle evidence
Cells
Cycle-participating dependency count and governance styling
  • Read this Matrix as the directional view of the cycle evidence reported in this chapter.
  • Every origin row remains visible. After preserving dependency-bearing targets, AtlasArc returned as many empty target columns as fit at natural size.
Modules detekt-api.main detekt-cli.main detekt-compiler-plugin.main detekt-core.main detekt-gradle-plugin.main detekt-metrics.main detekt-rules-ktlint-wrapper.main detekt-tooling.main
api
internal
cli
runners
plugin
internal
core
config
validation
extensions
suppressors
gradle
internal
invoke
plugin
internal
metrics
processors
ktlintwrapper
wrappers
api
spec
dsl
internal
▼ detekt-api.main / dev
▼ detekt
▼ api - 3
  internal 1 -
▼ detekt-cli.main / dev
▼ detekt
▼ cli - 8
  runners 6 -
▼ detekt-compiler-plugin.main / io
▼ github
▼ detekt
▼ compiler
▼ plugin - 5
  internal 10 -
▼ detekt-core.main / dev
▼ detekt
▼ core - 3 4
▼ config - 10
  validation 16 -
  extensions 9 -
  suppressors 1 -
▼ detekt-gradle-plugin.main / dev
▼ detekt
▼ gradle - 78 3
  internal 50 - 4 2
  invoke 5 -
▼ plugin 37 5 - 18
  internal 30 2 -
▼ detekt-metrics.main / dev
▼ detekt
▼ metrics - 5
▼ processors 10 -
▼ detekt-rules-ktlint-wrapper.main / dev
▼ detekt
▼ rules
▼ ktlintwrapper - 200
  wrappers 219 -
▼ detekt-tooling.main / dev
▼ detekt
▼ tooling
▼ api - 4
  spec 1 - 2
  dsl 5 63 - 2
  internal 2 1 -

Package Diagnostics Briefing

This chapter separates dependency shape, complexity pressure, and main-sequence distance into explicit diagnostic rules. Start with strict outliers where they exist; a Highest values group is a neutral fallback for orientation, not an AtlasArc problem verdict.

Eligible Packages67
Strict diagnostic groups1
Strictly selected packages3
Highest values fallbacks3
Cycle packages23
CoverageNot loaded
Rendered as Subsystems · Boundary Risk Open

Where does boundary pressure concentrate across the visible architecture?

Configuration
Focus
project root
Curated view
Boundary Risk
Filter
All visible packages
Encoding
Bubble
Package-folder subsystem rollup
X axis
Fan-out
Y axis
Fan-in
Size
Classes
Colour
Instability
  • How to read this graph: each bubble is a visible architecture-boundary rollup. Right means more outgoing boundary dependencies; up means more incoming boundary dependencies; size is total class count.
  • Colour follows instability, so red means outgoing-heavy rather than automatically wrong. Use the figure to find boundary surfaces worth inspecting in Topology or Matrix.
  • Dashed rings mark expanded aggregate boundaries whose visible descendants are also present. Terminal packages or source folders remain valid boundaries and use their own metrics.
Fan-in
0 10 20 30 0 10 20 30 40 50 60 detekt-rules-styl… dev detekt rules style detekt-rules-ktli… dev detekt rules ktlintwrapper wrappers potentialbugs detekt-core.main dev detekt core detekt-gradle-plu… dev detekt gradle detekt-tooling.ma… dev detekt tooling detekt-generator.… dev detekt generator
Fan-out
Rendered as Subsystems · Visibility Surface Open

Which subsystems expose a large public surface?

Configuration
Focus
project root
Curated view
Visibility Surface
Filter
All visible packages
Encoding
Bubble
Package-folder subsystem rollup
X axis
Relative visibility
Y axis
Abstractness
Size
Classes
Colour
Abstractness
  • How to read this graph: each bubble is a visible architecture-boundary rollup. Right means more visible API surface; up and colour both follow abstractness; size is total class count.
  • This view highlights boundary shape, not direct defect risk. A top/right bubble may be a deliberate public contract area.
  • Dashed rings mark expanded aggregate boundaries whose visible descendants are also present. Terminal packages or source folders remain valid boundaries and use their own metrics.
Abstractness (A)
0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80 1.00 detekt-rules-styl… dev detekt rules style detekt-rules-ktli… dev detekt rules ktlintwrapper wrappers potentialbugs detekt-core.main dev detekt core detekt-gradle-plu… dev detekt gradle detekt-tooling.ma… dev detekt tooling detekt-generator.… dev detekt generator
Rel. Visibility (RV)
Rendered as Subsystems · Internal Tangles Open

Which subsystem areas contain internal cycle pressure?

Configuration
Focus
project root
Curated view
Internal Tangles
Filter
All visible packages
Encoding
Bubble
Package-folder subsystem rollup
X axis
cycleCount
Y axis
largestCycle
Size
packageCount
Colour
Cycle status
  • How to read this graph: each bubble is a visible architecture-boundary rollup. Right means more fully contained package-cycle groups; up means the largest contained package cycle is larger; size is package count.
  • Only package cycles fully inside the boundary count here. Terminal-package class/file tangles remain separate Package Internals evidence in Topology. Use the cycle tables, Topology, or Matrix for concrete dependency edges and cross-boundary cycle context.
  • Dashed rings mark expanded aggregate boundaries whose visible descendants are also present. Terminal packages or source folders remain valid boundaries and use their own metrics.
Largest cycle
0 1 1 2 2 0 1 2 3 4 5 detekt-generator.… dev detekt generator build-logic.main gradle kotlin dsl accessors detekt-rules-styl… dev detekt rules style reporting collection printer plugin processors detekt-psi-utils.… dev detekt psi detekt-rules-comm… dev detekt rules comments
Cycle groups
Rendered as Hotspots · Coupling Open

Which leaf packages stand out by coupling pressure?

Configuration
Items
Leaf packages
Focus
project root
Scope
Recursive
Preset
Coupling
Encoding
Bubble
One leaf package
X axis
Fan-out
Y axis
Fan-in
Size
Lines of code
Colour
Instability
  • Labels are shown for the largest report bubbles; inspect the package metrics table for the full ranked list.
Fan-in
0 2 4 6 8 10 12 14 0 10 20 30 40 style potentialbugs wrappers complexity naming coroutines exceptions api collection comments
Fan-out
Rendered as Hotspots · Visibility Open

Which leaf packages are visible to many callers and far from the main sequence?

Configuration
Items
Leaf packages
Focus
project root
Scope
Recursive
Preset
Visibility
Encoding
Bubble
One leaf package
X axis
Relative visibility
Y axis
Fan-in
Size
Classes
Colour
Distance from main sequence
  • Labels are shown for the largest report bubbles; inspect the package metrics table for the full ranked list.
Fan-in
0.00 0.20 0.40 0.60 0.80 1.00 0 10 20 30 40 style wrappers potentialbugs complexity naming api invoke collection exceptions dsl spec processors comments emptyblocks cli
Rel. Visibility (RV)
Rendered as Hotspots · Abstractness / Instability Open

Which leaf packages sit far from the main sequence?

Configuration
Items
Leaf packages
Focus
project root
Scope
Recursive
Preset
Zone Map
Encoding
Bubble
One leaf package
X axis
Instability
Y axis
Abstractness
Size
Distance from main sequence
Colour
Distance from main sequence
  • Labels are shown for the largest report bubbles; inspect the package metrics table for the full ranked list.
Abstractness (A)
0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80 1.00 parser exception util parser internal utils psi utils out metrics api extensions utils util internal movelambdaout core internal reporting api collection dsl plugin printer plugin wrappers junit internal
Instability (I)

Package Diagnostic Signals

Use these short lists to find unusual dependency shape, complexity pressure, and main-sequence distance without treating every high value as a problem. Each rule is evaluated across the prepared report scope; cycle participation is shown only as context.

Dependency hubs

Which packages carry unusually broad dependency traffic in both directions?

These packages combine a wide consumer blast radius with broad outward knowledge. Understand their role before changing a contract or moving responsibilities.

Nothing in this report scope is separated enough from its peers to count as a statistical outlier. For orientation, the table shows 5 of the strongest eligible examples.

Continue in AtlasArcShow me the backboneIsolate the packages with the widest consumer blast radius and inspect who relies on them.

How AtlasArc selected these rows

Highest values

Rule: Fan-in or Fan-out is above its upper outlier cutoff and the other degree is at or above its 75th percentile.

Population: 67 real leaf architecture units with Fan-in and Fan-out. Result: No strict outlier result; showing 5 of 10 eligible fallback values.

Cutoff: Fan-in > 14.59 (67 eligible values); Fan-out > 18.76 (67 eligible values)

Diagnostic evidence
Packagedetekt-core.maindev.detekt.core
Fan-in
6
Fan-out
9
Instability
0.60
Cycle
Nested
Packagedetekt-tooling.maindev.detekt.tooling.dsl
Fan-in
4
Fan-out
4
Instability
0.50
Cycle
Architectural
Packagedetekt-core.maindev.detekt.core.reporting
Fan-in
3
Fan-out
5
Instability
0.63
Cycle
—
Packagedetekt-generator.maindev.detekt.generator.collection
Fan-in
3
Fan-out
4
Instability
0.57
Cycle
—
Packagedetekt-gradle-plugin.maindev.detekt.gradle.internal
Fan-in
3
Fan-out
4
Instability
0.57
Cycle
Architectural

Incoming-heavy packages

Which packages are unusually depended on while relying on relatively little?

These are load-bearing packages whose contracts may affect many callers even though their own outward dependency surface stays comparatively narrow.

AtlasArc found 3 values clearly separated from their peers in this report scope.

Continue in AtlasArcShow me the backboneTrace the callers that make these packages part of the project's backbone.

How AtlasArc selected these rows

Strict outliers

Rule: Fan-in is above its upper outlier cutoff, Instability is at most 0.35, and dependency hubs are excluded.

Population: 65 real leaf architecture units with Instability. Result: 3 qualified; showing 3.

Cutoff: Fan-in > 14.59 (67 eligible values)

Diagnostic evidence
Packagedetekt-api.maindev.detekt.api
Fan-in
44
Fan-out
1
Instability
0.02
Cycle
Nested
Packagedetekt-api.maindev.detekt.api.internal
Fan-in
18
Fan-out
1
Instability
0.05
Cycle
Nested
Packagedetekt-tooling.maindev.detekt.tooling.api.spec
Fan-in
15
Fan-out
3
Instability
0.17
Cycle
Architectural

Outgoing-heavy packages

Which packages depend unusually broadly without serving many callers?

These packages know about many parts of the system. They may be healthy coordinators, or responsibilities may have accumulated in one place.

Nothing in this report scope is separated enough from its peers to count as a statistical outlier. For orientation, the table shows 5 of the strongest eligible examples.

Continue in AtlasArcTicking time bombsInspect the outward dependency seams and decide whether the package's responsibility is still coherent.

How AtlasArc selected these rows

Highest values

Rule: Fan-out is above its upper outlier cutoff, Instability is at least 0.65, and dependency hubs are excluded.

Population: 65 real leaf architecture units with Instability. Result: No strict outlier result; showing 5 of 38 eligible fallback values.

Cutoff: Fan-out > 18.76 (67 eligible values)

Diagnostic evidence
Packagedetekt-core.maindev.detekt.core.tooling
Fan-in
0
Fan-out
15
Instability
1.00
Cycle
—
Packagedetekt-core.maindev.detekt.core.config.validation
Fan-in
2
Fan-out
10
Instability
0.83
Cycle
Nested
Packagedetekt-cli.maindev.detekt.cli
Fan-in
1
Fan-out
8
Instability
0.89
Cycle
Nested
Packagedetekt-cli.maindev.detekt.cli.runners
Fan-in
1
Fan-out
6
Instability
0.86
Cycle
Nested
Packagedetekt-compiler-plugin.mainio.github.detekt.compiler.plugin.internal
Fan-in
1
Fan-out
5
Instability
0.83
Cycle
Nested

Main-sequence outliers

Which substantial packages sit unusually far from the main sequence?

These packages combine stability and abstraction in an unusual way for this project. That is a design question to inspect, not an automatic defect.

Nothing in this report scope is separated enough from its peers to count as a statistical outlier. For orientation, the table shows 5 of the strongest eligible examples.

Continue in AtlasArcIdentify risky hotspotsPlace these candidates beside size, dependency reach, and other hotspot evidence before prioritizing work.

How AtlasArc selected these rows

Highest values

Rule: Distance is above its upper outlier cutoff and at least 0.50, with total degree or LOC at or above its positive median.

Population: 65 real leaf architecture units with Distance. Result: No strict outlier result; showing 5 of 9 eligible fallback values.

Cutoff: Distance > 1.00 (65 eligible values)

Diagnostic evidence
Packagedetekt-psi-utils.maindev.detekt.psi.internal
Distance
1.00
Fan-in
1
Fan-out
0
LOC
256
Cycle
—
Packagedetekt-psi-utils.maindev.detekt.psi
Distance
0.90
Fan-in
14
Fan-out
1
LOC
525
Cycle
—
Packagedetekt-utils.maindev.detekt.utils
Distance
0.83
Fan-in
10
Fan-out
0
LOC
205
Cycle
—
Packagedetekt-metrics.maindev.detekt.metrics
Distance
0.75
Fan-in
6
Fan-out
2
LOC
411
Cycle
Nested
Packagedetekt-api.maindev.detekt.api
Distance
0.69
Fan-in
44
Fan-out
1
LOC
858
Cycle
Nested

Evidence Appendix Briefing

Use these capped literal registers when a deeper review or handoff needs the package metrics and dependency rows behind the analytical chapters. For complete machine-readable data, use the applicable CSV, TSV, or View DOT export.

Maximum rows per register50
Eligible packages67
Eligible dependencies198

Package Metrics Register

Showing 50 of 67 eligible packages, ordered by Fan-in + Fan-out and then stable identity. The selected maximum limits this review register; it does not truncate the applicable data exports.

Supported metrics
Packagedetekt-api.maindev.detekt.api
Fan-in
44
Fan-out
1
Instability
0.02
Abstractness
0.29
Distance
0.69
Relative visibility
0.94
Classes
40
LOC
858
Cycle
Nested
Packagedetekt-api.maindev.detekt.api.internal
Fan-in
18
Fan-out
1
Instability
0.05
Abstractness
0.40
Distance
0.55
Relative visibility
1.00
Classes
2
LOC
124
Cycle
Nested
Packagedetekt-tooling.maindev.detekt.tooling.api.spec
Fan-in
15
Fan-out
3
Instability
0.17
Abstractness
0.67
Distance
0.17
Relative visibility
1.00
Classes
20
LOC
249
Cycle
Architectural
Packagedetekt-core.maindev.detekt.core
Fan-in
6
Fan-out
9
Instability
0.60
Abstractness
0.00
Distance
0.40
Relative visibility
1.00
Classes
7
LOC
366
Cycle
Nested
Packagedetekt-core.maindev.detekt.core.tooling
Fan-in
0
Fan-out
15
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.75
Classes
5
LOC
263
Cycle
—
Packagedetekt-psi-utils.maindev.detekt.psi
Fan-in
14
Fan-out
1
Instability
0.07
Abstractness
0.04
Distance
0.90
Relative visibility
1.00
Classes
4
LOC
525
Cycle
—
Packagedetekt-tooling.maindev.detekt.tooling.api
Fan-in
11
Fan-out
2
Instability
0.15
Abstractness
0.47
Distance
0.37
Relative visibility
1.00
Classes
13
LOC
122
Cycle
Architectural
Packagedetekt-core.maindev.detekt.core.config.validation
Fan-in
2
Fan-out
10
Instability
0.83
Abstractness
0.17
Distance
0.00
Relative visibility
0.95
Classes
10
LOC
399
Cycle
Nested
Packagedetekt-utils.maindev.detekt.utils
Fan-in
10
Fan-out
0
Instability
0.00
Abstractness
0.17
Distance
0.83
Relative visibility
1.00
Classes
6
LOC
205
Cycle
—
Packagedetekt-cli.maindev.detekt.cli
Fan-in
1
Fan-out
8
Instability
0.89
Abstractness
0.00
Distance
0.11
Relative visibility
1.00
Classes
18
LOC
579
Cycle
Nested
Packagedetekt-core.maindev.detekt.core.reporting
Fan-in
3
Fan-out
5
Instability
0.63
Abstractness
0.00
Distance
0.38
Relative visibility
0.91
Classes
3
LOC
124
Cycle
—
Packagedetekt-metrics.maindev.detekt.metrics
Fan-in
6
Fan-out
2
Instability
0.25
Abstractness
0.00
Distance
0.75
Relative visibility
0.94
Classes
8
LOC
411
Cycle
Nested
Packagedetekt-tooling.maindev.detekt.tooling.dsl
Fan-in
4
Fan-out
4
Instability
0.50
Abstractness
0.15
Distance
0.35
Relative visibility
0.54
Classes
23
LOC
239
Cycle
Architectural
Packagedetekt-cli.maindev.detekt.cli.runners
Fan-in
1
Fan-out
6
Instability
0.86
Abstractness
0.17
Distance
0.02
Relative visibility
1.00
Classes
5
LOC
114
Cycle
Nested
Packagedetekt-core.maindev.detekt.core.rules
Fan-in
2
Fan-out
5
Instability
0.71
Abstractness
0.00
Distance
0.29
Relative visibility
1.00
Classes
1
LOC
57
Cycle
—
Packagedetekt-core.maindev.detekt.core.util
Fan-in
4
Fan-out
3
Instability
0.43
Abstractness
0.00
Distance
0.57
Relative visibility
1.00
Classes
3
LOC
50
Cycle
—
Packagedetekt-generator.maindev.detekt.generator.collection
Fan-in
3
Fan-out
4
Instability
0.57
Abstractness
0.08
Distance
0.35
Relative visibility
0.78
Classes
27
LOC
805
Cycle
—
Packagedetekt-gradle-plugin.maindev.detekt.gradle.internal
Fan-in
3
Fan-out
4
Instability
0.57
Abstractness
0.17
Distance
0.26
Relative visibility
0.26
Classes
4
LOC
132
Cycle
Architectural
Packagedetekt-tooling.maindev.detekt.tooling.internal
Fan-in
4
Fan-out
3
Instability
0.43
Abstractness
0.25
Distance
0.32
Relative visibility
1.00
Classes
3
LOC
29
Cycle
Architectural
Packagedetekt-compiler-plugin.mainio.github.detekt.compiler.plugin.internal
Fan-in
1
Fan-out
5
Instability
0.83
Abstractness
0.00
Distance
0.17
Relative visibility
1.00
Classes
2
LOC
107
Cycle
Nested
Packagedetekt-core.maindev.detekt.core.config
Fan-in
2
Fan-out
4
Instability
0.67
Abstractness
0.08
Distance
0.25
Relative visibility
0.92
Classes
9
LOC
302
Cycle
Nested
Packagedetekt-core.maindev.detekt.core.settings
Fan-in
2
Fan-out
4
Instability
0.67
Abstractness
0.27
Distance
0.06
Relative visibility
0.92
Classes
9
LOC
222
Cycle
—
Packagedetekt-gradle-plugin.maindev.detekt.gradle
Fan-in
3
Fan-out
3
Instability
0.50
Abstractness
0.80
Distance
0.30
Relative visibility
0.63
Classes
4
LOC
482
Cycle
Architectural
Packagedetekt-gradle-plugin.maindev.detekt.gradle.plugin
Fan-in
2
Fan-out
4
Instability
0.67
Abstractness
0.00
Distance
0.33
Relative visibility
0.23
Classes
3
LOC
399
Cycle
Architectural
Packagedetekt-core.maindev.detekt.core.suppressors
Fan-in
1
Fan-out
4
Instability
0.80
Abstractness
0.20
Distance
0.00
Relative visibility
0.83
Classes
1
LOC
142
Cycle
Nested
Packagedetekt-generator.maindev.detekt.generator
Fan-in
0
Fan-out
5
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
1.00
Classes
6
LOC
236
Cycle
—
Packagedetekt-gradle-plugin.maindev.detekt.gradle.extensions
Fan-in
5
Fan-out
0
Instability
0.00
Abstractness
0.33
Distance
0.67
Relative visibility
1.00
Classes
8
LOC
150
Cycle
—
Packagedetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
Fan-in
2
Fan-out
3
Instability
0.60
Abstractness
0.00
Distance
0.40
Relative visibility
0.12
Classes
3
LOC
300
Cycle
Architectural
Packagedetekt-rules-style.maindev.detekt.rules.style
Fan-in
0
Fan-out
5
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.62
Classes
251
LOC
9934
Cycle
—
Packagedetekt-generator.maindev.detekt.generator.printer
Fan-in
2
Fan-out
2
Instability
0.50
Abstractness
0.17
Distance
0.33
Relative visibility
1.00
Classes
5
LOC
156
Cycle
—
Packagedetekt-generator.maindev.detekt.generator.printer.defaultconfig
Fan-in
1
Fan-out
3
Instability
0.75
Abstractness
0.22
Distance
0.03
Relative visibility
0.69
Classes
7
LOC
198
Cycle
—
Packagedetekt-metrics.maindev.detekt.metrics.processors
Fan-in
1
Fan-out
3
Instability
0.75
Abstractness
0.03
Distance
0.22
Relative visibility
0.97
Classes
19
LOC
223
Cycle
Nested
Packagedetekt-report-html.maindev.detekt.report.html
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.50
Classes
2
LOC
259
Cycle
—
Packagedetekt-report-markdown.maindev.detekt.report.markdown
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
1.00
Classes
1
LOC
153
Cycle
—
Packagedetekt-rules-comments.maindev.detekt.rules.comments
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.62
Classes
19
LOC
772
Cycle
—
Packagedetekt-rules-complexity.maindev.detekt.rules.complexity
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.56
Classes
45
LOC
1367
Cycle
—
Packagedetekt-rules-coroutines.maindev.detekt.rules.coroutines
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.76
Classes
12
LOC
1153
Cycle
—
Packagedetekt-rules-empty-blocks.maindev.detekt.rules.emptyblocks
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.06
Distance
0.06
Relative visibility
0.53
Classes
19
LOC
416
Cycle
—
Packagedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper
Fan-in
1
Fan-out
3
Instability
0.75
Abstractness
0.09
Distance
0.16
Relative visibility
0.09
Classes
10
LOC
575
Cycle
Nested
Packagedetekt-rules-naming.maindev.detekt.rules.naming
Fan-in
0
Fan-out
4
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.54
Classes
44
LOC
1283
Cycle
—
Packagedetekt-rules-style.maindev.detekt.rules.style.optional
Fan-in
1
Fan-out
3
Instability
0.75
Abstractness
0.00
Distance
0.25
Relative visibility
1.00
Classes
2
LOC
237
Cycle
—
Packagedetekt-compiler-plugin.mainio.github.detekt.compiler.plugin
Fan-in
1
Fan-out
2
Instability
0.67
Abstractness
0.00
Distance
0.33
Relative visibility
1.00
Classes
5
LOC
221
Cycle
Nested
Packagedetekt-core.maindev.detekt.core.reporting.console
Fan-in
0
Fan-out
3
Instability
1.00
Abstractness
0.13
Distance
0.13
Relative visibility
1.00
Classes
7
LOC
161
Cycle
—
Packagedetekt-gradle-plugin.maindev.detekt.gradle.invoke
Fan-in
1
Fan-out
2
Instability
0.67
Abstractness
0.14
Distance
0.19
Relative visibility
0.88
Classes
34
LOC
236
Cycle
Architectural
Packagedetekt-rules-exceptions.maindev.detekt.rules.exceptions
Fan-in
0
Fan-out
3
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.65
Classes
25
LOC
1090
Cycle
—
Packagedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper.wrappers
Fan-in
1
Fan-out
2
Instability
0.67
Abstractness
0.00
Distance
0.33
Relative visibility
1.00
Classes
110
LOC
2075
Cycle
Nested
Packagedetekt-rules-potential-bugs.maindev.detekt.rules.potentialbugs
Fan-in
0
Fan-out
3
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
0.61
Classes
69
LOC
3212
Cycle
—
Packagedetekt-test-utils.maindev.detekt.test.utils
Fan-in
2
Fan-out
1
Instability
0.33
Abstractness
0.00
Distance
0.67
Relative visibility
1.00
Classes
12
LOC
249
Cycle
—
Packagedetekt-core.maindev.detekt.core.baseline
Fan-in
0
Fan-out
2
Instability
1.00
Abstractness
0.00
Distance
0.00
Relative visibility
1.00
Classes
6
LOC
315
Cycle
—
Packagedetekt-core.maindev.detekt.core.parser
Fan-in
2
Fan-out
0
Instability
0.00
Abstractness
0.00
Distance
1.00
Relative visibility
0.67
Classes
2
LOC
117
Cycle
—

Dependency-edge Register

Showing 50 of 198 eligible dependencies, ordered by Dependency refs and then Source and Target. The Dependency refs value counts acquired class dependency references aggregated into each package-to-package edge; it is not a source line number.

Dependency refsCycleCycle governance
Sourcedetekt-rules-style.maindev.detekt.rules.style
Targetdetekt-api.maindev.detekt.api
1399——
Sourcedetekt-rules-potential-bugs.maindev.detekt.rules.potentialbugs
Targetdetekt-api.maindev.detekt.api
490——
Sourcedetekt-rules-naming.maindev.detekt.rules.naming
Targetdetekt-api.maindev.detekt.api
296——
Sourcedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper.wrappers
Targetdetekt-api.maindev.detekt.api
295——
Sourcedetekt-rules-complexity.maindev.detekt.rules.complexity
Targetdetekt-api.maindev.detekt.api
267——
Sourcedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper
Targetdetekt-api.maindev.detekt.api
246——
Sourcedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper.wrappers
Targetdetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper
219NestedProblem
Sourcedetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper
Targetdetekt-rules-ktlint-wrapper.maindev.detekt.rules.ktlintwrapper.wrappers
200NestedProblem
Sourcedetekt-rules-exceptions.maindev.detekt.rules.exceptions
Targetdetekt-api.maindev.detekt.api
180——
Sourcedetekt-rules-comments.maindev.detekt.rules.comments
Targetdetekt-api.maindev.detekt.api
144——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin
Targetdetekt-gradle-plugin.maindev.detekt.gradle.extensions
135——
Sourcedetekt-core.maindev.detekt.core
Targetdetekt-api.maindev.detekt.api
125——
Sourcedetekt-rules-coroutines.maindev.detekt.rules.coroutines
Targetdetekt-api.maindev.detekt.api
112——
Sourcedetekt-rules-empty-blocks.maindev.detekt.rules.emptyblocks
Targetdetekt-api.maindev.detekt.api
99——
Sourcedetekt-rules-style.maindev.detekt.rules.style
Targetdetekt-psi-utils.maindev.detekt.psi
99——
Sourcedetekt-rules-performance.maindev.detekt.rules.performance
Targetdetekt-api.maindev.detekt.api
95——
Sourcedetekt-core.maindev.detekt.core.config.validation
Targetdetekt-api.maindev.detekt.api
81——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle
Targetdetekt-gradle-plugin.maindev.detekt.gradle.invoke
78NestedProblem
Sourcedetekt-test-assertj.maindev.detekt.test.assertj
Targetdetekt-api.maindev.detekt.api
68——
Sourcedetekt-report-html.maindev.detekt.report.html
Targetdetekt-api.maindev.detekt.api
63——
Sourcedetekt-tooling.maindev.detekt.tooling.dsl
Targetdetekt-tooling.maindev.detekt.tooling.api.spec
63ArchitecturalProblem
Sourcedetekt-generator.maindev.detekt.generator.printer
Targetdetekt-generator.maindev.detekt.generator.collection
61——
Sourcedetekt-report-markdown.maindev.detekt.report.markdown
Targetdetekt-api.maindev.detekt.api
54——
Sourcedetekt-rules-libraries.maindev.detekt.rules.libraries
Targetdetekt-api.maindev.detekt.api
52——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle
50NestedProblem
Sourcedetekt-report-sarif.maindev.detekt.report.sarif
Targetdetekt-api.maindev.detekt.api
47——
Sourcedetekt-cli.maindev.detekt.cli
Targetdetekt-tooling.maindev.detekt.tooling.dsl
46——
Sourcedetekt-core.maindev.detekt.core.reporting.console
Targetdetekt-api.maindev.detekt.api
46——
Sourcedetekt-core.maindev.detekt.core.tooling
Targetdetekt-tooling.maindev.detekt.tooling.api.spec
45——
Sourcedetekt-metrics.maindev.detekt.metrics
Targetdetekt-api.maindev.detekt.api
45——
Sourcedetekt-metrics.maindev.detekt.metrics.processors
Targetdetekt-api.maindev.detekt.api
45——
Sourcedetekt-generator.maindev.detekt.generator.printer.defaultconfig
Targetdetekt-generator.maindev.detekt.generator.collection
44——
Sourcedetekt-core.maindev.detekt.core.reporting
Targetdetekt-api.maindev.detekt.api
41——
Sourcedetekt-core.maindev.detekt.core.config
Targetdetekt-api.maindev.detekt.api
37——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin
Targetdetekt-gradle-plugin.maindev.detekt.gradle
37NestedProblem
Sourcedetekt-test.maindev.detekt.test
Targetdetekt-api.maindev.detekt.api
37——
Sourcedetekt-core.maindev.detekt.core.tooling
Targetdetekt-api.maindev.detekt.api
36——
Sourcedetekt-generator.maindev.detekt.generator.printer.defaultconfig
Targetdetekt-utils.maindev.detekt.utils
35——
Sourcedetekt-generator.maindev.detekt.generator.printer
Targetdetekt-utils.maindev.detekt.utils
34——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle.extensions
34——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle.extensions
34——
Sourcedetekt-core.maindev.detekt.core.tooling
Targetdetekt-core.maindev.detekt.core
33——
Sourcedetekt-report-markdown.maindev.detekt.report.markdown
Targetdetekt-utils.maindev.detekt.utils
32——
Sourcedetekt-core.maindev.detekt.core
Targetdetekt-tooling.maindev.detekt.tooling.api.spec
31——
Sourcedetekt-gradle-plugin.maindev.detekt.gradle.plugin.internal
Targetdetekt-gradle-plugin.maindev.detekt.gradle
30NestedProblem
Sourcedetekt-rules-style.maindev.detekt.rules.style.optional
Targetdetekt-api.maindev.detekt.api
30——
Sourcedetekt-core.maindev.detekt.core.extensions
Targetdetekt-api.maindev.detekt.api
28——
Sourcedetekt-compiler-plugin.mainio.github.detekt.compiler.plugin.internal
Targetdetekt-tooling.maindev.detekt.tooling.dsl
27——
Sourcedetekt-core.maindev.detekt.core.rules
Targetdetekt-api.maindev.detekt.api
26——
Sourcedetekt-cli.maindev.detekt.cli
Targetdetekt-tooling.maindev.detekt.tooling.api
25——