A <log> executable-content element: spec 4.7's diagnostic output point.
Both label and expr are optional per the spec, so both default to
nil rather than the empty string - a missing label is not the same
fact as an author writing label="". expr is raw predicator source, not
a compiled expression (docs/datamodel.md); its ADR-0014 span lives at
attribute_locations[:expr], not on a field of this struct, matching how
every other expression-bearing node stores its span.
Summary
Types
@type t() :: %Statifier.Document.Log{ attribute_locations: Statifier.Document.attribute_locations(), expr: String.t() | nil, label: String.t() | nil, location: Statifier.Parser.Location.t() }