{"abstract":"Scaled gradients are averaged before unscaling.","category":"Gradient accumulation weighting","checks":8,"contract":"Scaled gradient sums share one positive scale and one example count. Sum, unscale, and normalize; zero count or zero scale returns zero.","contract_signature":"scaled_sums, scale, count","evaluation_group":"gradient-accumulation-loss_scale_common","failed_approach":"Averaging unscaled microbatch means fails when microbatch counts differ.","family":"w3-gradient-accumulation-weighting-loss-scale-common","id":"FA-98891","implementations":{"attempt":{"sha256":"02dc9e238391c1edb3c67fdc92cd4def6244c6a5a6601152e25968f8491500ff","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(scaled_sums, scale, count):\n    return sum(s / scale for s in scaled_sums) / max(1,len(scaled_sums)) if scaled_sums else 0\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('scale eight',solve([16*N,32*N],8,2),3*N)\ncheck('scale one',solve([2*N,4*N],1,2),3*N)\ncheck('single',solve([20*N],4,1),5*N)\ncheck('empty',solve([],8,0),0)\ncheck('zero gradient',solve([0,16*N],8,2),N)\ncheck('negative sum',solve([8*N,-4*N],4,2),N/2)\ncheck('scale two',solve([6*N,10*N],2,4),2*N)\ncheck('unequal counts',solve([8*N,48*N],8,4),1.75*N)\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":"6827dea195aeefe4d93b63af73fc058d24e7319a71f202d8f1ced57abf8ab60a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(scaled_sums, scale, count):\n    return sum(scaled_sums) / count if count else 0\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('scale eight',solve([16*N,32*N],8,2),3*N)\ncheck('scale one',solve([2*N,4*N],1,2),3*N)\ncheck('single',solve([20*N],4,1),5*N)\ncheck('empty',solve([],8,0),0)\ncheck('zero gradient',solve([0,16*N],8,2),N)\ncheck('negative sum',solve([8*N,-4*N],4,2),N/2)\ncheck('scale two',solve([6*N,10*N],2,4),2*N)\ncheck('unequal counts',solve([8*N,48*N],8,4),1.75*N)\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 scalar or short-list summaries and do not model autodiff, devices, or an optimizer. 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-gradient-accumulation-weighting-loss-scale-common","generated_at":"2026-09-30T16:48:18.065531+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic toy model isolates one local accumulation contract.","root_cause":"The broken path sums scaled values without undoing the common loss scale.","sha256":"9f986ba0415027059b5d1503bcaf626da6d31da8b3e5c84b1f8d537d9dea01c3","title":"Scaled gradients are averaged before unscaling · 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":33.151,"exit_code":1,"observations":[{"actual":3.0,"check":"scale eight","expected":3,"passed":true},{"actual":3.0,"check":"scale one","expected":3,"passed":true},{"actual":5.0,"check":"single","expected":5,"passed":true},{"actual":0,"check":"empty","expected":0,"passed":true},{"actual":1.0,"check":"zero gradient","expected":1,"passed":true},{"actual":0.5,"check":"negative sum","expected":0.5,"passed":true},{"actual":4.0,"check":"scale two","expected":2,"passed":false},{"actual":3.5,"check":"unequal counts","expected":1.75,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"scale eight\", \"actual\": 3.0, \"expected\": 3, \"passed\": true}, {\"check\": \"scale one\", \"actual\": 3.0, \"expected\": 3, \"passed\": true}, {\"check\": \"single\", \"actual\": 5.0, \"expected\": 5, \"passed\": true}, {\"check\": \"empty\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero gradient\", \"actual\": 1.0, \"expected\": 1, \"passed\": true}, {\"check\": \"negative sum\", \"actual\": 0.5, \"expected\": 0.5, \"passed\": true}, {\"check\": \"scale two\", \"actual\": 4.0, \"expected\": 2, \"passed\": false}, {\"check\": \"unequal counts\", \"actual\": 3.5, \"expected\": 1.75, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":29.522,"exit_code":1,"observations":[{"actual":24.0,"check":"scale eight","expected":3,"passed":false},{"actual":3.0,"check":"scale one","expected":3,"passed":true},{"actual":20.0,"check":"single","expected":5,"passed":false},{"actual":0,"check":"empty","expected":0,"passed":true},{"actual":8.0,"check":"zero gradient","expected":1,"passed":false},{"actual":2.0,"check":"negative sum","expected":0.5,"passed":false},{"actual":4.0,"check":"scale two","expected":2,"passed":false},{"actual":14.0,"check":"unequal counts","expected":1.75,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"scale eight\", \"actual\": 24.0, \"expected\": 3, \"passed\": false}, {\"check\": \"scale one\", \"actual\": 3.0, \"expected\": 3, \"passed\": true}, {\"check\": \"single\", \"actual\": 20.0, \"expected\": 5, \"passed\": false}, {\"check\": \"empty\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"zero gradient\", \"actual\": 8.0, \"expected\": 1, \"passed\": false}, {\"check\": \"negative sum\", \"actual\": 2.0, \"expected\": 0.5, \"passed\": false}, {\"check\": \"scale two\", \"actual\": 4.0, \"expected\": 2, \"passed\": false}, {\"check\": \"unequal counts\", \"actual\": 14.0, \"expected\": 1.75, \"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."}}