AtlasArc

Architecture Overview

Simple Java Mail · AtlasArc 1.0.1+736db9b9 · 2026-07-31T22:25:00Z

A whole-model architecture report for the current analysis.

Key Findings

HighCycles

5 problem cycle groups reported in this report scope.

NeutralCoupling

NCCD is 3.02. 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.74, GRV 0.72. This surface is broad enough to inspect against package roles, marked public classes, and real callers.

Highest-Value Targets

  1. core-module.main:org.simplejavamail.internal.utilArchitectural cycle participant, fan-in 27 / fan-out 4, distance 0.77, visibility 0.83
  2. core-module.main:org.simplejavamail.api.email.configArchitectural cycle participant, fan-in 11 / fan-out 2, distance 0.85, visibility 0.92
  3. core-module.main:org.simplejavamail.api.emailArchitectural cycle participant, fan-in 27 / fan-out 7, visibility 0.93
  4. core-module.main:org.simplejavamail.internal.configArchitectural cycle participant, distance 0.67, visibility 1.00
  5. core-module.main:org.simplejavamail.configArchitectural cycle participant, distance 0.56, 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.

  • 5 problem cycle groups reported in this report scope.
  • First package to inspect: core-module.main:org.simplejavamail.internal.util (Architectural cycle participant, fan-in 27 / fan-out 4, distance 0.77, visibility 0.83).
  • Largest cycle group: Problem cycle 1 with 9 packages.

Evidence Summary

NCCD3.02

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

ARV0.74

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

GRV0.72

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

Cycle groups5

Cycle clusters remain in the report scope.

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

CCDCumulative Component Dependency806.00
ACDAverage Component Dependency14.93
RACDRelative Average Component Dependency0.28
NCCDNormalized Cumulative Component Dependency3.02
ARVAverage Relative Visibility0.74
GRVGlobal Relative Visibility0.72

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 posture5 groups

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

Primary inspection targetcore-module.main:org.simplejavamail.internal.util

Architectural cycle participant, fan-in 27 / fan-out 4, distance 0.77, visibility 0.83

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 1

9 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 core-module.main:org.simplejavamail.internal.util

This package has the strongest combined structural signal in the report scope: Architectural cycle participant, fan-in 27 / fan-out 4, distance 0.77, visibility 0.83.

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
authenticated-socks-modulebatch-modulecli-modulecore-module.maincore-test-moduledkim-moduleoutlook-modulesimple-java-mail.mainsmime-modulespring-moduleorgorgorgorgorgorgorgorgorgsimplejavamailsimplejavamailsimplejavamailsimplejavamailsimplejavamailsimplejavamailsimplejavamailsimplejavamailsimplejavamailinternalinternalinternalapiinternalinternalinternalconverteremailinternalmailerinternalauthenticatedsockssupportbatchsupportclisupportemailinternalmailerutiloutlooksupportinternalinternalsmimesupportsocks5serverauthenticatedsockssupportclisupportoutlooksupportsmimesupportinternal commonsocks5clientiomsgClassesClassesconcurrentClassescliserializationtherapijavadocvalueinterpretersClassesconfigClassescommonsocks5serverbatchsupportmodelgeneralmodelbuildermodelClassesconfigClassesoutlookClassesconfigconfigmodulesconcurrentClassesClassesdemotestutildkimsupportconvertermodelmimemessageClassesClassesinternalClassesmoduleloaderutilClassesClassesrecipientbuildermodelClassesspringbootsupportspringsupport
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
Modules authenticated-socks-modulebatch-modulecli-modulecore-module.maincore-test-moduledkim-moduleoutlook-modulesimple-java-mail.mainsmime-modulespring-module
org
simplejavamail
internal
authenticatedsockssupport
common
socks5client
socks5server
io
msg
org
simplejavamail
internal
batchsupport
concurrent
org
simplejavamail
cli
internal
clisupport
serialization
therapijavadoc
valueinterpreters
org
simplejavamail
api
email
config
internal
authenticatedsockssupport
common
socks5server
batchsupport
clisupport
model
general
outlooksupport
model
smimesupport
builder
model
mailer
config
outlook
config
internal
config
modules
util
concurrent
demo
testutil
org
simplejavamail
internal
dkimsupport
org
simplejavamail
internal
outlooksupport
converter
internal
model
org
simplejavamail
converter
internal
mimemessage
email
internal
internal
moduleloader
mailer
internal
util
recipient
org
simplejavamail
internal
smimesupport
builder
model
org
simplejavamail
springbootsupport
springsupport
authenticated-socks-module / org -
simplejavamail -
internal -
authenticatedsockssupport - 8 1 2 1 8 1 3
  common -
  socks5client 11 - 13
socks5server 5 - 5 22 4 2
  io -
  msg 3 -
batch-module / org -
simplejavamail -
internal -
batchsupport - 1 2 27 1 2
  concurrent -
cli-module / org -
simplejavamail -
  cli - 1
internal -
clisupport - 2 6 10 2 9 79 13 4 15 2 3
  serialization -
  therapijavadoc 7 2 - 3 7
  valueinterpreters - 9 13 1 2
core-module.main / org -
simplejavamail -
api -
email 2 - 18 8 1 1 3 14
  config - 11 9
internal -
authenticatedsockssupport -
  common -
  socks5server -
  batchsupport -
clisupport -
  model - 2
  general 1 -
outlooksupport -
  model 2 - 5
smimesupport -
  builder 2 - 1
  model 5 -
mailer 1 7 1 11 - 9 1
  config 1 1 - 2 2
  outlook 4 - 3
  config 1 4 17 - 17
internal -
  config 41 4 -
  modules 6 3 1 1 1 2 1 2 3 - 1
util 2 15 1 9 -
  concurrent 1 -
  core-test-module / demo 9 4 - 2
  testutil 1 5 1 1 -
dkim-module / org -
simplejavamail -
internal -
  dkimsupport 2 5 11 1 7 -
outlook-module / org -
simplejavamail -
internal -
outlooksupport -
  converter 2 36 6 4 3 1 17 - 1
internal -
  model 12 -
simple-java-mail.main / org -
simplejavamail -
converter 2 81 4 12 9 1 7 6 8 36 - 3 39 1 10 7 2 3
internal 2 1 2 -
  mimemessage 4 147 31 17 5 37 - 2 4 1
email 24 - 15
  internal 3 180 51 2 1 1 3 40 2 1 82 8 1 - 2 1
internal -
  moduleloader 3 27 7 -
mailer 3 88 4 4 4 3 4 3 - 22
internal 4 139 54 19 1 42 152 191 32 12 72 3 2 2 4 3 15 2 - 13
  util 5 4 5 5 3 2 2 1 -
  recipient 2 16 17 -
smime-module / org -
simplejavamail -
internal -
smimesupport 3 50 7 2 17 1 8 4 1 3 - 16 44
  builder 3 1 2 - 3
  model 18 1 1 -
spring-module / org -
simplejavamail -
  springbootsupport -
  springsupport 4 86 1 -

Governance Summary

Repository documentReady
Revision57217c2ee6b4a6fc4d00e63c1765af3c76df24e256c84c2c7a7b8562ee293546
EvidenceFresh
Local view exclusionsNone
Safe Havens0
Intentional records1
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.