{"abstract":"Momentum ignores the prior velocity.","category":"Optimizer update state","checks":6,"contract":"Return [new_parameter,new_velocity] for v_next=mu*v+g and p_next=p-lr*v_next.","contract_signature":"p, g, v, lr, mu","evaluation_group":"optimizer-toy-momentum-buffer","failed_approach":"Adding the previous velocity without its mu coefficient omits the specified decay of carried state.","family":"w3-optimizer-update-state-momentum-buffer","id":"FA-98946","implementations":{"attempt":{"sha256":"1e3458decf318018061b7d37de28387d1373dda92fc51a1ba233a5e041700cbc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p, g, v, lr, mu):\n    return [p-lr*(g+v),g+v]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('first step',solve(10,2,0,N,0.5),[10-2*N,2])\ncheck('carried velocity',solve(10,2,4,N,0.5),[10-N*4,4])\ncheck('negative gradient',solve(0,-2,4,1,0.5),[0,0])\ncheck('zero rate keeps state',solve(3,2,1,0,0.9),[3,2.9])\ncheck('zero momentum',solve(7,3,8,N,0),[7-3*N,3])\ncheck('zero gradient decays buffer',solve(5,0,4,1,0.5),[3,2])\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":"e167175a7205b0d8147e8ebd2ce7b5a3703ee32f7135d23b852fe5fa7fda477b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(p, g, v, lr, mu):\n    return [p-lr*g,g]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('first step',solve(10,2,0,N,0.5),[10-2*N,2])\ncheck('carried velocity',solve(10,2,4,N,0.5),[10-N*4,4])\ncheck('negative gradient',solve(0,-2,4,1,0.5),[0,0])\ncheck('zero rate keeps state',solve(3,2,1,0,0.9),[3,2.9])\ncheck('zero momentum',solve(7,3,8,N,0),[7-3*N,3])\ncheck('zero gradient decays buffer',solve(5,0,4,1,0.5),[3,2])\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-momentum-buffer","generated_at":"2026-09-30T16:48:18.534850+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":"Only the current gradient contributes to the update.","sha256":"5e55c67a45554ba80cc7a3e9eefb5423a040ae98e06699c71297912229045457","title":"Momentum ignores the prior velocity · 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":29.428,"exit_code":1,"observations":[{"actual":[8,2],"check":"first step","expected":[8,2],"passed":true},{"actual":[4,6],"check":"carried velocity","expected":[6,4],"passed":false},{"actual":[-2,2],"check":"negative gradient","expected":[0,0],"passed":false},{"actual":[3,3],"check":"zero rate keeps state","expected":[3,2.9],"passed":false},{"actual":[-4,11],"check":"zero momentum","expected":[4,3],"passed":false},{"actual":[1,4],"check":"zero gradient decays buffer","expected":[3,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"first step\", \"actual\": [8, 2], \"expected\": [8, 2], \"passed\": true}, {\"check\": \"carried velocity\", \"actual\": [4, 6], \"expected\": [6, 4], \"passed\": false}, {\"check\": \"negative gradient\", \"actual\": [-2, 2], \"expected\": [0, 0], \"passed\": false}, {\"check\": \"zero rate keeps state\", \"actual\": [3, 3], \"expected\": [3, 2.9], \"passed\": false}, {\"check\": \"zero momentum\", \"actual\": [-4, 11], \"expected\": [4, 3], \"passed\": false}, {\"check\": \"zero gradient decays buffer\", \"actual\": [1, 4], \"expected\": [3, 2], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":26.837,"exit_code":1,"observations":[{"actual":[8,2],"check":"first step","expected":[8,2],"passed":true},{"actual":[8,2],"check":"carried velocity","expected":[6,4],"passed":false},{"actual":[2,-2],"check":"negative gradient","expected":[0,0],"passed":false},{"actual":[3,2],"check":"zero rate keeps state","expected":[3,2.9],"passed":false},{"actual":[4,3],"check":"zero momentum","expected":[4,3],"passed":true},{"actual":[5,0],"check":"zero gradient decays buffer","expected":[3,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"first step\", \"actual\": [8, 2], \"expected\": [8, 2], \"passed\": true}, {\"check\": \"carried velocity\", \"actual\": [8, 2], \"expected\": [6, 4], \"passed\": false}, {\"check\": \"negative gradient\", \"actual\": [2, -2], \"expected\": [0, 0], \"passed\": false}, {\"check\": \"zero rate keeps state\", \"actual\": [3, 2], \"expected\": [3, 2.9], \"passed\": false}, {\"check\": \"zero momentum\", \"actual\": [4, 3], \"expected\": [4, 3], \"passed\": true}, {\"check\": \"zero gradient decays buffer\", \"actual\": [5, 0], \"expected\": [3, 2], \"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."}}