{"abstract":"Missing gradient is confused with a zero gradient.","category":"Optimizer update state","checks":6,"contract":"present=True denotes an observed zero gradient: halve m and v and leave p unchanged. present=False denotes no observation: preserve all three values.","contract_signature":"p, m, v, present","evaluation_group":"optimizer-toy-missing-gradient-state","failed_approach":"Protecting the first moment for missing observations still decays the variance state on a skipped update.","family":"w3-optimizer-update-state-missing-gradient-state","id":"FA-99021","implementations":{"attempt":{"sha256":"23efefa42b33d8ec1dd2fbb767f8f0ed61fbf10723d57d0d734d355f74b02954","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p, m, v, present):\n    return [p,m,0.5*v] if not present else [p,0.5*m,0.5*v]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('absent keeps moments',solve(3,4,8,False),[3,4,8])\ncheck('present zero observation',solve(3,4,8,True),[3,2,4])\ncheck('absent zero state',solve(0,0,0,False),[0,0,0])\ncheck('absent negative parameter',solve(-N,2,6,False),[-N,2,6])\ncheck('present singleton',solve(5,0,4,True),[5,0,2])\ncheck('present nonzero',solve(1,-2,10,True),[1,-1,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":"c85cfff51163ecbec13d7bba4983fd63100e3bd38865f6fff14be8168953ecb3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p, m, v, present):\n    nm=0.5*m; nv=0.5*v\n    return [p,nm,nv]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('absent keeps moments',solve(3,4,8,False),[3,4,8])\ncheck('present zero observation',solve(3,4,8,True),[3,2,4])\ncheck('absent zero state',solve(0,0,0,False),[0,0,0])\ncheck('absent negative parameter',solve(-N,2,6,False),[-N,2,6])\ncheck('present singleton',solve(5,0,4,True),[5,0,2])\ncheck('present nonzero',solve(1,-2,10,True),[1,-1,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":"These are deterministic scalar or short-vector toy contracts, not claims about production optimizer APIs or training quality. 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-optimizer-update-state-missing-gradient-state","generated_at":"2026-09-30T16:48:19.455950+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Optimizer implementations must associate each parameter with its own mathematically specified update state.","root_cause":"An absent gradient decays moments as though an observed zero were supplied.","sha256":"36a004f3f7e700de77849efbda13e1c2ac7d1a627b603fc2338300e2c45fb4d5","title":"Missing gradient is confused with a zero gradient · 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.373,"exit_code":1,"observations":[{"actual":[3,4,4.0],"check":"absent keeps moments","expected":[3,4,8],"passed":false},{"actual":[3,2.0,4.0],"check":"present zero observation","expected":[3,2,4],"passed":true},{"actual":[0,0,0.0],"check":"absent zero state","expected":[0,0,0],"passed":true},{"actual":[-1,2,3.0],"check":"absent negative parameter","expected":[-1,2,6],"passed":false},{"actual":[5,0.0,2.0],"check":"present singleton","expected":[5,0,2],"passed":true},{"actual":[1,-1.0,5.0],"check":"present nonzero","expected":[1,-1,5],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"absent keeps moments\", \"actual\": [3, 4, 4.0], \"expected\": [3, 4, 8], \"passed\": false}, {\"check\": \"present zero observation\", \"actual\": [3, 2.0, 4.0], \"expected\": [3, 2, 4], \"passed\": true}, {\"check\": \"absent zero state\", \"actual\": [0, 0, 0.0], \"expected\": [0, 0, 0], \"passed\": true}, {\"check\": \"absent negative parameter\", \"actual\": [-1, 2, 3.0], \"expected\": [-1, 2, 6], \"passed\": false}, {\"check\": \"present singleton\", \"actual\": [5, 0.0, 2.0], \"expected\": [5, 0, 2], \"passed\": true}, {\"check\": \"present nonzero\", \"actual\": [1, -1.0, 5.0], \"expected\": [1, -1, 5], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":28.39,"exit_code":1,"observations":[{"actual":[3,2.0,4.0],"check":"absent keeps moments","expected":[3,4,8],"passed":false},{"actual":[3,2.0,4.0],"check":"present zero observation","expected":[3,2,4],"passed":true},{"actual":[0,0.0,0.0],"check":"absent zero state","expected":[0,0,0],"passed":true},{"actual":[-1,1.0,3.0],"check":"absent negative parameter","expected":[-1,2,6],"passed":false},{"actual":[5,0.0,2.0],"check":"present singleton","expected":[5,0,2],"passed":true},{"actual":[1,-1.0,5.0],"check":"present nonzero","expected":[1,-1,5],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"absent keeps moments\", \"actual\": [3, 2.0, 4.0], \"expected\": [3, 4, 8], \"passed\": false}, {\"check\": \"present zero observation\", \"actual\": [3, 2.0, 4.0], \"expected\": [3, 2, 4], \"passed\": true}, {\"check\": \"absent zero state\", \"actual\": [0, 0.0, 0.0], \"expected\": [0, 0, 0], \"passed\": true}, {\"check\": \"absent negative parameter\", \"actual\": [-1, 1.0, 3.0], \"expected\": [-1, 2, 6], \"passed\": false}, {\"check\": \"present singleton\", \"actual\": [5, 0.0, 2.0], \"expected\": [5, 0, 2], \"passed\": true}, {\"check\": \"present nonzero\", \"actual\": [1, -1.0, 5.0], \"expected\": [1, -1, 5], \"passed\": true}], \"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."}}