{"abstract":"Unparseable user input is reported valid.","category":"Form validation","checks":10,"contract":"Required checks distinguish blank from zero; malformed input precedes numeric checks; optional blank is valid; min/max are inclusive; pattern applies last.","evaluation_group":"xi-constraint-message","failed_approach":"Calling malformed text missing gives an incorrect corrective instruction.","family":"xi-constraint-message-bad-input","id":"FA-8561","implementations":{"attempt":{"sha256":"485ea25d8bb3eb6fa0deabd38c956653e0d4843ebe79ef64f6c8e9d334885d15","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(required, value, bad_input, minimum, maximum, pattern_ok):\n    if required and value == '': return 'required'\n    if bad_input: return 'required'\n    if value == '': return None\n    if minimum is not None and value < minimum: return 'underflow'\n    if maximum is not None and value > maximum: return 'overflow'\n    if not pattern_ok: return 'pattern'\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('zero', solve(True, 0, False, 0, 5, True), None)\ncheck('optional blank', solve(False, '', False, 1, 5, False), None)\ncheck('required blank', solve(True, '', False, None, None, True), 'required')\ncheck('bad', solve(False, 'oops', True, None, None, True), 'bad-input')\ncheck('at min', solve(False, 2, False, 2, 5, True), None)\ncheck('below min', solve(False, 1, False, 2, 5, True), 'underflow')\ncheck('at max', solve(False, 5, False, 2, 5, True), None)\ncheck('above max', solve(False, 6, False, 2, 5, True), 'overflow')\ncheck('parameterized minimum', solve(False,N,False,N,N+10,True), None)\nfor repetition in range(N):\n    check('repeat above max', solve(False, 6, False, 2, 5, True), 'overflow')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"3854674ffa479b4bbdd4cc678a330354e9fab09240920ef3fe3a4b80a1751c36","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(required, value, bad_input, minimum, maximum, pattern_ok):\n    if required and value == '': return 'required'\n    if bad_input: return None\n    if value == '': return None\n    if minimum is not None and value < minimum: return 'underflow'\n    if maximum is not None and value > maximum: return 'overflow'\n    if not pattern_ok: return 'pattern'\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('zero', solve(True, 0, False, 0, 5, True), None)\ncheck('optional blank', solve(False, '', False, 1, 5, False), None)\ncheck('required blank', solve(True, '', False, None, None, True), 'required')\ncheck('bad', solve(False, 'oops', True, None, None, True), 'bad-input')\ncheck('at min', solve(False, 2, False, 2, 5, True), None)\ncheck('below min', solve(False, 1, False, 2, 5, True), 'underflow')\ncheck('at max', solve(False, 5, False, 2, 5, True), None)\ncheck('above max', solve(False, 6, False, 2, 5, True), 'overflow')\ncheck('parameterized minimum', solve(False,N,False,N,N+10,True), None)\nfor repetition in range(N):\n    check('repeat above max', solve(False, 6, False, 2, 5, True), 'overflow')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"d48f1d3a49b77bae2a85dd0bee201431d4f18ce57f18f1bf2721df713c5a4c45","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(required, value, bad_input, minimum, maximum, pattern_ok):\n    if required and value == '': return 'required'\n    if bad_input: return 'bad-input'\n    if value == '': return None\n    if minimum is not None and value < minimum: return 'underflow'\n    if maximum is not None and value > maximum: return 'overflow'\n    if not pattern_ok: return 'pattern'\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('zero', solve(True, 0, False, 0, 5, True), None)\ncheck('optional blank', solve(False, '', False, 1, 5, False), None)\ncheck('required blank', solve(True, '', False, None, None, True), 'required')\ncheck('bad', solve(False, 'oops', True, None, None, True), 'bad-input')\ncheck('at min', solve(False, 2, False, 2, 5, True), None)\ncheck('below min', solve(False, 1, False, 2, 5, True), 'underflow')\ncheck('at max', solve(False, 5, False, 2, 5, True), None)\ncheck('above max', solve(False, 6, False, 2, 5, True), 'overflow')\ncheck('parameterized minimum', solve(False,N,False,N,N+10,True), None)\nfor repetition in range(N):\n    check('repeat above max', solve(False, 6, False, 2, 5, True), 'overflow')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"xi-constraint-message-bad-input","generated_at":"2026-09-29T14:38:22.500658+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of constraint validation priority; this isolates one interface invariant without requiring a browser.","repair":"Implement the bad input operation as `if bad_input: return 'bad-input'`.","root_cause":"The bad input operation uses `if bad_input: return None` where the contract requires `if bad_input: return 'bad-input'`.","sha256":"0d6fa9c822f34281668a2e0ad2d1df34b29efff146a80db0ca0f74bc00f69c41","title":"Constraint validation priority: Unparseable user input is reported valid · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.628,"exit_code":1,"observations":[{"actual":null,"check":"zero","expected":null,"passed":true},{"actual":null,"check":"optional blank","expected":null,"passed":true},{"actual":"required","check":"required blank","expected":"required","passed":true},{"actual":"required","check":"bad","expected":"bad-input","passed":false},{"actual":null,"check":"at min","expected":null,"passed":true},{"actual":"underflow","check":"below min","expected":"underflow","passed":true},{"actual":null,"check":"at max","expected":null,"passed":true},{"actual":"overflow","check":"above max","expected":"overflow","passed":true},{"actual":null,"check":"parameterized minimum","expected":null,"passed":true},{"actual":"overflow","check":"repeat above max","expected":"overflow","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"zero\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"optional blank\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"required blank\", \"actual\": \"required\", \"expected\": \"required\", \"passed\": true}, {\"check\": \"bad\", \"actual\": \"required\", \"expected\": \"bad-input\", \"passed\": false}, {\"check\": \"at min\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"below min\", \"actual\": \"underflow\", \"expected\": \"underflow\", \"passed\": true}, {\"check\": \"at max\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"above max\", \"actual\": \"overflow\", \"expected\": \"overflow\", \"passed\": true}, {\"check\": \"parameterized minimum\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"repeat above max\", \"actual\": \"overflow\", \"expected\": \"overflow\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.502,"exit_code":1,"observations":[{"actual":null,"check":"zero","expected":null,"passed":true},{"actual":null,"check":"optional blank","expected":null,"passed":true},{"actual":"required","check":"required blank","expected":"required","passed":true},{"actual":null,"check":"bad","expected":"bad-input","passed":false},{"actual":null,"check":"at min","expected":null,"passed":true},{"actual":"underflow","check":"below min","expected":"underflow","passed":true},{"actual":null,"check":"at max","expected":null,"passed":true},{"actual":"overflow","check":"above max","expected":"overflow","passed":true},{"actual":null,"check":"parameterized minimum","expected":null,"passed":true},{"actual":"overflow","check":"repeat above max","expected":"overflow","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"zero\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"optional blank\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"required blank\", \"actual\": \"required\", \"expected\": \"required\", \"passed\": true}, {\"check\": \"bad\", \"actual\": null, \"expected\": \"bad-input\", \"passed\": false}, {\"check\": \"at min\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"below min\", \"actual\": \"underflow\", \"expected\": \"underflow\", \"passed\": true}, {\"check\": \"at max\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"above max\", \"actual\": \"overflow\", \"expected\": \"overflow\", \"passed\": true}, {\"check\": \"parameterized minimum\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"repeat above max\", \"actual\": \"overflow\", \"expected\": \"overflow\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.323,"exit_code":0,"observations":[{"actual":null,"check":"zero","expected":null,"passed":true},{"actual":null,"check":"optional blank","expected":null,"passed":true},{"actual":"required","check":"required blank","expected":"required","passed":true},{"actual":"bad-input","check":"bad","expected":"bad-input","passed":true},{"actual":null,"check":"at min","expected":null,"passed":true},{"actual":"underflow","check":"below min","expected":"underflow","passed":true},{"actual":null,"check":"at max","expected":null,"passed":true},{"actual":"overflow","check":"above max","expected":"overflow","passed":true},{"actual":null,"check":"parameterized minimum","expected":null,"passed":true},{"actual":"overflow","check":"repeat above max","expected":"overflow","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"zero\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"optional blank\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"required blank\", \"actual\": \"required\", \"expected\": \"required\", \"passed\": true}, {\"check\": \"bad\", \"actual\": \"bad-input\", \"expected\": \"bad-input\", \"passed\": true}, {\"check\": \"at min\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"below min\", \"actual\": \"underflow\", \"expected\": \"underflow\", \"passed\": true}, {\"check\": \"at max\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"above max\", \"actual\": \"overflow\", \"expected\": \"overflow\", \"passed\": true}, {\"check\": \"parameterized minimum\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"repeat above max\", \"actual\": \"overflow\", \"expected\": \"overflow\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}