NODE_FIELDS = {"name": str, "layer": str, "buyer": str, "dependency": str, "source_id": str}
def inspect_map(dossier):
    errors = []
    threshold = dossier.get("concentration_threshold", {})
    if type(threshold.get("value")) is not int or threshold.get("unit") != "companies":
        errors.append("threshold_schema")
    counts = {}
    groups = {}
    for node in dossier.get("nodes", []):
        missing = [name for name, kind in NODE_FIELDS.items()
                   if name not in node or type(node[name]) is not kind or not node[name]]
        if missing:
            errors.append(node.get("name", "node") + ":" + ",".join(missing))
            continue
        counts[node["dependency"]] = counts.get(node["dependency"], 0) + 1
        groups.setdefault((node["layer"], node["buyer"]), []).append(node["name"])
    limit = threshold.get("value", 10 ** 9)
    concentrations = sorted(name for name, count in counts.items() if count >= limit)
    return {"decision": "invalid" if errors else ("concentrated" if concentrations else "diversified"),
            "errors": errors, "concentrations": concentrations,
            "comparison_groups": {" / ".join(key): sorted(value) for key, value in groups.items()}}
dossier = {"scenario": "portfolio dependency map", "concentration_threshold": {"value": 2, "unit": "companies"},
           "nodes": [
               {"name": "application-a", "layer": "application", "buyer": "industrial R&D",
                "dependency": "backend-access", "source_id": "scenario:company-a filing"},
               {"name": "application-b", "layer": "application", "buyer": "operations",
                "dependency": "backend-access", "source_id": "scenario:company-b filing"},
               {"name": "hardware-c", "layer": "hardware", "buyer": "HPC",
                "dependency": "control-supplier", "source_id": "scenario:company-c filing"},
               {"name": "hardware-d", "layer": "hardware", "buyer": "research",
                "dependency": "control-supplier", "source_id": "scenario:company-d filing"}]}
base_result = inspect_map(dossier)
bad_nodes = [{key: value for key, value in dossier["nodes"][0].items() if key != "buyer"}, *dossier["nodes"][1:]]
bad_result = inspect_map({**dossier, "nodes": bad_nodes})
strict_result = inspect_map({**dossier, "concentration_threshold": {"value": 3, "unit": "companies"}})
assert base_result["concentrations"] == ["backend-access", "control-supplier"]
assert bad_result["decision"] == "invalid" and "buyer" in bad_result["errors"][0]
assert strict_result["decision"] == "diversified" and strict_result["concentrations"] == []
print(f"PASS: 73 stack map bottlenecks={base_result['concentrations']} invalid={bad_result['errors']} threshold3={strict_result['decision']}")
