{"abstract":"Disabled field values are submitted.","category":"Form submission","checks":9,"contract":"Submit enabled named controls, checked choices and only the actual submitter; emit one ordered pair per selected multiple option without value deduplication.","evaluation_group":"xi-form-serialize","failed_approach":"Submitting only disabled fields reverses successful-control rules.","family":"xi-form-serialize-disabled","id":"FA-8481","implementations":{"attempt":{"sha256":"7a28eced5c91aff63a89ded8012167b61d93c6a083d48254181fd698d1d65a74","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(controls, submitter):\n    pairs = []\n    for c in controls:\n        if not c['disabled']: continue\n        if not c['name']: continue\n        if c['type'] in ('checkbox', 'radio') and not c['checked']: continue\n        if c['type'] == 'submit' and c['id'] != submitter: continue\n        values = c['value'] if c['type'] == 'multiple' else [c['value']]\n        pairs.extend((c['name'], value) for value in values)\n    return pairs\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('disabled', solve([dict(disabled=True,name='a',type='text',checked=False,id='a',value='x')], None), [])\ncheck('unnamed', solve([dict(disabled=False,name='',type='text',checked=False,id='a',value='x')], None), [])\ncheck('unchecked', solve([dict(disabled=False,name='a',type='checkbox',checked=False,id='a',value='x')], None), [])\ncheck('checked', solve([dict(disabled=False,name='a',type='checkbox',checked=True,id='a',value='x')], None), [('a', 'x')])\ncheck('other submit', solve([dict(disabled=False,name='a',type='submit',checked=False,id='other',value='x')], 'actual'), [])\ncheck('actual submit', solve([dict(disabled=False,name='a',type='submit',checked=False,id='actual',value='x')], 'actual'), [('a', 'x')])\ncheck('multiple', solve([dict(disabled=False,name='a',type='multiple',checked=False,id='a',value=['x','x','y'])], None), [('a', 'x'), ('a', 'x'), ('a', 'y')])\ncheck('parameterized submission value', solve([dict(disabled=False,name='a',type='text',checked=False,id='a',value=N)],None), [('a',N)])\nfor repetition in range(N):\n    check('repeat multiple', solve([dict(disabled=False,name='a',type='multiple',checked=False,id='a',value=['x','x','y'])], None), [('a', 'x'), ('a', 'x'), ('a', 'y')])\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":"58331d92629188ea176faa359d5565b75ab8b5f35eebeddaf435ad9467abcc84","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(controls, submitter):\n    pairs = []\n    for c in controls:\n        if False: continue\n        if not c['name']: continue\n        if c['type'] in ('checkbox', 'radio') and not c['checked']: continue\n        if c['type'] == 'submit' and c['id'] != submitter: continue\n        values = c['value'] if c['type'] == 'multiple' else [c['value']]\n        pairs.extend((c['name'], value) for value in values)\n    return pairs\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('disabled', solve([dict(disabled=True,name='a',type='text',checked=False,id='a',value='x')], None), [])\ncheck('unnamed', solve([dict(disabled=False,name='',type='text',checked=False,id='a',value='x')], None), [])\ncheck('unchecked', solve([dict(disabled=False,name='a',type='checkbox',checked=False,id='a',value='x')], None), [])\ncheck('checked', solve([dict(disabled=False,name='a',type='checkbox',checked=True,id='a',value='x')], None), [('a', 'x')])\ncheck('other submit', solve([dict(disabled=False,name='a',type='submit',checked=False,id='other',value='x')], 'actual'), [])\ncheck('actual submit', solve([dict(disabled=False,name='a',type='submit',checked=False,id='actual',value='x')], 'actual'), [('a', 'x')])\ncheck('multiple', solve([dict(disabled=False,name='a',type='multiple',checked=False,id='a',value=['x','x','y'])], None), [('a', 'x'), ('a', 'x'), ('a', 'y')])\ncheck('parameterized submission value', solve([dict(disabled=False,name='a',type='text',checked=False,id='a',value=N)],None), [('a',N)])\nfor repetition in range(N):\n    check('repeat multiple', solve([dict(disabled=False,name='a',type='multiple',checked=False,id='a',value=['x','x','y'])], None), [('a', 'x'), ('a', 'x'), ('a', 'y')])\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":"847e1bce37bb83205226fee1e23a56c7104d6a89e068f21e74939db3064a37d5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(controls, submitter):\n    pairs = []\n    for c in controls:\n        if c['disabled']: continue\n        if not c['name']: continue\n        if c['type'] in ('checkbox', 'radio') and not c['checked']: continue\n        if c['type'] == 'submit' and c['id'] != submitter: continue\n        values = c['value'] if c['type'] == 'multiple' else [c['value']]\n        pairs.extend((c['name'], value) for value in values)\n    return pairs\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('disabled', solve([dict(disabled=True,name='a',type='text',checked=False,id='a',value='x')], None), [])\ncheck('unnamed', solve([dict(disabled=False,name='',type='text',checked=False,id='a',value='x')], None), [])\ncheck('unchecked', solve([dict(disabled=False,name='a',type='checkbox',checked=False,id='a',value='x')], None), [])\ncheck('checked', solve([dict(disabled=False,name='a',type='checkbox',checked=True,id='a',value='x')], None), [('a', 'x')])\ncheck('other submit', solve([dict(disabled=False,name='a',type='submit',checked=False,id='other',value='x')], 'actual'), [])\ncheck('actual submit', solve([dict(disabled=False,name='a',type='submit',checked=False,id='actual',value='x')], 'actual'), [('a', 'x')])\ncheck('multiple', solve([dict(disabled=False,name='a',type='multiple',checked=False,id='a',value=['x','x','y'])], None), [('a', 'x'), ('a', 'x'), ('a', 'y')])\ncheck('parameterized submission value', solve([dict(disabled=False,name='a',type='text',checked=False,id='a',value=N)],None), [('a',N)])\nfor repetition in range(N):\n    check('repeat multiple', solve([dict(disabled=False,name='a',type='multiple',checked=False,id='a',value=['x','x','y'])], None), [('a', 'x'), ('a', 'x'), ('a', 'y')])\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-serialize-disabled","generated_at":"2026-09-29T14:38:21.743639+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of successful form control collection; this isolates one interface invariant without requiring a browser.","repair":"Implement the disabled operation as `if c['disabled']: continue`.","root_cause":"The disabled operation uses `if False: continue` where the contract requires `if c['disabled']: continue`.","sha256":"89368b05587e918dd44beca3410a9dc5144740c959429e1bb0944af85af05555","title":"Successful form control collection: Disabled field values are submitted · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.767,"exit_code":1,"observations":[{"actual":[["a","x"]],"check":"disabled","expected":[],"passed":false},{"actual":[],"check":"unnamed","expected":[],"passed":true},{"actual":[],"check":"unchecked","expected":[],"passed":true},{"actual":[],"check":"checked","expected":[["a","x"]],"passed":false},{"actual":[],"check":"other submit","expected":[],"passed":true},{"actual":[],"check":"actual submit","expected":[["a","x"]],"passed":false},{"actual":[],"check":"multiple","expected":[["a","x"],["a","x"],["a","y"]],"passed":false},{"actual":[],"check":"parameterized submission value","expected":[["a",1]],"passed":false},{"actual":[],"check":"repeat multiple","expected":[["a","x"],["a","x"],["a","y"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disabled\", \"actual\": [[\"a\", \"x\"]], \"expected\": [], \"passed\": false}, {\"check\": \"unnamed\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unchecked\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"checked\", \"actual\": [], \"expected\": [[\"a\", \"x\"]], \"passed\": false}, {\"check\": \"other submit\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"actual submit\", \"actual\": [], \"expected\": [[\"a\", \"x\"]], \"passed\": false}, {\"check\": \"multiple\", \"actual\": [], \"expected\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"passed\": false}, {\"check\": \"parameterized submission value\", \"actual\": [], \"expected\": [[\"a\", 1]], \"passed\": false}, {\"check\": \"repeat multiple\", \"actual\": [], \"expected\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":36.5,"exit_code":1,"observations":[{"actual":[["a","x"]],"check":"disabled","expected":[],"passed":false},{"actual":[],"check":"unnamed","expected":[],"passed":true},{"actual":[],"check":"unchecked","expected":[],"passed":true},{"actual":[["a","x"]],"check":"checked","expected":[["a","x"]],"passed":true},{"actual":[],"check":"other submit","expected":[],"passed":true},{"actual":[["a","x"]],"check":"actual submit","expected":[["a","x"]],"passed":true},{"actual":[["a","x"],["a","x"],["a","y"]],"check":"multiple","expected":[["a","x"],["a","x"],["a","y"]],"passed":true},{"actual":[["a",1]],"check":"parameterized submission value","expected":[["a",1]],"passed":true},{"actual":[["a","x"],["a","x"],["a","y"]],"check":"repeat multiple","expected":[["a","x"],["a","x"],["a","y"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disabled\", \"actual\": [[\"a\", \"x\"]], \"expected\": [], \"passed\": false}, {\"check\": \"unnamed\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unchecked\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"checked\", \"actual\": [[\"a\", \"x\"]], \"expected\": [[\"a\", \"x\"]], \"passed\": true}, {\"check\": \"other submit\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"actual submit\", \"actual\": [[\"a\", \"x\"]], \"expected\": [[\"a\", \"x\"]], \"passed\": true}, {\"check\": \"multiple\", \"actual\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"expected\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"passed\": true}, {\"check\": \"parameterized submission value\", \"actual\": [[\"a\", 1]], \"expected\": [[\"a\", 1]], \"passed\": true}, {\"check\": \"repeat multiple\", \"actual\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"expected\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":37.136,"exit_code":0,"observations":[{"actual":[],"check":"disabled","expected":[],"passed":true},{"actual":[],"check":"unnamed","expected":[],"passed":true},{"actual":[],"check":"unchecked","expected":[],"passed":true},{"actual":[["a","x"]],"check":"checked","expected":[["a","x"]],"passed":true},{"actual":[],"check":"other submit","expected":[],"passed":true},{"actual":[["a","x"]],"check":"actual submit","expected":[["a","x"]],"passed":true},{"actual":[["a","x"],["a","x"],["a","y"]],"check":"multiple","expected":[["a","x"],["a","x"],["a","y"]],"passed":true},{"actual":[["a",1]],"check":"parameterized submission value","expected":[["a",1]],"passed":true},{"actual":[["a","x"],["a","x"],["a","y"]],"check":"repeat multiple","expected":[["a","x"],["a","x"],["a","y"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disabled\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unnamed\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"unchecked\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"checked\", \"actual\": [[\"a\", \"x\"]], \"expected\": [[\"a\", \"x\"]], \"passed\": true}, {\"check\": \"other submit\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"actual submit\", \"actual\": [[\"a\", \"x\"]], \"expected\": [[\"a\", \"x\"]], \"passed\": true}, {\"check\": \"multiple\", \"actual\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"expected\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"passed\": true}, {\"check\": \"parameterized submission value\", \"actual\": [[\"a\", 1]], \"expected\": [[\"a\", 1]], \"passed\": true}, {\"check\": \"repeat multiple\", \"actual\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"expected\": [[\"a\", \"x\"], [\"a\", \"x\"], [\"a\", \"y\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}