{"id":"capacity-allocation-check","version":"1.0.0","description":"Check an exact claimed allocation for eligibility and per-bin decimal capacity compliance.","supported_operations":["check capacity allocation","validate claimed capacitated assignment","audit bin capacity compliance","check exact decimal allocation loads","detect overloaded bins","validate item demand assignment"],"unsupported_operations":["choose an allocation","split item demand"],"semantics":["Items and bins use exact, case-sensitive string identifiers; duplicate declarations and duplicate eligibility entries are malformed.","A false claim is reported at the first source item, then source bin, then claim index relevant to the discrepancy; no assignment is repaired or synthesized.","Null is never an identifier, decimal, array, object, or quota; unknown fields are rejected.","Decimal strings are canonical non-negative base-10 values and are summed as scaled integers without binary floating-point.","Reference version: Ahuja-Magnanti-Orlin-Network-Flows-1993-chapter-12."],"limits":{"max_input_bytes":262144,"max_items":2000,"max_bins":500,"max_assignments":4000,"max_eligible_bins_per_item":500,"max_decimal_digits":40},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","minItems":1,"maxItems":2000,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":128},"eligible_bins":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":500,"uniqueItems":true},"demand":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$","maxLength":41}},"required":["id","eligible_bins","demand"]}},"bins":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":128},"capacity":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$","maxLength":41}},"required":["id","capacity"]}},"claim":{"type":"object","additionalProperties":false,"properties":{"assignments":{"type":"array","maxItems":4000,"items":{"type":"object","additionalProperties":false,"properties":{"item_id":{"type":"string","minLength":1,"maxLength":128},"bin_id":{"type":"string","minLength":1,"maxLength":128}},"required":["item_id","bin_id"]}}},"required":["assignments"]}},"required":["items","bins","claim"]},"output_schema":{"type":"object","additionalProperties":false,"properties":{"valid":{"type":"boolean"},"reason":{"type":"string","minLength":1},"discrepancy":{"type":["object","null"],"additionalProperties":false,"properties":{"path":{"type":"string"},"index":{"type":["integer","null"],"minimum":0},"expected":{},"actual":{}},"required":["path","index","expected","actual"]},"reference_version":{"type":"string","const":"Ahuja-Magnanti-Orlin-Network-Flows-1993-chapter-12"}},"required":["valid","reason","discrepancy","reference_version"]},"examples":[{"input":{"items":[{"id":"i1","eligible_bins":["b1"],"demand":"1.25"}],"bins":[{"id":"b1","capacity":"1.25"}],"claim":{"assignments":[{"item_id":"i1","bin_id":"b1"}]}},"output":{"valid":true,"reason":"claim_exact","discrepancy":null,"reference_version":"Ahuja-Magnanti-Orlin-Network-Flows-1993-chapter-12"}},{"input":{"items":[{"id":"i1","eligible_bins":["b1"],"demand":"1.25"}],"bins":[{"id":"b1","capacity":"1.25"}],"claim":{"assignments":[]}},"output":{"valid":false,"reason":"missing_assignment","discrepancy":{"path":"items[0]","index":0,"expected":"exactly_one_assignment","actual":"none"},"reference_version":"Ahuja-Magnanti-Orlin-Network-Flows-1993-chapter-12"}}],"execute_url":"/v1/tools/capacity-allocation-check/versions/1.0.0/execute"}