The aggregate result of analysing a project: the parsed modules, the resolved coupling edges, the supervision forest (subtree membership), and the findings produced by the checks.
Summary
Functions
Fetch a ModuleInfo by name, or nil.
All modules in supervisor sup's subtree (including itself).
Highest finding severity present, or nil if clean.
Types
@type t() :: %Firebreak.Analysis{ child_map: %{optional(module()) => [module()]}, edges: [Firebreak.Edge.t()], files_scanned: non_neg_integer(), findings: [Firebreak.Finding.t()], modules: %{optional(module()) => Firebreak.ModuleInfo.t()}, name_index: %{optional(term()) => module()}, roots: [module()], simulations: [Firebreak.FailureSim.simulation()], snapshot: Firebreak.Snapshot.t() | nil, strategies: %{optional(module()) => atom()}, subtree: %{optional(module()) => MapSet.t()}, supervisors: [module()] }