Package-level declarations
The full serializable model: ModuleDependencyGraph, ModuleNode, DependencyEdge, ModuleType, Severity, and Violation, together with the richer analysis carriers (ArchitectureSnapshot, MainSequence, AffectedModules, BuildInventory, CycleBreakSuggestion, CustomMetric) and the Provenance marker (OBSERVED / COMPUTED / INFERRED / SUGGESTED) that records whether a value was declared, derived, or guessed. AalekhBuildConfig exposes the build-stamped VERSION.
Types
What changed between two snapshots of an architecture.
A compact, committable record of a project's architecture at one point in time.
Everything Aalekh knows about how the project is built, as opposed to how it is wired together.
A version-catalog entry: an alias, what it points at, and the version it resolves to.
How much Aalekh trusts an Provenance.INFERRED or Provenance.SUGGESTED finding.
One metric contributed by a third-party MetricProvider (the metrics extension point of the Aalekh SPI). A metric can be system-wide (systemValue), per-module (moduleValues), or both - a provider populates whichever dimensions make sense for it.
The result of running every discovered MetricProvider against the graph.
A declared production dependency edge, referenced by its endpoints.
One piece of the reasoning behind a Finding - the "how do you know?" a reader can check.
One human-readable statement about the project - the unit every narrative, recommendation, and generated document is rendered from.
What a Finding is about - used to group the narrative into readable sections.
A module's move between declared layers. null means it belonged to no layer at that point.
The main-sequence report for a whole project.
Where a module sits relative to Robert Martin's main sequence - the line A + I = 1 that balances abstractness against instability.
A structural metric's movement between two snapshots.
Per-module build configuration that is not a dependency.
How often a single module changed across the analysed commit window.
The complete module dependency graph for a Gradle project.
The main-sequence position of one module.
A single Gradle subproject in the dependency graph.
One Gradle plugin as applied to one module.
The type of Gradle module, inferred from its applied plugin IDs.
The full set of findings for one project, in reading order.
How a plugin application was discovered.
How Aalekh came to know a value - the accuracy contract attached to everything it reports.
One step of the suggested reading order for a project a developer has never seen.
The result of a git temporal-coupling analysis over a window of recent commits.
The version catalogs declared for the build.