{"kind":"synthetic_quantity_validation","engineVersion":"1.0.0","datasetVersion":"1.0.0","cases":[{"id":"match","name":"Totals match","input":{"productA":"60","productB":"40","printedTotal":"100"},"expected":{"status":"pass","lineTotal":100,"printedTotal":100,"discrepancy":0,"issues":[]},"actual":{"status":"pass","lineTotal":100,"printedTotal":100,"discrepancy":0,"issues":[]},"matchedExpected":true},{"id":"mismatch","name":"Quantity mismatch","input":{"productA":"60","productB":"40","printedTotal":"98"},"expected":{"status":"review_required","lineTotal":100,"printedTotal":98,"discrepancy":2,"issues":[{"field":"printedTotal","code":"total_mismatch"}]},"actual":{"status":"review_required","lineTotal":100,"printedTotal":98,"discrepancy":2,"issues":[{"field":"printedTotal","code":"total_mismatch"}]},"matchedExpected":true},{"id":"quantity","name":"Missing quantity","input":{"productA":"60","productB":"","printedTotal":"100"},"expected":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productB","code":"missing"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productB","code":"missing"}]},"matchedExpected":true},{"id":"total","name":"Missing total","input":{"productA":"60","productB":"40","printedTotal":""},"expected":{"status":"review_required","lineTotal":100,"printedTotal":null,"discrepancy":null,"issues":[{"field":"printedTotal","code":"missing"}]},"actual":{"status":"review_required","lineTotal":100,"printedTotal":null,"discrepancy":null,"issues":[{"field":"printedTotal","code":"missing"}]},"matchedExpected":true},{"id":"negative","name":"Negative carton quantity","input":{"productA":"-5","productB":"40","printedTotal":"35"},"expected":{"status":"review_required","lineTotal":null,"printedTotal":35,"discrepancy":null,"issues":[{"field":"productA","code":"negative"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":35,"discrepancy":null,"issues":[{"field":"productA","code":"negative"}]},"matchedExpected":true},{"id":"decimal","name":"Fractional carton quantity","input":{"productA":"60","productB":"40.5","printedTotal":"100"},"expected":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productB","code":"non_integer"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productB","code":"non_integer"}]},"matchedExpected":true},{"id":"malformed","name":"Quantity includes text","input":{"productA":"60 cartons","productB":"40","printedTotal":"100"},"expected":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productA","code":"invalid"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productA","code":"invalid"}]},"matchedExpected":true},{"id":"whitespace","name":"Surrounding whitespace","input":{"productA":" 60 ","productB":"40","printedTotal":" 100 "},"expected":{"status":"pass","lineTotal":100,"printedTotal":100,"discrepancy":0,"issues":[]},"actual":{"status":"pass","lineTotal":100,"printedTotal":100,"discrepancy":0,"issues":[]},"matchedExpected":true},{"id":"zero","name":"Explicit zero is present","input":{"productA":"0","productB":"40","printedTotal":"40"},"expected":{"status":"pass","lineTotal":40,"printedTotal":40,"discrepancy":0,"issues":[]},"actual":{"status":"pass","lineTotal":40,"printedTotal":40,"discrepancy":0,"issues":[]},"matchedExpected":true},{"id":"exponent","name":"Scientific notation blocked","input":{"productA":"6e1","productB":"40","printedTotal":"100"},"expected":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productA","code":"invalid"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":100,"discrepancy":null,"issues":[{"field":"productA","code":"invalid"}]},"matchedExpected":true},{"id":"limit","name":"Quantity exceeds demo limit","input":{"productA":"1000001","productB":"0","printedTotal":"1000000"},"expected":{"status":"review_required","lineTotal":null,"printedTotal":1000000,"discrepancy":null,"issues":[{"field":"productA","code":"out_of_range"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":1000000,"discrepancy":null,"issues":[{"field":"productA","code":"out_of_range"}]},"matchedExpected":true},{"id":"all-missing","name":"All counts missing","input":{"productA":"","productB":" ","printedTotal":""},"expected":{"status":"review_required","lineTotal":null,"printedTotal":null,"discrepancy":null,"issues":[{"field":"productA","code":"missing"},{"field":"productB","code":"missing"},{"field":"printedTotal","code":"missing"}]},"actual":{"status":"review_required","lineTotal":null,"printedTotal":null,"discrepancy":null,"issues":[{"field":"productA","code":"missing"},{"field":"productB","code":"missing"},{"field":"printedTotal","code":"missing"}]},"matchedExpected":true}]}