AtlasArc

Architecture Overview

Detekt · AtlasArc 1.0.1+736db9b9 · 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.

Highest-Value Targets

  1. detekt-api.main:dev.detekt.apiNested cycle participant, fan-in 44 / fan-out 1, distance 0.69, visibility 0.94
  2. detekt-api.main:dev.detekt.api.internalNested cycle participant, fan-in 18 / fan-out 1, distance 0.55, visibility 1.00
  3. detekt-metrics.main:dev.detekt.metricsNested cycle participant, distance 0.75, visibility 0.94
  4. detekt-core.main:dev.detekt.coreNested cycle participant, fan-in 6 / fan-out 9, visibility 1.00
  5. detekt-tooling.main:dev.detekt.tooling.apiArchitectural cycle participant, fan-in 11 / fan-out 2, visibility 1.00

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.
  • First package to inspect: detekt-api.main:dev.detekt.api (Nested cycle participant, fan-in 44 / fan-out 1, distance 0.69, visibility 0.94).
  • 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, highest inspection target, 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.

Primary inspection targetdetekt-api.main:dev.detekt.api

Nested cycle participant, fan-in 44 / fan-out 1, distance 0.69, visibility 0.94

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.

2Inspect detekt-api.main:dev.detekt.api

This package has the strongest combined structural signal in the report scope: Nested cycle participant, fan-in 44 / fan-out 1, distance 0.69, visibility 0.94.

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
Encoding
Rows
Origin packages
Columns
Target packages
Cells
Dependency count and cycle/heatmap styling where applicable
⚠️
Matrix hidden — 167 packages
The visible graph has 167 packages, which exceeds the safety and report-legibility limit of 100. Rendering a matrix this large may hang the browser or become unreadable when fitted to a report page. Raise the limit in Settings → Matrix → Max packages to render, or use the Focus filter to narrow the graph first.

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 tables include 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.