OptionalcontestedOptionalderivedThe immediate producing step; present iff origin === "derived".
"contested" whenever the value is CONTESTED, whatever else
contributed; otherwise "asserted" for a reader-supplied true/false,
"derived" for anything propagation produced, "unassigned" for a value
still unresolved.
The variable's value after propagation.
Every granted step that contributed a truth component to a contested value, in a stable order; present iff
origin === "contested". The reader's own assertion is not a step and never appears here — compareassignment.variables[id]to see whether one of the two components came from the reader.derivedByis absent for a contested value: naming one producing step is a lie once two steps disagree.