FlowDiagnostic

timelines.FlowDiagnostic(kind, message, section_id=None, mc=None)

A structural-invariant violation found in an atomic flow graph.

Diagnostics are produced by ScoreFlowController.check_invariants and describe a way in which the folded section graph departs from the rules a well-formed score must satisfy. The controller never raises on a malformed flow — it reports. Each diagnostic names the kind of violation and, where applicable, the section(s) and measure involved.

Attributes

Name Type Description
kind str Short machine-readable violation tag (e.g. "volta_follows_volta").
message str Human-readable explanation, including a remediation hint.
section_id str | None The offending source section’s id, if the violation is attributable to a single section. None otherwise.
mc int | None The measure count most relevant to the violation, if any.

Examples

>>> diag = FlowDiagnostic(
...     kind="volta_follows_volta",
...     message="section 'B' flows directly to volta section 'C'",
...     section_id="B",
...     mc=5,
... )
>>> diag.kind
'volta_follows_volta'