{"abstract":"A transition disappears while one of its spawned child tasks remains unresolved.","category":"Client state","checks":6,"contract":"A transition owns a set of child task identities. A finish/failure settles only its child; unknown or repeated completion cannot clear siblings; failures are reported separately from remaining work.","evaluation_group":"s3-client-state-transition-child-accounting","failed_approach":"The partial repair still violates at least one explicit regression oracle.","family":"s3-client-state-transition-child-accounting","id":"FA-24776","implementations":{"attempt":{"sha256":"7a714f7e74de78f490c5e1e391243d197cca72eb0b2a3068d417243e6e3f117d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    pending=set(); errors=[]\n    for kind,task in events:\n        if kind=='start': pending.add(task)\n        elif kind in ('finish','fail'): pending.clear()\n        if kind=='fail': errors.append(task)\n    return sorted(pending),errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('sibling remains', solve([('start','a'),('start','b'),('finish','a')]), (['b'],[]))\ncheck('failed child releases only itself', solve([('start','a'),('start','b'),('fail','a')]), (['b'],['a']))\ncheck('all finished', solve([('start','a'),('finish','a')]), ([],[]))\ncheck('unknown finish', solve([('start','a'),('finish','x')]), (['a'],[]))\ncheck('duplicate completion', solve([('start','a'),('finish','a'),('finish','a')]), ([],[]))\ncheck('parameterized children', solve([('start',str(i)) for i in range(N+1)]+[('finish','0')]), (sorted(str(i) for i in range(1,N+1)),[]))\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":"bff581dc6533c53aaa1838a4ab622b3091cd4eeb8d033aeea0f42861b8b55a20","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    pending=False; errors=[]\n    for kind,task in events:\n        pending=kind=='start'\n        if kind=='fail': errors.append(task)\n    return (['pending'] if pending else []),errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('sibling remains', solve([('start','a'),('start','b'),('finish','a')]), (['b'],[]))\ncheck('failed child releases only itself', solve([('start','a'),('start','b'),('fail','a')]), (['b'],['a']))\ncheck('all finished', solve([('start','a'),('finish','a')]), ([],[]))\ncheck('unknown finish', solve([('start','a'),('finish','x')]), (['a'],[]))\ncheck('duplicate completion', solve([('start','a'),('finish','a'),('finish','a')]), ([],[]))\ncheck('parameterized children', solve([('start',str(i)) for i in range(N+1)]+[('finish','0')]), (sorted(str(i) for i in range(1,N+1)),[]))\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":"752c3cc92c4b425ede403d81d66c73146dd134711aaf19b52609a869c35c635c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    pending=set(); errors=[]\n    for kind,task in events:\n        if kind=='start': pending.add(task)\n        elif kind=='finish': pending.discard(task)\n        elif kind=='fail': pending.discard(task); errors.append(task)\n    return sorted(pending),errors\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('sibling remains', solve([('start','a'),('start','b'),('finish','a')]), (['b'],[]))\ncheck('failed child releases only itself', solve([('start','a'),('start','b'),('fail','a')]), (['b'],['a']))\ncheck('all finished', solve([('start','a'),('finish','a')]), ([],[]))\ncheck('unknown finish', solve([('start','a'),('finish','x')]), (['a'],[]))\ncheck('duplicate completion', solve([('start','a'),('finish','a'),('finish','a')]), ([],[]))\ncheck('parameterized children', solve([('start',str(i)) for i in range(N+1)]+[('finish','0')]), (sorted(str(i) for i in range(1,N+1)),[]))\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 models the stated application policy only; no browser or framework conformance is claimed. 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":"s3-client-state-transition-child-accounting","generated_at":"2026-09-29T14:41:00.619942+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded offline client-state transition with explicit lifecycle inputs.","repair":"A transition owns a set of child task identities. A finish/failure settles only its child; unknown or repeated completion cannot clear siblings; failures are reported separately from remaining work.","root_cause":"The faulty implementation violates A transition owns a set of child task identities. A finish/failure settles only its child; unknown or repeated completion cannot clear siblings; failures are reported separately from remaining work.","sha256":"307298be94fd30590b13a410df1e86f58591209c1ac786b966c57208da9ece33","title":"A transition disappears while one of its spawned child tasks remains unresolved · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.378,"exit_code":1,"observations":[{"actual":[[],[]],"check":"sibling remains","expected":[["b"],[]],"passed":false},{"actual":[[],["a"]],"check":"failed child releases only itself","expected":[["b"],["a"]],"passed":false},{"actual":[[],[]],"check":"all finished","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"unknown finish","expected":[["a"],[]],"passed":false},{"actual":[[],[]],"check":"duplicate completion","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"parameterized children","expected":[["1"],[]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"sibling remains\", \"actual\": [[], []], \"expected\": [[\"b\"], []], \"passed\": false}, {\"check\": \"failed child releases only itself\", \"actual\": [[], [\"a\"]], \"expected\": [[\"b\"], [\"a\"]], \"passed\": false}, {\"check\": \"all finished\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"unknown finish\", \"actual\": [[], []], \"expected\": [[\"a\"], []], \"passed\": false}, {\"check\": \"duplicate completion\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"parameterized children\", \"actual\": [[], []], \"expected\": [[\"1\"], []], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.002,"exit_code":1,"observations":[{"actual":[[],[]],"check":"sibling remains","expected":[["b"],[]],"passed":false},{"actual":[[],["a"]],"check":"failed child releases only itself","expected":[["b"],["a"]],"passed":false},{"actual":[[],[]],"check":"all finished","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"unknown finish","expected":[["a"],[]],"passed":false},{"actual":[[],[]],"check":"duplicate completion","expected":[[],[]],"passed":true},{"actual":[[],[]],"check":"parameterized children","expected":[["1"],[]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"sibling remains\", \"actual\": [[], []], \"expected\": [[\"b\"], []], \"passed\": false}, {\"check\": \"failed child releases only itself\", \"actual\": [[], [\"a\"]], \"expected\": [[\"b\"], [\"a\"]], \"passed\": false}, {\"check\": \"all finished\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"unknown finish\", \"actual\": [[], []], \"expected\": [[\"a\"], []], \"passed\": false}, {\"check\": \"duplicate completion\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"parameterized children\", \"actual\": [[], []], \"expected\": [[\"1\"], []], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.384,"exit_code":0,"observations":[{"actual":[["b"],[]],"check":"sibling remains","expected":[["b"],[]],"passed":true},{"actual":[["b"],["a"]],"check":"failed child releases only itself","expected":[["b"],["a"]],"passed":true},{"actual":[[],[]],"check":"all finished","expected":[[],[]],"passed":true},{"actual":[["a"],[]],"check":"unknown finish","expected":[["a"],[]],"passed":true},{"actual":[[],[]],"check":"duplicate completion","expected":[[],[]],"passed":true},{"actual":[["1"],[]],"check":"parameterized children","expected":[["1"],[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"sibling remains\", \"actual\": [[\"b\"], []], \"expected\": [[\"b\"], []], \"passed\": true}, {\"check\": \"failed child releases only itself\", \"actual\": [[\"b\"], [\"a\"]], \"expected\": [[\"b\"], [\"a\"]], \"passed\": true}, {\"check\": \"all finished\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"unknown finish\", \"actual\": [[\"a\"], []], \"expected\": [[\"a\"], []], \"passed\": true}, {\"check\": \"duplicate completion\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}, {\"check\": \"parameterized children\", \"actual\": [[\"1\"], []], \"expected\": [[\"1\"], []], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}