{"abstract":"Spans of more than four years are overstated by the extra leap days.","category":"Bond day-count conventions","checks":8,"contract":"Inputs start and end [y,m,d]. If end < start return \"end before start\". Days are actual days minus the number of 29 February dates lying in (start, end]. Return [days, days/365 rounded to 9 decimals].","contract_signature":"a, b","evaluation_group":"w2-bond_day_count_conventions-no-leap-365","failed_approach":"Counting only the start and end years ignores leap years in between.","family":"w2-bond_day_count_conventions-no-leap-365-multi-year-leap-count","id":"FA-61036","implementations":{"attempt":{"sha256":"ea861e44c92e800d1aa6e35ca970532fabfd64dda06767ea0787859a8ceac94b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(a, b):\n    A = datetime.date(*a)\n    B = datetime.date(*b)\n    if B < A:\n        return 'end before start'\n    def leap(y):\n        return (y % 4 == 0 and y % 100 != 0) or y % 400 == 0\n    leapdays = sum(1 for y in {A.year, B.year} if leap(y) and A < datetime.date(y, 2, 29) <= B)\n    days = (B - A).days - leapdays\n    return [days, round(days / 365, 9)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression multi-year leap count 1', [[2028, 1, 1], [2035, 3, 19]], [2632, 7.210958904]], ['regression multi-year leap count 2', [[2096, 2, 28], [2106, 10, 17]], [3881, 10.632876712]], ['partial repair probe 1', [[1999, 5, 21], [2003, 3, 20]], [1398, 3.830136986]], ['partial repair probe 2', [[2056, 10, 31], [2062, 8, 14]], [2112, 5.78630137]], ['boundary control 1', [[2024, 2, 29], [2025, 2, 28]], [365, 1.0]], ['boundary control 2', [[2024, 3, 1], [2024, 12, 31]], [305, 0.835616438]], ['normal control 1', [[2093, 5, 29], [2093, 9, 30]], [124, 0.339726027]], ['normal control 2', [[1904, 10, 23], [1905, 7, 21]], [271, 0.742465753]]], [['regression multi-year leap count 1', [[2053, 6, 28], [2064, 6, 5]], [3992, 10.936986301]], ['regression multi-year leap count 2', [[1959, 12, 30], [1964, 9, 16]], [1720, 4.712328767]], ['partial repair probe 1', [[1938, 2, 2], [1942, 6, 17]], [1595, 4.369863014]], ['partial repair probe 2', [[2102, 3, 21], [2106, 4, 21]], [1491, 4.084931507]], ['boundary control 1', [[2024, 2, 29], [2025, 2, 28]], [365, 1.0]], ['boundary control 2', [[2099, 1, 1], [2101, 1, 1]], [730, 2.0]], ['normal control 1', [[2095, 4, 29], [2095, 9, 2]], [126, 0.345205479]], ['normal control 2', [[2096, 1, 1], [2097, 12, 27]], [725, 1.98630137]]], [['regression multi-year leap count 1', [[2031, 4, 30], [2042, 4, 8]], [3993, 10.939726027]], ['regression multi-year leap count 2', [[2086, 8, 20], [2094, 3, 26]], [2773, 7.597260274]], ['partial repair probe 1', [[1978, 3, 20], [1983, 7, 7]], [1934, 5.298630137]], ['partial repair probe 2', [[2021, 1, 20], [2026, 2, 28]], [1864, 5.106849315]], ['boundary control 1', [[2024, 3, 1], [2024, 12, 31]], [305, 0.835616438]], ['boundary control 2', [[2023, 2, 28], [2024, 2, 29]], [365, 1.0]], ['normal control 1', [[2004, 1, 1], [2006, 5, 6]], [855, 2.342465753]], ['normal control 2', [[2061, 4, 26], [2061, 9, 24]], [151, 0.41369863]]], [['regression multi-year leap count 1', [[2016, 6, 29], [2024, 8, 6]], [2958, 8.104109589]], ['regression multi-year leap count 2', [[1995, 1, 29], [2001, 6, 8]], [2320, 6.356164384]], ['partial repair probe 1', [[2094, 10, 26], [2097, 2, 28]], [855, 2.342465753]], ['partial repair probe 2', [[2089, 3, 24], [2095, 12, 22]], [2463, 6.747945205]], ['boundary control 1', [[2023, 2, 28], [2024, 2, 29]], [365, 1.0]], ['boundary control 2', [[2020, 1, 1], [2020, 1, 1]], [0, 0.0]], ['normal control 1', [[2074, 2, 4], [2075, 2, 4]], [365, 1.0]], ['normal control 2', [[2076, 5, 16], [2076, 7, 27]], [72, 0.197260274]]], [['regression multi-year leap count 1', [[2011, 9, 13], [2020, 2, 16]], [3076, 8.42739726]], ['regression multi-year leap count 2', [[2037, 2, 6], [2047, 6, 19]], [3783, 10.364383562]], ['partial repair probe 1', [[2036, 10, 17], [2042, 2, 13]], [1944, 5.326027397]], ['partial repair probe 2', [[2013, 11, 1], [2019, 12, 24]], [2243, 6.145205479]], ['boundary control 1', [[2023, 2, 28], [2024, 2, 29]], [365, 1.0]], ['boundary control 2', [[2024, 2, 29], [2025, 2, 28]], [365, 1.0]], ['normal control 1', [[2000, 3, 15], [2004, 6, 27]], [1564, 4.284931507]], ['normal control 2', [[2024, 1, 1], [2024, 9, 26]], [268, 0.734246575]]]]\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":"543c1c8e90663e5530d9b106ad92bfc19f9968d5d5ae35a67e552c91efb94582","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(a, b):\n    A = datetime.date(*a)\n    B = datetime.date(*b)\n    if B < A:\n        return 'end before start'\n    def leap(y):\n        return (y % 4 == 0 and y % 100 != 0) or y % 400 == 0\n    leapdays = 1 if any(leap(y) and A < datetime.date(y, 2, 29) <= B for y in range(A.year, B.year + 1)) else 0\n    days = (B - A).days - leapdays\n    return [days, round(days / 365, 9)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression multi-year leap count 1', [[2028, 1, 1], [2035, 3, 19]], [2632, 7.210958904]], ['regression multi-year leap count 2', [[2096, 2, 28], [2106, 10, 17]], [3881, 10.632876712]], ['partial repair probe 1', [[1999, 5, 21], [2003, 3, 20]], [1398, 3.830136986]], ['partial repair probe 2', [[2056, 10, 31], [2062, 8, 14]], [2112, 5.78630137]], ['boundary control 1', [[2024, 2, 29], [2025, 2, 28]], [365, 1.0]], ['boundary control 2', [[2024, 3, 1], [2024, 12, 31]], [305, 0.835616438]], ['normal control 1', [[2093, 5, 29], [2093, 9, 30]], [124, 0.339726027]], ['normal control 2', [[1904, 10, 23], [1905, 7, 21]], [271, 0.742465753]]], [['regression multi-year leap count 1', [[2053, 6, 28], [2064, 6, 5]], [3992, 10.936986301]], ['regression multi-year leap count 2', [[1959, 12, 30], [1964, 9, 16]], [1720, 4.712328767]], ['partial repair probe 1', [[1938, 2, 2], [1942, 6, 17]], [1595, 4.369863014]], ['partial repair probe 2', [[2102, 3, 21], [2106, 4, 21]], [1491, 4.084931507]], ['boundary control 1', [[2024, 2, 29], [2025, 2, 28]], [365, 1.0]], ['boundary control 2', [[2099, 1, 1], [2101, 1, 1]], [730, 2.0]], ['normal control 1', [[2095, 4, 29], [2095, 9, 2]], [126, 0.345205479]], ['normal control 2', [[2096, 1, 1], [2097, 12, 27]], [725, 1.98630137]]], [['regression multi-year leap count 1', [[2031, 4, 30], [2042, 4, 8]], [3993, 10.939726027]], ['regression multi-year leap count 2', [[2086, 8, 20], [2094, 3, 26]], [2773, 7.597260274]], ['partial repair probe 1', [[1978, 3, 20], [1983, 7, 7]], [1934, 5.298630137]], ['partial repair probe 2', [[2021, 1, 20], [2026, 2, 28]], [1864, 5.106849315]], ['boundary control 1', [[2024, 3, 1], [2024, 12, 31]], [305, 0.835616438]], ['boundary control 2', [[2023, 2, 28], [2024, 2, 29]], [365, 1.0]], ['normal control 1', [[2004, 1, 1], [2006, 5, 6]], [855, 2.342465753]], ['normal control 2', [[2061, 4, 26], [2061, 9, 24]], [151, 0.41369863]]], [['regression multi-year leap count 1', [[2016, 6, 29], [2024, 8, 6]], [2958, 8.104109589]], ['regression multi-year leap count 2', [[1995, 1, 29], [2001, 6, 8]], [2320, 6.356164384]], ['partial repair probe 1', [[2094, 10, 26], [2097, 2, 28]], [855, 2.342465753]], ['partial repair probe 2', [[2089, 3, 24], [2095, 12, 22]], [2463, 6.747945205]], ['boundary control 1', [[2023, 2, 28], [2024, 2, 29]], [365, 1.0]], ['boundary control 2', [[2020, 1, 1], [2020, 1, 1]], [0, 0.0]], ['normal control 1', [[2074, 2, 4], [2075, 2, 4]], [365, 1.0]], ['normal control 2', [[2076, 5, 16], [2076, 7, 27]], [72, 0.197260274]]], [['regression multi-year leap count 1', [[2011, 9, 13], [2020, 2, 16]], [3076, 8.42739726]], ['regression multi-year leap count 2', [[2037, 2, 6], [2047, 6, 19]], [3783, 10.364383562]], ['partial repair probe 1', [[2036, 10, 17], [2042, 2, 13]], [1944, 5.326027397]], ['partial repair probe 2', [[2013, 11, 1], [2019, 12, 24]], [2243, 6.145205479]], ['boundary control 1', [[2023, 2, 28], [2024, 2, 29]], [365, 1.0]], ['boundary control 2', [[2024, 2, 29], [2025, 2, 28]], [365, 1.0]], ['normal control 1', [[2000, 3, 15], [2004, 6, 27]], [1564, 4.284931507]], ['normal control 2', [[2024, 1, 1], [2024, 9, 26]], [268, 0.734246575]]]]\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-no-leap-365-multi-year-leap-count","generated_at":"2026-09-29T14:46:51.391171+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.","root_cause":"The leap-day adjustment is a yes/no flag instead of a count.","sha256":"d4803d090ba57a520226f20d4853b4b814896a801728afbbba5b74c3c5e38ac3","title":"NL/365 no-leap day count: at most one leap day is removed · 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":45.605,"exit_code":1,"observations":[{"actual":[2633,7.21369863],"check":"regression multi-year leap count 1","expected":[2632,7.210958904],"passed":false},{"actual":[3882,10.635616438],"check":"regression multi-year leap count 2","expected":[3881,10.632876712],"passed":false},{"actual":[1399,3.832876712],"check":"partial repair probe 1","expected":[1398,3.830136986],"passed":false},{"actual":[2113,5.789041096],"check":"partial repair probe 2","expected":[2112,5.78630137],"passed":false},{"actual":[365,1.0],"check":"boundary control 1","expected":[365,1.0],"passed":true},{"actual":[305,0.835616438],"check":"boundary control 2","expected":[305,0.835616438],"passed":true},{"actual":[124,0.339726027],"check":"normal control 1","expected":[124,0.339726027],"passed":true},{"actual":[271,0.742465753],"check":"normal control 2","expected":[271,0.742465753],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression multi-year leap count 1\", \"actual\": [2633, 7.21369863], \"expected\": [2632, 7.210958904], \"passed\": false}, {\"check\": \"regression multi-year leap count 2\", \"actual\": [3882, 10.635616438], \"expected\": [3881, 10.632876712], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [1399, 3.832876712], \"expected\": [1398, 3.830136986], \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": [2113, 5.789041096], \"expected\": [2112, 5.78630137], \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": [365, 1.0], \"expected\": [365, 1.0], \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": [305, 0.835616438], \"expected\": [305, 0.835616438], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [124, 0.339726027], \"expected\": [124, 0.339726027], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [271, 0.742465753], \"expected\": [271, 0.742465753], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.929,"exit_code":1,"observations":[{"actual":[2633,7.21369863],"check":"regression multi-year leap count 1","expected":[2632,7.210958904],"passed":false},{"actual":[3882,10.635616438],"check":"regression multi-year leap count 2","expected":[3881,10.632876712],"passed":false},{"actual":[1398,3.830136986],"check":"partial repair probe 1","expected":[1398,3.830136986],"passed":true},{"actual":[2112,5.78630137],"check":"partial repair probe 2","expected":[2112,5.78630137],"passed":true},{"actual":[365,1.0],"check":"boundary control 1","expected":[365,1.0],"passed":true},{"actual":[305,0.835616438],"check":"boundary control 2","expected":[305,0.835616438],"passed":true},{"actual":[124,0.339726027],"check":"normal control 1","expected":[124,0.339726027],"passed":true},{"actual":[271,0.742465753],"check":"normal control 2","expected":[271,0.742465753],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression multi-year leap count 1\", \"actual\": [2633, 7.21369863], \"expected\": [2632, 7.210958904], \"passed\": false}, {\"check\": \"regression multi-year leap count 2\", \"actual\": [3882, 10.635616438], \"expected\": [3881, 10.632876712], \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": [1398, 3.830136986], \"expected\": [1398, 3.830136986], \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": [2112, 5.78630137], \"expected\": [2112, 5.78630137], \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": [365, 1.0], \"expected\": [365, 1.0], \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": [305, 0.835616438], \"expected\": [305, 0.835616438], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [124, 0.339726027], \"expected\": [124, 0.339726027], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [271, 0.742465753], \"expected\": [271, 0.742465753], \"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."}}