FA-57536 / Auction allocation rules / Open access
Result publication: lot publication scope · case 01
Result export ignores the approved multi-lot publication scope.
ROOT CAUSE
Result export ignores the approved multi-lot publication scope.
VERIFIED REPAIR
For lot publication scope, apply the stipulated decision [a for a,l in zip(x["ids"],x["lot_ids"]) if l in x["eligible_lots"]].
Unsuccessful approach: The attempted repair uses [a for a,l in zip(x["ids"],x["lot_ids"]) if l==x["eligible_lots"][0]] if x["eligible_lots"] else []; the explicit regression cases demonstrate that this still violates the stipulated auction rule.
Case contract
Auction result publication assembles accepted award records, provisional appeal markers and correction versions. An original award record and its correction share one award identifier. Readers request a publication edition; drafts and withdrawn results must not appear. Named decision lot-publication-scope: For lot publication scope, apply the stipulated decision [a for a,l in zip(x["ids"],x["lot_ids"]) if l in x["eligible_lots"]].
Why this case matters
Offline administrative auction model for software failure analysis.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = {a:max(v for b,v in zip(x["ids"],x["versions"]) if b==a) for a in x["ids"]}
v1 = [a for a,d in zip(x["ids"],x["draft"]) if not d]
v2 = [a for a in x["ids"] if a not in x["withdrawn"]]
v3 = {a:("provisional" if a in x["appealed"] and a not in x["finalized"] else "final") for a in x["ids"]}
v4 = x["edition"] in x["published_editions"]
v5 = {a:x["quantities"][max((i for i,b in enumerate(x["ids"]) if b==a),key=lambda i:x["versions"][i])] for a in x["ids"]}
v6 = [a for a in dict.fromkeys(x["ids"]) if max(v for b,v in zip(x["ids"],x["versions"]) if b==a)>x["notice_ack_version"].get(a,0)]
v7 = x["owners"] if x["disclose_owner"] else [None]*len(x["owners"])
v8 = [a for a,v in zip(x["ids"],x["versions"]) if v<=x["edition"]]
v9 = x["ids"]
return {'latest-award-revision':v0,'draft-result-filter':v1,'withdrawn-result-tombstone':v2,'appeal-finality-label':v3,'edition-existence':v4,'correction-quantity-replacement':v5,'correction-notice-edition':v6,'owner-redaction':v7,'edition-revision-cutoff':v8,'lot-publication-scope':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('all final', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['a', 'b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('all lots eligible', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1', 'L2'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a']]), ('all final / all lots eligible', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['a', 'b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1', 'L2'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a']]), ('all published', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, False, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('no withdrawal', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': [], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('first edition', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 1, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('edition published', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1, 2], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('owner disclosure', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': True, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('no acknowledgments', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': [], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']])]
def vary(value):
if type(value) is int: return value*N
if isinstance(value,list): return [vary(v) for v in value]
if isinstance(value,dict): return {k:(v if k in ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', 'stage', 'threshold', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['lot-publication-scope'], expected[N-1])
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 |
|---|---|---|---|
| normal contract | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| all final | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| all lots eligible | ['a', 'b', 'a'] | ['a', 'b', 'a'] | Passed |
| all final / all lots eligible | ['a', 'b', 'a'] | ['a', 'b', 'a'] | Passed |
| all published | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| no withdrawal | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| first edition | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| edition published | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| owner disclosure | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
| no acknowledgments | ['a', 'b', 'a'] | ['a', 'a'] | Failed |
SHA-256 / e38a78bac30dcdbd9786dfaf63cf1ba50bca91e402b0107701c3a477a780950d
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = {a:max(v for b,v in zip(x["ids"],x["versions"]) if b==a) for a in x["ids"]}
v1 = [a for a,d in zip(x["ids"],x["draft"]) if not d]
v2 = [a for a in x["ids"] if a not in x["withdrawn"]]
v3 = {a:("provisional" if a in x["appealed"] and a not in x["finalized"] else "final") for a in x["ids"]}
v4 = x["edition"] in x["published_editions"]
v5 = {a:x["quantities"][max((i for i,b in enumerate(x["ids"]) if b==a),key=lambda i:x["versions"][i])] for a in x["ids"]}
v6 = [a for a in dict.fromkeys(x["ids"]) if max(v for b,v in zip(x["ids"],x["versions"]) if b==a)>x["notice_ack_version"].get(a,0)]
v7 = x["owners"] if x["disclose_owner"] else [None]*len(x["owners"])
v8 = [a for a,v in zip(x["ids"],x["versions"]) if v<=x["edition"]]
v9 = [a for a,l in zip(x["ids"],x["lot_ids"]) if l==x["eligible_lots"][0]] if x["eligible_lots"] else []
return {'latest-award-revision':v0,'draft-result-filter':v1,'withdrawn-result-tombstone':v2,'appeal-finality-label':v3,'edition-existence':v4,'correction-quantity-replacement':v5,'correction-notice-edition':v6,'owner-redaction':v7,'edition-revision-cutoff':v8,'lot-publication-scope':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('all final', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['a', 'b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('all lots eligible', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1', 'L2'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a']]), ('all final / all lots eligible', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['a', 'b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1', 'L2'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a']]), ('all published', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, False, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('no withdrawal', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': [], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('first edition', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 1, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('edition published', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1, 2], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('owner disclosure', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': True, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('no acknowledgments', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': [], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']])]
def vary(value):
if type(value) is int: return value*N
if isinstance(value,list): return [vary(v) for v in value]
if isinstance(value,dict): return {k:(v if k in ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', 'stage', 'threshold', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['lot-publication-scope'], expected[N-1])
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 |
|---|---|---|---|
| normal contract | ['a', 'a'] | ['a', 'a'] | Passed |
| all final | ['a', 'a'] | ['a', 'a'] | Passed |
| all lots eligible | ['a', 'a'] | ['a', 'b', 'a'] | Failed |
| all final / all lots eligible | ['a', 'a'] | ['a', 'b', 'a'] | Failed |
| all published | ['a', 'a'] | ['a', 'a'] | Passed |
| no withdrawal | ['a', 'a'] | ['a', 'a'] | Passed |
| first edition | ['a', 'a'] | ['a', 'a'] | Passed |
| edition published | ['a', 'a'] | ['a', 'a'] | Passed |
| owner disclosure | ['a', 'a'] | ['a', 'a'] | Passed |
| no acknowledgments | ['a', 'a'] | ['a', 'a'] | Passed |
SHA-256 / a9c2b2dd1d2d90496cc6c8159f18fdb3b4bd34c1e10f7b898bd7d13cfc2353c0
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = {a:max(v for b,v in zip(x["ids"],x["versions"]) if b==a) for a in x["ids"]}
v1 = [a for a,d in zip(x["ids"],x["draft"]) if not d]
v2 = [a for a in x["ids"] if a not in x["withdrawn"]]
v3 = {a:("provisional" if a in x["appealed"] and a not in x["finalized"] else "final") for a in x["ids"]}
v4 = x["edition"] in x["published_editions"]
v5 = {a:x["quantities"][max((i for i,b in enumerate(x["ids"]) if b==a),key=lambda i:x["versions"][i])] for a in x["ids"]}
v6 = [a for a in dict.fromkeys(x["ids"]) if max(v for b,v in zip(x["ids"],x["versions"]) if b==a)>x["notice_ack_version"].get(a,0)]
v7 = x["owners"] if x["disclose_owner"] else [None]*len(x["owners"])
v8 = [a for a,v in zip(x["ids"],x["versions"]) if v<=x["edition"]]
v9 = [a for a,l in zip(x["ids"],x["lot_ids"]) if l in x["eligible_lots"]]
return {'latest-award-revision':v0,'draft-result-filter':v1,'withdrawn-result-tombstone':v2,'appeal-finality-label':v3,'edition-existence':v4,'correction-quantity-replacement':v5,'correction-notice-edition':v6,'owner-redaction':v7,'edition-revision-cutoff':v8,'lot-publication-scope':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('all final', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['a', 'b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('all lots eligible', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1', 'L2'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a']]), ('all final / all lots eligible', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['a', 'b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1', 'L2'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a'], ['a', 'b', 'a']]), ('all published', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, False, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('no withdrawal', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': [], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('first edition', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 1, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('edition published', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1, 2], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('owner disclosure', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': ['a'], 'disclose_owner': True, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']]), ('no acknowledgments', {'ids': ['a', 'b', 'a'], 'versions': [1, 1, 2], 'quantities': [3, 4, 2], 'draft': [False, True, False], 'withdrawn': ['b'], 'appealed': ['a'], 'finalized': ['b'], 'edition': 2, 'published_editions': [1], 'correction_of': {'a': 'a'}, 'announcements': ['a', 'b'], 'acknowledged': [], 'disclose_owner': False, 'owners': ['x', 'y', 'x'], 'lot_ids': ['L1', 'L2', 'L1'], 'eligible_lots': ['L1'], 'notice_ack_version': {'a': 1, 'b': 1}}, [['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a'], ['a', 'a']])]
def vary(value):
if type(value) is int: return value*N
if isinstance(value,list): return [vary(v) for v in value]
if isinstance(value,dict): return {k:(v if k in ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', 'stage', 'threshold', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['lot-publication-scope'], expected[N-1])
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 |
|---|---|---|---|
| normal contract | ['a', 'a'] | ['a', 'a'] | Passed |
| all final | ['a', 'a'] | ['a', 'a'] | Passed |
| all lots eligible | ['a', 'b', 'a'] | ['a', 'b', 'a'] | Passed |
| all final / all lots eligible | ['a', 'b', 'a'] | ['a', 'b', 'a'] | Passed |
| all published | ['a', 'a'] | ['a', 'a'] | Passed |
| no withdrawal | ['a', 'a'] | ['a', 'a'] | Passed |
| first edition | ['a', 'a'] | ['a', 'a'] | Passed |
| edition published | ['a', 'a'] | ['a', 'a'] | Passed |
| owner disclosure | ['a', 'a'] | ['a', 'a'] | Passed |
| no acknowledgments | ['a', 'a'] | ['a', 'a'] | Passed |
SHA-256 / 078e06e4982e39e30ea8384b063337d3427ce5c89a6b5f4f45721eddc35b537b
Verification & scope
Stipulated toy auction rules, not a venue specification, financial advice, optimization claim, or live trading implementation. Nonnegative integer inputs and internally aligned list fields only. 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:17.816268+00:00.
Case digest / d189a578dbf3ccc3c9bc3eaffe3fa48b58c8dcba43afe5cd7f0947701452154c