{"abstract":"Combined basis and compounding conversions drift from the contract value.","category":"Bond day-count conventions","checks":8,"contract":"Inputs a nominal rate, from/to day-count year basis (360 or 365), from/to compounding frequency (0 = continuous). First rescale the nominal rate by to_basis/from_basis, then convert compounding through the effective annual rate: EAR = (1+r/m)^m - 1 or e^r - 1; target nominal = m*((1+EAR)^(1/m)-1) or ln(1+EAR). Return rounded to 10 decimals.","contract_signature":"rate, from_basis, to_basis, from_comp, to_comp","evaluation_group":"w2-bond_day_count_conventions-rate-basis-conversion","failed_approach":"Rescaling the effective annual rate instead of the nominal rate is still out of order.","family":"w2-bond_day_count_conventions-rate-basis-conversion-conversion-order","id":"FA-61296","implementations":{"attempt":{"sha256":"3a295e93d7b8dd2e0f0c09add58f8e1bd271bb6722654b872b7948e5f47ed288","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rate, from_basis, to_basis, from_comp, to_comp):\n    def ear(r, m):\n        return math.exp(r) - 1 if m == 0 else (1 + r / m) ** m - 1\n    def nominal(e, m):\n        return math.log(1 + e) if m == 0 else m * ((1 + e) ** (1 / m) - 1)\n    return round(nominal(ear(rate, from_comp) * to_basis / from_basis, to_comp), 10)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression conversion order 1', [0.0125, 360, 365, 12, 0], 0.0126669233], ['regression conversion order 2', [0.03, 365, 360, 2, 0], 0.0293722984], ['partial repair probe 1', [0.001, 365, 360, 12, 12], 0.0009863014], ['partial repair probe 2', [0.03, 360, 365, 2, 2], 0.0304166667], ['boundary control 1', [0.05, 365, 365, 0, 0], 0.05], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.15, 365, 365, 2, 0], 0.1446413232], ['normal control 2', [0.15, 365, 365, 2, 2], 0.15]], [['regression conversion order 1', [0.0125, 360, 365, 4, 0], 0.0126535759], ['regression conversion order 2', [0.03, 365, 360, 1, 4], 0.0292662784], ['partial repair probe 1', [0.0125, 360, 365, 0, 0], 0.0126736111], ['partial repair probe 2', [0.0125, 365, 360, 12, 12], 0.0123287671], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.03, 360, 360, 0, 1], 0.030454534], ['normal control 2', [0.03, 365, 365, 1, 12], 0.0295952373]], [['regression conversion order 1', [0.0125, 360, 365, 0, 4], 0.0126937099], ['regression conversion order 2', [0.08, 365, 360, 1, 4], 0.0766713681], ['partial repair probe 1', [0.001, 365, 360, 0, 0], 0.0009863014], ['partial repair probe 2', [0.08, 360, 365, 4, 4], 0.0811111111], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 365, 365, 0, 0], 0.05], ['normal control 1', [0.03, 360, 360, 0, 2], 0.0302261292], ['normal control 2', [0.08, 365, 365, 4, 0], 0.0792105092]], [['regression conversion order 1', [0.15, 360, 365, 2, 12], 0.1474772429], ['regression conversion order 2', [0.08, 360, 365, 4, 0], 0.0802996855], ['partial repair probe 1', [0.0475, 365, 360, 4, 4], 0.0468493151], ['partial repair probe 2', [0.03, 360, 365, 12, 12], 0.0304166667], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.0125, 365, 365, 2, 1], 0.0125390625], ['normal control 2', [0.001, 365, 365, 4, 2], 0.001000125]], [['regression conversion order 1', [0.001, 365, 360, 1, 0], 0.0009858153], ['regression conversion order 2', [0.001, 360, 365, 2, 4], 0.0010137604], ['partial repair probe 1', [0.0125, 360, 365, 12, 12], 0.0126736111], ['partial repair probe 2', [0.08, 360, 365, 2, 2], 0.0811111111], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.0475, 365, 365, 1, 12], 0.0464962199], ['normal control 2', [0.0125, 360, 360, 1, 0], 0.01242252]]]\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":"7a2994596344e2d33c5bd3b338970a56212b8d48eb5331597b0f9cd8c0ff4c00","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(rate, from_basis, to_basis, from_comp, to_comp):\n    def ear(r, m):\n        return math.exp(r) - 1 if m == 0 else (1 + r / m) ** m - 1\n    def nominal(e, m):\n        return math.log(1 + e) if m == 0 else m * ((1 + e) ** (1 / m) - 1)\n    return round(nominal(ear(rate, from_comp), to_comp) * to_basis / from_basis, 10)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression conversion order 1', [0.0125, 360, 365, 12, 0], 0.0126669233], ['regression conversion order 2', [0.03, 365, 360, 2, 0], 0.0293722984], ['partial repair probe 1', [0.001, 365, 360, 12, 12], 0.0009863014], ['partial repair probe 2', [0.03, 360, 365, 2, 2], 0.0304166667], ['boundary control 1', [0.05, 365, 365, 0, 0], 0.05], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.15, 365, 365, 2, 0], 0.1446413232], ['normal control 2', [0.15, 365, 365, 2, 2], 0.15]], [['regression conversion order 1', [0.0125, 360, 365, 4, 0], 0.0126535759], ['regression conversion order 2', [0.03, 365, 360, 1, 4], 0.0292662784], ['partial repair probe 1', [0.0125, 360, 365, 0, 0], 0.0126736111], ['partial repair probe 2', [0.0125, 365, 360, 12, 12], 0.0123287671], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.03, 360, 360, 0, 1], 0.030454534], ['normal control 2', [0.03, 365, 365, 1, 12], 0.0295952373]], [['regression conversion order 1', [0.0125, 360, 365, 0, 4], 0.0126937099], ['regression conversion order 2', [0.08, 365, 360, 1, 4], 0.0766713681], ['partial repair probe 1', [0.001, 365, 360, 0, 0], 0.0009863014], ['partial repair probe 2', [0.08, 360, 365, 4, 4], 0.0811111111], ['boundary control 1', [0.05, 360, 360, 2, 2], 0.05], ['boundary control 2', [0.05, 365, 365, 0, 0], 0.05], ['normal control 1', [0.03, 360, 360, 0, 2], 0.0302261292], ['normal control 2', [0.08, 365, 365, 4, 0], 0.0792105092]], [['regression conversion order 1', [0.15, 360, 365, 2, 12], 0.1474772429], ['regression conversion order 2', [0.08, 360, 365, 4, 0], 0.0802996855], ['partial repair probe 1', [0.0475, 365, 360, 4, 4], 0.0468493151], ['partial repair probe 2', [0.03, 360, 365, 12, 12], 0.0304166667], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.0125, 365, 365, 2, 1], 0.0125390625], ['normal control 2', [0.001, 365, 365, 4, 2], 0.001000125]], [['regression conversion order 1', [0.001, 365, 360, 1, 0], 0.0009858153], ['regression conversion order 2', [0.001, 360, 365, 2, 4], 0.0010137604], ['partial repair probe 1', [0.0125, 360, 365, 12, 12], 0.0126736111], ['partial repair probe 2', [0.08, 360, 365, 2, 2], 0.0811111111], ['boundary control 1', [0.05, 360, 365, 1, 1], 0.0506944444], ['boundary control 2', [0.05, 360, 360, 2, 2], 0.05], ['normal control 1', [0.0475, 365, 365, 1, 12], 0.0464962199], ['normal control 2', [0.0125, 360, 360, 1, 0], 0.01242252]]]\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-rate-basis-conversion-conversion-order","generated_at":"2026-09-29T14:46:53.914757+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 basis factor is applied to the converted output instead of the input nominal rate.","sha256":"1a1cfaaff9ac23d0d6e96c40b2bd0ab8cc6218fa8cefdb10cade9a0b57c8ce76","title":"Rate conversion across day-count basis and compounding: the basis rescaling is applied after compounding conversion · 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":43.7,"exit_code":1,"observations":[{"actual":0.0126659205,"check":"regression conversion order 1","expected":0.0126669233,"passed":false},{"actual":0.0293752504,"check":"regression conversion order 2","expected":0.0293722984,"passed":false},{"actual":0.0009863076,"check":"partial repair probe 1","expected":0.0009863014,"passed":false},{"actual":0.0304135457,"check":"partial repair probe 2","expected":0.0304166667,"passed":false},{"actual":0.05,"check":"boundary control 1","expected":0.05,"passed":true},{"actual":0.05,"check":"boundary control 2","expected":0.05,"passed":true},{"actual":0.1446413232,"check":"normal control 1","expected":0.1446413232,"passed":true},{"actual":0.15,"check":"normal control 2","expected":0.15,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression conversion order 1\", \"actual\": 0.0126659205, \"expected\": 0.0126669233, \"passed\": false}, {\"check\": \"regression conversion order 2\", \"actual\": 0.0293752504, \"expected\": 0.0293722984, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0009863076, \"expected\": 0.0009863014, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 0.0304135457, \"expected\": 0.0304166667, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 0.1446413232, \"expected\": 0.1446413232, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.15, \"expected\": 0.15, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.699,"exit_code":1,"observations":[{"actual":0.0126670149,"check":"regression conversion order 1","expected":0.0126669233,"passed":false},{"actual":0.0293693178,"check":"regression conversion order 2","expected":0.0293722984,"passed":false},{"actual":0.0009863014,"check":"partial repair probe 1","expected":0.0009863014,"passed":true},{"actual":0.0304166667,"check":"partial repair probe 2","expected":0.0304166667,"passed":true},{"actual":0.05,"check":"boundary control 1","expected":0.05,"passed":true},{"actual":0.05,"check":"boundary control 2","expected":0.05,"passed":true},{"actual":0.1446413232,"check":"normal control 1","expected":0.1446413232,"passed":true},{"actual":0.15,"check":"normal control 2","expected":0.15,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression conversion order 1\", \"actual\": 0.0126670149, \"expected\": 0.0126669233, \"passed\": false}, {\"check\": \"regression conversion order 2\", \"actual\": 0.0293693178, \"expected\": 0.0293722984, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0009863014, \"expected\": 0.0009863014, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 0.0304166667, \"expected\": 0.0304166667, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 0.05, \"expected\": 0.05, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 0.1446413232, \"expected\": 0.1446413232, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0.15, \"expected\": 0.15, \"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."}}