Observed
class Observed(val scenario: Scenario, val changed: List<String>, val ranked: List<Cand>, val probes: List<String> = emptyList(), val rules: List<String> = emptyList())(source)
What the real pipeline produced for one dev scenario: the changed attributes, the probes that differ and the rules that matched (ids), and the ranked candidates.