def model(dossier, scenario_name, concentration_limit, working_capital_limit):
    errors = []
    if not dossier.get("source_ids") or type(dossier.get("units_per_system")) is not int:
        errors.append("sources_or_units_per_system")
    price = dossier.get("price", {})
    if type(price.get("value")) is not int or price.get("unit") != "USD/unit":
        errors.append("price_schema")
    scenario = dossier.get("scenarios", {}).get(scenario_name, {})
    expected = {"systems": "systems", "largest_customer_share": "fraction",
                "working_capital_share": "fraction"}
    for name, unit in expected.items():
        item = scenario.get(name, {})
        if type(item.get("value")) not in (int, float) or item.get("unit") != unit:
            errors.append(name + "_schema")
    if errors:
        return {"decision": "invalid", "errors": sorted(set(errors)), "revenue_usd": None}
    units = scenario["systems"]["value"] * dossier["units_per_system"]
    revenue = units * price["value"]
    constrained = (scenario["largest_customer_share"]["value"] > concentration_limit or
                   scenario["working_capital_share"]["value"] > working_capital_limit)
    return {"decision": "constrained-option" if constrained else "qualify",
            "errors": [], "units": units, "revenue_usd": revenue}
dossier = {"scenario": "cryogenic-control supplier", "source_ids": ["scenario:customer-BOMs"],
           "units_per_system": 8, "price": {"value": 2500, "unit": "USD/unit"},
           "scenarios": {
               "base": {"systems": {"value": 40, "unit": "systems"},
                        "largest_customer_share": {"value": 0.70, "unit": "fraction"},
                        "working_capital_share": {"value": 0.35, "unit": "fraction"}},
               "high": {"systems": {"value": 80, "unit": "systems"},
                        "largest_customer_share": {"value": 0.65, "unit": "fraction"},
                        "working_capital_share": {"value": 0.42, "unit": "fraction"}}}}
base_result = model(dossier, "base", 0.50, 0.30)
bad_result = model({**dossier, "price": {"value": 2500, "unit": ""}}, "base", 0.50, 0.30)
high_result = model(dossier, "high", 0.50, 0.30)
deconcentrated = {**dossier, "scenarios": {**dossier["scenarios"], "base": {
                 **dossier["scenarios"]["base"],
                 "largest_customer_share": {"value": 0.45, "unit": "fraction"},
                 "working_capital_share": {"value": 0.25, "unit": "fraction"}}}}
improved_result = model(deconcentrated, "base", 0.50, 0.30)
assert base_result["units"] == 320 and base_result["revenue_usd"] == 800000
assert bad_result["decision"] == "invalid" and "price_schema" in bad_result["errors"]
assert high_result["decision"] == "constrained-option" and improved_result["decision"] == "qualify"
print(f"PASS: 78 supplier workbook units={base_result['units']} revenue=${base_result['revenue_usd']} invalid={bad_result['errors']} high={high_result['decision']} diversified={improved_result['decision']}")
