{"abstract":"Weekend nights are paid 27% extra instead of the larger single differential.","category":"Shift rostering labor rules","checks":8,"contract":"Shift [start, end] in minutes from Monday 00:00 and a base rate in cents per hour. Each minute earns base * (100 + pct) / 6000 cents where pct is 10 for 15:00-23:00, 15 for 23:00-07:00, else 0; on Saturday and Sunday (days 5 and 6) pct is the larger of that value and 12 (differentials do not stack). The exact total is rounded half up to a cent once.","contract_signature":"shift, base","evaluation_group":"w2-shift-rostering-labor-rules-shift-differential-pay","failed_approach":"Overriding with the weekend rate underpays weekend nights, whose 15% is larger.","family":"w2-shift-rostering-labor-rules-shift-differential-pay-weekend-stacking","id":"FA-94036","implementations":{"attempt":{"sha256":"5d630f7e437398e5cdf538289a6cb0add434391ab4b1d7d1bffcd28f74264fd9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(shift, base):\n    s, e = shift\n    total = 0\n    for t in range(s, e):\n        day = (t // 1440) % 7\n        m = t % 1440\n        pct = 0\n        if 900 <= m < 1380:\n            pct = 10\n        if m >= 1380 or m < 420:\n            pct = 15\n        if day >= 5:\n            pct = 12\n        total += base * (100 + pct)\n    return (total + 3000) // 6000\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: weekend stacking 1', [[6600, 7260], 2000], 24200),\n  ('regression variant: weekend stacking 2', [[7894, 8374], 2150], 19264),\n  ('partial repair guard 3', [[7200, 7260], 90], 104), ('boundary control 4', [[8580, 8700], 2000], 4600),\n  ('boundary control 5', [[900, 960], 1800], 1980), ('normal control 6', [[3300, 3540], 2150], 8600),\n  ('normal control 7', [[4320, 4800], 90], 815), ('normal control 8', [[5160, 5760], 90], 986)],\n [('regression: weekend stacking 1', [[7200, 7800], 2000], 22820),\n  ('regression variant: weekend stacking 2', [[9960, 10020], 90], 101),\n  ('partial repair guard 3', [[7560, 7800], 2000], 9020), ('boundary control 4', [[0, 3], 10], 1),\n  ('boundary control 5', [[8580, 8700], 2000], 4600), ('normal control 6', [[5280, 5904], 2150], 24962),\n  ('normal control 7', [[5860, 6580], 1999], 25587), ('normal control 8', [[4680, 5160], 1800], 14670)],\n [('regression: weekend stacking 1', [[8580, 8700], 2000], 4600),\n  ('regression variant: weekend stacking 2', [[9892, 10372], 2000], 18272),\n  ('partial repair guard 3', [[7200, 7920], 90], 1229), ('boundary control 4', [[6600, 7260], 2000], 24200),\n  ('boundary control 5', [[0, 3], 10], 1), ('normal control 6', [[2400, 2640], 2150], 9460),\n  ('normal control 7', [[0, 720], 60], 783), ('normal control 8', [[9540, 10183], 60], 725)],\n [('regression: weekend stacking 1', [[6720, 7320], 1999], 22289),\n  ('regression variant: weekend stacking 2', [[9540, 10183], 60], 725),\n  ('partial repair guard 3', [[9480, 10080], 60], 674), ('boundary control 4', [[1320, 1500], 60], 204),\n  ('boundary control 5', [[6600, 7260], 2000], 24200), ('normal control 6', [[7200, 7395], 90], 336),\n  ('normal control 7', [[5700, 6180], 90], 828), ('normal control 8', [[4740, 4980], 90], 360)],\n [('regression: weekend stacking 1', [[9600, 10200], 2000], 22580),\n  ('regression variant: weekend stacking 2', [[7200, 7260], 1999], 2299),\n  ('partial repair guard 3', [[9000, 9600], 1800], 20214), ('boundary control 4', [[480, 960], 1999], 16192),\n  ('boundary control 5', [[1320, 1500], 60], 204), ('normal control 6', [[6720, 7200], 1999], 17691),\n  ('normal control 7', [[2340, 2837], 1800], 16427), ('normal control 8', [[420, 480], 2000], 2000)]]\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":"1d49ffb35609bd183927e7e8f26a38ee6e17ecf888c1378498b03fb2eaf306e8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(shift, base):\n    s, e = shift\n    total = 0\n    for t in range(s, e):\n        day = (t // 1440) % 7\n        m = t % 1440\n        pct = 0\n        if 900 <= m < 1380:\n            pct = 10\n        if m >= 1380 or m < 420:\n            pct = 15\n        if day >= 5:\n            pct += 12\n        total += base * (100 + pct)\n    return (total + 3000) // 6000\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: weekend stacking 1', [[6600, 7260], 2000], 24200),\n  ('regression variant: weekend stacking 2', [[7894, 8374], 2150], 19264),\n  ('partial repair guard 3', [[7200, 7260], 90], 104), ('boundary control 4', [[8580, 8700], 2000], 4600),\n  ('boundary control 5', [[900, 960], 1800], 1980), ('normal control 6', [[3300, 3540], 2150], 8600),\n  ('normal control 7', [[4320, 4800], 90], 815), ('normal control 8', [[5160, 5760], 90], 986)],\n [('regression: weekend stacking 1', [[7200, 7800], 2000], 22820),\n  ('regression variant: weekend stacking 2', [[9960, 10020], 90], 101),\n  ('partial repair guard 3', [[7560, 7800], 2000], 9020), ('boundary control 4', [[0, 3], 10], 1),\n  ('boundary control 5', [[8580, 8700], 2000], 4600), ('normal control 6', [[5280, 5904], 2150], 24962),\n  ('normal control 7', [[5860, 6580], 1999], 25587), ('normal control 8', [[4680, 5160], 1800], 14670)],\n [('regression: weekend stacking 1', [[8580, 8700], 2000], 4600),\n  ('regression variant: weekend stacking 2', [[9892, 10372], 2000], 18272),\n  ('partial repair guard 3', [[7200, 7920], 90], 1229), ('boundary control 4', [[6600, 7260], 2000], 24200),\n  ('boundary control 5', [[0, 3], 10], 1), ('normal control 6', [[2400, 2640], 2150], 9460),\n  ('normal control 7', [[0, 720], 60], 783), ('normal control 8', [[9540, 10183], 60], 725)],\n [('regression: weekend stacking 1', [[6720, 7320], 1999], 22289),\n  ('regression variant: weekend stacking 2', [[9540, 10183], 60], 725),\n  ('partial repair guard 3', [[9480, 10080], 60], 674), ('boundary control 4', [[1320, 1500], 60], 204),\n  ('boundary control 5', [[6600, 7260], 2000], 24200), ('normal control 6', [[7200, 7395], 90], 336),\n  ('normal control 7', [[5700, 6180], 90], 828), ('normal control 8', [[4740, 4980], 90], 360)],\n [('regression: weekend stacking 1', [[9600, 10200], 2000], 22580),\n  ('regression variant: weekend stacking 2', [[7200, 7260], 1999], 2299),\n  ('partial repair guard 3', [[9000, 9600], 1800], 20214), ('boundary control 4', [[480, 960], 1999], 16192),\n  ('boundary control 5', [[1320, 1500], 60], 204), ('normal control 6', [[6720, 7200], 1999], 17691),\n  ('normal control 7', [[2340, 2837], 1800], 16427), ('normal control 8', [[420, 480], 2000], 2000)]]\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":"Stipulated toy labor rule for a bounded roster model; it is not legal advice and does not claim conformance with any jurisdiction, award, or collective agreement. 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-shift-rostering-labor-rules-shift-differential-pay-weekend-stacking","generated_at":"2026-09-29T14:52:00.673307+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Shift differential calculations are where roster data meets payroll; stacking and day attribution errors are common.","root_cause":"The weekend premium is added to the time-of-day premium.","sha256":"33c003aa648a7a3326933d23339f6c2e50017920c87c6d8b0f7581808e7237af","title":"Weekend differential stacks on the night differential · 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.415,"exit_code":1,"observations":[{"actual":24140,"check":"regression: weekend stacking 1","expected":24200,"passed":false},{"actual":19264,"check":"regression variant: weekend stacking 2","expected":19264,"passed":true},{"actual":101,"check":"partial repair guard 3","expected":104,"passed":false},{"actual":4480,"check":"boundary control 4","expected":4600,"passed":false},{"actual":1980,"check":"boundary control 5","expected":1980,"passed":true},{"actual":8600,"check":"normal control 6","expected":8600,"passed":true},{"actual":815,"check":"normal control 7","expected":815,"passed":true},{"actual":986,"check":"normal control 8","expected":986,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: weekend stacking 1\", \"actual\": 24140, \"expected\": 24200, \"passed\": false}, {\"check\": \"regression variant: weekend stacking 2\", \"actual\": 19264, \"expected\": 19264, \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": 101, \"expected\": 104, \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": 4480, \"expected\": 4600, \"passed\": false}, {\"check\": \"boundary control 5\", \"actual\": 1980, \"expected\": 1980, \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": 8600, \"expected\": 8600, \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": 815, \"expected\": 815, \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": 986, \"expected\": 986, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.705,"exit_code":1,"observations":[{"actual":24440,"check":"regression: weekend stacking 1","expected":24200,"passed":false},{"actual":20246,"check":"regression variant: weekend stacking 2","expected":19264,"passed":false},{"actual":114,"check":"partial repair guard 3","expected":104,"passed":false},{"actual":5080,"check":"boundary control 4","expected":4600,"passed":false},{"actual":1980,"check":"boundary control 5","expected":1980,"passed":true},{"actual":8600,"check":"normal control 6","expected":8600,"passed":true},{"actual":815,"check":"normal control 7","expected":815,"passed":true},{"actual":986,"check":"normal control 8","expected":986,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: weekend stacking 1\", \"actual\": 24440, \"expected\": 24200, \"passed\": false}, {\"check\": \"regression variant: weekend stacking 2\", \"actual\": 20246, \"expected\": 19264, \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": 114, \"expected\": 104, \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": 5080, \"expected\": 4600, \"passed\": false}, {\"check\": \"boundary control 5\", \"actual\": 1980, \"expected\": 1980, \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": 8600, \"expected\": 8600, \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": 815, \"expected\": 815, \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": 986, \"expected\": 986, \"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."}}