{"abstract":"Dates at the start of a month roll back into the previous month.","category":"Bond day-count conventions","checks":8,"contract":"Inputs a date [y,m,d], a convention code and a list of holiday dates. Saturdays, Sundays and holidays are non-business days. F rolls forward, P rolls back, MF rolls forward unless that changes the month in which case it rolls back, MP rolls back unless that changes the month in which case it rolls forward, U leaves the date unadjusted; other codes return \"unknown convention\". Return the adjusted [y,m,d].","evaluation_group":"w2-bond_day_count_conventions-business-day-adjustment","failed_approach":"Guarding only a change of year still lets ordinary month starts slip back.","family":"w2-bond_day_count_conventions-business-day-adjustment-modified-preceding-guard","id":"FA-60996","implementations":{"attempt":{"sha256":"c2691133e311ff32d31def29b648ce6cbc8159158fad489e6309655268275420","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(d, conv, holidays):\n    D = datetime.date(*d)\n    H = {datetime.date(*h) for h in holidays}\n    def bad(x):\n        return x.weekday() >= 5 or x in H\n    def roll(x, step):\n        while bad(x):\n            x += datetime.timedelta(days=step)\n        return x\n    if conv == 'F':\n        r = roll(D, 1)\n    elif conv == 'MF':\n        r = roll(D, 1)\n        if r.month != D.month:\n            r = roll(D, -1)\n    elif conv == 'P':\n        r = roll(D, -1)\n    elif conv == 'MP':\n        r = roll(D, -1)\n        if r.year != D.year:\n            r = roll(D, 1)\n    elif conv == 'U':\n        r = D\n    else:\n        return 'unknown convention'\n    return [r.year, r.month, r.day]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression modified preceding guard 1', [[2028, 2, 1], 'MP', [[2028, 2, 1]]], [2028, 2, 2]], ['regression modified preceding guard 2', [[2022, 10, 1], 'MP', [[2022, 10, 1], [2022, 10, 1]]], [2022, 10, 3]], ['partial repair probe 1', [[2030, 3, 3], 'MP', [[2030, 3, 3], [2030, 3, 1], [2030, 3, 4]]], [2030, 3, 5]], ['partial repair probe 2', [[2024, 6, 1], 'MP', []], [2024, 6, 3]], ['boundary control 1', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['boundary control 2', [[2024, 5, 15], 'X', []], 'unknown convention'], ['normal control 1', [[2028, 8, 29], 'MF', [[2028, 8, 30]]], [2028, 8, 29]], ['normal control 2', [[2019, 10, 31], 'MF', [[2019, 10, 28], [2019, 11, 2], [2019, 11, 2]]], [2019, 10, 31]]], [['regression modified preceding guard 1', [[2023, 1, 1], 'MP', [[2023, 1, 5], [2022, 12, 31]]], [2023, 1, 2]], ['regression modified preceding guard 2', [[2019, 1, 2], 'MP', [[2019, 1, 2], [2019, 1, 1], [2019, 1, 3]]], [2019, 1, 4]], ['partial repair probe 1', [[2024, 6, 3], 'MP', [[2024, 6, 3], [2024, 6, 2]]], [2024, 6, 4]], ['partial repair probe 2', [[2025, 10, 1], 'MP', [[2025, 10, 2], [2025, 10, 5], [2025, 10, 1]]], [2025, 10, 3]], ['boundary control 1', [[2024, 5, 15], 'X', []], 'unknown convention'], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2025, 12, 29], 'MF', []], [2025, 12, 29]], ['normal control 2', [[2024, 6, 2], 'F', [[2024, 5, 30], [2024, 5, 31]]], [2024, 6, 3]]], [['regression modified preceding guard 1', [[2020, 3, 1], 'MP', [[2020, 2, 27]]], [2020, 3, 2]], ['regression modified preceding guard 2', [[2026, 3, 1], 'MP', [[2026, 3, 4], [2026, 2, 27], [2026, 3, 2]]], [2026, 3, 3]], ['partial repair probe 1', [[2019, 12, 1], 'MP', [[2019, 12, 1]]], [2019, 12, 2]], ['partial repair probe 2', [[2022, 10, 1], 'MP', [[2022, 10, 4], [2022, 10, 4], [2022, 10, 1]]], [2022, 10, 3]], ['boundary control 1', [[2024, 5, 15], 'X', []], 'unknown convention'], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2026, 10, 31], 'MF', [[2026, 10, 30], [2026, 11, 1], [2026, 11, 2]]], [2026, 10, 29]], ['normal control 2', [[2021, 12, 30], 'MP', [[2022, 1, 2]]], [2021, 12, 30]]], [['regression modified preceding guard 1', [[2029, 6, 3], 'MP', [[2029, 6, 6], [2029, 6, 2], [2029, 6, 1]]], [2029, 6, 4]], ['regression modified preceding guard 2', [[2028, 1, 2], 'MP', [[2028, 1, 1]]], [2028, 1, 3]], ['partial repair probe 1', [[2027, 8, 1], 'MP', [[2027, 8, 5], [2027, 8, 2], [2027, 8, 1]]], [2027, 8, 3]], ['partial repair probe 2', [[2025, 11, 3], 'MP', [[2025, 11, 6], [2025, 11, 3]]], [2025, 11, 4]], ['boundary control 1', [[2024, 5, 15], 'F', [[2024, 5, 15]]], [2024, 5, 16]], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2020, 12, 31], 'MP', [[2021, 1, 1], [2021, 1, 3]]], [2020, 12, 31]], ['normal control 2', [[2028, 4, 30], 'F', [[2028, 5, 3]]], [2028, 5, 1]]], [['regression modified preceding guard 1', [[2029, 12, 2], 'MP', []], [2029, 12, 3]], ['regression modified preceding guard 2', [[2027, 1, 1], 'MP', [[2027, 1, 1], [2026, 12, 31], [2027, 1, 1]]], [2027, 1, 4]], ['partial repair probe 1', [[2025, 10, 1], 'MP', [[2025, 10, 1], [2025, 10, 4], [2025, 10, 4]]], [2025, 10, 2]], ['partial repair probe 2', [[2029, 4, 1], 'MP', [[2029, 4, 2], [2029, 3, 29], [2029, 4, 1]]], [2029, 4, 3]], ['boundary control 1', [[2024, 3, 30], 'MF', []], [2024, 3, 29]], ['boundary control 2', [[2024, 5, 15], 'F', [[2024, 5, 15]]], [2024, 5, 16]], ['normal control 1', [[2021, 6, 2], 'MF', [[2021, 6, 5], [2021, 6, 4]]], [2021, 6, 2]], ['normal control 2', [[2027, 5, 31], 'MF', [[2027, 6, 1]]], [2027, 5, 31]]]]\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":"70d29ebdf23e155614eb6d04d2471b070eeca493860b6383c33b4fa7bce06b12","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(d, conv, holidays):\n    D = datetime.date(*d)\n    H = {datetime.date(*h) for h in holidays}\n    def bad(x):\n        return x.weekday() >= 5 or x in H\n    def roll(x, step):\n        while bad(x):\n            x += datetime.timedelta(days=step)\n        return x\n    if conv == 'F':\n        r = roll(D, 1)\n    elif conv == 'MF':\n        r = roll(D, 1)\n        if r.month != D.month:\n            r = roll(D, -1)\n    elif conv == 'P':\n        r = roll(D, -1)\n    elif conv == 'MP':\n        r = roll(D, -1)\n    elif conv == 'U':\n        r = D\n    else:\n        return 'unknown convention'\n    return [r.year, r.month, r.day]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression modified preceding guard 1', [[2028, 2, 1], 'MP', [[2028, 2, 1]]], [2028, 2, 2]], ['regression modified preceding guard 2', [[2022, 10, 1], 'MP', [[2022, 10, 1], [2022, 10, 1]]], [2022, 10, 3]], ['partial repair probe 1', [[2030, 3, 3], 'MP', [[2030, 3, 3], [2030, 3, 1], [2030, 3, 4]]], [2030, 3, 5]], ['partial repair probe 2', [[2024, 6, 1], 'MP', []], [2024, 6, 3]], ['boundary control 1', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['boundary control 2', [[2024, 5, 15], 'X', []], 'unknown convention'], ['normal control 1', [[2028, 8, 29], 'MF', [[2028, 8, 30]]], [2028, 8, 29]], ['normal control 2', [[2019, 10, 31], 'MF', [[2019, 10, 28], [2019, 11, 2], [2019, 11, 2]]], [2019, 10, 31]]], [['regression modified preceding guard 1', [[2023, 1, 1], 'MP', [[2023, 1, 5], [2022, 12, 31]]], [2023, 1, 2]], ['regression modified preceding guard 2', [[2019, 1, 2], 'MP', [[2019, 1, 2], [2019, 1, 1], [2019, 1, 3]]], [2019, 1, 4]], ['partial repair probe 1', [[2024, 6, 3], 'MP', [[2024, 6, 3], [2024, 6, 2]]], [2024, 6, 4]], ['partial repair probe 2', [[2025, 10, 1], 'MP', [[2025, 10, 2], [2025, 10, 5], [2025, 10, 1]]], [2025, 10, 3]], ['boundary control 1', [[2024, 5, 15], 'X', []], 'unknown convention'], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2025, 12, 29], 'MF', []], [2025, 12, 29]], ['normal control 2', [[2024, 6, 2], 'F', [[2024, 5, 30], [2024, 5, 31]]], [2024, 6, 3]]], [['regression modified preceding guard 1', [[2020, 3, 1], 'MP', [[2020, 2, 27]]], [2020, 3, 2]], ['regression modified preceding guard 2', [[2026, 3, 1], 'MP', [[2026, 3, 4], [2026, 2, 27], [2026, 3, 2]]], [2026, 3, 3]], ['partial repair probe 1', [[2019, 12, 1], 'MP', [[2019, 12, 1]]], [2019, 12, 2]], ['partial repair probe 2', [[2022, 10, 1], 'MP', [[2022, 10, 4], [2022, 10, 4], [2022, 10, 1]]], [2022, 10, 3]], ['boundary control 1', [[2024, 5, 15], 'X', []], 'unknown convention'], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2026, 10, 31], 'MF', [[2026, 10, 30], [2026, 11, 1], [2026, 11, 2]]], [2026, 10, 29]], ['normal control 2', [[2021, 12, 30], 'MP', [[2022, 1, 2]]], [2021, 12, 30]]], [['regression modified preceding guard 1', [[2029, 6, 3], 'MP', [[2029, 6, 6], [2029, 6, 2], [2029, 6, 1]]], [2029, 6, 4]], ['regression modified preceding guard 2', [[2028, 1, 2], 'MP', [[2028, 1, 1]]], [2028, 1, 3]], ['partial repair probe 1', [[2027, 8, 1], 'MP', [[2027, 8, 5], [2027, 8, 2], [2027, 8, 1]]], [2027, 8, 3]], ['partial repair probe 2', [[2025, 11, 3], 'MP', [[2025, 11, 6], [2025, 11, 3]]], [2025, 11, 4]], ['boundary control 1', [[2024, 5, 15], 'F', [[2024, 5, 15]]], [2024, 5, 16]], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2020, 12, 31], 'MP', [[2021, 1, 1], [2021, 1, 3]]], [2020, 12, 31]], ['normal control 2', [[2028, 4, 30], 'F', [[2028, 5, 3]]], [2028, 5, 1]]], [['regression modified preceding guard 1', [[2029, 12, 2], 'MP', []], [2029, 12, 3]], ['regression modified preceding guard 2', [[2027, 1, 1], 'MP', [[2027, 1, 1], [2026, 12, 31], [2027, 1, 1]]], [2027, 1, 4]], ['partial repair probe 1', [[2025, 10, 1], 'MP', [[2025, 10, 1], [2025, 10, 4], [2025, 10, 4]]], [2025, 10, 2]], ['partial repair probe 2', [[2029, 4, 1], 'MP', [[2029, 4, 2], [2029, 3, 29], [2029, 4, 1]]], [2029, 4, 3]], ['boundary control 1', [[2024, 3, 30], 'MF', []], [2024, 3, 29]], ['boundary control 2', [[2024, 5, 15], 'F', [[2024, 5, 15]]], [2024, 5, 16]], ['normal control 1', [[2021, 6, 2], 'MF', [[2021, 6, 5], [2021, 6, 4]]], [2021, 6, 2]], ['normal control 2', [[2027, 5, 31], 'MF', [[2027, 6, 1]]], [2027, 5, 31]]]]\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"},"fixed":{"sha256":"d97a1f608f160af487f9ea3129abf90ad70212fbdaad78b86602bb298c52132d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(d, conv, holidays):\n    D = datetime.date(*d)\n    H = {datetime.date(*h) for h in holidays}\n    def bad(x):\n        return x.weekday() >= 5 or x in H\n    def roll(x, step):\n        while bad(x):\n            x += datetime.timedelta(days=step)\n        return x\n    if conv == 'F':\n        r = roll(D, 1)\n    elif conv == 'MF':\n        r = roll(D, 1)\n        if r.month != D.month:\n            r = roll(D, -1)\n    elif conv == 'P':\n        r = roll(D, -1)\n    elif conv == 'MP':\n        r = roll(D, -1)\n        if r.month != D.month:\n            r = roll(D, 1)\n    elif conv == 'U':\n        r = D\n    else:\n        return 'unknown convention'\n    return [r.year, r.month, r.day]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression modified preceding guard 1', [[2028, 2, 1], 'MP', [[2028, 2, 1]]], [2028, 2, 2]], ['regression modified preceding guard 2', [[2022, 10, 1], 'MP', [[2022, 10, 1], [2022, 10, 1]]], [2022, 10, 3]], ['partial repair probe 1', [[2030, 3, 3], 'MP', [[2030, 3, 3], [2030, 3, 1], [2030, 3, 4]]], [2030, 3, 5]], ['partial repair probe 2', [[2024, 6, 1], 'MP', []], [2024, 6, 3]], ['boundary control 1', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['boundary control 2', [[2024, 5, 15], 'X', []], 'unknown convention'], ['normal control 1', [[2028, 8, 29], 'MF', [[2028, 8, 30]]], [2028, 8, 29]], ['normal control 2', [[2019, 10, 31], 'MF', [[2019, 10, 28], [2019, 11, 2], [2019, 11, 2]]], [2019, 10, 31]]], [['regression modified preceding guard 1', [[2023, 1, 1], 'MP', [[2023, 1, 5], [2022, 12, 31]]], [2023, 1, 2]], ['regression modified preceding guard 2', [[2019, 1, 2], 'MP', [[2019, 1, 2], [2019, 1, 1], [2019, 1, 3]]], [2019, 1, 4]], ['partial repair probe 1', [[2024, 6, 3], 'MP', [[2024, 6, 3], [2024, 6, 2]]], [2024, 6, 4]], ['partial repair probe 2', [[2025, 10, 1], 'MP', [[2025, 10, 2], [2025, 10, 5], [2025, 10, 1]]], [2025, 10, 3]], ['boundary control 1', [[2024, 5, 15], 'X', []], 'unknown convention'], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2025, 12, 29], 'MF', []], [2025, 12, 29]], ['normal control 2', [[2024, 6, 2], 'F', [[2024, 5, 30], [2024, 5, 31]]], [2024, 6, 3]]], [['regression modified preceding guard 1', [[2020, 3, 1], 'MP', [[2020, 2, 27]]], [2020, 3, 2]], ['regression modified preceding guard 2', [[2026, 3, 1], 'MP', [[2026, 3, 4], [2026, 2, 27], [2026, 3, 2]]], [2026, 3, 3]], ['partial repair probe 1', [[2019, 12, 1], 'MP', [[2019, 12, 1]]], [2019, 12, 2]], ['partial repair probe 2', [[2022, 10, 1], 'MP', [[2022, 10, 4], [2022, 10, 4], [2022, 10, 1]]], [2022, 10, 3]], ['boundary control 1', [[2024, 5, 15], 'X', []], 'unknown convention'], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2026, 10, 31], 'MF', [[2026, 10, 30], [2026, 11, 1], [2026, 11, 2]]], [2026, 10, 29]], ['normal control 2', [[2021, 12, 30], 'MP', [[2022, 1, 2]]], [2021, 12, 30]]], [['regression modified preceding guard 1', [[2029, 6, 3], 'MP', [[2029, 6, 6], [2029, 6, 2], [2029, 6, 1]]], [2029, 6, 4]], ['regression modified preceding guard 2', [[2028, 1, 2], 'MP', [[2028, 1, 1]]], [2028, 1, 3]], ['partial repair probe 1', [[2027, 8, 1], 'MP', [[2027, 8, 5], [2027, 8, 2], [2027, 8, 1]]], [2027, 8, 3]], ['partial repair probe 2', [[2025, 11, 3], 'MP', [[2025, 11, 6], [2025, 11, 3]]], [2025, 11, 4]], ['boundary control 1', [[2024, 5, 15], 'F', [[2024, 5, 15]]], [2024, 5, 16]], ['boundary control 2', [[2024, 12, 28], 'F', []], [2024, 12, 30]], ['normal control 1', [[2020, 12, 31], 'MP', [[2021, 1, 1], [2021, 1, 3]]], [2020, 12, 31]], ['normal control 2', [[2028, 4, 30], 'F', [[2028, 5, 3]]], [2028, 5, 1]]], [['regression modified preceding guard 1', [[2029, 12, 2], 'MP', []], [2029, 12, 3]], ['regression modified preceding guard 2', [[2027, 1, 1], 'MP', [[2027, 1, 1], [2026, 12, 31], [2027, 1, 1]]], [2027, 1, 4]], ['partial repair probe 1', [[2025, 10, 1], 'MP', [[2025, 10, 1], [2025, 10, 4], [2025, 10, 4]]], [2025, 10, 2]], ['partial repair probe 2', [[2029, 4, 1], 'MP', [[2029, 4, 2], [2029, 3, 29], [2029, 4, 1]]], [2029, 4, 3]], ['boundary control 1', [[2024, 3, 30], 'MF', []], [2024, 3, 29]], ['boundary control 2', [[2024, 5, 15], 'F', [[2024, 5, 15]]], [2024, 5, 16]], ['normal control 1', [[2021, 6, 2], 'MF', [[2021, 6, 5], [2021, 6, 4]]], [2021, 6, 2]], ['normal control 2', [[2027, 5, 31], 'MF', [[2027, 6, 1]]], [2027, 5, 31]]]]\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 contract stated explicitly in the contract field; no claim of conformance to any published convention text. 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-bond_day_count_conventions-business-day-adjustment-modified-preceding-guard","generated_at":"2026-09-29T14:46:50.952386+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Bond accrual and pricing systems depend on exact day-count arithmetic; a single-day error changes settlement cash.","repair":"Roll forward from the original date if rolling back changes the month.","root_cause":"The MP branch was copied from P and lacks the month-change guard.","sha256":"f3d9b947a49a028ae847d10c4df793881d9108bc900c87342e2b1a31ae3fe057","title":"Business day adjustment conventions: modified preceding never checks the month · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.276,"exit_code":1,"observations":[{"actual":[2028,1,31],"check":"regression modified preceding guard 1","expected":[2028,2,2],"passed":false},{"actual":[2022,9,30],"check":"regression modified preceding guard 2","expected":[2022,10,3],"passed":false},{"actual":[2030,2,28],"check":"partial repair probe 1","expected":[2030,3,5],"passed":false},{"actual":[2024,5,31],"check":"partial repair probe 2","expected":[2024,6,3],"passed":false},{"actual":[2024,12,30],"check":"boundary control 1","expected":[2024,12,30],"passed":true},{"actual":"unknown convention","check":"boundary control 2","expected":"unknown convention","passed":true},{"actual":[2028,8,29],"check":"normal control 1","expected":[2028,8,29],"passed":true},{"actual":[2019,10,31],"check":"normal control 2","expected":[2019,10,31],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression modified preceding guard 1\", \"actual\": [2028, 1, 31], \"expected\": [2028, 2, 2], \"passed\": false}, {\"check\": \"regression modified preceding guard 2\", \"actual\": [2022, 9, 30], \"expected\": [2022, 10, 3], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [2030, 2, 28], \"expected\": [2030, 3, 5], \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": [2024, 5, 31], \"expected\": [2024, 6, 3], \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": [2024, 12, 30], \"expected\": [2024, 12, 30], \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": \"unknown convention\", \"expected\": \"unknown convention\", \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [2028, 8, 29], \"expected\": [2028, 8, 29], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [2019, 10, 31], \"expected\": [2019, 10, 31], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.182,"exit_code":1,"observations":[{"actual":[2028,1,31],"check":"regression modified preceding guard 1","expected":[2028,2,2],"passed":false},{"actual":[2022,9,30],"check":"regression modified preceding guard 2","expected":[2022,10,3],"passed":false},{"actual":[2030,2,28],"check":"partial repair probe 1","expected":[2030,3,5],"passed":false},{"actual":[2024,5,31],"check":"partial repair probe 2","expected":[2024,6,3],"passed":false},{"actual":[2024,12,30],"check":"boundary control 1","expected":[2024,12,30],"passed":true},{"actual":"unknown convention","check":"boundary control 2","expected":"unknown convention","passed":true},{"actual":[2028,8,29],"check":"normal control 1","expected":[2028,8,29],"passed":true},{"actual":[2019,10,31],"check":"normal control 2","expected":[2019,10,31],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression modified preceding guard 1\", \"actual\": [2028, 1, 31], \"expected\": [2028, 2, 2], \"passed\": false}, {\"check\": \"regression modified preceding guard 2\", \"actual\": [2022, 9, 30], \"expected\": [2022, 10, 3], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [2030, 2, 28], \"expected\": [2030, 3, 5], \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": [2024, 5, 31], \"expected\": [2024, 6, 3], \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": [2024, 12, 30], \"expected\": [2024, 12, 30], \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": \"unknown convention\", \"expected\": \"unknown convention\", \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [2028, 8, 29], \"expected\": [2028, 8, 29], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [2019, 10, 31], \"expected\": [2019, 10, 31], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.182,"exit_code":0,"observations":[{"actual":[2028,2,2],"check":"regression modified preceding guard 1","expected":[2028,2,2],"passed":true},{"actual":[2022,10,3],"check":"regression modified preceding guard 2","expected":[2022,10,3],"passed":true},{"actual":[2030,3,5],"check":"partial repair probe 1","expected":[2030,3,5],"passed":true},{"actual":[2024,6,3],"check":"partial repair probe 2","expected":[2024,6,3],"passed":true},{"actual":[2024,12,30],"check":"boundary control 1","expected":[2024,12,30],"passed":true},{"actual":"unknown convention","check":"boundary control 2","expected":"unknown convention","passed":true},{"actual":[2028,8,29],"check":"normal control 1","expected":[2028,8,29],"passed":true},{"actual":[2019,10,31],"check":"normal control 2","expected":[2019,10,31],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression modified preceding guard 1\", \"actual\": [2028, 2, 2], \"expected\": [2028, 2, 2], \"passed\": true}, {\"check\": \"regression modified preceding guard 2\", \"actual\": [2022, 10, 3], \"expected\": [2022, 10, 3], \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": [2030, 3, 5], \"expected\": [2030, 3, 5], \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": [2024, 6, 3], \"expected\": [2024, 6, 3], \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": [2024, 12, 30], \"expected\": [2024, 12, 30], \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": \"unknown convention\", \"expected\": \"unknown convention\", \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [2028, 8, 29], \"expected\": [2028, 8, 29], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [2019, 10, 31], \"expected\": [2019, 10, 31], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}