# `Reach.Evidence`
[🔗](https://github.com/elixir-vibe/reach/blob/v2.8.4/lib/reach/evidence.ex#L1)

Reusable evidence providers consumed by smells, checks, and refactoring candidates.

Evidence modules collect facts and signals. They do not decide whether
something is a user-facing finding; smell and check modules own that policy.

# `ast_providers`

Returns AST evidence providers available for the configured plugins.

# `ast_providers_for`

Returns AST evidence providers matching a family or all providers.

# `dependency_bypass`

Returns generic project-to-dependency reimplementation evidence.

# `external_data_boundaries`

Returns decoded external values crossing storage or process boundaries.

# `nil_parameters`

Returns nil-capable parameter uses and guard-dominance evidence.

# `parameter_shapes`

Returns map-shape variation flowing into function parameters.

# `representation_overlaps`

Returns near-equivalent struct and bare-map representations across modules.

# `return_contracts`

Returns terminal return-shape evidence grouped by function.

# `total_function_laundering`

Returns accepted-domain fallback evidence from private parsers.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
