MetricDefinition
One metric's definition, in the words a developer needs to act on it.
Every field is mandatory for a reason. A metric that cannot say what engineering question it answers, or how to read its number, is a number without a purpose - and Aalekh has no shortage of places to put numbers. Requiring question, interpretation, and action up front is what keeps mathematically-interesting-but-useless metrics out of the report.
Parameters
Stable kebab-case identifier, used as a column key and in exports.
Display name.
Unit label ("modules", "%", "" for a bare number).
How it is calculated, in one line.
The engineering question it answers.
How to read the number.
What a bad value suggests doing.
Thresholds, or null when the metric is descriptive and has no good or bad value.
Whether the metric is observed from the build or computed from the graph.
True when the metric is per-module; false when it describes the whole project.