Excessibility.Review.Behavioral (Excessibility v0.17.0)

Copy Markdown View Source

Behavioral findings for a review, drawn from the telemetry timeline.

A DOM diff sees what the page looks like; it can't see an N+1 query, a dead assign, render thrash, or a state-machine regression. Those live in the telemetry timeline captured during the test run. This module runs the timeline analyzers (the same ones behind mix excessibility.debug) and normalizes their findings into the review's finding shape, so a judge can weigh behavior alongside markup.

Analyzer severities (`:info:warning:critical`) are mapped onto the
review scale (`:minor:moderate:serious`).

Summary

Functions

Run the analyzers over a parsed timeline and return normalized findings.

Types

finding()

@type finding() :: %{
  rule: atom(),
  severity: :serious | :moderate | :minor,
  message: String.t(),
  source: :telemetry,
  events: list()
}

Functions

findings(timeline, opts \\ [])

@spec findings(
  map(),
  keyword()
) :: [finding()]

Run the analyzers over a parsed timeline and return normalized findings.

opts[:analyzers] selects analyzer modules (default: the registry's default-enabled analyzers). Remaining opts are passed through to each analyzer.