A bare float32 score conflates "this row has no score, it came from
a scalar predicate" with "this row's vector similarity score is
0.0", which is a legal value: zero L2 distance and zero dot product
both arise in real queries. Mixing scored and unscored results in
one response (e.g. hybrid scalar+vector) becomes ambiguous.
Add has_score (proto field 2, sandwiched between Ref and Score) and
the corresponding HasScore field in the design's Go sketch. Update
the prose paragraph to call out the new flag's purpose.