We should think about keeping a list of "tasks", a list of constraints for each, and a list of solvers, and given these run a cross product of all solvers on all tasks and all constraints (assert the posteriors match the constraints).
Currently, there's a single model, single constraint, and we're writing essentially same code again and again.
We need to ensure there's an easy way for a solver to skip a constraint, e.g. no parsing if it's a black-box constraint.
We should think about keeping a list of "tasks", a list of constraints for each, and a list of solvers, and given these run a cross product of all solvers on all tasks and all constraints (assert the posteriors match the constraints).
Currently, there's a single model, single constraint, and we're writing essentially same code again and again.
We need to ensure there's an easy way for a solver to skip a constraint, e.g. no parsing if it's a black-box constraint.