{"initial":{"iterations":2,"budget":3,"improvements":["draft","tighten"]},"counterexample":{"iterations":4,"budget":3,"improvements":["a","b","c","d"]},"tests":[{"name":"within-budget","input":{"iterations":2,"budget":3,"improvements":["draft","tighten"]},"expected":{"pass":true,"summary":"The refinement trace stops within its declared budget.","checks":[{"name":"non-negative-integers","pass":true},{"name":"within-budget","pass":true},{"name":"one-record-per-iteration","pass":true}]}},{"name":"over-budget","input":{"iterations":4,"budget":3,"improvements":["a","b","c","d"]},"expected":{"pass":false,"summary":"The refinement trace exceeds, misstates, or lacks its declared budget.","checks":[{"name":"non-negative-integers","pass":true},{"name":"within-budget","pass":false},{"name":"one-record-per-iteration","pass":true}]}},{"name":"equal-budget-boundary","input":{"iterations":3,"budget":3,"improvements":["a","b","c"]},"expected":{"pass":true,"summary":"The refinement trace stops within its declared budget.","checks":[{"name":"non-negative-integers","pass":true},{"name":"within-budget","pass":true},{"name":"one-record-per-iteration","pass":true}]}}]}
