Renders the failure modes in the model IR as a Mermaid diagram — making the
gap firebreak hunts for visible: which external caller blocks on :noproc when
a process in another supervision subtree restarts.
Unlike Firebreak.Viz (which draws the whole coupling graph), this is
failure-centric: it shows only the supervisors that have an inbound cross-tree
crossing, their children (the restart blast set), and the crossing edges from
outside. A dashed red :noproc edge is the dangerous case — a synchronous
caller that blocks when the target restarts; async crossings are drawn faintly
(a dropped cast, not a block). Target nodes are coloured by severity, so the
picture doubles as a blast-radius heatmap.
A pure function of the model IR — mix firebreak --format failure.
Summary
Functions
A Mermaid flowchart of the cross-tree failure modes.
Functions
@spec mermaid(Firebreak.Analysis.t()) :: String.t()
A Mermaid flowchart of the cross-tree failure modes.