One confirmed invariant breach.
details carries no application state — pids, module names and counts
only. A violation is written to ETS and is a defect-report input, and the sink
policy in decisions/2026-09-04-defect-reports-are-a-shipped-feature.md
excludes assigns by default. The same rule Mob.Agent.Receipt follows, for
the same reason: MOB-147 found a SecureField value crossing screens, so
anything that serialises framework state has to assume secrets are in it.
Summary
Functions
A one-line summary for a triage log.
Types
@type t() :: %Mob.Invariant.Violation{ at: Mob.Invariant.point(), details: map(), invariant: atom(), monotonic_us: integer(), screen: module() | nil, severity: Mob.Invariant.severity() }