{"abstract":"BYMONTHDAY=-1 produces the second-to-last day of each month.","category":"Calendar recurrence rules","checks":7,"contract":"FREQ=MONTHLY with a BYMONTHDAY list. Positive values count from the first day, negative values from the last day (-1 is the last day). A value that does not exist in a month is skipped for that month, never clamped. Months step by interval from the dtstart month; instances before dtstart are dropped; coinciding values yield one instance. Return the first count ISO dates in chronological order.","contract_signature":"dtstart, interval, monthdays, count","evaluation_group":"w2-calendar-recurrence-rules-monthly-bymonthday","failed_approach":"The partial repair `md if md > 0 else 31 + md + 1` assumes every month has 31 days, so short months get the wrong day from the end.","family":"w2-calendar-recurrence-rules-monthly-bymonthday-negative-day","id":"FA-76871","implementations":{"attempt":{"sha256":"97c1e9cd3ed8bbbccc18bac6e16d68f9bffc88239192f4669be7cb7dc1bb6487","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(dtstart, interval, monthdays, count):\n    start = dt.date.fromisoformat(dtstart)\n    out = []\n    for k in range(400):\n        mi = start.month - 1 + k * interval\n        y, m = start.year + mi // 12, mi % 12 + 1\n        dim = calendar.monthrange(y, m)[1]\n        days = []\n        for md in monthdays:\n            day = md if md > 0 else 31 + md + 1\n            if 1 <= day <= dim:\n                days.append(day)\n        for day in sorted(set(days)):\n            d = dt.date(y, m, day)\n            if d < start:\n                continue\n            if len(out) >= count:\n                return out\n            out.append(d.isoformat())\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: 31st skips short months',\n   ['2024-01-31', 1, [31], 5],\n   ['2024-01-31', '2024-03-31', '2024-05-31', '2024-07-31', '2024-08-31']),\n  ('last day of month', ['2024-01-15', 1, [-1], 4], ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('31 and -1 coincide',\n   ['2024-01-01', 1, [31, -1], 4],\n   ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('first and last listed last-first',\n   ['2024-03-10', 1, [-1, 1], 5],\n   ['2024-03-31', '2024-04-01', '2024-04-30', '2024-05-01', '2024-05-31']),\n  ('crossing december interval 2',\n   ['2024-11-05', 2, [5], 4],\n   ['2024-11-05', '2025-01-05', '2025-03-05', '2025-05-05']),\n  ('december start interval 1',\n   ['2024-12-10', 1, [10, -3], 4],\n   ['2024-12-10', '2024-12-29', '2025-01-10', '2025-01-29']),\n  ('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03'])],\n [('31 and -1 coincide',\n   ['2024-01-01', 1, [31, -1], 4],\n   ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('first and last listed last-first',\n   ['2024-03-10', 1, [-1, 1], 5],\n   ['2024-03-31', '2024-04-01', '2024-04-30', '2024-05-01', '2024-05-31']),\n  ('crossing december interval 2',\n   ['2024-11-05', 2, [5], 4],\n   ['2024-11-05', '2025-01-05', '2025-03-05', '2025-05-05']),\n  ('december start interval 1',\n   ['2024-12-10', 1, [10, -3], 4],\n   ['2024-12-10', '2024-12-29', '2025-01-10', '2025-01-29']),\n  ('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03']),\n  ('negative beyond month',\n   ['2023-02-01', 1, [-30], 4],\n   ['2023-03-02', '2023-04-01', '2023-05-02', '2023-06-01']),\n  ('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15'])],\n [('crossing december interval 2',\n   ['2024-11-05', 2, [5], 4],\n   ['2024-11-05', '2025-01-05', '2025-03-05', '2025-05-05']),\n  ('december start interval 1',\n   ['2024-12-10', 1, [10, -3], 4],\n   ['2024-12-10', '2024-12-29', '2025-01-10', '2025-01-29']),\n  ('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03']),\n  ('negative beyond month',\n   ['2023-02-01', 1, [-30], 4],\n   ['2023-03-02', '2023-04-01', '2023-05-02', '2023-06-01']),\n  ('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15']),\n  ('count zero', ['2024-01-01', 1, [1], 0], []),\n  ('leap february 29', ['2023-12-29', 2, [29], 4], ['2023-12-29', '2024-02-29', '2024-04-29', '2024-06-29'])],\n [('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03']),\n  ('negative beyond month',\n   ['2023-02-01', 1, [-30], 4],\n   ['2023-03-02', '2023-04-01', '2023-05-02', '2023-06-01']),\n  ('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15']),\n  ('count zero', ['2024-01-01', 1, [1], 0], []),\n  ('leap february 29', ['2023-12-29', 2, [29], 4], ['2023-12-29', '2024-02-29', '2024-04-29', '2024-06-29']),\n  ('dtstart equals listed day',\n   ['2024-06-30', 1, [30, 1], 4],\n   ['2024-06-30', '2024-07-01', '2024-07-30', '2024-08-01']),\n  ('regression: 31st skips short months',\n   ['2024-01-31', 1, [31], 5],\n   ['2024-01-31', '2024-03-31', '2024-05-31', '2024-07-31', '2024-08-31'])],\n [('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15']),\n  ('count zero', ['2024-01-01', 1, [1], 0], []),\n  ('leap february 29', ['2023-12-29', 2, [29], 4], ['2023-12-29', '2024-02-29', '2024-04-29', '2024-06-29']),\n  ('dtstart equals listed day',\n   ['2024-06-30', 1, [30, 1], 4],\n   ['2024-06-30', '2024-07-01', '2024-07-30', '2024-08-01']),\n  ('regression: 31st skips short months',\n   ['2024-01-31', 1, [31], 5],\n   ['2024-01-31', '2024-03-31', '2024-05-31', '2024-07-31', '2024-08-31']),\n  ('last day of month', ['2024-01-15', 1, [-1], 4], ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('31 and -1 coincide',\n   ['2024-01-01', 1, [31, -1], 4],\n   ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30'])]]\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":"3a47da0fb547b22ad9b99806ce2e495629b9521eccfceb2be61544d65e3681c7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(dtstart, interval, monthdays, count):\n    start = dt.date.fromisoformat(dtstart)\n    out = []\n    for k in range(400):\n        mi = start.month - 1 + k * interval\n        y, m = start.year + mi // 12, mi % 12 + 1\n        dim = calendar.monthrange(y, m)[1]\n        days = []\n        for md in monthdays:\n            day = md if md > 0 else dim + md\n            if 1 <= day <= dim:\n                days.append(day)\n        for day in sorted(set(days)):\n            d = dt.date(y, m, day)\n            if d < start:\n                continue\n            if len(out) >= count:\n                return out\n            out.append(d.isoformat())\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: 31st skips short months',\n   ['2024-01-31', 1, [31], 5],\n   ['2024-01-31', '2024-03-31', '2024-05-31', '2024-07-31', '2024-08-31']),\n  ('last day of month', ['2024-01-15', 1, [-1], 4], ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('31 and -1 coincide',\n   ['2024-01-01', 1, [31, -1], 4],\n   ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('first and last listed last-first',\n   ['2024-03-10', 1, [-1, 1], 5],\n   ['2024-03-31', '2024-04-01', '2024-04-30', '2024-05-01', '2024-05-31']),\n  ('crossing december interval 2',\n   ['2024-11-05', 2, [5], 4],\n   ['2024-11-05', '2025-01-05', '2025-03-05', '2025-05-05']),\n  ('december start interval 1',\n   ['2024-12-10', 1, [10, -3], 4],\n   ['2024-12-10', '2024-12-29', '2025-01-10', '2025-01-29']),\n  ('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03'])],\n [('31 and -1 coincide',\n   ['2024-01-01', 1, [31, -1], 4],\n   ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('first and last listed last-first',\n   ['2024-03-10', 1, [-1, 1], 5],\n   ['2024-03-31', '2024-04-01', '2024-04-30', '2024-05-01', '2024-05-31']),\n  ('crossing december interval 2',\n   ['2024-11-05', 2, [5], 4],\n   ['2024-11-05', '2025-01-05', '2025-03-05', '2025-05-05']),\n  ('december start interval 1',\n   ['2024-12-10', 1, [10, -3], 4],\n   ['2024-12-10', '2024-12-29', '2025-01-10', '2025-01-29']),\n  ('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03']),\n  ('negative beyond month',\n   ['2023-02-01', 1, [-30], 4],\n   ['2023-03-02', '2023-04-01', '2023-05-02', '2023-06-01']),\n  ('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15'])],\n [('crossing december interval 2',\n   ['2024-11-05', 2, [5], 4],\n   ['2024-11-05', '2025-01-05', '2025-03-05', '2025-05-05']),\n  ('december start interval 1',\n   ['2024-12-10', 1, [10, -3], 4],\n   ['2024-12-10', '2024-12-29', '2025-01-10', '2025-01-29']),\n  ('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03']),\n  ('negative beyond month',\n   ['2023-02-01', 1, [-30], 4],\n   ['2023-03-02', '2023-04-01', '2023-05-02', '2023-06-01']),\n  ('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15']),\n  ('count zero', ['2024-01-01', 1, [1], 0], []),\n  ('leap february 29', ['2023-12-29', 2, [29], 4], ['2023-12-29', '2024-02-29', '2024-04-29', '2024-06-29'])],\n [('dtstart after listed day',\n   ['2024-05-20', 1, [3, 25], 4],\n   ['2024-05-25', '2024-06-03', '2024-06-25', '2024-07-03']),\n  ('negative beyond month',\n   ['2023-02-01', 1, [-30], 4],\n   ['2023-03-02', '2023-04-01', '2023-05-02', '2023-06-01']),\n  ('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15']),\n  ('count zero', ['2024-01-01', 1, [1], 0], []),\n  ('leap february 29', ['2023-12-29', 2, [29], 4], ['2023-12-29', '2024-02-29', '2024-04-29', '2024-06-29']),\n  ('dtstart equals listed day',\n   ['2024-06-30', 1, [30, 1], 4],\n   ['2024-06-30', '2024-07-01', '2024-07-30', '2024-08-01']),\n  ('regression: 31st skips short months',\n   ['2024-01-31', 1, [31], 5],\n   ['2024-01-31', '2024-03-31', '2024-05-31', '2024-07-31', '2024-08-31'])],\n [('interval 3 from october',\n   ['2023-10-15', 3, [15, -1], 5],\n   ['2023-10-15', '2023-10-31', '2024-01-15', '2024-01-31', '2024-04-15']),\n  ('count zero', ['2024-01-01', 1, [1], 0], []),\n  ('leap february 29', ['2023-12-29', 2, [29], 4], ['2023-12-29', '2024-02-29', '2024-04-29', '2024-06-29']),\n  ('dtstart equals listed day',\n   ['2024-06-30', 1, [30, 1], 4],\n   ['2024-06-30', '2024-07-01', '2024-07-30', '2024-08-01']),\n  ('regression: 31st skips short months',\n   ['2024-01-31', 1, [31], 5],\n   ['2024-01-31', '2024-03-31', '2024-05-31', '2024-07-31', '2024-08-31']),\n  ('last day of month', ['2024-01-15', 1, [-1], 4], ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30']),\n  ('31 and -1 coincide',\n   ['2024-01-01', 1, [31, -1], 4],\n   ['2024-01-31', '2024-02-29', '2024-03-31', '2024-04-30'])]]\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, bounded recurrence-expansion model evaluated offline on explicit fixtures; it is not a complete iCalendar implementation and makes no claim of standards conformance. 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-calendar-recurrence-rules-monthly-bymonthday-negative-day","generated_at":"2026-09-29T14:49:20.444387+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Recurring calendar series are expanded into concrete instances for display, reminders and conflict checks.","root_cause":"The negative month-day offset omits the +1 that makes -1 the last day.","sha256":"d94fcc69bd4a66396ff65c5f157938b1b5bdd9d7cd24fe7930607cfa75f39276","title":"Monthly BYMONTHDAY expansion with negative and invalid days: negative day · 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":41.075,"exit_code":1,"observations":[{"actual":["2024-01-31","2024-03-31","2024-05-31","2024-07-31","2024-08-31"],"check":"regression: 31st skips short months","expected":["2024-01-31","2024-03-31","2024-05-31","2024-07-31","2024-08-31"],"passed":true},{"actual":["2024-01-31","2024-03-31","2024-05-31","2024-07-31"],"check":"last day of month","expected":["2024-01-31","2024-02-29","2024-03-31","2024-04-30"],"passed":false},{"actual":["2024-01-31","2024-03-31","2024-05-31","2024-07-31"],"check":"31 and -1 coincide","expected":["2024-01-31","2024-02-29","2024-03-31","2024-04-30"],"passed":false},{"actual":["2024-03-31","2024-04-01","2024-05-01","2024-05-31","2024-06-01"],"check":"first and last listed last-first","expected":["2024-03-31","2024-04-01","2024-04-30","2024-05-01","2024-05-31"],"passed":false},{"actual":["2024-11-05","2025-01-05","2025-03-05","2025-05-05"],"check":"crossing december interval 2","expected":["2024-11-05","2025-01-05","2025-03-05","2025-05-05"],"passed":true},{"actual":["2024-12-10","2024-12-29","2025-01-10","2025-01-29"],"check":"december start interval 1","expected":["2024-12-10","2024-12-29","2025-01-10","2025-01-29"],"passed":true},{"actual":["2024-05-25","2024-06-03","2024-06-25","2024-07-03"],"check":"dtstart after listed day","expected":["2024-05-25","2024-06-03","2024-06-25","2024-07-03"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: 31st skips short months\", \"actual\": [\"2024-01-31\", \"2024-03-31\", \"2024-05-31\", \"2024-07-31\", \"2024-08-31\"], \"expected\": [\"2024-01-31\", \"2024-03-31\", \"2024-05-31\", \"2024-07-31\", \"2024-08-31\"], \"passed\": true}, {\"check\": \"last day of month\", \"actual\": [\"2024-01-31\", \"2024-03-31\", \"2024-05-31\", \"2024-07-31\"], \"expected\": [\"2024-01-31\", \"2024-02-29\", \"2024-03-31\", \"2024-04-30\"], \"passed\": false}, {\"check\": \"31 and -1 coincide\", \"actual\": [\"2024-01-31\", \"2024-03-31\", \"2024-05-31\", \"2024-07-31\"], \"expected\": [\"2024-01-31\", \"2024-02-29\", \"2024-03-31\", \"2024-04-30\"], \"passed\": false}, {\"check\": \"first and last listed last-first\", \"actual\": [\"2024-03-31\", \"2024-04-01\", \"2024-05-01\", \"2024-05-31\", \"2024-06-01\"], \"expected\": [\"2024-03-31\", \"2024-04-01\", \"2024-04-30\", \"2024-05-01\", \"2024-05-31\"], \"passed\": false}, {\"check\": \"crossing december interval 2\", \"actual\": [\"2024-11-05\", \"2025-01-05\", \"2025-03-05\", \"2025-05-05\"], \"expected\": [\"2024-11-05\", \"2025-01-05\", \"2025-03-05\", \"2025-05-05\"], \"passed\": true}, {\"check\": \"december start interval 1\", \"actual\": [\"2024-12-10\", \"2024-12-29\", \"2025-01-10\", \"2025-01-29\"], \"expected\": [\"2024-12-10\", \"2024-12-29\", \"2025-01-10\", \"2025-01-29\"], \"passed\": true}, {\"check\": \"dtstart after listed day\", \"actual\": [\"2024-05-25\", \"2024-06-03\", \"2024-06-25\", \"2024-07-03\"], \"expected\": [\"2024-05-25\", \"2024-06-03\", \"2024-06-25\", \"2024-07-03\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.245,"exit_code":1,"observations":[{"actual":["2024-01-31","2024-03-31","2024-05-31","2024-07-31","2024-08-31"],"check":"regression: 31st skips short months","expected":["2024-01-31","2024-03-31","2024-05-31","2024-07-31","2024-08-31"],"passed":true},{"actual":["2024-01-30","2024-02-28","2024-03-30","2024-04-29"],"check":"last day of month","expected":["2024-01-31","2024-02-29","2024-03-31","2024-04-30"],"passed":false},{"actual":["2024-01-30","2024-01-31","2024-02-28","2024-03-30"],"check":"31 and -1 coincide","expected":["2024-01-31","2024-02-29","2024-03-31","2024-04-30"],"passed":false},{"actual":["2024-03-30","2024-04-01","2024-04-29","2024-05-01","2024-05-30"],"check":"first and last listed last-first","expected":["2024-03-31","2024-04-01","2024-04-30","2024-05-01","2024-05-31"],"passed":false},{"actual":["2024-11-05","2025-01-05","2025-03-05","2025-05-05"],"check":"crossing december interval 2","expected":["2024-11-05","2025-01-05","2025-03-05","2025-05-05"],"passed":true},{"actual":["2024-12-10","2024-12-28","2025-01-10","2025-01-28"],"check":"december start interval 1","expected":["2024-12-10","2024-12-29","2025-01-10","2025-01-29"],"passed":false},{"actual":["2024-05-25","2024-06-03","2024-06-25","2024-07-03"],"check":"dtstart after listed day","expected":["2024-05-25","2024-06-03","2024-06-25","2024-07-03"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: 31st skips short months\", \"actual\": [\"2024-01-31\", \"2024-03-31\", \"2024-05-31\", \"2024-07-31\", \"2024-08-31\"], \"expected\": [\"2024-01-31\", \"2024-03-31\", \"2024-05-31\", \"2024-07-31\", \"2024-08-31\"], \"passed\": true}, {\"check\": \"last day of month\", \"actual\": [\"2024-01-30\", \"2024-02-28\", \"2024-03-30\", \"2024-04-29\"], \"expected\": [\"2024-01-31\", \"2024-02-29\", \"2024-03-31\", \"2024-04-30\"], \"passed\": false}, {\"check\": \"31 and -1 coincide\", \"actual\": [\"2024-01-30\", \"2024-01-31\", \"2024-02-28\", \"2024-03-30\"], \"expected\": [\"2024-01-31\", \"2024-02-29\", \"2024-03-31\", \"2024-04-30\"], \"passed\": false}, {\"check\": \"first and last listed last-first\", \"actual\": [\"2024-03-30\", \"2024-04-01\", \"2024-04-29\", \"2024-05-01\", \"2024-05-30\"], \"expected\": [\"2024-03-31\", \"2024-04-01\", \"2024-04-30\", \"2024-05-01\", \"2024-05-31\"], \"passed\": false}, {\"check\": \"crossing december interval 2\", \"actual\": [\"2024-11-05\", \"2025-01-05\", \"2025-03-05\", \"2025-05-05\"], \"expected\": [\"2024-11-05\", \"2025-01-05\", \"2025-03-05\", \"2025-05-05\"], \"passed\": true}, {\"check\": \"december start interval 1\", \"actual\": [\"2024-12-10\", \"2024-12-28\", \"2025-01-10\", \"2025-01-28\"], \"expected\": [\"2024-12-10\", \"2024-12-29\", \"2025-01-10\", \"2025-01-29\"], \"passed\": false}, {\"check\": \"dtstart after listed day\", \"actual\": [\"2024-05-25\", \"2024-06-03\", \"2024-06-25\", \"2024-07-03\"], \"expected\": [\"2024-05-25\", \"2024-06-03\", \"2024-06-25\", \"2024-07-03\"], \"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."}}