Project caller-supplied initialFields into the $fields map the
start-requirement context binds: one key per declared input-sourced entry,
resolved through the supplied-field lookup — the predicate can only ever see
a value the input resolution would persist, and an undeclared supplied name
never leaks in. Unsupplied (or null-supplied) entries stay unbound, so a
read of one is GROQ null. Document references bind as their GDR envelopes
($fields.<entry>.id is the GDR URI).
Project caller-supplied
initialFieldsinto the$fieldsmap the start-requirement context binds: one key per declaredinput-sourced entry, resolved through the supplied-field lookup — the predicate can only ever see a value the input resolution would persist, and an undeclared supplied name never leaks in. Unsupplied (or null-supplied) entries stay unbound, so a read of one is GROQ null. Document references bind as their GDR envelopes ($fields.<entry>.idis the GDR URI).