KogenCredo.Diff.Rules.WidenedApi (KogenCredo v0.1.0)

View Source

widened-api: a function became public (defp to def), or a new public function appeared in a module that already existed.

Skipped: functions preceded by @impl (callbacks), and everything in a module that has no function at the base (a new module or file is a new API, not a widening). Whether a new def has a caller is not checked here; pair it with mix kogen.unused_public.

Limits

Callbacks implemented without @impl, public functions required by a framework convention (changeset/2, child_spec/1, controller actions) and macro-defined functions are flagged or invisible accordingly. Always advisory in practice: widening is a fact, harm is a judgement.