A v0.8 check finding over the composed graph. Serializes to the diagnostic
shape {name, severity, subject, target?, lines?, _graphs, message}: subject
is the implicated path (the source node for edge-level findings), target is
the edge’s destination on edge-level findings (absent on node-level ones),
lines is the source line(s) where an edge finding’s link appears (absent
otherwise), and _graphs carries the same provenance key the node or edge
does, so a consumer never has to parse anything.