Struct for an advisory refactoring candidate with confidence and proof.
Summary
Types
@type t() :: %Reach.Check.Candidate{ actionability: term(), benefit: term(), blast_radius: [String.t()], boundary: term(), branches: term(), call: term(), canonical_site: map() | nil, clone_siblings: [map()], confidence: :high | :medium | :low, decoder: term(), direct_caller_count: term(), draft_contract: term(), effects: [Reach.Effects.effect()] | nil, evidence: term(), file: term(), id: term(), keys: term(), kind: term(), line: term(), modules: term(), occurrences: term(), proof: term(), representative_calls: term(), risk: :high | :medium | :low, sources: term(), suggestion: term(), target: term() }