{"name":"FOXIFY Basket Repair","version":"1.0.0","billing":"NO_BILLING_IN_THIS_ADAPTER","limits":{"max_items":16,"max_suppliers":6,"max_unit_cents":100000000,"max_budget_cents":10000000000,"max_body_bytes":32768,"max_search_nodes":20000,"max_search_ms":4},"limits_note":"Node count is a hard deterministic cap. max_search_ms is a best-effort runtime-clock target, not a CPU guarantee; some Worker clocks do not advance during synchronous execution. Deployed total CPU acceptance is separate.","endpoints":{"GET /health":"Liveness, not a background-job or real-offer guarantee.","GET /schema":"This contract and the input JSON schema.","GET /example":"Synthetic example problem.","POST /v1/basket/solve":{"request":{"problem":"basket-problem/v1"},"description":"Bounded exact search. No charge, purchase or external request."},"POST /v1/basket/verify":{"request":{"problem":"basket-problem/v1","receipt":{"input_sha256":"sha256","supplier_for_item":["supplier index per row"],"total_cents":"integer"}},"description":"Independent feasibility checker, including tampered/foreign input detection."}},"statuses":{"OPTIMAL":"Feasible candidate; branch-and-bound search completed. Optimal under the supplied finite model.","INFEASIBLE":"Complete search proves no feasible assignment under the supplied model.","FEASIBLE_LIMIT":"Independently checked feasible candidate; search stopped; optimality unproved.","UNKNOWN":"Search stopped without a feasible candidate; infeasibility unproved."},"input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:foxify:basket-problem:v1","title":"FOXIFY Basket Repair input","type":"object","additionalProperties":false,"required":["schema","prices_cents","shipping_cents","minimum_order_cents","max_suppliers","budget_cents"],"properties":{"schema":{"const":"basket-problem/v1"},"source":{"type":"string","maxLength":160},"prices_cents":{"type":"array","minItems":1,"maxItems":16,"items":{"type":"array","minItems":1,"maxItems":6,"items":{"anyOf":[{"type":"integer","minimum":0,"maximum":100000000},{"type":"null"}]}},"description":"One row is one indivisible item/unit; columns are suppliers. null means unavailable, 0 is a real zero-price offer."},"shipping_cents":{"type":"array","minItems":1,"maxItems":6,"items":{"type":"integer","minimum":0,"maximum":100000000},"description":"Charged once per supplier used."},"minimum_order_cents":{"type":"array","minItems":1,"maxItems":6,"items":{"type":"integer","minimum":0,"maximum":100000000},"description":"Minimum merchandise subtotal for each used supplier, excluding shipping."},"max_suppliers":{"type":"integer","minimum":1,"maximum":6},"budget_cents":{"type":"integer","minimum":0,"maximum":10000000000}},"$comment":"Runtime additionally requires equal supplier-vector/row lengths and max_suppliers <= actual supplier count. All prices share one caller-defined currency with two decimal places; no conversion is performed."},"excluded":["Live supplier prices or stock","Buying or checkout","Taxes not included by caller","Currency conversion","Fractional quantities","Multiple units per row","Proof of customer demand or commercial advantage"]}