{"abstract":"Accrual factors are understated for long spans at high rates.","category":"Bond day-count conventions","checks":8,"contract":"Inputs start and end [y,m,d], a holiday list (may contain weekend dates and duplicates) and an annual rate in percent. bd counts weekdays in [start, end) that are not holidays. Factor = (1 + rate/100)^(bd/252). Return [bd, factor rounded to 8 decimals].","evaluation_group":"w2-bond_day_count_conventions-business-252","failed_approach":"Daily compounding of rate/252 is a different convention and still disagrees.","family":"w2-bond_day_count_conventions-business-252-compounding-form","id":"FA-61161","implementations":{"attempt":{"sha256":"c81860c872993677b74f83de44f981f4305566a194817b127c1751e92e79194a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(start, end, holidays, rate):\n    S = datetime.date(*start)\n    E = datetime.date(*end)\n    H = {datetime.date(*h) for h in holidays}\n    bd = 0\n    x = S\n    while x < E:\n        if x.weekday() < 5 and x not in H:\n            bd += 1\n        x += datetime.timedelta(days=1)\n    factor = (1 + rate / 100 / 252) ** bd\n    return [bd, round(factor, 8)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression compounding form 1', [[2029, 6, 28], [2029, 6, 30], [], 10.75], [2, 1.00081069]], ['regression compounding form 2', [[2027, 8, 2], [2027, 8, 5], [[2027, 8, 9], [2027, 8, 5], [2027, 8, 6], [2027, 8, 8]], 10.75], [3, 1.00121628]], ['partial repair probe 1', [[2025, 3, 31], [2026, 3, 18], [], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2022, 8, 31], [2022, 8, 31], [[2022, 9, 5], [2022, 9, 5], [2022, 8, 28], [2022, 8, 28], [2022, 9, 2], [2022, 9, 2]], 6.5], [0, 1.0]], ['normal control 2', [[2023, 1, 15], [2023, 1, 15], [[2023, 1, 12], [2023, 1, 17], [2023, 1, 11], [2023, 1, 16], [2023, 1, 16], [2023, 1, 15], [2023, 1, 15], [2023, 1, 13]], 13.65], [0, 1.0]], ['normal control 3', [[2028, 11, 10], [2028, 11, 10], [[2028, 11, 13], [2028, 11, 13], [2028, 11, 15], [2028, 11, 5]], 10.75], [0, 1.0]], ['normal control 4', [[2024, 2, 17], [2024, 2, 17], [[2024, 2, 16], [2024, 2, 18], [2024, 2, 18]], 13.65], [0, 1.0]]], [['regression compounding form 1', [[2020, 6, 3], [2020, 9, 23], [[2020, 6, 19], [2020, 8, 17], [2020, 7, 4], [2020, 9, 7]], 13.65], [77, 1.0398712]], ['regression compounding form 2', [[2019, 3, 24], [2019, 4, 3], [[2019, 3, 19]], 2.0], [7, 1.00055022]], ['partial repair probe 1', [[2025, 12, 6], [2026, 11, 30], [[2026, 1, 13], [2026, 2, 18], [2026, 6, 16]], 6.5], [252, 1.065]], ['partial repair probe 2', [[2022, 12, 15], [2023, 12, 3], [[2023, 10, 22], [2023, 10, 22]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2020, 6, 29], [2020, 6, 29], [[2020, 7, 2], [2020, 6, 27], [2020, 6, 24]], 13.65], [0, 1.0]], ['normal control 2', [[2027, 3, 31], [2027, 3, 31], [[2027, 3, 26], [2027, 3, 28], [2027, 3, 30], [2027, 4, 2]], 2.0], [0, 1.0]], ['normal control 3', [[2029, 1, 25], [2029, 1, 25], [[2029, 1, 25], [2029, 1, 25], [2029, 1, 25]], 13.65], [0, 1.0]]], [['regression compounding form 1', [[2030, 3, 10], [2030, 11, 11], [[2030, 7, 1]], 6.5], [174, 1.04444182]], ['regression compounding form 2', [[2022, 7, 6], [2022, 12, 21], [], 6.5], [120, 1.03044217]], ['partial repair probe 1', [[2026, 5, 21], [2027, 5, 8], [], 2.0], [252, 1.02]], ['partial repair probe 2', [[2029, 11, 30], [2030, 11, 19], [], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2021, 2, 28], [2021, 2, 28], [[2021, 3, 4], [2021, 3, 4], [2021, 2, 26]], 13.65], [0, 1.0]], ['normal control 2', [[2029, 8, 30], [2029, 8, 30], [[2029, 9, 4], [2029, 9, 4], [2029, 8, 29], [2029, 9, 1], [2029, 9, 1], [2029, 8, 29], [2029, 9, 4]], 13.65], [0, 1.0]], ['normal control 3', [[2024, 5, 21], [2024, 5, 21], [[2024, 5, 26], [2024, 5, 26], [2024, 5, 26]], 10.75], [0, 1.0]]], [['regression compounding form 1', [[2020, 6, 14], [2021, 2, 10], [[2020, 7, 10], [2020, 8, 25], [2020, 12, 17], [2020, 10, 19], [2021, 2, 12], [2020, 10, 28]], 2.0], [167, 1.01320966]], ['regression compounding form 2', [[2021, 7, 7], [2021, 11, 25], [[2021, 10, 4], [2021, 10, 4], [2021, 8, 14]], 10.75], [100, 1.04135]], ['partial repair probe 1', [[2025, 12, 31], [2026, 12, 21], [[2026, 4, 26], [2026, 11, 16], [2026, 11, 16], [2026, 11, 14], [2026, 11, 14]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2023, 1, 1], [2023, 1, 1], [[2023, 1, 6], [2023, 1, 2]], 6.5], [0, 1.0]], ['normal control 2', [[2026, 5, 16], [2026, 5, 19], [[2026, 5, 13], [2026, 5, 17], [2026, 5, 16], [2026, 5, 18], [2026, 5, 18], [2026, 5, 16], [2026, 5, 16], [2026, 5, 14]], 13.65], [0, 1.0]], ['normal control 3', [[2026, 5, 9], [2026, 5, 10], [], 2.0], [0, 1.0]], ['normal control 4', [[2021, 5, 15], [2021, 5, 15], [[2021, 5, 19], [2021, 5, 19]], 6.5], [0, 1.0]]], [['regression compounding form 1', [[2026, 11, 30], [2026, 12, 2], [[2026, 11, 27], [2026, 11, 27]], 6.5], [2, 1.00049992]], ['regression compounding form 2', [[2030, 8, 30], [2030, 9, 8], [[2030, 9, 5], [2030, 9, 12], [2030, 9, 1], [2030, 9, 11], [2030, 9, 5]], 10.75], [5, 1.00202795]], ['partial repair probe 1', [[2023, 2, 28], [2024, 2, 17], [[2023, 6, 17], [2023, 6, 17], [2023, 4, 13], [2023, 8, 2], [2023, 2, 25]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2024, 7, 28], [2024, 7, 29], [[2024, 7, 26], [2024, 7, 26], [2024, 7, 29], [2024, 7, 29]], 10.75], [0, 1.0]], ['normal control 2', [[2023, 10, 27], [2023, 10, 27], [[2023, 10, 22], [2023, 10, 22], [2023, 10, 25], [2023, 10, 25], [2023, 10, 25]], 2.0], [0, 1.0]], ['normal control 3', [[2025, 1, 28], [2025, 1, 28], [[2025, 1, 24], [2025, 2, 2], [2025, 2, 2], [2025, 1, 27]], 13.65], [0, 1.0]], ['normal control 4', [[2026, 9, 28], [2026, 9, 28], [[2026, 9, 23], [2026, 9, 27], [2026, 9, 23], [2026, 10, 2], [2026, 9, 23], [2026, 9, 23], [2026, 9, 23]], 13.65], [0, 1.0]]]]\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":"445e4dc5d78813799c24e0e6125f52014195971cefe932529e4bf0e22879a2f5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(start, end, holidays, rate):\n    S = datetime.date(*start)\n    E = datetime.date(*end)\n    H = {datetime.date(*h) for h in holidays}\n    bd = 0\n    x = S\n    while x < E:\n        if x.weekday() < 5 and x not in H:\n            bd += 1\n        x += datetime.timedelta(days=1)\n    factor = 1 + rate / 100 * bd / 252\n    return [bd, round(factor, 8)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression compounding form 1', [[2029, 6, 28], [2029, 6, 30], [], 10.75], [2, 1.00081069]], ['regression compounding form 2', [[2027, 8, 2], [2027, 8, 5], [[2027, 8, 9], [2027, 8, 5], [2027, 8, 6], [2027, 8, 8]], 10.75], [3, 1.00121628]], ['partial repair probe 1', [[2025, 3, 31], [2026, 3, 18], [], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2022, 8, 31], [2022, 8, 31], [[2022, 9, 5], [2022, 9, 5], [2022, 8, 28], [2022, 8, 28], [2022, 9, 2], [2022, 9, 2]], 6.5], [0, 1.0]], ['normal control 2', [[2023, 1, 15], [2023, 1, 15], [[2023, 1, 12], [2023, 1, 17], [2023, 1, 11], [2023, 1, 16], [2023, 1, 16], [2023, 1, 15], [2023, 1, 15], [2023, 1, 13]], 13.65], [0, 1.0]], ['normal control 3', [[2028, 11, 10], [2028, 11, 10], [[2028, 11, 13], [2028, 11, 13], [2028, 11, 15], [2028, 11, 5]], 10.75], [0, 1.0]], ['normal control 4', [[2024, 2, 17], [2024, 2, 17], [[2024, 2, 16], [2024, 2, 18], [2024, 2, 18]], 13.65], [0, 1.0]]], [['regression compounding form 1', [[2020, 6, 3], [2020, 9, 23], [[2020, 6, 19], [2020, 8, 17], [2020, 7, 4], [2020, 9, 7]], 13.65], [77, 1.0398712]], ['regression compounding form 2', [[2019, 3, 24], [2019, 4, 3], [[2019, 3, 19]], 2.0], [7, 1.00055022]], ['partial repair probe 1', [[2025, 12, 6], [2026, 11, 30], [[2026, 1, 13], [2026, 2, 18], [2026, 6, 16]], 6.5], [252, 1.065]], ['partial repair probe 2', [[2022, 12, 15], [2023, 12, 3], [[2023, 10, 22], [2023, 10, 22]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2020, 6, 29], [2020, 6, 29], [[2020, 7, 2], [2020, 6, 27], [2020, 6, 24]], 13.65], [0, 1.0]], ['normal control 2', [[2027, 3, 31], [2027, 3, 31], [[2027, 3, 26], [2027, 3, 28], [2027, 3, 30], [2027, 4, 2]], 2.0], [0, 1.0]], ['normal control 3', [[2029, 1, 25], [2029, 1, 25], [[2029, 1, 25], [2029, 1, 25], [2029, 1, 25]], 13.65], [0, 1.0]]], [['regression compounding form 1', [[2030, 3, 10], [2030, 11, 11], [[2030, 7, 1]], 6.5], [174, 1.04444182]], ['regression compounding form 2', [[2022, 7, 6], [2022, 12, 21], [], 6.5], [120, 1.03044217]], ['partial repair probe 1', [[2026, 5, 21], [2027, 5, 8], [], 2.0], [252, 1.02]], ['partial repair probe 2', [[2029, 11, 30], [2030, 11, 19], [], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2021, 2, 28], [2021, 2, 28], [[2021, 3, 4], [2021, 3, 4], [2021, 2, 26]], 13.65], [0, 1.0]], ['normal control 2', [[2029, 8, 30], [2029, 8, 30], [[2029, 9, 4], [2029, 9, 4], [2029, 8, 29], [2029, 9, 1], [2029, 9, 1], [2029, 8, 29], [2029, 9, 4]], 13.65], [0, 1.0]], ['normal control 3', [[2024, 5, 21], [2024, 5, 21], [[2024, 5, 26], [2024, 5, 26], [2024, 5, 26]], 10.75], [0, 1.0]]], [['regression compounding form 1', [[2020, 6, 14], [2021, 2, 10], [[2020, 7, 10], [2020, 8, 25], [2020, 12, 17], [2020, 10, 19], [2021, 2, 12], [2020, 10, 28]], 2.0], [167, 1.01320966]], ['regression compounding form 2', [[2021, 7, 7], [2021, 11, 25], [[2021, 10, 4], [2021, 10, 4], [2021, 8, 14]], 10.75], [100, 1.04135]], ['partial repair probe 1', [[2025, 12, 31], [2026, 12, 21], [[2026, 4, 26], [2026, 11, 16], [2026, 11, 16], [2026, 11, 14], [2026, 11, 14]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2023, 1, 1], [2023, 1, 1], [[2023, 1, 6], [2023, 1, 2]], 6.5], [0, 1.0]], ['normal control 2', [[2026, 5, 16], [2026, 5, 19], [[2026, 5, 13], [2026, 5, 17], [2026, 5, 16], [2026, 5, 18], [2026, 5, 18], [2026, 5, 16], [2026, 5, 16], [2026, 5, 14]], 13.65], [0, 1.0]], ['normal control 3', [[2026, 5, 9], [2026, 5, 10], [], 2.0], [0, 1.0]], ['normal control 4', [[2021, 5, 15], [2021, 5, 15], [[2021, 5, 19], [2021, 5, 19]], 6.5], [0, 1.0]]], [['regression compounding form 1', [[2026, 11, 30], [2026, 12, 2], [[2026, 11, 27], [2026, 11, 27]], 6.5], [2, 1.00049992]], ['regression compounding form 2', [[2030, 8, 30], [2030, 9, 8], [[2030, 9, 5], [2030, 9, 12], [2030, 9, 1], [2030, 9, 11], [2030, 9, 5]], 10.75], [5, 1.00202795]], ['partial repair probe 1', [[2023, 2, 28], [2024, 2, 17], [[2023, 6, 17], [2023, 6, 17], [2023, 4, 13], [2023, 8, 2], [2023, 2, 25]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2024, 7, 28], [2024, 7, 29], [[2024, 7, 26], [2024, 7, 26], [2024, 7, 29], [2024, 7, 29]], 10.75], [0, 1.0]], ['normal control 2', [[2023, 10, 27], [2023, 10, 27], [[2023, 10, 22], [2023, 10, 22], [2023, 10, 25], [2023, 10, 25], [2023, 10, 25]], 2.0], [0, 1.0]], ['normal control 3', [[2025, 1, 28], [2025, 1, 28], [[2025, 1, 24], [2025, 2, 2], [2025, 2, 2], [2025, 1, 27]], 13.65], [0, 1.0]], ['normal control 4', [[2026, 9, 28], [2026, 9, 28], [[2026, 9, 23], [2026, 9, 27], [2026, 9, 23], [2026, 10, 2], [2026, 9, 23], [2026, 9, 23], [2026, 9, 23]], 13.65], [0, 1.0]]]]\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":"dda10153e916e74c5dc9b3bc0a63013991715e2a738cb45f11c51ab40e60e213","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(start, end, holidays, rate):\n    S = datetime.date(*start)\n    E = datetime.date(*end)\n    H = {datetime.date(*h) for h in holidays}\n    bd = 0\n    x = S\n    while x < E:\n        if x.weekday() < 5 and x not in H:\n            bd += 1\n        x += datetime.timedelta(days=1)\n    factor = (1 + rate / 100) ** (bd / 252)\n    return [bd, round(factor, 8)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression compounding form 1', [[2029, 6, 28], [2029, 6, 30], [], 10.75], [2, 1.00081069]], ['regression compounding form 2', [[2027, 8, 2], [2027, 8, 5], [[2027, 8, 9], [2027, 8, 5], [2027, 8, 6], [2027, 8, 8]], 10.75], [3, 1.00121628]], ['partial repair probe 1', [[2025, 3, 31], [2026, 3, 18], [], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2022, 8, 31], [2022, 8, 31], [[2022, 9, 5], [2022, 9, 5], [2022, 8, 28], [2022, 8, 28], [2022, 9, 2], [2022, 9, 2]], 6.5], [0, 1.0]], ['normal control 2', [[2023, 1, 15], [2023, 1, 15], [[2023, 1, 12], [2023, 1, 17], [2023, 1, 11], [2023, 1, 16], [2023, 1, 16], [2023, 1, 15], [2023, 1, 15], [2023, 1, 13]], 13.65], [0, 1.0]], ['normal control 3', [[2028, 11, 10], [2028, 11, 10], [[2028, 11, 13], [2028, 11, 13], [2028, 11, 15], [2028, 11, 5]], 10.75], [0, 1.0]], ['normal control 4', [[2024, 2, 17], [2024, 2, 17], [[2024, 2, 16], [2024, 2, 18], [2024, 2, 18]], 13.65], [0, 1.0]]], [['regression compounding form 1', [[2020, 6, 3], [2020, 9, 23], [[2020, 6, 19], [2020, 8, 17], [2020, 7, 4], [2020, 9, 7]], 13.65], [77, 1.0398712]], ['regression compounding form 2', [[2019, 3, 24], [2019, 4, 3], [[2019, 3, 19]], 2.0], [7, 1.00055022]], ['partial repair probe 1', [[2025, 12, 6], [2026, 11, 30], [[2026, 1, 13], [2026, 2, 18], [2026, 6, 16]], 6.5], [252, 1.065]], ['partial repair probe 2', [[2022, 12, 15], [2023, 12, 3], [[2023, 10, 22], [2023, 10, 22]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2020, 6, 29], [2020, 6, 29], [[2020, 7, 2], [2020, 6, 27], [2020, 6, 24]], 13.65], [0, 1.0]], ['normal control 2', [[2027, 3, 31], [2027, 3, 31], [[2027, 3, 26], [2027, 3, 28], [2027, 3, 30], [2027, 4, 2]], 2.0], [0, 1.0]], ['normal control 3', [[2029, 1, 25], [2029, 1, 25], [[2029, 1, 25], [2029, 1, 25], [2029, 1, 25]], 13.65], [0, 1.0]]], [['regression compounding form 1', [[2030, 3, 10], [2030, 11, 11], [[2030, 7, 1]], 6.5], [174, 1.04444182]], ['regression compounding form 2', [[2022, 7, 6], [2022, 12, 21], [], 6.5], [120, 1.03044217]], ['partial repair probe 1', [[2026, 5, 21], [2027, 5, 8], [], 2.0], [252, 1.02]], ['partial repair probe 2', [[2029, 11, 30], [2030, 11, 19], [], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2021, 2, 28], [2021, 2, 28], [[2021, 3, 4], [2021, 3, 4], [2021, 2, 26]], 13.65], [0, 1.0]], ['normal control 2', [[2029, 8, 30], [2029, 8, 30], [[2029, 9, 4], [2029, 9, 4], [2029, 8, 29], [2029, 9, 1], [2029, 9, 1], [2029, 8, 29], [2029, 9, 4]], 13.65], [0, 1.0]], ['normal control 3', [[2024, 5, 21], [2024, 5, 21], [[2024, 5, 26], [2024, 5, 26], [2024, 5, 26]], 10.75], [0, 1.0]]], [['regression compounding form 1', [[2020, 6, 14], [2021, 2, 10], [[2020, 7, 10], [2020, 8, 25], [2020, 12, 17], [2020, 10, 19], [2021, 2, 12], [2020, 10, 28]], 2.0], [167, 1.01320966]], ['regression compounding form 2', [[2021, 7, 7], [2021, 11, 25], [[2021, 10, 4], [2021, 10, 4], [2021, 8, 14]], 10.75], [100, 1.04135]], ['partial repair probe 1', [[2025, 12, 31], [2026, 12, 21], [[2026, 4, 26], [2026, 11, 16], [2026, 11, 16], [2026, 11, 14], [2026, 11, 14]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2023, 1, 1], [2023, 1, 1], [[2023, 1, 6], [2023, 1, 2]], 6.5], [0, 1.0]], ['normal control 2', [[2026, 5, 16], [2026, 5, 19], [[2026, 5, 13], [2026, 5, 17], [2026, 5, 16], [2026, 5, 18], [2026, 5, 18], [2026, 5, 16], [2026, 5, 16], [2026, 5, 14]], 13.65], [0, 1.0]], ['normal control 3', [[2026, 5, 9], [2026, 5, 10], [], 2.0], [0, 1.0]], ['normal control 4', [[2021, 5, 15], [2021, 5, 15], [[2021, 5, 19], [2021, 5, 19]], 6.5], [0, 1.0]]], [['regression compounding form 1', [[2026, 11, 30], [2026, 12, 2], [[2026, 11, 27], [2026, 11, 27]], 6.5], [2, 1.00049992]], ['regression compounding form 2', [[2030, 8, 30], [2030, 9, 8], [[2030, 9, 5], [2030, 9, 12], [2030, 9, 1], [2030, 9, 11], [2030, 9, 5]], 10.75], [5, 1.00202795]], ['partial repair probe 1', [[2023, 2, 28], [2024, 2, 17], [[2023, 6, 17], [2023, 6, 17], [2023, 4, 13], [2023, 8, 2], [2023, 2, 25]], 2.0], [252, 1.02]], ['boundary control 1', [[2024, 5, 6], [2024, 5, 6], [], 10.0], [0, 1.0]], ['normal control 1', [[2024, 7, 28], [2024, 7, 29], [[2024, 7, 26], [2024, 7, 26], [2024, 7, 29], [2024, 7, 29]], 10.75], [0, 1.0]], ['normal control 2', [[2023, 10, 27], [2023, 10, 27], [[2023, 10, 22], [2023, 10, 22], [2023, 10, 25], [2023, 10, 25], [2023, 10, 25]], 2.0], [0, 1.0]], ['normal control 3', [[2025, 1, 28], [2025, 1, 28], [[2025, 1, 24], [2025, 2, 2], [2025, 2, 2], [2025, 1, 27]], 13.65], [0, 1.0]], ['normal control 4', [[2026, 9, 28], [2026, 9, 28], [[2026, 9, 23], [2026, 9, 27], [2026, 9, 23], [2026, 10, 2], [2026, 9, 23], [2026, 9, 23], [2026, 9, 23]], 13.65], [0, 1.0]]]]\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-252-compounding-form","generated_at":"2026-09-29T14:46:52.633667+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":"Compound the annual rate to the power bd/252.","root_cause":"The factor uses 1 + rate*bd/252 instead of exponential compounding.","sha256":"35f6d262cb7c47ae34d58b0444eda395a63cabb034be87e45f83f64bfa3c9cf5","title":"Business/252 day count with daily compounding factor: the annual rate is applied as simple interest · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.36,"exit_code":1,"observations":[{"actual":[2,1.00085336],"check":"regression compounding form 1","expected":[2,1.00081069],"passed":false},{"actual":[3,1.00128031],"check":"regression compounding form 2","expected":[3,1.00121628],"passed":false},{"actual":[252,1.02020053],"check":"partial repair probe 1","expected":[252,1.02],"passed":false},{"actual":[0,1.0],"check":"boundary control 1","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 1","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 2","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 3","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 4","expected":[0,1.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression compounding form 1\", \"actual\": [2, 1.00085336], \"expected\": [2, 1.00081069], \"passed\": false}, {\"check\": \"regression compounding form 2\", \"actual\": [3, 1.00128031], \"expected\": [3, 1.00121628], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [252, 1.02020053], \"expected\": [252, 1.02], \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.972,"exit_code":1,"observations":[{"actual":[2,1.00085317],"check":"regression compounding form 1","expected":[2,1.00081069],"passed":false},{"actual":[3,1.00127976],"check":"regression compounding form 2","expected":[3,1.00121628],"passed":false},{"actual":[252,1.02],"check":"partial repair probe 1","expected":[252,1.02],"passed":true},{"actual":[0,1.0],"check":"boundary control 1","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 1","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 2","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 3","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 4","expected":[0,1.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression compounding form 1\", \"actual\": [2, 1.00085317], \"expected\": [2, 1.00081069], \"passed\": false}, {\"check\": \"regression compounding form 2\", \"actual\": [3, 1.00127976], \"expected\": [3, 1.00121628], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [252, 1.02], \"expected\": [252, 1.02], \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.668,"exit_code":0,"observations":[{"actual":[2,1.00081069],"check":"regression compounding form 1","expected":[2,1.00081069],"passed":true},{"actual":[3,1.00121628],"check":"regression compounding form 2","expected":[3,1.00121628],"passed":true},{"actual":[252,1.02],"check":"partial repair probe 1","expected":[252,1.02],"passed":true},{"actual":[0,1.0],"check":"boundary control 1","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 1","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 2","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 3","expected":[0,1.0],"passed":true},{"actual":[0,1.0],"check":"normal control 4","expected":[0,1.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression compounding form 1\", \"actual\": [2, 1.00081069], \"expected\": [2, 1.00081069], \"passed\": true}, {\"check\": \"regression compounding form 2\", \"actual\": [3, 1.00121628], \"expected\": [3, 1.00121628], \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": [252, 1.02], \"expected\": [252, 1.02], \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [0, 1.0], \"expected\": [0, 1.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}