{"abstract":"Package prerequisites use overlap instead of complete closure.","category":"Auction allocation rules","checks":10,"contract":"Auction package certification operates on item sets, declared item quantities and a dependency graph already known acyclic. It reports whether a proposed award respects must-link, excludes, prerequisites, lots offered, exact package quantities, and a seller consent rule. All package item identifiers are strings. Named decision dependency-closure: Require all prerequisites of each awarded item.","evaluation_group":"s3-auction-package-conditions","failed_approach":"The attempted repair uses all(i in x[\"won\"] for i in x[\"prerequisites\"]); the explicit regression cases demonstrate that this still violates the stipulated auction rule.","family":"s3-auction-allocation-rules-package-conditions-dependency-closure","id":"FA-56506","implementations":{"attempt":{"sha256":"14ab0bf04b30f495e7b3ac288cca96628463e631688ad3432650c437a41cf6d8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    v0 = not set(x[\"won\"])&set(x[\"required\"]) or set(x[\"required\"])<=set(x[\"won\"])\n    v1 = not set(x[\"won\"])&set(x[\"forbidden\"])\n    v2 = set(x[\"won\"])<=set(x[\"available\"])\n    v3 = all(i in x[\"won\"] for i in x[\"prerequisites\"])\n    v4 = all(x[\"counts\"].get(i,0)==q for i,q in x[\"wanted\"].items())\n    v5 = sum(set(a)<=set(x[\"won\"]) for a in x[\"alternatives\"])<=1\n    v6 = set(x[\"won\"])&set(x[\"seller_items\"])<=set(x[\"consents\"])\n    v7 = all(len(set(a)&set(x[\"won\"]))<=1 for a in x[\"substitutes\"])\n    v8 = set(x[\"split\"])<=set(x[\"divisible\"])\n    v9 = not set(x[\"won\"])&set(x[\"previous\"])\n    return {'must-link-completeness':v0,'negative-package-clause':v1,'offered-inventory':v2,'dependency-closure':v3,'exact-quantity-contract':v4,'alternative-activation':v5,'seller-consent-scope':v6,'substitute-collision':v7,'divisibility-certificate':v8,'prior-package-encumbrance':v9}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [('multi prerequisite', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A', 'C']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('partial exclusion set / multi prerequisite', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['B', 'C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A', 'C']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('normal contract', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('partial exclusion set', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['B', 'C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('mixed split certificate', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['A', 'B'], 'previous': ['C']}, [True, True, True, True, True]), ('nothing awarded', {'won': [], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('partial bundle', {'won': ['A'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('blocked bundle', {'won': ['A', 'C'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('unoffered item', {'won': ['D'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('full consent', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A', 'B'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True])]\ndef vary(value):\n if type(value) is int: return value*N\n if isinstance(value,list): return [vary(v) for v in value]\n 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()}\n return value\nfor label, request, expected in fixtures:\n check(label, solve(vary(request))['dependency-closure'], expected[N-1])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"dfbb2d430fd357c100d23bd402c936cfa15e33b769eb2f9280ce3e8c12d715ce","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    v0 = not set(x[\"won\"])&set(x[\"required\"]) or set(x[\"required\"])<=set(x[\"won\"])\n    v1 = not set(x[\"won\"])&set(x[\"forbidden\"])\n    v2 = set(x[\"won\"])<=set(x[\"available\"])\n    v3 = all(bool(set(x[\"prerequisites\"].get(i,[]))&set(x[\"won\"])) for i in x[\"won\"] if i in x[\"prerequisites\"])\n    v4 = all(x[\"counts\"].get(i,0)==q for i,q in x[\"wanted\"].items())\n    v5 = sum(set(a)<=set(x[\"won\"]) for a in x[\"alternatives\"])<=1\n    v6 = set(x[\"won\"])&set(x[\"seller_items\"])<=set(x[\"consents\"])\n    v7 = all(len(set(a)&set(x[\"won\"]))<=1 for a in x[\"substitutes\"])\n    v8 = set(x[\"split\"])<=set(x[\"divisible\"])\n    v9 = not set(x[\"won\"])&set(x[\"previous\"])\n    return {'must-link-completeness':v0,'negative-package-clause':v1,'offered-inventory':v2,'dependency-closure':v3,'exact-quantity-contract':v4,'alternative-activation':v5,'seller-consent-scope':v6,'substitute-collision':v7,'divisibility-certificate':v8,'prior-package-encumbrance':v9}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [('multi prerequisite', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A', 'C']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('partial exclusion set / multi prerequisite', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['B', 'C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A', 'C']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('normal contract', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('partial exclusion set', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['B', 'C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('mixed split certificate', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['A', 'B'], 'previous': ['C']}, [True, True, True, True, True]), ('nothing awarded', {'won': [], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('partial bundle', {'won': ['A'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('blocked bundle', {'won': ['A', 'C'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('unoffered item', {'won': ['D'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('full consent', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A', 'B'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True])]\ndef vary(value):\n if type(value) is int: return value*N\n if isinstance(value,list): return [vary(v) for v in value]\n 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()}\n return value\nfor label, request, expected in fixtures:\n check(label, solve(vary(request))['dependency-closure'], expected[N-1])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"19a4236435f822e76fa1561c008b0118a88131debf9fbce0e59f72ad83b6bc9c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    v0 = not set(x[\"won\"])&set(x[\"required\"]) or set(x[\"required\"])<=set(x[\"won\"])\n    v1 = not set(x[\"won\"])&set(x[\"forbidden\"])\n    v2 = set(x[\"won\"])<=set(x[\"available\"])\n    v3 = all(set(x[\"prerequisites\"].get(i,[]))<=set(x[\"won\"]) for i in x[\"won\"])\n    v4 = all(x[\"counts\"].get(i,0)==q for i,q in x[\"wanted\"].items())\n    v5 = sum(set(a)<=set(x[\"won\"]) for a in x[\"alternatives\"])<=1\n    v6 = set(x[\"won\"])&set(x[\"seller_items\"])<=set(x[\"consents\"])\n    v7 = all(len(set(a)&set(x[\"won\"]))<=1 for a in x[\"substitutes\"])\n    v8 = set(x[\"split\"])<=set(x[\"divisible\"])\n    v9 = not set(x[\"won\"])&set(x[\"previous\"])\n    return {'must-link-completeness':v0,'negative-package-clause':v1,'offered-inventory':v2,'dependency-closure':v3,'exact-quantity-contract':v4,'alternative-activation':v5,'seller-consent-scope':v6,'substitute-collision':v7,'divisibility-certificate':v8,'prior-package-encumbrance':v9}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [('multi prerequisite', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A', 'C']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('partial exclusion set / multi prerequisite', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['B', 'C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A', 'C']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('normal contract', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('partial exclusion set', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['B', 'C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('mixed split certificate', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['A', 'B'], 'previous': ['C']}, [True, True, True, True, True]), ('nothing awarded', {'won': [], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('partial bundle', {'won': ['A'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('blocked bundle', {'won': ['A', 'C'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [False, False, False, False, False]), ('unoffered item', {'won': ['D'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True]), ('full consent', {'won': ['A', 'B'], 'required': ['A', 'B'], 'forbidden': ['C'], 'available': ['A', 'B', 'C'], 'prerequisites': {'B': ['A'], 'C': ['B']}, 'counts': {'A': 2, 'B': 1}, 'wanted': {'A': 2, 'B': 1}, 'alternatives': [['A', 'B'], ['C']], 'consents': ['A', 'B'], 'seller_items': ['A', 'B'], 'substitutes': [['A', 'C']], 'divisible': ['A'], 'split': ['B'], 'previous': ['C']}, [True, True, True, True, True])]\ndef vary(value):\n if type(value) is int: return value*N\n if isinstance(value,list): return [vary(v) for v in value]\n 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()}\n return value\nfor label, request, expected in fixtures:\n check(label, solve(vary(request))['dependency-closure'], expected[N-1])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-auction-allocation-rules-package-conditions-dependency-closure","generated_at":"2026-09-29T14:46:07.672986+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline administrative auction model for software failure analysis.","repair":"Require all prerequisites of each awarded item.","root_cause":"Package prerequisites use overlap instead of complete closure.","sha256":"87d891d359a8ff8eb54f3f377a43e01bb897e894fd0ad44e713f26aac25e91d0","title":"Package conditions: dependency closure · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.746,"exit_code":1,"observations":[{"actual":true,"check":"multi prerequisite","expected":false,"passed":false},{"actual":true,"check":"partial exclusion set / multi prerequisite","expected":false,"passed":false},{"actual":false,"check":"normal contract","expected":true,"passed":false},{"actual":false,"check":"partial exclusion set","expected":true,"passed":false},{"actual":false,"check":"mixed split certificate","expected":true,"passed":false},{"actual":false,"check":"nothing awarded","expected":true,"passed":false},{"actual":false,"check":"partial bundle","expected":true,"passed":false},{"actual":false,"check":"blocked bundle","expected":false,"passed":true},{"actual":false,"check":"unoffered item","expected":true,"passed":false},{"actual":false,"check":"full consent","expected":true,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi prerequisite\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial exclusion set / multi prerequisite\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"normal contract\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"partial exclusion set\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"mixed split certificate\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"nothing awarded\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"partial bundle\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"blocked bundle\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unoffered item\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"full consent\", \"actual\": false, \"expected\": true, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.442,"exit_code":1,"observations":[{"actual":true,"check":"multi prerequisite","expected":false,"passed":false},{"actual":true,"check":"partial exclusion set / multi prerequisite","expected":false,"passed":false},{"actual":true,"check":"normal contract","expected":true,"passed":true},{"actual":true,"check":"partial exclusion set","expected":true,"passed":true},{"actual":true,"check":"mixed split certificate","expected":true,"passed":true},{"actual":true,"check":"nothing awarded","expected":true,"passed":true},{"actual":true,"check":"partial bundle","expected":true,"passed":true},{"actual":false,"check":"blocked bundle","expected":false,"passed":true},{"actual":true,"check":"unoffered item","expected":true,"passed":true},{"actual":true,"check":"full consent","expected":true,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi prerequisite\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"partial exclusion set / multi prerequisite\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"normal contract\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"partial exclusion set\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"mixed split certificate\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"nothing awarded\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"partial bundle\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"blocked bundle\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unoffered item\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"full consent\", \"actual\": true, \"expected\": true, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.852,"exit_code":0,"observations":[{"actual":false,"check":"multi prerequisite","expected":false,"passed":true},{"actual":false,"check":"partial exclusion set / multi prerequisite","expected":false,"passed":true},{"actual":true,"check":"normal contract","expected":true,"passed":true},{"actual":true,"check":"partial exclusion set","expected":true,"passed":true},{"actual":true,"check":"mixed split certificate","expected":true,"passed":true},{"actual":true,"check":"nothing awarded","expected":true,"passed":true},{"actual":true,"check":"partial bundle","expected":true,"passed":true},{"actual":false,"check":"blocked bundle","expected":false,"passed":true},{"actual":true,"check":"unoffered item","expected":true,"passed":true},{"actual":true,"check":"full consent","expected":true,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi prerequisite\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"partial exclusion set / multi prerequisite\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"normal contract\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"partial exclusion set\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"mixed split certificate\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"nothing awarded\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"partial bundle\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"blocked bundle\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unoffered item\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"full consent\", \"actual\": true, \"expected\": true, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}