{"abstract":"Collective slot IDs are replaced by row positions.","category":"Distributed training aggregation","checks":6,"contract":"Rows [slot,worker,value]; return sorted [slot,sum] pairs.","contract_signature":"rows","evaluation_group":"w3-dta-collective-slot","failed_approach":"Using enumeration position as the slot key conflates shuffled payload lists.","family":"w3-distributed-training-aggregation-collective-slot","id":"FA-99316","implementations":{"attempt":{"sha256":"7e104a87e34fc4a6ef492c45c8b755655c9d358fdf1f00d3d70f270f35f95b3f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    d={}\n    for i,(s,w,v) in enumerate(rows): d[i]=d.get(i,0)+v\n    return [[i,d[i]] for i in sorted(d)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr=[[2,'a',N],[0,'a',2*N],[2,'b',3*N]]\ncheck('shuffled slot ids',solve(r),[[0,2*N],[2,4*N]])\ncheck('empty',solve([]),[])\ncheck('single slot',solve([[N,'a',N]]),[[N,N]])\ncheck('negative sum',solve([[1,'a',-N],[1,'b',N]]),[[1,0]])\ncheck('noncontiguous slots',solve([[5,'a',2],[2,'b',4]]),[[2,4],[5,2]])\ncheck('three workers',solve([[N,'a',N],[N,'b',2],[N,'c',3]]),[[N,N+5]])\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":"88e5819b1daab39575ef01e8f12060b9e8cbb358ba5eaeeadf43d3d75b684ac7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rows):\n    return [[i,sum(r[2] for r in rows if r[0]==i)] for i in range(len(rows))]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr=[[2,'a',N],[0,'a',2*N],[2,'b',3*N]]\ncheck('shuffled slot ids',solve(r),[[0,2*N],[2,4*N]])\ncheck('empty',solve([]),[])\ncheck('single slot',solve([[N,'a',N]]),[[N,N]])\ncheck('negative sum',solve([[1,'a',-N],[1,'b',N]]),[[1,0]])\ncheck('noncontiguous slots',solve([[5,'a',2],[2,'b',4]]),[[2,4],[5,2]])\ncheck('three workers',solve([[N,'a',N],[N,'b',2],[N,'c',3]]),[[N,N+5]])\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":"Inputs are already materialized Python values from a fixed toy collective; no transport, failure recovery, optimizer state, or real model behavior is represented. 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":"w3-distributed-training-aggregation-collective-slot","generated_at":"2026-09-30T16:48:22.633640+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A toy distributed-training contract makes replica and shard contribution rules explicit without claiming framework compatibility or performance.","root_cause":"The reducer constructs slot IDs from the number and order of received rows instead of using declared slot IDs.","sha256":"96f1d31627bb0064f11579155c0bb87913cf01a15ad42e04a9706c894ec7af3e","title":"Collective slot IDs are replaced by row positions · case 01","variant":1,"variant_policy":"The fixture code references N, supplied as 1 through 5. Fixed boundary checks may repeat. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":28.073,"exit_code":1,"observations":[{"actual":[[0,1],[1,2],[2,3]],"check":"shuffled slot ids","expected":[[0,2],[2,4]],"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[[0,1]],"check":"single slot","expected":[[1,1]],"passed":false},{"actual":[[0,-1],[1,1]],"check":"negative sum","expected":[[1,0]],"passed":false},{"actual":[[0,2],[1,4]],"check":"noncontiguous slots","expected":[[2,4],[5,2]],"passed":false},{"actual":[[0,1],[1,2],[2,3]],"check":"three workers","expected":[[1,6]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"shuffled slot ids\", \"actual\": [[0, 1], [1, 2], [2, 3]], \"expected\": [[0, 2], [2, 4]], \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"single slot\", \"actual\": [[0, 1]], \"expected\": [[1, 1]], \"passed\": false}, {\"check\": \"negative sum\", \"actual\": [[0, -1], [1, 1]], \"expected\": [[1, 0]], \"passed\": false}, {\"check\": \"noncontiguous slots\", \"actual\": [[0, 2], [1, 4]], \"expected\": [[2, 4], [5, 2]], \"passed\": false}, {\"check\": \"three workers\", \"actual\": [[0, 1], [1, 2], [2, 3]], \"expected\": [[1, 6]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":27.56,"exit_code":1,"observations":[{"actual":[[0,2],[1,0],[2,4]],"check":"shuffled slot ids","expected":[[0,2],[2,4]],"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[[0,0]],"check":"single slot","expected":[[1,1]],"passed":false},{"actual":[[0,0],[1,0]],"check":"negative sum","expected":[[1,0]],"passed":false},{"actual":[[0,0],[1,0]],"check":"noncontiguous slots","expected":[[2,4],[5,2]],"passed":false},{"actual":[[0,0],[1,6],[2,0]],"check":"three workers","expected":[[1,6]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"shuffled slot ids\", \"actual\": [[0, 2], [1, 0], [2, 4]], \"expected\": [[0, 2], [2, 4]], \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"single slot\", \"actual\": [[0, 0]], \"expected\": [[1, 1]], \"passed\": false}, {\"check\": \"negative sum\", \"actual\": [[0, 0], [1, 0]], \"expected\": [[1, 0]], \"passed\": false}, {\"check\": \"noncontiguous slots\", \"actual\": [[0, 0], [1, 0]], \"expected\": [[2, 4], [5, 2]], \"passed\": false}, {\"check\": \"three workers\", \"actual\": [[0, 0], [1, 6], [2, 0]], \"expected\": [[1, 6]], \"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."}}