{"name":"syz-problem-ruling","lang":"python3","entry":"check_ruling.py","script":"python3 check_ruling.py --payload payload.json --out verdict.json","input":{"type":"object","required":["versions"],"properties":{"versions":{"type":"array","minItems":2,"description":"Candidate formulations; each must carry the five quantifier slots and an adopted/rejected mark.","items":{"type":"object","required":["label","slots","mark"],"properties":{"label":{"type":"string","minLength":1},"slots":{"type":"object","required":["degeneration","dimension","epsilon","fiber_smoothness","phase"],"properties":{"degeneration":{"type":"string"},"dimension":{"type":"string"},"epsilon":{"type":"string"},"fiber_smoothness":{"type":"string"},"phase":{"type":"string"}}},"mark":{"enum":["adopted","rejected"]},"reason":{"type":"string"}}}}}},"output":{"type":"object","required":["verdict","checks"],"properties":{"verdict":{"enum":["pass","fail","invalid"]},"checks":{"type":"array"}}},"validation":{"null_tolerance":true,"enumeration_closure":{"closure":"Every candidate version carries exactly the five quantifier slots (degeneration, dimension, epsilon, fiber_smoothness, phase); every rejected version carries a non-empty reason of at least 40 characters; at least one version is adopted. The script enumerates the five slot keys and the adopted/rejected mark domain and self-checks both counts.","slot_key_count":5,"mark_domain_count":2},"proposition_fidelity":{"artifact":"pin://f98855bc0903e5a4cabb499c5000aa2b9c5a5a4a86fd2b6e5fbb826a1a9a66e8i0","description":"Independent verifier-contract document published before the task, describing for each node what its verifier checks, what the machine can decide, and what is left to human review. Node-specific section: see the matching node heading in the artifact."}}}