FA-58276 / Double-entry ledger accounting / Open access
Receivables subledger tie-out: credit balance threshold · case 01
Settled customers are listed as having credit balances.
ROOT CAUSE
The credit list includes zero balances.
VERIFIED REPAIR
List only strictly negative balances, sorted by name.
Unsuccessful approach: Sorting by balance amount instead of name reorders the list.
Case contract
x = {'control': [[day, amount]], 'sub': {customer: [[day, amount]]}, 'as_of': day}. Only rows dated on or before as_of count. The subledger total nets every customer balance, including credit (negative) balances. Return {'control', 'subledger', 'difference': control - subledger, 'credit_balances': customers with negative balance sorted by name, 'open_customers': count of nonzero balances}.
Why this case matters
Ledger software must keep debits equal to credits and apply normal-balance, period and cutoff rules exactly; small sign or boundary slips silently misstate financial statements.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
cut = x['as_of']
control = sum(a for d, a in x['control'] if d <= cut)
per = {}
for cust, rows in x['sub'].items():
per[cust] = sum(a for d, a in rows if d <= cut)
sub_total = sum(per.values())
credit = sorted(c for c, v in per.items() if v <= 0)
return {'control': control, 'subledger': sub_total, 'difference': control - sub_total, 'credit_balances': credit, 'open_customers': sum(1 for v in per.values() if v != 0)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: credit balance threshold', {'control': [[5, 100], [19, -80], [21, -80]], 'sub': {'bolt': [[5, -80], [1, 250], [5, -80]], 'acme': [[21, 100]], 'dyna': [[20, 400], [1, 250], [20, 100]], 'crux': [[20, 400], [5, 100]]}, 'as_of': 20}, {'control': 20, 'subledger': 1340, 'difference': -1320, 'credit_balances': [], 'open_customers': 3}], ['regression: credit balance threshold, partial-repair probe', {'control': [[32, -80], [30, -80], [32, 250], [30, 400]], 'sub': {'crux': [[1, -300]], 'acme': [[31, -300]], 'dyna': [[32, 100], [32, 250]], 'bolt': [[32, -80]]}, 'as_of': 31}, {'control': 320, 'subledger': -600, 'difference': 920, 'credit_balances': ['acme', 'crux'], 'open_customers': 2}], ['control 1', {'control': [[21, 400], [5, 250], [19, 250], [20, 400], [19, -80]], 'sub': {'bolt': [[5, 250]]}, 'as_of': 20}, {'control': 820, 'subledger': 250, 'difference': 570, 'credit_balances': [], 'open_customers': 1}], ['control 2', {'control': [[9, 250], [10, 100], [11, 400]], 'sub': {'dyna': [[1, 400], [11, 400]], 'acme': [[1, -300], [10, 250], [1, -80]], 'bolt': [[1, -80]]}, 'as_of': 10}, {'control': 350, 'subledger': 190, 'difference': 160, 'credit_balances': ['acme', 'bolt'], 'open_customers': 3}], ['control 3', {'control': [[9, 100], [10, 100], [9, 400], [10, 100], [1, 250], [9, 250]], 'sub': {'dyna': [[1, 400], [11, 400], [1, 400]]}, 'as_of': 10}, {'control': 1200, 'subledger': 800, 'difference': 400, 'credit_balances': [], 'open_customers': 1}], ['control 4', {'control': [[5, 100], [21, 250], [19, 400], [5, 100]], 'sub': {'dyna': [[21, -80], [21, 100], [20, 400]], 'acme': [[5, 100], [20, -80], [21, -300]], 'bolt': [[5, -80], [21, -300]]}, 'as_of': 20}, {'control': 600, 'subledger': 340, 'difference': 260, 'credit_balances': ['bolt'], 'open_customers': 3}], ['control 5', {'control': [[10, 400], [10, 100], [9, 250], [11, 250], [1, 400]], 'sub': {'bolt': [[11, 400], [10, 400], [5, 100]]}, 'as_of': 10}, {'control': 1150, 'subledger': 500, 'difference': 650, 'credit_balances': [], 'open_customers': 1}]], [['regression: credit balance threshold', {'control': [[5, 400], [20, -80], [19, 250]], 'sub': {'acme': [[21, 250]], 'bolt': [[20, 250], [1, -80], [1, -80]], 'dyna': [[21, -80], [20, 100]], 'crux': [[5, 400], [21, 400], [20, -300]]}, 'as_of': 20}, {'control': 570, 'subledger': 290, 'difference': 280, 'credit_balances': [], 'open_customers': 3}], ['regression: credit balance threshold, partial-repair probe', {'control': [[9, 100], [10, -80], [11, 250], [9, -80], [11, 400]], 'sub': {'dyna': [[10, -300], [11, -80]], 'bolt': [[1, -300]], 'acme': [[11, 100], [10, 250]], 'crux': [[11, 100], [10, -300]]}, 'as_of': 10}, {'control': -60, 'subledger': -650, 'difference': 590, 'credit_balances': ['bolt', 'crux', 'dyna'], 'open_customers': 4}], ['control 1', {'control': [[1, 400], [11, 250]], 'sub': {'dyna': [[1, 250]], 'crux': [[1, 250], [1, 250], [1, 100]], 'acme': [[10, 250], [1, 250], [11, 250]], 'bolt': [[11, 250], [5, 400]]}, 'as_of': 10}, {'control': 400, 'subledger': 1750, 'difference': -1350, 'credit_balances': [], 'open_customers': 4}], ['control 2', {'control': [[20, 250], [19, 100], [5, 400]], 'sub': {'bolt': [[20, 250]], 'acme': [[1, -300], [1, 100], [1, 250]]}, 'as_of': 20}, {'control': 750, 'subledger': 300, 'difference': 450, 'credit_balances': [], 'open_customers': 2}], ['control 3', {'control': [[10, 250], [9, -80], [1, 250], [1, 100]], 'sub': {'dyna': [[1, 400], [10, 400]], 'acme': [[10, 250], [5, 400], [11, -300]], 'crux': [[11, 250], [1, 400], [5, -300]], 'bolt': [[5, 250]]}, 'as_of': 10}, {'control': 520, 'subledger': 1800, 'difference': -1280, 'credit_balances': [], 'open_customers': 4}], ['control 4', {'control': [[5, 250], [10, 250], [1, 400], [1, -80], [11, 400]], 'sub': {'crux': [[11, 250], [11, 100], [5, 250]], 'acme': [[5, 250], [11, -300], [5, 250]], 'bolt': [[11, -300], [5, 400]], 'dyna': [[10, -300]]}, 'as_of': 10}, {'control': 820, 'subledger': 850, 'difference': -30, 'credit_balances': ['dyna'], 'open_customers': 4}], ['control 5', {'control': [[9, 250], [10, 100], [5, -80], [1, 250], [11, 100]], 'sub': {'acme': [[1, -300]], 'bolt': [[5, 400]], 'crux': [[10, -300], [11, -80]]}, 'as_of': 10}, {'control': 520, 'subledger': -200, 'difference': 720, 'credit_balances': ['acme', 'crux'], 'open_customers': 3}]], [['regression: credit balance threshold', {'control': [[5, 400], [1, 250], [5, -80], [5, 250], [11, -80], [1, 400]], 'sub': {'dyna': [[11, 100]], 'acme': [[5, 400], [1, 100]], 'crux': [[5, 400], [5, -300]]}, 'as_of': 10}, {'control': 1220, 'subledger': 600, 'difference': 620, 'credit_balances': [], 'open_customers': 2}], ['regression: credit balance threshold, partial-repair probe', {'control': [[11, 100], [11, 250], [5, 100]], 'sub': {'crux': [[5, -80], [11, 250], [5, -300]], 'dyna': [[11, 400]], 'bolt': [[5, -80], [1, -80], [5, -80]]}, 'as_of': 10}, {'control': 100, 'subledger': -620, 'difference': 720, 'credit_balances': ['bolt', 'crux'], 'open_customers': 2}], ['control 1', {'control': [[9, 250], [11, 100], [11, -80], [11, 250]], 'sub': {'dyna': [[1, 250], [11, 400], [10, -80]], 'acme': [[11, -300], [1, 400], [1, 400]], 'bolt': [[1, -300]]}, 'as_of': 10}, {'control': 250, 'subledger': 670, 'difference': -420, 'credit_balances': ['bolt'], 'open_customers': 3}], ['control 2', {'control': [[1, -80], [1, 100], [32, 400], [31, 250]], 'sub': {'bolt': [[1, 250]]}, 'as_of': 31}, {'control': 270, 'subledger': 250, 'difference': 20, 'credit_balances': [], 'open_customers': 1}], ['control 3', {'control': [[11, 100], [5, -80], [9, 400]], 'sub': {'acme': [[11, 100], [11, 250], [1, 250]], 'dyna': [[5, 100]], 'bolt': [[5, -300], [5, -300]], 'crux': [[5, 250], [11, -300], [1, 100]]}, 'as_of': 10}, {'control': 320, 'subledger': 100, 'difference': 220, 'credit_balances': ['bolt'], 'open_customers': 4}], ['control 4', {'control': [[1, -80], [5, 250], [1, 400], [21, -80], [5, 250], [5, 100]], 'sub': {'crux': [[20, -80]], 'acme': [[1, 100]], 'bolt': [[5, 400], [1, 400], [21, 250]]}, 'as_of': 20}, {'control': 920, 'subledger': 820, 'difference': 100, 'credit_balances': ['crux'], 'open_customers': 3}], ['control 5', {'control': [[11, 250], [5, 250]], 'sub': {'acme': [[1, -80], [11, 100]], 'crux': [[5, 250]], 'dyna': [[11, -300], [5, 250], [1, 250]]}, 'as_of': 10}, {'control': 250, 'subledger': 670, 'difference': -420, 'credit_balances': ['acme'], 'open_customers': 3}]], [['regression: credit balance threshold', {'control': [[31, -80], [5, 100], [31, 100]], 'sub': {'crux': [[32, 250]], 'dyna': [[32, 250]], 'acme': [[1, -300], [32, 250]]}, 'as_of': 31}, {'control': 120, 'subledger': -300, 'difference': 420, 'credit_balances': ['acme'], 'open_customers': 1}], ['regression: credit balance threshold, partial-repair probe', {'control': [[21, -80], [1, 400], [5, -80], [19, 400], [20, 400], [1, 250]], 'sub': {'crux': [[1, -80]], 'dyna': [[20, -80], [20, 400], [5, 100]], 'bolt': [[21, -300]], 'acme': [[1, -80], [21, -80]]}, 'as_of': 20}, {'control': 1370, 'subledger': 260, 'difference': 1110, 'credit_balances': ['acme', 'crux'], 'open_customers': 3}], ['control 1', {'control': [[20, -80], [21, 100]], 'sub': {'dyna': [[1, -80], [20, 250]], 'bolt': [[1, -300], [20, 400], [21, -300]]}, 'as_of': 20}, {'control': -80, 'subledger': 270, 'difference': -350, 'credit_balances': [], 'open_customers': 2}], ['control 2', {'control': [[11, -80], [11, 400], [1, 250], [10, 100], [1, 400], [1, 400]], 'sub': {'dyna': [[11, 400], [5, 100]], 'acme': [[5, -80]], 'crux': [[10, 100], [5, 400], [1, 250]], 'bolt': [[10, 250], [11, 400]]}, 'as_of': 10}, {'control': 1150, 'subledger': 1020, 'difference': 130, 'credit_balances': ['acme'], 'open_customers': 4}], ['control 3', {'control': [[5, 400], [30, 250]], 'sub': {'dyna': [[5, 250], [31, 400]], 'bolt': [[32, 400], [32, -80], [5, 250]], 'crux': [[5, -300], [1, 250], [31, -300]]}, 'as_of': 31}, {'control': 650, 'subledger': 550, 'difference': 100, 'credit_balances': ['crux'], 'open_customers': 3}], ['control 4', {'control': [[31, 250], [1, -80], [5, 100], [31, 250], [5, 100]], 'sub': {'crux': [[32, -300], [1, 250]]}, 'as_of': 31}, {'control': 620, 'subledger': 250, 'difference': 370, 'credit_balances': [], 'open_customers': 1}], ['control 5', {'control': [[31, 250], [5, -80], [1, 400], [32, 400], [1, 400]], 'sub': {'crux': [[5, 250], [1, 400]]}, 'as_of': 31}, {'control': 970, 'subledger': 650, 'difference': 320, 'credit_balances': [], 'open_customers': 1}]], [['regression: credit balance threshold', {'control': [[5, 100], [5, 250], [19, -80], [21, 250], [21, 250]], 'sub': {'crux': [[20, -80], [20, -80]], 'acme': [[21, 100]]}, 'as_of': 20}, {'control': 270, 'subledger': -160, 'difference': 430, 'credit_balances': ['crux'], 'open_customers': 1}], ['regression: credit balance threshold, partial-repair probe', {'control': [[11, -80], [10, 400], [11, -80], [1, 100], [9, 100]], 'sub': {'crux': [[5, -300], [1, -300]], 'dyna': [[5, -80]], 'bolt': [[1, -300], [10, -80], [1, 100]], 'acme': [[10, 250], [11, -80]]}, 'as_of': 10}, {'control': 600, 'subledger': -710, 'difference': 1310, 'credit_balances': ['bolt', 'crux', 'dyna'], 'open_customers': 4}], ['control 1', {'control': [[10, -80], [9, 400], [1, 250]], 'sub': {'crux': [[5, 250], [1, 400], [5, 250]], 'acme': [[10, -80]]}, 'as_of': 10}, {'control': 570, 'subledger': 820, 'difference': -250, 'credit_balances': ['acme'], 'open_customers': 2}], ['control 2', {'control': [[1, -80], [5, 100], [20, 400], [19, 250], [1, 250]], 'sub': {'crux': [[20, 250], [20, -80], [20, 250]]}, 'as_of': 20}, {'control': 920, 'subledger': 420, 'difference': 500, 'credit_balances': [], 'open_customers': 1}], ['control 3', {'control': [[5, 400], [1, 250], [9, 400], [9, 400]], 'sub': {'acme': [[1, -300], [11, -80]], 'bolt': [[1, 250], [10, 250], [5, -300]], 'dyna': [[1, -300], [10, -300], [1, 100]]}, 'as_of': 10}, {'control': 1450, 'subledger': -600, 'difference': 2050, 'credit_balances': ['acme', 'dyna'], 'open_customers': 3}], ['control 4', {'control': [[9, -80], [11, 400]], 'sub': {'bolt': [[5, 100], [5, 250]], 'acme': [[11, 100], [11, -80], [10, 250]]}, 'as_of': 10}, {'control': -80, 'subledger': 600, 'difference': -680, 'credit_balances': [], 'open_customers': 2}], ['control 5', {'control': [[1, 100], [1, 250], [5, 250], [1, 100], [1, 400], [5, -80]], 'sub': {'bolt': [[10, -80], [10, 400]], 'crux': [[1, 250], [10, 250]]}, 'as_of': 10}, {'control': 1020, 'subledger': 820, 'difference': 200, 'credit_balances': [], 'open_customers': 2}]]]
for label, args, expected in fixtures[N-1]:
try:
actual = solve(args)
except Exception as exc:
actual = 'raised ' + type(exc).__name__
check(label, actual, 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: credit balance threshold | {'control': 20, 'credit_balances': ['acme'], 'difference': -1320, 'open_customers': 3, 'subledger': 1340} | {'control': 20, 'credit_balances': [], 'difference': -1320, 'open_customers': 3, 'subledger': 1340} | Failed |
| regression: credit balance threshold, partial-repair probe | {'control': 320, 'credit_balances': ['acme', 'bolt', 'crux', 'dyna'], 'difference': 920, 'open_customers': 2, 'subledger': -600} | {'control': 320, 'credit_balances': ['acme', 'crux'], 'difference': 920, 'open_customers': 2, 'subledger': -600} | Failed |
| control 1 | {'control': 820, 'credit_balances': [], 'difference': 570, 'open_customers': 1, 'subledger': 250} | {'control': 820, 'credit_balances': [], 'difference': 570, 'open_customers': 1, 'subledger': 250} | Passed |
| control 2 | {'control': 350, 'credit_balances': ['acme', 'bolt'], 'difference': 160, 'open_customers': 3, 'subledger': 190} | {'control': 350, 'credit_balances': ['acme', 'bolt'], 'difference': 160, 'open_customers': 3, 'subledger': 190} | Passed |
| control 3 | {'control': 1200, 'credit_balances': [], 'difference': 400, 'open_customers': 1, 'subledger': 800} | {'control': 1200, 'credit_balances': [], 'difference': 400, 'open_customers': 1, 'subledger': 800} | Passed |
| control 4 | {'control': 600, 'credit_balances': ['bolt'], 'difference': 260, 'open_customers': 3, 'subledger': 340} | {'control': 600, 'credit_balances': ['bolt'], 'difference': 260, 'open_customers': 3, 'subledger': 340} | Passed |
| control 5 | {'control': 1150, 'credit_balances': [], 'difference': 650, 'open_customers': 1, 'subledger': 500} | {'control': 1150, 'credit_balances': [], 'difference': 650, 'open_customers': 1, 'subledger': 500} | Passed |
SHA-256 / 475056c9628451053381b3b38a07ad14c9ca4918bc22b33b853576b679634675
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
cut = x['as_of']
control = sum(a for d, a in x['control'] if d <= cut)
per = {}
for cust, rows in x['sub'].items():
per[cust] = sum(a for d, a in rows if d <= cut)
sub_total = sum(per.values())
credit = sorted((c for c, v in per.items() if v < 0), key=lambda c: per[c])
return {'control': control, 'subledger': sub_total, 'difference': control - sub_total, 'credit_balances': credit, 'open_customers': sum(1 for v in per.values() if v != 0)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: credit balance threshold', {'control': [[5, 100], [19, -80], [21, -80]], 'sub': {'bolt': [[5, -80], [1, 250], [5, -80]], 'acme': [[21, 100]], 'dyna': [[20, 400], [1, 250], [20, 100]], 'crux': [[20, 400], [5, 100]]}, 'as_of': 20}, {'control': 20, 'subledger': 1340, 'difference': -1320, 'credit_balances': [], 'open_customers': 3}], ['regression: credit balance threshold, partial-repair probe', {'control': [[32, -80], [30, -80], [32, 250], [30, 400]], 'sub': {'crux': [[1, -300]], 'acme': [[31, -300]], 'dyna': [[32, 100], [32, 250]], 'bolt': [[32, -80]]}, 'as_of': 31}, {'control': 320, 'subledger': -600, 'difference': 920, 'credit_balances': ['acme', 'crux'], 'open_customers': 2}], ['control 1', {'control': [[21, 400], [5, 250], [19, 250], [20, 400], [19, -80]], 'sub': {'bolt': [[5, 250]]}, 'as_of': 20}, {'control': 820, 'subledger': 250, 'difference': 570, 'credit_balances': [], 'open_customers': 1}], ['control 2', {'control': [[9, 250], [10, 100], [11, 400]], 'sub': {'dyna': [[1, 400], [11, 400]], 'acme': [[1, -300], [10, 250], [1, -80]], 'bolt': [[1, -80]]}, 'as_of': 10}, {'control': 350, 'subledger': 190, 'difference': 160, 'credit_balances': ['acme', 'bolt'], 'open_customers': 3}], ['control 3', {'control': [[9, 100], [10, 100], [9, 400], [10, 100], [1, 250], [9, 250]], 'sub': {'dyna': [[1, 400], [11, 400], [1, 400]]}, 'as_of': 10}, {'control': 1200, 'subledger': 800, 'difference': 400, 'credit_balances': [], 'open_customers': 1}], ['control 4', {'control': [[5, 100], [21, 250], [19, 400], [5, 100]], 'sub': {'dyna': [[21, -80], [21, 100], [20, 400]], 'acme': [[5, 100], [20, -80], [21, -300]], 'bolt': [[5, -80], [21, -300]]}, 'as_of': 20}, {'control': 600, 'subledger': 340, 'difference': 260, 'credit_balances': ['bolt'], 'open_customers': 3}], ['control 5', {'control': [[10, 400], [10, 100], [9, 250], [11, 250], [1, 400]], 'sub': {'bolt': [[11, 400], [10, 400], [5, 100]]}, 'as_of': 10}, {'control': 1150, 'subledger': 500, 'difference': 650, 'credit_balances': [], 'open_customers': 1}]], [['regression: credit balance threshold', {'control': [[5, 400], [20, -80], [19, 250]], 'sub': {'acme': [[21, 250]], 'bolt': [[20, 250], [1, -80], [1, -80]], 'dyna': [[21, -80], [20, 100]], 'crux': [[5, 400], [21, 400], [20, -300]]}, 'as_of': 20}, {'control': 570, 'subledger': 290, 'difference': 280, 'credit_balances': [], 'open_customers': 3}], ['regression: credit balance threshold, partial-repair probe', {'control': [[9, 100], [10, -80], [11, 250], [9, -80], [11, 400]], 'sub': {'dyna': [[10, -300], [11, -80]], 'bolt': [[1, -300]], 'acme': [[11, 100], [10, 250]], 'crux': [[11, 100], [10, -300]]}, 'as_of': 10}, {'control': -60, 'subledger': -650, 'difference': 590, 'credit_balances': ['bolt', 'crux', 'dyna'], 'open_customers': 4}], ['control 1', {'control': [[1, 400], [11, 250]], 'sub': {'dyna': [[1, 250]], 'crux': [[1, 250], [1, 250], [1, 100]], 'acme': [[10, 250], [1, 250], [11, 250]], 'bolt': [[11, 250], [5, 400]]}, 'as_of': 10}, {'control': 400, 'subledger': 1750, 'difference': -1350, 'credit_balances': [], 'open_customers': 4}], ['control 2', {'control': [[20, 250], [19, 100], [5, 400]], 'sub': {'bolt': [[20, 250]], 'acme': [[1, -300], [1, 100], [1, 250]]}, 'as_of': 20}, {'control': 750, 'subledger': 300, 'difference': 450, 'credit_balances': [], 'open_customers': 2}], ['control 3', {'control': [[10, 250], [9, -80], [1, 250], [1, 100]], 'sub': {'dyna': [[1, 400], [10, 400]], 'acme': [[10, 250], [5, 400], [11, -300]], 'crux': [[11, 250], [1, 400], [5, -300]], 'bolt': [[5, 250]]}, 'as_of': 10}, {'control': 520, 'subledger': 1800, 'difference': -1280, 'credit_balances': [], 'open_customers': 4}], ['control 4', {'control': [[5, 250], [10, 250], [1, 400], [1, -80], [11, 400]], 'sub': {'crux': [[11, 250], [11, 100], [5, 250]], 'acme': [[5, 250], [11, -300], [5, 250]], 'bolt': [[11, -300], [5, 400]], 'dyna': [[10, -300]]}, 'as_of': 10}, {'control': 820, 'subledger': 850, 'difference': -30, 'credit_balances': ['dyna'], 'open_customers': 4}], ['control 5', {'control': [[9, 250], [10, 100], [5, -80], [1, 250], [11, 100]], 'sub': {'acme': [[1, -300]], 'bolt': [[5, 400]], 'crux': [[10, -300], [11, -80]]}, 'as_of': 10}, {'control': 520, 'subledger': -200, 'difference': 720, 'credit_balances': ['acme', 'crux'], 'open_customers': 3}]], [['regression: credit balance threshold', {'control': [[5, 400], [1, 250], [5, -80], [5, 250], [11, -80], [1, 400]], 'sub': {'dyna': [[11, 100]], 'acme': [[5, 400], [1, 100]], 'crux': [[5, 400], [5, -300]]}, 'as_of': 10}, {'control': 1220, 'subledger': 600, 'difference': 620, 'credit_balances': [], 'open_customers': 2}], ['regression: credit balance threshold, partial-repair probe', {'control': [[11, 100], [11, 250], [5, 100]], 'sub': {'crux': [[5, -80], [11, 250], [5, -300]], 'dyna': [[11, 400]], 'bolt': [[5, -80], [1, -80], [5, -80]]}, 'as_of': 10}, {'control': 100, 'subledger': -620, 'difference': 720, 'credit_balances': ['bolt', 'crux'], 'open_customers': 2}], ['control 1', {'control': [[9, 250], [11, 100], [11, -80], [11, 250]], 'sub': {'dyna': [[1, 250], [11, 400], [10, -80]], 'acme': [[11, -300], [1, 400], [1, 400]], 'bolt': [[1, -300]]}, 'as_of': 10}, {'control': 250, 'subledger': 670, 'difference': -420, 'credit_balances': ['bolt'], 'open_customers': 3}], ['control 2', {'control': [[1, -80], [1, 100], [32, 400], [31, 250]], 'sub': {'bolt': [[1, 250]]}, 'as_of': 31}, {'control': 270, 'subledger': 250, 'difference': 20, 'credit_balances': [], 'open_customers': 1}], ['control 3', {'control': [[11, 100], [5, -80], [9, 400]], 'sub': {'acme': [[11, 100], [11, 250], [1, 250]], 'dyna': [[5, 100]], 'bolt': [[5, -300], [5, -300]], 'crux': [[5, 250], [11, -300], [1, 100]]}, 'as_of': 10}, {'control': 320, 'subledger': 100, 'difference': 220, 'credit_balances': ['bolt'], 'open_customers': 4}], ['control 4', {'control': [[1, -80], [5, 250], [1, 400], [21, -80], [5, 250], [5, 100]], 'sub': {'crux': [[20, -80]], 'acme': [[1, 100]], 'bolt': [[5, 400], [1, 400], [21, 250]]}, 'as_of': 20}, {'control': 920, 'subledger': 820, 'difference': 100, 'credit_balances': ['crux'], 'open_customers': 3}], ['control 5', {'control': [[11, 250], [5, 250]], 'sub': {'acme': [[1, -80], [11, 100]], 'crux': [[5, 250]], 'dyna': [[11, -300], [5, 250], [1, 250]]}, 'as_of': 10}, {'control': 250, 'subledger': 670, 'difference': -420, 'credit_balances': ['acme'], 'open_customers': 3}]], [['regression: credit balance threshold', {'control': [[31, -80], [5, 100], [31, 100]], 'sub': {'crux': [[32, 250]], 'dyna': [[32, 250]], 'acme': [[1, -300], [32, 250]]}, 'as_of': 31}, {'control': 120, 'subledger': -300, 'difference': 420, 'credit_balances': ['acme'], 'open_customers': 1}], ['regression: credit balance threshold, partial-repair probe', {'control': [[21, -80], [1, 400], [5, -80], [19, 400], [20, 400], [1, 250]], 'sub': {'crux': [[1, -80]], 'dyna': [[20, -80], [20, 400], [5, 100]], 'bolt': [[21, -300]], 'acme': [[1, -80], [21, -80]]}, 'as_of': 20}, {'control': 1370, 'subledger': 260, 'difference': 1110, 'credit_balances': ['acme', 'crux'], 'open_customers': 3}], ['control 1', {'control': [[20, -80], [21, 100]], 'sub': {'dyna': [[1, -80], [20, 250]], 'bolt': [[1, -300], [20, 400], [21, -300]]}, 'as_of': 20}, {'control': -80, 'subledger': 270, 'difference': -350, 'credit_balances': [], 'open_customers': 2}], ['control 2', {'control': [[11, -80], [11, 400], [1, 250], [10, 100], [1, 400], [1, 400]], 'sub': {'dyna': [[11, 400], [5, 100]], 'acme': [[5, -80]], 'crux': [[10, 100], [5, 400], [1, 250]], 'bolt': [[10, 250], [11, 400]]}, 'as_of': 10}, {'control': 1150, 'subledger': 1020, 'difference': 130, 'credit_balances': ['acme'], 'open_customers': 4}], ['control 3', {'control': [[5, 400], [30, 250]], 'sub': {'dyna': [[5, 250], [31, 400]], 'bolt': [[32, 400], [32, -80], [5, 250]], 'crux': [[5, -300], [1, 250], [31, -300]]}, 'as_of': 31}, {'control': 650, 'subledger': 550, 'difference': 100, 'credit_balances': ['crux'], 'open_customers': 3}], ['control 4', {'control': [[31, 250], [1, -80], [5, 100], [31, 250], [5, 100]], 'sub': {'crux': [[32, -300], [1, 250]]}, 'as_of': 31}, {'control': 620, 'subledger': 250, 'difference': 370, 'credit_balances': [], 'open_customers': 1}], ['control 5', {'control': [[31, 250], [5, -80], [1, 400], [32, 400], [1, 400]], 'sub': {'crux': [[5, 250], [1, 400]]}, 'as_of': 31}, {'control': 970, 'subledger': 650, 'difference': 320, 'credit_balances': [], 'open_customers': 1}]], [['regression: credit balance threshold', {'control': [[5, 100], [5, 250], [19, -80], [21, 250], [21, 250]], 'sub': {'crux': [[20, -80], [20, -80]], 'acme': [[21, 100]]}, 'as_of': 20}, {'control': 270, 'subledger': -160, 'difference': 430, 'credit_balances': ['crux'], 'open_customers': 1}], ['regression: credit balance threshold, partial-repair probe', {'control': [[11, -80], [10, 400], [11, -80], [1, 100], [9, 100]], 'sub': {'crux': [[5, -300], [1, -300]], 'dyna': [[5, -80]], 'bolt': [[1, -300], [10, -80], [1, 100]], 'acme': [[10, 250], [11, -80]]}, 'as_of': 10}, {'control': 600, 'subledger': -710, 'difference': 1310, 'credit_balances': ['bolt', 'crux', 'dyna'], 'open_customers': 4}], ['control 1', {'control': [[10, -80], [9, 400], [1, 250]], 'sub': {'crux': [[5, 250], [1, 400], [5, 250]], 'acme': [[10, -80]]}, 'as_of': 10}, {'control': 570, 'subledger': 820, 'difference': -250, 'credit_balances': ['acme'], 'open_customers': 2}], ['control 2', {'control': [[1, -80], [5, 100], [20, 400], [19, 250], [1, 250]], 'sub': {'crux': [[20, 250], [20, -80], [20, 250]]}, 'as_of': 20}, {'control': 920, 'subledger': 420, 'difference': 500, 'credit_balances': [], 'open_customers': 1}], ['control 3', {'control': [[5, 400], [1, 250], [9, 400], [9, 400]], 'sub': {'acme': [[1, -300], [11, -80]], 'bolt': [[1, 250], [10, 250], [5, -300]], 'dyna': [[1, -300], [10, -300], [1, 100]]}, 'as_of': 10}, {'control': 1450, 'subledger': -600, 'difference': 2050, 'credit_balances': ['acme', 'dyna'], 'open_customers': 3}], ['control 4', {'control': [[9, -80], [11, 400]], 'sub': {'bolt': [[5, 100], [5, 250]], 'acme': [[11, 100], [11, -80], [10, 250]]}, 'as_of': 10}, {'control': -80, 'subledger': 600, 'difference': -680, 'credit_balances': [], 'open_customers': 2}], ['control 5', {'control': [[1, 100], [1, 250], [5, 250], [1, 100], [1, 400], [5, -80]], 'sub': {'bolt': [[10, -80], [10, 400]], 'crux': [[1, 250], [10, 250]]}, 'as_of': 10}, {'control': 1020, 'subledger': 820, 'difference': 200, 'credit_balances': [], 'open_customers': 2}]]]
for label, args, expected in fixtures[N-1]:
try:
actual = solve(args)
except Exception as exc:
actual = 'raised ' + type(exc).__name__
check(label, actual, 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: credit balance threshold | {'control': 20, 'credit_balances': [], 'difference': -1320, 'open_customers': 3, 'subledger': 1340} | {'control': 20, 'credit_balances': [], 'difference': -1320, 'open_customers': 3, 'subledger': 1340} | Passed |
| regression: credit balance threshold, partial-repair probe | {'control': 320, 'credit_balances': ['crux', 'acme'], 'difference': 920, 'open_customers': 2, 'subledger': -600} | {'control': 320, 'credit_balances': ['acme', 'crux'], 'difference': 920, 'open_customers': 2, 'subledger': -600} | Failed |
| control 1 | {'control': 820, 'credit_balances': [], 'difference': 570, 'open_customers': 1, 'subledger': 250} | {'control': 820, 'credit_balances': [], 'difference': 570, 'open_customers': 1, 'subledger': 250} | Passed |
| control 2 | {'control': 350, 'credit_balances': ['acme', 'bolt'], 'difference': 160, 'open_customers': 3, 'subledger': 190} | {'control': 350, 'credit_balances': ['acme', 'bolt'], 'difference': 160, 'open_customers': 3, 'subledger': 190} | Passed |
| control 3 | {'control': 1200, 'credit_balances': [], 'difference': 400, 'open_customers': 1, 'subledger': 800} | {'control': 1200, 'credit_balances': [], 'difference': 400, 'open_customers': 1, 'subledger': 800} | Passed |
| control 4 | {'control': 600, 'credit_balances': ['bolt'], 'difference': 260, 'open_customers': 3, 'subledger': 340} | {'control': 600, 'credit_balances': ['bolt'], 'difference': 260, 'open_customers': 3, 'subledger': 340} | Passed |
| control 5 | {'control': 1150, 'credit_balances': [], 'difference': 650, 'open_customers': 1, 'subledger': 500} | {'control': 1150, 'credit_balances': [], 'difference': 650, 'open_customers': 1, 'subledger': 500} | Passed |
SHA-256 / 18e2f602c97d077dfefd0f078c4149384e7419776513e1a952a712a7bab8262c
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
cut = x['as_of']
control = sum(a for d, a in x['control'] if d <= cut)
per = {}
for cust, rows in x['sub'].items():
per[cust] = sum(a for d, a in rows if d <= cut)
sub_total = sum(per.values())
credit = sorted(c for c, v in per.items() if v < 0)
return {'control': control, 'subledger': sub_total, 'difference': control - sub_total, 'credit_balances': credit, 'open_customers': sum(1 for v in per.values() if v != 0)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: credit balance threshold', {'control': [[5, 100], [19, -80], [21, -80]], 'sub': {'bolt': [[5, -80], [1, 250], [5, -80]], 'acme': [[21, 100]], 'dyna': [[20, 400], [1, 250], [20, 100]], 'crux': [[20, 400], [5, 100]]}, 'as_of': 20}, {'control': 20, 'subledger': 1340, 'difference': -1320, 'credit_balances': [], 'open_customers': 3}], ['regression: credit balance threshold, partial-repair probe', {'control': [[32, -80], [30, -80], [32, 250], [30, 400]], 'sub': {'crux': [[1, -300]], 'acme': [[31, -300]], 'dyna': [[32, 100], [32, 250]], 'bolt': [[32, -80]]}, 'as_of': 31}, {'control': 320, 'subledger': -600, 'difference': 920, 'credit_balances': ['acme', 'crux'], 'open_customers': 2}], ['control 1', {'control': [[21, 400], [5, 250], [19, 250], [20, 400], [19, -80]], 'sub': {'bolt': [[5, 250]]}, 'as_of': 20}, {'control': 820, 'subledger': 250, 'difference': 570, 'credit_balances': [], 'open_customers': 1}], ['control 2', {'control': [[9, 250], [10, 100], [11, 400]], 'sub': {'dyna': [[1, 400], [11, 400]], 'acme': [[1, -300], [10, 250], [1, -80]], 'bolt': [[1, -80]]}, 'as_of': 10}, {'control': 350, 'subledger': 190, 'difference': 160, 'credit_balances': ['acme', 'bolt'], 'open_customers': 3}], ['control 3', {'control': [[9, 100], [10, 100], [9, 400], [10, 100], [1, 250], [9, 250]], 'sub': {'dyna': [[1, 400], [11, 400], [1, 400]]}, 'as_of': 10}, {'control': 1200, 'subledger': 800, 'difference': 400, 'credit_balances': [], 'open_customers': 1}], ['control 4', {'control': [[5, 100], [21, 250], [19, 400], [5, 100]], 'sub': {'dyna': [[21, -80], [21, 100], [20, 400]], 'acme': [[5, 100], [20, -80], [21, -300]], 'bolt': [[5, -80], [21, -300]]}, 'as_of': 20}, {'control': 600, 'subledger': 340, 'difference': 260, 'credit_balances': ['bolt'], 'open_customers': 3}], ['control 5', {'control': [[10, 400], [10, 100], [9, 250], [11, 250], [1, 400]], 'sub': {'bolt': [[11, 400], [10, 400], [5, 100]]}, 'as_of': 10}, {'control': 1150, 'subledger': 500, 'difference': 650, 'credit_balances': [], 'open_customers': 1}]], [['regression: credit balance threshold', {'control': [[5, 400], [20, -80], [19, 250]], 'sub': {'acme': [[21, 250]], 'bolt': [[20, 250], [1, -80], [1, -80]], 'dyna': [[21, -80], [20, 100]], 'crux': [[5, 400], [21, 400], [20, -300]]}, 'as_of': 20}, {'control': 570, 'subledger': 290, 'difference': 280, 'credit_balances': [], 'open_customers': 3}], ['regression: credit balance threshold, partial-repair probe', {'control': [[9, 100], [10, -80], [11, 250], [9, -80], [11, 400]], 'sub': {'dyna': [[10, -300], [11, -80]], 'bolt': [[1, -300]], 'acme': [[11, 100], [10, 250]], 'crux': [[11, 100], [10, -300]]}, 'as_of': 10}, {'control': -60, 'subledger': -650, 'difference': 590, 'credit_balances': ['bolt', 'crux', 'dyna'], 'open_customers': 4}], ['control 1', {'control': [[1, 400], [11, 250]], 'sub': {'dyna': [[1, 250]], 'crux': [[1, 250], [1, 250], [1, 100]], 'acme': [[10, 250], [1, 250], [11, 250]], 'bolt': [[11, 250], [5, 400]]}, 'as_of': 10}, {'control': 400, 'subledger': 1750, 'difference': -1350, 'credit_balances': [], 'open_customers': 4}], ['control 2', {'control': [[20, 250], [19, 100], [5, 400]], 'sub': {'bolt': [[20, 250]], 'acme': [[1, -300], [1, 100], [1, 250]]}, 'as_of': 20}, {'control': 750, 'subledger': 300, 'difference': 450, 'credit_balances': [], 'open_customers': 2}], ['control 3', {'control': [[10, 250], [9, -80], [1, 250], [1, 100]], 'sub': {'dyna': [[1, 400], [10, 400]], 'acme': [[10, 250], [5, 400], [11, -300]], 'crux': [[11, 250], [1, 400], [5, -300]], 'bolt': [[5, 250]]}, 'as_of': 10}, {'control': 520, 'subledger': 1800, 'difference': -1280, 'credit_balances': [], 'open_customers': 4}], ['control 4', {'control': [[5, 250], [10, 250], [1, 400], [1, -80], [11, 400]], 'sub': {'crux': [[11, 250], [11, 100], [5, 250]], 'acme': [[5, 250], [11, -300], [5, 250]], 'bolt': [[11, -300], [5, 400]], 'dyna': [[10, -300]]}, 'as_of': 10}, {'control': 820, 'subledger': 850, 'difference': -30, 'credit_balances': ['dyna'], 'open_customers': 4}], ['control 5', {'control': [[9, 250], [10, 100], [5, -80], [1, 250], [11, 100]], 'sub': {'acme': [[1, -300]], 'bolt': [[5, 400]], 'crux': [[10, -300], [11, -80]]}, 'as_of': 10}, {'control': 520, 'subledger': -200, 'difference': 720, 'credit_balances': ['acme', 'crux'], 'open_customers': 3}]], [['regression: credit balance threshold', {'control': [[5, 400], [1, 250], [5, -80], [5, 250], [11, -80], [1, 400]], 'sub': {'dyna': [[11, 100]], 'acme': [[5, 400], [1, 100]], 'crux': [[5, 400], [5, -300]]}, 'as_of': 10}, {'control': 1220, 'subledger': 600, 'difference': 620, 'credit_balances': [], 'open_customers': 2}], ['regression: credit balance threshold, partial-repair probe', {'control': [[11, 100], [11, 250], [5, 100]], 'sub': {'crux': [[5, -80], [11, 250], [5, -300]], 'dyna': [[11, 400]], 'bolt': [[5, -80], [1, -80], [5, -80]]}, 'as_of': 10}, {'control': 100, 'subledger': -620, 'difference': 720, 'credit_balances': ['bolt', 'crux'], 'open_customers': 2}], ['control 1', {'control': [[9, 250], [11, 100], [11, -80], [11, 250]], 'sub': {'dyna': [[1, 250], [11, 400], [10, -80]], 'acme': [[11, -300], [1, 400], [1, 400]], 'bolt': [[1, -300]]}, 'as_of': 10}, {'control': 250, 'subledger': 670, 'difference': -420, 'credit_balances': ['bolt'], 'open_customers': 3}], ['control 2', {'control': [[1, -80], [1, 100], [32, 400], [31, 250]], 'sub': {'bolt': [[1, 250]]}, 'as_of': 31}, {'control': 270, 'subledger': 250, 'difference': 20, 'credit_balances': [], 'open_customers': 1}], ['control 3', {'control': [[11, 100], [5, -80], [9, 400]], 'sub': {'acme': [[11, 100], [11, 250], [1, 250]], 'dyna': [[5, 100]], 'bolt': [[5, -300], [5, -300]], 'crux': [[5, 250], [11, -300], [1, 100]]}, 'as_of': 10}, {'control': 320, 'subledger': 100, 'difference': 220, 'credit_balances': ['bolt'], 'open_customers': 4}], ['control 4', {'control': [[1, -80], [5, 250], [1, 400], [21, -80], [5, 250], [5, 100]], 'sub': {'crux': [[20, -80]], 'acme': [[1, 100]], 'bolt': [[5, 400], [1, 400], [21, 250]]}, 'as_of': 20}, {'control': 920, 'subledger': 820, 'difference': 100, 'credit_balances': ['crux'], 'open_customers': 3}], ['control 5', {'control': [[11, 250], [5, 250]], 'sub': {'acme': [[1, -80], [11, 100]], 'crux': [[5, 250]], 'dyna': [[11, -300], [5, 250], [1, 250]]}, 'as_of': 10}, {'control': 250, 'subledger': 670, 'difference': -420, 'credit_balances': ['acme'], 'open_customers': 3}]], [['regression: credit balance threshold', {'control': [[31, -80], [5, 100], [31, 100]], 'sub': {'crux': [[32, 250]], 'dyna': [[32, 250]], 'acme': [[1, -300], [32, 250]]}, 'as_of': 31}, {'control': 120, 'subledger': -300, 'difference': 420, 'credit_balances': ['acme'], 'open_customers': 1}], ['regression: credit balance threshold, partial-repair probe', {'control': [[21, -80], [1, 400], [5, -80], [19, 400], [20, 400], [1, 250]], 'sub': {'crux': [[1, -80]], 'dyna': [[20, -80], [20, 400], [5, 100]], 'bolt': [[21, -300]], 'acme': [[1, -80], [21, -80]]}, 'as_of': 20}, {'control': 1370, 'subledger': 260, 'difference': 1110, 'credit_balances': ['acme', 'crux'], 'open_customers': 3}], ['control 1', {'control': [[20, -80], [21, 100]], 'sub': {'dyna': [[1, -80], [20, 250]], 'bolt': [[1, -300], [20, 400], [21, -300]]}, 'as_of': 20}, {'control': -80, 'subledger': 270, 'difference': -350, 'credit_balances': [], 'open_customers': 2}], ['control 2', {'control': [[11, -80], [11, 400], [1, 250], [10, 100], [1, 400], [1, 400]], 'sub': {'dyna': [[11, 400], [5, 100]], 'acme': [[5, -80]], 'crux': [[10, 100], [5, 400], [1, 250]], 'bolt': [[10, 250], [11, 400]]}, 'as_of': 10}, {'control': 1150, 'subledger': 1020, 'difference': 130, 'credit_balances': ['acme'], 'open_customers': 4}], ['control 3', {'control': [[5, 400], [30, 250]], 'sub': {'dyna': [[5, 250], [31, 400]], 'bolt': [[32, 400], [32, -80], [5, 250]], 'crux': [[5, -300], [1, 250], [31, -300]]}, 'as_of': 31}, {'control': 650, 'subledger': 550, 'difference': 100, 'credit_balances': ['crux'], 'open_customers': 3}], ['control 4', {'control': [[31, 250], [1, -80], [5, 100], [31, 250], [5, 100]], 'sub': {'crux': [[32, -300], [1, 250]]}, 'as_of': 31}, {'control': 620, 'subledger': 250, 'difference': 370, 'credit_balances': [], 'open_customers': 1}], ['control 5', {'control': [[31, 250], [5, -80], [1, 400], [32, 400], [1, 400]], 'sub': {'crux': [[5, 250], [1, 400]]}, 'as_of': 31}, {'control': 970, 'subledger': 650, 'difference': 320, 'credit_balances': [], 'open_customers': 1}]], [['regression: credit balance threshold', {'control': [[5, 100], [5, 250], [19, -80], [21, 250], [21, 250]], 'sub': {'crux': [[20, -80], [20, -80]], 'acme': [[21, 100]]}, 'as_of': 20}, {'control': 270, 'subledger': -160, 'difference': 430, 'credit_balances': ['crux'], 'open_customers': 1}], ['regression: credit balance threshold, partial-repair probe', {'control': [[11, -80], [10, 400], [11, -80], [1, 100], [9, 100]], 'sub': {'crux': [[5, -300], [1, -300]], 'dyna': [[5, -80]], 'bolt': [[1, -300], [10, -80], [1, 100]], 'acme': [[10, 250], [11, -80]]}, 'as_of': 10}, {'control': 600, 'subledger': -710, 'difference': 1310, 'credit_balances': ['bolt', 'crux', 'dyna'], 'open_customers': 4}], ['control 1', {'control': [[10, -80], [9, 400], [1, 250]], 'sub': {'crux': [[5, 250], [1, 400], [5, 250]], 'acme': [[10, -80]]}, 'as_of': 10}, {'control': 570, 'subledger': 820, 'difference': -250, 'credit_balances': ['acme'], 'open_customers': 2}], ['control 2', {'control': [[1, -80], [5, 100], [20, 400], [19, 250], [1, 250]], 'sub': {'crux': [[20, 250], [20, -80], [20, 250]]}, 'as_of': 20}, {'control': 920, 'subledger': 420, 'difference': 500, 'credit_balances': [], 'open_customers': 1}], ['control 3', {'control': [[5, 400], [1, 250], [9, 400], [9, 400]], 'sub': {'acme': [[1, -300], [11, -80]], 'bolt': [[1, 250], [10, 250], [5, -300]], 'dyna': [[1, -300], [10, -300], [1, 100]]}, 'as_of': 10}, {'control': 1450, 'subledger': -600, 'difference': 2050, 'credit_balances': ['acme', 'dyna'], 'open_customers': 3}], ['control 4', {'control': [[9, -80], [11, 400]], 'sub': {'bolt': [[5, 100], [5, 250]], 'acme': [[11, 100], [11, -80], [10, 250]]}, 'as_of': 10}, {'control': -80, 'subledger': 600, 'difference': -680, 'credit_balances': [], 'open_customers': 2}], ['control 5', {'control': [[1, 100], [1, 250], [5, 250], [1, 100], [1, 400], [5, -80]], 'sub': {'bolt': [[10, -80], [10, 400]], 'crux': [[1, 250], [10, 250]]}, 'as_of': 10}, {'control': 1020, 'subledger': 820, 'difference': 200, 'credit_balances': [], 'open_customers': 2}]]]
for label, args, expected in fixtures[N-1]:
try:
actual = solve(args)
except Exception as exc:
actual = 'raised ' + type(exc).__name__
check(label, actual, 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: credit balance threshold | {'control': 20, 'credit_balances': [], 'difference': -1320, 'open_customers': 3, 'subledger': 1340} | {'control': 20, 'credit_balances': [], 'difference': -1320, 'open_customers': 3, 'subledger': 1340} | Passed |
| regression: credit balance threshold, partial-repair probe | {'control': 320, 'credit_balances': ['acme', 'crux'], 'difference': 920, 'open_customers': 2, 'subledger': -600} | {'control': 320, 'credit_balances': ['acme', 'crux'], 'difference': 920, 'open_customers': 2, 'subledger': -600} | Passed |
| control 1 | {'control': 820, 'credit_balances': [], 'difference': 570, 'open_customers': 1, 'subledger': 250} | {'control': 820, 'credit_balances': [], 'difference': 570, 'open_customers': 1, 'subledger': 250} | Passed |
| control 2 | {'control': 350, 'credit_balances': ['acme', 'bolt'], 'difference': 160, 'open_customers': 3, 'subledger': 190} | {'control': 350, 'credit_balances': ['acme', 'bolt'], 'difference': 160, 'open_customers': 3, 'subledger': 190} | Passed |
| control 3 | {'control': 1200, 'credit_balances': [], 'difference': 400, 'open_customers': 1, 'subledger': 800} | {'control': 1200, 'credit_balances': [], 'difference': 400, 'open_customers': 1, 'subledger': 800} | Passed |
| control 4 | {'control': 600, 'credit_balances': ['bolt'], 'difference': 260, 'open_customers': 3, 'subledger': 340} | {'control': 600, 'credit_balances': ['bolt'], 'difference': 260, 'open_customers': 3, 'subledger': 340} | Passed |
| control 5 | {'control': 1150, 'credit_balances': [], 'difference': 650, 'open_customers': 1, 'subledger': 500} | {'control': 1150, 'credit_balances': [], 'difference': 650, 'open_customers': 1, 'subledger': 500} | Passed |
SHA-256 / d895af00197a6937376b649bd1667d5ff9343ec8fd08c3e9a457c77d241d9aac
Verification & scope
A deterministic bounded teaching model with stipulated toy bookkeeping rules stated in the contract; amounts are integer cents; it makes no claim of conformance to any accounting standard or product. 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:25.164770+00:00.
Case digest / 3dfe457b8c3dc64632283d1503b26d425d348208f59ac824640fb8e984360d2f