The three-valued result of a condition. GROQ comparisons/arithmetic/derefs
against a missing operand yield null — a third truth value distinct
from false ("I can't decide this", not "this is false"). One discriminant
rather than a {satisfied, unevaluable} pair so the illegal "satisfied AND
unevaluable" state is unrepresentable; callers gate on 'unevaluable' and
fail closed rather than read 'unsatisfied' as a deliberate false.
The three-valued result of a condition. GROQ comparisons/arithmetic/derefs against a missing operand yield
null— a third truth value distinct fromfalse("I can't decide this", not "this is false"). One discriminant rather than a{satisfied, unevaluable}pair so the illegal "satisfied AND unevaluable" state is unrepresentable; callers gate on'unevaluable'and fail closed rather than read'unsatisfied'as a deliberatefalse.