What if we change spec to be steps that are configurable. Possible steps are Filter, Select, and Verify. Each step can occur more than once. The output of one is the input to the next essentially.
Benefits:
Allow multiple filters steps for narrowing search space based on data that passed previous step.
Selection of properties (and nested tags) so that we can be more agnostic to the data coming into the verification step.
I think would allow potential to reduce number of necessary specs.
Much more flexibility obviously.
Cons:
Type/data rework which would require migration and potential data loss if not handled.
What if we change spec to be steps that are configurable. Possible steps are Filter, Select, and Verify. Each step can occur more than once. The output of one is the input to the next essentially.
Benefits:
Cons: