Field value union — what model.fields[name] can hold after the
matcher's resolve/validate stage.
boolean/string/number for primitive-typed fields.
Stuff historically for type: object resolved fields;
replaced by MqlOneResult post-Phase-7 (kept in the union for the
transitional matcher path that lands raw values on the model
before resolution).
MqlOneResult for resolved type: object fields — bundles
stuff + via + raw + prep into a single per-field record.
MqlOneResult.stuff is null when MQL produced no match.
MqlManyResult for resolved type: objects fields — same shape
with stuff as Stuff[].
Field value union — what
model.fields[name]can hold after the matcher's resolve/validate stage.boolean/string/numberfor primitive-typed fields.Stuffhistorically fortype: objectresolved fields; replaced byMqlOneResultpost-Phase-7 (kept in the union for the transitional matcher path that lands raw values on the model before resolution).MqlOneResultfor resolvedtype: objectfields — bundles stuff + via + raw + prep into a single per-field record.MqlOneResult.stuffisnullwhen MQL produced no match.MqlManyResultfor resolvedtype: objectsfields — same shape withstuffasStuff[].FieldValue[]coversmultiple: trueoption accumulation.Arrays of arrays are not produced (the matcher flattens), but the type is recursive to keep callers from having to disambiguate.