FA-85991 / Game economy crafting balance / Open access
Auction house fees: Sold listings keep the deposit · case 01
Successful sellers lose their deposit as if the listing expired.
ROOT CAUSE
The sale branch still subtracts the deposit, which is refunded on sale.
VERIFIED REPAIR
Restore `net = listing['price'] - cut` at the deposit refund on sale step.
Unsuccessful approach: Withholding one block still charges part of a refundable deposit.
Case contract
Deposit = per_block * (hours//12) where per_block = max(1, floor(stack_value*15/100)). Sold: net = price - cut with cut = 5% of price rounded half up (deposit refunded). Expired: net = -deposit. Cancelled: net = -deposit - floor(bid*5/100) (bid defaults to 0). Returns {deposit, net} in copper.
Why this case matters
Game economies leak or destroy currency when one crafting or pricing rule is off by one boundary, rounding stage or state update; the defect is observable in exact integer outcomes.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(listing, outcome):
blocks = listing['hours'] // 12
per_block = max(1, listing['stack_value'] * 15 // 100)
deposit = per_block * blocks
status = outcome['status']
if status == 'sold':
cut = (listing['price'] * 5 + 50) // 100
net = listing['price'] - cut - deposit
elif status == 'cancelled':
net = -deposit - outcome.get('bid', 0) * 5 // 100
else:
net = -deposit
return {'deposit': deposit, 'net': net}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 1, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 1}),
('regression deposit refund on sale #2',
[{'price': 30, 'hours': 12, 'stack_value': 6}, {'status': 'sold'}],
{'deposit': 1, 'net': 28}),
('regression deposit refund on sale #3',
[{'price': 190, 'hours': 12, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 1, 'net': 180}),
('regression deposit refund on sale #4',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 30, 'hours': 12, 'stack_value': 6}, {'status': 'sold'}],
{'deposit': 1, 'net': 28}),
('regression deposit refund on sale #2',
[{'price': 190, 'hours': 12, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 1, 'net': 180}),
('regression deposit refund on sale #3',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('regression deposit refund on sale #4',
[{'price': 5141, 'hours': 12, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 1, 'net': 4884}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('regression deposit refund on sale #2',
[{'price': 5141, 'hours': 12, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 1, 'net': 4884}),
('regression deposit refund on sale #3',
[{'price': 34146, 'hours': 48, 'stack_value': 3106}, {'status': 'sold'}],
{'deposit': 1860, 'net': 32439}),
('regression deposit refund on sale #4',
[{'price': 10, 'hours': 24, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 2, 'net': 9}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 34146, 'hours': 48, 'stack_value': 3106}, {'status': 'sold'}],
{'deposit': 1860, 'net': 32439}),
('regression deposit refund on sale #2',
[{'price': 10, 'hours': 24, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 2, 'net': 9}),
('regression deposit refund on sale #3',
[{'price': 9, 'hours': 48, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 4, 'net': 9}),
('regression deposit refund on sale #4',
[{'price': 91070, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 86516}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 10, 'hours': 48, 'stack_value': 0}, {'status': 'expired'}],
{'deposit': 4, 'net': -4})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 9, 'hours': 48, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 4, 'net': 9}),
('regression deposit refund on sale #2',
[{'price': 91070, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 86516}),
('regression deposit refund on sale #3',
[{'price': 72766, 'hours': 24, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 2, 'net': 69128}),
('regression deposit refund on sale #4',
[{'price': 30, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 50, 'hours': 24, 'stack_value': 6}, {'status': 'expired'}],
{'deposit': 2, 'net': -2})]]
for label, args, expected in cases[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 |
|---|---|---|---|
| half-up cut boundary #1 | {'deposit': 15, 'net': -6} | {'deposit': 15, 'net': 9} | Failed |
| regression deposit refund on sale #1 | {'deposit': 2, 'net': -1} | {'deposit': 2, 'net': 1} | Failed |
| regression deposit refund on sale #2 | {'deposit': 1, 'net': 27} | {'deposit': 1, 'net': 28} | Failed |
| regression deposit refund on sale #3 | {'deposit': 1, 'net': 179} | {'deposit': 1, 'net': 180} | Failed |
| regression deposit refund on sale #4 | {'deposit': 2, 'net': 26} | {'deposit': 2, 'net': 28} | Failed |
| long cheap listing #1 | {'deposit': 4, 'net': -4} | {'deposit': 4, 'net': -4} | Passed |
| cancel with bid #1 | {'deposit': 12, 'net': -31} | {'deposit': 12, 'net': -31} | Passed |
| control #1 | {'deposit': 2, 'net': -2} | {'deposit': 2, 'net': -2} | Passed |
SHA-256 / a91e433c516b3a692349632e9e8ae70f7746e313adee1593b0225ce3b20b83b8
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(listing, outcome):
blocks = listing['hours'] // 12
per_block = max(1, listing['stack_value'] * 15 // 100)
deposit = per_block * blocks
status = outcome['status']
if status == 'sold':
cut = (listing['price'] * 5 + 50) // 100
net = listing['price'] - cut - per_block
elif status == 'cancelled':
net = -deposit - outcome.get('bid', 0) * 5 // 100
else:
net = -deposit
return {'deposit': deposit, 'net': net}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 1, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 1}),
('regression deposit refund on sale #2',
[{'price': 30, 'hours': 12, 'stack_value': 6}, {'status': 'sold'}],
{'deposit': 1, 'net': 28}),
('regression deposit refund on sale #3',
[{'price': 190, 'hours': 12, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 1, 'net': 180}),
('regression deposit refund on sale #4',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 30, 'hours': 12, 'stack_value': 6}, {'status': 'sold'}],
{'deposit': 1, 'net': 28}),
('regression deposit refund on sale #2',
[{'price': 190, 'hours': 12, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 1, 'net': 180}),
('regression deposit refund on sale #3',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('regression deposit refund on sale #4',
[{'price': 5141, 'hours': 12, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 1, 'net': 4884}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('regression deposit refund on sale #2',
[{'price': 5141, 'hours': 12, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 1, 'net': 4884}),
('regression deposit refund on sale #3',
[{'price': 34146, 'hours': 48, 'stack_value': 3106}, {'status': 'sold'}],
{'deposit': 1860, 'net': 32439}),
('regression deposit refund on sale #4',
[{'price': 10, 'hours': 24, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 2, 'net': 9}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 34146, 'hours': 48, 'stack_value': 3106}, {'status': 'sold'}],
{'deposit': 1860, 'net': 32439}),
('regression deposit refund on sale #2',
[{'price': 10, 'hours': 24, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 2, 'net': 9}),
('regression deposit refund on sale #3',
[{'price': 9, 'hours': 48, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 4, 'net': 9}),
('regression deposit refund on sale #4',
[{'price': 91070, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 86516}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 10, 'hours': 48, 'stack_value': 0}, {'status': 'expired'}],
{'deposit': 4, 'net': -4})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 9, 'hours': 48, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 4, 'net': 9}),
('regression deposit refund on sale #2',
[{'price': 91070, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 86516}),
('regression deposit refund on sale #3',
[{'price': 72766, 'hours': 24, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 2, 'net': 69128}),
('regression deposit refund on sale #4',
[{'price': 30, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 50, 'hours': 24, 'stack_value': 6}, {'status': 'expired'}],
{'deposit': 2, 'net': -2})]]
for label, args, expected in cases[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 |
|---|---|---|---|
| half-up cut boundary #1 | {'deposit': 15, 'net': -6} | {'deposit': 15, 'net': 9} | Failed |
| regression deposit refund on sale #1 | {'deposit': 2, 'net': 0} | {'deposit': 2, 'net': 1} | Failed |
| regression deposit refund on sale #2 | {'deposit': 1, 'net': 27} | {'deposit': 1, 'net': 28} | Failed |
| regression deposit refund on sale #3 | {'deposit': 1, 'net': 179} | {'deposit': 1, 'net': 180} | Failed |
| regression deposit refund on sale #4 | {'deposit': 2, 'net': 27} | {'deposit': 2, 'net': 28} | Failed |
| long cheap listing #1 | {'deposit': 4, 'net': -4} | {'deposit': 4, 'net': -4} | Passed |
| cancel with bid #1 | {'deposit': 12, 'net': -31} | {'deposit': 12, 'net': -31} | Passed |
| control #1 | {'deposit': 2, 'net': -2} | {'deposit': 2, 'net': -2} | Passed |
SHA-256 / 093415292bb41aac51fe57a01b3bddfbcd4b8b19e3c3b215be723a67067e9537
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(listing, outcome):
blocks = listing['hours'] // 12
per_block = max(1, listing['stack_value'] * 15 // 100)
deposit = per_block * blocks
status = outcome['status']
if status == 'sold':
cut = (listing['price'] * 5 + 50) // 100
net = listing['price'] - cut
elif status == 'cancelled':
net = -deposit - outcome.get('bid', 0) * 5 // 100
else:
net = -deposit
return {'deposit': deposit, 'net': net}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 1, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 1}),
('regression deposit refund on sale #2',
[{'price': 30, 'hours': 12, 'stack_value': 6}, {'status': 'sold'}],
{'deposit': 1, 'net': 28}),
('regression deposit refund on sale #3',
[{'price': 190, 'hours': 12, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 1, 'net': 180}),
('regression deposit refund on sale #4',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 30, 'hours': 12, 'stack_value': 6}, {'status': 'sold'}],
{'deposit': 1, 'net': 28}),
('regression deposit refund on sale #2',
[{'price': 190, 'hours': 12, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 1, 'net': 180}),
('regression deposit refund on sale #3',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('regression deposit refund on sale #4',
[{'price': 5141, 'hours': 12, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 1, 'net': 4884}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 30, 'hours': 24, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('regression deposit refund on sale #2',
[{'price': 5141, 'hours': 12, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 1, 'net': 4884}),
('regression deposit refund on sale #3',
[{'price': 34146, 'hours': 48, 'stack_value': 3106}, {'status': 'sold'}],
{'deposit': 1860, 'net': 32439}),
('regression deposit refund on sale #4',
[{'price': 10, 'hours': 24, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 2, 'net': 9}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 11, 'hours': 24, 'stack_value': 13}, {'status': 'cancelled', 'bid': 0}],
{'deposit': 2, 'net': -2})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 34146, 'hours': 48, 'stack_value': 3106}, {'status': 'sold'}],
{'deposit': 1860, 'net': 32439}),
('regression deposit refund on sale #2',
[{'price': 10, 'hours': 24, 'stack_value': 0}, {'status': 'sold'}],
{'deposit': 2, 'net': 9}),
('regression deposit refund on sale #3',
[{'price': 9, 'hours': 48, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 4, 'net': 9}),
('regression deposit refund on sale #4',
[{'price': 91070, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 86516}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 10, 'hours': 48, 'stack_value': 0}, {'status': 'expired'}],
{'deposit': 4, 'net': -4})],
[('half-up cut boundary #1',
[{'price': 10, 'hours': 12, 'stack_value': 100}, {'status': 'sold'}],
{'deposit': 15, 'net': 9}),
('regression deposit refund on sale #1',
[{'price': 9, 'hours': 48, 'stack_value': 1}, {'status': 'sold'}],
{'deposit': 4, 'net': 9}),
('regression deposit refund on sale #2',
[{'price': 91070, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 86516}),
('regression deposit refund on sale #3',
[{'price': 72766, 'hours': 24, 'stack_value': 13}, {'status': 'sold'}],
{'deposit': 2, 'net': 69128}),
('regression deposit refund on sale #4',
[{'price': 30, 'hours': 24, 'stack_value': 7}, {'status': 'sold'}],
{'deposit': 2, 'net': 28}),
('long cheap listing #1',
[{'price': 10, 'hours': 48, 'stack_value': 3}, {'status': 'expired'}],
{'deposit': 4, 'net': -4}),
('cancel with bid #1',
[{'price': 500, 'hours': 24, 'stack_value': 40}, {'status': 'cancelled', 'bid': 390}],
{'deposit': 12, 'net': -31}),
('control #1',
[{'price': 50, 'hours': 24, 'stack_value': 6}, {'status': 'expired'}],
{'deposit': 2, 'net': -2})]]
for label, args, expected in cases[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 |
|---|---|---|---|
| half-up cut boundary #1 | {'deposit': 15, 'net': 9} | {'deposit': 15, 'net': 9} | Passed |
| regression deposit refund on sale #1 | {'deposit': 2, 'net': 1} | {'deposit': 2, 'net': 1} | Passed |
| regression deposit refund on sale #2 | {'deposit': 1, 'net': 28} | {'deposit': 1, 'net': 28} | Passed |
| regression deposit refund on sale #3 | {'deposit': 1, 'net': 180} | {'deposit': 1, 'net': 180} | Passed |
| regression deposit refund on sale #4 | {'deposit': 2, 'net': 28} | {'deposit': 2, 'net': 28} | Passed |
| long cheap listing #1 | {'deposit': 4, 'net': -4} | {'deposit': 4, 'net': -4} | Passed |
| cancel with bid #1 | {'deposit': 12, 'net': -31} | {'deposit': 12, 'net': -31} | Passed |
| control #1 | {'deposit': 2, 'net': -2} | {'deposit': 2, 'net': -2} | Passed |
SHA-256 / 1128ac1eee95d45918f1c56a4c68e0867487967e90ebe29ff5fa586b0d3b9670
Verification & scope
Deterministic toy contract stipulated for this model; integer or exact arithmetic only, not a reproduction of any specific game engine. 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:50:45.490767+00:00.
Case digest / 87257f7a737fe06da99ae62ba4c8db156a776142a819f2aec22c8217f9f776e7