{"abstract":"All submit buttons contribute their values.","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":"Dropping all submit buttons loses the actual submitter intent.","family":"xi-form-serialize-submitter","id":"FA-8496","implementations":{"attempt":{"sha256":"2ebab4ad7d36246f08acc42931ed5469e34ff69bfaae422d5b3a92082f2c878c","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': 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":"ee0c819b4f79fc8022e6afd69aeb51a28764134a0b84a9d9cafbe90281de52fd","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 False: 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-submitter","generated_at":"2026-09-29T14:38:21.979073+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 submitter operation as `if c['type'] == 'submit' and c['id'] != submitter: continue`.","root_cause":"The submitter operation uses `if False: continue` where the contract requires `if c['type'] == 'submit' and c['id'] != submitter: continue`.","sha256":"4e323b563a076623480d924238957ce10fa1362f92ce3332bf660d00a84455b3","title":"Successful form control collection: All submit buttons contribute their values · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.443,"exit_code":1,"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":[],"check":"actual submit","expected":[["a","x"]],"passed":false},{"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\": [], \"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\": [], \"expected\": [[\"a\", \"x\"]], \"passed\": false}, {\"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"},"broken":{"elapsed_ms":40.237,"exit_code":1,"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":[["a","x"]],"check":"other submit","expected":[],"passed":false},{"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\": [], \"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\": [[\"a\", \"x\"]], \"expected\": [], \"passed\": false}, {\"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":40.537,"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"}