{"abstract":"Inverse square root decay falls below base at warmup completion.","category":"Learning rate schedules","checks":6,"contract":"For positive step and warmup, return base*sqrt(warmup)/sqrt(max(step,warmup)).","contract_signature":"step, base, warmup","evaluation_group":"lr-schedule-inverse-square-root","failed_approach":"Using a linear denominator instead of a root still produces the wrong decay curve.","family":"w3-learning-rate-schedules-inverse-square-root","id":"FA-99071","implementations":{"attempt":{"sha256":"c8f338b325698c5c0e8b4eb74287c22375750ae39278a43077e7b6104fd6479f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(step, base, warmup):\n    import math\n    return base*math.sqrt(warmup)/max(step,warmup)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('past warmup',solve(16,8,4),4); check('at warmup',solve(4,6,4),6); check('before warmup',solve(1,10,9),10); check('one step',solve(1,9,1),9); check('large step',solve(25,5,1),1); check('fractional scale',solve(8,12,2),6)\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":"1ec0013845e7d1fb881306e1f56cdc9af08301a92574d414fc7c06b7dd70e748","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(step, base, warmup):\n    import math\n    return base/math.sqrt(max(step,warmup))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('past warmup',solve(16,8,4),4); check('at warmup',solve(4,6,4),6); check('before warmup',solve(1,10,9),10); check('one step',solve(1,9,1),9); check('large step',solve(25,5,1),1); check('fractional scale',solve(8,12,2),6)\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 toy scalar contracts with integer steps and finite parameters; they do not model framework defaults or optimizer state. 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-learning-rate-schedules-inverse-square-root","generated_at":"2026-09-30T16:48:19.910349+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic scalar schedule makes step-to-rate mapping explicit for a small training loop.","root_cause":"The schedule omits the square-root warmup scale needed to normalize its value at warmup.","sha256":"30f8361931eb765a67f31156db76d4548ea038a182ab810c029473e56eb74485","title":"Inverse square root decay falls below base at warmup completion · 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":30.195,"exit_code":1,"observations":[{"actual":1.0,"check":"past warmup","expected":4,"passed":false},{"actual":3.0,"check":"at warmup","expected":6,"passed":false},{"actual":3.3333333333333335,"check":"before warmup","expected":10,"passed":false},{"actual":9.0,"check":"one step","expected":9,"passed":true},{"actual":0.2,"check":"large step","expected":1,"passed":false},{"actual":2.121320343559643,"check":"fractional scale","expected":6,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"past warmup\", \"actual\": 1.0, \"expected\": 4, \"passed\": false}, {\"check\": \"at warmup\", \"actual\": 3.0, \"expected\": 6, \"passed\": false}, {\"check\": \"before warmup\", \"actual\": 3.3333333333333335, \"expected\": 10, \"passed\": false}, {\"check\": \"one step\", \"actual\": 9.0, \"expected\": 9, \"passed\": true}, {\"check\": \"large step\", \"actual\": 0.2, \"expected\": 1, \"passed\": false}, {\"check\": \"fractional scale\", \"actual\": 2.121320343559643, \"expected\": 6, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":26.065,"exit_code":1,"observations":[{"actual":2.0,"check":"past warmup","expected":4,"passed":false},{"actual":3.0,"check":"at warmup","expected":6,"passed":false},{"actual":3.3333333333333335,"check":"before warmup","expected":10,"passed":false},{"actual":9.0,"check":"one step","expected":9,"passed":true},{"actual":1.0,"check":"large step","expected":1,"passed":true},{"actual":4.242640687119285,"check":"fractional scale","expected":6,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"past warmup\", \"actual\": 2.0, \"expected\": 4, \"passed\": false}, {\"check\": \"at warmup\", \"actual\": 3.0, \"expected\": 6, \"passed\": false}, {\"check\": \"before warmup\", \"actual\": 3.3333333333333335, \"expected\": 10, \"passed\": false}, {\"check\": \"one step\", \"actual\": 9.0, \"expected\": 9, \"passed\": true}, {\"check\": \"large step\", \"actual\": 1.0, \"expected\": 1, \"passed\": true}, {\"check\": \"fractional scale\", \"actual\": 4.242640687119285, \"expected\": 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."}}