LemonCore.Quality.ArchitecturePolicy (lemon_core v0.1.0)

View Source

Canonical source of truth for architecture dependency policy.

This module defines which umbrella apps may directly depend on which other umbrella apps. The current policy is enforced; the target policy captures the tighter post-migration shape and is used for non-failing drift reports.

Summary

Types

app()

@type app() :: atom()

dependency_map()

@type dependency_map() :: %{optional(app()) => [app()]}

Functions

allowed_direct_deps()

@spec allowed_direct_deps() :: dependency_map()

current_allowed_direct_deps()

@spec current_allowed_direct_deps() :: dependency_map()

target_allowed_direct_deps()

@spec target_allowed_direct_deps() :: dependency_map()