Rule
data class Rule(val id: String, val title: String, val applies: List<String>, val difference: String, val symptoms: List<Symptom>, val mechanism: String, val probe: String?, val detect: Node, val severity: Severity, val provenance: List<Source>, val fixtures: Fixtures, val status: Status = Status.ACTIVE)(source)
Rule.applies holds dimension ids; Rule.detect reads a as passing and b as failing.