{"abstract":"A skater credited with a shootout goal earns 3 extra points.","category":"Fantasy sports scoring","checks":7,"contract":"Score a hockey skater in tenths: goal 3, assist 2, plus/minus 1 per unit (negative allowed), shot on goal 0.4, power-play points (goals plus assists) 0.5 extra each, short-handed points 1 extra each, and a single 2 point hat-trick bonus for three or more goals. Shootout goals (so_g) are not goals and score nothing.","contract_signature":"g","evaluation_group":"w2-fantasy-sports-scoring-skater-line","failed_approach":"Letting shootout goals complete a hat trick still credits them.","family":"w2-fantasy-sports-scoring-skater-line-shootout-goals","id":"FA-85151","implementations":{"attempt":{"sha256":"62c8182c91db15dfc8b6a24f853c9b81807a1b4985358c6ce7093dbb049fc5a0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(g):\n    pts = g['g'] * 30 + g['a'] * 20 + g['pm'] * 10 + g['sog'] * 4\n    pts += (g['ppg'] + g['ppa']) * 5\n    pts += (g['shg'] + g['sha']) * 10\n    if g['g'] + g['so_g'] >= 3:\n        pts += 20\n    return pts\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: shootout goals',\n   [{'a': 1, 'g': 0, 'pm': 0, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 42),\n  ('partial repair probe: shootout goals',\n   [{'a': 2, 'g': 2, 'pm': 1, 'ppa': 0, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 139),\n  ('second regression',\n   [{'a': 2, 'g': 1, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 6}], 89),\n  ('normal control 1',\n   [{'a': 0, 'g': 3, 'pm': 3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 6}], 194),\n  ('normal control 2',\n   [{'a': 1, 'g': 4, 'pm': -2, 'ppa': 1, 'ppg': 3, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 4}], 186),\n  ('normal control 3',\n   [{'a': 2, 'g': 3, 'pm': 1, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 7}], 223),\n  ('normal control 4',\n   [{'a': 1, 'g': 4, 'pm': 2, 'ppa': 1, 'ppg': 4, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 4}], 221)],\n [('regression: shootout goals',\n   [{'a': 3, 'g': 1, 'pm': 1, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 4}], 131),\n  ('partial repair probe: shootout goals',\n   [{'a': 1, 'g': 2, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 2, 'so_g': 1, 'sog': 3}], 92),\n  ('second regression',\n   [{'a': 1, 'g': 0, 'pm': -1, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 3}], 27),\n  ('normal control 1',\n   [{'a': 0, 'g': 6, 'pm': 2, 'ppa': 1, 'ppg': 2, 'sha': 0, 'shg': 4, 'so_g': 0, 'sog': 8}], 307),\n  ('normal control 2',\n   [{'a': 3, 'g': 2, 'pm': 1, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 8}], 172),\n  ('normal control 3',\n   [{'a': 2, 'g': 3, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 3}], 152),\n  ('normal control 4',\n   [{'a': 1, 'g': 6, 'pm': 0, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 7}], 288)],\n [('regression: shootout goals',\n   [{'a': 3, 'g': 4, 'pm': 3, 'ppa': 2, 'ppg': 3, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 10}], 305),\n  ('partial repair probe: shootout goals',\n   [{'a': 2, 'g': 2, 'pm': 3, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 7}], 168),\n  ('second regression',\n   [{'a': 0, 'g': 3, 'pm': -1, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 134),\n  ('normal control 1',\n   [{'a': 2, 'g': 1, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 1}], 69),\n  ('normal control 2',\n   [{'a': 1, 'g': 2, 'pm': 1, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 5}], 130),\n  ('normal control 3',\n   [{'a': 0, 'g': 3, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 5}], 170),\n  ('normal control 4',\n   [{'a': 1, 'g': 2, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 134)],\n [('regression: shootout goals',\n   [{'a': 3, 'g': 0, 'pm': 3, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 1}], 104),\n  ('partial repair probe: shootout goals',\n   [{'a': 0, 'g': 2, 'pm': 0, 'ppa': 0, 'ppg': 1, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 2}], 93),\n  ('second regression',\n   [{'a': 3, 'g': 1, 'pm': 2, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 6}], 149),\n  ('normal control 1',\n   [{'a': 2, 'g': 0, 'pm': 0, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 0}], 40),\n  ('normal control 2',\n   [{'a': 3, 'g': 3, 'pm': 2, 'ppa': 1, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 7}], 238),\n  ('normal control 3',\n   [{'a': 0, 'g': 3, 'pm': 0, 'ppa': 2, 'ppg': 2, 'sha': 1, 'shg': 1, 'so_g': 0, 'sog': 7}], 178),\n  ('normal control 4',\n   [{'a': 2, 'g': 2, 'pm': 2, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 2}], 148)],\n [('regression: shootout goals',\n   [{'a': 1, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 4, 'so_g': 1, 'sog': 10}], 285),\n  ('partial repair probe: shootout goals',\n   [{'a': 2, 'g': 2, 'pm': 2, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 5}], 160),\n  ('second regression',\n   [{'a': 0, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 5, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 10}], 305),\n  ('normal control 1',\n   [{'a': 2, 'g': 6, 'pm': 2, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 6}], 324),\n  ('normal control 2',\n   [{'a': 0, 'g': 0, 'pm': -1, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 1}], -6),\n  ('normal control 3',\n   [{'a': 2, 'g': 2, 'pm': 2, 'ppa': 1, 'ppg': 1, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 5}], 160),\n  ('normal control 4',\n   [{'a': 1, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 2, 'sha': 0, 'shg': 2, 'so_g': 0, 'sog': 9}], 261)]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\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":"3da4e39ea3dfa64fa14c6981b46266def2194c41a3f419f403b50487b7b1d7ff","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(g):\n    pts = (g['g'] + g['so_g']) * 30 + g['a'] * 20 + g['pm'] * 10 + g['sog'] * 4\n    pts += (g['ppg'] + g['ppa']) * 5\n    pts += (g['shg'] + g['sha']) * 10\n    if g['g'] >= 3:\n        pts += 20\n    return pts\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: shootout goals',\n   [{'a': 1, 'g': 0, 'pm': 0, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 3}], 42),\n  ('partial repair probe: shootout goals',\n   [{'a': 2, 'g': 2, 'pm': 1, 'ppa': 0, 'ppg': 1, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 139),\n  ('second regression',\n   [{'a': 2, 'g': 1, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 6}], 89),\n  ('normal control 1',\n   [{'a': 0, 'g': 3, 'pm': 3, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 6}], 194),\n  ('normal control 2',\n   [{'a': 1, 'g': 4, 'pm': -2, 'ppa': 1, 'ppg': 3, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 4}], 186),\n  ('normal control 3',\n   [{'a': 2, 'g': 3, 'pm': 1, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 7}], 223),\n  ('normal control 4',\n   [{'a': 1, 'g': 4, 'pm': 2, 'ppa': 1, 'ppg': 4, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 4}], 221)],\n [('regression: shootout goals',\n   [{'a': 3, 'g': 1, 'pm': 1, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 4}], 131),\n  ('partial repair probe: shootout goals',\n   [{'a': 1, 'g': 2, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 2, 'so_g': 1, 'sog': 3}], 92),\n  ('second regression',\n   [{'a': 1, 'g': 0, 'pm': -1, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 3}], 27),\n  ('normal control 1',\n   [{'a': 0, 'g': 6, 'pm': 2, 'ppa': 1, 'ppg': 2, 'sha': 0, 'shg': 4, 'so_g': 0, 'sog': 8}], 307),\n  ('normal control 2',\n   [{'a': 3, 'g': 2, 'pm': 1, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 8}], 172),\n  ('normal control 3',\n   [{'a': 2, 'g': 3, 'pm': -2, 'ppa': 0, 'ppg': 0, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 3}], 152),\n  ('normal control 4',\n   [{'a': 1, 'g': 6, 'pm': 0, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 7}], 288)],\n [('regression: shootout goals',\n   [{'a': 3, 'g': 4, 'pm': 3, 'ppa': 2, 'ppg': 3, 'sha': 1, 'shg': 0, 'so_g': 1, 'sog': 10}], 305),\n  ('partial repair probe: shootout goals',\n   [{'a': 2, 'g': 2, 'pm': 3, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 7}], 168),\n  ('second regression',\n   [{'a': 0, 'g': 3, 'pm': -1, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 6}], 134),\n  ('normal control 1',\n   [{'a': 2, 'g': 1, 'pm': -2, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 1}], 69),\n  ('normal control 2',\n   [{'a': 1, 'g': 2, 'pm': 1, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 5}], 130),\n  ('normal control 3',\n   [{'a': 0, 'g': 3, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 5}], 170),\n  ('normal control 4',\n   [{'a': 1, 'g': 2, 'pm': 2, 'ppa': 0, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 6}], 134)],\n [('regression: shootout goals',\n   [{'a': 3, 'g': 0, 'pm': 3, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 1}], 104),\n  ('partial repair probe: shootout goals',\n   [{'a': 0, 'g': 2, 'pm': 0, 'ppa': 0, 'ppg': 1, 'sha': 1, 'shg': 1, 'so_g': 1, 'sog': 2}], 93),\n  ('second regression',\n   [{'a': 3, 'g': 1, 'pm': 2, 'ppa': 1, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 6}], 149),\n  ('normal control 1',\n   [{'a': 2, 'g': 0, 'pm': 0, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 0}], 40),\n  ('normal control 2',\n   [{'a': 3, 'g': 3, 'pm': 2, 'ppa': 1, 'ppg': 3, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 7}], 238),\n  ('normal control 3',\n   [{'a': 0, 'g': 3, 'pm': 0, 'ppa': 2, 'ppg': 2, 'sha': 1, 'shg': 1, 'so_g': 0, 'sog': 7}], 178),\n  ('normal control 4',\n   [{'a': 2, 'g': 2, 'pm': 2, 'ppa': 2, 'ppg': 0, 'sha': 0, 'shg': 1, 'so_g': 0, 'sog': 2}], 148)],\n [('regression: shootout goals',\n   [{'a': 1, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 0, 'sha': 1, 'shg': 4, 'so_g': 1, 'sog': 10}], 285),\n  ('partial repair probe: shootout goals',\n   [{'a': 2, 'g': 2, 'pm': 2, 'ppa': 2, 'ppg': 2, 'sha': 0, 'shg': 0, 'so_g': 1, 'sog': 5}], 160),\n  ('second regression',\n   [{'a': 0, 'g': 6, 'pm': 2, 'ppa': 2, 'ppg': 5, 'sha': 0, 'shg': 1, 'so_g': 1, 'sog': 10}], 305),\n  ('normal control 1',\n   [{'a': 2, 'g': 6, 'pm': 2, 'ppa': 1, 'ppg': 1, 'sha': 0, 'shg': 3, 'so_g': 0, 'sog': 6}], 324),\n  ('normal control 2',\n   [{'a': 0, 'g': 0, 'pm': -1, 'ppa': 0, 'ppg': 0, 'sha': 0, 'shg': 0, 'so_g': 0, 'sog': 1}], -6),\n  ('normal control 3',\n   [{'a': 2, 'g': 2, 'pm': 2, 'ppa': 1, 'ppg': 1, 'sha': 1, 'shg': 0, 'so_g': 0, 'sog': 5}], 160),\n  ('normal control 4',\n   [{'a': 1, 'g': 6, 'pm': -3, 'ppa': 1, 'ppg': 2, 'sha': 0, 'shg': 2, 'so_g': 0, 'sog': 9}], 261)]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\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":"A deterministic toy scoring contract stipulated for this example; it is not the rulebook of any real fantasy platform. 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":"w2-fantasy-sports-scoring-skater-line-shootout-goals","generated_at":"2026-09-29T14:50:37.810184+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Special-teams extras, plus/minus signs and shootout exclusions are frequent skater scoring defects.","root_cause":"Shootout goals are added to the goal count.","sha256":"445ac090fa1304c89ce98a4b0ab3b65e8fe48e658989717166a619921391b9c0","title":"Shootout winners scored as goals · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.383,"exit_code":1,"observations":[{"actual":42,"check":"regression: shootout goals","expected":42,"passed":true},{"actual":159,"check":"partial repair probe: shootout goals","expected":139,"passed":false},{"actual":89,"check":"second regression","expected":89,"passed":true},{"actual":194,"check":"normal control 1","expected":194,"passed":true},{"actual":186,"check":"normal control 2","expected":186,"passed":true},{"actual":223,"check":"normal control 3","expected":223,"passed":true},{"actual":221,"check":"normal control 4","expected":221,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: shootout goals\", \"actual\": 42, \"expected\": 42, \"passed\": true}, {\"check\": \"partial repair probe: shootout goals\", \"actual\": 159, \"expected\": 139, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 89, \"expected\": 89, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 194, \"expected\": 194, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 186, \"expected\": 186, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 223, \"expected\": 223, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 221, \"expected\": 221, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.922,"exit_code":1,"observations":[{"actual":72,"check":"regression: shootout goals","expected":42,"passed":false},{"actual":169,"check":"partial repair probe: shootout goals","expected":139,"passed":false},{"actual":119,"check":"second regression","expected":89,"passed":false},{"actual":194,"check":"normal control 1","expected":194,"passed":true},{"actual":186,"check":"normal control 2","expected":186,"passed":true},{"actual":223,"check":"normal control 3","expected":223,"passed":true},{"actual":221,"check":"normal control 4","expected":221,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: shootout goals\", \"actual\": 72, \"expected\": 42, \"passed\": false}, {\"check\": \"partial repair probe: shootout goals\", \"actual\": 169, \"expected\": 139, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 119, \"expected\": 89, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 194, \"expected\": 194, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 186, \"expected\": 186, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 223, \"expected\": 223, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 221, \"expected\": 221, \"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."}}