{"abstract":"Adam epsilon is scaled by the second-moment correction.","category":"Optimizer update state","checks":6,"contract":"Return lr*mhat/(sqrt(vhat)+eps), where mhat=m/(1-b1**t), vhat=v/(1-b2**t).","contract_signature":"m, v, lr, b1, b2, t, eps","evaluation_group":"optimizer-toy-adam-epsilon-placement","failed_approach":"Moving epsilon inside sqrt(vhat+eps) changes its units and the update magnitude.","family":"w3-optimizer-update-state-adam-epsilon-placement","id":"FA-98981","implementations":{"attempt":{"sha256":"73fffa5702539e2197e5e27273c163dcd6eb293ca27bd2ddc3eeaddfaf93a5dc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(m, v, lr, b1, b2, t, eps):\n    mh=m/(1-b1**t); vh=v/(1-b2**t)\n    return lr*mh/((vh+eps)**0.5)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('unit corrected root',solve(1,2,1,0.5,0.5,1,1),2/3)\ncheck('epsilon matters',solve(2,8,1,0.5,0.5,1,1),4/5)\ncheck('zero epsilon',solve(1,8,0.5,0.5,0.5,1,0),0.25)\ncheck('rate scales result',solve(1,2,2,0.5,0.5,1,1),4/3)\ncheck('zero first moment',solve(0,2,3,0.5,0.5,1,0.25),0)\ncheck('later step',solve(2,3,1,0.5,0.5,2,1),(8/3)/3)\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":"fbbfc1574a2f08dd2e809b0130d3f001c9f624427117fa9b5c29ec44f5b30cac","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(m, v, lr, b1, b2, t, eps):\n    mh=m/(1-b1**t); vh=v/(1-b2**t)\n    return lr*mh/(vh**0.5+eps/(1-b2**t))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('unit corrected root',solve(1,2,1,0.5,0.5,1,1),2/3)\ncheck('epsilon matters',solve(2,8,1,0.5,0.5,1,1),4/5)\ncheck('zero epsilon',solve(1,8,0.5,0.5,0.5,1,0),0.25)\ncheck('rate scales result',solve(1,2,2,0.5,0.5,1,1),4/3)\ncheck('zero first moment',solve(0,2,3,0.5,0.5,1,0.25),0)\ncheck('later step',solve(2,3,1,0.5,0.5,2,1),(8/3)/3)\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-adam-epsilon-placement","generated_at":"2026-09-30T16:48:18.999723+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":"The denominator divides epsilon by the second-moment correction factor, changing its configured magnitude.","sha256":"acda12c2c8c815918a9e4a180c7ce1eb06a2d5731f2860b0af89c413f5fed12d","title":"Adam epsilon is scaled by the second-moment correction · case 01","variant":1,"variant_policy":"The same explicitly authored fixtures repeat across all five numbered records; runtime N is unused. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":31.39,"exit_code":1,"observations":[{"actual":0.8944271909999159,"check":"unit corrected root","expected":0.6666666666666666,"passed":false},{"actual":0.9701425001453319,"check":"epsilon matters","expected":0.8,"passed":false},{"actual":0.25,"check":"zero epsilon","expected":0.25,"passed":true},{"actual":1.7888543819998317,"check":"rate scales result","expected":1.3333333333333333,"passed":false},{"actual":0.0,"check":"zero first moment","expected":0,"passed":true},{"actual":1.1925695879998877,"check":"later step","expected":0.8888888888888888,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"unit corrected root\", \"actual\": 0.8944271909999159, \"expected\": 0.6666666666666666, \"passed\": false}, {\"check\": \"epsilon matters\", \"actual\": 0.9701425001453319, \"expected\": 0.8, \"passed\": false}, {\"check\": \"zero epsilon\", \"actual\": 0.25, \"expected\": 0.25, \"passed\": true}, {\"check\": \"rate scales result\", \"actual\": 1.7888543819998317, \"expected\": 1.3333333333333333, \"passed\": false}, {\"check\": \"zero first moment\", \"actual\": 0.0, \"expected\": 0, \"passed\": true}, {\"check\": \"later step\", \"actual\": 1.1925695879998877, \"expected\": 0.8888888888888888, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":31.722,"exit_code":1,"observations":[{"actual":0.5,"check":"unit corrected root","expected":0.6666666666666666,"passed":false},{"actual":0.6666666666666666,"check":"epsilon matters","expected":0.8,"passed":false},{"actual":0.25,"check":"zero epsilon","expected":0.25,"passed":true},{"actual":1.0,"check":"rate scales result","expected":1.3333333333333333,"passed":false},{"actual":0.0,"check":"zero first moment","expected":0,"passed":true},{"actual":0.8,"check":"later step","expected":0.8888888888888888,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"unit corrected root\", \"actual\": 0.5, \"expected\": 0.6666666666666666, \"passed\": false}, {\"check\": \"epsilon matters\", \"actual\": 0.6666666666666666, \"expected\": 0.8, \"passed\": false}, {\"check\": \"zero epsilon\", \"actual\": 0.25, \"expected\": 0.25, \"passed\": true}, {\"check\": \"rate scales result\", \"actual\": 1.0, \"expected\": 1.3333333333333333, \"passed\": false}, {\"check\": \"zero first moment\", \"actual\": 0.0, \"expected\": 0, \"passed\": true}, {\"check\": \"later step\", \"actual\": 0.8, \"expected\": 0.8888888888888888, \"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."}}