AtlasArc

Architecture Overview

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

A whole-model architecture report for the current analysis.

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).

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.