{"abstract":"Reset leaves stale custom validation errors.","category":"Form lifecycle","checks":7,"contract":"File inputs clear paths and file objects; choices restore default checkedness; text restores default value; reset clears custom validity.","contract_signature":"kind, value, default, checked, default_checked, files, custom_error","evaluation_group":"xi-form-reset","failed_approach":"Replacing the message still leaves a validation error.","family":"xi-form-reset-custom-validity","id":"FA-8526","implementations":{"attempt":{"sha256":"80cfcefe9749f8962236d74c59b3d71661b649cc1f1e677c67706bd18a481133","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, value, default, checked, default_checked, files, custom_error):\n    if kind == 'file': value = ''; files = []\n    elif kind in ('checkbox','radio'): checked = default_checked\n    else: value = default\n    custom_error = 'invalid'\n    return (value, checked, files, custom_error)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('file', solve('file', 'chosen', 'default-path', False, False, ['blob'], 'bad'), ('', False, [], ''))\ncheck('default checked', solve('checkbox', 'yes', 'yes', True, True, [], ''), ('yes', True, [], ''))\ncheck('unchecked', solve('radio', 'yes', 'yes', True, False, [], ''), ('yes', False, [], ''))\ncheck('text', solve('text', 'edited', 'original', False, False, [], ''), ('original', False, [], ''))\ncheck('validity', solve('text', 'edited', 'original', False, False, [], 'bad'), ('original', False, [], ''))\ncheck('parameterized reset default', solve('text', 'edited', N, False, False, [], 'bad'), (N,False,[],''))\nfor repetition in range(N):\n    check('repeat validity', solve('text', 'edited', 'original', False, False, [], 'bad'), ('original', False, [], ''))\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":"92385d4f2aa15d8e2513a54c1086d29a6ebdd0777e47cc901d961f850b4ca59b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, value, default, checked, default_checked, files, custom_error):\n    if kind == 'file': value = ''; files = []\n    elif kind in ('checkbox','radio'): checked = default_checked\n    else: value = default\n    custom_error = custom_error\n    return (value, checked, files, custom_error)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('file', solve('file', 'chosen', 'default-path', False, False, ['blob'], 'bad'), ('', False, [], ''))\ncheck('default checked', solve('checkbox', 'yes', 'yes', True, True, [], ''), ('yes', True, [], ''))\ncheck('unchecked', solve('radio', 'yes', 'yes', True, False, [], ''), ('yes', False, [], ''))\ncheck('text', solve('text', 'edited', 'original', False, False, [], ''), ('original', False, [], ''))\ncheck('validity', solve('text', 'edited', 'original', False, False, [], 'bad'), ('original', False, [], ''))\ncheck('parameterized reset default', solve('text', 'edited', N, False, False, [], 'bad'), (N,False,[],''))\nfor repetition in range(N):\n    check('repeat validity', solve('text', 'edited', 'original', False, False, [], 'bad'), ('original', False, [], ''))\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-form-reset-custom-validity","generated_at":"2026-09-29T14:38:22.061297+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of application form reset semantics; this isolates one interface invariant without requiring a browser.","root_cause":"The custom validity operation uses `custom_error = custom_error` where the contract requires `custom_error = ''`.","sha256":"e01b6388eb9812ab2c79bf273398b32523779f5f33a1c056f6d507d2b26a9bae","title":"Application form reset semantics: Reset leaves stale custom validation errors · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.328,"exit_code":1,"observations":[{"actual":["",false,[],"invalid"],"check":"file","expected":["",false,[],""],"passed":false},{"actual":["yes",true,[],"invalid"],"check":"default checked","expected":["yes",true,[],""],"passed":false},{"actual":["yes",false,[],"invalid"],"check":"unchecked","expected":["yes",false,[],""],"passed":false},{"actual":["original",false,[],"invalid"],"check":"text","expected":["original",false,[],""],"passed":false},{"actual":["original",false,[],"invalid"],"check":"validity","expected":["original",false,[],""],"passed":false},{"actual":[1,false,[],"invalid"],"check":"parameterized reset default","expected":[1,false,[],""],"passed":false},{"actual":["original",false,[],"invalid"],"check":"repeat validity","expected":["original",false,[],""],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"file\", \"actual\": [\"\", false, [], \"invalid\"], \"expected\": [\"\", false, [], \"\"], \"passed\": false}, {\"check\": \"default checked\", \"actual\": [\"yes\", true, [], \"invalid\"], \"expected\": [\"yes\", true, [], \"\"], \"passed\": false}, {\"check\": \"unchecked\", \"actual\": [\"yes\", false, [], \"invalid\"], \"expected\": [\"yes\", false, [], \"\"], \"passed\": false}, {\"check\": \"text\", \"actual\": [\"original\", false, [], \"invalid\"], \"expected\": [\"original\", false, [], \"\"], \"passed\": false}, {\"check\": \"validity\", \"actual\": [\"original\", false, [], \"invalid\"], \"expected\": [\"original\", false, [], \"\"], \"passed\": false}, {\"check\": \"parameterized reset default\", \"actual\": [1, false, [], \"invalid\"], \"expected\": [1, false, [], \"\"], \"passed\": false}, {\"check\": \"repeat validity\", \"actual\": [\"original\", false, [], \"invalid\"], \"expected\": [\"original\", false, [], \"\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":36.804,"exit_code":1,"observations":[{"actual":["",false,[],"bad"],"check":"file","expected":["",false,[],""],"passed":false},{"actual":["yes",true,[],""],"check":"default checked","expected":["yes",true,[],""],"passed":true},{"actual":["yes",false,[],""],"check":"unchecked","expected":["yes",false,[],""],"passed":true},{"actual":["original",false,[],""],"check":"text","expected":["original",false,[],""],"passed":true},{"actual":["original",false,[],"bad"],"check":"validity","expected":["original",false,[],""],"passed":false},{"actual":[1,false,[],"bad"],"check":"parameterized reset default","expected":[1,false,[],""],"passed":false},{"actual":["original",false,[],"bad"],"check":"repeat validity","expected":["original",false,[],""],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"file\", \"actual\": [\"\", false, [], \"bad\"], \"expected\": [\"\", false, [], \"\"], \"passed\": false}, {\"check\": \"default checked\", \"actual\": [\"yes\", true, [], \"\"], \"expected\": [\"yes\", true, [], \"\"], \"passed\": true}, {\"check\": \"unchecked\", \"actual\": [\"yes\", false, [], \"\"], \"expected\": [\"yes\", false, [], \"\"], \"passed\": true}, {\"check\": \"text\", \"actual\": [\"original\", false, [], \"\"], \"expected\": [\"original\", false, [], \"\"], \"passed\": true}, {\"check\": \"validity\", \"actual\": [\"original\", false, [], \"bad\"], \"expected\": [\"original\", false, [], \"\"], \"passed\": false}, {\"check\": \"parameterized reset default\", \"actual\": [1, false, [], \"bad\"], \"expected\": [1, false, [], \"\"], \"passed\": false}, {\"check\": \"repeat validity\", \"actual\": [\"original\", false, [], \"bad\"], \"expected\": [\"original\", false, [], \"\"], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}