Closed kimdhamilton closed 3 years ago
p.s. I can make a stab at a PR, just wanted to confirm which is intended before doing so. I'd lean towards removing the term "Field Query Result", which is undefined and otherwise unused in the rest of the spec.
Oh interesting that's a really good edge case, I agree with you
@kimdhamilton good catch! My code is written to do the right thing, but the language does need a tweak to tell the loop to keep going if the filter doesn't eval against a given JSON Path-located expression. Thank you for this, we all really appreciate your eagle eyes 🦅 👀
@kimdhamilton merged #241, will close this when Brent has tweaked all the predicate language throughout the spec.
This has been addressed in @kimdhamilton's merged PR
In Input Evaluation 2, there is an ambiguity, possibly because "Field Query Result" is undefined.
Suppose we have an input constraint like this:
Then suppose the input contains this VC:
Input Evaluation Step 2 excerpt is below:
Not knowing what "Field Query Result" means, based on context, I would expect this input VC not to match this filter. Here's why:
$.issuer
, returning an object (not string)Step 2.1 seems to imply we stop at the first JSONPath match -- not the first JSONPath match that also matches the filter.
Asking because this behavior differs from here, which considers both JSONPath and filter, and therefore my VC matches.
Obviously, it's easy to clean up my example to avoid this problem, but this seems like a good opportunity to clarify the spec as well.