FA-61076 / Bond day-count conventions / Open access
Street-convention yield to price with fractional first period: the discount fraction measures elapsed instead of remaining days · case 01
Prices are discounted for the part of the period that has already elapsed.
ROOT CAUSE
w is computed from prev to settle instead of settle to next.
VERIFIED REPAIR
Use days from settlement to the next coupon over the period length.
Unsuccessful approach: Dividing remaining days by a nominal 365/freq period ignores the actual period length.
Case contract
Inputs settle, prev and next coupon dates [y,m,d], n remaining coupons (including next), annual coupon rate, annual yield y and frequency. w = days(settle, next)/days(prev, next); c = 100*rate/freq; v = 1/(1+y/freq). Dirty = sum_{k=0}^{n-1} c*v^(k+w) + 100*v^(n-1+w); accrued = c*(1-w); return [dirty, dirty-accrued] each rounded to 6 decimals.
Why this case matters
Bond accrual and pricing systems depend on exact day-count arithmetic; a single-day error changes settlement cash.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
N = 1
observations = []
def solve(settle, prev, nxt, n, rate, y, freq):
S = datetime.date(*settle)
P = datetime.date(*prev)
Q = datetime.date(*nxt)
w = (S - P).days / (Q - P).days
c = 100 * rate / freq
v = 1 / (1 + y / freq)
dirty = sum(c * v ** (k + w) for k in range(n)) + 100 * v ** (n - 1 + w)
accrued = c * (1 - w)
return [round(dirty, 6), round(dirty - accrued, 6)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression fractional period exponent 1', [[2022, 1, 5], [2021, 10, 28], [2022, 1, 28], 8, 0.045, 0.005, 4], [108.056379, 107.212629]], ['regression fractional period exponent 2', [[2036, 10, 9], [2036, 5, 29], [2036, 11, 29], 9, 0.075, 0.035, 2], [117.991368, 115.28077]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2006, 10, 30], [2006, 10, 23], [2007, 4, 23], 2, 0.075, 0.005, 2], [106.984111, 106.83988]], ['normal control 2', [[2009, 5, 28], [2009, 3, 31], [2009, 9, 30], 15, 0.015, 0.08, 2], [64.664079, 64.426374]], ['normal control 3', [[2007, 9, 17], [2007, 7, 30], [2008, 1, 30], 6, 0.045, 0.08, 2], [91.77988, 91.180695]], ['normal control 4', [[2036, 12, 24], [2036, 9, 30], [2037, 9, 30], 20, 0.045, 0.11, 1], [49.425067, 48.377122]], ['normal control 5', [[2037, 5, 8], [2037, 3, 30], [2037, 9, 30], 29, 0.075, 0.08, 2], [96.553401, 95.758564]]], [['regression fractional period exponent 1', [[2020, 2, 15], [2019, 10, 28], [2020, 4, 28], 4, 0.075, 0.08, 2], [101.456417, 99.202318]], ['regression fractional period exponent 2', [[2018, 9, 11], [2018, 7, 14], [2019, 1, 14], 8, 0.0, 0.02, 2], [92.643439, 92.643439]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['partial repair probe 2', [[2032, 4, 14], [2032, 2, 29], [2032, 5, 29], 22, 0.0, 0.02, 4], [89.831711, 89.831711]], ['normal control 1', [[2009, 12, 6], [2009, 11, 8], [2010, 5, 8], 16, 0.06, 0.05, 2], [106.935199, 106.47111]], ['normal control 2', [[2029, 7, 8], [2029, 7, 3], [2030, 1, 3], 23, 0.045, 0.05, 2], [95.731186, 95.670045]], ['normal control 3', [[2028, 5, 20], [2028, 3, 29], [2028, 6, 29], 21, 0.015, 0.05, 4], [84.517874, 84.305918]], ['normal control 4', [[2037, 4, 15], [2036, 10, 25], [2037, 4, 25], 22, 0.03, 0.11, 2], [52.245103, 50.82752]]], [['regression fractional period exponent 1', [[2010, 2, 11], [2009, 12, 29], [2010, 3, 29], 3, 0.03, 0.05, 4], [99.13699, 98.770324]], ['regression fractional period exponent 2', [[2010, 12, 7], [2010, 7, 10], [2011, 1, 10], 25, 0.045, 0.08, 2], [75.022131, 73.187892]], ['partial repair probe 1', [[2015, 12, 8], [2015, 9, 8], [2016, 3, 8], 4, 0.045, 0.02, 2], [105.40054, 104.27554]], ['partial repair probe 2', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2016, 3, 8], [2016, 3, 8], [2016, 9, 8], 13, 0.0, 0.005, 2], [96.806171, 96.806171]], ['normal control 2', [[2040, 3, 2], [2039, 11, 30], [2040, 5, 30], 1, 0.075, 0.11, 2], [101.068867, 99.152658]], ['normal control 3', [[2028, 1, 30], [2028, 1, 12], [2028, 7, 12], 8, 0.015, 0.02, 2], [98.183655, 98.10948]], ['normal control 4', [[2021, 4, 14], [2021, 1, 31], [2021, 7, 31], 27, 0.075, 0.05, 2], [125.57439, 124.061959]]], [['regression fractional period exponent 1', [[2019, 3, 7], [2018, 7, 17], [2019, 7, 17], 18, 0.0, 0.035, 1], [55.031452, 55.031452]], ['regression fractional period exponent 2', [[2006, 6, 2], [2006, 5, 1], [2006, 11, 1], 6, 0.06, 0.02, 2], [111.784227, 111.262488]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2011, 3, 2], [2011, 2, 24], [2011, 8, 24], 2, 0.075, 0.02, 2], [105.453364, 105.329055]], ['normal control 2', [[2023, 1, 29], [2022, 12, 31], [2023, 6, 30], 11, 0.06, 0.02, 2], [120.927892, 120.447229]], ['normal control 3', [[2030, 6, 19], [2030, 5, 29], [2031, 5, 29], 1, 0.0, 0.02, 1], [98.150978, 98.150978]], ['normal control 4', [[2023, 6, 17], [2023, 5, 30], [2023, 8, 30], 22, 0.015, 0.05, 4], [83.463368, 83.389999]], ['normal control 5', [[2009, 2, 16], [2009, 2, 16], [2009, 8, 16], 24, 0.06, 0.005, 2], [163.981444, 163.981444]]], [['regression fractional period exponent 1', [[2028, 7, 3], [2028, 6, 30], [2028, 12, 30], 10, 0.06, 0.005, 2], [127.130829, 127.081649]], ['regression fractional period exponent 2', [[2007, 6, 15], [2007, 5, 7], [2008, 5, 7], 11, 0.075, 0.005, 1], [174.832079, 174.032898]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2036, 2, 11], [2035, 2, 28], [2036, 2, 28], 2, 0.045, 0.11, 1], [98.165837, 93.875426]], ['normal control 2', [[2021, 11, 6], [2021, 8, 31], [2021, 11, 30], 7, 0.015, 0.05, 4], [95.035369, 94.75927]], ['normal control 3', [[2037, 6, 23], [2037, 3, 1], [2037, 9, 1], 5, 0.015, 0.11, 2], [82.404841, 81.940167]], ['normal control 4', [[2024, 1, 27], [2023, 12, 31], [2024, 3, 31], 4, 0.03, 0.035, 4], [99.768303, 99.545776]], ['normal control 5', [[2029, 10, 23], [2029, 4, 30], [2029, 10, 30], 29, 0.06, 0.08, 2], [86.207507, 83.322261]]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression fractional period exponent 1 | [107.988907, 107.707657] | [108.056379, 107.212629] | Failed |
| regression fractional period exponent 2 | [117.08264, 116.043237] | [117.991368, 115.28077] | Failed |
| partial repair probe 1 | [100.995049, 99.995049] | [100.995049, 99.995049] | Passed |
| normal control 1 | [107.230974, 103.625204] | [106.984111, 106.83988] | Failed |
| normal control 2 | [65.599322, 65.087027] | [64.664079, 64.426374] | Failed |
| normal control 3 | [93.477851, 91.827036] | [91.77988, 91.180695] | Failed |
| normal control 4 | [52.258978, 48.806923] | [49.425067, 48.377122] | Failed |
| normal control 5 | [98.759813, 95.80465] | [96.553401, 95.758564] | Failed |
SHA-256 / 228fd9c2f7f978b131985a5dc414d4d93bfdfe54f3a4e518bfd8b5bd9f2fe9b5
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
N = 1
observations = []
def solve(settle, prev, nxt, n, rate, y, freq):
S = datetime.date(*settle)
P = datetime.date(*prev)
Q = datetime.date(*nxt)
w = (Q - S).days / (365 / freq)
c = 100 * rate / freq
v = 1 / (1 + y / freq)
dirty = sum(c * v ** (k + w) for k in range(n)) + 100 * v ** (n - 1 + w)
accrued = c * (1 - w)
return [round(dirty, 6), round(dirty - accrued, 6)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression fractional period exponent 1', [[2022, 1, 5], [2021, 10, 28], [2022, 1, 28], 8, 0.045, 0.005, 4], [108.056379, 107.212629]], ['regression fractional period exponent 2', [[2036, 10, 9], [2036, 5, 29], [2036, 11, 29], 9, 0.075, 0.035, 2], [117.991368, 115.28077]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2006, 10, 30], [2006, 10, 23], [2007, 4, 23], 2, 0.075, 0.005, 2], [106.984111, 106.83988]], ['normal control 2', [[2009, 5, 28], [2009, 3, 31], [2009, 9, 30], 15, 0.015, 0.08, 2], [64.664079, 64.426374]], ['normal control 3', [[2007, 9, 17], [2007, 7, 30], [2008, 1, 30], 6, 0.045, 0.08, 2], [91.77988, 91.180695]], ['normal control 4', [[2036, 12, 24], [2036, 9, 30], [2037, 9, 30], 20, 0.045, 0.11, 1], [49.425067, 48.377122]], ['normal control 5', [[2037, 5, 8], [2037, 3, 30], [2037, 9, 30], 29, 0.075, 0.08, 2], [96.553401, 95.758564]]], [['regression fractional period exponent 1', [[2020, 2, 15], [2019, 10, 28], [2020, 4, 28], 4, 0.075, 0.08, 2], [101.456417, 99.202318]], ['regression fractional period exponent 2', [[2018, 9, 11], [2018, 7, 14], [2019, 1, 14], 8, 0.0, 0.02, 2], [92.643439, 92.643439]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['partial repair probe 2', [[2032, 4, 14], [2032, 2, 29], [2032, 5, 29], 22, 0.0, 0.02, 4], [89.831711, 89.831711]], ['normal control 1', [[2009, 12, 6], [2009, 11, 8], [2010, 5, 8], 16, 0.06, 0.05, 2], [106.935199, 106.47111]], ['normal control 2', [[2029, 7, 8], [2029, 7, 3], [2030, 1, 3], 23, 0.045, 0.05, 2], [95.731186, 95.670045]], ['normal control 3', [[2028, 5, 20], [2028, 3, 29], [2028, 6, 29], 21, 0.015, 0.05, 4], [84.517874, 84.305918]], ['normal control 4', [[2037, 4, 15], [2036, 10, 25], [2037, 4, 25], 22, 0.03, 0.11, 2], [52.245103, 50.82752]]], [['regression fractional period exponent 1', [[2010, 2, 11], [2009, 12, 29], [2010, 3, 29], 3, 0.03, 0.05, 4], [99.13699, 98.770324]], ['regression fractional period exponent 2', [[2010, 12, 7], [2010, 7, 10], [2011, 1, 10], 25, 0.045, 0.08, 2], [75.022131, 73.187892]], ['partial repair probe 1', [[2015, 12, 8], [2015, 9, 8], [2016, 3, 8], 4, 0.045, 0.02, 2], [105.40054, 104.27554]], ['partial repair probe 2', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2016, 3, 8], [2016, 3, 8], [2016, 9, 8], 13, 0.0, 0.005, 2], [96.806171, 96.806171]], ['normal control 2', [[2040, 3, 2], [2039, 11, 30], [2040, 5, 30], 1, 0.075, 0.11, 2], [101.068867, 99.152658]], ['normal control 3', [[2028, 1, 30], [2028, 1, 12], [2028, 7, 12], 8, 0.015, 0.02, 2], [98.183655, 98.10948]], ['normal control 4', [[2021, 4, 14], [2021, 1, 31], [2021, 7, 31], 27, 0.075, 0.05, 2], [125.57439, 124.061959]]], [['regression fractional period exponent 1', [[2019, 3, 7], [2018, 7, 17], [2019, 7, 17], 18, 0.0, 0.035, 1], [55.031452, 55.031452]], ['regression fractional period exponent 2', [[2006, 6, 2], [2006, 5, 1], [2006, 11, 1], 6, 0.06, 0.02, 2], [111.784227, 111.262488]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2011, 3, 2], [2011, 2, 24], [2011, 8, 24], 2, 0.075, 0.02, 2], [105.453364, 105.329055]], ['normal control 2', [[2023, 1, 29], [2022, 12, 31], [2023, 6, 30], 11, 0.06, 0.02, 2], [120.927892, 120.447229]], ['normal control 3', [[2030, 6, 19], [2030, 5, 29], [2031, 5, 29], 1, 0.0, 0.02, 1], [98.150978, 98.150978]], ['normal control 4', [[2023, 6, 17], [2023, 5, 30], [2023, 8, 30], 22, 0.015, 0.05, 4], [83.463368, 83.389999]], ['normal control 5', [[2009, 2, 16], [2009, 2, 16], [2009, 8, 16], 24, 0.06, 0.005, 2], [163.981444, 163.981444]]], [['regression fractional period exponent 1', [[2028, 7, 3], [2028, 6, 30], [2028, 12, 30], 10, 0.06, 0.005, 2], [127.130829, 127.081649]], ['regression fractional period exponent 2', [[2007, 6, 15], [2007, 5, 7], [2008, 5, 7], 11, 0.075, 0.005, 1], [174.832079, 174.032898]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2036, 2, 11], [2035, 2, 28], [2036, 2, 28], 2, 0.045, 0.11, 1], [98.165837, 93.875426]], ['normal control 2', [[2021, 11, 6], [2021, 8, 31], [2021, 11, 30], 7, 0.015, 0.05, 4], [95.035369, 94.75927]], ['normal control 3', [[2037, 6, 23], [2037, 3, 1], [2037, 9, 1], 5, 0.015, 0.11, 2], [82.404841, 81.940167]], ['normal control 4', [[2024, 1, 27], [2023, 12, 31], [2024, 3, 31], 4, 0.03, 0.035, 4], [99.768303, 99.545776]], ['normal control 5', [[2029, 10, 23], [2029, 4, 30], [2029, 10, 30], 29, 0.06, 0.08, 2], [86.207507, 83.322261]]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression fractional period exponent 1 | [108.056102, 107.214663] | [108.056379, 107.212629] | Failed |
| regression fractional period exponent 2 | [117.986704, 115.284649] | [117.991368, 115.28077] | Failed |
| partial repair probe 1 | [100.997789, 99.995049] | [100.995049, 99.995049] | Failed |
| normal control 1 | [106.984815, 106.830705] | [106.984111, 106.83988] | Failed |
| normal control 2 | [64.659333, 64.423032] | [64.664079, 64.426374] | Failed |
| normal control 3 | [91.758175, 91.172559] | [91.77988, 91.180695] | Failed |
| normal control 4 | [49.425067, 48.377122] | [49.425067, 48.377122] | Passed |
| normal control 5 | [96.528876, 95.758328] | [96.553401, 95.758564] | Failed |
SHA-256 / 5e06a1bffbfa65f5a8d67ba0da6958ab33fae64a038cfd4e7b61c7824762cb33
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
N = 1
observations = []
def solve(settle, prev, nxt, n, rate, y, freq):
S = datetime.date(*settle)
P = datetime.date(*prev)
Q = datetime.date(*nxt)
w = (Q - S).days / (Q - P).days
c = 100 * rate / freq
v = 1 / (1 + y / freq)
dirty = sum(c * v ** (k + w) for k in range(n)) + 100 * v ** (n - 1 + w)
accrued = c * (1 - w)
return [round(dirty, 6), round(dirty - accrued, 6)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression fractional period exponent 1', [[2022, 1, 5], [2021, 10, 28], [2022, 1, 28], 8, 0.045, 0.005, 4], [108.056379, 107.212629]], ['regression fractional period exponent 2', [[2036, 10, 9], [2036, 5, 29], [2036, 11, 29], 9, 0.075, 0.035, 2], [117.991368, 115.28077]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2006, 10, 30], [2006, 10, 23], [2007, 4, 23], 2, 0.075, 0.005, 2], [106.984111, 106.83988]], ['normal control 2', [[2009, 5, 28], [2009, 3, 31], [2009, 9, 30], 15, 0.015, 0.08, 2], [64.664079, 64.426374]], ['normal control 3', [[2007, 9, 17], [2007, 7, 30], [2008, 1, 30], 6, 0.045, 0.08, 2], [91.77988, 91.180695]], ['normal control 4', [[2036, 12, 24], [2036, 9, 30], [2037, 9, 30], 20, 0.045, 0.11, 1], [49.425067, 48.377122]], ['normal control 5', [[2037, 5, 8], [2037, 3, 30], [2037, 9, 30], 29, 0.075, 0.08, 2], [96.553401, 95.758564]]], [['regression fractional period exponent 1', [[2020, 2, 15], [2019, 10, 28], [2020, 4, 28], 4, 0.075, 0.08, 2], [101.456417, 99.202318]], ['regression fractional period exponent 2', [[2018, 9, 11], [2018, 7, 14], [2019, 1, 14], 8, 0.0, 0.02, 2], [92.643439, 92.643439]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['partial repair probe 2', [[2032, 4, 14], [2032, 2, 29], [2032, 5, 29], 22, 0.0, 0.02, 4], [89.831711, 89.831711]], ['normal control 1', [[2009, 12, 6], [2009, 11, 8], [2010, 5, 8], 16, 0.06, 0.05, 2], [106.935199, 106.47111]], ['normal control 2', [[2029, 7, 8], [2029, 7, 3], [2030, 1, 3], 23, 0.045, 0.05, 2], [95.731186, 95.670045]], ['normal control 3', [[2028, 5, 20], [2028, 3, 29], [2028, 6, 29], 21, 0.015, 0.05, 4], [84.517874, 84.305918]], ['normal control 4', [[2037, 4, 15], [2036, 10, 25], [2037, 4, 25], 22, 0.03, 0.11, 2], [52.245103, 50.82752]]], [['regression fractional period exponent 1', [[2010, 2, 11], [2009, 12, 29], [2010, 3, 29], 3, 0.03, 0.05, 4], [99.13699, 98.770324]], ['regression fractional period exponent 2', [[2010, 12, 7], [2010, 7, 10], [2011, 1, 10], 25, 0.045, 0.08, 2], [75.022131, 73.187892]], ['partial repair probe 1', [[2015, 12, 8], [2015, 9, 8], [2016, 3, 8], 4, 0.045, 0.02, 2], [105.40054, 104.27554]], ['partial repair probe 2', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2016, 3, 8], [2016, 3, 8], [2016, 9, 8], 13, 0.0, 0.005, 2], [96.806171, 96.806171]], ['normal control 2', [[2040, 3, 2], [2039, 11, 30], [2040, 5, 30], 1, 0.075, 0.11, 2], [101.068867, 99.152658]], ['normal control 3', [[2028, 1, 30], [2028, 1, 12], [2028, 7, 12], 8, 0.015, 0.02, 2], [98.183655, 98.10948]], ['normal control 4', [[2021, 4, 14], [2021, 1, 31], [2021, 7, 31], 27, 0.075, 0.05, 2], [125.57439, 124.061959]]], [['regression fractional period exponent 1', [[2019, 3, 7], [2018, 7, 17], [2019, 7, 17], 18, 0.0, 0.035, 1], [55.031452, 55.031452]], ['regression fractional period exponent 2', [[2006, 6, 2], [2006, 5, 1], [2006, 11, 1], 6, 0.06, 0.02, 2], [111.784227, 111.262488]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2011, 3, 2], [2011, 2, 24], [2011, 8, 24], 2, 0.075, 0.02, 2], [105.453364, 105.329055]], ['normal control 2', [[2023, 1, 29], [2022, 12, 31], [2023, 6, 30], 11, 0.06, 0.02, 2], [120.927892, 120.447229]], ['normal control 3', [[2030, 6, 19], [2030, 5, 29], [2031, 5, 29], 1, 0.0, 0.02, 1], [98.150978, 98.150978]], ['normal control 4', [[2023, 6, 17], [2023, 5, 30], [2023, 8, 30], 22, 0.015, 0.05, 4], [83.463368, 83.389999]], ['normal control 5', [[2009, 2, 16], [2009, 2, 16], [2009, 8, 16], 24, 0.06, 0.005, 2], [163.981444, 163.981444]]], [['regression fractional period exponent 1', [[2028, 7, 3], [2028, 6, 30], [2028, 12, 30], 10, 0.06, 0.005, 2], [127.130829, 127.081649]], ['regression fractional period exponent 2', [[2007, 6, 15], [2007, 5, 7], [2008, 5, 7], 11, 0.075, 0.005, 1], [174.832079, 174.032898]], ['partial repair probe 1', [[2024, 4, 15], [2024, 1, 15], [2024, 7, 15], 1, 0.04, 0.04, 2], [100.995049, 99.995049]], ['normal control 1', [[2036, 2, 11], [2035, 2, 28], [2036, 2, 28], 2, 0.045, 0.11, 1], [98.165837, 93.875426]], ['normal control 2', [[2021, 11, 6], [2021, 8, 31], [2021, 11, 30], 7, 0.015, 0.05, 4], [95.035369, 94.75927]], ['normal control 3', [[2037, 6, 23], [2037, 3, 1], [2037, 9, 1], 5, 0.015, 0.11, 2], [82.404841, 81.940167]], ['normal control 4', [[2024, 1, 27], [2023, 12, 31], [2024, 3, 31], 4, 0.03, 0.035, 4], [99.768303, 99.545776]], ['normal control 5', [[2029, 10, 23], [2029, 4, 30], [2029, 10, 30], 29, 0.06, 0.08, 2], [86.207507, 83.322261]]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression fractional period exponent 1 | [108.056379, 107.212629] | [108.056379, 107.212629] | Passed |
| regression fractional period exponent 2 | [117.991368, 115.28077] | [117.991368, 115.28077] | Passed |
| partial repair probe 1 | [100.995049, 99.995049] | [100.995049, 99.995049] | Passed |
| normal control 1 | [106.984111, 106.83988] | [106.984111, 106.83988] | Passed |
| normal control 2 | [64.664079, 64.426374] | [64.664079, 64.426374] | Passed |
| normal control 3 | [91.77988, 91.180695] | [91.77988, 91.180695] | Passed |
| normal control 4 | [49.425067, 48.377122] | [49.425067, 48.377122] | Passed |
| normal control 5 | [96.553401, 95.758564] | [96.553401, 95.758564] | Passed |
SHA-256 / b477b39187e09efdf0f42ca30d5f43b235a23cbf57ab2cb983da48bc91c70645
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:46:51.730124+00:00.
Case digest / 58ff7ab86aa656c7152218250aaa02834c9cf570a8e53876cc776bb26bb5eaa4