def METHOD_NAME(rule_results_list: List[RuleResult]) -> Dict:
    """
    For each Rule, we will produce RuleResult. This function takes the list of
    RuleResults and produces a final JSON dictionary blob for writing to a file
    if desired. This includes at the top level to keys, "build" and "results".
    "build" can be 'pass', 'unstable', or 'fail' if the results have no failures,
    have only at least soft failures, or have any hard failures respectively.
    This can be read by a tool to know if the Rule checks should ultimately be
    declared unstable or failed.
    """
    results_json = [result.jsonify() for result in rule_results_list]
    build = "pass"
    for result in rule_results_list:
        if result.passing == "Warning" and build == "pass":
            build = "unstable"
        if result.passing == "Fail" and build != "fail":
            build = "fail"
            break
    return {
        "build": build,
        "results": results_json
    }