{"abstract":"Low-wage employees are garnished below the protected thirty-times-minimum-wage floor.","category":"Payroll withholding rules","checks":8,"contract":"Input weekly {gross, taxes, voluntary, support_ordered, supports_other_family, arrears_weeks, creditor_ordered, min_wage}. Disposable = max(0, gross - taxes); voluntary deductions are not subtracted. Support cap is 60% of disposable (50% if supporting another family), +5 points when arrears exceed 12 weeks, floored to cents. Creditor cap is min(25% of disposable, disposable - 30*min_wage floored at 0) less support already taken, floored at 0. Return [disposable, support, creditor].","evaluation_group":"w2-payroll-withholding-wage-garnishment-priority","failed_approach":"The attempt measures disposable earnings but subtracts taxes a second time, over-protecting the employee.","family":"w2-payroll-withholding-wage-garnishment-priority-minimum-wage-floor-basis","id":"FA-58956","implementations":{"attempt":{"sha256":"e42447c5b2a8bf3c643b976ef7283bc672406d00671af12a8689e1c4e7f238bc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    disposable = x['gross'] - x['taxes']\n    disposable = max(0, disposable)\n    pct = 50 if x['supports_other_family'] else 60\n    if x['arrears_weeks'] > 12:\n        pct += 5\n    support_cap = disposable * pct // 100\n    support = min(x['support_ordered'], support_cap)\n    general_cap = min(disposable * 25 // 100, max(0, disposable - 30 * x['min_wage'] - x['taxes']))\n    creditor_room = max(0, general_cap - support)\n    creditor = min(x['creditor_ordered'], creditor_room)\n    return [disposable, support, creditor]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression', {'gross': 44578, 'taxes': 13638, 'voluntary': 18352, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 12101, 'min_wage': 1000}, [30940, 0, 940]), ('regression', {'gross': 34057, 'taxes': 7153, 'voluntary': 2558, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 16, 'creditor_ordered': 53546, 'min_wage': 1000}, [26904, 0, 0]), ('partial-repair probe', {'gross': 57348, 'taxes': 14511, 'voluntary': 6333, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 37, 'creditor_ordered': 25506, 'min_wage': 1000}, [42837, 0, 10709]), ('partial-repair probe', {'gross': 47364, 'taxes': 15560, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 93206, 'min_wage': 725}, [31804, 0, 7951]), ('normal control', {'gross': 49885, 'taxes': 7577, 'voluntary': 0, 'support_ordered': 11010, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 76774, 'min_wage': 725}, [42308, 11010, 0]), ('normal control', {'gross': 148773, 'taxes': 37141, 'voluntary': 0, 'support_ordered': 142131, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 65400, 'min_wage': 1000}, [111632, 55816, 0]), ('normal control', {'gross': 60837, 'taxes': 6384, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 8, 'creditor_ordered': 99104, 'min_wage': 725}, [54453, 0, 13613]), ('normal control', {'gross': 46826, 'taxes': 741, 'voluntary': 4492, 'support_ordered': 65174, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 1500}, [46085, 27651, 0])], [('regression', {'gross': 52222, 'taxes': 6001, 'voluntary': 11124, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 24737, 'min_wage': 1500}, [46221, 0, 1221]), ('regression', {'gross': 34057, 'taxes': 7153, 'voluntary': 2558, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 16, 'creditor_ordered': 53546, 'min_wage': 1000}, [26904, 0, 0]), ('partial-repair probe', {'gross': 47364, 'taxes': 15560, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 93206, 'min_wage': 725}, [31804, 0, 7951]), ('partial-repair probe', {'gross': 39815, 'taxes': 5597, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 89833, 'min_wage': 725}, [34218, 0, 8554]), ('normal control', {'gross': 17708, 'taxes': 3346, 'voluntary': 3682, 'support_ordered': 144082, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [14362, 7181, 0]), ('normal control', {'gross': 34053, 'taxes': 8230, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [25823, 0, 0]), ('normal control', {'gross': 92812, 'taxes': 14753, 'voluntary': 4255, 'support_ordered': 102328, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1000}, [78059, 39029, 0]), ('normal control', {'gross': 49631, 'taxes': 10694, 'voluntary': 12100, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 29, 'creditor_ordered': 0, 'min_wage': 1500}, [38937, 0, 0])], [('regression', {'gross': 54564, 'taxes': 16255, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 2, 'creditor_ordered': 95266, 'min_wage': 1000}, [38309, 0, 8309]), ('regression', {'gross': 52222, 'taxes': 6001, 'voluntary': 11124, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 24737, 'min_wage': 1500}, [46221, 0, 1221]), ('partial-repair probe', {'gross': 55563, 'taxes': 12940, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 31836, 'min_wage': 1000}, [42623, 0, 10655]), ('partial-repair probe', {'gross': 43333, 'taxes': 8379, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 26, 'creditor_ordered': 75679, 'min_wage': 725}, [34954, 0, 8738]), ('normal control', {'gross': 152311, 'taxes': 3320, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [148991, 0, 0]), ('normal control', {'gross': 27004, 'taxes': 2084, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 8, 'creditor_ordered': 0, 'min_wage': 725}, [24920, 0, 0]), ('normal control', {'gross': 101914, 'taxes': 33517, 'voluntary': 11339, 'support_ordered': 29483, 'supports_other_family': False, 'arrears_weeks': 8, 'creditor_ordered': 0, 'min_wage': 1000}, [68397, 29483, 0]), ('normal control', {'gross': 108575, 'taxes': 133, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 98815, 'min_wage': 725}, [108442, 0, 27110])], [('regression', {'gross': 78229, 'taxes': 19071, 'voluntary': 18453, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 77925, 'min_wage': 1500}, [59158, 0, 14158]), ('regression', {'gross': 54564, 'taxes': 16255, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 2, 'creditor_ordered': 95266, 'min_wage': 1000}, [38309, 0, 8309]), ('partial-repair probe', {'gross': 43333, 'taxes': 8379, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 26, 'creditor_ordered': 75679, 'min_wage': 725}, [34954, 0, 8738]), ('partial-repair probe', {'gross': 31147, 'taxes': 519, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 74886, 'min_wage': 1000}, [30628, 0, 628]), ('normal control', {'gross': 36727, 'taxes': 8624, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [28103, 0, 0]), ('normal control', {'gross': 33225, 'taxes': 530, 'voluntary': 0, 'support_ordered': 97991, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [32695, 19617, 0]), ('normal control', {'gross': 44831, 'taxes': 4578, 'voluntary': 17862, 'support_ordered': 124565, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [40253, 24151, 0]), ('normal control', {'gross': 62104, 'taxes': 11775, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1000}, [50329, 0, 0])], [('regression', {'gross': 31147, 'taxes': 519, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 74886, 'min_wage': 1000}, [30628, 0, 628]), ('regression', {'gross': 78229, 'taxes': 19071, 'voluntary': 18453, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 77925, 'min_wage': 1500}, [59158, 0, 14158]), ('partial-repair probe', {'gross': 34618, 'taxes': 2923, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 79265, 'min_wage': 725}, [31695, 0, 7923]), ('partial-repair probe', {'gross': 29406, 'taxes': 4534, 'voluntary': 12701, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 32946, 'min_wage': 725}, [24872, 0, 3122]), ('normal control', {'gross': 41743, 'taxes': 1120, 'voluntary': 0, 'support_ordered': 64278, 'supports_other_family': True, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [40623, 20311, 0]), ('normal control', {'gross': 140899, 'taxes': 22866, 'voluntary': 10207, 'support_ordered': 106762, 'supports_other_family': True, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [118033, 59016, 0]), ('normal control', {'gross': 190387, 'taxes': 5582, 'voluntary': 18751, 'support_ordered': 13845, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 1000}, [184805, 13845, 0]), ('normal control', {'gross': 50694, 'taxes': 14190, 'voluntary': 8627, 'support_ordered': 11691, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [36504, 11691, 0])]]\nfor i, (label, args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (label, i), 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":"f185509215d07e6d33707c13c820bba4831d998e0c0c3f1324b36a0d696cade7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    disposable = x['gross'] - x['taxes']\n    disposable = max(0, disposable)\n    pct = 50 if x['supports_other_family'] else 60\n    if x['arrears_weeks'] > 12:\n        pct += 5\n    support_cap = disposable * pct // 100\n    support = min(x['support_ordered'], support_cap)\n    general_cap = min(disposable * 25 // 100, max(0, x['gross'] - 30 * x['min_wage']))\n    creditor_room = max(0, general_cap - support)\n    creditor = min(x['creditor_ordered'], creditor_room)\n    return [disposable, support, creditor]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression', {'gross': 44578, 'taxes': 13638, 'voluntary': 18352, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 12101, 'min_wage': 1000}, [30940, 0, 940]), ('regression', {'gross': 34057, 'taxes': 7153, 'voluntary': 2558, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 16, 'creditor_ordered': 53546, 'min_wage': 1000}, [26904, 0, 0]), ('partial-repair probe', {'gross': 57348, 'taxes': 14511, 'voluntary': 6333, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 37, 'creditor_ordered': 25506, 'min_wage': 1000}, [42837, 0, 10709]), ('partial-repair probe', {'gross': 47364, 'taxes': 15560, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 93206, 'min_wage': 725}, [31804, 0, 7951]), ('normal control', {'gross': 49885, 'taxes': 7577, 'voluntary': 0, 'support_ordered': 11010, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 76774, 'min_wage': 725}, [42308, 11010, 0]), ('normal control', {'gross': 148773, 'taxes': 37141, 'voluntary': 0, 'support_ordered': 142131, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 65400, 'min_wage': 1000}, [111632, 55816, 0]), ('normal control', {'gross': 60837, 'taxes': 6384, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 8, 'creditor_ordered': 99104, 'min_wage': 725}, [54453, 0, 13613]), ('normal control', {'gross': 46826, 'taxes': 741, 'voluntary': 4492, 'support_ordered': 65174, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 1500}, [46085, 27651, 0])], [('regression', {'gross': 52222, 'taxes': 6001, 'voluntary': 11124, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 24737, 'min_wage': 1500}, [46221, 0, 1221]), ('regression', {'gross': 34057, 'taxes': 7153, 'voluntary': 2558, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 16, 'creditor_ordered': 53546, 'min_wage': 1000}, [26904, 0, 0]), ('partial-repair probe', {'gross': 47364, 'taxes': 15560, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 93206, 'min_wage': 725}, [31804, 0, 7951]), ('partial-repair probe', {'gross': 39815, 'taxes': 5597, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 89833, 'min_wage': 725}, [34218, 0, 8554]), ('normal control', {'gross': 17708, 'taxes': 3346, 'voluntary': 3682, 'support_ordered': 144082, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [14362, 7181, 0]), ('normal control', {'gross': 34053, 'taxes': 8230, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [25823, 0, 0]), ('normal control', {'gross': 92812, 'taxes': 14753, 'voluntary': 4255, 'support_ordered': 102328, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1000}, [78059, 39029, 0]), ('normal control', {'gross': 49631, 'taxes': 10694, 'voluntary': 12100, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 29, 'creditor_ordered': 0, 'min_wage': 1500}, [38937, 0, 0])], [('regression', {'gross': 54564, 'taxes': 16255, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 2, 'creditor_ordered': 95266, 'min_wage': 1000}, [38309, 0, 8309]), ('regression', {'gross': 52222, 'taxes': 6001, 'voluntary': 11124, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 24737, 'min_wage': 1500}, [46221, 0, 1221]), ('partial-repair probe', {'gross': 55563, 'taxes': 12940, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 31836, 'min_wage': 1000}, [42623, 0, 10655]), ('partial-repair probe', {'gross': 43333, 'taxes': 8379, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 26, 'creditor_ordered': 75679, 'min_wage': 725}, [34954, 0, 8738]), ('normal control', {'gross': 152311, 'taxes': 3320, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [148991, 0, 0]), ('normal control', {'gross': 27004, 'taxes': 2084, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 8, 'creditor_ordered': 0, 'min_wage': 725}, [24920, 0, 0]), ('normal control', {'gross': 101914, 'taxes': 33517, 'voluntary': 11339, 'support_ordered': 29483, 'supports_other_family': False, 'arrears_weeks': 8, 'creditor_ordered': 0, 'min_wage': 1000}, [68397, 29483, 0]), ('normal control', {'gross': 108575, 'taxes': 133, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 98815, 'min_wage': 725}, [108442, 0, 27110])], [('regression', {'gross': 78229, 'taxes': 19071, 'voluntary': 18453, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 77925, 'min_wage': 1500}, [59158, 0, 14158]), ('regression', {'gross': 54564, 'taxes': 16255, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 2, 'creditor_ordered': 95266, 'min_wage': 1000}, [38309, 0, 8309]), ('partial-repair probe', {'gross': 43333, 'taxes': 8379, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 26, 'creditor_ordered': 75679, 'min_wage': 725}, [34954, 0, 8738]), ('partial-repair probe', {'gross': 31147, 'taxes': 519, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 74886, 'min_wage': 1000}, [30628, 0, 628]), ('normal control', {'gross': 36727, 'taxes': 8624, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [28103, 0, 0]), ('normal control', {'gross': 33225, 'taxes': 530, 'voluntary': 0, 'support_ordered': 97991, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [32695, 19617, 0]), ('normal control', {'gross': 44831, 'taxes': 4578, 'voluntary': 17862, 'support_ordered': 124565, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [40253, 24151, 0]), ('normal control', {'gross': 62104, 'taxes': 11775, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1000}, [50329, 0, 0])], [('regression', {'gross': 31147, 'taxes': 519, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 74886, 'min_wage': 1000}, [30628, 0, 628]), ('regression', {'gross': 78229, 'taxes': 19071, 'voluntary': 18453, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 77925, 'min_wage': 1500}, [59158, 0, 14158]), ('partial-repair probe', {'gross': 34618, 'taxes': 2923, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 79265, 'min_wage': 725}, [31695, 0, 7923]), ('partial-repair probe', {'gross': 29406, 'taxes': 4534, 'voluntary': 12701, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 32946, 'min_wage': 725}, [24872, 0, 3122]), ('normal control', {'gross': 41743, 'taxes': 1120, 'voluntary': 0, 'support_ordered': 64278, 'supports_other_family': True, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [40623, 20311, 0]), ('normal control', {'gross': 140899, 'taxes': 22866, 'voluntary': 10207, 'support_ordered': 106762, 'supports_other_family': True, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [118033, 59016, 0]), ('normal control', {'gross': 190387, 'taxes': 5582, 'voluntary': 18751, 'support_ordered': 13845, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 1000}, [184805, 13845, 0]), ('normal control', {'gross': 50694, 'taxes': 14190, 'voluntary': 8627, 'support_ordered': 11691, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [36504, 11691, 0])]]\nfor i, (label, args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (label, i), 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"},"fixed":{"sha256":"61c866fcefc198acab6adefcdbbfad8df6e22c7c9f84b231e1ad52251d41ccb5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    disposable = x['gross'] - x['taxes']\n    disposable = max(0, disposable)\n    pct = 50 if x['supports_other_family'] else 60\n    if x['arrears_weeks'] > 12:\n        pct += 5\n    support_cap = disposable * pct // 100\n    support = min(x['support_ordered'], support_cap)\n    general_cap = min(disposable * 25 // 100, max(0, disposable - 30 * x['min_wage']))\n    creditor_room = max(0, general_cap - support)\n    creditor = min(x['creditor_ordered'], creditor_room)\n    return [disposable, support, creditor]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression', {'gross': 44578, 'taxes': 13638, 'voluntary': 18352, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 12101, 'min_wage': 1000}, [30940, 0, 940]), ('regression', {'gross': 34057, 'taxes': 7153, 'voluntary': 2558, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 16, 'creditor_ordered': 53546, 'min_wage': 1000}, [26904, 0, 0]), ('partial-repair probe', {'gross': 57348, 'taxes': 14511, 'voluntary': 6333, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 37, 'creditor_ordered': 25506, 'min_wage': 1000}, [42837, 0, 10709]), ('partial-repair probe', {'gross': 47364, 'taxes': 15560, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 93206, 'min_wage': 725}, [31804, 0, 7951]), ('normal control', {'gross': 49885, 'taxes': 7577, 'voluntary': 0, 'support_ordered': 11010, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 76774, 'min_wage': 725}, [42308, 11010, 0]), ('normal control', {'gross': 148773, 'taxes': 37141, 'voluntary': 0, 'support_ordered': 142131, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 65400, 'min_wage': 1000}, [111632, 55816, 0]), ('normal control', {'gross': 60837, 'taxes': 6384, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 8, 'creditor_ordered': 99104, 'min_wage': 725}, [54453, 0, 13613]), ('normal control', {'gross': 46826, 'taxes': 741, 'voluntary': 4492, 'support_ordered': 65174, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 1500}, [46085, 27651, 0])], [('regression', {'gross': 52222, 'taxes': 6001, 'voluntary': 11124, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 24737, 'min_wage': 1500}, [46221, 0, 1221]), ('regression', {'gross': 34057, 'taxes': 7153, 'voluntary': 2558, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 16, 'creditor_ordered': 53546, 'min_wage': 1000}, [26904, 0, 0]), ('partial-repair probe', {'gross': 47364, 'taxes': 15560, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 93206, 'min_wage': 725}, [31804, 0, 7951]), ('partial-repair probe', {'gross': 39815, 'taxes': 5597, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 89833, 'min_wage': 725}, [34218, 0, 8554]), ('normal control', {'gross': 17708, 'taxes': 3346, 'voluntary': 3682, 'support_ordered': 144082, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [14362, 7181, 0]), ('normal control', {'gross': 34053, 'taxes': 8230, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [25823, 0, 0]), ('normal control', {'gross': 92812, 'taxes': 14753, 'voluntary': 4255, 'support_ordered': 102328, 'supports_other_family': True, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1000}, [78059, 39029, 0]), ('normal control', {'gross': 49631, 'taxes': 10694, 'voluntary': 12100, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 29, 'creditor_ordered': 0, 'min_wage': 1500}, [38937, 0, 0])], [('regression', {'gross': 54564, 'taxes': 16255, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 2, 'creditor_ordered': 95266, 'min_wage': 1000}, [38309, 0, 8309]), ('regression', {'gross': 52222, 'taxes': 6001, 'voluntary': 11124, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 24737, 'min_wage': 1500}, [46221, 0, 1221]), ('partial-repair probe', {'gross': 55563, 'taxes': 12940, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 31836, 'min_wage': 1000}, [42623, 0, 10655]), ('partial-repair probe', {'gross': 43333, 'taxes': 8379, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 26, 'creditor_ordered': 75679, 'min_wage': 725}, [34954, 0, 8738]), ('normal control', {'gross': 152311, 'taxes': 3320, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [148991, 0, 0]), ('normal control', {'gross': 27004, 'taxes': 2084, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 8, 'creditor_ordered': 0, 'min_wage': 725}, [24920, 0, 0]), ('normal control', {'gross': 101914, 'taxes': 33517, 'voluntary': 11339, 'support_ordered': 29483, 'supports_other_family': False, 'arrears_weeks': 8, 'creditor_ordered': 0, 'min_wage': 1000}, [68397, 29483, 0]), ('normal control', {'gross': 108575, 'taxes': 133, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 98815, 'min_wage': 725}, [108442, 0, 27110])], [('regression', {'gross': 78229, 'taxes': 19071, 'voluntary': 18453, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 77925, 'min_wage': 1500}, [59158, 0, 14158]), ('regression', {'gross': 54564, 'taxes': 16255, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 2, 'creditor_ordered': 95266, 'min_wage': 1000}, [38309, 0, 8309]), ('partial-repair probe', {'gross': 43333, 'taxes': 8379, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 26, 'creditor_ordered': 75679, 'min_wage': 725}, [34954, 0, 8738]), ('partial-repair probe', {'gross': 31147, 'taxes': 519, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 74886, 'min_wage': 1000}, [30628, 0, 628]), ('normal control', {'gross': 36727, 'taxes': 8624, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [28103, 0, 0]), ('normal control', {'gross': 33225, 'taxes': 530, 'voluntary': 0, 'support_ordered': 97991, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1500}, [32695, 19617, 0]), ('normal control', {'gross': 44831, 'taxes': 4578, 'voluntary': 17862, 'support_ordered': 124565, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [40253, 24151, 0]), ('normal control', {'gross': 62104, 'taxes': 11775, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 0, 'min_wage': 1000}, [50329, 0, 0])], [('regression', {'gross': 31147, 'taxes': 519, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 74886, 'min_wage': 1000}, [30628, 0, 628]), ('regression', {'gross': 78229, 'taxes': 19071, 'voluntary': 18453, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 77925, 'min_wage': 1500}, [59158, 0, 14158]), ('partial-repair probe', {'gross': 34618, 'taxes': 2923, 'voluntary': 0, 'support_ordered': 0, 'supports_other_family': False, 'arrears_weeks': 0, 'creditor_ordered': 79265, 'min_wage': 725}, [31695, 0, 7923]), ('partial-repair probe', {'gross': 29406, 'taxes': 4534, 'voluntary': 12701, 'support_ordered': 0, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 32946, 'min_wage': 725}, [24872, 0, 3122]), ('normal control', {'gross': 41743, 'taxes': 1120, 'voluntary': 0, 'support_ordered': 64278, 'supports_other_family': True, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [40623, 20311, 0]), ('normal control', {'gross': 140899, 'taxes': 22866, 'voluntary': 10207, 'support_ordered': 106762, 'supports_other_family': True, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 725}, [118033, 59016, 0]), ('normal control', {'gross': 190387, 'taxes': 5582, 'voluntary': 18751, 'support_ordered': 13845, 'supports_other_family': False, 'arrears_weeks': 12, 'creditor_ordered': 0, 'min_wage': 1000}, [184805, 13845, 0]), ('normal control', {'gross': 50694, 'taxes': 14190, 'voluntary': 8627, 'support_ordered': 11691, 'supports_other_family': True, 'arrears_weeks': 13, 'creditor_ordered': 0, 'min_wage': 725}, [36504, 11691, 0])]]\nfor i, (label, args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (label, i), 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 teaching model of a stipulated payroll rule with toy thresholds and rates. It makes no claim of conformance to any tax authority, statute or jurisdiction and is not payroll software. 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-payroll-withholding-wage-garnishment-priority-minimum-wage-floor-basis","generated_at":"2026-09-29T14:46:31.601864+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Garnishment limits hinge on the legal definition of disposable earnings and on ordering support before creditor orders.","repair":"Restore the contract rule at the minimum wage floor basis step: use `max(0, disposable - 30 * x['min_wage'])`.","root_cause":"The protected floor is measured against gross pay instead of disposable earnings.","sha256":"40b7a1d5c80ef2998cf2d13731aa90fc7d833ab4283c8a8603e565ce018163af","title":"Wage garnishment limits with support priority: minimum wage floor basis · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.905,"exit_code":1,"observations":[{"actual":[30940,0,0],"check":"regression 0","expected":[30940,0,940],"passed":false},{"actual":[26904,0,0],"check":"regression 1","expected":[26904,0,0],"passed":true},{"actual":[42837,0,0],"check":"partial-repair probe 2","expected":[42837,0,10709],"passed":false},{"actual":[31804,0,0],"check":"partial-repair probe 3","expected":[31804,0,7951],"passed":false},{"actual":[42308,11010,0],"check":"normal control 4","expected":[42308,11010,0],"passed":true},{"actual":[111632,55816,0],"check":"normal control 5","expected":[111632,55816,0],"passed":true},{"actual":[54453,0,13613],"check":"normal control 6","expected":[54453,0,13613],"passed":true},{"actual":[46085,27651,0],"check":"normal control 7","expected":[46085,27651,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 0\", \"actual\": [30940, 0, 0], \"expected\": [30940, 0, 940], \"passed\": false}, {\"check\": \"regression 1\", \"actual\": [26904, 0, 0], \"expected\": [26904, 0, 0], \"passed\": true}, {\"check\": \"partial-repair probe 2\", \"actual\": [42837, 0, 0], \"expected\": [42837, 0, 10709], \"passed\": false}, {\"check\": \"partial-repair probe 3\", \"actual\": [31804, 0, 0], \"expected\": [31804, 0, 7951], \"passed\": false}, {\"check\": \"normal control 4\", \"actual\": [42308, 11010, 0], \"expected\": [42308, 11010, 0], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [111632, 55816, 0], \"expected\": [111632, 55816, 0], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [54453, 0, 13613], \"expected\": [54453, 0, 13613], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [46085, 27651, 0], \"expected\": [46085, 27651, 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.443,"exit_code":1,"observations":[{"actual":[30940,0,7735],"check":"regression 0","expected":[30940,0,940],"passed":false},{"actual":[26904,0,4057],"check":"regression 1","expected":[26904,0,0],"passed":false},{"actual":[42837,0,10709],"check":"partial-repair probe 2","expected":[42837,0,10709],"passed":true},{"actual":[31804,0,7951],"check":"partial-repair probe 3","expected":[31804,0,7951],"passed":true},{"actual":[42308,11010,0],"check":"normal control 4","expected":[42308,11010,0],"passed":true},{"actual":[111632,55816,0],"check":"normal control 5","expected":[111632,55816,0],"passed":true},{"actual":[54453,0,13613],"check":"normal control 6","expected":[54453,0,13613],"passed":true},{"actual":[46085,27651,0],"check":"normal control 7","expected":[46085,27651,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 0\", \"actual\": [30940, 0, 7735], \"expected\": [30940, 0, 940], \"passed\": false}, {\"check\": \"regression 1\", \"actual\": [26904, 0, 4057], \"expected\": [26904, 0, 0], \"passed\": false}, {\"check\": \"partial-repair probe 2\", \"actual\": [42837, 0, 10709], \"expected\": [42837, 0, 10709], \"passed\": true}, {\"check\": \"partial-repair probe 3\", \"actual\": [31804, 0, 7951], \"expected\": [31804, 0, 7951], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [42308, 11010, 0], \"expected\": [42308, 11010, 0], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [111632, 55816, 0], \"expected\": [111632, 55816, 0], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [54453, 0, 13613], \"expected\": [54453, 0, 13613], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [46085, 27651, 0], \"expected\": [46085, 27651, 0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.73,"exit_code":0,"observations":[{"actual":[30940,0,940],"check":"regression 0","expected":[30940,0,940],"passed":true},{"actual":[26904,0,0],"check":"regression 1","expected":[26904,0,0],"passed":true},{"actual":[42837,0,10709],"check":"partial-repair probe 2","expected":[42837,0,10709],"passed":true},{"actual":[31804,0,7951],"check":"partial-repair probe 3","expected":[31804,0,7951],"passed":true},{"actual":[42308,11010,0],"check":"normal control 4","expected":[42308,11010,0],"passed":true},{"actual":[111632,55816,0],"check":"normal control 5","expected":[111632,55816,0],"passed":true},{"actual":[54453,0,13613],"check":"normal control 6","expected":[54453,0,13613],"passed":true},{"actual":[46085,27651,0],"check":"normal control 7","expected":[46085,27651,0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 0\", \"actual\": [30940, 0, 940], \"expected\": [30940, 0, 940], \"passed\": true}, {\"check\": \"regression 1\", \"actual\": [26904, 0, 0], \"expected\": [26904, 0, 0], \"passed\": true}, {\"check\": \"partial-repair probe 2\", \"actual\": [42837, 0, 10709], \"expected\": [42837, 0, 10709], \"passed\": true}, {\"check\": \"partial-repair probe 3\", \"actual\": [31804, 0, 7951], \"expected\": [31804, 0, 7951], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [42308, 11010, 0], \"expected\": [42308, 11010, 0], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [111632, 55816, 0], \"expected\": [111632, 55816, 0], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [54453, 0, 13613], \"expected\": [54453, 0, 13613], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [46085, 27651, 0], \"expected\": [46085, 27651, 0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}